.planning-page { background:#292633; color:#f5f1e9; }
.planning-header { position:sticky; top:0; background:rgba(20,19,26,.92); backdrop-filter:blur(14px); }
.planning-header .desktop-nav .active { color:var(--red); }
.planning-main { padding-top:145px; padding-bottom:100px; }
.planning-poster { margin:0 0 90px; background:#17151a; }.planning-poster img { display:block; width:100%; height:auto; max-height:850px; object-fit:contain; object-position:center; }
.planning-intro { display:flex; justify-content:space-between; align-items:end; gap:60px; padding-bottom:85px; }
.planning-intro h1 { margin:0; font:800 clamp(86px, 11vw, 156px)/.72 var(--display); text-transform:uppercase; letter-spacing:-.06em; }
.planning-intro h1 em { color:var(--red); font-style:normal; }
.planning-intro-side { max-width:280px; padding-bottom:10px; }.planning-intro-side p { color:#b9b3ae; font-size:16px; line-height:1.45; }.planning-link { color:#f5f1e9; border-color:rgba(245,241,233,.5); margin-top:18px; }
.schedule-shell { background:#302e3a; border:1px solid rgba(245,241,233,.1); box-shadow:0 25px 70px rgba(0,0,0,.2); }.schedule-topline { display:flex; justify-content:space-between; padding:18px 24px; border-bottom:1px solid rgba(245,241,233,.1); color:#9e98a1; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }.week-tabs { display:grid; grid-template-columns:repeat(7,1fr); border-bottom:1px solid rgba(245,241,233,.1); }.day-tab { position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; min-height:100px; padding:18px 5px; border:0; background:transparent; color:#928c98; cursor:pointer; font-family:var(--body); transition:background .25s,color .25s; }.day-tab span { font-size:12px; text-transform:uppercase; }.day-tab strong { font:700 34px/1 var(--display); }.day-tab small { display:none; }.day-tab:hover { color:#f5f1e9; }.day-tab.is-active { background:var(--red); color:#f5f1e9; }.day-tab.is-active:after { content:''; position:absolute; bottom:-1px; left:28%; right:28%; height:3px; background:#f5f1e9; }
.day-panel { display:none; }.day-panel.is-active { display:block; animation:panel-in .35s ease both; } @keyframes panel-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }.day-heading { display:flex; justify-content:space-between; align-items:center; padding:18px 24px; background:rgba(201,45,32,.25); color:#eee8e0; font:700 20px var(--display); text-transform:uppercase; }.day-heading small { color:#c3bbc0; font:500 11px var(--body); text-transform:uppercase; letter-spacing:.1em; }.class-row { display:grid; grid-template-columns:110px 1fr 180px; align-items:center; gap:25px; min-height:112px; padding:18px 24px; border-bottom:1px solid rgba(245,241,233,.08); }.class-time { align-self:start; padding-top:4px; color:#f5f1e9; font:700 31px/1 var(--display); }.class-info h2 { margin:0 0 14px; font:700 26px/1 var(--display); text-transform:uppercase; letter-spacing:-.02em; }.class-info p { margin:0; color:#aaa4ae; font-size:14px; }.class-info p span { display:inline-block; margin-left:18px; color:#d2c9d1; font-size:18px; }.class-status { display:flex; flex-direction:column; align-items:end; gap:10px; color:#b7b0b8; font-size:14px; }.class-status strong { color:#6ed9ae; font-weight:600; }.class-status button { min-width:126px; padding:10px 14px; border:1px solid var(--red); border-radius:3px; background:transparent; color:#f5f1e9; font:700 13px var(--body); cursor:pointer; }.class-status button:hover { background:var(--red); }.class-row.unavailable .class-status strong { color:#f77e72; }.class-row.unavailable .class-status button { border-color:transparent; background:rgba(18,17,23,.42); color:#9b969e; cursor:not-allowed; }.empty-panel { min-height:310px; }.empty-panel > p { display:grid; place-items:center; min-height:230px; margin:0; color:#aaa4ae; font-size:15px; }.planning-page .site-footer { color:#f5f1e9; border-top:1px solid rgba(245,241,233,.12); }.planning-page .site-footer .brand-seal { color:#f5f1e9; }.planning-page .site-footer p, .planning-page .back-top { color:#9e98a1; }
@media (max-width:800px) { .planning-main { padding-top:105px; padding-bottom:65px; }.planning-poster { margin-bottom:55px; }.planning-poster img { max-height:none; }.planning-intro { display:block; padding-bottom:50px; }.planning-intro h1 { font-size:clamp(80px, 22vw, 120px); }.planning-intro-side { padding-top:35px; }.schedule-topline { display:block; line-height:1.6; }.schedule-topline span:last-child { display:block; color:#6f6b75; }.week-tabs { grid-template-columns:repeat(7,1fr); overflow:hidden; }.day-tab { min-height:84px; padding:12px 2px; }.day-tab strong { font-size:27px; }.day-tab small { display:block; font-size:9px; text-transform:uppercase; }.day-heading { padding:15px 16px; font-size:18px; }.class-row { grid-template-columns:82px 1fr; gap:12px; align-items:start; min-height:126px; padding:22px 16px 18px; }.class-time { font-size:27px; }.class-info h2 { font-size:23px; line-height:.95; margin-bottom:17px; }.class-info p { font-size:13px; }.class-status { grid-column:2; flex-direction:row; align-items:center; justify-content:flex-end; gap:10px; margin-top:0; }.class-status button { min-width:0; padding:10px 12px; font-size:12px; }.empty-panel { min-height:250px; }.empty-panel > p { min-height:185px; font-size:14px; }.planning-page .site-footer { padding-top:28px; padding-bottom:28px; } }
