.schedule-page{--schedule-blue:#1677ff;--schedule-line:#dce9f7;--schedule-ink:#12203a}
.schedule-page .schedule-hero .hero-inner{align-items:stretch}
.schedule-page .schedule-hero__today{width:min(430px,100%);padding:22px;border:1px solid #d9e8f7;border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(47,104,169,.08)}
.schedule-page .schedule-hero__today-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.schedule-page .schedule-hero__today-head strong{font-size:19px;color:#15243d}
.schedule-page .schedule-hero__today-date{font-size:13px;color:#6e7f98}
.schedule-page .schedule-hero__today-list{display:grid;gap:9px}
.schedule-page .schedule-hero__today-item{display:block;padding:12px 14px;border:1px solid #e0eaf5;border-radius:15px;text-decoration:none;background:#fff;color:#1d3f6f}
.schedule-page .schedule-hero__today-item strong{display:block;font-size:15px}
.schedule-page .schedule-hero__today-item span{display:block;margin-top:4px;font-size:13px;color:#77879e}
.schedule-page .schedule-hero__today-empty{padding:18px 12px;border-radius:15px;background:#f6f9fc;color:#6d7c91;text-align:center}
.schedule-page .schedule-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 0 10px}
.schedule-page .schedule-controls__left,.schedule-page .schedule-controls__right{display:flex;align-items:center;gap:10px}
.schedule-page .schedule-controls__left{position:relative;flex-wrap:wrap}
.schedule-page .schedule-filter-field{display:flex;align-items:center;gap:8px}
.schedule-page .schedule-filter-field label{font-size:13px;font-weight:800;color:#7b8ba1;white-space:nowrap}
.schedule-page .schedule-select{height:40px;min-width:118px;padding:0 34px 0 14px;border:1px solid #d9e5f2;border-radius:12px;background:#fff;color:#24466e;font-weight:800;box-shadow:none}
.schedule-page .schedule-select--month{min-width:92px}
.schedule-page .schedule-controls__right{padding:0;border:0;background:transparent}
.schedule-page .schedule-view-switch{display:flex;align-items:center;padding:4px;border:1px solid #dce7f3;border-radius:14px;background:#f5f8fc}
.schedule-page .schedule-view-switch .schedule-action{min-height:36px;padding:0 16px;border:0;border-radius:10px;background:transparent;color:#61758f;box-shadow:none}
.schedule-page .schedule-view-switch .schedule-action:hover,.schedule-page .schedule-view-switch .schedule-action:focus-visible{background:#fff;color:#1768c5;outline:none}
.schedule-page .schedule-view-switch .schedule-action.is-active{background:#fff;color:#1768c5;box-shadow:0 2px 8px rgba(26,79,135,.10)}
.schedule-page .schedule-info-button{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:0 13px;
  border:1px solid #d8e4f0;
  border-radius:12px;
  background:#fff;
  color:#496889;
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:none;
}
.schedule-page .schedule-info-button:hover,
.schedule-page .schedule-info-button:focus-visible{
  border-color:#9ec6ee;
  background:#f7fbff;
  color:#1768c5;
  outline:none;
}
.schedule-page .schedule-info-button__icon{
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  color:#1768c5;
  font-size:17px;
  line-height:1;
}
.schedule-page .schedule-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid #d9e5f2;border-radius:12px;background:#fff;color:#2b5f99;font-weight:800;text-decoration:none;box-shadow:none}
.schedule-page button.schedule-action{font:inherit;cursor:pointer}
.schedule-page .schedule-action:hover,.schedule-page .schedule-action:focus-visible{border-color:#a9ccef;background:#f8fbff;outline:none}
.schedule-page .schedule-action--primary{background:var(--schedule-blue);border-color:var(--schedule-blue);color:#fff}
.schedule-page .schedule-month-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:14px;margin:18px 0 20px;padding:0 4px}
.schedule-page .schedule-month-nav__prev,.schedule-page .schedule-month-nav__next{width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;font-size:0;color:#2d659f}
.schedule-page .schedule-month-nav__prev::before{content:"‹";font-size:30px;line-height:1;font-weight:500}
.schedule-page .schedule-month-nav__next::before{content:"›";font-size:30px;line-height:1;font-weight:500}
.schedule-page .schedule-month-nav__prev{justify-self:start}.schedule-page .schedule-month-nav__next{justify-self:end}
.schedule-page .schedule-month-nav__current{justify-self:center;font-size:24px;font-weight:900;color:var(--schedule-ink);white-space:nowrap;letter-spacing:-.03em}
.schedule-page .schedule-year-list{display:grid;gap:18px}
.schedule-page .schedule-year-month{border:1px solid var(--schedule-line);border-radius:22px;overflow:hidden;background:#fff}
.schedule-page .schedule-year-month__head{padding:16px 20px;background:#f6faff;font-size:19px;font-weight:900;color:#17345d}
.schedule-page .schedule-year-item{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 20px;border-top:1px solid #edf3f8;text-decoration:none;color:#244567}
.schedule-page .schedule-year-item__date{font-weight:900;color:#1768c5}
.schedule-page .schedule-year-item__title strong{display:block}
.schedule-page .schedule-year-item__title span{display:block;margin-top:4px;font-size:13px;color:#7b8ba0}
.schedule-page .schedule-detail-card{background:#fff;border:1px solid var(--schedule-line);border-radius:24px;padding:clamp(20px,3vw,34px)}
.schedule-page .schedule-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--schedule-line)}
.schedule-page .schedule-detail-kicker{display:flex;gap:8px;align-items:center;color:#62738f;font-weight:800;margin-bottom:8px}
.schedule-page .schedule-detail-title{margin:0;font-size:clamp(25px,3vw,38px);line-height:1.25;color:var(--schedule-ink)}
.schedule-page .schedule-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.schedule-page .schedule-detail-meta span{padding:7px 11px;border-radius:999px;background:#f4f8fd;color:#506785;font-size:14px;font-weight:700}
.schedule-page .schedule-detail-grid{display:grid;grid-template-columns:140px minmax(0,1fr);gap:0;margin-top:12px}
.schedule-page .schedule-detail-row{display:contents}
.schedule-page .schedule-detail-row dt,.schedule-page .schedule-detail-row dd{margin:0;padding:17px 0;border-bottom:1px solid #edf3f9}
.schedule-page .schedule-detail-row dt{font-weight:900;color:#607491}.schedule-page .schedule-detail-row dd{color:#263f65;line-height:1.7}
.schedule-page .schedule-detail-link{margin-top:22px}
.schedule-page .month-day{
  position:relative;
  cursor:pointer;
  outline:none!important;
}
.schedule-page .month-day.is-selected,
.schedule-page .month-day.is-today,
.schedule-page .month-day:focus,
.schedule-page .month-day:focus-visible,
.schedule-page .month-day:focus-within{
  border:1px solid #dce9f7!important;
  outline:0!important;
  box-shadow:none!important;
}

/* 날짜 숫자는 버튼처럼 보이지 않도록 공통 button 스타일을 완전히 리셋 */
.schedule-page .month-day__date{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#42669a!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  text-decoration:none!important;
}
.schedule-page .month-day__date:hover,
.schedule-page .month-day__date:focus-visible{
  border:0!important;
  background:#f2f7fd!important;
  color:#1768c5!important;
  box-shadow:none!important;
  outline:none!important;
}
.schedule-page .month-day.is-other .month-day__date{
  color:#aebfd3!important;
}
.schedule-page .month-day.is-selected .month-day__date{
  background:transparent!important;
  color:#42669a!important;
  box-shadow:none!important;
}
.schedule-page .month-day.is-today .month-day__date{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#e9f3ff!important;
  color:#146cff!important;
  box-shadow:inset 0 0 0 1px #bcdcff!important;
  font-weight:900!important;
}
.schedule-page .schedule-day-dialog{width:min(720px,calc(100vw - 28px));max-height:min(82vh,760px);padding:0;border:0;border-radius:24px;box-shadow:0 24px 80px rgba(15,40,75,.28)}
.schedule-page .schedule-day-dialog::backdrop{background:rgba(12,31,55,.45)}
.schedule-page .schedule-day-modal__head{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;background:#fff;border-bottom:1px solid var(--schedule-line);z-index:2}
.schedule-page .schedule-day-modal__head h2{margin:0;font-size:22px;color:var(--schedule-ink)}
.schedule-page .schedule-day-modal__head p{margin:5px 0 0;color:#73839a;font-size:14px}
.schedule-page .schedule-day-close{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:50%;background:#f2f6fb;font-size:25px;cursor:pointer}
.schedule-page .schedule-day-modal__body{padding:18px 22px 24px;overflow:auto}
.schedule-page .schedule-day-modal__list{display:grid;gap:10px}
.schedule-page .schedule-day-modal__item{display:flex;align-items:center;gap:13px;min-height:66px;padding:13px 15px;border:1px solid #dfeaf5;border-radius:17px;background:#fff;text-decoration:none;color:#1f416d}
.schedule-page .schedule-day-modal__item:hover,.schedule-page .schedule-day-modal__item:focus-visible{border-color:#8ec5ff;background:#f7fbff;outline:none}
.schedule-page .schedule-day-modal__emoji{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#f4f8fc;font-size:20px}
.schedule-page .schedule-day-modal__copy{min-width:0;flex:1}
.schedule-page .schedule-day-modal__copy strong{display:block;line-height:1.4}
.schedule-page .schedule-day-modal__copy span{display:block;margin-top:4px;color:#74859c;font-size:13px}
.schedule-page .schedule-day-modal__arrow{font-size:24px;color:#8aa1bc}
.schedule-page .schedule-day-modal__empty{padding:24px 14px;text-align:center;color:#718196;background:#f7f9fc;border-radius:16px}
.schedule-page .schedule-legend-dialog{width:min(620px,calc(100vw - 28px));max-height:min(78vh,720px);padding:0;border:0;border-radius:24px;box-shadow:0 24px 80px rgba(15,40,75,.25)}
.schedule-page .schedule-legend-dialog::backdrop{background:rgba(12,31,55,.45)}
.schedule-page .schedule-legend-modal__head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;background:#fff;border-bottom:1px solid var(--schedule-line);z-index:1}
.schedule-page .schedule-legend-modal__head h2{margin:0;font-size:22px}
.schedule-page .schedule-legend-close{width:42px;height:42px;border:0;border-radius:50%;background:#f2f6fb;font-size:25px;cursor:pointer}
.schedule-page .schedule-legend-modal__body{padding:18px 22px 24px;overflow:auto}
@media (max-width:800px){
  .schedule-page .schedule-hero .hero-inner{display:block}
  .schedule-page .schedule-hero__today{width:100%;margin-top:20px}
}
@media (max-width:720px){
  .schedule-page .schedule-controls{align-items:stretch;gap:10px}
  .schedule-page .schedule-controls__left,.schedule-page .schedule-controls__right{width:100%}
  .schedule-page .schedule-controls__left{justify-content:flex-start}
  .schedule-page .schedule-filter-field{flex:1;min-width:0}
  .schedule-page .schedule-filter-field label{flex:0 0 auto}
  .schedule-page .schedule-select{flex:1;min-width:0;max-width:none}
  .schedule-page .schedule-controls__right{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .schedule-page .schedule-view-switch{min-width:0}
  .schedule-page .schedule-view-switch .schedule-action{flex:1;padding:0 9px;white-space:nowrap}
  .schedule-page .schedule-info-button{width:44px;min-width:44px;padding:0}
  .schedule-page .schedule-info-button span:last-child{display:none}
  .schedule-page .schedule-month-nav{grid-template-columns:42px 1fr 42px;gap:10px;margin:14px 0 16px;padding:0}
  .schedule-page .schedule-month-nav__current{font-size:21px}
  .schedule-page .schedule-month-nav__prev,.schedule-page .schedule-month-nav__next{width:42px;height:42px;min-height:42px}
  .schedule-page .schedule-year-item{grid-template-columns:70px minmax(0,1fr);gap:10px;padding:14px}
  .schedule-page .schedule-year-item__arrow{display:none}
  .schedule-page .schedule-day-dialog{width:calc(100vw - 20px)}
  .schedule-page .schedule-day-modal__head{padding:17px}
  .schedule-page .schedule-day-modal__body{padding:14px 14px 18px}
  .schedule-page .schedule-day-modal__item{min-height:62px;padding:11px 12px}
  .schedule-page .schedule-detail-head{flex-direction:column}
  .schedule-page .schedule-detail-head .schedule-action{width:100%}
  .schedule-page .schedule-detail-grid{grid-template-columns:1fr}
  .schedule-page .schedule-detail-row{display:block;padding:15px 0;border-bottom:1px solid #edf3f9}
  .schedule-page .schedule-detail-row dt,.schedule-page .schedule-detail-row dd{padding:0;border:0}
  .schedule-page .schedule-detail-row dd{margin-top:7px}
}


.schedule-page .schedule-category-nav{
  position:relative;
  display:block;
  margin:8px 0 18px;
  min-width:0;
}
.schedule-page .schedule-category-filter{
  display:flex;
  gap:8px;
  min-width:0;
  padding:2px 38px 2px 0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.schedule-page .schedule-category-nav:not(.has-overflow) .schedule-category-filter{
  padding-right:0;
}
.schedule-page .schedule-category-nav.has-overflow:has(.schedule-category-nav__arrow--left:not([hidden])) .schedule-category-filter{
  padding-left:38px;
}
.schedule-page .schedule-category-filter::-webkit-scrollbar{
  display:none;
}
.schedule-page .schedule-category-nav__arrow{
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  top:0;
  bottom:0;
  z-index:4;
  width:30px;
  height:auto;
  margin:0;
  padding:0;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#2f6da9;
  font-size:26px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:none!important;
}
.schedule-page .schedule-category-nav__arrow--left{
  left:0;
  background:linear-gradient(90deg,#fff 55%,rgba(255,255,255,0))!important;
  text-align:left;
}
.schedule-page .schedule-category-nav__arrow--right{
  right:0;
  background:linear-gradient(270deg,#fff 55%,rgba(255,255,255,0))!important;
  text-align:right;
}
.schedule-page .schedule-category-nav__arrow:hover,
.schedule-page .schedule-category-nav__arrow:focus-visible{
  color:#0f7cff;
  outline:none!important;
  box-shadow:none!important;
}
.schedule-page .schedule-category-nav__arrow[hidden]{
  display:none!important;
}
.schedule-page .schedule-category-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 13px;
  border:1px solid #dce7f3;
  border-radius:12px;
  background:#fff;
  color:#536c8c;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:none;
}
.schedule-page .schedule-category-chip:hover,
.schedule-page .schedule-category-chip:focus-visible{
  border-color:#a9ccef;
  background:#f8fbff;
  color:#1768c5;
  outline:none;
}
.schedule-page .schedule-category-chip.is-active{
  border-color:var(--category-color,#8ec5ff);
  background:color-mix(in srgb,var(--category-color,#8ec5ff) 18%,white);
  color:#183e70;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--category-color,#8ec5ff) 55%,transparent);
}
.schedule-page .schedule-category-chip__emoji{
  font-size:16px;
  line-height:1;
}

@media (max-width:720px){
  .schedule-page .schedule-category-nav{
    margin-left:-2px;
    margin-right:-2px;
  }
  .schedule-page .schedule-category-filter{
    padding-right:34px;
  }
  .schedule-page .schedule-category-nav:not(.has-overflow) .schedule-category-filter{
    padding-right:0;
  }
  .schedule-page .schedule-category-nav.has-overflow:has(.schedule-category-nav__arrow--left:not([hidden])) .schedule-category-filter{
    padding-left:34px;
  }
  .schedule-page .schedule-category-nav__arrow{
    width:28px;
    height:auto;
    margin:0;
    font-size:23px;
  }
  .schedule-page .schedule-category-chip{
    min-height:40px;
    padding:0 12px;
    font-size:13px;
  }
}

/* ===== Schedule hero size alignment (layout only) =====
   다른 info2 공통 Hero와 폭/높이 체감을 맞춘다. 기능/데이터에는 영향 없음. */
.schedule-page .schedule-hero{
  width:100%;
  max-width:none;
  min-height:220px;
  margin:0 0 24px;
  padding:28px 32px;
  border-radius:18px;
}
.schedule-page .schedule-hero .hero-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  gap:28px;
  align-items:center;
}
.schedule-page .schedule-hero .hero-copy{min-width:0}
.schedule-page .schedule-hero .hero-inner h1{
  max-width:none;
  font-size:32px;
  line-height:1.15;
}
.schedule-page .schedule-hero .lead{
  max-width:620px;
  font-size:14px;
  line-height:1.6;
}
.schedule-page .schedule-hero__today{
  width:100%;
  max-width:430px;
  justify-self:end;
  padding:18px 20px;
  border-radius:18px;
}
.schedule-page .schedule-hero__today-head{margin-bottom:10px}
.schedule-page .schedule-hero__today-empty{padding:14px 12px}

@media (max-width:800px){
  .schedule-page .schedule-hero{
    min-height:210px;
    padding:22px;
  }
  .schedule-page .schedule-hero .hero-inner{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }
  .schedule-page .schedule-hero .hero-inner h1{font-size:26px}
  .schedule-page .schedule-hero__today{
    width:100%;
    max-width:none;
    margin-top:0;
    justify-self:stretch;
  }
}

/* ===== Schedule page width alignment =====
   schedule 페이지에 남아 있는 page-view의 풀폭 규칙만 되돌려
   홈/발자취 등 일반 페이지와 동일한 1100px 컨테이너 기준을 사용한다. */
.page-schedule .container{
  max-width:var(--max-width)!important;
  width:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:20px!important;
  padding-right:20px!important;
}
.page-schedule .page-hero .hero-inner{
  max-width:1140px!important;
  width:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:18px!important;
  padding-right:18px!important;
}

@media (max-width:768px){
  .page-schedule .container{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .page-schedule .page-hero .hero-inner{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}
@media (max-width:480px){
  .page-schedule .container{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .page-schedule .page-hero .hero-inner{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* ===== Schedule hero image framing: keep faces visible =====
   레이아웃/기능은 그대로 두고 Hero 배경 사진만 전체 구도가 보이도록 조정. */
.schedule-page .schedule-hero{
  background-size:cover!important;
  background-position:center 30%!important;
  background-repeat:no-repeat!important;
  background-color:#eef5fb;
}

@media (max-width:800px){
  .schedule-page .schedule-hero{
    background-size:cover!important;
    background-position:center 26%!important;
  }
}

/* ===== Today schedule card visibility ===== */
.schedule-page .schedule-hero{position:relative}
.schedule-page .schedule-hero__today[hidden]{display:none!important}
.schedule-page .schedule-hero__today-visibility-toggle{
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  z-index:8;
  top:18px;
  right:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#315f91;
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 5px 18px rgba(32,72,110,.13);
  backdrop-filter:blur(10px);
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.schedule-page .schedule-hero__today-visibility-toggle:hover{background:#fff;border-color:#c5dbef;color:#126fd0;transform:translateY(-1px)}
.schedule-page .schedule-hero__today-visibility-toggle:focus-visible{outline:3px solid rgba(30,119,237,.20);outline-offset:2px}
.schedule-page .schedule-hero__today-visibility-toggle .schedule-hero__today-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:15px;font-weight:900;line-height:1}
.schedule-page .schedule-hero__today-visibility-toggle.is-collapsed{background:rgba(255,255,255,.94)}
@media (max-width:760px){
  .schedule-page .schedule-hero__today-visibility-toggle{top:12px;right:12px;min-height:32px;padding:6px 9px;font-size:11px}
}

/* ===== Today card header: keep date clear of close button ===== */
.schedule-page .schedule-hero__today:not([hidden]) .schedule-hero__today-head{
  padding-right:96px;
}
.schedule-page .schedule-hero__today-date{
  flex:0 0 auto;
  white-space:nowrap;
}
@media (max-width:760px){
  .schedule-page .schedule-hero__today:not([hidden]) .schedule-hero__today-head{
    padding-right:78px;
  }
}


/* ===== Today schedule toggle: requested position / default hidden ===== */
.schedule-page .schedule-hero__today-visibility-toggle,
.schedule-page .schedule-hero__today-visibility-toggle.is-collapsed{
  top:8px!important;
  right:38px!important;
}
@media (max-width:760px){
  .schedule-page .schedule-hero__today-visibility-toggle,
  .schedule-page .schedule-hero__today-visibility-toggle.is-collapsed{
    top:8px!important;
    right:12px!important;
  }
}

/* ===== Today schedule UI: approved mock layout =====
   기본은 우측 상단 보기 버튼만, 펼치면 카드가 Hero 위쪽에 고정되고 카드 내부 숨기기 버튼 사용. */
.schedule-page .schedule-hero{
  position:relative;
}
.schedule-page .schedule-hero .hero-inner{
  position:relative;
}
.schedule-page .schedule-hero__today[hidden],
.schedule-page .schedule-hero__today-visibility-toggle[hidden]{
  display:none!important;
}

/* 기본(숨김) 상태의 보기 버튼: Hero 우측 상단 */
.schedule-page .schedule-hero__today-visibility-toggle{
  position:absolute!important;
  z-index:12!important;
  top:14px!important;
  right:28px!important;
  min-height:42px!important;
  padding:9px 17px!important;
  border:1px solid #d6e3f1!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#285d98!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:0 8px 22px rgba(30,67,105,.12)!important;
  backdrop-filter:blur(10px);
  transform:none!important;
}
.schedule-page .schedule-hero__today-visibility-toggle:hover{
  background:#fff!important;
  border-color:#bad4ec!important;
  color:#0f70d4!important;
  transform:none!important;
}
.schedule-page .schedule-hero__today-toggle-icon{
  width:15px!important;
  height:15px!important;
  font-size:15px!important;
}

/* 펼친 오늘의 일정 카드: 기존보다 위로 올려 얼굴 가림 최소화 */
.schedule-page .schedule-hero__today{
  position:absolute!important;
  z-index:10!important;
  top:50px!important;
  right:28px!important;
  width:min(48%,500px)!important;
  max-width:500px!important;
  margin:0!important;
  padding:17px 20px 18px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 14px 34px rgba(26,58,91,.14)!important;
  backdrop-filter:blur(12px);
}
.schedule-page .schedule-hero__today-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding-right:0!important;
  margin-bottom:10px!important;
}
.schedule-page .schedule-hero__today-head > strong{
  flex:1 1 auto;
  min-width:0;
}
.schedule-page .schedule-hero__today-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}
.schedule-page .schedule-hero__today-date{
  white-space:nowrap;
}
.schedule-page .schedule-hero__today-hide{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #d5e2ef;
  border-radius:999px;
  background:#fff;
  color:#285d98;
  font:inherit;
  font-size:12px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 5px 14px rgba(38,77,114,.08);
}
.schedule-page .schedule-hero__today-hide:hover{
  border-color:#b8d3ec;
  color:#0e6fce;
  background:#fafdff;
}
.schedule-page .schedule-hero__today-hide:focus-visible{
  outline:3px solid rgba(30,119,237,.20);
  outline-offset:2px;
}

@media (max-width:800px){
  .schedule-page .schedule-hero__today-visibility-toggle{
    top:10px!important;
    right:12px!important;
    min-height:38px!important;
    padding:8px 13px!important;
    font-size:12px!important;
  }
  .schedule-page .schedule-hero__today{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:none!important;
    margin-top:54px!important;
  }
  .schedule-page .schedule-hero__today-head{
    align-items:flex-start!important;
  }
  .schedule-page .schedule-hero__today-actions{
    gap:7px;
  }
}

@media (max-width:480px){
  .schedule-page .schedule-hero__today-head{
    gap:10px!important;
  }
  .schedule-page .schedule-hero__today-actions{
    flex-direction:column;
    align-items:flex-end;
    gap:5px;
  }
  .schedule-page .schedule-hero__today-hide{
    min-height:32px;
    padding:6px 10px;
    font-size:11px;
  }
}

/* ===== Today schedule top control position fix =====
   버튼/카드를 hero-inner가 아니라 Hero 전체 기준으로 배치한다.
   기존 기능/크기/달력/필터에는 영향 없음. */
.schedule-page .schedule-hero .hero-inner{
  position:static!important;
}
.schedule-page .schedule-hero__today-visibility-toggle{
  top:12px!important;
  right:28px!important;
}
.schedule-page .schedule-hero__today{
  top:58px!important;
  right:28px!important;
}
@media (max-width:800px){
  .schedule-page .schedule-hero .hero-inner{
    position:relative!important;
  }
  .schedule-page .schedule-hero__today-visibility-toggle{
    top:8px!important;
    right:12px!important;
  }
  .schedule-page .schedule-hero__today{
    position:relative!important;
    top:auto!important;
    right:auto!important;
  }
}

/* ===== Mobile polish only (2026-08-30) =====
   PC 레이아웃/기능은 유지하고 모바일 Hero, 오늘의 일정 카드, 이미지/버튼만 보정. */
@media (max-width:800px){
  .page-schedule .container{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .schedule-page .schedule-hero{
    min-height:238px!important;
    height:auto!important;
    margin-bottom:16px!important;
    padding:20px 18px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background-size:cover!important;
    background-position:center 22%!important;
  }

  .schedule-page .schedule-hero .hero-inner{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
  }

  .schedule-page .schedule-hero .hero-copy{
    width:min(72%, 320px)!important;
    min-width:0!important;
    padding-top:14px!important;
  }

  .schedule-page .schedule-hero .eyebrow{
    margin-bottom:8px!important;
    font-size:11px!important;
    letter-spacing:.12em!important;
  }

  .schedule-page .schedule-hero .hero-inner h1{
    margin-bottom:10px!important;
    font-size:28px!important;
    line-height:1.12!important;
    word-break:keep-all!important;
  }

  .schedule-page .schedule-hero .lead{
    max-width:290px!important;
    margin:0!important;
    font-size:12.5px!important;
    line-height:1.55!important;
    word-break:keep-all!important;
  }

  .schedule-page .schedule-hero__today-visibility-toggle{
    position:absolute!important;
    top:10px!important;
    right:12px!important;
    min-height:38px!important;
    max-width:calc(100% - 24px)!important;
    padding:8px 13px!important;
    border-radius:999px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }

  .schedule-page .schedule-hero__today{
    position:absolute!important;
    z-index:7!important;
    top:56px!important;
    right:12px!important;
    left:12px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:14px!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.94)!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .schedule-page .schedule-hero__today-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:5px 10px!important;
    align-items:center!important;
    margin-bottom:8px!important;
  }

  .schedule-page .schedule-hero__today-head > strong{
    min-width:0!important;
    font-size:16px!important;
    line-height:1.3!important;
  }

  .schedule-page .schedule-hero__today-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }

  .schedule-page .schedule-hero__today-date{
    font-size:11px!important;
  }

  .schedule-page .schedule-hero__today-hide{
    min-height:32px!important;
    padding:6px 9px!important;
    font-size:11px!important;
  }

  .schedule-page .schedule-hero__today-empty,
  .schedule-page .schedule-hero__today-item{
    padding:11px 10px!important;
    border-radius:13px!important;
    font-size:12px!important;
  }

  /* 스케줄 화면 안의 일반 이미지/썸네일은 모바일 너비를 넘지 않게 */
  .schedule-page img{
    max-width:100%;
    height:auto;
  }

  .schedule-page [class*="thumb"] img,
  .schedule-page [class*="thumbnail"] img,
  .schedule-page [class*="media"] img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (max-width:480px){
  .page-schedule .container{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .schedule-page .schedule-hero{
    min-height:220px!important;
    padding:16px 14px!important;
    border-radius:16px!important;
    background-position:center 20%!important;
  }

  .schedule-page .schedule-hero .hero-copy{
    width:68%!important;
    padding-top:18px!important;
  }

  .schedule-page .schedule-hero .hero-inner h1{
    font-size:25px!important;
  }

  .schedule-page .schedule-hero .lead{
    font-size:12px!important;
    line-height:1.5!important;
  }

  .schedule-page .schedule-hero__today-visibility-toggle{
    top:8px!important;
    right:9px!important;
    min-height:36px!important;
    padding:7px 11px!important;
    font-size:11.5px!important;
  }

  .schedule-page .schedule-hero__today{
    top:50px!important;
    right:9px!important;
    left:9px!important;
    padding:12px!important;
  }

  .schedule-page .schedule-hero__today-head > strong{
    font-size:15px!important;
  }
}

/* ===== Schedule hero typography: match site common hero ===== */
.schedule-page .schedule-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(12,42,76,.82),rgba(24,69,111,.48) 58%,rgba(24,69,111,.12));
  pointer-events:none;
}
.schedule-page .schedule-hero .hero-inner{
  position:relative;
  z-index:1;
}
.schedule-page .schedule-hero .hero-copy{
  position:relative;
  z-index:2;
  max-width:620px;
}
.schedule-page .schedule-hero .eyebrow{
  display:block;
  margin:0 0 10px;
  color:#dff1ff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.35;
  letter-spacing:.1em!important;
  text-transform:uppercase;
}
.schedule-page .schedule-hero .hero-inner h1{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:32px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
  text-shadow:0 2px 10px rgba(5,24,47,.2);
}
.schedule-page .schedule-hero .lead{
  margin:0!important;
  color:rgba(255,255,255,.9)!important;
  font-size:14px!important;
  font-weight:500;
  line-height:1.6!important;
  text-shadow:0 1px 7px rgba(5,24,47,.2);
}
.schedule-page .schedule-hero__today-visibility-toggle,
.schedule-page .schedule-hero__today{
  z-index:8!important;
}

@media (max-width:640px){
  .schedule-page .schedule-hero .hero-inner h1{
    font-size:26px!important;
  }
  .schedule-page .schedule-hero .lead{
    font-size:13px!important;
    line-height:1.6!important;
  }
  .schedule-page .schedule-hero .eyebrow{
    font-size:11px!important;
    margin-bottom:9px;
  }
}

/* ===== Schedule hero copy position: match info2 common hero exactly ===== */
.schedule-page .schedule-hero{
  display:flex!important;
  align-items:flex-end!important;
  min-height:220px!important;
  padding:32px!important;
}
.schedule-page .schedule-hero .hero-inner{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.schedule-page .schedule-hero .hero-copy{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  margin:0!important;
  max-width:620px!important;
  align-self:auto!important;
}

@media (max-width:640px){
  .schedule-page .schedule-hero{
    min-height:210px!important;
    padding:22px!important;
  }
  .schedule-page .schedule-hero .hero-inner{
    padding:0!important;
  }
}

/* ===== STEP 1 · PC monthly calendar readability (2026-08-31) =====
   - schedule 페이지만 PC에서 더 넓게 사용
   - 같은 날짜의 일정은 개수 제한 없이 모두 표시
   - 일정명/회차 텍스트가 읽히도록 날짜 칸과 노트 높이 확보
   - 모바일 기존 레이아웃은 변경하지 않음
*/
@media (min-width:981px){
  .page-schedule .container{
    width:calc(100% - 40px)!important;
    max-width:1500px!important;
  }

  .schedule-page #schedule-browser{
    padding-left:22px;
    padding-right:22px;
  }

  .schedule-page .month-card{
    width:100%;
    min-width:0;
  }

  .schedule-page .month-weekdays,
  .schedule-page .month-calendar{
    width:100%;
    grid-template-columns:repeat(7,minmax(0,1fr));
  }

  .schedule-page .month-day{
    min-width:0;
    min-height:150px;
    padding:10px 9px 12px;
  }

  .schedule-page .month-day__items{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-width:0;
    margin-top:7px;
  }

  .schedule-page .schedule-note{
    min-width:0;
    width:100%;
    min-height:28px;
    padding:5px 7px;
  }

  .schedule-page .schedule-note__title{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
    line-height:1.35;
  }
}


/* ===== STEP 2-C · multi-day schedule bars (2026-08-31) =====
   schedule_end_date가 있는 기간 일정은 주차 안에서 하나의 연속 바처럼 표시한다.
   같은 주에 기간 일정이 겹치면 lane을 나눠 일반 일정과 겹치지 않게 한다. */
.schedule-page .month-day__ranges{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  margin-top:6px;
}

.schedule-page .schedule-range{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  min-width:0;
  height:24px;
  margin-left:-9px;
  margin-right:-9px;
  padding:0 7px;
  border-radius:0;
  background:var(--range-color,#8ec5ff);
  color:#17314d;
  text-decoration:none;
  font-size:11px;
  font-weight:850;
  line-height:1;
  overflow:hidden;
  box-sizing:border-box;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--range-color,#8ec5ff) 72%,#526b87 28%);
}

.schedule-page .schedule-range.is-segment-start{
  margin-left:0;
  border-top-left-radius:7px;
  border-bottom-left-radius:7px;
}

.schedule-page .schedule-range.is-segment-end{
  margin-right:0;
  border-top-right-radius:7px;
  border-bottom-right-radius:7px;
}

.schedule-page .schedule-range:hover,
.schedule-page .schedule-range:focus-visible{
  z-index:4;
  filter:brightness(.98);
  outline:2px solid color-mix(in srgb,var(--range-color,#8ec5ff) 70%,#1768c5 30%);
  outline-offset:1px;
}

.schedule-page .schedule-range.is-cancelled{
  opacity:.56;
  text-decoration:line-through;
}

.schedule-page .schedule-range__label{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  width:100%;
}

.schedule-page .schedule-range__emoji{
  flex:0 0 auto;
  font-size:11px;
  line-height:1;
}

.schedule-page .schedule-range__title{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-page .schedule-range__continuation{
  display:block;
  width:100%;
  height:100%;
}

.schedule-page .schedule-range--placeholder{
  visibility:hidden;
  pointer-events:none;
  background:transparent;
  box-shadow:none;
}

/* 기간바 아래에서 일반 하루 일정이 시작되도록 간격만 유지 */
.schedule-page .month-day__ranges + .month-day__items{
  margin-top:6px;
}

@media (max-width:980px){
  .schedule-page .month-day__ranges{
    gap:2px;
    margin-top:4px;
  }

  .schedule-page .schedule-range{
    height:19px;
    margin-left:-6px;
    margin-right:-6px;
    padding:0 4px;
    font-size:9px;
    border-radius:0;
  }

  .schedule-page .schedule-range.is-segment-start{
    margin-left:0;
    border-top-left-radius:5px;
    border-bottom-left-radius:5px;
  }

  .schedule-page .schedule-range.is-segment-end{
    margin-right:0;
    border-top-right-radius:5px;
    border-bottom-right-radius:5px;
  }

  .schedule-page .schedule-range__emoji{
    font-size:9px;
  }
}

/* ===== STEP 2-C FIX · true continuous weekly range bar =====
   기간 일정은 날짜 셀마다 쪼개지 않고, 한 주 행 위에서 단 하나의 바를 absolute 배치한다. */
.schedule-page .month-calendar{
  display:block!important;
  width:100%;
}

.schedule-page .month-week-row{
  --range-row-height:27px;
  position:relative;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  width:100%;
  min-width:0;
}

.schedule-page .month-week-range-layer{
  position:absolute;
  z-index:6;
  top:52px;
  left:0;
  right:0;
  height:calc(var(--week-range-lanes,0) * var(--range-row-height));
  pointer-events:none;
}

.schedule-page .month-week-row .month-day{
  min-height:150px;
  padding-top:10px;
}

.schedule-page .month-week-row .month-day__items{
  margin-top:calc(7px + (var(--week-range-lanes,0) * var(--range-row-height)));
}

.schedule-page .schedule-range.schedule-range--week{
  position:absolute;
  z-index:1;
  top:calc(var(--range-lane,0) * var(--range-row-height));
  left:calc(var(--range-left) + 1px);
  width:calc(var(--range-width) - 2px);
  height:24px;
  margin:0!important;
  padding:0 8px;
  border-radius:0;
  background:color-mix(in srgb, var(--range-color,#8ec5ff) 55%, #ffffff 45%);
  color:#17314d;
  box-sizing:border-box;
  pointer-events:auto;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--range-color,#8ec5ff) 55%, #b8c7d9 45%);
}

.schedule-page .schedule-range.schedule-range--week.is-actual-start{
  left:calc(var(--range-left) + 7px);
  width:calc(var(--range-width) - 8px);
  border-top-left-radius:7px;
  border-bottom-left-radius:7px;
}

.schedule-page .schedule-range.schedule-range--week.is-actual-end{
  width:calc(var(--range-width) - 8px);
  border-top-right-radius:7px;
  border-bottom-right-radius:7px;
}

.schedule-page .schedule-range.schedule-range--week.is-actual-start.is-actual-end{
  width:calc(var(--range-width) - 14px);
}

.schedule-page .schedule-range.schedule-range--week .schedule-range__label{
  height:100%;
  padding:0;
}

.schedule-page .month-day__ranges{
  display:none!important;
}

@media (max-width:980px){
  .schedule-page .month-week-row{
    --range-row-height:22px;
  }
  .schedule-page .month-week-range-layer{
    top:47px;
  }
  .schedule-page .schedule-range.schedule-range--week{
    height:19px;
    padding:0 5px;
    font-size:9px;
  }
  .schedule-page .schedule-range.schedule-range--week.is-actual-start{
    left:calc(var(--range-left) + 5px);
    width:calc(var(--range-width) - 6px);
    border-top-left-radius:5px;
    border-bottom-left-radius:5px;
  }
  .schedule-page .schedule-range.schedule-range--week.is-actual-end{
    width:calc(var(--range-width) - 6px);
    border-top-right-radius:5px;
    border-bottom-right-radius:5px;
  }
  .schedule-page .schedule-range.schedule-range--week.is-actual-start.is-actual-end{
    width:calc(var(--range-width) - 10px);
  }
  .schedule-page .month-week-row .month-day__items{
    margin-top:calc(5px + (var(--week-range-lanes,0) * var(--range-row-height)));
  }
}


/* ===== STEP 3 · important schedule marker only ===== */
.schedule-page .schedule-important-star{flex:0 0 auto;display:inline-block;color:#c88700;font-size:11px;font-weight:900;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.schedule-page .schedule-note .schedule-important-star{margin-right:2px}
.schedule-page .schedule-range .schedule-important-star{margin-right:1px}
@media (max-width:980px){.schedule-page .schedule-important-star{font-size:9px}}

/* ===== STEP 5 · per-schedule custom icon =====
   연결 아이콘이 있으면 기존 카테고리 이모지 대신 이미지 아이콘만 사용한다. */
.schedule-page .schedule-custom-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em;object-fit:contain;vertical-align:-.12em}
.schedule-page .schedule-custom-icon--range{width:13px;height:13px}
.schedule-page .schedule-custom-icon--note{width:15px;height:15px}
.schedule-page .schedule-custom-icon--today{width:18px;height:18px}
.schedule-page .schedule-custom-icon--list{width:18px;height:18px}
.schedule-page .schedule-custom-icon--detail{width:20px;height:20px}
.schedule-page .schedule-custom-icon--modal{width:24px;height:24px}
.schedule-page .schedule-item-title-with-icon{display:flex!important;align-items:center;gap:6px;min-width:0}
.schedule-page .schedule-item-title-with-icon>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-page .schedule-day-modal__emoji .schedule-custom-icon{display:block;margin:auto}
@media (max-width:980px){
  .schedule-page .schedule-custom-icon--range{width:10px;height:10px}
  .schedule-page .schedule-custom-icon--note{width:12px;height:12px}
}

/* ===== STEP 5 icon visibility polish · PC + mobile =====
   아이콘 연결 기능만 시각적으로 보강한다. 다른 레이아웃/기능에는 영향 없음. */
.schedule-page .schedule-custom-icon{
  flex:0 0 auto;
  object-fit:contain;
  object-position:center;
}

/* PC: 달력에서 아이콘 존재감 강화 */
@media (min-width:981px){
  .schedule-page .schedule-custom-icon--range{
    width:17px;
    height:17px;
  }
  .schedule-page .schedule-custom-icon--note{
    width:17px;
    height:17px;
  }
  .schedule-page .schedule-range.schedule-range--week{
    height:26px;
    padding-left:9px;
    padding-right:9px;
  }
  .schedule-page .schedule-range__label{
    gap:6px;
  }
  .schedule-page .schedule-note{
    align-items:center;
  }
}

/* 모바일: 너무 작아 보이지 않되 텍스트 공간은 유지 */
@media (max-width:980px){
  .schedule-page .schedule-custom-icon--range{
    width:14px;
    height:14px;
  }
  .schedule-page .schedule-custom-icon--note{
    width:14px;
    height:14px;
  }
  .schedule-page .schedule-custom-icon--today{
    width:17px;
    height:17px;
  }
  .schedule-page .schedule-custom-icon--list{
    width:16px;
    height:16px;
  }
  .schedule-page .schedule-custom-icon--detail{
    width:18px;
    height:18px;
  }
  .schedule-page .schedule-custom-icon--modal{
    width:22px;
    height:22px;
  }
  .schedule-page .schedule-range.schedule-range--week{
    height:21px;
    padding-left:6px;
    padding-right:6px;
  }
  .schedule-page .schedule-range__label{
    gap:5px;
  }
}

/* ===== STEP 6 · mobile schedule readability =====
   모바일 달력만 최적화한다. PC 및 데이터/기간바 로직은 변경하지 않는다. */
@media (max-width:980px){
  /* 이미지 아이콘은 작은 셀에서도 형태가 읽히도록 고정 크기 확보 */
  .schedule-page .schedule-note.has-custom-icon .schedule-custom-icon--note,
  .schedule-page .schedule-range.has-custom-icon .schedule-custom-icon--range{
    width:16px;
    height:16px;
    min-width:16px;
  }

  /* 음악방송은 모바일 월간 달력에서 텍스트 대신 아이콘 중심으로 표시 */
  .schedule-page .schedule-note.is-music-show{
    width:max-content;
    max-width:100%;
    min-width:28px;
    min-height:28px;
    padding:4px 6px;
    align-self:flex-start;
    justify-content:center;
    gap:3px;
  }
  .schedule-page .schedule-note.is-music-show .schedule-note__title{
    display:none!important;
  }
  .schedule-page .schedule-note.is-music-show .schedule-note__emoji{
    font-size:15px;
    line-height:1;
  }
  .schedule-page .schedule-note.is-music-show.has-custom-icon{
    min-width:30px;
  }

  /* 혹시 기간형 음악방송이 등록돼도 모바일에서는 아이콘만 보이게 처리 */
  .schedule-page .schedule-range.is-music-show .schedule-range__title{
    display:none!important;
  }
  .schedule-page .schedule-range.is-music-show .schedule-range__label{
    width:auto;
    max-width:100%;
    gap:3px;
  }

  /* 중요 별표는 아이콘과 붙되 너무 크게 공간을 차지하지 않게 */
  .schedule-page .schedule-note.is-music-show .schedule-important-star,
  .schedule-page .schedule-range.is-music-show .schedule-important-star{
    margin-right:0;
    font-size:9px;
  }
}

@media (max-width:480px){
  .schedule-page .schedule-note.is-music-show{
    min-width:26px;
    min-height:26px;
    padding:3px 5px;
  }
  .schedule-page .schedule-note.has-custom-icon .schedule-custom-icon--note,
  .schedule-page .schedule-range.has-custom-icon .schedule-custom-icon--range{
    width:15px;
    height:15px;
    min-width:15px;
  }
}

/* ===== STEP 6-B · mobile wide calendar + compact height =====
   모바일에서만 7열 달력을 억지로 축소하지 않고 가로 스크롤로 본다.
   PC(981px 이상)는 이 규칙의 영향을 받지 않는다. */
@media (max-width:980px){
  .schedule-page .schedule-month-grid{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scroll-behavior:smooth;
    padding-bottom:8px;
  }

  .schedule-page .schedule-month-grid .month-card{
    width:780px!important;
    min-width:780px!important;
    max-width:none!important;
  }

  .schedule-page .schedule-month-grid .month-weekdays,
  .schedule-page .schedule-month-grid .month-calendar,
  .schedule-page .schedule-month-grid .month-week-row{
    width:780px!important;
    min-width:780px!important;
    max-width:none!important;
  }

  .schedule-page .schedule-month-grid .month-weekdays,
  .schedule-page .schedule-month-grid .month-week-row{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }

  .schedule-page .schedule-month-grid .month-week-row .month-day{
    min-width:0!important;
    min-height:112px!important;
    height:auto!important;
    aspect-ratio:auto!important;
    padding:8px 8px 9px!important;
  }

  .schedule-page .schedule-month-grid .month-day__date{
    min-width:26px!important;
    height:26px!important;
    min-height:26px!important;
    font-size:14px!important;
  }

  .schedule-page .schedule-month-grid .month-day.is-today .month-day__date{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
  }

  .schedule-page .schedule-month-grid .month-week-range-layer{
    top:43px;
  }

  .schedule-page .schedule-month-grid .month-week-row .month-day__items{
    gap:4px;
    margin-top:calc(4px + (var(--week-range-lanes,0) * var(--range-row-height)));
  }

  .schedule-page .schedule-month-grid .schedule-note{
    min-height:25px;
    padding:4px 6px;
  }
}

@media (max-width:480px){
  .schedule-page .schedule-month-grid .month-card,
  .schedule-page .schedule-month-grid .month-weekdays,
  .schedule-page .schedule-month-grid .month-calendar,
  .schedule-page .schedule-month-grid .month-week-row{
    width:735px!important;
    min-width:735px!important;
  }

  .schedule-page .schedule-month-grid .month-week-row .month-day{
    min-height:104px!important;
    padding:7px 7px 8px!important;
  }
}

/* ===== STEP 6-C · mobile calendar cell gap + right-edge fix =====
   모바일 전용. PC(981px 이상)는 변경하지 않는다.
   - 날짜 칸 사이에 시각적 여백을 준다.
   - 가로 스크롤 시작/끝에 안전 여백을 확보해 금/토 우측이 잘리지 않게 한다.
   - 기간바의 7열 위치 계산은 그대로 유지한다. */
@media (max-width:980px){
  .schedule-page .schedule-month-grid{
    box-sizing:border-box;
    padding-left:8px;
    padding-right:18px;
    scroll-padding-left:8px;
    scroll-padding-right:18px;
  }

  .schedule-page .schedule-month-grid .month-card{
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:12px!important;
    overflow:visible!important;
  }

  .schedule-page .schedule-month-grid .month-weekdays,
  .schedule-page .schedule-month-grid .month-calendar,
  .schedule-page .schedule-month-grid .month-week-row{
    box-sizing:border-box!important;
  }

  /* grid gap을 쓰면 기간바 좌표가 틀어지므로 셀 자체에 작은 inset 여백을 준다. */
  .schedule-page .schedule-month-grid .month-week-row .month-day{
    width:calc(100% - 4px)!important;
    margin:2px!important;
    box-sizing:border-box!important;
    border-radius:18px!important;
  }

  /* 첫/마지막 열도 바깥쪽이 눌리지 않도록 동일한 안전 여백 유지 */
  .schedule-page .schedule-month-grid .month-week-row .month-day:first-of-type{
    margin-left:2px!important;
  }
  .schedule-page .schedule-month-grid .month-week-row .month-day:last-of-type{
    margin-right:2px!important;
  }
}

@media (max-width:480px){
  .schedule-page .schedule-month-grid{
    padding-left:6px;
    padding-right:20px;
    scroll-padding-left:6px;
    scroll-padding-right:20px;
  }
  .schedule-page .schedule-month-grid .month-card{
    margin-right:14px!important;
  }
  .schedule-page .schedule-month-grid .month-week-row .month-day{
    width:calc(100% - 4px)!important;
    margin:2px!important;
    border-radius:16px!important;
  }
}

/* ===== STEP 6-D · mobile right edge definitive fix =====
   모바일 전용. 기존 STEP 6-C의 grid item width+margin 방식으로 마지막 열이
   grid track 밖으로 밀리는 문제를 제거한다. PC에는 영향 없음. */
@media (max-width:980px){
  .schedule-page .schedule-month-grid{
    padding-right:0!important;
    scroll-padding-right:24px!important;
  }

  /* 실제 스크롤 끝 여유를 month-card 내부에 확보한다. */
  .schedule-page .schedule-month-grid .month-card{
    width:804px!important;
    min-width:804px!important;
    padding-right:24px!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .schedule-page .schedule-month-grid .month-weekdays,
  .schedule-page .schedule-month-grid .month-calendar,
  .schedule-page .schedule-month-grid .month-week-row{
    width:780px!important;
    min-width:780px!important;
    max-width:780px!important;
  }

  /* track 크기는 건드리지 않고 셀을 시각적으로만 살짝 안쪽으로 축소한다. */
  .schedule-page .schedule-month-grid .month-week-row .month-day,
  .schedule-page .schedule-month-grid .month-week-row .month-day:first-of-type,
  .schedule-page .schedule-month-grid .month-week-row .month-day:last-of-type{
    width:auto!important;
    margin:2px 0!important;
    transform:scaleX(.97);
    transform-origin:center center;
    box-sizing:border-box!important;
  }
}

@media (max-width:480px){
  .schedule-page .schedule-month-grid{
    padding-right:0!important;
    scroll-padding-right:22px!important;
  }

  .schedule-page .schedule-month-grid .month-card{
    width:757px!important;
    min-width:757px!important;
    padding-right:22px!important;
    margin-right:0!important;
  }

  .schedule-page .schedule-month-grid .month-weekdays,
  .schedule-page .schedule-month-grid .month-calendar,
  .schedule-page .schedule-month-grid .month-week-row{
    width:735px!important;
    min-width:735px!important;
    max-width:735px!important;
  }

  .schedule-page .schedule-month-grid .month-week-row .month-day,
  .schedule-page .schedule-month-grid .month-week-row .month-day:first-of-type,
  .schedule-page .schedule-month-grid .month-week-row .month-day:last-of-type{
    width:auto!important;
    margin:2px 0!important;
    transform:scaleX(.965);
  }
}

/* ===== RANGE BAR SOFT POLISH · 2026-08-31 =====
   기존 기간바 기능/배치 계산은 유지하고, 시각적 간격·테두리·투명감만 조정한다. */
.schedule-page .month-week-row{
  --range-row-height:30px;
}

.schedule-page .schedule-range.schedule-range--week{
  height:28px;
  background:color-mix(in srgb,var(--range-color,#8ec5ff) 32%,#ffffff 68%);
  border:0!important;
  box-shadow:none!important;
  opacity:.92;
}

.schedule-page .month-week-row .month-day__items{
  margin-top:calc(9px + (var(--week-range-lanes,0) * var(--range-row-height)));
}

@media (max-width:980px){
  .schedule-page .month-week-row{
    --range-row-height:29px;
  }

  .schedule-page .schedule-range.schedule-range--week{
    height:25px;
    border:0!important;
    box-shadow:none!important;
    opacity:.9;
  }

  .schedule-page .month-week-row .month-day__items{
    margin-top:calc(6px + (var(--week-range-lanes,0) * var(--range-row-height)));
  }
}


/* ===== STEP 7 · Weekly view =====
   기존 월간/리스트 스타일은 유지하고 주간 보기에서만 사용한다. */
.schedule-page .schedule-week-nav{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:18px 0 20px;
}
.schedule-page .schedule-week-nav__current{text-align:center;min-width:0}
.schedule-page .schedule-week-nav__current strong{display:block;color:#12203a;font-size:21px;font-weight:900;letter-spacing:-.02em}
.schedule-page .schedule-week-nav__current span{display:block;margin-top:3px;color:#8494a8;font-size:11px;font-weight:700}
.schedule-page .schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:start}
.schedule-page .schedule-week-day{min-width:0;border:1px solid #dce9f7;border-radius:17px;background:#fff;overflow:hidden}
.schedule-page .schedule-week-day.is-today{box-shadow:inset 0 0 0 1px #9dccff}
.schedule-page .schedule-week-day__head{display:flex;align-items:center;gap:6px;min-height:48px;padding:10px 11px;border-bottom:1px solid #edf3f9;background:#f8fbff}
.schedule-page .schedule-week-day__weekday{color:#6782a5;font-size:12px;font-weight:900}
.schedule-page .schedule-week-day__head strong{color:#244f84;font-size:14px;font-weight:900}
.schedule-page .schedule-week-day__head em{margin-left:auto;padding:3px 6px;border-radius:999px;background:#e8f3ff;color:#1473e6;font-size:9px;font-style:normal;font-weight:900}
.schedule-page .schedule-week-day__body{display:grid;gap:8px;padding:9px;min-height:136px}
.schedule-page .schedule-week-empty{display:grid;place-items:center;min-height:74px;color:#a1afbf;font-size:11px;font-weight:700;text-align:center}
.schedule-page .schedule-week-card{display:block;overflow:hidden;border:0;border-radius:12px;background:color-mix(in srgb,var(--week-card-color,#8ec5ff) 20%,#fff 80%);color:#1d3c62;text-decoration:none;box-shadow:none}
.schedule-page .schedule-week-card:hover,.schedule-page .schedule-week-card:focus-visible{background:color-mix(in srgb,var(--week-card-color,#8ec5ff) 26%,#fff 74%);outline:2px solid color-mix(in srgb,var(--week-card-color,#8ec5ff) 56%,#8aa9c8 44%);outline-offset:1px}
.schedule-page .schedule-week-card.is-cancelled{opacity:.58;text-decoration:line-through}
.schedule-page .schedule-week-card__thumb{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#eef4fa}
.schedule-page .schedule-week-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.schedule-page .schedule-week-card__content{display:grid;gap:4px;padding:9px}
.schedule-page .schedule-week-card__title{display:flex;align-items:center;gap:4px;min-width:0;font-size:11px}
.schedule-page .schedule-week-card__title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35}
.schedule-page .schedule-custom-icon--week{width:16px;height:16px;object-fit:contain;flex:0 0 16px}
.schedule-page .schedule-week-card__meta,.schedule-page .schedule-week-card__period{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#708299;font-size:9.5px;line-height:1.35}
.schedule-page .schedule-week-card__period{color:#4b6687;font-weight:800}

@media (max-width:980px){
  .schedule-page .schedule-view-switch .schedule-action{padding-left:10px;padding-right:10px}
  .schedule-page .schedule-week-nav{grid-template-columns:42px minmax(0,1fr) 42px;gap:9px;margin:14px 0 16px}
  .schedule-page .schedule-week-nav__prev,.schedule-page .schedule-week-nav__next{width:42px;height:42px;min-height:42px;padding:0;font-size:0}
  .schedule-page .schedule-week-nav__prev::before{content:"‹";font-size:28px;line-height:1}
  .schedule-page .schedule-week-nav__next::before{content:"›";font-size:28px;line-height:1}
  .schedule-page .schedule-week-nav__current strong{font-size:16px}
  .schedule-page .schedule-week-nav__current span{font-size:10px}
  .schedule-page .schedule-week-grid{grid-template-columns:1fr;gap:9px}
  .schedule-page .schedule-week-day{border-radius:14px}
  .schedule-page .schedule-week-day__head{min-height:42px;padding:8px 10px}
  .schedule-page .schedule-week-day__body{min-height:0;padding:8px}
  .schedule-page .schedule-week-empty{min-height:42px}
  .schedule-page .schedule-week-card{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:stretch}
  .schedule-page .schedule-week-card:not(:has(.schedule-week-card__thumb)){grid-template-columns:1fr}
  .schedule-page .schedule-week-card__thumb{width:86px;height:78px;aspect-ratio:auto}
  .schedule-page .schedule-week-card__content{align-content:center;padding:8px 10px}
  .schedule-page .schedule-week-card__title strong{font-size:12px}
  .schedule-page .schedule-week-card__meta,.schedule-page .schedule-week-card__period{font-size:10px}
}
/* ===== STEP 7 · weekly more button (PC + mobile) =====
   하루 일정이 2개 이상이면 첫 일정만 기본 노출하고 나머지는 더보기로 펼친다. */
.schedule-page .schedule-week-card[hidden]{
  display:none!important;
}
.schedule-page .schedule-week-more{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:100%;
  min-height:34px;
  padding:5px 9px;
  border:1px dashed #cddded;
  border-radius:10px;
  background:#f8fbfe;
  color:#557493;
  font:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
}
.schedule-page .schedule-week-more:hover,
.schedule-page .schedule-week-more:focus-visible{
  border-color:#9fc5ea;
  background:#f2f8ff;
  color:#1768c5;
  outline:none;
}
.schedule-page .schedule-week-more>span:first-child{
  font-size:17px;
  line-height:.7;
  transform:translateY(-1px);
}
.schedule-page .schedule-week-more.is-expanded{
  border-style:solid;
}

@media (max-width:980px){
  .schedule-page .schedule-week-more{
    min-height:38px;
    border-radius:11px;
    font-size:12px;
  }
}


/* ===== Monthly calendar · 3+ general items more button ===== */
.schedule-page .schedule-note[hidden]{
  display:none!important;
}
.schedule-page .schedule-month-more{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  min-height:25px;
  margin:0;
  padding:3px 6px;
  border:1px dashed #cddded;
  border-radius:9px;
  background:#f8fbfe;
  color:#557493;
  font:inherit;
  font-size:10px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
}
.schedule-page .schedule-month-more:hover,
.schedule-page .schedule-month-more:focus-visible{
  border-color:#9fc5ea;
  background:#f2f8ff;
  color:#1768c5;
  outline:none;
}
.schedule-page .schedule-month-more>span:first-child{
  font-size:15px;
  line-height:.7;
}
.schedule-page .schedule-month-more.is-expanded{
  border-style:solid;
}
@media (max-width:980px){
  .schedule-page .schedule-month-more{
    min-height:27px;
    padding:3px 5px;
    font-size:10px;
  }
}
/* ===== Mobile schedule focus mode =====
   모바일의 스케줄 목록 화면만 공통 헤더/사이드바/Hero/푸터를 숨기고
   달력·주간·리스트 컨텐츠에 화면을 집중한다.
   상세 화면과 PC, 다른 메뉴에는 적용하지 않는다. */
@media (max-width:980px){
  body.page-schedule:has(.schedule-page--mobile-focus){
    background:#fff!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .info2-sidebar,
  body.page-schedule:has(.schedule-page--mobile-focus) .info2-sidebar-rail-toggle,
  body.page-schedule:has(.schedule-page--mobile-focus) .info2-mobile-bar{
    display:none!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) > main.container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .info2-ui-shell{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .info2-content,
  body.page-schedule:has(.schedule-page--mobile-focus) .info2-content__body{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-page--mobile-focus{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-page--mobile-focus #schedule-browser{
    width:100%!important;
    max-width:none!important;
    min-height:100svh;
    margin:0!important;
    padding:14px 12px 24px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  /* 상단 조작부는 달력 위에 붙여 앱형 화면처럼 사용 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-controls{
    position:sticky;
    top:0;
    z-index:40;
    margin:-14px -12px 0!important;
    padding:12px!important;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid #edf3f9;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-category-nav{
    margin-top:12px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav{
    margin-top:12px!important;
  }

  /* 달력 자체가 화면 너비를 최대한 사용하도록 바깥 패널 여백 제거 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-grid,
  body.page-schedule:has(.schedule-page--mobile-focus) .month-card{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* 가로 스크롤 달력은 기존 동작 유지, 양 끝 터치 여유만 확보 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-mobile-calendar-scroll{
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding-left:12px!important;
    padding-right:20px!important;
    scroll-padding-left:12px;
    scroll-padding-right:20px;
  }
}

@media (max-width:480px){
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-page--mobile-focus #schedule-browser{
    padding:10px 8px 20px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-controls{
    margin:-10px -8px 0!important;
    padding:10px 8px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-mobile-calendar-scroll{
    margin-left:-8px!important;
    margin-right:-8px!important;
    padding-left:8px!important;
    padding-right:18px!important;
  }
}
/* ===== Mobile monthly calendar · one-screen overview =====
   모바일 월간 보기에서만 한 달 전체(5~6주)를 한 화면에 최대한 담는다.
   PC / 주간 보기 / 리스트 보기 / 상세 화면에는 적용하지 않는다. */
@media (max-width:980px){
  body.page-schedule:has(.schedule-page--mobile-focus){
    overflow-x:hidden!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-page--mobile-focus #schedule-browser{
    min-height:100svh!important;
    height:100svh!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:8px 8px 10px!important;
  }

  /* 상단 컨트롤을 최대한 압축 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-controls{
    position:relative!important;
    top:auto!important;
    z-index:10!important;
    flex:0 0 auto!important;
    gap:6px!important;
    margin:0!important;
    padding:0 0 6px!important;
    border-bottom:0!important;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-controls__left{
    gap:6px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-filter-field{
    gap:5px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-filter-field label{
    font-size:10px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-select{
    height:34px!important;
    min-height:34px!important;
    padding:0 26px 0 10px!important;
    border-radius:9px!important;
    font-size:12px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-controls__right{
    gap:5px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-view-switch{
    padding:3px!important;
    border-radius:10px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-view-switch .schedule-action{
    min-height:31px!important;
    padding:0 8px!important;
    border-radius:8px!important;
    font-size:11px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-info-button{
    width:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    height:36px!important;
    padding:0!important;
    border-radius:10px!important;
  }

  /* 카테고리는 한 줄만 유지하고 높이 최소화 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-category-nav{
    flex:0 0 auto!important;
    margin:0 0 4px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-category-filter{
    padding-top:0!important;
    padding-bottom:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-category-chip{
    min-height:30px!important;
    height:30px!important;
    padding:0 9px!important;
    border-radius:9px!important;
    font-size:10px!important;
    gap:4px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-category-chip__emoji{
    font-size:12px!important;
  }

  /* 월 제목 / 이전다음 영역 압축 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav{
    flex:0 0 auto!important;
    grid-template-columns:34px 1fr 34px!important;
    gap:6px!important;
    margin:2px 0 4px!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav__current{
    font-size:18px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav__prev,
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav__next{
    width:34px!important;
    height:34px!important;
    min-height:34px!important;
    border-radius:9px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav__prev::before,
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav__next::before{
    font-size:23px!important;
  }

  /* 월간 달력 영역이 남은 화면 높이를 모두 사용 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    display:block!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:14px!important;
  }

  /* 가로 스크롤 완전 제거: 7열을 화면폭 안에 맞춤 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-mobile-calendar-scroll{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-weekdays{
    flex:0 0 24px!important;
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    height:24px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-weekdays>span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    font-size:10px!important;
    line-height:1!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-calendar{
    flex:1 1 auto!important;
    display:grid!important;
    grid-template-rows:repeat(6,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    height:calc(100% - 24px)!important;
    overflow:hidden!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-week-row{
    --range-row-height:17px!important;
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-week-row .month-day{
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    padding:4px 3px!important;
    border-radius:8px!important;
    transform:none!important;
    overflow:hidden!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-day__date{
    min-width:21px!important;
    width:auto!important;
    height:21px!important;
    min-height:21px!important;
    padding:0 2px!important;
    border-radius:6px!important;
    font-size:10px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .month-day.is-today .month-day__date{
    width:23px!important;
    min-width:23px!important;
    height:23px!important;
    min-height:23px!important;
    font-size:10px!important;
  }

  /* 기간바는 한눈에 보기용으로 얇게 */
  body.page-schedule:has(.schedule-page--mobile-focus) .month-week-range-layer{
    top:29px!important;
    height:calc(var(--week-range-lanes,0) * var(--range-row-height))!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-range.schedule-range--week{
    height:14px!important;
    min-height:14px!important;
    padding:0 3px!important;
    font-size:7px!important;
    line-height:1!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-range__emoji,
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-custom-icon--range{
    width:9px!important;
    height:9px!important;
    font-size:8px!important;
  }

  /* 일반 일정은 최대 두 줄 + 더보기만 보이도록 초압축 */
  body.page-schedule:has(.schedule-page--mobile-focus) .month-week-row .month-day__items{
    gap:2px!important;
    margin-top:calc(2px + (var(--week-range-lanes,0) * var(--range-row-height)))!important;
    min-width:0!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-note{
    min-height:15px!important;
    height:15px!important;
    padding:1px 3px!important;
    border-radius:5px!important;
    gap:2px!important;
    font-size:7px!important;
    line-height:1!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-note__title{
    font-size:7px!important;
    line-height:1!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-note__emoji,
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-custom-icon--note{
    width:9px!important;
    height:9px!important;
    font-size:8px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-important-star{
    font-size:8px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-more{
    min-height:14px!important;
    height:14px!important;
    padding:0 2px!important;
    border-radius:5px!important;
    font-size:7px!important;
    line-height:1!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-more>span:first-child{
    font-size:10px!important;
  }
}

@media (max-width:480px){
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-page--mobile-focus #schedule-browser{
    padding:6px 6px 8px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-controls{
    padding-bottom:4px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-select{
    height:32px!important;
    min-height:32px!important;
    font-size:11px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-category-chip{
    min-height:28px!important;
    height:28px!important;
    font-size:9px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav{
    margin:1px 0 3px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-month-nav__current{
    font-size:17px!important;
  }
}
/* ===== Mobile monthly one-view · fixed-width override FINAL =====
   과거 STEP 6의 735/780px 가로스크롤 규칙을 월간 전체보기 모드에서만 무효화한다.
   PC / 주간 / 리스트 / 상세 / 다른 페이지에는 영향 없음. */
@media (max-width:980px){
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    padding-right:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-weekdays,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-calendar,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-weekdays,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row .month-day,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row .month-day:first-of-type,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row .month-day:last-of-type{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    height:100%!important;
    margin:1px!important;
    padding:4px 3px!important;
    transform:none!important;
    box-sizing:border-box!important;
    border-radius:8px!important;
  }

  /* month-calendar가 실제 남은 높이를 6주에 균등 배분 */
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-calendar{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(6,minmax(0,1fr))!important;
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
}

@media (max-width:480px){
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-card,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-weekdays,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-calendar,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row .month-day,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row .month-day:first-of-type,
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-grid .month-week-row .month-day:last-of-type{
    width:auto!important;
    margin:1px!important;
    transform:none!important;
  }
}
/* ===== Mobile monthly one-view · restore common header/footer =====
   월간 한눈에 보기 레이아웃은 유지하고, 공통 헤더/푸터만 다시 노출한다.
   달력 폭/높이/7열/기간바/더보기 로직에는 영향 없음. */
@media (max-width:980px){
  body.page-schedule:has(.schedule-page--mobile-focus) > .site-header,
  body.page-schedule:has(.schedule-page--mobile-focus) > .site-footer{
    display:block!important;
  }

  /* 헤더/푸터가 다시 보이므로 월간 영역은 남은 화면 안에서 사용 */
  body.page-schedule:has(.schedule-page--mobile-focus) .schedule-page--mobile-focus #schedule-browser{
    min-height:calc(100svh - 120px)!important;
    height:auto!important;
  }
}
/* ===== Mobile schedule minimal controls + common header menu FINAL =====
   모바일 월간 보기만 최소화한다.
   PC / 주간 / 리스트 / 상세 / 다른 페이지 기능에는 영향 없음. */
.schedule-page .schedule-mobile-month-picker-button{
  display:none;
}
.schedule-page .schedule-mobile-month-dialog{
  display:none;
}

@media (max-width:980px){
  /* Hero는 모바일 스케줄에서도 유지 */
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus > .schedule-hero{
    display:flex!important;
  }

  /* 연도/월 검색 셀렉트는 모바일 월간 보기에서만 숨김 */
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-controls__left{
    display:none!important;
  }

  /* 카테고리 필터도 모바일 월간 보기에서만 숨김 */
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-category-nav{
    display:none!important;
  }

  /* 남은 상단 보기 전환은 한 줄 최소 UI */
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-controls{
    display:block!important;
    margin:0!important;
    padding:0 0 5px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-controls__right{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    width:100%!important;
    gap:5px!important;
  }

  /* 2026년 8월 옆 달력 버튼 */
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-month-nav__current{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-mobile-month-picker-button{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    margin:0;
    padding:0;
    border:1px solid #d5e4f3;
    border-radius:9px;
    background:#fff;
    color:#1768c5;
    cursor:pointer;
    box-shadow:none;
  }

  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-mobile-month-picker-button svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  /* 기존 focus mode가 drawer를 숨기지 않도록 공통 drawer 사용 허용 */
  body.page-schedule:has(.schedule-page--mobile-focus) .info2-drawer{
    display:block;
  }

  /* 월 선택용 작은 달력 팝업 */
  .schedule-page .schedule-mobile-month-dialog{
    width:min(300px,calc(100vw - 36px));
    max-width:300px;
    margin:auto;
    padding:0;
    border:0;
    border-radius:16px;
    background:#fff;
    color:#17314d;
    box-shadow:0 22px 70px rgba(17,48,82,.28);
  }

  .schedule-page .schedule-mobile-month-dialog[open]{
    display:block;
  }

  .schedule-page .schedule-mobile-month-dialog::backdrop{
    background:rgba(14,31,52,.42);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }

  .schedule-page .schedule-mobile-month-dialog__head{
    position:relative;
    display:grid;
    grid-template-columns:34px 1fr 34px;
    align-items:center;
    gap:4px;
    padding:14px 42px 10px 12px;
  }

  .schedule-page .schedule-mobile-month-dialog__head>strong{
    text-align:center;
    font-size:14px;
    font-weight:900;
    white-space:nowrap;
  }

  .schedule-page .schedule-mobile-month-dialog__head>a{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    color:#1768c5;
    text-decoration:none;
    font-size:22px;
    line-height:1;
  }

  .schedule-page .schedule-mobile-month-dialog__close{
    appearance:none;
    -webkit-appearance:none;
    position:absolute;
    top:9px;
    right:9px;
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#f3f7fb;
    color:#657b92;
    font:inherit;
    font-size:19px;
    cursor:pointer;
  }

  .schedule-page .schedule-mobile-month-dialog__weekdays,
  .schedule-page .schedule-mobile-month-dialog__days{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    padding-left:12px;
    padding-right:12px;
  }

  .schedule-page .schedule-mobile-month-dialog__weekdays{
    padding-top:2px;
    color:#91a0b0;
    font-size:9px;
    font-weight:800;
  }

  .schedule-page .schedule-mobile-month-dialog__weekdays>span,
  .schedule-page .schedule-mobile-month-dialog__days>span{
    display:grid;
    place-items:center;
    aspect-ratio:1/1;
    min-width:0;
  }

  .schedule-page .schedule-mobile-month-dialog__days{
    padding-top:5px;
    padding-bottom:14px;
    color:#273e5b;
    font-size:11px;
    font-weight:800;
  }

  .schedule-page .schedule-mobile-month-dialog__days>span.is-other{
    color:#c8d1dc;
  }

  .schedule-page .schedule-mobile-month-dialog__days>span.is-today{
    justify-self:center;
    align-self:center;
    width:28px;
    height:28px;
    aspect-ratio:auto;
    border-radius:50%;
    background:#e8f3ff;
    color:#1473e6;
    box-shadow:inset 0 0 0 1px #b8d8fa;
  }
}

@media (max-width:480px){
  body.page-schedule:has(.schedule-page--mobile-focus)
  .schedule-page--mobile-focus .schedule-mobile-month-picker-button{
    width:28px;
    height:28px;
    border-radius:8px;
  }

  .schedule-page .schedule-mobile-month-dialog{
    width:min(284px,calc(100vw - 28px));
  }
}
/* ===== Mobile schedule · minimal controls for all view modes =====
   달력 / 주간 / 리스트 모두 모바일에서 연도·월 셀렉트와 카테고리 필터를 숨긴다.
   PC / 다른 페이지 / 기존 기능에는 영향 없음. */
@media (max-width:980px){
  body.page-schedule .schedule-page .schedule-controls__left{
    display:none!important;
  }

  body.page-schedule .schedule-page .schedule-category-nav{
    display:none!important;
  }

  body.page-schedule .schedule-page .schedule-controls{
    display:block!important;
    margin:0!important;
    padding:0 0 6px!important;
  }

  body.page-schedule .schedule-page .schedule-controls__right{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    width:100%!important;
    gap:5px!important;
  }
}

@media (max-width:480px){
  body.page-schedule .schedule-page .schedule-controls{
    padding-bottom:5px!important;
  }

  body.page-schedule .schedule-page .schedule-controls__right{
    grid-template-columns:minmax(0,1fr) 34px!important;
    gap:4px!important;
  }
}
/* ===== Mobile schedule · weekly/list full-width alignment =====
   모바일 주간보기/리스트보기도 월간 달력보기와 동일하게 화면 폭을 꽉 사용한다.
   PC / 월간 달력 / 기존 기능에는 영향 없음. */
@media (max-width:980px){
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus){
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) #schedule-browser{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }

  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-week-view,
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-list,
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-list-view,
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-year-list{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-week-day,
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-week-card,
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-year-month,
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) .schedule-year-item{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:480px){
  body.page-schedule .schedule-page:not(.schedule-page--mobile-focus) #schedule-browser{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
/* ===== Mobile weekly/list · SAME outer width as calendar FINAL =====
   월간 달력보기처럼 main → shell → content → schedule-page → browser
   바깥 부모 폭까지 모두 풀어 주간/리스트 상단과 내용의 좌우 기준선을 통일한다.
   상세보기 / PC / 다른 페이지에는 적용하지 않는다. */
@media (max-width:980px){
  body.page-schedule:has(.schedule-page--mode-weekly) > main.container,
  body.page-schedule:has(.schedule-page--mode-list) > main.container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mode-weekly) .info2-ui-shell,
  body.page-schedule:has(.schedule-page--mode-list) .info2-ui-shell{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule:has(.schedule-page--mode-weekly) .info2-content,
  body.page-schedule:has(.schedule-page--mode-weekly) .info2-content__body,
  body.page-schedule:has(.schedule-page--mode-list) .info2-content,
  body.page-schedule:has(.schedule-page--mode-list) .info2-content__body{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-schedule .schedule-page--mode-weekly,
  body.page-schedule .schedule-page--mode-list{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  /* Hero도 달력보기와 같은 외곽폭 */
  body.page-schedule .schedule-page--mode-weekly > .schedule-hero,
  body.page-schedule .schedule-page--mode-list > .schedule-hero{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* 상단 보기 전환 ~ 실제 주간/리스트 내용까지 달력과 같은 12px 기준 */
  body.page-schedule .schedule-page--mode-weekly #schedule-browser,
  body.page-schedule .schedule-page--mode-list #schedule-browser{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 12px 24px!important;
    box-sizing:border-box!important;
  }

  body.page-schedule .schedule-page--mode-weekly .schedule-controls,
  body.page-schedule .schedule-page--mode-list .schedule-controls,
  body.page-schedule .schedule-page--mode-weekly .schedule-week-nav,
  body.page-schedule .schedule-page--mode-list .schedule-year-nav,
  body.page-schedule .schedule-page--mode-list .schedule-list-nav,
  body.page-schedule .schedule-page--mode-weekly .schedule-week-grid,
  body.page-schedule .schedule-page--mode-list .schedule-list,
  body.page-schedule .schedule-page--mode-list .schedule-list-view,
  body.page-schedule .schedule-page--mode-list .schedule-year-list{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  body.page-schedule .schedule-page--mode-weekly .schedule-week-day,
  body.page-schedule .schedule-page--mode-weekly .schedule-week-card,
  body.page-schedule .schedule-page--mode-list .schedule-year-month,
  body.page-schedule .schedule-page--mode-list .schedule-year-item{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:480px){
  body.page-schedule .schedule-page--mode-weekly #schedule-browser,
  body.page-schedule .schedule-page--mode-list #schedule-browser{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
