/* Know Your Path 2.8 — class schedules */
.schedule-view{color:var(--ink)}
.schedule-hero{padding:32px 0 44px;background:linear-gradient(118deg,#163f6d,#0c3154);color:#fff;position:relative;overflow:hidden}
.schedule-hero::after{content:"";position:absolute;inset-inline-end:-120px;top:-170px;width:520px;height:520px;border:60px solid rgba(244,181,23,.06);border-radius:50%;pointer-events:none}
.schedule-hero .shell{position:relative;z-index:1}.schedule-hero .back-link{color:#ceeaff}.schedule-hero-copy{padding-top:24px;max-width:860px}
.schedule-eyebrow{color:#f4c656;letter-spacing:.13em;font-weight:850;font-size:.7rem}.schedule-hero h1{color:#fff;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.14;letter-spacing:-.045em;margin:12px 0 16px}.schedule-hero p{color:#d8e9f8;font-size:1rem;line-height:1.7;max-width:660px;margin:0}
.schedule-content{padding-top:28px;padding-bottom:64px}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;border:1px solid var(--line);background:var(--surface);border-radius:18px;box-shadow:var(--shadow-sm)}
.schedule-date-control{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px 16px}.schedule-date-control label{font-weight:800;font-size:.88rem}.schedule-date-control input{min-width:175px;min-height:44px;max-width:100%;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);padding:8px 12px;border-radius:9px;font:inherit;direction:ltr}.schedule-date-control>span{grid-column:1/-1;font-size:.73rem;color:var(--muted)}
.schedule-actions{display:flex;gap:8px;flex-shrink:0}.schedule-actions .button{min-height:44px}.schedule-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:30px;margin-bottom:14px}.schedule-heading h2{font-size:1.3rem;letter-spacing:-.02em;margin:0}.schedule-heading>span{color:var(--muted);font-weight:650;overflow-wrap:anywhere}
.schedule-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.schedule-metrics>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:13px}.schedule-metrics strong{font-size:1.7rem;line-height:1;color:var(--ink)}.schedule-metrics span{font-size:.77rem;font-weight:700;color:var(--muted)}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.schedule-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);min-width:0}.schedule-card header{padding:22px 24px 0;border-top:4px solid var(--blue-500,#007dce)}.schedule-course-code{color:var(--muted);font-size:.73rem;font-weight:750;overflow-wrap:anywhere}.schedule-card h3{font-size:1.18rem;line-height:1.4;margin:7px 0 12px;overflow-wrap:anywhere}.schedule-status{display:inline-block;padding:6px 9px;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:.69rem;font-weight:750;line-height:1.5}.schedule-status.is-scheduled{background:#e5f5ed;color:#176441}
.schedule-details{margin:0;padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.schedule-details>div{min-width:0}.schedule-details dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:var(--muted);margin-bottom:6px}.schedule-details dd{margin:0;font-size:.85rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.schedule-meetings{list-style:none;padding:0;margin:0 24px 18px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.schedule-meetings li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;background:var(--surface-soft)}.schedule-meetings li+li{border-top:1px solid var(--line)}.schedule-period{font-size:.8rem;font-weight:750}.schedule-period small{display:block;color:var(--muted);font-size:.67rem;margin-top:2px}.schedule-meetings strong{font-size:.83rem;text-align:end;line-height:1.5}
.schedule-card footer{padding:13px 24px;background:var(--surface-soft);border-top:1px solid var(--line);color:var(--muted);font-size:.65rem;line-height:1.6}.schedule-note{border-inline-start:3px solid var(--gold-500,#f4b517);margin-top:24px;padding:2px 0 2px 18px;padding-inline-start:18px;padding-inline-end:0;color:var(--muted);font-size:.8rem;line-height:1.8}.schedule-note p{margin:0 0 6px}.schedule-note button{color:var(--ink)}.schedule-refreshed{font-size:.72rem;color:var(--muted);margin-top:18px}
.schedule-state{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:34px 20px;margin-top:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.schedule-state h2,.schedule-state h3,.schedule-state p{margin:0}.schedule-state h2{font-size:1.3rem}.schedule-state p{max-width:520px;color:var(--muted);font-size:.9rem;line-height:1.7}.schedule-state-symbol{font-size:2rem;color:var(--blue-500,#007dce)}.schedule-warning{padding:14px 18px;background:#fff5d8;border:1px solid #e9d599;border-radius:12px;color:#65470a;font-size:.84rem;line-height:1.6;margin-bottom:20px}
.schedule-entry{display:flex;align-items:center;justify-content:space-between;gap:24px}.schedule-entry h2{margin:8px 0}.schedule-entry p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.6}.schedule-entry .button{flex-shrink:0}
@media(max-width:1500px){.site-header .desktop-nav{display:none}.site-header .menu-button{display:grid}.site-header .flyer-menu,.site-header .student-signin-button{display:none!important}.site-header .header-actions{margin-left:auto}html[dir="rtl"] .site-header .header-actions{margin-left:0;margin-right:auto}}
@media(max-width:760px){.schedule-hero{padding:22px 0 30px}.schedule-hero-copy{padding-top:20px}.schedule-hero h1{font-size:2.1rem}.schedule-toolbar{flex-direction:column;align-items:stretch;padding:18px;gap:16px}.schedule-date-control{grid-template-columns:1fr}.schedule-actions .button{flex:1}.schedule-heading{display:block}.schedule-heading>span{display:block;margin-top:6px;font-size:.8rem}.schedule-grid{grid-template-columns:1fr}.schedule-metrics{gap:8px}.schedule-metrics>div{display:block;padding:14px 12px}.schedule-metrics strong{display:block;margin-bottom:7px}.schedule-metrics span{font-size:.66rem;line-height:1.5;display:block}.schedule-card header{padding:18px 18px 0}.schedule-details{padding:20px 18px;gap:16px}.schedule-meetings{margin-inline:18px}.schedule-card footer{padding-inline:18px}.schedule-entry{flex-direction:column;align-items:stretch}.schedule-entry .button{width:100%}}
@media(prefers-reduced-motion:reduce){.schedule-view .credits-spinner{animation:none}}
.schedule-actions .button-secondary{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}
body.dark .schedule-date-control input{color-scheme:dark}
