.configuration-shell{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:28px;padding:clamp(24px,5vw,44px);box-shadow:0 10px 34px #173c3609}.configuration-title,.catalog-heading{justify-content:space-between;align-items:start;gap:28px;display:flex}.configuration-title>div:first-child{max-width:720px}.configuration-title p:last-child,.catalog-heading p{margin-bottom:0;line-height:1.6}.read-only-badge{background:#f5f1e8;border:1px solid #cfc8b9;border-radius:10px;gap:3px;max-width:330px;padding:12px 15px;display:grid}.read-only-badge span{color:var(--muted);font-size:.83rem;line-height:1.45}.configuration-tabs{background:var(--soft);border-radius:11px;gap:6px;width:fit-content;margin:30px 0 26px;padding:5px;display:flex}.configuration-tabs button{min-width:130px;color:var(--ink);background:0 0;padding:9px 16px}.configuration-tabs button[aria-pressed=true]{color:#fff;background:var(--ink)}.catalog-panel{min-height:230px}.catalog-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.catalog-heading>div{max-width:700px}.catalog-heading h3{margin-bottom:6px;font-size:1.25rem}.catalog-list{border-bottom:1px solid var(--line)}.catalog-row{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px;min-height:92px;padding:18px 0;display:grid}.catalog-row:first-child{border-top:0}.catalog-row.inactive .catalog-record{opacity:.68}.catalog-record,.catalog-record-title,.catalog-record-details,.catalog-record-title strong,.catalog-record-details span{overflow-wrap:anywhere;min-width:0}.catalog-record-title{flex-wrap:wrap;align-items:baseline;gap:7px 12px;display:flex}.catalog-record-title strong{font-size:1rem}.record-code{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.catalog-record-details{color:var(--muted);flex-wrap:wrap;gap:4px 15px;margin-top:7px;font-size:.82rem;display:flex}.catalog-status{border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:750}.catalog-status.active{color:#205b36;background:#d8eadb}.catalog-status.inactive{color:#665f53;background:#ece9e2}.catalog-actions{justify-content:flex-end;gap:7px;display:flex}.catalog-more{margin-top:18px}.configuration-loading{align-items:center;gap:10px;padding:30px 0 8px;display:flex}.configuration-empty{background:#f7f8f3;border-radius:11px;margin-top:20px;padding:22px}.configuration-empty p{margin:5px 0 0}.configuration-error,.configuration-conflict{border-left:3px solid var(--danger);background:#fff4f1;margin-top:18px;padding:15px}.configuration-conflict{background:#fff8ee;border-color:#a95818}.configuration-error p,.configuration-conflict p{color:#7d2525;margin-bottom:10px}.configuration-conflict p{color:#744014}.configuration-form{background:#f8faf6;border:1px solid #bfcfc7;border-radius:13px;margin:20px 0;padding:clamp(18px,4vw,26px)}.form-heading h4{margin:0 0 5px;font-size:1.12rem}.form-heading p{margin-bottom:18px;font-size:.88rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;display:grid}.form-grid.compact{grid-template-columns:minmax(150px,.55fr) minmax(240px,1.45fr)}.form-grid.single-field{grid-template-columns:minmax(260px,720px)}.form-grid label{align-content:start;gap:6px;display:grid}.configuration-form input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.configuration-form textarea,.configuration-form select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px}.subject-importer,.weekly-builder{background:linear-gradient(135deg,#f6faf5,#fff 58%);border:1px solid #cbd7cd;border-radius:16px;margin-bottom:26px;padding:clamp(20px,3vw,30px)}.subject-import-heading,.weekly-builder>header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.subject-import-heading h3,.weekly-builder>header h3{margin-bottom:5px;font-size:clamp(1.25rem,2vw,1.55rem)}.subject-import-heading p:last-child,.weekly-builder>header p:last-child{max-width:760px;margin-bottom:0}.subject-catalog-select{gap:7px;max-width:640px;margin-top:22px;display:grid}.subject-catalog-stage{margin-top:20px;animation:.38s cubic-bezier(.22,1,.36,1) both configuration-stage-arrival}.subject-catalog-actions{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.subject-catalog-actions a{color:#2949d3;text-underline-offset:3px;font-size:.8rem;font-weight:700}.subject-catalog-actions>div{gap:8px;display:flex}.text-button{color:#2949d3;background:0 0;padding:5px 8px;font-size:.78rem}.text-button:hover{background:#edf1ff}.subject-suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.subject-suggestion-grid label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:48px;padding:9px 11px;display:grid}.subject-suggestion-grid label:has(input:checked){background:#eff8f2;border-color:#84ad98}.subject-suggestion-grid label.present{color:#416259;cursor:default}.subject-suggestion-grid input{accent-color:#17724e;width:17px;height:17px}.subject-suggestion-grid small{color:#18704c;grid-column:2;font-weight:650}.subject-import-complete{color:#18704c;margin:0;font-weight:700}.weekly-builder>header{margin-bottom:20px}.weekly-presets{flex:none;gap:7px;display:flex}.weekly-presets button{padding:8px 12px}.weekday-picker{border:0;margin:0 0 18px;padding:0}.weekday-picker legend{margin-bottom:8px;font-size:.85rem;font-weight:750}.weekday-picker>div{grid-template-columns:repeat(7,minmax(76px,1fr));gap:7px;display:grid}.weekday-picker label{text-align:center;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;place-content:center;min-height:58px;transition:transform .2s,border-color .2s,background .2s;display:grid;position:relative}.weekday-picker label:hover:not(.configured){border-color:#668a7e;transform:translateY(-2px)}.weekday-picker label.selected{color:#fff;background:#173c36;border-color:#173c36}.weekday-picker label.configured{color:#527068;cursor:default;background:#eff5f0}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}.weekday-picker small{margin-top:2px;font-size:.65rem}.weekly-controls{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:20px;display:grid}.weekly-controls label{gap:6px;display:grid}.weekly-controls input,.weekly-controls select{width:100%;min-height:43px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:8px 10px}.weekly-preview{border:1px solid var(--line);background:#f8fafb;border-radius:12px;margin-bottom:18px;padding:15px;overflow:hidden}.weekly-preview-heading{justify-content:space-between;gap:15px;margin-bottom:12px;display:flex}.weekly-preview-heading span{color:var(--muted);font-size:.82rem}.weekly-preview-grid{grid-auto-columns:minmax(125px,1fr);grid-auto-flow:column;gap:8px;padding-bottom:3px;display:grid;overflow-x:auto}.weekly-day{align-content:start;gap:4px;display:grid}.weekly-day>strong{text-align:center;padding:6px;font-size:.78rem}.weekly-day>div{border-radius:7px;flex-direction:column;justify-content:center;padding:6px 8px;display:flex}.weekly-day>div.lesson{color:#183b9e;background:#edf2ff;border:1px solid #b8c9ec}.weekly-day>div.break{color:#8d4c08;background:#fff5e6;border:1px dashed #d5aa73}.weekly-day span{font-size:.75rem;font-weight:750}.weekly-day small{font-size:.68rem}@keyframes configuration-stage-arrival{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.configuration-form textarea{resize:vertical;min-height:96px;padding:10px 11px}.configuration-form input:disabled,.configuration-form textarea:disabled,.configuration-form select:disabled{color:#687773;background:#edf0eb}.checkbox-field{align-items:start;gap:10px;margin-top:18px;display:flex}.configuration-form .checkbox-field input{width:18px;min-height:18px;margin-top:3px}.checkbox-field span{display:grid}.checkbox-field small{color:var(--muted);margin-top:3px;font-weight:400}.membership-note{background:var(--soft);border-radius:9px;gap:3px;margin-top:16px;padding:12px 14px;font-size:.85rem;display:grid}.membership-note span{color:var(--muted)}.teacher-invitation-panel{background:#f8faf6;border:1px solid #bfcfc7;border-radius:13px;margin:0 0 22px;padding:clamp(18px,3vw,26px)}.teacher-invitation-panel>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.teacher-invitation-panel h4{margin:.2rem 0 1rem;font-size:1.2rem}.teacher-invitation-panel form>label,.teacher-invitation-receipt>label{gap:6px;max-width:620px;display:grid}.teacher-invitation-panel input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.teacher-invitation-panel form>button{margin-top:18px}.teacher-invitation-warning{color:#744014;background:#fff5e6;border-radius:10px;margin-top:16px;padding:14px}.teacher-invitation-warning p{margin:5px 0 12px}.teacher-invitation-warning button{margin-right:8px}.teacher-invitation-receipt{gap:10px;display:grid}.teacher-invitation-receipt p{color:var(--muted);margin:0}.teacher-invitation-receipt small{color:var(--muted)}.teacher-invitation-actions{gap:8px;display:flex}.teacher-defaults{background:linear-gradient(135deg,#f6faf5,#fff 62%);border:1px solid #cbd7cd;border-radius:16px;margin:0 0 26px;padding:clamp(18px,3vw,26px)}.teacher-defaults-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.teacher-defaults-heading>div{max-width:720px}.teacher-defaults-heading h3{margin:0 0 5px;font-size:clamp(1.2rem,2vw,1.45rem)}.teacher-defaults-heading p:last-child{margin-bottom:0}.teacher-defaults-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 0;display:grid}.teacher-defaults-values div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px}.teacher-defaults-values dt{color:var(--muted);font-size:.78rem}.teacher-defaults-values dd{color:var(--ink);margin:5px 0 0;font-size:1.05rem;font-weight:800}.teacher-defaults-empty{background:var(--soft);border-radius:10px;margin-top:18px;padding:14px}.teacher-defaults-empty p{color:var(--muted);margin:4px 0 0}.teacher-defaults form{margin-top:20px}.teacher-defaults form label{gap:6px;display:grid}.teacher-defaults form input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.teacher-defaults-future,.teacher-defaults-archived{color:var(--muted);margin:16px 0 0;font-size:.85rem;line-height:1.5}.teacher-defaults-archived{color:#665f53;background:#f5f1e8;border-radius:9px;padding:12px 14px}.teacher-defaults-notice{border-radius:9px;margin:14px 0 0;padding:12px 14px;font-size:.87rem}.teacher-defaults-notice.success{color:#176943;background:#e3f3e9}.teacher-defaults-notice.error{color:#8b2929;background:#fff1ed}.features-field{gap:6px;margin-top:18px;display:grid}.features-field small{color:var(--muted);font-weight:400}.field-error{color:var(--danger);margin:12px 0 0;font-size:.88rem}.form-actions{gap:9px;margin-top:22px;display:flex}.configuration-access{max-width:660px}.configuration-access p:last-child{margin-bottom:0}@media (width<=680px){.teacher-defaults-heading{display:grid}.teacher-defaults-heading>button{width:100%}.teacher-defaults-values{grid-template-columns:1fr}}.campus-configuration>.catalog-panel{margin-top:30px}.campus-select{color:var(--ink);background:0 0;border:1px solid #9eb2aa;border-radius:7px;padding:5px 9px;font-size:.78rem}.campus-select:hover{background:var(--soft)}.campus-select.selected{border-color:var(--ink);color:#fff;background:var(--ink)}.campus-selection-help,.scope-note{background:var(--soft);border-radius:10px;margin-top:18px;padding:15px 17px}.campus-selection-help p{margin:4px 0 0}.campus-context{border-top:1px solid var(--line);margin-top:32px;padding-top:28px}.campus-context-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.campus-context-heading>div:first-child{gap:3px;display:grid}.campus-context-heading>div:first-child span{color:var(--muted);font-size:.8rem}.campus-context-heading>div:first-child strong{font-size:1.25rem}.campus-context-heading>div:first-child{min-width:0}.campus-context-heading>div:first-child strong{overflow-wrap:anywhere}.campus-tabs{margin-top:24px}.catalog-restricted{background:#f7f8f3;border-radius:11px;padding:22px}.catalog-restricted h3{margin-bottom:6px}.scope-note{color:var(--muted);margin:0 0 18px;font-size:.85rem;line-height:1.55}@media (width<=760px){.configuration-title,.catalog-heading,.campus-context-heading{display:grid}.read-only-badge{max-width:none}.catalog-row{grid-template-columns:1fr auto}.catalog-actions{grid-column:1/-1;justify-content:start}.form-grid,.form-grid.compact,.form-grid.single-field{grid-template-columns:1fr}.subject-import-heading,.weekly-builder>header,.subject-catalog-actions{display:grid}.subject-suggestion-grid,.weekly-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday-picker>div{padding-bottom:5px;display:flex;overflow-x:auto}.weekday-picker label{flex:0 0 88px}}@media (width<=480px){.configuration-tabs{width:100%}.configuration-tabs button{flex:1;min-width:0}.campus-tabs{display:grid}.catalog-row{grid-template-columns:1fr;gap:10px}.catalog-actions{flex-wrap:wrap;grid-column:auto}.form-actions{display:grid}.subject-suggestion-grid,.weekly-controls{grid-template-columns:1fr}}.group-configuration{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.group-configuration-heading,.selected-group-class-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.group-configuration-heading>div:first-child{max-width:700px}.group-configuration-heading h3{margin-bottom:7px;font-size:1.25rem}.group-configuration-heading p:last-child{margin-bottom:0}.group-class-selector{border:1px solid var(--line);background:#fafbf8;border-radius:13px;margin-top:24px;padding:20px}.group-selector-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.group-selector-heading>div{max-width:650px}.group-selector-heading h4{margin:0 0 5px}.group-selector-heading p{color:var(--muted);margin:0;font-size:.88rem}.group-class-list{border-bottom:1px solid var(--line);margin-top:18px}.group-class-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:16px;padding:14px 0;display:grid}.group-class-row.selected{background:linear-gradient(90deg,#0000,#e0ebe49e,#0000)}.group-class-row.inactive .group-class-record{opacity:.68}.group-class-record{min-width:0}.group-class-record>div{flex-wrap:wrap;align-items:baseline;gap:7px 12px;display:flex}.group-class-record>span{color:var(--muted);margin-top:5px;font-size:.82rem;display:block}.selected-group-class{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.selected-group-class-heading>div:first-child{flex-wrap:wrap;align-items:baseline;gap:4px 11px;display:flex}.selected-group-class-heading>div:first-child>span:first-child{color:var(--muted);flex-basis:100%;font-size:.8rem}.selected-group-class-heading>div:first-child strong{overflow-wrap:anywhere;font-size:1.16rem}.group-scope-note{margin-top:18px}.group-form-grid{grid-template-columns:minmax(130px,.55fr) minmax(220px,1.45fr)}.workload-scope-note{margin-top:24px;margin-bottom:0}.workload-updating{color:var(--muted);align-items:center;gap:9px;margin:17px 0 0;font-size:.84rem;display:flex}.workload-list{border-bottom:1px solid var(--line);margin-top:22px}.workload-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(110px,.65fr));align-items:center;gap:16px;min-height:88px;padding:17px 0;display:grid}.workload-row.over-limit{border-left:3px solid var(--danger);padding-left:14px}.workload-teacher{flex-wrap:wrap;align-items:baseline;gap:7px 11px;min-width:0;display:flex}.workload-teacher strong{overflow-wrap:anywhere}.workload-amount{gap:4px;display:grid}.workload-amount span{color:var(--muted);font-size:.76rem}.workload-amount strong{font-size:.95rem}.workload-amount.warning strong,.workload-overage{color:var(--danger)}.workload-overage{grid-column:2/-1;margin-top:-10px;font-size:.8rem}@media (width<=760px){.group-configuration-heading,.selected-group-class-heading,.group-selector-heading{display:grid}.group-selector-heading button{justify-self:start}.group-class-row{grid-template-columns:1fr auto}.group-class-row button{grid-column:1/-1;justify-self:start}.group-form-grid{grid-template-columns:1fr}.workload-row{grid-template-columns:repeat(3,1fr)}.workload-teacher{grid-column:1/-1}.workload-overage{grid-column:1/-1;margin-top:0}}@media (width<=480px){.group-class-row,.workload-row{grid-template-columns:1fr}.group-class-row button,.workload-teacher,.workload-overage{grid-column:auto}}.assignment-form{gap:22px;display:grid}.assignment-form .form-heading,.assignment-form .form-actions{margin:0}.assignment-basics{grid-template-columns:minmax(150px,.65fr) minmax(260px,1.5fr) minmax(130px,.5fr);align-items:end;gap:16px;display:grid}.assignment-basics>label,.assignment-teacher-fields>label{gap:6px;display:grid}.assignment-weekly-total{background:var(--soft);border-radius:9px;gap:3px;min-height:68px;padding:11px 14px;display:grid}.assignment-weekly-total span{color:var(--muted);font-size:.78rem}.assignment-weekly-total strong{font-size:1.15rem}.assignment-form-note{background:var(--soft);border-left:3px solid #7b8b84;gap:4px;padding:13px 15px;font-size:.88rem;display:grid}.assignment-form-note.warning{background:#fff8ee;border-color:#a95818}.assignment-form-note span{color:var(--muted);line-height:1.45}.assignment-section{border:1px solid var(--line);border-radius:11px;min-width:0;margin:0;padding:19px}.assignment-section>legend{padding:0 7px;font-weight:800}.assignment-section>p:first-of-type{color:var(--muted);margin:0 0 16px;font-size:.86rem}.assignment-session-list{gap:9px;margin-bottom:12px;display:grid}.assignment-session-row{grid-template-columns:minmax(180px,280px) auto auto;justify-content:start;align-items:end;gap:10px;display:grid}.assignment-session-row label{grid-template-columns:auto minmax(90px,130px);align-items:center;gap:12px;display:grid}.assignment-session-row>span{color:var(--muted);padding-bottom:12px;font-size:.82rem}.assignment-reference-control{align-content:start;gap:6px;min-width:0;display:grid}.assignment-reference-input{align-items:stretch;gap:7px;min-width:0;display:flex}.assignment-reference-input select{min-width:0}.assignment-reference-input button{flex:none}.assignment-reference-error{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-reference-error .field-error{margin:0}.assignment-target-row{border-top:1px solid var(--line);grid-template-columns:30px minmax(210px,1fr) minmax(210px,1fr) auto;align-items:end;gap:12px;padding:14px 0;display:grid}.assignment-target-row:first-of-type{border-top:0;padding-top:0}.assignment-row-number{background:var(--soft);border-radius:999px;align-self:center;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:800;display:grid}.assignment-remove-row{margin-bottom:2px}.assignment-teacher-row{border:1px solid var(--line);background:#fff;border-radius:9px;margin:13px 0;padding:15px}.assignment-teacher-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-teacher-fields{grid-template-columns:minmax(240px,1.5fr) minmax(180px,.7fr);gap:14px;margin-top:13px;display:grid}.assignment-session-allocation{border:0;min-width:0;margin:14px 0 0;padding:0}.assignment-session-allocation legend{margin-bottom:8px;font-size:.83rem;font-weight:750}.assignment-session-allocation>div{flex-wrap:wrap;gap:7px;display:flex}.assignment-session-allocation label{border:1px solid var(--line);background:#f8faf6;border-radius:7px;align-items:center;gap:7px;padding:7px 9px;font-size:.8rem;display:flex}.assignment-form .assignment-session-allocation input{width:17px;min-height:17px}.assignment-preserved-reference{gap:6px;display:grid}.assignment-preserved-reference strong{background:var(--soft);border-radius:8px;min-height:44px;padding:11px}.assignment-preserved-count{background:var(--soft);border-radius:8px;padding:10px 12px}@media (width<=920px){.assignment-basics{grid-template-columns:1fr 1.5fr}.assignment-weekly-total{grid-column:1/-1}.assignment-target-row{grid-template-columns:30px 1fr}.assignment-target-row .assignment-reference-control{grid-column:2}.assignment-target-row .assignment-remove-row{grid-column:2;justify-self:start}}@media (width<=620px){.assignment-basics,.assignment-teacher-fields{grid-template-columns:1fr}.assignment-weekly-total{grid-column:auto}.assignment-session-row{grid-template-columns:1fr auto}.assignment-session-row label{grid-template-columns:1fr minmax(85px,120px)}.assignment-session-row>span{display:none}.assignment-session-row button{grid-column:1/-1;justify-self:start}.assignment-reference-input{display:grid}}.needs-shell{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:28px;padding:clamp(24px,5vw,44px);box-shadow:0 10px 34px #173c3609}.needs-heading{justify-content:space-between;align-items:start;gap:28px;display:flex}.needs-heading>div{max-width:740px}.needs-heading p:last-child,.needs-restricted p:last-child{margin-bottom:0;line-height:1.6}.needs-workflow-note{margin:16px 0 0;font-size:.85rem}.needs-content{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.needs-controls{grid-template-columns:minmax(260px,1fr) minmax(190px,.45fr);align-items:start;gap:18px;display:grid}.needs-controls label,.needs-controls>div>label{gap:6px;display:grid}.needs-controls select{width:100%}.needs-select-row{align-items:center;gap:8px;display:flex}.needs-select-row select{flex:1}.needs-read-only{background:#f5f1e8;border:1px solid #cfc8b9;border-radius:10px;gap:3px;margin-top:18px;padding:13px 15px;display:grid}.needs-read-only span{color:var(--muted);font-size:.84rem}.needs-toolbar{justify-content:flex-end;margin-top:20px;display:flex}.needs-loading{color:var(--muted);align-items:center;gap:10px;padding:28px 0 6px;display:flex}.needs-empty{background:#f7f8f3;border-radius:11px;margin-top:20px;padding:22px}.needs-empty p{margin-bottom:0}.needs-inline-error,.needs-error{border-left:3px solid var(--danger);background:#fff4f1;margin-top:16px;padding:14px}.needs-inline-error{justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.needs-reference-actions{flex-wrap:wrap;gap:7px;display:flex}.needs-error p{color:#7d2525;margin-bottom:10px}.needs-list{border-top:1px solid var(--line);margin:22px 0 0;padding:0;list-style:none}.need-card{border-bottom:1px solid var(--line);padding:24px 0}.need-card-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;font-size:.82rem;display:flex}.need-scope{flex-wrap:wrap;gap:5px 12px;margin-bottom:12px;font-size:.82rem;display:flex}.need-scope span{color:var(--muted)}.need-status,.need-strength{background:var(--soft);width:fit-content;color:var(--ink);border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800;display:inline-flex}.need-status.pending,.need-status.needs_clarification{color:#744014;background:#fae8ca}.need-status.approved_hard,.need-status.approved_soft{color:#205b36;background:#d8eadb}.need-status.rejected,.need-status.revoked{color:#755d59;background:#ece9e2}.need-card>section{background:#f7f8f3;border-radius:10px;margin-top:15px;padding:16px}.need-card>section h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 9px;font-size:.84rem}.need-effective{border:1px solid #cddbcf;background:#f2f8f1!important}.need-effective>p{margin-bottom:0}.need-rule-summary{flex-wrap:wrap;align-items:baseline;gap:5px 15px;display:flex}.need-rule-summary strong{min-width:210px}.need-rule-summary span{color:var(--muted);font-size:.82rem}.need-decision>div{justify-content:space-between;gap:16px;display:flex}.need-decision span{color:var(--muted);font-size:.82rem}.need-decision p{margin:8px 0 0}.need-preserved-note{color:#744014;background:#fff8ee;border-left:3px solid #b56a26;margin:14px 0 0;padding:10px 13px;font-size:.84rem}.need-card-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.needs-more{margin-top:18px}.needs-form{background:#f8faf6;border:1px solid #bfcfc7;border-radius:13px;margin-top:20px;padding:clamp(18px,4vw,26px)}.needs-form-heading h4{margin:0 0 5px;font-size:1.12rem}.needs-form-heading p{margin-bottom:18px;font-size:.88rem}.needs-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;display:grid}.needs-form label,.need-single-field{gap:6px;display:grid}.needs-form input,.needs-form select,.needs-form textarea{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.needs-form textarea{resize:vertical;min-height:110px}.needs-form input:disabled,.needs-form select:disabled,.needs-form textarea:disabled{color:#687773;background:#edf0eb}.need-weekdays{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:14px 16px}.need-weekdays legend{padding:0 5px;font-size:.88rem;font-weight:720}.need-weekdays>div{flex-wrap:wrap;gap:8px 16px;display:flex}.need-weekdays label{align-items:center;gap:6px;font-weight:500;display:flex}.need-weekdays input{width:17px;min-height:17px}.need-single-field{max-width:480px;margin-top:18px}.need-reference-field{margin-top:18px}.need-reference-field>label{margin-bottom:6px}.need-reference-field>div{gap:8px;display:flex}.need-reference-field select{flex:1}.needs-reference-error{color:var(--danger);justify-content:space-between;align-items:center;margin-top:8px;font-size:.82rem;display:flex!important}.needs-reference-restricted{color:#744014;background:#fff8ee;border-radius:9px;margin-top:18px;padding:13px 15px;font-size:.85rem}.needs-form-actions{gap:9px;margin-top:22px;display:flex}.need-history{background:#f8faf6;border:1px solid #bfcfc7;border-radius:13px;margin-top:28px;padding:22px}.need-history-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.need-history-list article{border-top:1px solid var(--line);padding:18px 0}.need-history-list article:first-child{border-top:0}.need-history-revision{justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.need-history-revision span{color:var(--muted);font-size:.82rem}.need-history-list .need-decision{background:#fff;border-radius:8px;margin-top:12px;padding:12px}.needs-restricted{max-width:710px}@media (width<=760px){.needs-heading,.need-decision>div,.need-history-revision{display:grid}.needs-controls,.needs-form-grid{grid-template-columns:1fr}}@media (width<=520px){.needs-select-row,.needs-inline-error,.need-reference-field>div{flex-direction:column;align-items:stretch}.needs-form-actions,.need-rule-summary{display:grid}.need-rule-summary strong{min-width:0}}.planning-shell{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:28px;padding:clamp(24px,5vw,44px);box-shadow:0 10px 34px #173c3609}.planning-heading{max-width:750px}.planning-heading p:last-child,.planning-restricted p:last-child{margin-bottom:0;line-height:1.6}.planning-freshness-note{margin:14px 0 0;font-size:.85rem}.planning-invalidated{color:#774108;background:#fff3df;border-radius:9px;margin:12px 0 0;padding:11px 14px;font-size:.86rem}.planning-archived{background:#f5f1e8;border:1px solid #cfc8b9;border-radius:10px;gap:3px;margin-top:20px;padding:12px 15px;display:grid}.planning-archived span{color:var(--muted);font-size:.83rem}.planning-form{background:#f7f8f3;border-radius:13px;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;align-items:end;gap:16px;margin-top:28px;padding:20px;display:grid}.planning-form label{gap:6px;display:grid}.planning-form input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.planning-actions{gap:8px;display:flex}.planning-actions button{white-space:nowrap}.planning-form .field-error{grid-column:1/-1;margin:0}.planning-loading{color:var(--muted);align-items:center;gap:10px;padding:24px 2px 0;display:flex}.planning-error{border-left:3px solid var(--danger);background:#fff4f1;margin-top:20px;padding:15px}.planning-error p{color:#7d2525;margin-bottom:10px}.planning-result{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.planning-result-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.planning-result-heading p{margin:8px 0 0}.planning-status{border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.planning-result.blocked .planning-status{color:#8b2525;background:#fde4df}.planning-result.passed .planning-status{color:#205b36;background:#d8eadb}.planning-checked-at{color:var(--muted);white-space:nowrap;font-size:.82rem}.planning-disclaimer{color:#604b27;background:#fff6df;border-radius:10px;margin:20px 0;padding:14px 16px;line-height:1.55}.planning-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px;display:grid}.planning-counts div{border:1px solid var(--line);border-radius:10px;padding:13px 15px}.planning-counts dt{color:var(--muted);font-size:.78rem}.planning-counts dd{margin:2px 0 0;font-size:1.2rem;font-weight:800}.planning-issue-controls{border-top:1px solid var(--line);align-items:center;gap:12px;padding:18px 0;display:flex}.planning-issues{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.planning-issue{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:17px 0;display:grid}.planning-issue p{margin:2px 0 0;line-height:1.55}.planning-severity-badge{border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:800}.planning-issue.blocker .planning-severity-badge{color:#8b2525;background:#fde4df}.planning-issue.warning .planning-severity-badge{color:#744014;background:#fae8ca}.planning-references{color:var(--muted);grid-column:2;font-size:.78rem}.planning-references summary{cursor:pointer;width:fit-content}.planning-references div{gap:3px;margin-top:7px;display:grid}.planning-references code{overflow-wrap:anywhere;color:#435751;font-size:.72rem}.planning-no-issues{padding:20px 0 0}.planning-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding-top:18px;font-size:.82rem;display:flex}.planning-restricted{max-width:690px}@media (width<=760px){.planning-form{grid-template-columns:1fr 1fr}.planning-actions{grid-column:1/-1}.planning-result-heading{display:grid}.planning-checked-at{white-space:normal}}@media (width<=520px){.planning-form{grid-template-columns:1fr}.planning-actions{grid-column:auto;display:grid}.planning-form .field-error{grid-column:auto}.planning-counts,.planning-issue{grid-template-columns:1fr}.planning-references{grid-column:1}.planning-pagination{flex-direction:column;align-items:start}}.generation-shell{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:28px;padding:clamp(24px,5vw,44px);box-shadow:0 10px 34px #173c3609}.generation-heading,.generation-history-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.generation-heading>div{max-width:760px}.generation-heading p:last-child,.generation-history-heading p{margin-bottom:0}.generation-content{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.generation-archived{background:#f5f1e8;border:1px solid #cfc8b9;border-radius:10px;gap:3px;margin-top:18px;padding:13px 15px;display:grid}.generation-archived span{color:var(--muted);font-size:.84rem}.generation-prerequisite{border-left:4px solid var(--accent);background:#fbf5e9;margin:0 0 22px;padding:14px 16px;line-height:1.55}.generation-form{border:1px solid var(--line);background:#f8faf6;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:16px 20px;padding:22px;display:grid}.generation-form label{gap:6px;display:grid}.generation-form input,.generation-form textarea{min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.generation-period{grid-template-columns:1fr 1fr;gap:10px;display:grid}.generation-advanced{grid-column:1/-1}.generation-advanced summary,.generation-technical summary{cursor:pointer;width:fit-content;color:var(--ink);font-weight:750}.generation-advanced label{max-width:420px;margin-top:12px}.generation-advanced small{color:var(--muted);font-weight:500;line-height:1.45}.generation-form>.field-error{grid-column:1/-1;margin:0}.generation-form>button{justify-self:start}.generation-running{background:#edf2e9;border-radius:13px;align-items:center;gap:18px;margin-top:22px;padding:22px;display:flex}.generation-running h3{margin-bottom:4px}.generation-running p{margin:0}.generation-error{border-left:3px solid var(--danger);background:#fff4f1;margin-top:18px;padding:15px}.generation-error p{color:#7d2525;margin-bottom:10px}.generation-history-heading{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.generation-history-heading h3{margin-bottom:4px}.generation-loading{text-align:center;padding:24px}.generation-empty{background:#f7f8f3;border-radius:11px;margin-top:18px;padding:20px}.generation-empty p{margin-bottom:0}.generation-list{border-top:1px solid var(--line);margin:18px 0;padding:0;list-style:none}.generation-list li{border-bottom:1px solid var(--line)}.generation-list button{text-align:left;width:100%;color:var(--ink);background:0 0;border-radius:0;justify-content:space-between;gap:22px;padding:15px 12px;display:flex}.generation-list button:hover,.generation-list button.selected{background:var(--soft)}.generation-list button>span{gap:3px;display:grid}.generation-list button>span:last-child{justify-items:end}.generation-list small{color:var(--muted);font-size:.78rem}.generation-list em{font-style:normal}.generation-status,.generation-outcome{border-radius:999px;width:fit-content;padding:4px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.generation-status.running{color:#744014;background:#fae8ca}.generation-status.succeeded,.generation-result.solution .generation-outcome{color:#205b36;background:#d8eadb}.generation-status.failed,.generation-result.no-solution .generation-outcome,.generation-result.failed .generation-outcome{color:#8b2525;background:#fde4df}.generation-result.limited .generation-outcome{color:#744014;background:#fae8ca}.generation-detail{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.generation-detail-meta{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-bottom:15px;font-size:.8rem;display:flex}.generation-result>h3{max-width:780px;margin-top:12px;font-size:1.1rem;line-height:1.55}.generation-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.generation-metrics div{border:1px solid var(--line);border-radius:10px;padding:14px}.generation-metrics dt{color:var(--muted);font-size:.78rem}.generation-metrics dd{margin:3px 0 0;font-size:1.2rem;font-weight:800}.generation-week{margin-top:22px}.generation-week ul{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0;list-style:none;display:grid}.generation-week li{text-align:center;background:#edf2e9;border-radius:9px;min-width:0;padding:11px 8px;display:grid}.generation-week li.empty{opacity:.55}.generation-week span{text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.generation-week strong{font-size:1.25rem}.generation-week small{color:var(--muted);font-size:.68rem}.generation-issues{margin:18px 0;padding:0;list-style:none}.generation-issues li{background:#fff6df;border-left:3px solid #bd6720;margin-top:7px;padding:12px 14px}.generation-incomplete{margin-top:18px}.generation-incomplete ul{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.generation-incomplete li{text-transform:lowercase;background:#fae8ca;border-radius:999px;padding:4px 8px;font-size:.76rem}.generation-policy-result{margin-top:20px}.generation-policy-result ul{border-top:1px solid var(--line);margin:8px 0 0;padding:0;list-style:none}.generation-policy-result li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.generation-policy-result li div{gap:3px;display:grid}.generation-policy-result li span{color:var(--muted);font-size:.8rem}.generation-policy-result em{font-size:.78rem;font-style:normal;font-weight:750}.generation-technical{margin-top:16px}.generation-technical dl{flex-wrap:wrap;gap:10px 28px;display:flex}.generation-technical dl div{display:grid}.generation-technical dt{color:var(--muted);font-size:.78rem}.generation-technical dd{margin:2px 0 0}.generation-draft-action{background:#f4f8f1;border:1px solid #b9cdbd;border-radius:13px;margin-top:24px;padding:20px}.generation-draft-action h4{margin:0 0 5px}.generation-draft-action p{margin-bottom:14px}.generation-draft-action label{gap:6px;max-width:720px;display:grid}.generation-draft-action textarea{min-height:78px;font:inherit;border:1px solid #8ca099;border-radius:8px;padding:10px}.generation-draft-action>button{margin-top:14px}.generation-draft-created{justify-content:space-between;align-items:center;gap:18px;display:flex}.generation-draft-created p{color:#205b36;margin:0;font-weight:750}@media (width<=800px){.generation-form{grid-template-columns:1fr}.generation-metrics{grid-template-columns:1fr 1fr}.generation-week ul{grid-template-columns:repeat(4,1fr)}}@media (width<=560px){.generation-heading,.generation-history-heading,.generation-list button,.generation-draft-created{display:grid}.generation-period,.generation-metrics{grid-template-columns:1fr}.generation-list button>span:last-child{justify-items:start}.generation-week ul{grid-template-columns:repeat(2,1fr)}.generation-form{padding:16px}}.policy-panel{background:#f7faf7;border:1px solid #cbd8d1;border-radius:16px;margin-bottom:24px;padding:22px}.policy-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.policy-heading h3{margin:3px 0 6px;font-size:1.2rem}.policy-heading p{max-width:760px;margin:0}.policy-heading small{color:#536b62;margin-top:7px;display:block}.policy-empty{color:#40584f;background:#edf2ed;border-radius:10px;padding:13px 15px}.policy-saved{background:#e9f5ec;border-left:3px solid #37815f;padding:12px 14px}.policy-current-meta{justify-content:space-between;margin:18px 0 10px;display:flex}.policy-summary-list,.policy-history{margin:0;padding:0;list-style:none}.policy-summary-list li{border-top:1px solid #dce5df;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.policy-summary-list li div{gap:3px;display:grid}.policy-summary-list li span{color:#536b62}.policy-summary-list em{border-radius:999px;flex:none;padding:4px 8px;font-size:.74rem;font-style:normal;font-weight:750}.policy-summary-list em.hard{color:#8d302b;background:#f8ddda}.policy-summary-list em.soft{color:#315b87;background:#e6eef8}.policy-current>.button-tertiary{margin-top:12px}.policy-history{border-top:1px solid #dce5df;margin-top:10px}.policy-history li{border-bottom:1px solid #dce5df;grid-template-columns:auto 1fr auto;gap:12px;padding:9px 0;display:grid}.policy-history small{color:#60736b}.policy-form{gap:14px;margin-top:18px;display:grid}.policy-add{gap:8px;display:grid}.policy-add>div{flex-wrap:wrap;gap:7px;display:flex}.policy-criterion{background:#fff;border:1px solid #d3ddd7;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.policy-criterion legend{padding:0 5px;font-weight:800}.policy-criterion>p,.policy-criterion>.policy-remove{grid-column:1/-1}.policy-criterion>p{color:#536b62;margin:0}.policy-criterion label{align-content:start;gap:5px;font-weight:700;display:grid}.policy-criterion label small{color:#60736b;font-weight:400}.policy-times{grid-template-columns:1fr 1fr;gap:10px;display:grid}.policy-minutes{align-items:center;gap:8px;display:flex}.policy-minutes input{max-width:110px}.policy-remove{color:#9a3932;background:0 0;border:0;justify-self:start;text-decoration:underline}.policy-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=700px){.policy-panel{padding:16px}.policy-heading{flex-direction:column}.policy-heading button{width:100%}.policy-criterion{grid-template-columns:1fr}.policy-criterion>*{grid-column:1!important}.policy-history li{grid-template-columns:1fr}.policy-summary-list li{flex-direction:column;align-items:flex-start}}.policy-reason{grid-column:1/-1;gap:6px;font-weight:700;display:grid}.policy-reason textarea{box-sizing:border-box;width:100%;min-height:92px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:10px 11px}.draft-editor{background:#f8faf6;border:1px solid #bfcfc7;border-radius:14px;gap:22px;margin-top:22px;padding:clamp(18px,4vw,28px);display:grid}.draft-editor-heading h3,.draft-placement-section-heading h4,.draft-placement-editor h4{margin-bottom:6px}.draft-editor-heading p,.draft-placement-section-heading p{margin-bottom:0;line-height:1.55}.draft-definition-fields{grid-template-columns:minmax(240px,1.5fr) minmax(160px,.7fr) minmax(160px,.7fr);gap:15px;display:grid}.draft-definition-fields label,.draft-placement-fields>label,.draft-reason{align-content:start;gap:6px;display:grid}.draft-editor input,.draft-editor textarea{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #8ca099;border-radius:8px;padding:9px 11px}.draft-editor input:disabled,.draft-editor textarea:disabled,.draft-editor select:disabled{color:#687773;background:#edf0eb}.draft-editor-note{background:var(--soft);border-left:3px solid #7b8b84;gap:4px;padding:13px 15px;font-size:.87rem;display:grid}.draft-editor-note.warning{background:#fff8ee;border-color:#a95818}.draft-editor-note.compact{color:var(--muted);margin:0;padding:10px 13px;display:block}.draft-editor-note span{color:var(--muted);line-height:1.45}.draft-field-error{color:var(--danger);margin:0;font-size:.87rem}.draft-placement-section{min-width:0;padding-top:4px}.draft-placement-section-heading{justify-content:space-between;align-items:start;gap:22px;display:flex}.draft-placement-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.draft-grid{margin:17px 0;overflow-x:auto}.draft-grid-empty{background:var(--soft);border-radius:10px;padding:18px}.draft-days{grid-template-columns:repeat(7,minmax(180px,1fr));gap:8px;min-width:1260px;display:grid}.draft-day{border:1px solid var(--line);background:#ffffffb8;border-radius:10px;min-width:0;padding:10px}.draft-day h5{margin:0 0 10px;font-size:.82rem}.draft-day-lessons{gap:8px;display:grid}.draft-placement-chip{border-left:3px solid var(--accent);background:#fff;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid;box-shadow:0 2px 8px #173c360d}.draft-placement-chip.locked{background:#f1f4ef;border-left-color:#536d65}.draft-placement-chip strong,.draft-placement-chip span{overflow-wrap:anywhere;min-width:0}.draft-placement-chip>span{color:var(--muted);font-size:.75rem}.draft-placement-time{color:var(--ink);font-size:.75rem;font-weight:800}.draft-reference-warning{color:#8b4d1b!important}.draft-placement-actions{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.draft-placement-actions button{padding:6px 8px;font-size:.74rem}.draft-lock-control{border-top:1px solid var(--line);color:var(--muted);align-items:start;gap:7px;margin-top:5px;padding-top:7px;font-size:.72rem;font-weight:650;display:flex}.draft-editor .draft-lock-control input{width:16px;min-height:16px;margin-top:1px}.draft-visual-grid{min-width:0;margin:17px 0}.draft-visual-help{color:var(--muted);align-items:center;gap:11px;margin-bottom:12px;font-size:.84rem;display:flex}.draft-visual-help>span{width:30px;height:30px;color:var(--accent);background:#e7f0eb;border-radius:9px;place-items:center;font-weight:900;display:grid}.draft-visual-help p{margin:0}.draft-visual-help strong{color:var(--ink);margin-right:4px;display:inline}.draft-visual-scroll{overscroll-behavior-inline:contain;padding:0 0 12px;overflow-x:auto}.draft-visual-board{grid-template-columns:62px repeat(var(--draft-day-count), minmax(150px, 1fr));grid-template-rows:42px var(--draft-track-height);border:1px solid var(--line);background:#fff;border-radius:13px;min-width:1112px;display:grid;overflow:hidden}.draft-visual-board>h5{border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#f4f7f2;place-items:center;margin:0;font-size:.76rem;display:grid}.draft-time-heading{border-bottom:1px solid var(--line);background:#f4f7f2}.draft-time-axis{background:#fbfcf9;grid-area:2/1;position:relative}.draft-time-axis span{color:#667873;font-variant-numeric:tabular-nums;font-size:.67rem;position:absolute;right:9px;transform:translateY(-7px)}.draft-visual-day-track{min-width:0;height:var(--draft-track-height);border-left:1px solid var(--line);background-color:#fff;background-image:repeating-linear-gradient(#0000 0 14px,#1a48400b 14px 15px),repeating-linear-gradient(#0000 0 59px,#1a484026 59px 60px);grid-row:2;transition:background-color .14s,box-shadow .14s;position:relative}.draft-visual-day-track.drag-target{background-color:#f2f8f4;box-shadow:inset 0 0 0 2px #1f746233}.draft-visual-lesson{z-index:1;border:1px solid #79a397;border-left:4px solid var(--accent);min-width:0;color:var(--ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f1f8f4;border-radius:8px;align-content:start;gap:2px;padding:7px 7px 6px;transition:top .13s,left .13s,right .13s,box-shadow .13s,border-color .13s;display:grid;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 2px 8px #173c361a}.draft-visual-lesson:hover,.draft-visual-lesson:focus-visible{z-index:4;outline-offset:1px;outline:3px solid #1e6f5e38}.draft-visual-lesson.dragging{z-index:10;cursor:grabbing;opacity:.93;transition:none;box-shadow:0 10px 24px #173c3638}.draft-visual-lesson.locked{cursor:default;background:#eff2ee;border-color:#91a19b #91a19b #91a19b #697a74}.draft-visual-lesson.conflict{background:#fff3f0;border-color:#cf5c4b #cf5c4b #cf5c4b #bd2f24}.draft-visual-lesson-heading{justify-content:space-between;align-items:center;gap:4px;display:flex}.draft-visual-lesson-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.draft-visual-lesson-heading>span{color:#688079;font-weight:900}.draft-visual-lesson>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.draft-visual-lesson>.draft-visual-conflict{color:#a42922;font-weight:750}.draft-visual-actions{background:linear-gradient(90deg,#0000,#f1f8f4 14px);gap:3px;padding-left:16px;display:none;position:absolute;top:4px;right:4px}.draft-visual-lesson.conflict .draft-visual-actions{background:linear-gradient(90deg,#0000,#fff3f0 14px)}.draft-visual-lesson:hover .draft-visual-actions,.draft-visual-lesson:focus-within .draft-visual-actions{display:flex}.draft-visual-actions button{border-radius:5px;min-height:26px;padding:3px 6px;font-size:.63rem}.draft-visual-lock{display:flex;position:absolute;bottom:4px;right:5px}.draft-editor .draft-visual-lock input{width:15px;min-height:15px;accent-color:var(--accent);margin:0}.draft-placement-editor{border:1px solid var(--line);background:#fff;border-radius:11px;padding:18px}.draft-placement-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.draft-reference-select{align-content:start;gap:6px;min-width:0;display:grid}.draft-reference-select>div:first-of-type{align-items:stretch;gap:7px;min-width:0;display:flex}.draft-reference-select select{width:100%;min-width:0}.draft-reference-select button{flex:none}.draft-reference-problem{color:var(--danger);justify-content:space-between;align-items:center;gap:8px;display:flex}.draft-reference-problem button{flex:none}.draft-assignment-summary{background:var(--soft);color:var(--muted);border-radius:8px;flex-wrap:wrap;gap:8px 20px;margin-top:14px;padding:11px 13px;font-size:.83rem;display:flex}.draft-placement-editor-actions,.draft-editor-actions{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.draft-reason textarea{resize:vertical;min-height:92px}.draft-reason small{color:var(--muted);font-weight:400}@media (width<=780px){.draft-definition-fields{grid-template-columns:1fr 1fr}.draft-definition-fields label:first-child{grid-column:1/-1}.draft-placement-section-heading{display:grid}.draft-placement-toolbar{justify-content:start}}@media (width<=560px){.draft-definition-fields,.draft-placement-fields{grid-template-columns:1fr}.draft-definition-fields label:first-child{grid-column:auto}.draft-reference-select>div:first-of-type,.draft-editor-actions,.draft-placement-editor-actions{display:grid}}.publication-panel{background:#fff;border:1px solid #cfd6e5;border-radius:.8rem;gap:1rem;margin-top:1.25rem;padding:1.1rem;display:grid}.publication-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.publication-heading h3,.publication-history-heading h4{margin:.1rem 0 .35rem}.publication-heading p{color:var(--muted);margin:0;line-height:1.5}.publication-form{background:#f8faff;border:1px solid #bac8ee;border-radius:.7rem;gap:.9rem;padding:1rem;display:grid}.publication-form label{gap:.35rem;font-weight:750;display:grid}.publication-form label small,.publication-hint{color:var(--muted);margin:0;font-size:.78rem;font-weight:500;line-height:1.45}.publication-period{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.publication-impact{background:#edf2ff;border-left:4px solid #3154dc;border-radius:.35rem;padding:.85rem}.publication-impact p{margin:.25rem 0 0;line-height:1.5}.publication-acknowledge{align-items:flex-start;line-height:1.45;grid-template-columns:auto 1fr!important;font-weight:600!important}.publication-acknowledge input{margin-top:.2rem}.publication-actions{gap:.65rem;display:flex}.publication-success{color:#176943;background:#e5f5ec;border-radius:.55rem;margin:0;padding:.75rem .9rem;font-weight:750}.publication-error{color:#951f29;background:#fff0f0;border-radius:.55rem;padding:.85rem}.publication-error p{margin:0 0 .55rem}.publication-history-heading{border-top:1px solid #e0e4ed;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.publication-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.publication-list li{border:1px solid #dce1eb;border-radius:.6rem;grid-template-columns:1fr minmax(12rem,.65fr);gap:1rem;padding:.8rem;display:grid}.publication-list li>div{align-content:start;gap:.2rem;display:grid}.publication-list span,.publication-list small,.publication-list time{color:var(--muted);font-size:.78rem}.publication-list p{margin:.2rem 0 0;font-size:.85rem}.publication-empty{color:var(--muted);margin:0}@media (width<=720px){.publication-heading,.publication-history-heading{flex-direction:column;align-items:stretch}.publication-heading button,.publication-history-heading button{width:100%}.publication-period,.publication-list li{grid-template-columns:1fr}.publication-actions{flex-direction:column}.publication-actions button{width:100%}}.draft-workspace-shell{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:28px;padding:clamp(24px,5vw,44px);box-shadow:0 10px 34px #173c3609}.draft-workspace-heading,.draft-detail-heading,.draft-evaluation-heading,.draft-evaluation-section-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.draft-workspace-heading>div{max-width:740px}.draft-workspace-heading p:last-child{margin-bottom:0}.draft-workspace-content{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.draft-read-only{background:#f5f1e8;border:1px solid #cfc8b9;border-radius:10px;gap:3px;margin-top:18px;padding:13px 15px;display:grid}.draft-read-only span{color:var(--muted);font-size:.84rem}.draft-toolbar,.draft-detail-heading>div:last-child,.draft-history-toolbar{justify-content:flex-end;gap:8px;display:flex}.draft-loading{color:var(--muted);align-items:center;gap:10px;padding:25px 0;display:flex}.draft-empty{background:#f7f8f3;border-radius:11px;margin-top:20px;padding:22px}.draft-list{border-top:1px solid var(--line);margin:20px 0;padding:0;list-style:none}.draft-list li{border-bottom:1px solid var(--line)}.draft-list button{text-align:left;width:100%;color:var(--ink);background:0 0;justify-content:space-between;gap:20px;display:flex}.draft-list button:hover{background:var(--soft)}.draft-list span{color:var(--muted);font-size:.84rem}.draft-detail{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.draft-detail-heading span{color:var(--muted)}.draft-lock-command,.draft-small-form{border:1px solid var(--line);background:#f8faf6;border-radius:11px;margin:20px 0;padding:18px}.draft-lock-command label,.draft-small-form label{gap:6px;display:grid}.draft-lock-command textarea,.draft-small-form textarea{min-height:85px;font:inherit;border:1px solid #8ca099;border-radius:8px;padding:10px}.draft-small-form>div{gap:8px;margin-top:15px;display:flex}.draft-evaluation{border:1px solid var(--line);border-radius:13px;margin-top:22px;padding:22px}.draft-evaluation-heading h4{margin:0 0 5px}.draft-evaluation-heading p{margin:0}.draft-evaluation-heading>span{color:var(--muted);font-size:.8rem}.draft-evaluation-disclaimer{color:#604b27;background:#fff6df;border-radius:9px;padding:13px 15px}.draft-evaluation-totals{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.draft-evaluation-totals>div{background:#f7f8f3;border-radius:9px;gap:4px;padding:13px;display:grid}.draft-evaluation-totals span{color:var(--muted);font-size:.84rem}.draft-incomplete{margin-top:16px}.draft-incomplete ul{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.draft-incomplete li{background:#fae8ca;border-radius:999px;padding:4px 8px;font-size:.76rem}.draft-evaluation-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.draft-evaluation-section h5{margin:0;font-size:1rem}.draft-findings,.draft-preferences{margin:12px 0;padding:0;list-style:none}.draft-findings>li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:10px;padding:13px 0;display:grid}.draft-findings p{margin:0}.draft-findings>li>small{color:var(--muted);grid-column:2}.draft-finding-severity{border-radius:999px;padding:3px 7px;font-size:.7rem;font-weight:800}.draft-finding-severity.blocker{color:#8b2525;background:#fde4df}.draft-finding-severity.warning{color:#744014;background:#fae8ca}.draft-preferences li{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 14px;padding:12px 0;display:flex}.draft-preferences span,.draft-history-names-note{color:var(--muted);font-size:.82rem}.draft-conflict-details{background:#fafbf8;border-radius:10px;grid-column:2;gap:10px;padding:12px;display:grid}.draft-conflict-resource{font-size:.9rem}.draft-conflict-details h6{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.82rem}.draft-conflict-details ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.draft-conflict-details li{border:1px solid var(--line);background:#fff;border-radius:9px;gap:8px;padding:12px;display:grid}.draft-conflict-lesson-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.draft-conflict-lesson-heading span{color:var(--muted);white-space:nowrap}.draft-conflict-details dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.draft-conflict-details dl div{min-width:0}.draft-conflict-details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.draft-conflict-details dd{overflow-wrap:anywhere;margin:3px 0 0}.draft-conflict-action{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.draft-conflict-action button{min-height:44px}.draft-conflict-action small{color:var(--muted);max-width:48rem}.draft-saved-check{color:#174f38;background:#edf8f1;border:1px solid #9fc8b3;border-radius:10px;margin:18px 0 0;padding:13px 15px}.draft-saved-check.checking{border-color:var(--line);color:var(--muted);background:#f7f8f3}.draft-saved-check.remaining,.draft-saved-check.unverified{color:#744014;background:#fff8ee;border-color:#d9ab71}.draft-history,.draft-compare,.draft-comparison,.draft-historical-view{border:1px solid var(--line);border-radius:12px;margin-top:24px;padding:20px}.draft-history ul,.draft-comparison ul{padding:0;list-style:none}.draft-history li{border-top:1px solid var(--line);justify-content:space-between;gap:18px;padding:15px 0;display:flex}.draft-history li>div{gap:4px;display:grid}.draft-history li p{margin:0}.draft-compare>div{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.draft-compare label{gap:6px;display:grid}.draft-comparison dl{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.draft-comparison dl div{background:#f7f8f3;border-radius:8px;padding:10px}.draft-comparison dd{margin:3px 0 0;font-weight:800}.draft-comparison li{border-top:1px solid var(--line);gap:3px;padding:10px 0;display:grid}.draft-comparison li span{color:var(--muted);font-size:.82rem}.draft-snapshot-changes{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.draft-snapshot-changes span{color:var(--muted);background:#f1eee5;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}.draft-error{border-left:3px solid var(--danger);background:#fff4f1;margin-top:18px;padding:15px}.draft-error p{color:#7d2525}.draft-error button{margin-right:7px}@media (width<=760px){.draft-workspace-heading,.draft-detail-heading,.draft-evaluation-heading{display:grid}.draft-evaluation-totals,.draft-compare>div{grid-template-columns:1fr}.draft-comparison dl{grid-template-columns:1fr 1fr}.draft-conflict-details dl{grid-template-columns:1fr}.draft-conflict-lesson-heading{display:grid}.draft-conflict-lesson-heading span{white-space:normal}}@media (width<=520px){.draft-list button,.draft-history li{display:grid}.draft-toolbar,.draft-detail-heading>div:last-child{flex-wrap:wrap;justify-content:start}.draft-findings>li{grid-template-columns:1fr}.draft-findings>li>small,.draft-conflict-details{grid-column:1}.draft-small-form>div{display:grid}}.setup-workspace{margin-top:1.25rem;animation:.5s cubic-bezier(.22,1,.36,1) both setup-workspace-arrival}.setup-toolbar{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.25rem;display:flex}.setup-toolbar h2{margin-bottom:.35rem;font-size:clamp(1.55rem,3vw,2.2rem)}.setup-toolbar p:last-child{margin-bottom:0}.setup-readiness{border:1px solid var(--line);background:#fff;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;margin:0 0 1rem;padding:.85rem 1rem;display:grid}.setup-readiness-icon{color:#56627a;background:#edf0f5;border-radius:50%;place-items:center;width:2.1rem;height:2.1rem;font-weight:900;display:grid}.setup-readiness>div{gap:.08rem;min-width:0;display:grid}.setup-readiness small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.setup-readiness strong{color:var(--ink)}.setup-readiness>div>span{color:var(--muted);font-size:.8rem;line-height:1.4}.setup-readiness.ready{background:#f3faf6;border-color:#b9d9c7}.setup-readiness.ready .setup-readiness-icon{color:#176943;background:#dcefe4}.setup-readiness.missing{background:#fff5f5;border-color:#efb9bd}.setup-readiness.missing .setup-readiness-icon{color:#a51f29;background:#ffe1e1}.setup-readiness.verify{background:#fffaf0;border-color:#ead1a9}.setup-readiness.verify .setup-readiness-icon{color:#9a500b;background:#fff0d8}.setup-context{color:var(--ink);align-items:center;gap:.75rem;display:flex}.setup-context-mark{background:var(--ink);color:#fff;border-radius:.65rem;place-items:center;width:2.25rem;height:2.25rem;font-size:.68rem;font-weight:850;display:grid}.setup-context>span:last-child{display:grid}.setup-context small{color:var(--muted);font-size:.78rem}.setup-mode{border:1px solid var(--line);background:#f2f4f8;border-radius:.75rem;flex:none;gap:.3rem;padding:.28rem;display:flex}.setup-mode button{color:var(--ink);background:0 0;border-radius:.52rem;padding:.58rem .85rem;font-size:.82rem}.setup-mode button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:0 2px 7px #10204f2e}.setup-tool-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.setup-tool-nav button{text-align:left;min-height:108px;color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:.9rem;grid-template-columns:2rem 1fr;align-items:start;gap:.7rem;padding:1rem;display:grid}.setup-tool-nav button.active{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 10px 24px #173c3621}.setup-tool-number{color:#547069;background:#edf1e9;border-radius:.6rem;place-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:800;display:grid}.setup-tool-nav strong,.setup-tool-nav small{display:block}.setup-tool-nav strong{line-height:1.25}.setup-tool-nav small{color:#61736e;margin-top:.35rem;font-weight:500;line-height:1.38}.full-workspace .setup-step-panel>section{margin-top:0}.setup-guide-layout{grid-template-columns:minmax(0,1fr) minmax(310px,360px);align-items:start;gap:clamp(1.5rem,2.5vw,2.75rem);display:grid}.setup-guide-main{min-width:0}.setup-conversation{min-width:0;padding-left:2.9rem;position:relative}.setup-conversation:before{content:"";z-index:0;background:#bfd0c7;width:1px;position:absolute;top:1.25rem;bottom:0;left:.98rem}.setup-resume{border:1px solid var(--line);background:#fff;border-radius:.7rem;align-items:center;min-height:64px;margin-bottom:.8rem;padding:.8rem 1rem;display:flex;position:relative}.setup-resume:before,.setup-choice:before{content:"";border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:inherit;width:.72rem;height:.72rem;position:absolute;left:-.58rem;transform:rotate(45deg)}.setup-resume>div{gap:.12rem;display:grid}.setup-resume small{color:var(--muted)}.setup-timeline-dot{z-index:2;color:#fff;background:#3154dc;border:5px solid #dbe4ff;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.68rem;font-weight:850;display:grid;position:absolute;left:-2.9rem}.setup-timeline-dot.complete{background:#128452;border-color:#fff;box-shadow:0 0 0 1px #cae2d6}.setup-timeline-dot.attention{background:#c96808;border-color:#fff1dc}.setup-timeline-dot.blocked{background:#b4232d;border-color:#ffe5e5}.setup-route{gap:.7rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.setup-route li{position:relative}.setup-choice{text-align:left;width:100%;min-height:62px;color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:relative}button.setup-choice:hover{background:#fafbff;border-color:#aeb8d2}.setup-choice>span:nth-child(2){min-width:0;display:grid}.setup-choice strong{text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.setup-choice small{color:var(--muted);font-weight:500}.setup-choice.reviewed .setup-timeline-dot{background:#128452;border-color:#dff2e8}.setup-choice.skipped .setup-timeline-dot{background:#c96808;border-color:#fff1dc}.setup-choice.blocked{background:#fff5f5;border-color:#efb9bd}.setup-choice.blocked .setup-timeline-dot{background:#b4232d;border-color:#ffe5e5}.setup-edit-label{color:#2949d3;flex:none;font-size:.78rem;font-weight:750}.setup-current{animation:.42s cubic-bezier(.22,1,.36,1) both setup-step-arrival;position:relative}.setup-current>.setup-timeline-dot{top:.7rem}.setup-current-content{min-width:0}.setup-current-message{background:#e9eeff;border-radius:.55rem;margin-bottom:.8rem;padding:1rem 1.2rem;position:relative}.setup-current-message:before{content:"";background:#e9eeff;width:.75rem;height:.75rem;position:absolute;top:1.15rem;left:-.55rem;transform:rotate(45deg)}.setup-current-message .eyebrow{color:#2949d3;letter-spacing:.08em;margin:0 0 .25rem}.setup-current-message>p:last-child{color:#4f6085;margin:.3rem 0 0;line-height:1.5}.setup-current h3,.setup-summary h3{color:var(--ink);margin:0;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.35}.setup-current h3:focus-visible,.setup-summary h3:focus-visible{outline-offset:.3rem;outline:2px solid #2949d3}.guided .setup-panels{margin:.8rem 0 0 2.9rem}.setup-step-panel[hidden]{display:none!important}.setup-step-panel:not([hidden]){animation:.48s cubic-bezier(.22,1,.36,1) both setup-panel-arrival}.guided .setup-step-panel>section{border-color:var(--line);box-shadow:none;margin-top:0}.setup-actions{border-top:1px solid var(--line);margin-left:2.9rem;padding:1rem 0 0}.setup-actions p{color:var(--muted);margin-bottom:.75rem;font-size:.82rem;line-height:1.5}.setup-actions>div{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.setup-actions-spacer{flex:1}.setup-skip{color:#2949d3;background:0 0;padding-inline:.5rem}.setup-summary{border:1px solid var(--line);background:#fff;border-radius:.75rem;padding:1.25rem;position:relative}.setup-summary>.setup-timeline-dot{top:1rem}.setup-summary-label{color:#2949d3;margin:0 0 .25rem;font-size:.74rem;font-weight:800}.setup-summary>div>p:not(.setup-summary-label):first-of-type{margin:.35rem 0 1rem}.setup-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0;display:grid}.setup-summary-metrics div{border:1px solid var(--line);border-radius:.7rem;align-items:center;gap:.7rem;padding:1rem;display:flex}.setup-summary-metrics strong{color:var(--ink);font-size:1.7rem}.setup-summary-metrics span{color:var(--muted);font-size:.85rem}.setup-pending{background:#fff8ea;border-radius:.7rem;margin-top:1rem;padding:1rem}.setup-pending h4{margin:0 0 .65rem}.setup-pending button{text-align:left;background:#fff;justify-content:space-between;gap:1rem;width:100%;margin-top:.5rem;display:flex}.setup-pending button>span:first-child{display:grid}.setup-pending button small{color:var(--muted);margin-top:.18rem;font-weight:500}.setup-pending button>span:last-child{color:#2949d3;flex:none;align-self:center;font-size:.8rem;font-weight:750}.setup-summary-note{color:#274079;background:#edf3ff;margin:1rem 0 0;padding:.8rem 1rem;font-size:.86rem}.setup-progress-panel{border-left:1px solid var(--line);background:#ffffff80;padding:1.35rem;position:sticky;top:1rem}.setup-progress-panel>h3{margin-bottom:1rem;font-size:1.18rem}.setup-progress-ring{place-items:center;width:7rem;height:7rem;margin:0 auto 1.2rem;display:grid;position:relative}.setup-progress-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.setup-progress-ring circle{fill:none;stroke-width:4px}.setup-progress-ring .track{stroke:#e6e9f0}.setup-progress-ring .value{stroke:#3154dc;stroke-linecap:round}.setup-progress-ring strong{color:var(--ink);align-items:baseline;gap:.2rem;font-size:1.2rem;display:flex}.setup-progress-ring small{font-size:.7rem}.setup-progress-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.2rem;margin:0;padding:1rem 0;list-style:none;display:grid}.setup-progress-list li{color:#4f5f7f;border-radius:.55rem;grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:42px;padding:.4rem .45rem;display:grid}.setup-progress-list li.reviewed{color:#1b6846}.setup-progress-list li.skipped{color:#9a500b}.setup-progress-list li.blocked{color:#9c1f29;background:#fff0f0}.setup-step-icon{border:1px solid #cbd2e2;border-radius:.45rem;place-items:center;width:1.65rem;height:1.65rem;font-size:.7rem;font-weight:800;display:grid}.setup-progress-list em,.setup-progress-mobile em{color:#56627a;white-space:nowrap;background:#edf0f5;border-radius:999px;padding:.24rem .48rem;font-size:.68rem;font-style:normal;font-weight:750}.setup-progress-list .current em,.setup-progress-mobile .current em{color:#2444ca;background:#dce6ff}.setup-progress-list .reviewed em,.setup-progress-mobile .reviewed em{color:#137148;background:#e0f2e9}.setup-progress-list .skipped em,.setup-progress-mobile .skipped em{color:#ad5807;background:#fff0d8}.setup-progress-list .blocked em,.setup-progress-mobile .blocked em{color:#a51f29;background:#ffe1e1}.setup-summary-metrics .danger{background:#fff4f4;border-color:#efb9bd}.setup-summary-metrics .danger strong{color:#aa202b}.setup-summary-metrics .warning{background:#fff9ed;border-color:#efd5aa}.setup-summary-metrics .warning strong{color:#aa5809}.setup-resolve-check{background:#a51f29;margin-top:.25rem}.setup-resolve-check:hover{background:#871923}.setup-system-status{border-radius:.65rem;gap:.2rem;margin-top:1rem;padding:.8rem;font-size:.78rem;display:grid}.setup-system-status span{color:inherit;opacity:.82}.setup-system-status button{width:fit-content;color:inherit;text-underline-offset:3px;background:0 0;border-radius:0;margin-top:.35rem;padding:.35rem 0;font-size:.75rem;text-decoration:underline}.setup-system-status.blocked{color:#961f28;background:#fff0f0}.setup-system-status.ready{color:#176943;background:#e6f4ec}.setup-progress-note{color:var(--muted);margin:1rem 0 0;font-size:.78rem;line-height:1.5}.setup-progress-mobile{display:none}@keyframes setup-workspace-arrival{0%{transform:translateY(14px)}to{transform:none}}@keyframes setup-step-arrival{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes setup-panel-arrival{0%{opacity:0;transform:translateY(14px)scale(.995)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.setup-workspace,.setup-current,.setup-step-panel:not([hidden]){animation:none}}@media (width<=980px){.setup-guide-layout{grid-template-columns:1fr}.setup-progress-panel{border:1px solid var(--line);background:#fff;border-radius:.8rem;order:-1;grid-template-columns:1fr auto;align-items:center;gap:.75rem 1rem;padding:1rem;display:grid;position:static}.setup-progress-panel>h3{margin:0}.setup-progress-ring{grid-area:1/2;width:4rem;height:4rem;margin:0}.setup-progress-ring strong{font-size:.9rem}.setup-progress-list,.setup-progress-note{display:none}.setup-progress-mobile{grid-column:1/-1;display:block}.setup-progress-mobile summary{cursor:pointer;color:#2949d3;font-size:.85rem;font-weight:750}.setup-progress-mobile ul{gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.setup-progress-mobile li{justify-content:space-between;gap:.6rem;display:flex}}@media (width<=850px){.setup-tool-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.setup-readiness{grid-template-columns:auto minmax(0,1fr)}.setup-readiness>button{grid-column:1/-1;width:100%}.setup-toolbar{align-items:stretch;display:grid}.setup-mode{width:100%}.setup-mode button{flex:1}.setup-tool-nav{scroll-snap-type:x proximity;padding-bottom:.45rem;display:flex;overflow-x:auto}.setup-tool-nav button{scroll-snap-align:start;flex:0 0 210px;min-height:68px}.setup-tool-nav small{display:none}.setup-conversation{padding-left:2.35rem}.setup-conversation:before{left:.72rem}.setup-timeline-dot{border-width:4px;width:1.6rem;height:1.6rem;left:-2.35rem}.setup-resume,.setup-current-message,.setup-summary{padding:.9rem}.setup-edit-label{display:none}.guided .setup-panels,.setup-actions{margin-left:2.35rem}.setup-actions>div{grid-template-columns:1fr 1fr;display:grid}.setup-actions-spacer{display:none}.setup-actions button{width:100%}.setup-actions #setup-next{grid-area:1/1/auto/-1}.setup-summary-metrics{grid-template-columns:1fr}.setup-pending button{align-items:flex-start}.setup-pending button>span:last-child{display:none}}.setup-workspace{--ink:#10244f;--muted:#52627b;--line:#dce4ef;--accent:#1558b5;--soft:#edf3fb;color:#10244f}.setup-workspace.guided{--ink:#10244f;--muted:#52627b;--line:#dce4ef;--accent:#1558b5;--soft:#edf3fb}.setup-toolbar .eyebrow,.setup-summary-label,.setup-current-message .eyebrow{color:#1558b5}.setup-mode{background:#f1f4f8;border-color:#dce4ef}.setup-mode button[aria-pressed=true]{background:#10244f;box-shadow:0 2px 7px #10244f2e}.setup-tool-nav button{border-color:#dce4ef;border-radius:14px;box-shadow:0 5px 14px #10244f0a}.setup-tool-nav button:hover{background:#f6f9fd;border-color:#9eb8dd}.setup-tool-nav button.active{background:#10244f;border-color:#10244f;box-shadow:0 10px 24px #10244f21}.setup-tool-number{color:#1558b5;background:#e8f1fd}.setup-tool-nav button.active .setup-tool-number{color:#1558b5;background:#fff}.setup-tool-nav small{color:#52627b}.setup-tool-nav button.active small{color:#cfdaec}.setup-readiness,.setup-resume,.setup-summary,.setup-progress-panel{border-color:#dce4ef}.setup-readiness-icon{color:#52627b;background:#edf1f6}.setup-choice{color:#10244f;border-color:#dce4ef}.setup-choice small,.setup-resume small,.setup-progress-note{color:#52627b}.setup-timeline-dot{background:#1558b5;border-color:#dce7fa}.setup-current-message,.setup-current-message:before{background:#e8f1fd}.setup-current-message>p:last-child{color:#405a7d}.setup-current h3:focus-visible,.setup-summary h3:focus-visible{outline-color:#1558b5}.setup-edit-label,.setup-skip,.setup-pending button>span:last-child,.setup-progress-mobile summary{color:#1558b5}.setup-skip:hover{background:#edf3fb}.setup-summary-note{color:#294f82;background:#edf3fb}.setup-progress-ring .value{stroke:#1558b5}.setup-progress-list li{color:#52627b}.setup-progress-list li.current{color:#0d4fa8;background:#e8f1fd}.setup-step-icon{border-color:#c7d3e2}.setup-panels>.setup-step-panel:not([hidden])>section{border-color:#dce4ef;box-shadow:0 10px 28px #10244f0c}.operations-workspace{color:#153c35;width:100%;animation:.32s ease-out operations-in}.operations-hero{justify-content:space-between;align-items:flex-end;gap:2rem;margin:1.2rem 0 2rem;display:flex}.operations-hero h2{margin:.3rem 0;font-size:clamp(2rem,4vw,3.5rem)}.read-only-pill,.searching-pill{color:#536b66;background:#eef1ed;border-radius:999px;padding:.35rem .7rem;font-size:.86rem;display:inline-flex}.operations-date{flex-direction:column;gap:.35rem;font-weight:700;display:flex}.operations-summary{background:#fff;border:1px solid #d7dfdb;border-radius:22px;grid-template-columns:1.1fr 1.25fr repeat(3,1fr);display:grid;overflow:hidden;box-shadow:0 14px 40px #173c3410}.operations-summary article{border-right:1px solid #e3e8e5;flex-direction:column;justify-content:center;min-height:8.5rem;padding:1.45rem;display:flex}.operations-summary article:last-child{border:0}.operations-summary strong{font-size:2.2rem;line-height:1}.operations-summary span{color:#536b66}.operations-summary small{font-size:.95rem}.status-count strong{font-size:1.45rem}.status-count.assigned{background:#edf8f0}.status-count.waiting{background:#fff7e6}.status-count.missing{background:#fff0eb}.operations-queue-heading{align-items:center;gap:.7rem;margin:2.2rem 0 1rem;display:flex}.operations-queue-heading h3{margin:0;font-size:1.5rem}.operations-queue-heading span{color:#fff;background:#163e36;border-radius:999px;place-items:center;min-width:1.7rem;height:1.7rem;display:grid}.coverage-list{gap:.8rem;display:grid}.coverage-card{background:#fff;border:1px solid #d7dfdb;border-radius:16px;grid-template-columns:8rem minmax(14rem,1fr) minmax(20rem,1.3fr);align-items:center;gap:1.2rem;padding:1rem 1.2rem;transition:transform .18s,box-shadow .18s;display:grid}.coverage-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #173c3412}.coverage-time{border-right:1px solid #e3e8e5;flex-direction:column;display:flex}.coverage-time strong{font-size:1.45rem}.coverage-time span,.coverage-lesson p,.candidate span{color:#637772;font-size:.88rem}.coverage-lesson h4,.coverage-lesson p{margin:.15rem 0}.candidate{justify-content:space-between;align-items:center;gap:1rem;display:flex}.candidate>div{flex-direction:column;display:flex}.candidate button{white-space:nowrap}.operations-empty{background:#edf8f0;border-radius:16px;align-items:center;gap:1rem;padding:1.4rem;display:flex}.operations-empty>span{color:#fff;background:#15824f;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.operations-notice{background:#fff7e6;border-radius:10px;padding:.8rem 1rem}.operations-state{justify-content:center;align-items:center;gap:1rem;min-height:16rem;display:flex}@keyframes operations-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=1000px){.operations-summary{grid-template-columns:1fr 1fr}.operations-summary article{border-bottom:1px solid #e3e8e5}.coverage-card{grid-template-columns:6rem 1fr}.candidate-area{grid-column:1/-1}}@media (width<=620px){.operations-hero{flex-direction:column;align-items:stretch}.operations-summary{grid-template-columns:1fr}.operations-summary article{min-height:auto}.coverage-card{grid-template-columns:1fr}.coverage-time{border-right:0}.candidate{flex-direction:column;align-items:stretch}}.operations-date-controls{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.operations-day-navigation{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:.5rem;display:flex}.operations-day-navigation button{white-space:nowrap;min-height:44px}.operations-date-hint{color:#637772;margin:.35rem 0 0;font-size:.82rem}.operations-freshness{color:#637772;justify-content:flex-end;align-items:center;gap:.65rem;min-height:2.6rem;font-size:.82rem;display:flex}.operations-freshness button{white-space:nowrap}.candidate small,.candidate-fallback small{color:#637772;font-size:.88rem}.candidate-fallback{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.operations-notice.error{background:#fff0eb}@media (width<=720px){.operations-date-controls{align-items:stretch}.operations-day-navigation{justify-content:flex-start}.operations-day-navigation .operations-date{flex:12rem}.operations-day-navigation button{min-width:44px}.operations-freshness{justify-content:space-between}}.coverage-lesson h4{overflow-wrap:anywhere}.school-day-timeline{background:#fff;border:1px solid #d7dfdb;border-radius:22px;margin-top:2rem;padding:clamp(1rem,2.2vw,1.6rem);box-shadow:0 14px 40px #173c340d}.school-day-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.school-day-heading h3{margin:.15rem 0 .25rem;font-size:clamp(1.55rem,2.5vw,2.2rem)}.school-day-heading p{color:#637772;margin:0}.school-day-heading>span{color:#47625c;white-space:nowrap;background:#edf3ef;border-radius:999px;padding:.45rem .8rem;font-weight:750}.school-day-state{color:#536b66;background:#f1f4f0;border-radius:14px;justify-content:center;align-items:center;gap:.8rem;min-height:9rem;margin-top:1.2rem;display:flex}.school-day-state.error{color:#8b342d;background:#fff0eb}.school-day-status{color:#60736e;background:#f3f5f2;border-radius:10px;margin:1rem 0 0;padding:.65rem .85rem;font-size:.86rem}.school-day-scroll{overscroll-behavior-inline:contain;border:1px solid #d7dfdb;border-radius:15px;margin-top:1.1rem;overflow-x:auto}.school-day-board{grid-template-columns:70px repeat(auto-fit,minmax(178px,1fr));grid-template-rows:var(--school-day-header-height) var(--school-day-height);background:#fff;display:grid;position:relative;overflow:hidden}.school-day-corner{background:#f4f7f3;border-bottom:1px solid #d7dfdb;grid-area:1/1}.school-day-class-heading{background:#f4f7f3;border-bottom:1px solid #d7dfdb;border-left:1px solid #d7dfdb;align-content:center;min-width:0;padding:.45rem .65rem;display:grid}.school-day-class-heading strong{font-size:.86rem}.school-day-class-heading span,.school-day-class-heading small{color:#536b66;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.school-day-axis{background:#fafbf9;grid-area:2/1;position:relative}.school-day-axis span{color:#5d706b;font-variant-numeric:tabular-nums;font-size:.68rem;position:absolute;right:8px;transform:translateY(-7px)}.school-day-lane{min-width:0;height:var(--school-day-height);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--school-day-quarter-height) - 1px),#173c340a calc(var(--school-day-quarter-height) - 1px),#173c340a var(--school-day-quarter-height)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--school-day-hour-height) - 1px),#173c3424 calc(var(--school-day-hour-height) - 1px),#173c3424 var(--school-day-hour-height));border-left:1px solid #d7dfdb;grid-row:2;position:relative}.school-day-lesson{z-index:1;min-width:0;height:var(--lesson-height);color:inherit;font:inherit;text-align:left;cursor:pointer;background:#eef8f3;border:1px solid #8fb6aa;border-left:4px solid #176f5e;border-radius:8px;align-content:start;gap:2px;padding:7px 8px;transition:opacity .2s,box-shadow .2s,transform .2s;display:grid;position:absolute;left:5px;right:5px;overflow:hidden;box-shadow:0 2px 7px #173c3412}.school-day-lesson:hover,.school-day-lesson:focus-visible{z-index:4;height:auto;min-height:max(var(--lesson-height),84px);outline-offset:2px;outline:3px solid #146f5e;overflow:visible;transform:translateY(-1px);box-shadow:0 9px 20px #173c3430}.school-day-lesson.selected{z-index:4;box-shadow:0 0 0 3px #146f5e55,0 9px 20px #173c3430}.school-day-lesson.past{opacity:.78;filter:saturate(.88)}.school-day-lesson.past:hover,.school-day-lesson.past:focus-visible{opacity:1}.school-day-lesson.active{z-index:3;background:#e0f7eb;border-color:#0b805e;box-shadow:0 0 0 3px #19a77425,0 7px 18px #173c3420}.school-day-lesson-heading{justify-content:space-between;gap:.25rem;min-width:0;display:flex}.school-day-lesson strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.school-day-lesson-heading>span{color:#8a5100;background:#fff0c9;border-radius:999px;padding:.08rem .3rem;font-size:.58rem;font-weight:800}.school-day-lesson time,.school-day-lesson small{color:#405c56;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.25;overflow:hidden}.school-day-lesson:hover time,.school-day-lesson:hover small,.school-day-lesson:focus-visible time,.school-day-lesson:focus-visible small{text-overflow:clip;white-space:normal;overflow:visible}.school-day-now-marker{z-index:5;pointer-events:none;background:#e33131;height:2px;position:absolute;left:55px;right:0;box-shadow:0 1px 4px #e3313155}.school-day-now-marker:before{content:"";background:#e33131;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:12px}.school-day-now-marker span{color:#fff;font-variant-numeric:tabular-nums;background:#d62525;border-radius:5px;padding:2px 5px;font-size:.62rem;font-weight:850;position:absolute;top:-10px;left:0}@media (width<=620px){.school-day-heading{flex-direction:column;align-items:flex-start}.school-day-board{grid-template-columns:58px repeat(auto-fit,minmax(160px,1fr))}.school-day-now-marker{left:46px}}.school-day-lesson-detail{background:#f9fbf9;border:2px solid #9bb8af;border-radius:20px;outline:none;gap:1rem;margin-top:1rem;padding:clamp(1rem,2.2vw,1.5rem);display:grid;box-shadow:0 14px 36px #173c3414}.school-day-lesson-detail>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.school-day-lesson-detail>header h3{overflow-wrap:anywhere;margin:.18rem 0 0;font-size:clamp(1.35rem,2.3vw,1.9rem)}.school-day-lesson-detail>header p{margin:0}.school-day-lesson-detail>header button{flex:none}.school-day-lesson-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.school-day-lesson-facts>div{background:#fff;border-radius:11px;min-width:0;padding:.75rem}.school-day-lesson-facts dt{color:#637772;font-size:.78rem;font-weight:750}.school-day-lesson-facts dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:750}.school-day-lesson-audiences>strong{font-size:.84rem}.school-day-lesson-audiences ul{flex-wrap:wrap;gap:.45rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.school-day-lesson-audiences li,.school-day-lesson-change{color:#365b52;overflow-wrap:anywhere;background:#edf3ef;border-radius:999px;padding:.4rem .65rem;font-size:.82rem}.school-day-lesson-change{justify-self:start;margin:0}.school-day-lesson-operations{border-top:1px solid #d7dfdb;padding-top:1rem}.school-day-lesson-operations-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.school-day-lesson-operations h4{margin:0;font-size:1.05rem}.school-day-lesson-operations>p{color:#637772;margin:.65rem 0 0}.school-day-lesson-operations>ul{gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.school-day-lesson-operations>ul>li{background:#fff;border:1px solid #d7dfdb;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.school-day-lesson-operations li>div:first-child{gap:.2rem;min-width:0;display:grid}.school-day-lesson-operations li span{color:#637772;font-size:.84rem}.school-day-lesson-operation-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.school-day-lesson-operation-actions button{white-space:nowrap}.absence-lesson-card:focus,.coverage-card:focus{outline-offset:3px;outline:3px solid #146f5e}@media (width<=620px){.school-day-lesson-detail{max-height:min(76vh,720px);overflow-y:auto}.school-day-lesson-detail>header,.school-day-lesson-operations>ul>li{flex-direction:column;align-items:stretch}.school-day-lesson-detail>header button{align-self:flex-start}.school-day-lesson-facts{grid-template-columns:1fr}.school-day-lesson-operation-actions{flex-direction:column;justify-content:stretch}.school-day-lesson-operation-actions button{white-space:normal;width:100%}}.operations-date input{min-width:12rem;max-width:100%}.operations-hero{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.4fr);align-items:start;gap:1.25rem 2rem;margin:.35rem 0 1.5rem;display:grid}.operations-hero-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;min-width:0;display:flex}.operations-hero-heading .timetable-setup-launch{box-shadow:none;flex:none}.operations-date-controls{min-width:0}@media (width<=1100px){.operations-hero{grid-template-columns:1fr}.operations-date-controls{align-items:flex-start}.operations-day-navigation,.operations-freshness{justify-content:flex-start}}@media (width<=520px){.operations-hero-heading{align-items:stretch}.operations-hero-heading .timetable-setup-launch{justify-content:center;width:100%}}.substitution-policy{background:#fff;border:1px solid #d4ded8;border-radius:12px;margin:.9rem 0 1.25rem}.substitution-policy summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:46px;padding:.65rem .85rem;font-weight:750;display:flex}.substitution-policy summary strong{color:#47625c;text-align:right;font-size:.78rem;font-weight:700}.substitution-policy-body{border-top:1px solid #edf1ee;padding:0 .85rem .85rem}.substitution-policy-body>p[role=status]{align-items:center;gap:.5rem;margin:.75rem 0 0;display:flex}.substitution-policy-read{justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:.8rem;display:flex}.substitution-policy-read p,.substitution-policy-future{margin:.15rem 0 0;font-size:.82rem;line-height:1.45}.substitution-policy fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.8rem 0 0;padding:0;display:grid}.substitution-policy fieldset label{cursor:pointer;border:1px solid #ccd9d3;border-radius:10px;align-items:flex-start;gap:.55rem;padding:.7rem;display:flex}.substitution-policy fieldset input{flex:none;margin-top:.2rem}.substitution-policy fieldset span{gap:.15rem;display:grid}.substitution-policy fieldset small{color:#637772;font-weight:500;line-height:1.4}.substitution-policy-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.substitution-policy-notice{border-radius:8px;margin:.6rem 0 0;padding:.55rem .7rem;font-size:.82rem}.substitution-policy-notice.success,.operations-notice.relaunch-success{color:#176943;background:#e7f5ec}.substitution-policy-notice.error,.operations-notice.relaunch-error{color:#8b342d;background:#fff0eb}.candidate-fallback>button{margin-top:.35rem}.candidate-relaunch{margin-top:.55rem}.school-day-lesson.uncovered>div span{color:#8a4300;background:#ffe0b3}@media (width<=620px){.substitution-policy summary{align-items:flex-start}.substitution-policy fieldset{grid-template-columns:1fr}.substitution-policy-read{flex-direction:column}}.school-day-timeline{min-width:0}.school-day-filters{flex-wrap:wrap;align-items:end;gap:.8rem 1rem;margin-top:1.1rem;display:flex}.school-day-filters label{flex:210px;gap:.35rem;min-width:0;max-width:420px;font-size:.85rem;font-weight:700;display:grid}.school-day-filters select{width:100%;min-width:0}.school-day-filters p{color:#637772;flex-basis:100%;margin:0;font-size:.8rem}.school-day-scroll{max-width:100%}.school-day-board{overflow:visible}.school-day-axis{z-index:6;position:sticky;left:0;box-shadow:3px 0 5px #173c3412}.school-day-axis span:first-child{transform:translateY(2px)}.school-day-corner{z-index:7;position:sticky;left:0}@media (width<=620px){.school-day-filters label{max-width:none}}.absence-lessons{background:#fff;border:1px solid #d7dfdb;border-radius:20px;margin-top:1.25rem;padding:clamp(1rem,2vw,1.4rem);box-shadow:0 12px 32px #173c340b}.absence-lessons-heading{justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.absence-lessons-heading h3{margin:.12rem 0 .25rem;font-size:clamp(1.35rem,2.2vw,1.85rem)}.absence-lessons-heading p:not(.eyebrow){color:#637772;max-width:58rem;margin:0}.absence-lessons-heading>span{color:#365b52;background:#edf3ef;border-radius:999px;place-items:center;min-width:2rem;height:2rem;padding:0 .55rem;font-weight:800;display:grid}.absence-lesson-list{gap:.7rem;margin-top:1rem;display:grid}.absence-lesson-card{background:#fff;border:1px solid #d7dfdb;border-radius:14px;overflow:hidden}.absence-lesson-card.cancelled{color:#536b66;background:#f5f7f5}.absence-lesson-main{grid-template-columns:6.5rem minmax(13rem,1fr) minmax(12rem,auto);align-items:center;gap:1rem;padding:.85rem 1rem;display:grid}.absence-lesson-time{border-right:1px solid #e3e8e5;flex-direction:column;display:flex}.absence-lesson-time strong{font-size:1.25rem}.absence-lesson-time span,.absence-lesson-description p,.absence-lesson-description small,.absence-lesson-action small{color:#637772;font-size:.82rem}.absence-lesson-description{gap:.15rem;min-width:0;display:grid}.absence-lesson-description h4,.absence-lesson-description p{overflow-wrap:anywhere;margin:0}.absence-lesson-description small{display:block}.absence-lesson-action{text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;gap:.5rem;display:flex}.absence-status{color:#805006;background:#fff4dd;border-radius:999px;padding:.32rem .62rem;font-size:.8rem;font-weight:750;display:inline-flex}.absence-status.status-assigned{color:#176943;background:#e7f5ec}.absence-status.status-cancelled,.absence-status.status-completed,.absence-status.status-expired{color:#536b66;background:#edf1ee}.absence-lessons-empty{background:#edf8f0;border-radius:12px;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;display:flex}.absence-lessons-empty>span{color:#fff;background:#15824f;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;display:grid}.absence-lessons-empty p{margin:0}.absence-cancellation{background:#f7f9f7;border-top:1px solid #d7dfdb;padding:1rem}.absence-cancellation>p[aria-busy=true]{align-items:center;gap:.65rem;margin:0;display:flex}.absence-cancellation-preview h4{margin:0 0 .45rem}.absence-cancellation-preview p{margin:.35rem 0}.absence-cancellation-blockers{color:#83372f;background:#fff0eb;border-radius:10px;margin:.7rem 0 0;padding:.75rem 1rem .75rem 2rem}.absence-cancellation-notice{border-radius:9px;margin:0 0 .75rem;padding:.7rem .8rem}.absence-cancellation-notice.error{color:#83372f;background:#fff0eb}.absence-cancellation-notice.warning{color:#77520d;background:#fff5dc}.absence-cancellation-notice.success{color:#176943;background:#e7f5ec}.absence-cancellation-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:.85rem;display:flex}@media (width<=760px){.absence-lesson-main{grid-template-columns:5rem 1fr}.absence-lesson-action{text-align:left;grid-column:1/-1;align-items:stretch}.absence-lesson-action button{width:100%}.absence-cancellation-actions{flex-direction:column;align-items:stretch}.absence-cancellation-actions button{width:100%}}@media (width<=480px){.absence-lessons-heading{align-items:flex-start}.absence-lesson-main{grid-template-columns:1fr}.absence-lesson-time{border-right:0}.absence-lesson-action{grid-column:auto}}.operations-workspace{color:#10244f}.operations-hero{align-items:center;margin:.15rem 0 1rem;padding:0}.operations-hero h2{letter-spacing:-.035em;white-space:nowrap;font-size:clamp(1.75rem,2.35vw,2.15rem)}.operations-hero-heading{align-items:center}.operations-hero-heading .eyebrow{margin-bottom:.3rem}.operations-hero-heading .timetable-setup-launch{padding:.62rem .75rem;font-size:.84rem}.operations-hero .eyebrow{color:#1558b5}.read-only-pill,.searching-pill{color:#40516a;background:#edf3fb}.operations-date-hint,.operations-freshness,.candidate small,.candidate-fallback small{color:#52627b}.operations-summary{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:0;overflow:visible}.operations-summary article{background:#fff;border-radius:14px;min-height:112px;padding:1rem 1.05rem;position:relative;box-shadow:0 8px 22px #10244f0b;border:1px solid #dce4ef!important}.operations-summary article:before{content:"";background:#1558b5;border-radius:14px 0 0 14px;width:4px;position:absolute;inset:0 auto 0 0}.operations-summary article.status-count.missing:before{background:#c6283d}.operations-summary article.status-count.waiting:before{background:#b86400}.operations-summary article.status-count.assigned:before{background:#07876f}.operations-summary article.status-count.assigned,.operations-summary article.status-count.waiting,.operations-summary article.status-count.missing{background:#fff}.operations-summary article>span{color:#52627b;order:0;font-size:.78rem;font-weight:750}.operations-summary article>strong{color:#10244f;order:1;margin:.35rem 0 .15rem;font-size:1.75rem}.operations-summary article>small{color:#66758c;order:2;font-size:.76rem}.operations-summary article>strong span{color:#1558b5;font-size:.82em}.operations-summary article.status-count.missing>strong span{color:#c6283d}.operations-summary article.status-count.waiting>strong span{color:#8a4b00}.operations-summary article.status-count.assigned>strong span{color:#066750}.operations-primary-grid{grid-template-columns:minmax(285px,350px) minmax(0,1fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.operations-interventions{background:#fff;border:1px solid #dce4ef;border-radius:16px;outline:none;min-width:0;max-height:760px;padding:1rem;scroll-margin-top:90px;overflow:auto;box-shadow:0 10px 26px #10244f0d}.operations-interventions:focus-visible{box-shadow:0 0 0 4px #1558b522,0 10px 26px #10244f0d}.operations-queue-heading{border-bottom:1px solid #e6ebf2;justify-content:space-between;align-items:flex-start;margin:0 0 .9rem;padding-bottom:.8rem}.operations-queue-heading>div{min-width:0}.operations-queue-heading .eyebrow{color:#1558b5;margin:0 0 .2rem;font-size:.65rem}.operations-queue-heading h3{font-size:1.15rem}.operations-queue-heading>span{color:#fff;background:#10244f}.operations-interventions .coverage-list{gap:.55rem}.operations-interventions .coverage-card{box-shadow:none;border-color:#dce4ef;border-radius:12px;grid-template-columns:4rem minmax(0,1fr);gap:.55rem;padding:.65rem .7rem}.operations-interventions .coverage-card:hover{border-color:#9eb8dd;transform:none;box-shadow:0 5px 14px #10244f10}.operations-interventions .coverage-time{border-color:#e1e7f0}.operations-interventions .coverage-time strong{font-size:1rem}.operations-interventions .coverage-time span,.operations-interventions .coverage-lesson p{color:#52627b;font-size:.72rem}.operations-interventions .coverage-lesson h4{font-size:.82rem}.operations-interventions .candidate-area{border-top:1px solid #edf0f5;grid-column:1/-1;padding-top:.45rem}.operations-interventions .candidate{flex-direction:row;align-items:center}.operations-interventions .candidate button,.operations-interventions .candidate-fallback button{width:auto;padding:.5rem .65rem;font-size:.76rem}.operations-interventions .candidate-fallback{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.operations-interventions .candidate-relaunch{justify-content:flex-end;margin-top:.35rem}.operations-interventions .operations-notice{margin:0 0 .75rem}.operations-interventions .operations-empty{background:#edf8f5;align-items:flex-start;padding:.9rem}.operations-interventions .operations-empty>span{background:#07876f;flex:none}.operations-timetable-column{min-width:0}.operations-timetable-column .school-day-timeline{border-color:#dce4ef;border-radius:16px;height:auto;margin-top:0;padding:.6rem;scroll-margin-top:90px;box-shadow:0 10px 26px #10244f0d}.operations-timetable-column .school-day-heading{align-items:end}.operations-timetable-column .school-day-heading>div{flex:1;grid-template-columns:auto minmax(12rem,1fr);align-items:baseline;gap:.05rem 1rem;display:grid}.operations-timetable-column .school-day-heading .eyebrow{grid-column:1/-1;margin:0}.operations-timetable-column .school-day-heading h3{margin:0;font-size:clamp(1.4rem,1.8vw,1.6rem)}.operations-timetable-column .school-day-heading p:not(.eyebrow){margin:0;font-size:.78rem;line-height:1.3}.operations-timetable-column .school-day-heading>span{padding:.32rem .6rem;font-size:.75rem}.operations-timetable-column .school-day-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(12rem,.72fr);align-items:end;gap:.5rem .65rem;margin-top:.5rem;display:grid}.operations-timetable-column .school-day-filters label{gap:.15rem;max-width:none;font-size:.72rem}.operations-timetable-column .school-day-filters select{min-height:36px;padding-block:.38rem}.operations-timetable-column .school-day-filters p{grid-column:auto;margin:0 0 .35rem;font-size:.69rem;line-height:1.3}.operations-timetable-column .school-day-status{margin:.45rem 0 0;padding:.36rem .65rem;font-size:.72rem}.operations-timetable-column .school-day-scroll{margin-top:.3rem}.school-day-heading h3{color:#10244f}.school-day-heading p,.school-day-filters p{color:#52627b}.school-day-heading>span{color:#40516a;background:#edf3fb}.school-day-scroll{border-color:#dce4ef;border-radius:12px}.school-day-corner,.school-day-class-heading{background:#f3f6fa;border-color:#dce4ef}.school-day-class-heading span,.school-day-class-heading small,.school-day-axis span{color:#52627b}.school-day-axis{background:#f9fbfd;box-shadow:3px 0 5px #10244f12}.school-day-lane{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--school-day-quarter-height) - 1px),#10244f0a calc(var(--school-day-quarter-height) - 1px),#10244f0a var(--school-day-quarter-height)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--school-day-hour-height) - 1px),#10244f1e calc(var(--school-day-hour-height) - 1px),#10244f1e var(--school-day-hour-height));border-color:#dce4ef}.school-day-lesson{color:#10244f;background:#edf4fd;border-color:#8bb3e7 #8bb3e7 #8bb3e7 #1558b5;box-shadow:0 2px 7px #10244f14}.school-day-lesson time,.school-day-lesson small{color:#40516a}.school-day-lesson:hover,.school-day-lesson:focus-visible{outline-color:#1558b5;box-shadow:0 9px 20px #10244f28}.school-day-lesson.selected{box-shadow:0 0 0 3px #1558b54d,0 9px 20px #10244f28}.school-day-lesson.active{background:#e8f8f3;border-color:#07876f;box-shadow:0 0 0 3px #07876f25,0 7px 18px #10244f20}.school-day-lesson.changed{background:#fff7e8;border-left-color:#b86400}.school-day-lesson.uncovered{background:#fff4e3;border-color:#d89a54 #d89a54 #d89a54 #b86400}.school-day-lesson-detail{background:#f8faff;border-color:#9eb8dd;box-shadow:0 14px 36px #10244f14}.school-day-lesson-detail:focus-visible{box-shadow:0 0 0 4px #1558b522,0 14px 36px #10244f14}.school-day-lesson-facts>div,.school-day-lesson-operations>ul>li{border-color:#dce4ef}.school-day-lesson-facts dt,.school-day-lesson-operations li span,.school-day-lesson-operations>p{color:#52627b}.school-day-lesson-audiences li,.school-day-lesson-change{color:#29405f;background:#edf3fb}.absence-lesson-card:focus,.coverage-card:focus{outline-color:#1558b5}.absence-lessons{border-color:#dce4ef;border-radius:16px;box-shadow:0 10px 26px #10244f0d}.absence-lessons-heading p:not(.eyebrow),.absence-lesson-time span,.absence-lesson-description p,.absence-lesson-description small,.absence-lesson-action small{color:#52627b}.absence-lessons-heading>span{color:#29405f;background:#edf3fb}.absence-lesson-card{border-color:#dce4ef}.absence-lesson-time{border-color:#e1e7f0}.substitution-policy{border-color:#dce4ef}.substitution-policy summary strong{color:#40516a}.substitution-policy-body{border-color:#edf0f5}.substitution-policy fieldset label{border-color:#c7d3e2}.substitution-policy fieldset label:has(input:checked){background:#edf4fd;border-color:#1558b5}.substitution-policy fieldset small{color:#52627b}@media (width<=1280px){.operations-primary-grid{grid-template-columns:300px minmax(0,1fr)}}@media (width<=1000px){.operations-primary-grid{grid-template-columns:1fr}.operations-interventions{max-height:none}.operations-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-summary article{min-height:96px}}@media (width<=560px){.operations-summary{grid-template-columns:1fr 1fr;gap:.55rem}.operations-summary article{min-height:92px;padding:.8rem}.operations-summary article>strong{font-size:1.4rem}.operations-primary-grid{gap:.75rem}.operations-interventions,.operations-timetable-column .school-day-timeline{border-radius:14px;padding:.8rem}.operations-hero h2{white-space:normal}.operations-interventions .candidate{flex-direction:column;align-items:stretch}.operations-interventions .candidate button,.operations-interventions .candidate-fallback button{width:100%}.operations-interventions .candidate-fallback{flex-direction:column;align-items:stretch}}@media (width<=820px){.operations-timetable-column .school-day-heading>div{grid-template-columns:1fr}.operations-timetable-column .school-day-heading .eyebrow{grid-column:auto}.operations-timetable-column .school-day-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-timetable-column .school-day-filters p{grid-column:1/-1;margin:0}}@media (width<=620px){.operations-timetable-column .school-day-heading{align-items:flex-start}.operations-timetable-column .school-day-filters{grid-template-columns:1fr}}.join-page{place-items:start center;min-height:calc(100vh - 72px);padding:clamp(32px,8vh,86px) 20px;display:grid}.join-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;width:min(100%,620px);padding:clamp(26px,5vw,44px);box-shadow:0 18px 55px #173c3617}.join-card.success{background:linear-gradient(145deg,#f4fbf6,#fff 58%);border-color:#a8cfb5}.join-card h1{margin:.25rem 0 1rem;font-size:clamp(1.9rem,5vw,2.8rem)}.join-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.join-card>button,.join-card>.button-link{margin:14px 8px 0 0}.join-destination{border:1px solid var(--line);border-radius:13px;gap:0;margin:24px 0 8px;display:grid;overflow:hidden}.join-destination>div{border-top:1px solid var(--line);grid-template-columns:minmax(110px,.65fr) 1.35fr;gap:16px;padding:13px 15px;display:grid}.join-destination>div:first-child{border-top:0}.join-destination dt{color:var(--muted);font-size:.82rem;font-weight:700}.join-destination dd{overflow-wrap:anywhere;margin:0;font-weight:750}.join-loading{align-items:center;gap:12px;min-height:90px;display:flex}.join-warning,.join-error{background:#fff5e6;border-radius:10px;padding:12px 14px;color:#744014!important}.join-error{background:#fff0eb;color:#8b342d!important}.join-help{margin:14px 0 0;font-size:.85rem}.join-current-account{overflow-wrap:anywhere;font-weight:750;color:var(--ink)!important}.button-link{color:#fff;background:var(--accent);border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:750;text-decoration:none;display:inline-flex}@media (width<=520px){.join-page{padding:22px 12px}.join-card{padding:24px 20px}.join-destination>div{grid-template-columns:1fr;gap:3px}.join-card>button,.join-card>.button-link{width:100%;margin-right:0}}:root{color:#10244f;font-synthesis:none;--ink:#10244f;--muted:#52627b;--surface:#fff;--line:#dce4ef;--accent:#1558b5;--soft:#edf3fb;--danger:#c6283d;--success:#07876f;--warning:#b86400;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{min-width:320px;margin:0}button,select{font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #1558b5}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fffffff7;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:14px clamp(20px,3vw,48px);display:flex}.brand{color:var(--ink);align-items:center;gap:11px;font-weight:760;text-decoration:none;display:flex}.brand-mark{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:10px;place-items:center;width:36px;height:36px;font-size:.72rem;display:grid}.topbar-actions{align-items:center;gap:10px;display:flex}main{width:100%;max-width:1680px;margin:0 auto;padding:clamp(30px,4vw,64px) clamp(20px,3vw,48px) 80px}.context-engaged-main{padding-top:22px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.052em;max-width:900px;margin-bottom:18px;font-size:clamp(2.25rem,5vw,4.65rem);line-height:1.02}h2{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2}h3{margin-bottom:9px;font-size:1.08rem}p{color:var(--muted)}.eyebrow,.step-label{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;font-size:.72rem;font-weight:800}.intro{max-width:690px;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7}button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:12px 17px;font-weight:720}button:hover{background:#0d3f87}button:disabled{opacity:.6;cursor:wait}.button-secondary{color:var(--ink);background:0 0;border:1px solid #b8c6d9}.button-secondary:hover,.button-tertiary:hover{background:var(--soft)}.button-tertiary{width:fit-content;color:var(--ink);border:1px solid var(--line);background:0 0;padding:9px 12px;font-size:.9rem}select{min-height:44px;color:var(--ink);background:#fff;border:1px solid #b8c6d9;border-radius:8px;padding:9px 36px 9px 11px}@supports (appearance:base-select){select:not([multiple]):not([size]){appearance:base-select}select:not([multiple]):not([size])::picker(select){appearance:base-select}select:not([multiple]):not([size]){cursor:pointer;gap:.75rem;padding-inline-end:12px}select:not([multiple]):not([size]):disabled{cursor:not-allowed}select:not([multiple]):not([size])::picker-icon{color:#52627b;margin-inline-start:auto}select:not([multiple]):not([size])::picker(select){min-inline-size:anchor-size(width);overscroll-behavior:contain;background:var(--surface);max-block-size:min(22rem,60dvh);max-inline-size:calc(100vw - 24px);color:var(--ink);font:inherit;border:1px solid #c7d3e2;border-radius:14px;margin-block:6px;padding:6px;overflow-y:auto;box-shadow:0 12px 32px #10244f26,0 2px 6px #10244f10}select:not([multiple]):not([size]) option{white-space:normal;overflow-wrap:anywhere;cursor:pointer;border-radius:8px;gap:.75rem;min-block-size:44px;padding:10px 12px;font-weight:500}select:not([multiple]):not([size]) option:checked{color:#10244f;background:#e8f1fd;font-weight:700}select:not([multiple]):not([size]) option:not(:disabled):hover{background:#f1f5fb}select:not([multiple]):not([size]) option:focus-visible{outline-offset:-2px;background:#e8f1fd;outline:2px solid #1558b5}select:not([multiple]):not([size]) option::checkmark{color:#1558b5}select:not([multiple]):not([size]) option:disabled{color:#687773;cursor:not-allowed}}label{font-size:.88rem;font-weight:720}.sign-in-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:clamp(38px,8vw,100px);min-height:calc(100vh - 230px);display:grid}.state-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;max-width:520px;padding:clamp(26px,5vw,42px);box-shadow:0 18px 50px #173c360f}.state-card p{line-height:1.65}.sign-in-card button{width:100%;margin-top:10px}.centered{text-align:center;margin:12vh auto 0}.centered h1{margin-top:22px;font-size:clamp(1.8rem,4vw,2.7rem)}.workspace-heading{opacity:1;max-height:280px;margin-bottom:36px;transition:max-height .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1),opacity .28s,transform .4s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:translateY(0)}.workspace-heading h1{font-size:clamp(2.1rem,4.3vw,3.8rem)}.workspace-heading.context-engaged{opacity:0;pointer-events:none;max-height:0;margin-bottom:0;transform:translateY(-14px)}.context-picker{border:1px solid var(--line);background:#fffffff0;border-radius:18px;width:100%;padding:clamp(20px,3vw,28px);transition:padding .4s,border-radius .4s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 18px 48px #173c3612}.context-picker:after{content:"";pointer-events:none;background:radial-gradient(circle,#bc692526,#0000 68%);border-radius:50%;width:180px;height:180px;position:absolute;top:-120px;right:-70px}.context-picker.has-school{border-radius:13px;padding:14px 18px;box-shadow:0 8px 24px #173c360b}.context-picker-fields{grid-template-columns:minmax(0,1fr) 0fr;align-items:start;gap:0;transition:grid-template-columns .55s cubic-bezier(.22,1,.36,1),gap .55s cubic-bezier(.22,1,.36,1);display:grid}.context-picker.has-school .context-picker-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,4vw,46px)}.context-field{min-width:0;position:relative}.context-field-heading{align-items:center;gap:9px;margin-bottom:9px;display:flex}.context-field-heading label{font-size:.82rem}.context-field-mark{color:#315d51;background:#e7eee4;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:850;transition:color .25s,background .25s,transform .35s cubic-bezier(.22,1,.36,1);display:grid}.context-picker.has-school #school-panel .context-field-mark,.context-picker.ready .year-field .context-field-mark{color:#fff;background:#19865a;transform:scale(1.06)}.context-field select{background-color:#fff;width:100%;transition:border-color .2s,box-shadow .2s}.context-field select:hover{border-color:#55766c}.context-year-stage{opacity:0;filter:blur(4px);pointer-events:none;min-width:0;transition:opacity .32s 80ms,filter .38s 80ms,transform .48s cubic-bezier(.22,1,.36,1) 40ms;position:relative;overflow:hidden;transform:translate(24px)}.context-year-stage.visible{opacity:1;filter:blur();pointer-events:auto;transform:translate(0)}.context-year-stage.visible .year-field{animation:.55s cubic-bezier(.22,1,.36,1) both context-year-arrival}.context-year-stage:before{content:"";transform-origin:0;background:linear-gradient(90deg,#8bb2a2,#d4ddd8);width:clamp(18px,4vw,46px);height:1px;animation:.45s .12s both context-connector;position:absolute;top:11px;left:calc(clamp(18px,4vw,46px)/-2)}.context-picker.has-school .context-field-heading{margin-bottom:5px}.context-picker.has-school .context-field-heading label{color:var(--muted);font-size:.72rem}.context-picker.has-school .context-field-mark{width:18px;height:18px;font-size:.62rem}.context-picker.has-school select{min-height:40px}.context-picker .button-tertiary{margin-top:10px}.workspace-content-stage{opacity:0;transition:opacity .32s,transform .5s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.workspace-content-stage.visible{opacity:1;transform:translateY(0)}.workspace-context-loading{min-height:170px;color:var(--muted);justify-content:center;align-items:center;gap:10px;animation:.28s both context-loading-arrival;display:flex}.loading-line{align-items:center;gap:10px;min-height:48px;display:flex}.empty-state{background:#f7f8f3;border-radius:10px;margin-top:22px;padding:17px}.empty-state p{margin:5px 0 0;font-size:.9rem;line-height:1.55}.inline-error{border-left:3px solid var(--danger);background:#fff4f1;margin-top:18px;padding:14px}.inline-error p,.error{color:var(--danger);margin-bottom:10px}.global-error{color:var(--danger);background:#fff4f1;border:1px solid #e6b8ae;border-radius:9px;margin:-28px 0 28px;padding:12px 16px}.module-grid{background:#4d6d64;border:1px solid #4d6d64;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;display:grid;overflow:hidden}.module-grid article{background:#214a43;min-height:190px;padding:24px}.module-grid p{margin-bottom:0;font-size:.92rem;line-height:1.6}.module-link{color:#ffca9b;text-underline-offset:4px;margin-top:18px;font-weight:700;display:inline-block}.module-icon{color:#f0aa6e;letter-spacing:.12em;margin-bottom:28px;font-size:.72rem;font-weight:800;display:block}.authority-note{margin:24px 0 0;font-size:.83rem}.spinner{border:3px solid #d1ddd7;border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin;display:inline-block}.spinner.small{border-width:2px;width:18px;height:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes context-year-arrival{0%{opacity:0;transform:translate(16px)scale(.985)}to{opacity:1;transform:none}}@keyframes context-connector{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes context-loading-arrival{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:#d1ddd7;animation:none}.workspace-heading,.context-picker,.context-picker-fields,.context-year-stage,.workspace-content-stage{transition:none;animation:none}}@media (width<=800px){.sign-in-layout{grid-template-columns:1fr;align-content:center}.module-grid{grid-template-columns:1fr}}@media (width<=520px){.topbar{align-items:flex-start}.brand>span:last-child{display:none}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.context-picker.has-school .context-picker-fields{grid-template-columns:1fr;gap:16px}.context-year-stage{transform:translateY(14px)}.context-year-stage:before{display:none}}.year-workspace{width:100%;max-width:none}.year-workspace-action{justify-content:flex-end;margin:0 0 1rem;display:flex}.year-workspace-action.setup-return{z-index:30;pointer-events:none;position:sticky;top:82px}.year-workspace-action.setup-return>button{pointer-events:auto}.timetable-setup-launch,.daily-home-return{color:#10244f;background:#fff;border:1px solid #c7d3e2;align-items:center;gap:.6rem;padding:.72rem .9rem;display:inline-flex;box-shadow:0 6px 18px #10244f10}.timetable-setup-launch:hover,.daily-home-return:hover{background:#edf3fb}.timetable-setup-launch span,.daily-home-return span{color:#1558b5;background:#e8f1fd;border-radius:8px;place-items:center;width:1.8rem;height:1.8rem;display:grid}.daily-home{animation:.25s ease-out operations-in}.workspace-shell{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:clamp(1.25rem,2.2vw,2.25rem);display:grid}.workspace-sidebar{z-index:20;color:#fff;background:#10244f;border:1px solid #dce4ef;border-radius:18px;min-width:0;padding:1rem .75rem;position:sticky;top:82px;box-shadow:0 16px 38px #10244f18}.workspace-sidebar-title{border-bottom:1px solid #ffffff24;align-items:center;gap:.7rem;padding:.2rem .45rem 1rem;display:flex}.workspace-sidebar-title>span{color:#10244f;letter-spacing:.06em;background:#fff;border-radius:10px;place-items:center;width:2.15rem;height:2.15rem;font-size:.68rem;font-weight:850;display:grid}.workspace-sidebar-title>div{min-width:0;display:grid}.workspace-sidebar-title strong{font-size:.86rem}.workspace-sidebar-title small{color:#cbd8ec;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.workspace-navigation{gap:.35rem;padding-top:.85rem;display:grid}.workspace-navigation button{color:#dce7f7;text-align:left;width:100%;box-shadow:none;background:0 0;border:1px solid #0000;grid-template-columns:1.9rem minmax(0,1fr);align-items:center;gap:.6rem;padding:.66rem .65rem;display:grid}.workspace-navigation button:hover{background:#ffffff12}.workspace-navigation button.active,.workspace-navigation button[aria-current=page]{color:#10244f;background:#fff;border-color:#ffffff2b}.workspace-navigation button>span:first-child{background:#ffffff12;border-radius:8px;place-items:center;width:1.9rem;height:1.9rem;font-weight:850;display:grid}.workspace-navigation button.active>span:first-child,.workspace-navigation button[aria-current=page]>span:first-child{color:#1558b5;background:#e8f1fd}.workspace-navigation button>span:last-child{min-width:0;display:grid}.workspace-navigation strong{font-size:.82rem}.workspace-navigation small{color:#b8c8df;font-size:.67rem;font-weight:550;line-height:1.3}.workspace-navigation button.active small,.workspace-navigation button[aria-current=page] small{color:#52627b}.workspace-main{min-width:0}@media (width<=1100px){.workspace-shell{grid-template-columns:1fr}.workspace-sidebar{border-radius:14px;padding:.6rem;position:sticky;top:68px;overflow-x:auto}.workspace-sidebar-title{display:none}.workspace-navigation{gap:.4rem;min-width:max-content;padding:0;display:flex}.workspace-navigation button{grid-template-columns:1.8rem auto;width:auto;min-height:48px;padding:.45rem .65rem}.workspace-navigation small{display:none}}@media (width<=620px){.context-engaged-main{padding-inline:12px}.workspace-sidebar{margin-inline:-4px}.workspace-navigation button>span:last-child{display:block}.workspace-navigation strong{font-size:.76rem}}.app-shell select,.app-shell input:is([type=date],[type=time],[type=datetime-local]){box-sizing:border-box;color:#10244f;max-width:100%;min-height:44px;font:inherit;background-color:#fff;border:1px solid #b8c6d9;border-radius:12px;font-size:1rem;font-weight:600;line-height:1.35;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:0 2px 6px #10244f0a}.app-shell select{padding-block:.65rem;padding-inline:.85rem 2.5rem}.app-shell input:is([type=date],[type=time],[type=datetime-local]){appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-variant-numeric:tabular-nums;padding:.65rem .85rem}.app-shell select:not(:disabled):hover,.app-shell input:is([type=date],[type=time],[type=datetime-local]):not(:disabled):not([readonly]):hover{border-color:#52627b}.app-shell select:focus-visible,.app-shell input:is([type=date],[type=time],[type=datetime-local]):focus-visible{outline-offset:2px;border-color:#1558b5;outline:3px solid #1558b5;box-shadow:0 0 0 4px #1558b51a}.app-shell select:disabled,.app-shell input:is([type=date],[type=time],[type=datetime-local]):disabled,.app-shell input:is([type=date],[type=time],[type=datetime-local])[readonly]{color:#66758c;box-shadow:none;cursor:not-allowed;background-color:#edf1f6;border-color:#dce4ef}.app-shell input:is([type=date],[type=time],[type=datetime-local])::-webkit-calendar-picker-indicator{cursor:pointer;background-color:#e8f1fd;border-radius:6px;margin-inline-start:.5rem;padding:.25rem}.app-shell input:is([type=date],[type=time],[type=datetime-local]):is(:disabled,[readonly])::-webkit-calendar-picker-indicator{opacity:.55;cursor:not-allowed}.screen-transition{min-width:0;animation:.22s cubic-bezier(.22,1,.36,1) both screen-fade-in}.screen-transition>.setup-workspace,.screen-transition>.operations-workspace,.year-workspace.daily-home{animation:none}.setup-current,.setup-summary,.setup-step-panel:not([hidden]){animation:.2s cubic-bezier(.22,1,.36,1) both screen-fade-in}@keyframes screen-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen-transition,.setup-current,.setup-summary,.setup-step-panel:not([hidden]){animation:none}}.topbar.authenticated{z-index:50;border-color:#dce4ef;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:clamp(16px,2vw,30px);min-height:68px;padding-block:6px;display:grid;position:sticky;top:0;box-shadow:0 4px 18px #10244f0b}.topbar-context.context-picker{width:100%;min-width:0;max-width:960px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-self:stretch;padding:0;transition:none;overflow:visible}.topbar-context.context-picker:after,.topbar-context .context-year-stage:before{display:none}.topbar-context.context-picker .context-picker-fields{grid-template-columns:minmax(12rem,1.3fr) minmax(10rem,.7fr);align-items:end;gap:10px;display:grid}.topbar-context .context-field-heading,.topbar-context.context-picker.has-school .context-field-heading{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar-context .context-field select,.topbar-context.context-picker.has-school select{width:100%;min-width:0;min-height:44px}.topbar-context .context-year-stage{min-width:0;overflow:visible}.topbar-context .loading-line{min-height:44px;margin:0;font-size:.78rem}.topbar-context .empty-state,.topbar-context .inline-error{margin-top:2px;padding:8px 10px;font-size:.78rem}.topbar-context .empty-state p,.topbar-context .inline-error p{margin:2px 0 0;font-size:.74rem;line-height:1.35}.topbar-context.context-picker .button-tertiary{margin-top:4px;padding:6px 9px;font-size:.75rem}.workspace-context-guidance{color:var(--muted);background:#edf3fb;border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:.85rem}.topbar.authenticated .brand-mark{background:#10244f}.topbar.authenticated .context-field select{box-shadow:none;border-color:#c2cede}.topbar.authenticated .context-field select:hover{border-color:#6f86a5}@media (width<=1000px){.topbar.authenticated{grid-template-columns:minmax(0,1fr) max-content;gap:7px 14px}.topbar.authenticated .brand{grid-area:1/1}.topbar.authenticated .topbar-actions{grid-area:1/2}.topbar.authenticated .topbar-context{grid-area:2/1/auto/-1;max-width:none}.workspace-sidebar{top:118px}}@media (width<=520px){.topbar.authenticated{align-items:center;padding:7px 12px 9px}.topbar.authenticated .topbar-actions{flex-wrap:nowrap;justify-content:flex-end}.topbar-context.context-picker .context-picker-fields{grid-template-columns:minmax(0,1fr) minmax(8.75rem,.72fr);gap:8px}.workspace-sidebar{top:108px}}@media (prefers-reduced-motion:reduce){.topbar-context .context-year-stage{transition:none;animation:none}}
