/* =========================================================
   schedule_manage.css (PRO)
   ========================================================= */

.page-schedule-manage .layout-inner{ padding-top: 18px; padding-bottom: 18px; }

.schedm-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 14px;
}
.schedm-hero__title h1{
  margin:0;
  font-size: 22px;
  letter-spacing: -0.3px;
}
.schedm-hero__title p{
  margin:6px 0 0;
  color: rgba(15,23,42,.65);
  font-weight: 600;
  font-size: 14px;
}

.schedm-warning{
  background: rgba(245,158,11,.08);
  border: 1px solid rgba(245,158,11,.28);
  color: rgba(120,53,15, .95);
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
}

.btn-primary, .btn-ghost, .btn-danger, .btn-disabled{
  border-radius: 14px;
  padding: 10px 14px;
  font-weight: 900;
  border: 1px solid rgba(15,23,42,.12);
  cursor:pointer;
  background: #fff;
}
.btn-primary{
  font-size: 13px;
  background: #2563eb;
  border-color: rgba(37,99,235,.55);
  color:#fff;
}
.btn-ghost{ background:#fff; }
.btn-danger{
  font-size: 13px;
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.32);
  color: rgba(185,28,28,1);
}
.btn-disabled{
  background: rgba(148,163,184,.20);
  border-color: rgba(148,163,184,.30);
  color: rgba(71,85,105, .9);
  cursor:not-allowed;
}

.schedm-grid{
  display:grid;
  grid-template-columns: 1.25fr .95fr;
  gap: 14px;
}

.schedm-side{ display:grid; gap:14px; }

.schedm-card{
  background:#fff;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
  overflow:hidden;
}

.schedm-card__head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding: 14px 14px 10px;
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.schedm-card__head h2{
  margin:0;
  font-size: 17px;
  letter-spacing: -0.2px;
}
.schedm-card__hint{
  color: rgba(15,23,42,.55);
  font-weight: 700;
  font-size: 12px;
}

.schedm-cal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px;
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.cal-nav{
  width:40px; height:36px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background:#fff;
  font-size: 22px;
  line-height: 1;
  cursor:pointer;
}
.cal-title{ display:flex; flex-direction:column; gap:2px; }
.cal-title strong{ font-size: 16px; }
.cal-sub{ font-size: 12px; font-weight:700; color: rgba(15,23,42,.55); }

.schedm-cal__dow{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:0;
  padding: 10px 12px;
  color: rgba(15,23,42,.55);
  font-weight:900;
  font-size: 12px;
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.schedm-cal__dow > div{ text-align:center; }

.schedm-cal__grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  padding: 12px;
}

.day{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 14px;
  min-height: 78px;
  padding: 8px;
  cursor:pointer;
  background:#fff;
  position:relative;
}
.day.is-out{ opacity:.45; }
.day.is-today{ border-color: rgba(37,99,235,.45); box-shadow: 0 0 0 3px rgba(37,99,235,.10); }
.day.is-selected{ border-color: rgba(37,99,235,.85); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }

