:root{--ink:#202631;--ink-soft:#384252;--muted:#667080;--muted-strong:#4f5969;--paper:#f2f7fc;--surface:#fff;--surface-warm:#fafcff;--surface-subtle:#f6f9fc;--surface-muted:#edf2f7;--line:#dde6f0;--line-strong:#cbd8e5;--brand:#3f63a8;--brand-dark:#2e4b84;--brand-soft:#eaf2ff;--brand-tint:#f4f8ff;--focus-ring:#2e4b84;--page-glow:#fbfdff;--theme-accent:#d99b28;--theme-accent-soft:#fff3d4;--activity:#486b66;--activity-soft:#f5f7f6;--activity-line:#dce4e2;--rest:#626c78;--rest-soft:#f3f5f7;--rest-line:#d9dfe5;--break:#6b5a40;--break-soft:#f8f7f4;--break-line:#e5ded3;--dismissal:#596373;--dismissal-soft:#f3f4f5;--dismissal-line:#d8dce1;--school-bg:#fbfdff;--school-hover:#f4f8fc;--course-edge-base:#6f7782;--club:#56746f;--club-soft:#f3f6f5;--club-line:#d8e1df;--extracurricular:#4e5caa;--extracurricular-soft:#f4f5fa;--extracurricular-line:#daddee;--danger:#b33a46;--danger-soft:#fff0f1;--shadow-sm:0 1px 2px #2026310d;--shadow-md:0 18px 54px #20263117;--radius-sm:10px;--radius-md:16px;--radius-lg:24px}.app-shell[data-theme=sky]{--paper:#f2f7fc;--surface-warm:#fafcff;--surface-subtle:#f6f9fc;--surface-muted:#edf2f7;--line:#dde6f0;--line-strong:#cbd8e5;--brand:#3f63a8;--brand-dark:#2e4b84;--brand-soft:#eaf2ff;--brand-tint:#f4f8ff;--focus-ring:#2e4b84;--page-glow:#fbfdff;--theme-accent:#d99b28;--theme-accent-soft:#fff3d4;--school-bg:#fbfdff;--school-hover:#f4f8fc}.app-shell[data-theme=forest]{--paper:#f2f7f3;--surface-warm:#fbfdfb;--surface-subtle:#f5f9f6;--surface-muted:#eaf2ed;--line:#dce7df;--line-strong:#c9d9ce;--brand:#34705e;--brand-dark:#275848;--brand-soft:#e7f3ed;--brand-tint:#f2f9f5;--focus-ring:#275848;--page-glow:#fcfefc;--theme-accent:#c9792d;--theme-accent-soft:#fbeedb;--school-bg:#fbfdfb;--school-hover:#f4f8f5}.app-shell[data-theme=cosmos]{--paper:#f6f3fa;--surface-warm:#fcfafe;--surface-subtle:#f8f6fb;--surface-muted:#efebf5;--line:#e5dff0;--line-strong:#d4cae3;--brand:#6652a4;--brand-dark:#4e3e81;--brand-soft:#efeafa;--brand-tint:#f8f5fc;--focus-ring:#4e3e81;--page-glow:#fefcff;--theme-accent:#35798c;--theme-accent-soft:#e5f3f6;--school-bg:#fdfbff;--school-hover:#f8f5fb}.app-shell[data-theme=citrus]{--paper:#f8f3ed;--surface-warm:#fffcf8;--surface-subtle:#fbf7f2;--surface-muted:#f2ebe3;--line:#eadfd3;--line-strong:#dacaba;--brand:#99512e;--brand-dark:#773f20;--brand-soft:#f9e9dc;--brand-tint:#fff6ef;--focus-ring:#773f20;--page-glow:#fffdf9;--theme-accent:#397493;--theme-accent-soft:#e7f2f7;--school-bg:#fffdfa;--school-hover:#fbf7f2}*{box-sizing:border-box}html{background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:320px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:15px}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.table-scroll:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:radial-gradient(circle at 7% -8%, color-mix(in srgb, var(--theme-accent) 15%, transparent), transparent 23rem), linear-gradient(180deg, var(--page-glow) 0, var(--paper) 34rem);min-height:100vh;padding:26px clamp(18px,3vw,52px) 52px}.topbar{justify-content:space-between;align-items:center;gap:28px;max-width:1680px;margin:0 auto 22px;display:flex}.brand-lockup{align-items:flex-start;gap:15px;min-width:300px;display:flex}.brand-mark{background:linear-gradient(145deg, var(--brand), var(--brand-dark));box-shadow:0 9px 22px color-mix(in srgb, var(--brand-dark) 24%, transparent);color:#fff;border:1px solid #fff6;border-radius:15px 15px 15px 5px;flex:0 0 48px;justify-content:center;align-items:center;height:48px;font-family:STKaiti,KaiTi,serif;font-size:25px;font-weight:700;display:flex;transform:rotate(-2deg)}.eyebrow{color:var(--brand);letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800}.brand-lockup h1{letter-spacing:-.025em;margin-bottom:8px;font-size:clamp(20px,2vw,29px);line-height:1.2}.meta-line{color:var(--muted-strong);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.meta-line span{background:#ffffffb8;border:1px solid #dad9d3eb;border-radius:999px;padding:3px 9px}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.save-state{color:var(--muted-strong);white-space:nowrap;align-items:center;gap:7px;min-height:42px;margin-right:5px;font-size:12px;display:flex}.save-dot{background:var(--activity);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3f70691f}.save-saving{background:#d68b2c;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 0 4px #d68b2c1a}.save-error{background:var(--danger);box-shadow:0 0 0 4px #b33a461a}@keyframes pulse{50%{opacity:.38}}.button{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:9px 14px;font-size:13px;font-weight:720;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(145deg, var(--brand), var(--brand-dark));box-shadow:0 8px 20px color-mix(in srgb, var(--brand-dark) 22%, transparent);color:#fff}.button-primary:hover{background:linear-gradient(145deg, color-mix(in srgb, var(--brand) 88%, #000), color-mix(in srgb, var(--brand-dark) 90%, #000));box-shadow:0 10px 24px color-mix(in srgb, var(--brand-dark) 27%, transparent)}.button-ghost{border-color:var(--line);box-shadow:var(--shadow-sm);background:#ffffffbf}.button-ghost:hover{background:#fff;border-color:#c9cbc8}.button-soft{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 24%, var(--line));color:var(--brand-dark)}.button-danger-soft{background:var(--danger-soft);color:#8f2f39;border-color:#efc9cd}.button-full{width:100%}.text-button{color:var(--brand);background:0 0;border:0;padding:6px;font-size:12px;font-weight:750}.conflict-banner{background:var(--danger-soft);border-radius:var(--radius-md);border:1px solid #f0c8cc;align-items:center;gap:12px;max-width:1680px;margin:0 auto 16px;padding:12px 15px;display:flex}.conflict-icon{background:var(--danger);color:#fff;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;height:28px;font-weight:900;display:flex}.conflict-banner div{flex:1}.conflict-banner strong{color:#8f2934;font-size:13px}.conflict-banner p{color:#7e4047;margin:2px 0 0;font-size:12px}.conflict-banner button{color:#922d38;background:#fff;border:1px solid #e5adb3;border-radius:9px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:750}.workspace{grid-template-columns:264px minmax(0,1fr);align-items:start;gap:18px;max-width:1680px;margin:0 auto;display:grid}.is-preview .workspace{grid-template-columns:minmax(0,1fr);max-width:1480px}.course-rail,.schedule-panel{background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid color-mix(in srgb, var(--line) 94%, transparent);box-shadow:var(--shadow-md)}.course-rail{border-radius:var(--radius-lg);padding:20px 16px 16px;position:sticky;top:16px}.rail-heading,.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.rail-heading h2{margin:0;font-size:16px}.count-badge{background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;flex:0 0 30px;justify-content:center;align-items:center;height:30px;font-size:11px;font-weight:800;display:flex}.course-list{scrollbar-color:#d4d5d2 transparent;scrollbar-width:thin;flex-direction:column;gap:6px;max-height:min(54vh,560px);margin:17px 0 13px;padding:2px 3px 2px 1px;display:flex;overflow-y:auto}.course-chip{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:minmax(0,1fr);align-items:center;width:100%;min-height:54px;padding:8px 12px;transition:background .15s,border-color .15s,transform .15s;display:grid}.course-chip:hover{background:var(--surface-subtle)}.course-chip.is-selected{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 32%, var(--line))}.course-color{display:none}.course-chip>span{min-width:0}.course-chip strong,.course-chip small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.course-chip strong{font-size:13px;line-height:1.35}.course-chip small{color:var(--muted-strong);margin-top:2px;font-size:11px}.selected-check{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;display:flex}.rail-button{width:100%}.course-rail>.text-button{margin:4px auto 0;display:block}.rail-note{background:var(--surface-warm);border:1px dashed var(--line-strong);border-radius:12px;align-items:flex-start;gap:9px;margin-top:16px;padding:11px;display:flex}.note-orbit{border:2px solid var(--brand);border-radius:50%;flex:0 0 13px;height:13px;margin-top:2px;position:relative}.note-orbit:after{background:var(--brand);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:-3px;right:-4px}.rail-note p{color:var(--muted-strong);margin:0;font-size:11px;line-height:1.55}.rail-note strong{color:var(--ink-soft);display:block}.schedule-panel{border-radius:var(--radius-lg);min-width:0;overflow:hidden}.print-title{display:none}.schedule-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;padding:20px 22px 17px;display:flex}.schedule-toolbar h2{letter-spacing:-.02em;margin-bottom:3px;font-size:23px}.schedule-subtitle{color:var(--muted);margin:0;font-size:12px}.toolbar-controls{align-items:flex-end;gap:10px;display:flex}.compact-course-select{flex-direction:column;gap:4px;display:none}.compact-course-manage{display:none}.compact-course-select span{color:var(--muted-strong);font-size:10px;font-weight:750}.compact-course-select select{border:1px solid var(--line-strong);background:#fff;border-radius:9px;min-height:38px;padding:5px 30px 5px 9px}.segmented{background:var(--surface-muted);border:1px solid var(--line);border-radius:11px;padding:3px;display:flex}.segmented button{color:var(--muted-strong);background:0 0;border:0;border-radius:8px;min-height:34px;padding:6px 11px;font-size:12px;font-weight:720}.segmented button.is-active{color:var(--brand-dark);background:#fff;box-shadow:0 1px 4px #1e263a1a}.display-toolbar{background:var(--surface-subtle);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 22px;display:flex}.display-control-group{flex-direction:column;gap:4px;display:flex}.display-control-group>span{color:var(--muted-strong);font-size:10px;font-weight:760}.theme-control-group{flex:390px}.theme-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;display:grid}.theme-option{--theme-choice:var(--brand);--theme-choice-dark:var(--brand-dark);--theme-choice-soft:var(--brand-soft);background:radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--theme-choice) 13%, transparent) 0 10px, transparent 11px), var(--surface);border:1px solid var(--line);color:var(--ink-soft);border-radius:13px;grid-template-rows:30px auto;place-items:center;gap:3px;min-width:0;min-height:59px;padding:6px 7px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.theme-option:hover{background:radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--theme-choice) 18%, transparent) 0 10px, transparent 11px), color-mix(in srgb, var(--theme-choice-soft) 72%, var(--surface));border-color:color-mix(in srgb, var(--theme-choice) 38%, var(--line));transform:translateY(-1px)}.theme-option.is-active,.theme-option[aria-pressed=true]{background:radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--theme-choice) 22%, transparent) 0 10px, transparent 11px), var(--theme-choice-soft);border-color:var(--theme-choice);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--theme-choice) 28%, transparent);color:var(--theme-choice-dark)}.theme-option.is-active:after,.theme-option[aria-pressed=true]:after{background:var(--theme-choice);border:2px solid var(--surface);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:5px;right:5px}.theme-icon{background:var(--theme-choice-soft);color:var(--theme-choice-dark);border-radius:10px 10px 10px 4px;justify-content:center;align-items:center;width:31px;height:29px;font-size:17px;line-height:1;display:flex;transform:rotate(-2deg)}.theme-option:nth-child(2n) .theme-icon{border-radius:10px 10px 4px;transform:rotate(2deg)}.theme-name{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:10px;font-weight:780;line-height:1.2;overflow:hidden}.theme-option[data-theme-value=sky]{--theme-choice:#3f63a8;--theme-choice-dark:#2e4b84;--theme-choice-soft:#eaf2ff}.theme-option[data-theme-value=forest]{--theme-choice:#34705e;--theme-choice-dark:#275848;--theme-choice-soft:#e7f3ed}.theme-option[data-theme-value=cosmos]{--theme-choice:#6652a4;--theme-choice-dark:#4e3e81;--theme-choice-soft:#efeafa}.theme-option[data-theme-value=citrus]{--theme-choice:#99512e;--theme-choice-dark:#773f20;--theme-choice-soft:#f9e9dc}.display-toolbar .segmented button{min-height:32px;padding:5px 10px}.display-menu{position:relative}.display-menu summary{border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;align-items:center;min-height:38px;padding:7px 12px;font-size:12px;font-weight:720;display:inline-flex}.display-menu summary::-webkit-details-marker{display:none}.display-menu summary:after{color:var(--muted);content:"⌄";margin-left:8px;font-size:13px}.display-menu[open] summary{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 11%, transparent)}.display-menu-panel{border:1px solid var(--line);z-index:20;background:#fff;border-radius:14px;gap:3px;min-width:230px;padding:12px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 42px #20263129}.display-menu-panel p{color:var(--muted);margin:0 3px 6px;font-size:11px;line-height:1.45}.display-menu-panel label{cursor:pointer;border-radius:9px;align-items:center;gap:9px;min-height:35px;padding:6px 7px;font-size:12px;font-weight:680;display:flex}.display-menu-panel label:hover{background:var(--brand-tint)}.display-menu-panel input{accent-color:var(--brand);width:17px;height:17px}.print-button{min-height:38px;margin-left:auto}.empty-display-state{color:var(--muted-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:360px;padding:32px;display:flex}.empty-display-state>span{color:var(--brand);font-size:24px}.empty-display-state strong{color:var(--ink-soft);font-size:17px}.empty-display-state p{margin:0 0 6px;font-size:12px}.table-scroll{scrollbar-color:#ced0ce transparent;scrollbar-width:thin;max-width:100%;overflow:auto}.week-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:930px}.week-grid{--week-grid-row-height:54px;grid-auto-rows:var(--week-grid-row-height);grid-template-rows:54px;width:100%;min-width:930px;display:grid;position:relative}.week-grid-box{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;justify-content:center;align-items:center;min-width:0;padding:6px 8px;display:flex;overflow:hidden}.week-grid-header{background:var(--surface-subtle);color:var(--ink-soft);letter-spacing:.02em;z-index:12;flex-direction:column;font-size:11px;font-weight:750;position:sticky;top:0}.week-grid-header>span{color:var(--brand-dark);font-size:14px;font-weight:800}.week-grid-header>small{color:var(--muted);margin-top:2px;font-size:9px}.week-grid-header.is-weekend{background:color-mix(in srgb, var(--theme-accent-soft) 52%, var(--surface-subtle))}.week-grid-time,.week-grid-label{background:var(--surface-warm);color:var(--muted-strong);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;line-height:1.35}.week-grid-label{color:var(--ink-soft);font-size:11px}.week-grid-time.is-dynamic,.week-grid-label.is-dynamic,.week-grid-day-base.is-dynamic{background:color-mix(in srgb, var(--surface-warm) 82%, var(--surface))}.week-grid-day-base{background:var(--surface)}.week-grid-day-base.is-weekend{background:var(--surface-warm)}.week-grid-day-base.is-today{background:color-mix(in srgb, var(--brand) 3%, var(--surface))}.week-grid-course-cell,.week-grid-shared,.week-grid-event{z-index:3;min-width:0;overflow:hidden}.week-grid-content-slot,.week-grid-placement{z-index:3;min-width:0;display:flex}.week-grid-placement{min-height:0;margin-block-start:calc(var(--week-grid-row-height) * var(--placement-start-offset,0));margin-block-end:calc(var(--week-grid-row-height) * var(--placement-end-offset,0));overflow:hidden}.week-grid-content-slot>.week-grid-course-cell,.week-grid-placement>.week-grid-event{flex:1}.week-grid-course-cell{align-self:stretch;display:flex}.week-grid-course-button,.week-grid-course-preview{background:color-mix(in srgb, var(--course-color) 12%, var(--school-bg));border:0;border-left:3px solid var(--course-color);color:var(--ink);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;min-height:100%;padding:6px 7px;display:flex}.week-grid-course-button{cursor:pointer}.week-grid-course-button:hover{background:color-mix(in srgb, var(--course-color) 17%, var(--school-bg))}.week-grid-course-button strong,.week-grid-course-preview strong,.week-grid-event strong{max-width:100%;font-size:12px;line-height:1.3}.week-grid-course-button small,.week-grid-course-preview small,.week-grid-event small{color:var(--muted-strong);max-width:100%;margin-top:3px;font-size:9px;line-height:1.3}.week-grid-empty-action{cursor:pointer;background:0 0;border:0;width:100%;height:100%}:is(.week-grid-empty-action:hover,.week-grid-empty-action:focus-visible){background:color-mix(in srgb, var(--brand) 4%, transparent)}.week-grid-shared{background:var(--surface-subtle);border-bottom:1px solid var(--line);border-left:3px solid var(--course-edge-base);border-right:1px solid var(--line);color:var(--ink-soft);text-align:center;justify-content:center;align-items:center;padding:6px;font-size:11px;font-weight:750;display:flex}.week-grid-shared small{color:currentColor;margin-left:6px;font-size:9px;display:block}.week-grid-shared.kind-activity{background:var(--activity-soft);border-left-color:var(--activity);color:var(--activity)}.week-grid-shared.kind-break{background:var(--break-soft);border-left-color:var(--break);color:var(--break)}.week-grid-box:is([data-row-category=recess],[data-row-category=sunshine],[data-row-category=eye],[data-row-category=lunch]){background:var(--rest-soft);color:var(--rest)}.week-grid-shared:is([data-row-category=recess],[data-row-category=sunshine],[data-row-category=eye],[data-row-category=lunch]){background:var(--rest-soft);border-left-color:var(--rest);color:var(--rest)}.week-grid-event{background:var(--extracurricular-soft);border:1px solid var(--extracurricular-line);border-left:3px solid var(--extracurricular);color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;min-height:0;margin:0 3px;padding:6px 7px;display:flex;overflow:hidden}.week-grid-placement[data-placement-compact=true] .week-grid-event{white-space:nowrap;flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;margin:0 3px;padding:0 5px}.week-grid-placement[data-placement-compact=true] .week-grid-event strong{text-overflow:ellipsis;font-size:10px;line-height:1.1;overflow:hidden}.week-grid-placement[data-placement-compact=true] .week-grid-event small{flex:none;margin:0;font-size:8px;line-height:1}.week-grid-placement[data-placement-compact=true] .week-grid-event small~small,.week-grid-placement[data-placement-compact=true] .course-note-preview{display:none}.week-grid-event.purpose-club{background:var(--club-soft);border-color:var(--club-line);border-left-color:var(--club)}button.week-grid-event{cursor:pointer;font:inherit}.week-grid-event.week-grid-empty-event{background:0 0;border-color:#0000}:is(.week-grid-event.week-grid-empty-event:hover,.week-grid-event.week-grid-empty-event:focus-visible){background:color-mix(in srgb, var(--brand) 4%, transparent);border-color:var(--line)}.week-grid-dismissal{z-index:8;align-self:start;align-items:center;margin-block-start:calc(var(--week-grid-row-height) * var(--placement-start-offset,0));margin-inline:4px;display:flex;transform:translateY(-50%)}.week-grid-dismissal:before{background:var(--dismissal);content:"";border-radius:50%;flex:0 0 7px;height:7px}.week-grid-dismissal:after{border-top:1px solid var(--dismissal);content:"";flex:1;order:1}.week-grid-dismissal>span,.week-grid-dismissal>button{background:var(--surface);color:var(--dismissal);white-space:nowrap;border:0;order:2;padding:2px 0 2px 4px;font-size:9px;font-weight:750}.week-grid-dismissal>button{cursor:pointer}.week-grid-course-cell.has-conflict,.week-grid-shared.has-conflict,.week-grid-event.has-conflict{box-shadow:inset 0 2px 0 var(--danger), inset 0 -2px 0 var(--danger)}.is-compact .week-grid{--week-grid-row-height:44px;background:var(--surface);border-left:1px solid var(--line);grid-template-rows:44px}.is-compact .week-grid-header{background:var(--brand-tint)}.is-compact .week-grid-header.is-weekend{background:color-mix(in srgb, var(--theme-accent-soft) 65%, var(--surface))}.is-compact .week-grid>.week-grid-header:first-child{border-top-left-radius:10px}.is-compact .week-grid-course-button,.is-compact .week-grid-course-preview,.is-compact .week-grid-event{padding:4px 5px}.is-compact .week-grid-course-button strong,.is-compact .week-grid-course-preview strong,.is-compact .week-grid-event strong{font-size:11px}.is-compact .week-grid-course-button small,.is-compact .week-grid-course-preview small,.is-compact .week-grid-event small{font-size:8px}.week-table caption{width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.week-table th,.week-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0}.week-table tr:last-child th,.week-table tr:last-child td{border-bottom:0}.week-table th:last-child,.week-table td:last-child{border-right:0}.week-table thead th{background:var(--surface-subtle);color:var(--muted-strong);text-align:left;z-index:4;height:60px;padding:10px 8px;font-size:12px;position:sticky;top:0}.week-table thead th>span,.week-table thead th>small{display:block}.week-table thead th>span{color:var(--brand);text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:850}.week-table thead th>small{color:var(--ink-soft);font-size:13px;font-weight:750}.week-table thead th.is-today{background:var(--brand-soft)}.time-column,.time-cell{width:84px;left:0}.label-column,.row-label{width:102px;left:84px}.week-table thead .time-column,.week-table thead .label-column{z-index:7}.week-table tbody .time-cell,.week-table tbody .row-label{z-index:3;position:sticky}.time-cell{background:var(--surface-subtle);color:var(--muted-strong);font-variant-numeric:tabular-nums;text-align:center;font-size:10px;padding:10px 7px!important}.time-cell span{display:block}.time-cell i{background:#c9cbc8;width:1px;height:7px;margin:3px auto;display:block}.row-label{background:var(--surface-warm);padding:10px 9px!important}.row-label span,.row-label strong{display:block}.row-label span{color:var(--brand);letter-spacing:.06em;margin-bottom:4px;font-size:9px;font-weight:800}.row-label strong{color:var(--ink-soft);font-size:11px;line-height:1.35}.week-table tbody td.is-today{background:color-mix(in srgb, var(--brand) 3%, var(--surface))}.course-cell{min-height:74px;position:relative}.cell-main{text-align:left;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:100%;min-height:74px;padding:10px 12px;transition:background .15s;display:flex}.cell-main:hover{background:color-mix(in srgb, var(--brand) 4%, transparent)}.has-course .cell-main{background:color-mix(in srgb, var(--course-color) 12%, var(--school-bg));border-left:3px solid var(--course-color);padding-left:10px}.has-course .cell-main:hover{background:color-mix(in srgb, var(--course-color) 17%, var(--school-bg))}.cell-main strong,.cell-main small{max-width:100%;display:block}.course-note-preview{color:var(--muted);margin-top:4px;font-size:9px;font-style:normal;line-height:1.35;display:block}.cell-main strong{color:var(--ink);font-size:13px;line-height:1.35}.cell-main small{color:var(--muted-strong);margin-top:4px;font-size:10px;line-height:1.4}.empty-label{color:#626c7a;opacity:.78;font-size:11px;font-weight:650;transition:opacity .15s}:is(.course-cell:hover .empty-label,.cell-main:focus-visible .empty-label){opacity:1}.cell-clear{color:#626c80;opacity:0;background:#ffffffe6;border:1px solid #565e7033;border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;padding:0;font-size:14px;transition:opacity .15s,color .15s;display:flex;position:absolute;top:6px;right:6px}.course-cell:hover .cell-clear{opacity:1}.cell-clear:focus-visible{opacity:1}.cell-clear:hover{color:var(--danger)}.shared-cell{background:var(--surface-subtle);color:var(--ink-soft);letter-spacing:.02em;text-align:center;height:44px;font-size:12px}.row-activity .shared-cell{background:var(--activity-soft);color:var(--activity)}.row-break .shared-cell{background:var(--break-soft);color:var(--break)}tr:is([data-row-category=recess],[data-row-category=sunshine],[data-row-category=eye],[data-row-category=lunch]) .shared-cell,.shared-cell:is([data-row-category=recess],[data-row-category=sunshine],[data-row-category=eye],[data-row-category=lunch]){background:var(--rest-soft);color:var(--rest)}.row-dismissal .shared-cell{background:var(--dismissal-soft);color:var(--dismissal)}.purpose-club .has-course .cell-main{background:var(--club-soft);border-left-color:var(--club)}.purpose-extracurricular .has-course .cell-main{background:var(--extracurricular-soft);border-left-color:var(--extracurricular)}.shared-slot{font-size:10px;line-height:1.3;padding:8px 5px!important}.unavailable-cell{color:#c2c7d1;text-align:center;font-size:15px;background:var(--surface-muted)!important}.shared-symbol{margin-right:7px}.has-conflict .time-cell,.has-conflict .row-label,.has-conflict td{box-shadow:inset 0 2px 0 var(--danger), inset 0 -2px 0 var(--danger)}.is-compact .week-table thead th{height:48px;padding-block:7px}.is-compact .course-cell{min-height:54px}.is-compact .cell-main{gap:3px;padding:8px 9px}.is-compact .cell-main strong{font-size:12px}.is-compact .cell-main small{font-size:9px}.is-compact .time-cell,.is-compact .row-label{padding-block:6px!important}.is-compact .row-label span{display:none}.is-compact .row-label strong{font-size:10px}.is-compact .shared-cell{height:34px;padding-block:6px}.is-compact .shared-slot{height:54px}.day-view{flex-direction:column;min-height:520px;padding:17px 20px 28px;display:flex}.day-tabs{background:var(--surface-muted);border:1px solid var(--line);border-radius:14px;align-items:center;gap:4px;margin-bottom:20px;padding:4px;display:flex}.day-tabs button{color:var(--muted-strong);background:0 0;border:0;border-radius:10px;flex:1 0 58px;min-width:58px;min-height:48px;padding:5px}.day-tabs button.is-active{color:var(--brand);background:#fff;box-shadow:0 2px 8px #21294317}.day-tabs span,.day-tabs small{display:block}.day-tabs span{letter-spacing:.08em;font-size:10px;font-weight:850}.day-tabs small{margin-top:2px;font-size:12px;font-weight:720}.day-view-actions{background:var(--brand-tint);border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:-3px 0 15px;padding:9px 10px 9px 13px;display:flex}.day-view-actions span{color:var(--muted-strong);font-size:11px;line-height:1.45}.timeline{margin:0;padding:0;list-style:none}.timeline-item{grid-template-columns:58px 14px minmax(0,1fr);gap:12px;min-height:76px;padding-bottom:10px;display:grid;position:relative}.is-compact .timeline-item{min-height:62px;padding-bottom:7px}.is-compact .timeline-main{gap:2px;padding:8px 10px}.is-compact .timeline-main>small{display:none}.is-compact .timeline-card,.is-compact .timeline-card.shared{min-height:54px}.timeline-item:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:19px;bottom:-2px;left:76px}.timeline-item:last-child:before{display:none}.timeline-time{text-align:right;padding-top:9px}.timeline-time strong,.timeline-time span{font-variant-numeric:tabular-nums;display:block}.timeline-time strong{font-size:12px}.timeline-time span{color:var(--muted);margin-top:2px;font-size:10px}.timeline-dot{background:var(--brand);border:4px solid var(--brand-soft);z-index:1;border-radius:50%;width:14px;height:14px;margin-top:12px;position:relative}.kind-break .timeline-dot{background:var(--break);border-color:var(--break-soft)}.kind-activity .timeline-dot{background:var(--activity);border-color:var(--activity-soft)}.kind-dismissal .timeline-dot{background:var(--dismissal);border-color:var(--dismissal-soft)}.timeline-card{background:var(--surface-subtle);border:1px dashed var(--line-strong);border-radius:14px;min-height:66px;display:flex;overflow:hidden}.timeline-card.has-course{background:color-mix(in srgb, var(--course-color) 12%, var(--school-bg));border-color:var(--line);box-shadow:inset 3px 0 0 var(--course-color);border-style:solid}.timeline-main{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;min-width:0;padding:10px 14px;display:flex}.timeline-main small,.timeline-card.shared small{color:var(--muted-strong);letter-spacing:.04em;font-size:10px;font-weight:750}.timeline-main strong,.timeline-card.shared strong{margin-top:3px;font-size:14px}.timeline-main span{color:var(--muted-strong);margin-top:3px;font-size:11px}.timeline-clear{color:var(--danger);background:0 0;border:0;border-left:1px solid #505a6e1a;padding:0 13px;font-size:11px;font-weight:700}.timeline-card.shared{background:var(--activity-soft);border:1px solid var(--activity-line);flex-direction:column;justify-content:center;padding:10px 14px;display:flex}.kind-break .timeline-card.shared{background:var(--break-soft);border-color:var(--break-line);color:var(--break)}.kind-dismissal .timeline-card.shared{background:var(--dismissal-soft);border-color:var(--dismissal-line);color:var(--dismissal)}.timeline-item:is([data-row-category=recess],[data-row-category=sunshine],[data-row-category=eye],[data-row-category=lunch]) .timeline-dot{background:var(--rest);border-color:var(--rest-soft)}.timeline-item:is([data-row-category=recess],[data-row-category=sunshine],[data-row-category=eye],[data-row-category=lunch]) .timeline-card.shared{background:var(--rest-soft);border-color:var(--rest-line);color:var(--rest)}.empty-day-card{background:linear-gradient(145deg, var(--surface), var(--brand-tint));border:1px dashed var(--line-strong);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:7px;padding:32px 18px;list-style:none;display:flex}.empty-day-card>span{color:var(--brand);font-size:24px}.empty-day-card strong{font-size:15px}.empty-day-card p{color:var(--muted);margin:0 0 5px;font-size:12px}.timeline-item.has-conflict .timeline-card{border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.mobile-add{display:none}.toast{color:#fff;z-index:80;background:#252b36;border:1px solid #ffffff1a;border-radius:13px;align-items:center;gap:12px;max-width:min(92vw,620px);min-height:46px;padding:10px 12px 10px 16px;font-size:12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 38px #12182640}.toast>span{flex:1}.toast button{color:#bfc7ff;background:0 0;border:0;min-height:28px;padding:3px 6px;font-size:12px;font-weight:750}.toast .toast-close{color:#fff;opacity:.7;font-size:18px}.drawer-backdrop{z-index:100;background:#141b2b66;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.backdrop-dismiss{background:0 0;border:0;padding:0;position:absolute;inset:0}.drawer{background:var(--paper);z-index:1;flex-direction:column;width:620px;max-width:100%;animation:.18s ease-out slide-in;display:flex;position:relative;box-shadow:-22px 0 70px #141b2b2e}.drawer--slot-editor{width:460px}.drawer:focus{outline:none}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}.drawer-header{border-bottom:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:flex-start;padding:22px 24px 18px;display:flex}.drawer-header h2{margin:0;font-size:22px}.icon-button{background:var(--surface-muted);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;line-height:1;display:flex}.drawer-body{flex:1;padding:18px;overflow-y:auto}.slot-editor-body{flex-direction:column;display:flex}.slot-context{background:var(--brand-tint);border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));border-radius:var(--radius-md);margin-bottom:14px;padding:20px}.slot-context h3{margin:0 0 6px;font-size:22px}.slot-context-time{color:var(--brand-dark);margin-bottom:12px;font-size:17px;display:block}.slot-context>p:last-child{color:var(--muted-strong);margin:0;font-size:12px}.slot-course-section{flex:1}.slot-change-preview{background:var(--surface-warm);border-left:3px solid var(--brand);color:var(--muted-strong);margin:12px 0 0;padding:9px 10px;font-size:11px;line-height:1.5}.slot-empty-courses{color:var(--muted-strong);margin-top:14px;font-size:12px}.slot-empty-courses p{margin-bottom:9px}.slot-editor-actions{background:color-mix(in srgb, var(--paper) 92%, transparent);padding:12px 18px calc(12px + env(safe-area-inset-bottom));z-index:2;grid-template-columns:minmax(120px,auto) minmax(150px,1fr);gap:8px;margin:auto -18px -18px;display:grid;position:sticky;bottom:-18px}.drawer-section,.data-hero{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:14px;padding:17px}.drawer-section h3,.data-hero h3{margin-bottom:13px;font-size:15px}.section-title-row h3{margin:0}.section-title-row p,.section-copy{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.manage-list{flex-direction:column;gap:5px;max-height:290px;margin-top:10px;display:flex;overflow-y:auto}.manage-course{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:7px 2px;display:grid}.manage-swatch{display:none}.manage-course>button:first-of-type{text-align:left;background:0 0;border:0;min-width:0}.manage-course strong,.manage-course small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.manage-course strong{font-size:13px}.manage-course small{color:var(--muted);margin-top:3px;font-size:10px}.danger-link,.row-delete{color:var(--danger);background:0 0;border:0;padding:7px;font-size:11px}.form-section{background:var(--surface-warm)}.form-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.field,.row-editor-fields label{flex-direction:column;gap:5px;display:flex}.field-wide{grid-column:1/-1}.field>span,.row-editor-fields label>span,.color-field legend{color:var(--ink-soft);font-size:11px;font-style:normal;font-weight:720}.field>span i{color:var(--danger);font-style:normal}.field input,.field select,.field textarea,.row-editor-fields input,.row-editor-fields select{border:1px solid var(--line-strong);background:#fff;border-radius:10px;width:100%;min-height:42px;padding:8px 10px}.field textarea{resize:vertical;min-height:76px}.field input::placeholder,.field textarea::placeholder{color:#687180}.field-error{color:#a62b37;font-size:11px;font-weight:700}.color-field{border:0;margin:0;padding:0}.color-field legend{margin-bottom:7px}.color-options{flex-wrap:wrap;gap:8px;display:flex}.color-options label{cursor:pointer}.color-options input{opacity:0;width:1px;height:1px;position:absolute}.color-options span{color:#17202d;text-shadow:0 1px #ffffff6b;border:1px solid #1720331f;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:900;transition:box-shadow .12s,transform .12s;display:flex}.color-options input:checked+span{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--brand);transform:scale(.93)}.color-options input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:3px}.row-editor-list{flex-direction:column;gap:8px;margin-top:13px;display:flex}.row-editor{background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;grid-template-columns:26px minmax(0,1fr) 28px;align-items:stretch;gap:8px;padding:10px 7px;display:grid}.row-editor.has-conflict{background:var(--danger-soft);border-color:#dfa3aa}.row-editor-order{flex-direction:column;gap:4px;display:flex}.row-editor-order>span{background:var(--brand-tint);border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));color:var(--brand-dark);border-radius:8px;justify-content:center;align-self:center;align-items:center;width:26px;height:28px;margin-top:17px;font-size:10px;font-weight:800;display:flex}.row-editor-order button{border:1px solid var(--line);background:#fff;border-radius:6px;height:25px;padding:0;font-size:11px}.row-editor-fields{grid-template-columns:minmax(110px,1.6fr) .8fr .8fr 1fr;gap:7px;display:grid}.weekday-settings{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.weekday-settings>span,.row-days-picker legend{color:var(--ink-soft);font-size:11px;font-weight:720}.weekday-settings>small{color:var(--muted);font-size:10px}.weekday-toggle-group,.row-days-picker>div,.row-add-actions{flex-wrap:wrap;gap:6px;display:flex}.weekday-toggle-group button,.row-days-picker button{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted-strong);border-radius:8px;min-height:33px;padding:5px 9px;font-size:10px;font-weight:720}.weekday-toggle-group button.is-active,.row-days-picker button.is-active{background:var(--brand-soft);color:var(--brand-dark);border-color:#c7ceed}.row-add-actions{justify-content:flex-end}.row-editor-fields input,.row-editor-fields select{border-radius:7px;min-height:34px;padding:5px 6px;font-size:11px}.drawer-section>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:34px;list-style:none;display:flex}.drawer-section>summary::-webkit-details-marker{display:none}.drawer-section>summary:after{color:var(--brand-dark);content:"＋";font-size:16px;font-weight:700}.drawer-section[open]>summary:after{content:"−"}.schedule-live-preview .timeline{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;max-height:250px;padding-right:4px;overflow-y:auto}.row-shared-label{grid-column:1/-1}.row-days-picker{border:0;grid-column:1/-1;margin:2px 0 0;padding:0}.row-days-picker legend{margin-bottom:6px}.row-delete{align-self:center;font-size:18px}.switch-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:58px;display:flex}.switch-row>label{flex-direction:column;display:flex}.switch-row strong{font-size:12px}.switch-row small{color:var(--muted);margin-top:2px;font-size:10px}.switch-row input{accent-color:var(--brand);width:38px;height:20px}.after-school-drawer{flex-direction:column;gap:12px;display:flex}.after-school-intro{background:var(--brand-tint);border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:15px 17px;display:flex}.after-school-intro-mark{background:var(--brand);color:#fff;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;height:34px;font-size:18px;display:flex}.after-school-intro strong{color:var(--ink);font-size:13px}.after-school-intro p{color:var(--muted-strong);margin:4px 0 0;font-size:11px;line-height:1.55}.week-overview{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:14px}.week-overview-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:11px;display:flex}.week-overview-heading h3{margin:0;font-size:15px}.week-overview-heading>small{color:var(--muted);font-size:10px}.week-summary-list{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:2px;display:grid;overflow-x:auto}.week-summary{background:var(--surface);border:1px solid var(--line);border-radius:11px;flex-direction:column;min-width:66px;min-height:116px;display:flex;overflow:hidden}.week-summary.is-active{background:var(--brand-tint);box-shadow:inset 0 3px 0 var(--brand);border-color:#aeb8e9}.week-summary.has-issue{border-color:#df9ca4}.week-summary-main{color:var(--ink);text-align:left;background:0 0;border:0;flex-direction:column;flex:1;min-height:72px;padding:9px 8px 6px;display:flex}.week-summary-day{color:var(--brand-dark);font-size:11px;font-weight:800}.week-summary-time{margin-top:5px;font-size:12px}.week-summary-meta{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.4}.week-summary-issue{color:#8f2f39;align-items:center;gap:4px;margin-top:5px;font-size:9px;font-weight:760;display:inline-flex}.week-summary-issue i{background:var(--danger-soft);border:1px solid #df9ca4;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:8px;font-style:normal;display:inline-flex}.after-school-day-tabs{scrollbar-width:thin;grid-template-columns:repeat(7,minmax(54px,1fr));gap:6px;padding:2px;display:grid;overflow-x:auto}.after-school-day-tabs button{background:var(--surface);border:1px solid var(--line);color:var(--muted-strong);border-radius:11px;min-height:52px;padding:6px 5px}.after-school-day-tabs button span,.after-school-day-tabs button small{display:block}.after-school-day-tabs button span{font-size:15px;font-weight:780}.after-school-day-tabs button small{margin-top:2px;font-size:9px}.after-school-day-tabs button.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.after-school-day-card,.after-school-classes{margin-bottom:0}.after-school-day-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 14px;padding-bottom:13px;display:flex}.after-school-day-heading h3{margin:1px 0 0;font-size:18px}.after-school-day-heading>span{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted-strong);text-align:right;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:720}.dismissal-editor{background:var(--dismissal-soft);border:1px solid var(--dismissal-line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.dismissal-editor label,.club-editor-fields>label,.after-school-class-card>label,.after-school-time-grid label{flex-direction:column;gap:5px;display:flex}.dismissal-editor label>span,.club-editor-fields label>span,.after-school-class-card label>span{color:var(--ink-soft);font-size:10px;font-weight:740}.dismissal-editor input,.club-editor select,.club-editor input,.after-school-class-card select,.after-school-class-card input{background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;width:100%;min-height:42px;padding:7px 9px}.dismissal-editor>p{color:var(--danger);grid-column:1/-1;margin:0;font-size:10px}.daily-school-editor{background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:12px}.club-editor{background:var(--activity-soft);border:1px solid var(--activity-line);border-radius:12px;padding:12px}.club-editor-heading,.after-school-class-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.club-editor-heading{margin-bottom:10px}.club-editor-heading strong{color:var(--activity);font-size:12px;display:block}.club-editor-heading small{color:var(--muted-strong);margin-top:2px;font-size:10px;display:block}.club-editor-fields,.after-school-class-list{gap:10px;display:grid}.after-school-time-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.after-school-time-grid label>span{color:var(--muted-strong);font-size:10px;font-weight:700}.weekend-guidance{background:var(--surface-subtle);border:1px solid var(--line);color:var(--muted-strong);border-radius:11px;margin:0;padding:11px 12px;font-size:11px;line-height:1.5}.daily-plan-warning{color:#675534;background:#fbf7ee;border:1px solid #e7dcc6;border-radius:11px;margin-top:11px;padding:10px 11px;font-size:10px;line-height:1.5}.daily-plan-warning strong{color:#5c4a2d;font-size:11px;display:block}.daily-plan-warning p{margin:3px 0 5px}.daily-plan-convert-list{gap:5px;margin:7px 0;display:grid}.daily-plan-convert-list .text-button{text-align:left;justify-self:start}.daily-plan-conflicts{color:#793f36;background:#fff5f3;border:1px solid #efcbc4;border-radius:11px;margin-top:11px;padding:10px 11px;font-size:10px;line-height:1.5}.daily-plan-conflicts strong{color:#6b342c;font-size:11px;display:block}.daily-plan-conflicts ul{gap:4px;margin:5px 0 0;padding-left:17px;display:grid}.after-school-empty{background:var(--surface-subtle);border:1px dashed var(--line-strong);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;margin:12px 0;padding:20px 14px;display:flex}.after-school-empty>span{color:var(--brand);font-size:20px}.after-school-empty strong{font-size:12px}.after-school-empty p{color:var(--muted);margin:0;font-size:10px}.after-school-class-list{margin:12px 0}.after-school-class-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;gap:10px;padding:12px;display:grid}.after-school-class-title>span{color:var(--brand-dark);letter-spacing:.04em;font-size:10px;font-weight:800}.daily-purpose-note{background:var(--brand-tint);border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));border-radius:8px;flex-direction:column;grid-column:1/-1;gap:2px;padding:8px 9px;display:flex}.daily-purpose-note strong{color:var(--brand-dark);font-size:10px}.daily-purpose-note small{color:var(--muted-strong);font-size:9px;line-height:1.4}.purpose-club .row-label>span,.purpose-club .timeline-main small{color:var(--club)}.purpose-extracurricular .row-label>span,.purpose-extracurricular .timeline-main small{color:var(--extracurricular)}.purpose-club .timeline-dot{background:var(--club);border-color:var(--club-soft)}.purpose-club .timeline-card.has-course{background:var(--club-soft);border-color:var(--club-line);box-shadow:inset 3px 0 0 var(--club)}.purpose-extracurricular .timeline-card.has-course{background:var(--extracurricular-soft);border-color:var(--extracurricular-line);box-shadow:inset 3px 0 0 var(--extracurricular)}.purpose-extracurricular .timeline-dot{background:var(--extracurricular);border-color:var(--extracurricular-soft)}.data-hero{background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--brand) 12%, transparent), transparent 15rem), linear-gradient(145deg, var(--brand-tint), var(--surface));text-align:center;padding:24px}.data-icon{background:var(--brand);box-shadow:0 8px 20px color-mix(in srgb, var(--brand-dark) 22%, transparent);color:#fff;border-radius:15px;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto 14px;font-size:22px;display:flex}.data-hero h3{margin-bottom:8px;font-size:22px}.data-hero>p:not(.eyebrow){color:var(--muted-strong);max-width:390px;margin:0 auto 18px;font-size:12px;line-height:1.65}.data-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.danger-zone{border-color:#eed6d8}.storage-warning{background:var(--danger-soft);border-color:#e9bdc2}.visually-hidden{width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-preview .empty-label{opacity:1}.is-preview .cell-main,.is-preview .timeline-main{cursor:default}@media (max-width:1199px){.app-shell{padding-inline:20px}.workspace{grid-template-columns:minmax(0,1fr)}.course-rail{display:none}.compact-course-select{display:flex}.compact-course-manage{display:inline-flex}}@media (max-width:900px){.topbar{flex-direction:column;align-items:flex-start;gap:14px}.header-actions{justify-content:flex-start;width:100%}.save-state{margin-right:auto}.schedule-toolbar{align-items:flex-start}.display-toolbar{align-items:stretch}}@media (max-width:767px){body{background:var(--paper)}.app-shell{background:radial-gradient(circle at 0 -5%, color-mix(in srgb, var(--theme-accent) 14%, transparent), transparent 22rem), var(--paper);padding:16px 12px 92px}.brand-lockup{gap:11px;min-width:0}.brand-mark{border-radius:13px 13px 13px 4px;flex-basis:43px;height:43px;font-size:22px}.brand-lockup h1{font-size:20px;line-height:1.3}.meta-line{gap:4px}.meta-line span{padding:2px 7px;font-size:10px}.header-actions{grid-template-columns:1fr 1fr;display:grid}.save-state{grid-column:1/-1;min-height:26px}.header-actions .button-primary{grid-column:1/-1}.button{min-height:44px;font-size:12px}.conflict-banner{align-items:flex-start}.conflict-banner button{white-space:nowrap}.schedule-panel{border-radius:19px}.schedule-toolbar{flex-direction:column;align-items:stretch;gap:14px;padding:17px 15px 14px}.schedule-toolbar h2{font-size:20px}.display-toolbar{gap:9px;padding:12px 15px 14px}.display-control-group{flex:145px}.theme-control-group{flex-basis:100%;width:100%}.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-option{text-align:left;grid-template-rows:1fr;grid-template-columns:32px minmax(0,1fr);justify-items:start;gap:8px;min-height:50px;padding:7px 10px}.theme-name{font-size:11px}.display-control-group .segmented button{flex:1}.display-menu,.print-button{flex:calc(50% - 5px);margin-left:0}.display-menu summary{justify-content:center;width:100%}.display-menu-panel{width:min(260px,100vw - 54px);min-width:0;left:0;right:auto}.toolbar-controls{justify-content:space-between;align-items:flex-end}.compact-course-select{flex:1}.compact-course-manage{display:none}.compact-course-select select{width:100%}.day-view{min-height:480px;padding:13px 11px 23px}.day-tabs{gap:2px;margin-bottom:17px;padding:3px;overflow-x:auto}.day-tabs button{min-width:55px;min-height:45px}.day-view-actions{flex-direction:column;align-items:stretch;gap:7px}.day-view-actions .button{width:100%}.timeline-item{grid-template-columns:48px 12px minmax(0,1fr);gap:8px}.timeline-item:before{left:61.5px}.timeline-card{min-height:68px}.timeline-main{padding:10px 11px}.timeline-clear{padding-inline:10px}.mobile-add{background:linear-gradient(145deg, var(--brand), var(--brand-dark));box-shadow:0 12px 28px color-mix(in srgb, var(--brand-dark) 30%, transparent);color:#fff;z-index:60;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:50px;padding:10px 20px;font-size:13px;font-weight:780;display:flex;position:fixed;bottom:18px;right:18px}.is-preview .mobile-add{display:none}.toast{width:calc(100vw - 24px);max-width:calc(100vw - 24px);bottom:78px;left:12px;transform:none}.drawer{border-radius:20px 20px 0 0;width:100%;margin-top:40px}.drawer-header{padding:18px 17px 14px}.drawer-header h2{font-size:19px}.drawer-body{padding:12px}.drawer-section,.data-hero{padding:14px}.week-summary-list{scroll-snap-type:x proximity;grid-template-columns:none;grid-auto-columns:98px;grid-auto-flow:column}.week-summary{scroll-snap-align:start}.after-school-day-tabs{grid-template-columns:none;grid-auto-columns:minmax(58px,1fr);grid-auto-flow:column}.after-school-day-heading{align-items:flex-start}.dismissal-editor input,.club-editor select,.club-editor input,.after-school-class-card select,.after-school-class-card input{min-height:44px}.form-grid,.data-actions{grid-template-columns:1fr}.row-editor-fields{grid-template-columns:1fr 1fr}.row-editor-fields label:first-child,.row-shared-label{grid-column:1/-1}}@media (max-width:420px){.toolbar-controls{flex-direction:column;align-items:stretch}.segmented{align-self:stretch}.segmented button{flex:1}.after-school-intro{padding:13px}.after-school-day-heading{flex-direction:column}.after-school-day-heading>span{text-align:left}.week-overview{margin-inline:-2px;padding:12px 10px}.week-overview-heading{align-items:flex-start}.week-overview-heading>small{text-align:right;max-width:100px}.slot-editor-actions,.dismissal-editor,.after-school-time-grid{grid-template-columns:1fr}.dismissal-editor .danger-link{justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{margin:10mm;size:A4 landscape}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.app-shell{padding:0;background:#fff!important}.topbar,.course-rail,.conflict-banner,.schedule-toolbar,.display-toolbar,.day-view,.empty-display-state,.mobile-add,.toast,.drawer-backdrop{display:none!important}.workspace,.is-preview .workspace{background:#fff;max-width:none;display:block}.schedule-panel{box-shadow:none;background:#fff;border:0;border-radius:0;overflow:visible}.schedule-panel>:not(.print-title):not(.table-scroll){display:none!important}.print-title{color:var(--ink);text-align:center;margin:0 0 5mm;font-size:20px;line-height:1.2;display:block!important}.table-scroll{outline-offset:-1px;background:#fff;outline:1px solid #cfd6df;overflow:visible;display:block!important}.week-table{width:100%!important;min-width:0!important}.week-grid{--week-grid-row-height:34px;background:#fff;grid-template-rows:32px;font-size:8px;width:100%!important;min-width:0!important}.week-grid-box{padding:2px 3px}.week-grid-header{position:static}.week-grid-course-button,.week-grid-course-preview,.week-grid-event{-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:2px 3px}.week-grid-course-button,.week-grid-course-preview,.has-course .cell-main,.timeline-card.has-course{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-left-color:var(--course-color)!important}.week-grid-course-button strong,.week-grid-course-preview strong,.week-grid-event strong{font-size:8px}.week-grid-course-button small,.week-grid-course-preview small,.week-grid-event small,.week-grid-dismissal>span,.week-grid-dismissal>button{font-size:7px}.week-table tr,.timeline>li{break-inside:avoid;page-break-inside:avoid}.week-table thead th,.week-table tbody .time-cell,.week-table tbody .row-label{position:static}.cell-clear,.empty-label{display:none!important}.cell-main,.course-cell{min-height:46px}.is-compact .cell-main,.is-compact .course-cell{min-height:34px}.day-view{min-height:0;padding:0}}
