@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{color-scheme:light;font-family:Inter,Space Grotesk,sans-serif;--brand-strong: #2563eb;--brand-deep: #1d4ed8;--brand-subtle: rgba(37, 99, 235, .08);--brand-glow: 0 0 20px rgba(37, 99, 235, .18);--accent-warm: #f97316;--accent-strong: #f97316;--surface-muted: #e2e8f0;--surface-muted-strong: #cbd5e1;--surface-panel: rgba(255, 255, 255, .88);--surface-card: rgba(255, 255, 255, .84);--surface-card-strong: rgba(255, 255, 255, .96);--surface-elevated: #ffffff;--surface-subtle: #f8fafc;--surface-subtle-strong: #eef2ff;--surface-warning: #fef3c7;--surface-warning-soft: rgba(254, 243, 199, .9);--surface-success: #dcfce7;--surface-danger: #fee2e2;--text-main: #0f172a;--text-strong: #1e293b;--text-muted: #475569;--text-faint: #64748b;--border-soft: rgba(148, 163, 184, .18);--border-strong: rgba(203, 213, 225, .92);--border-dashed: rgba(148, 163, 184, .4);--shadow-soft: 0 1px 3px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);--shadow-card: 0 1px 2px rgba(15, 23, 42, .03), 0 4px 12px rgba(15, 23, 42, .05);--shadow-card-hover: 0 4px 12px rgba(15, 23, 42, .06), 0 12px 32px rgba(15, 23, 42, .1);--shadow-glow: 0 0 20px rgba(37, 99, 235, .18);--shell-background: radial-gradient(circle at top left, rgba(37, 99, 235, .06), transparent 30%), radial-gradient(circle at right center, rgba(99, 102, 241, .08), transparent 24%), linear-gradient(180deg, #f8fafc, #eef2ff 45%, #f8fafc);--auth-split-brand: linear-gradient(160deg, #1e3a8a 0%, #1d4ed8 40%, #2563eb 100%);--auth-split-form: var(--surface-elevated);--selected-header: linear-gradient(180deg, #dbeafe, #bfdbfe);--selected-body: linear-gradient(180deg, rgba(219, 234, 254, .35), #fff 18%);--weekend-surface: rgba(248, 250, 252, .85);--hour-line: rgba(226, 232, 240, .95);--drag-preview: rgba(37, 99, 235, .1);--drag-preview-border: rgba(37, 99, 235, .35);background:var(--shell-background);color:var(--text-main)}:root[data-theme=dark]{color-scheme:dark;--brand-strong: #3b82f6;--brand-deep: #2563eb;--brand-subtle: rgba(59, 130, 246, .1);--brand-glow: 0 0 20px rgba(59, 130, 246, .15);--accent-warm: #f97316;--accent-strong: #f97316;--surface-muted: #1e293b;--surface-muted-strong: #334155;--surface-panel: rgba(15, 23, 42, .82);--surface-card: rgba(15, 23, 42, .78);--surface-card-strong: rgba(15, 23, 42, .92);--surface-elevated: #0f172a;--surface-subtle: #111827;--surface-subtle-strong: #1e293b;--surface-warning: rgba(120, 53, 15, .72);--surface-warning-soft: linear-gradient(180deg, rgba(120, 53, 15, .82), rgba(15, 23, 42, .9));--surface-success: rgba(20, 83, 45, .78);--surface-danger: rgba(127, 29, 29, .78);--text-main: #e2e8f0;--text-strong: #f8fafc;--text-muted: #94a3b8;--text-faint: #94a3b8;--border-soft: rgba(148, 163, 184, .2);--border-strong: rgba(71, 85, 105, .92);--border-dashed: rgba(100, 116, 139, .45);--shadow-soft: 0 1px 3px rgba(0, 0, 0, .3), 0 8px 24px rgba(2, 6, 23, .35);--shadow-card: 0 1px 2px rgba(0, 0, 0, .2), 0 4px 12px rgba(2, 6, 23, .3);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .25), 0 12px 32px rgba(2, 6, 23, .4);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--shell-background: radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 28%), radial-gradient(circle at right center, rgba(99, 102, 241, .06), transparent 24%), linear-gradient(180deg, #020617, #0f172a 45%, #111827);--auth-split-brand: linear-gradient(160deg, #0f172a 0%, #1e293b 40%, #1e3a8a 100%);--auth-split-form: #0f172a;--selected-header: linear-gradient(180deg, rgba(37, 99, 235, .35), rgba(59, 130, 246, .2));--selected-body: linear-gradient(180deg, rgba(37, 99, 235, .12), rgba(15, 23, 42, .18) 18%);--weekend-surface: rgba(15, 23, 42, .88);--hour-line: rgba(51, 65, 85, .92);--drag-preview: rgba(59, 130, 246, .12);--drag-preview-border: rgba(59, 130, 246, .4)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh;background:var(--shell-background);color:var(--text-main)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-muted-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}button,input,textarea,select{font:inherit;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ghost-button,.primary-button,.segmented button,.mobile-view-picker button{border:0;border-radius:999px;padding:.75rem 1rem;font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}input,textarea,select{width:100%;border:1px solid var(--border-soft);border-radius:.9rem;background:var(--surface-card-strong);color:var(--text-main);padding:.78rem .9rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:color-mix(in srgb,var(--brand-strong) 50%,var(--border-soft));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-strong) 14%,transparent)}.ghost-button{background:var(--surface-muted);color:var(--text-main);border:1px solid transparent;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.ghost-button:hover{background:var(--surface-muted-strong);border-color:var(--border-soft);box-shadow:var(--shadow-card)}.ghost-button:active{transform:translateY(.5px)}.primary-button{background:linear-gradient(135deg,var(--brand-strong),var(--brand-deep));color:#fff;border:1px solid rgba(37,99,235,.3);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}.primary-button:active{transform:translateY(.5px);box-shadow:none}.segmented{display:flex;gap:.65rem;flex-wrap:wrap}.segmented button,.mobile-view-picker button{background:var(--surface-muted);color:var(--text-main);transition:background .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease}.segmented button.active{background:var(--brand-strong);color:#fff;box-shadow:inset 0 1px 2px #0000001f,0 2px 8px #2563eb2e}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.workspace-shell{--sidebar-width: 16rem;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-areas:"sidebar main";min-height:100vh;background:var(--shell-background);transition:grid-template-columns .22s cubic-bezier(.4,0,.2,1)}.workspace-shell.sidebar-collapsed{--sidebar-width: 4.5rem}.workspace-sidebar{grid-area:sidebar;display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;position:sticky;top:0;background:var(--surface-card-strong);border-right:1px solid var(--border-soft);z-index:40;overflow-x:hidden;overflow-y:auto;transition:width .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1)}.workspace-main{grid-area:main;display:grid;grid-template-rows:auto 1fr;min-height:100vh}.view-content-wrapper{min-height:0;overflow:auto}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;min-height:48px;background:var(--surface-card);border-bottom:1px solid var(--border-soft);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.inline-actions{display:grid;gap:.75rem;grid-auto-flow:column;justify-content:start;align-items:center}.inline-actions.spread{justify-content:space-between}.field-stack{display:grid;gap:.35rem}.field-error-text{margin:0;color:#b91c1c;font-size:.82rem;font-weight:600}.field-help-text{margin:0;color:var(--text-muted);font-size:.84rem}.warning-stack,.warning-inline{display:grid;gap:.35rem;padding:.85rem .95rem;border-radius:1rem;background:#fff7ed;border:1px solid rgba(249,115,22,.22);color:#9a3412}.warning-stack strong,.warning-inline p{margin:0}.invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441f}@keyframes alert-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert{animation:alert-slide-in .25s ease-out}.session-card.dense{display:flex;align-items:stretch;justify-content:center;padding:.34rem .28rem}.session-copy{position:relative;z-index:1}.session-copy-dense{display:grid;align-content:center;gap:.1rem;width:100%;min-width:0;padding-left:.1rem}.dense-title,.dense-instructor{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.02}.dense-title{font-size:.72rem;-webkit-line-clamp:1}.dense-instructor{font-size:.62rem;opacity:.92}.theme-switcher{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border-soft);transition:box-shadow .18s ease}.theme-switcher button{border:0;border-radius:999px;padding:.55rem .8rem;background:transparent;color:var(--text-muted);cursor:pointer;font-weight:700;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.theme-switcher button.active{background:var(--brand-strong);color:#fff;box-shadow:inset 0 1px 2px #0000001f,0 2px 8px #2563eb2e}.desktop-sidebar-toggle,.mobile-sidebar-toggle{min-width:2.75rem;min-height:2.75rem;padding:.35rem .65rem;font-size:1.15rem;line-height:1}body.workspace-navigation-open{overflow:hidden}@media (max-width: 1100px) and (min-width: 721px){.workspace-shell,.workspace-shell.sidebar-collapsed{--sidebar-width: 4.5rem}}@media (max-width: 720px){.workspace-shell,.workspace-shell.sidebar-collapsed{--sidebar-width: min(18rem, calc(100vw - 3rem) );grid-template-columns:minmax(0,1fr)}.workspace-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100dvh;transform:translate(-105%)}.workspace-shell.sidebar-open .workspace-sidebar{transform:translate(0)}.admin-shell .workspace-topbar.mobile-topbar{position:static;top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem .55rem;min-height:0;padding:.5rem;backdrop-filter:none;-webkit-backdrop-filter:none}.admin-shell .topbar-navigation{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%;min-width:0;gap:.45rem}.admin-shell .topbar-utilities{width:auto;margin-left:0;flex-wrap:nowrap;justify-content:flex-end}.admin-shell .topbar-navigation .mobile-sidebar-toggle,.admin-shell .topbar-utilities .ghost-button{min-height:2.5rem}.admin-shell .topbar-date-pill{width:100%;min-width:0;flex:1 1 auto;gap:0;padding:.3rem .4rem}.admin-shell .topbar-date-pill span,.admin-shell .topbar-schedule-context .toolbar-summary{display:none}.admin-shell .topbar-date-pill input{width:100%;min-height:1.9rem;padding:.2rem .3rem;font-size:.82rem}.admin-shell .topbar-schedule-context{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);width:100%;flex-basis:auto;gap:.4rem;overflow:visible;padding-bottom:0}.admin-shell .topbar-schedule-context .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.25rem}.admin-shell .topbar-schedule-context .view-mode-control{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-shell .topbar-schedule-context .segmented button{min-height:2.25rem;min-width:0;padding:.4rem .3rem;font-size:.74rem;white-space:nowrap}.admin-shell .topbar-utilities .ghost-button{padding-inline:.65rem;font-size:.78rem}.session-card.dense{padding:.26rem .24rem .26rem .42rem}.dense-title{font-size:.68rem}.dense-instructor{font-size:.58rem}}@media (orientation: landscape) and (min-width: 721px) and (max-width: 1100px) and (max-height: 600px){.admin-shell .workspace-main .workspace-topbar,.admin-shell .workspace-main .workspace-topbar.mobile-topbar{display:flex;min-height:0;padding:.3rem .5rem;gap:.4rem;flex-wrap:nowrap}.admin-shell .workspace-main .topbar-navigation,.admin-shell .workspace-main .topbar-schedule-context,.admin-shell .workspace-main .topbar-utilities{order:initial;width:auto;flex-basis:auto;flex-wrap:nowrap}.admin-shell .workspace-main .topbar-schedule-context{grid-column:auto;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}.admin-shell .workspace-main .topbar-schedule-context .toolbar-summary{display:none}.admin-shell .workspace-main .topbar-schedule-context .segmented{display:flex;flex:0 0 auto;grid-template-columns:none;flex-wrap:nowrap;gap:.2rem}.admin-shell .workspace-main .topbar-schedule-context .segmented button{min-height:2rem;padding:.32rem .5rem;font-size:.7rem;white-space:nowrap}.admin-shell .workspace-main .topbar-navigation .ghost-button,.admin-shell .workspace-main .topbar-utilities .ghost-button{min-height:2rem;padding-block:.3rem}.admin-shell .workspace-main .topbar-date-pill{padding:.25rem .4rem}.admin-shell .workspace-main .topbar-date-pill span{display:none}.admin-shell .workspace-main .topbar-date-pill input{min-height:1.75rem;padding-block:.15rem}}@media (prefers-reduced-motion: reduce){.workspace-shell,.workspace-sidebar{transition:none}}.admin-shell .workspace-sidebar{padding:1.25rem 1rem}.admin-shell .sidebar-brand{display:flex;align-items:center;gap:.75rem;min-height:3rem;margin-bottom:1.75rem}.admin-shell .sidebar-brand-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border-radius:.85rem;background:linear-gradient(135deg,var(--brand-strong),var(--brand-deep));color:#fff;font-size:.82rem;font-weight:800;letter-spacing:.04em;box-shadow:var(--brand-glow)}.admin-shell .sidebar-brand-logo{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border-radius:.85rem;object-fit:contain}.admin-shell .auth-brand-logo{width:min(12rem,55%);max-height:5rem;margin-bottom:1.25rem;object-fit:contain;object-position:left center}.admin-shell .brand-color-preview{width:fit-content;margin-top:.75rem;padding:.45rem .7rem;border-radius:.55rem;color:#fff;font-size:.78rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.65)}.admin-shell .brand-logo-preview{display:block;width:min(12rem,100%);max-height:5rem;margin-top:.75rem;object-fit:contain;object-position:left center}.admin-shell .sidebar-brand-copy{display:flex;min-width:0;flex-direction:column;gap:.2rem}.admin-shell .sidebar-brand-copy strong{overflow:hidden;color:var(--text-strong);font-size:1rem;font-weight:800;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.admin-shell .sidebar-brand-copy>span:not(.role-badge){overflow:hidden;color:var(--text-faint);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.admin-shell .role-badge{display:inline-block;width:max-content;margin-top:.35rem;padding:.2rem .5rem;border-radius:999px;background:var(--brand-subtle);color:var(--brand-strong);font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.admin-shell .nav-heading{margin:1.25rem 0 .45rem .75rem;color:var(--text-faint);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-shell .sidebar-nav{display:flex;flex:1;flex-direction:column;gap:.3rem}.admin-shell .nav-item,.admin-shell .nav-sub-item{position:relative;display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.65rem .75rem;border:0;border-radius:.8rem;background:transparent;color:var(--text-muted);font-weight:650;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.admin-shell .nav-icon{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.admin-shell .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shell .nav-item:hover,.admin-shell .nav-sub-item:hover{background:var(--surface-muted);color:var(--text-strong)}.admin-shell .nav-item:focus-visible,.admin-shell .nav-sub-item:focus-visible,.admin-shell .logout-btn:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.admin-shell .nav-item.active,.admin-shell .nav-sub-item.active{background:var(--brand-subtle);color:var(--brand-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-strong) 12%,transparent)}.admin-shell .nav-item.active:before,.admin-shell .nav-sub-item.active:before{content:"";position:absolute;top:50%;left:-.75rem;width:4px;height:55%;border-radius:0 4px 4px 0;background:var(--brand-strong);transform:translateY(-50%)}.admin-shell .sidebar-footer{display:flex;flex-direction:column;gap:.9rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-soft)}.admin-shell .sidebar-user{display:flex;min-width:0;flex-direction:column}.admin-shell .sidebar-user strong,.admin-shell .sidebar-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shell .sidebar-user strong{color:var(--text-strong);font-size:.9rem}.admin-shell .sidebar-user span{color:var(--text-faint);font-size:.75rem}.admin-shell .logout-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%}.admin-shell .workspace-shell.sidebar-collapsed .workspace-sidebar{padding-inline:.75rem}.admin-shell .workspace-shell.sidebar-collapsed .sidebar-brand{justify-content:center}.admin-shell .workspace-shell.sidebar-collapsed .sidebar-brand-copy,.admin-shell .workspace-shell.sidebar-collapsed .nav-label,.admin-shell .workspace-shell.sidebar-collapsed .nav-heading,.admin-shell .workspace-shell.sidebar-collapsed .sidebar-user{display:none}.admin-shell .workspace-shell.sidebar-collapsed .nav-item,.admin-shell .workspace-shell.sidebar-collapsed .nav-sub-item,.admin-shell .workspace-shell.sidebar-collapsed .logout-btn{justify-content:center;padding-inline:.6rem}.admin-shell .workspace-shell.sidebar-collapsed .theme-switcher{display:grid;width:100%;border-radius:.8rem}.admin-shell .workspace-shell.sidebar-collapsed .theme-switcher button{padding:.45rem .2rem;font-size:.65rem}.admin-shell .workspace-shell.sidebar-collapsed [data-tooltip]:after{content:attr(data-tooltip);position:fixed;left:4.85rem;z-index:80;padding:.42rem .58rem;border:1px solid var(--border-soft);border-radius:.55rem;background:var(--surface-card-strong);color:var(--text-strong);box-shadow:var(--shadow-card-hover);font-size:.75rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(-.25rem);transition:opacity .12s ease,transform .12s ease;white-space:nowrap}.admin-shell .workspace-shell.sidebar-collapsed [data-tooltip]:hover:after,.admin-shell .workspace-shell.sidebar-collapsed [data-tooltip]:focus-visible:after{opacity:1;transform:translate(0)}.admin-shell .session-editor-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--surface-base) 38%,rgba(15,23,42,.48));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-shell .session-editor-modal{width:min(62rem,100vw - 2rem);max-height:min(92vh,58rem);display:grid;gap:1rem;padding:1.15rem;overflow:hidden;box-shadow:var(--shadow-card-hover)}.admin-shell .session-editor-header,.admin-shell .session-editor-footer{display:flex;align-items:start;justify-content:space-between;gap:.85rem;flex-wrap:wrap}.admin-shell .session-editor-header h2{font-size:clamp(1.4rem,2vw,1.95rem);line-height:1.1;letter-spacing:-.03em}.admin-shell .session-editor-form{display:grid;gap:1rem;min-height:0}.admin-shell .session-editor-scroll{display:grid;gap:.95rem;min-height:0;max-height:min(68vh,44rem);padding-right:.2rem;overflow:auto}.admin-shell .session-editor-primary-grid,.admin-shell .session-range-grid{align-items:start}.admin-shell .session-range-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell .session-range-card{display:grid;gap:.75rem;margin:0}.admin-shell .session-editor-options{border:1px solid var(--border-soft);border-radius:1rem;background:var(--surface-subtle);padding:.85rem}.admin-shell .session-editor-options summary{cursor:pointer;color:var(--text-strong);font-weight:700}.admin-shell .session-editor-options-body{margin-top:.85rem}.admin-shell .session-editor-metrics-grid{align-items:end}@media (max-width: 900px){.admin-shell .session-range-grid{grid-template-columns:1fr}}@media (max-width: 720px){.admin-shell .session-editor-backdrop{padding:.5rem}.admin-shell .session-editor-modal{width:min(100%,100vw - 1rem);max-height:calc(100vh - 1rem);padding:1rem}.admin-shell .session-editor-scroll{max-height:calc(100vh - 13rem)}.admin-shell .session-editor-header,.admin-shell .session-editor-footer{flex-direction:column;align-items:stretch}.admin-shell .session-editor-footer .inline-actions,.admin-shell .session-editor-footer .ghost-button,.admin-shell .session-editor-footer .primary-button,.admin-shell .session-editor-close{width:100%}}.recurrence-frequency-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:.25rem 0 .75rem;border-bottom:1px solid var(--border-soft)}.recurrence-frequency-tabs button{padding:.65rem .8rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-main);font-weight:700;cursor:pointer}.recurrence-frequency-tabs button.active{border-bottom-color:var(--accent-strong);color:var(--accent-strong);background:color-mix(in srgb,var(--accent-strong) 8%,transparent)}.recurrence-interval-input{display:grid;grid-template-columns:minmax(4rem,1fr) auto;align-items:center;gap:.5rem}.recurrence-weekdays{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin:.15rem 0 .8rem}.recurrence-weekdays>span{margin-right:.2rem;color:var(--text-muted);font-weight:700}.recurrence-weekday{width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-main);color:var(--text-muted);font:inherit;font-weight:700;cursor:pointer}.recurrence-weekday.active{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff}.planning-view-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0;padding-bottom:1rem;border-bottom:1px solid var(--border-soft)}.planning-view-tabs button{border:1px solid var(--border-soft);border-radius:999px;padding:.45rem .75rem;background:var(--surface-subtle);color:var(--text-muted);font:inherit;font-size:.82rem;cursor:pointer}.planning-view-tabs button.active{border-color:var(--brand-strong);background:var(--brand-subtle);color:var(--brand-deep);font-weight:700}.analytics-section{display:grid;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-soft)}.analytics-heading h3{margin:.1rem 0 0;font-size:1rem}.analytics-heading .eyebrow{margin-bottom:.15rem}.analytics-table-shell{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;font-size:.84rem}.analytics-table th,.analytics-table td{padding:.55rem;text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap}.analytics-table th{color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.analytics-table td .planning-instructor-dot{display:inline-block;margin-right:.4rem}.analytics-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.analytics-list{display:grid;gap:.45rem;margin-top:.65rem}.analytics-list>div{display:grid;gap:.15rem;padding:.6rem;border:1px solid var(--border-soft);border-radius:.65rem;background:var(--surface-subtle)}.analytics-list span,.muted-copy{color:var(--text-muted);font-size:.82rem}.demand-heatmap-shell{overflow-x:auto;margin-top:.65rem;padding-bottom:.25rem}.demand-heatmap{min-width:34rem;display:grid;grid-template-columns:3.5rem repeat(7,minmax(2.25rem,1fr));gap:.25rem;align-items:center;font-size:.72rem;text-align:center}.demand-heatmap>strong{color:var(--text-muted);font-variant-numeric:tabular-nums}.heat-cell{min-height:2rem;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);border-radius:.38rem;color:#0f172a;font-weight:800;font-variant-numeric:tabular-nums;transition:transform .15s ease,box-shadow .15s ease}.heat-cell:hover{position:relative;z-index:1;transform:scale(1.08);box-shadow:0 3px 10px #0f172a2e}.heat-level-0{background:color-mix(in srgb,var(--surface-subtle) 75%,var(--border-soft));color:var(--text-faint)}.heat-level-1{background:#dbeafe}.heat-level-2{background:#7dd3fc}.heat-level-3{background:#fde047}.heat-level-4{background:#fb923c}.heat-level-5{background:#dc2626;color:#fff}.heatmap-legend{display:flex;justify-content:flex-end;align-items:center;gap:.28rem;margin-top:.55rem;color:var(--text-muted);font-size:.72rem;font-weight:700}.heatmap-legend i{width:1.35rem;height:.55rem;display:block;border-radius:.15rem}@media (max-width: 760px){.analytics-split{grid-template-columns:1fr}}.planning-program-filter{grid-column:1/-1}.planning-program-filter select[multiple]{min-height:7rem}.class-count-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1rem 0}.class-count-card{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--border-soft);border-radius:.9rem;background:var(--surface-card)}.class-count-card span,.class-count-card small{color:var(--text-muted)}.class-count-card strong{font-size:1.8rem}.class-count-card.excluded{background:var(--surface-warning-soft)}.class-count-breakdowns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}@media (max-width: 900px){.class-count-summary,.class-count-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.class-count-summary,.class-count-breakdowns{grid-template-columns:1fr}}