.day-num{
  font-weight: 900;
  font-size: 13px;
}
.day-dots{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top: 8px;
}
.dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display:inline-block;
}
.dot-family{ background:#2563eb; }
.dot-travel{ background:#10b981; }
.dot-health{ background:#ef4444; }
.dot-other{ background:#a855f7; }

.schedm-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding: 0 14px 14px;
}
.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(2,6,23,.02);
}
.tag-family{ border-color: rgba(37,99,235,.25); }
.tag-travel{ border-color: rgba(16,185,129,.25); }
.tag-health{ border-color: rgba(239,68,68,.25); }
.tag-other{ border-color: rgba(168,85,247,.25); }

.schedm-upcoming, .schedm-daylist{ padding: 10px 14px 14px; }

.item{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  padding: 10px 10px;
  margin-bottom: 10px;
  display:flex;
  justify-content:space-between;
  gap: 10px;
  cursor:pointer;
  background:#fff;
}
.item:hover{ box-shadow: 0 10px 26px rgba(15,23,42,.06); }

.item-left{ display:flex; flex-direction:column; gap:4px; min-width: 0; }
.item-title{
  font-weight: 900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.item-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  color: rgba(15,23,42,.60);
  font-weight: 700;
  font-size: 12px;
}
.badge{
  display:inline-flex;
  align-items:center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(15,23,42,.10);
}
.badge.family{ border-color: rgba(37,99,235,.25); }
.badge.travel{ border-color: rgba(16,185,129,.25); }
.badge.health{ border-color: rgba(239,68,68,.25); }
.badge.other{ border-color: rgba(168,85,247,.25); }

.item-right{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex-shrink:0;
}
.item-date{
  font-weight: 900;
  font-size: 12px;
  color: rgba(15,23,42,.70);
}

.schedm-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index: 5000;
}
.schedm-modal.is-open{ display:block; }
.schedm-modal__overlay{
  position:absolute;
  inset:0;
  background: rgba(2,6,23,.55);
}
.schedm-modal__panel{
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(720px, calc(100vw - 26px));
  background:#fff;
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 30px 90px rgba(2,6,23,.25);
  overflow:hidden;
}
.schedm-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.schedm-modal__head h3{ margin:0; font-size: 16px; letter-spacing:-0.2px; }
.modal-x{
  width:38px; height:36px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background:#fff;
  font-size: 20px;
  cursor:pointer;
}

.schedm-form{ padding: 14px 16px 6px; }
.form-row{ display:flex; flex-direction:column; gap:6px; margin-bottom: 12px; }
.form-row label{ font-weight: 900; font-size: 13px; }
.form-row input, .form-row select, .form-row textarea{
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 700;
  outline: none;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
.form-help{ font-size: 12px; font-weight:700; color: rgba(15,23,42,.55); }

.form-2col{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.form-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding: 6px 16px 14px;
}
.schedm-delete{
  padding: 0 16px 14px;
  border-top: 1px dashed rgba(15,23,42,.12);
  margin-top: 6px;
}
.schedm-modal__foot{
  padding: 10px 16px 14px;
  color: rgba(15,23,42,.55);
  font-weight: 700;
  border-top: 1px solid rgba(15,23,42,.06);
}

@media (max-width: 980px){
  .schedm-hero{ flex-direction:column; align-items:stretch; }
  .schedm-grid{ grid-template-columns: 1fr; }
  .form-2col{ grid-template-columns: 1fr; }
  .day{ min-height: 70px; }
}

.page-schedule-manage .schedule-main{ padding-top: 10px; }
.page-schedule-manage .breadcrumb-wrap{ padding-top: 6px; }

.page-schedule-manage{ --container: 1400px; }

/* ================================
 * 달력 날짜 글씨 크게
 * ================================ */

/* 날짜 숫자(1~31) */
.page-schedule-manage .cal-day-num,
.page-schedule-manage .calendar-day-num,
.page-schedule-manage .day-num{
  font-size: 15px !important; /* 기본보다 크게 */
  font-weight: 700 !important;
}

/* 요일(일~토) */
.page-schedule-manage .cal-weekday,
.page-schedule-manage .calendar-weekday,
.page-schedule-manage .weekday{
  font-size: 13px !important;
  font-weight: 600;
}

/* 달력 전체 글씨(칸 내부) */
.page-schedule-manage .calendar,
.page-schedule-manage .cal-grid{
  font-size: 14px;
}

/* ================================
 * schedm-hero 타이틀 정렬(안전)
 * ================================ */
.page-schedule-manage .layout-inner{ 
  padding-top: 0px; 
  padding-bottom: 4px; } /* 기존 18px → 상단만 조금 줄임 */

.page-schedule-manage .schedm-hero{
  margin-top: 0;
  padding-top: 0;
}

.page-schedule-manage .schedm-hero__title h1{
  margin: 0 0 6px;      /* 위로 딱 붙음 */
  line-height: 1.15;
}

.page-schedule-manage .schedm-hero__title p{
  margin: 0;            /* 불필요한 위 간격 제거 */
}

