:root{--brand:#184238;--brand-fill:#184238;--brand-fill-hover:#0f2e27;--brand-soft:#e2ede8;--brand-ink:#0f2a23;--on-brand:#fff;--topbar:#184238;--brand-text:#184238;--brand-hover:#0f2e27;--accent:#7a5200;--accent-fill:#ffd447;--accent-fill-hover:#f2c21f;--accent-text:#7a5200;--on-accent:#10201a;--logo-green:#184238;--logo-house:#fff;--logo-door:#ffd447;--on-door:#10201a;--paper:#eef4f1;--surface:#fff;--logo-ground:#fff;--surface-2:#f6faf8;--hover:#e5eeea;--ink:#10201a;--muted:#4a5c54;--line:#d5e3db;--line-strong:#bccfc4;--input-line:#7a8c84;--ok:#1b7a4b;--ok-soft:#ddf3e7;--warn:#8a5a00;--warn-soft:#fff1c9;--bad:#c8321e;--bad-soft:#fcebe7;--bad-fill:#c8321e;--bad-fill-hover:#a82816;--neutral-soft:#e6eeea;--cell-sel:#cfe3db;--weekend:#f3f8f5;--shadow-pop:0 16px 40px -16px #10201a59;--scrim:#0b141173;--sans:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Bricolage Grotesque", "Figtree", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--r-sm:8px;--r-md:12px;--row-h:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand:#7cc3ac;--brand-fill:#2b6e5b;--brand-fill-hover:#1f5446;--brand-text:#7cc3ac;--brand-hover:#1f5446;--brand-soft:#173029;--brand-ink:#cbe7dc;--topbar:#16302a;--accent:#ffd447;--accent-fill:#ffd447;--accent-fill-hover:#ffe07a;--accent-text:#ffd447;--paper:#0b1411;--surface:#15241e;--logo-ground:#fff;--surface-2:#182a23;--hover:#1c3129;--ink:#e6efea;--muted:#a3b8ae;--line:#25382f;--line-strong:#33493f;--input-line:#6a8278;--ok:#9bd66b;--ok-soft:#143a2a;--warn:#ffd27a;--warn-soft:#3a2e10;--bad:#ff8069;--bad-soft:#3d1c18;--bad-fill:#c8321e;--bad-fill-hover:#a82816;--neutral-soft:#1a2b24;--cell-sel:#1f473b;--weekend:#101c17;--shadow-pop:0 16px 40px -16px #000000b3;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--brand:#7cc3ac;--brand-fill:#2b6e5b;--brand-fill-hover:#1f5446;--brand-text:#7cc3ac;--brand-hover:#1f5446;--brand-soft:#173029;--brand-ink:#cbe7dc;--topbar:#16302a;--accent:#ffd447;--accent-fill:#ffd447;--accent-fill-hover:#ffe07a;--accent-text:#ffd447;--paper:#0b1411;--surface:#15241e;--logo-ground:#fff;--surface-2:#182a23;--hover:#1c3129;--ink:#e6efea;--muted:#a3b8ae;--line:#25382f;--line-strong:#33493f;--input-line:#6a8278;--ok:#9bd66b;--ok-soft:#143a2a;--warn:#ffd27a;--warn-soft:#3a2e10;--bad:#ff8069;--bad-soft:#3d1c18;--bad-fill:#c8321e;--bad-fill-hover:#a82816;--neutral-soft:#1a2b24;--cell-sel:#1f473b;--weekend:#101c17;--shadow-pop:0 16px 40px -16px #000000b3;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}p a,li a,.note a,.help a,.callout a,dd a{text-underline-offset:2px;text-decoration:underline}.tablewrap[tabindex="0"]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input,select,button,textarea{font-family:inherit;font-size:inherit;color:inherit}::selection{background:var(--brand-fill);color:var(--on-brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.skip-link{z-index:100;background:var(--surface);color:var(--ink);border-radius:var(--r-sm);border:2px solid var(--brand);padding:10px 14px;font-weight:600;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.topbar{background:var(--topbar);height:60px;color:var(--on-brand);z-index:30;align-items:center;gap:12px;padding:0 14px;display:flex;position:relative}.topbar-icon{width:var(--tap);height:var(--tap);flex:0 0 var(--tap);color:var(--on-brand);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.topbar-icon:hover{background:color-mix(in srgb, var(--on-brand) 12%, transparent)}.brand{flex:0 auto;align-items:center;gap:10px;min-width:0;max-width:300px;display:flex}.mark{background:var(--on-brand);width:32px;height:32px;color:var(--topbar);letter-spacing:-.02em;border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}img.mark{object-fit:contain}.mark.mark-logo{background:var(--logo-ground)}.school{flex-direction:column;min-width:0;line-height:1.15;display:flex}.school b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.school span{opacity:.88;font-size:12px}.topbar-end{flex:none;align-items:center;gap:8px;display:flex}.topbar-icon:focus-visible,.account-trigger:focus-visible{outline:2px solid var(--on-brand);outline-offset:2px}.body{min-height:0;display:flex;position:relative}.sidebar{background:var(--surface-2);border-right:1px solid var(--line);overscroll-behavior:contain;flex:0 0 264px;width:264px;padding:12px 10px 28px;overflow-y:auto}.sidebar[hidden]{display:none}.nav-group+.nav-group{margin-top:2px}.nav-group-head{width:100%;min-height:var(--tap);cursor:pointer;text-align:left;border-radius:var(--r-sm);color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.nav-group-head:hover{background:var(--hover)}.nav-group-icon{color:var(--muted);flex:none}.nav-group[data-active=true] .nav-group-icon{color:var(--brand-text)}.nav-chevron{color:var(--muted);flex:none;transition:transform .15s}.nav-chevron[data-open=true]{transform:rotate(90deg)}.nav-group-label{flex:1;min-width:0}.nav-list{margin:0 0 6px;padding:0;list-style:none}.nav-link{min-height:var(--tap);border-radius:var(--r-sm);color:var(--ink);align-items:center;gap:8px;padding:0 10px 0 38px;font-size:14px;text-decoration:none;display:flex;position:relative}.nav-link:hover{background:var(--hover);color:var(--ink);text-decoration:none}.nav-link.active,.nav-link[aria-current=page]{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.nav-link.active:before,.nav-link[aria-current=page]:before{content:"";background:var(--brand);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:22px}.nav-link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-group-head:focus-visible,.nav-link:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.nav-skeleton{flex-direction:column;gap:10px;padding:8px;display:flex}main{background:var(--paper);flex:1;min-width:0;overflow:auto}main:focus{outline:none}.page{padding:24px 32px 56px}@media (width<=899px){.sidebar{z-index:40;width:min(300px,86vw);box-shadow:var(--shadow-pop);animation:.18s ease-out drawer-in;position:absolute;top:0;bottom:0;left:0}.drawer-backdrop{z-index:35;background:var(--scrim);position:absolute;inset:0}.page{padding:16px}}@media (width<=599px){.topbar{gap:6px;padding:0 6px}.school{display:none}}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.crumbs ol{flex-wrap:wrap;align-items:center;gap:4px;margin:-10px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.crumbs li{color:var(--muted);min-width:0;min-height:var(--tap);align-items:center;gap:4px;display:inline-flex}.crumbs li+li:before{content:"/";color:var(--line-strong);padding:0 2px}.crumbs a{color:var(--muted);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);min-height:var(--tap);align-items:center;display:inline-flex}.crumbs a:hover{color:var(--brand-text)}.crumbs [aria-current=page]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;font-weight:500;overflow:hidden}.page-head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head-text{flex:360px;min-width:0}.page-head h1{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700;line-height:1.15}.page-head .lead,.page-head-text>p{color:var(--muted);max-width:72ch;margin:6px 0 0;font-size:14px;line-height:1.55}.page-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-head .title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-head+.tabs{margin-top:-8px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;margin-bottom:20px;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{min-height:var(--tap);color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;margin-bottom:-1px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.tabs a:hover,.tabs button:hover{color:var(--ink);text-decoration:none}.tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--brand)}.tabs a:focus-visible,.tabs button:focus-visible{outline-offset:-3px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:0;padding:20px}.card.flush{padding:0;overflow:hidden}.card.flush>.card-head{padding:16px 20px 12px}.card.soft{background:var(--brand-soft);border-color:#0000}.card.well{background:var(--surface-2)}.card-title{font-family:var(--sans);margin:0 0 4px;font-size:19px;font-weight:600}.card-lead{color:var(--muted);margin:0 0 16px;font-size:13.5px;line-height:1.5}.card-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.card-head .spacer{flex:1}.card h2,.card h3{font-family:var(--sans);flex-wrap:wrap;align-items:baseline;gap:0 10px;margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.3;display:flex}.card h3{font-size:16px}.card h2 .sub,.card h3 .sub,h2 .sub,h3 .sub{font-family:var(--sans);color:var(--muted);font-size:13.5px;font-weight:400}.card h2 .sub:before,.card h3 .sub:before{content:""}.modal h2.modal-title{display:block}.stack{flex-direction:column;gap:16px;display:flex}.stack.tight{gap:8px}.cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.muted{color:var(--muted)}.mono{font-family:var(--mono);letter-spacing:0;font-size:.93em}.num{font-family:var(--sans);font-variant-numeric:tabular-nums}.money{font-family:var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}.ref{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.nowrap{white-space:nowrap}.small{font-size:13px}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.row{flex-wrap:wrap;gap:16px;display:flex}.split{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:16px;display:grid}@media (width<=1099px){.split{grid-template-columns:1fr}}.stat{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:0;padding:14px 16px}.stat .k{color:var(--muted);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}.stat .v{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px;font-size:24px;font-weight:600}.stat .n{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.45}dl.facts{grid-template-columns:minmax(140px,max-content) 1fr;gap:10px 20px;margin:0;font-size:14px;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=599px){dl.facts{grid-template-columns:1fr;gap:2px}dl.facts dd{margin-bottom:10px}}.kv{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:14px;display:flex}.kv:last-child{border-bottom:0}.kv>:first-child{color:var(--muted)}.kv b{font-variant-numeric:tabular-nums;font-weight:600}.bar{background:var(--neutral-soft);border-radius:5px;height:8px;overflow:hidden}.bar>i{background:var(--brand);height:100%;display:block}.eyebrow{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);font-size:13px;font-weight:600}.pill{font-family:var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap;background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;align-items:center;gap:6px;padding:4px 9px 4px 8px;font-size:12.5px;font-weight:600;line-height:1.2;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.mute{background:var(--neutral-soft);color:var(--muted)}.pill.plain:before{display:none}.tag{border:1px solid var(--line-strong);color:var(--ink);white-space:nowrap;border-radius:6px;align-items:center;padding:3px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.badges{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.badge{font-family:var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.badge-new{background:var(--logo-door);color:var(--on-door)}.badge-updated{background:var(--brand-soft);color:var(--brand-ink)}.badge-retired{background:var(--neutral-soft);color:var(--muted)}.badge-curated{background:var(--logo-green);color:var(--logo-house);border-color:var(--logo-green)}.badge-custom{color:var(--ink);border-color:var(--input-line);background:0 0}.lesson-row .badges,.head-badges{margin-left:8px}.count-badge{background:var(--neutral-soft);min-width:22px;height:22px;color:var(--muted);font-size:12.5px;font-weight:600;font-family:var(--sans);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;display:inline-flex}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:var(--r-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover);text-decoration:none}.btn.primary{background:var(--brand-fill);border-color:var(--brand-fill);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-fill-hover);border-color:var(--brand-fill-hover)}.btn.accent{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.btn.accent:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.btn.danger{background:var(--bad-fill);border-color:var(--bad-fill);color:#fff}.btn.danger:hover{background:var(--bad-fill-hover);border-color:var(--bad-fill-hover)}.btn.danger-outline{color:var(--bad);border-color:var(--bad);background:var(--surface)}.btn.danger-outline:hover{background:var(--bad-soft)}.btn.quiet{color:var(--brand-text);background:0 0;border-color:#0000}.btn.quiet:hover{background:var(--brand-soft)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn.small{padding:0 12px;font-size:13.5px}.btn.icon{width:var(--tap);padding:0}.btn.more-btn{width:var(--tap);height:var(--tap);min-width:var(--tap);flex:0 0 var(--tap);color:var(--muted);justify-content:center;align-self:center;align-items:center;padding:0;display:inline-flex}.btn.more-btn:hover,.btn.more-btn[aria-expanded=true]{color:var(--ink);background:var(--hover)}.btn[aria-busy=true]{cursor:progress}.ghost-btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:var(--r-sm);justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.ghost-btn:hover{background:var(--hover)}.ghost-btn:disabled{opacity:.55;cursor:default}.callout{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;line-height:1.55;display:flex}.callout>.callout-body{flex:1;min-width:0}.callout b{font-weight:600}.callout.warn{background:var(--warn-soft);border-color:#0000;border-left-color:var(--warn)}.callout.danger{background:var(--bad-soft);border-color:#0000;border-left-color:var(--bad)}.callout.info{background:var(--brand-soft);border-color:#0000;border-left-color:var(--brand)}.callout.ok{background:var(--ok-soft);border-color:#0000;border-left-color:var(--ok)}.note{color:var(--muted);background:0 0;border:0;border-radius:0;padding:0;font-size:13.5px;line-height:1.55}.note+.note{margin-top:6px}.note.accent{color:var(--ink);border-left:3px solid var(--warn);padding-left:12px}.note b,.note strong{color:var(--ink);font-weight:600}.tablewrap{overflow:auto hidden}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-family:var(--sans);color:var(--muted);letter-spacing:0;text-transform:none;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;vertical-align:bottom;padding:10px 16px;font-size:13px;font-weight:600}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;height:var(--row-h);padding:10px 16px;font-size:14px}tbody tr:last-child td{border-bottom:0}th.num,td.num,th.money,td.money{text-align:right}th.num,th.money{font-family:var(--sans)}td.actions,th.actions{text-align:right;white-space:nowrap;width:1%}tbody tr.flag td:first-child{box-shadow:inset 3px 0 0 var(--warn)}tr.link-row{cursor:pointer}tr.link-row:hover td{background:var(--hover)}tr.link-row:focus-within td{background:var(--brand-soft)}.row-title{color:var(--ink);font-weight:600}a.row-title{color:var(--ink)}tbody td a:not(.btn){margin:-14px 0;padding:14px 0;display:inline-block}a.row-title:hover{color:var(--brand-text)}.row-sub{color:var(--muted);margin-top:2px;font-size:13px;display:block}tr.dim td{color:var(--muted)}tr.selected td,tr[aria-selected=true] td{background:var(--brand-soft)}tfoot td{border-top:2px solid var(--line-strong);padding:10px 16px;font-weight:600}table.dense tbody td{height:40px;padding:6px 12px;font-size:13.5px}table.dense thead th{z-index:1;padding:8px 12px;position:sticky;top:0}table.dense .sticky-col,table.dense tbody td:first-child.sticky,table.dense thead th:first-child.sticky{background:var(--surface);z-index:2;position:sticky;left:0}table.dense thead th.sticky-col{background:var(--surface-2);z-index:3}table.dense tbody tr:hover td{background:var(--hover)}table.dense td.cell-input{padding:2px 4px}table.dense td.cell-input input,table.dense td.cell-input select{text-align:right;width:100%;min-width:64px;min-height:40px}@media (width<=719px){table.responsive thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.responsive,table.responsive tbody,table.responsive tr,table.responsive td{width:100%;display:block}table.responsive tr{border-bottom:1px solid var(--line);padding:12px 16px}table.responsive tbody tr:last-child{border-bottom:0}table.responsive td{text-align:left;border:0;justify-content:space-between;gap:12px;height:auto;padding:3px 0;display:flex}table.responsive td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:13px;font-family:var(--sans);font-weight:600}table.responsive td.primary-cell{padding-bottom:6px;display:block}table.responsive td.actions{justify-content:flex-end}table.responsive tbody tr.flag{box-shadow:inset 3px 0 0 var(--warn)}table.responsive tbody tr.flag td:first-child{box-shadow:none}table.responsive tbody tr.flag td,table.responsive tr.link-row:hover td{background:0 0}}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.menu-wrap{display:inline-flex;position:relative}.menu{z-index:50;background:var(--surface);min-width:200px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.menu[data-up=true]{top:auto;bottom:calc(100% + 4px)}.menu [role=menuitem]{width:100%;min-height:var(--tap);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:flex}.menu [role=menuitem]:hover,.menu [role=menuitem]:focus-visible{background:var(--hover);outline:none}.menu [role=menuitem][data-danger=true]{color:var(--bad)}.menu [role=menuitem]:disabled{opacity:.55;cursor:not-allowed}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:16px;display:flex}.toolbar .field{flex:0 220px;min-width:160px;margin:0}.toolbar .field.grow{flex:280px;max-width:480px}.toolbar .field>label{font-size:13px}.toolbar .result-count{margin:0 0 12px auto}.toolbar .field:has(.segmented){flex:0 auto;max-width:100%}.toolbar .field:has(>select){flex:0 auto}.toolbar .field>select{width:auto;min-width:160px}.toolbar .field .help{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.segmented{border:1px solid var(--input-line);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;max-width:100%;display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;color:var(--muted);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:var(--tap);white-space:nowrap;background:0 0;flex:1 0 auto;margin:0 -1px -1px 0;padding:0 14px;font-size:14px;font-weight:600}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:var(--brand-soft);color:var(--brand-ink)}.segmented button:focus-visible{outline-offset:-3px}.segmented button:disabled{cursor:not-allowed;opacity:.6}.combo-option[aria-disabled=true]{color:var(--muted);cursor:not-allowed}.select-compact{width:auto;min-width:160px}.result-count{color:var(--muted);margin:0 0 8px;font-size:13.5px}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]),select,textarea){border:1px solid var(--input-line);border-radius:var(--r-sm);background-color:var(--surface);color:var(--ink);max-width:100%;padding:10px 12px;font-size:14.5px;line-height:1.3}textarea{resize:vertical;min-height:88px;line-height:1.5}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):hover{border-color:var(--ink)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}:where(input,select,textarea):disabled{background-color:var(--surface-2);color:var(--muted);cursor:not-allowed;border-color:var(--line-strong)}input[readonly]{background-color:var(--surface-2)}[aria-invalid=true]{border-color:var(--bad)!important}:where(select){appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:38px}select::-ms-expand{display:none}select[multiple]{background-image:none;padding-right:12px}.date-field{display:flex;position:relative}.date-field>input{font-variant-numeric:tabular-nums;width:100%;padding-right:48px}.date-btn{width:44px;min-height:var(--tap);border:0;border-left:1px solid var(--line);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;bottom:0;right:0}.date-btn:hover{color:var(--ink);background:var(--hover)}.date-btn:focus-visible{outline:2px solid var(--brand);outline-offset:0}.date-btn:disabled{cursor:not-allowed;opacity:.6}.date-pop{z-index:70;background:var(--surface);width:344px;max-width:calc(100vw - 16px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:10px;position:fixed}.date-pop-head{justify-content:space-between;align-items:center;gap:2px;margin-bottom:6px;display:flex}.date-pop-head b{font-size:15px;font-weight:600}.date-pop-head .btn.icon{flex:0 0 var(--tap);font-size:22px;line-height:1}.date-jumps{flex:auto;justify-content:center;gap:2px;min-width:0;display:flex}.date-pop-head .btn.date-jump{color:var(--ink);white-space:nowrap;padding:0 6px;font-size:15px;font-weight:600}.date-pop-title{text-align:center;min-height:var(--tap);flex:1;justify-content:center;align-items:center;display:flex}table.date-grid{border-collapse:collapse;table-layout:fixed;width:100%}table.date-grid th{text-align:center;color:var(--muted);background:0 0;border:0;padding:4px 0;font-size:12.5px}table.date-grid td{text-align:center;border:0;height:auto;padding:0}table.date-grid button{width:100%;height:var(--tap);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:14px}table.date-grid button:hover{background:var(--hover)}table.date-grid button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}table.date-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--brand)}table.date-grid td[aria-selected=true] button{background:var(--brand-fill);color:var(--on-brand);font-weight:600}table.date-grid button:disabled,.month-grid button:disabled{color:var(--muted);opacity:.45;cursor:not-allowed;background:0 0}.month-grid,.year-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.year-grid{overscroll-behavior:contain;grid-template-columns:repeat(4,1fr);max-height:296px;padding:2px;overflow-y:auto}.month-grid>[role=row],.year-grid>[role=row]{display:contents}.month-grid [role=gridcell],.year-grid [role=gridcell]{min-width:0;display:block}.month-grid button,.year-grid button{width:100%;height:var(--tap);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:14px}.month-grid button:hover,.year-grid button:hover{background:var(--hover)}.month-grid button:focus-visible,.year-grid button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.month-grid button[aria-current=date],.year-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--brand)}.month-grid [aria-selected=true] button,.year-grid [aria-selected=true] button{background:var(--brand-fill);color:var(--on-brand);font-weight:600}.date-pop-foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--brand-fill);flex:0 0 20px;margin:0}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex}.field{flex-direction:column;gap:6px;min-width:0;margin-bottom:16px;display:flex}.field>label,.field>.label,fieldset.field>legend{color:var(--ink);padding:0;font-size:14px;font-weight:600}.field .field{flex:auto;min-width:0;max-width:none;margin-bottom:0}.field .optional{color:var(--muted);font-weight:400}.field .help{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.field .error{color:var(--bad);gap:6px;margin:0;font-size:13px;font-weight:600;display:flex}.field input:not([type=checkbox]):not([type=radio]):not([type=range]),.field select,.field textarea{width:100%}.field-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:0 16px;display:grid}fieldset.field{border:0;min-width:0;margin:0 0 16px;padding:0}.input-affix{align-items:stretch;display:flex}.input-affix input{min-width:0;border-radius:0 var(--r-sm) var(--r-sm) 0!important}.input-affix .affix{border:1px solid var(--input-line);border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--surface-2);color:var(--muted);font-family:var(--mono);white-space:nowrap;border-right:0;align-items:center;padding:0 10px;font-size:13px;display:flex}.signin-field{flex-direction:column;gap:6px;min-width:0;display:flex}.signin-field>span:first-child{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);font-size:14px;font-weight:600}.signin-field input:not([type=checkbox]):not([type=radio]),.signin-field select,.signin-field textarea{width:100%}.choice{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.choice+.choice{margin-top:8px}.choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.choice input{margin-top:1px}.choice .choice-text{flex-direction:column;gap:2px;display:flex}.choice .choice-text b{font-weight:600}.choice .choice-text span{color:var(--muted);font-size:13px}.choices-inline{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;display:grid}.choices-inline .choice+.choice{margin-top:0}.form-section{border-top:1px solid var(--line);grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.form-section:first-of-type{border-top:0;padding-top:4px}.form-section h2{font-family:var(--sans);margin:0;font-size:18px;font-weight:600}.form-section .section-lead{color:var(--muted);margin:6px 0 0;font-size:13.5px;line-height:1.5}@media (width<=899px){.form-section{grid-template-columns:1fr;gap:12px}}.form-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:16px;display:flex}@media (width<=599px){.form-actions .btn{flex:100%}}.combo{position:relative}.combo-box{display:flex;position:relative}.combo-box input[role=combobox]{cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;width:100%;padding-right:38px}.combo-box input[role=combobox]:focus{cursor:text}.combo-box[data-clearable=true] input[role=combobox]{padding-right:76px}.combo-box{min-height:var(--tap)}.combo-box input[data-empty=true]{color:var(--muted)}.combo-clear{width:40px;min-height:var(--tap);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;bottom:0;right:30px}.combo-clear:hover{background:var(--hover);color:var(--ink)}.combo-clear:focus-visible{outline:2px solid var(--brand);outline-offset:0}.combo-list{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);max-height:300px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-option{min-height:var(--tap);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;padding:4px 10px;display:flex}.combo-option[aria-selected=true]{background:var(--brand-soft)}.combo-option .row-sub{margin:0}.combo-empty{color:var(--muted);padding:10px;font-size:13.5px}.empty h2,.card .empty h2{font-family:var(--sans);margin:0 0 6px;font-size:19px;font-weight:600;display:block}.empty p{color:var(--muted);max-width:52ch;margin:0 auto 16px;line-height:1.55}.skeleton{background:linear-gradient(90deg, var(--neutral-soft), var(--hover), var(--neutral-soft));background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s linear infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{border-bottom:1px solid var(--line);gap:16px;padding:16px;display:flex}.skeleton-row:last-child{border-bottom:0}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-top:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.timeline li:first-child{border-top:0}.timeline time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}@media (width<=599px){.timeline li{grid-template-columns:1fr;gap:2px}}details.changes summary{cursor:pointer;color:var(--brand-text);min-height:var(--tap);align-items:center;font-size:13.5px;display:inline-flex}details.changes pre{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;margin:6px 0 0;padding:10px 12px;font-size:12px;overflow:auto}details>summary{cursor:pointer;min-height:var(--tap);align-items:center;gap:6px;font-weight:600;display:flex}.pager{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:13.5px;display:flex}.toast-region{z-index:80;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--ink);color:var(--paper);border-radius:var(--r-sm);box-shadow:var(--shadow-pop);align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.toast button{color:inherit;cursor:pointer;min-height:var(--tap);min-width:var(--tap);background:0 0;border:0;font-weight:600;text-decoration:underline}.help-btn{gap:6px}.help-btn svg{flex:none}.help-scrim{z-index:75;background:var(--scrim);position:fixed;inset:0}.help-panel{z-index:76;background:var(--surface);width:min(420px,100vw);color:var(--ink);border-left:1px solid var(--line);box-shadow:var(--shadow-pop);flex-direction:column;animation:.18s ease-out help-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes help-in{0%{transform:translate(100%)}to{transform:none}}.help-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 12px 12px 20px;display:flex}.help-head h2{font-family:var(--sans);flex:1;margin:0;font-size:20px;font-weight:600}.help-body{flex:1;padding:16px 20px 32px;font-size:14.5px;line-height:1.6;overflow-y:auto}.help-body>p.help-summary{color:var(--muted);margin:0 0 16px}.help-body h3{font-size:15px;font-weight:700;font-family:var(--sans);margin:20px 0 6px}.help-body p{margin:0 0 10px}.help-body ol,.help-body ul{margin:0 0 10px;padding-left:22px}.help-body li{margin-bottom:6px}@media (width<=599px){.help-panel{border-left:0;width:100vw}}.signin-page{background:var(--paper);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.signin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:14px;width:100%;max-width:400px;padding:28px 26px 22px;display:flex}.signin-mark{background:var(--brand-fill);color:var(--on-brand);letter-spacing:.02em;border-radius:13px;place-items:center;width:46px;height:46px;font-size:15px;font-weight:700;display:grid}.signin-title{font-family:var(--display);color:var(--ink);text-wrap:balance;margin:0;font-size:22px;font-weight:600;line-height:1.2}.signin-lead{color:var(--muted);margin:-8px 0 2px;font-size:14px}.signin-error{background:var(--bad-soft);border:1px solid var(--bad);color:var(--bad);border-radius:var(--r-sm);padding:9px 11px;font-size:13.5px;line-height:1.45}.signin-submit{font:inherit;border-radius:var(--r-sm);background:var(--brand-fill);color:var(--on-brand);cursor:pointer;border:0;padding:0 16px;font-size:14px;font-weight:600}.signin-submit:hover{background:var(--brand-fill-hover)}.signin-submit:disabled{opacity:.6;cursor:default}.signin-help{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.45}.signin-or{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.signin-or:before,.signin-or:after{content:"";border-top:1px solid var(--line);flex:1}.signin-google{justify-content:center;width:100%}.signin-microsoft{gap:8px;display:grid}.ce-mark{box-shadow:0 0 0 1px var(--line);border-radius:25%;flex:none;display:block}.ce-mark-bg{fill:var(--logo-green)}.ce-mark-line{fill:none;stroke:var(--logo-house);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.ce-mark-door{fill:var(--logo-door)}.ce-lockup{align-items:center;gap:8px;display:inline-flex}.ce-wordmark{font-family:var(--display);letter-spacing:-.02em;font-weight:700}.signin-brandmark{width:46px;height:46px}.signin-page h1 .ce-wordmark{font-size:26px}.signin-platform{border-top:1px solid var(--line);color:var(--muted);justify-content:center;margin:4px 0 0;padding-top:14px;font-size:14px;display:flex}.legal-brand{color:var(--ink);font-size:13.5px}.public-header .ce-mark{box-shadow:0 0 0 1.5px var(--on-brand);border-radius:8px}.account{position:relative}.account-trigger{height:var(--tap);color:var(--on-brand);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;align-items:center;gap:9px;padding:0 8px 0 4px;display:inline-flex}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:color-mix(in srgb, var(--on-brand) 12%, transparent)}.avatar{background:var(--on-brand);width:32px;height:32px;color:var(--topbar);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.avatar-lg{background:var(--brand-fill);width:42px;height:42px;color:var(--on-brand);font-size:14px}.account-trigger-text{flex-direction:column;align-items:flex-start;min-width:0;max-width:190px;line-height:1.15;display:flex}.account-trigger-text b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.account-trigger-text span{opacity:.9;font-size:12px}.account-caret{opacity:.85;flex:none}.account-menu{background:var(--surface);width:min(288px,100vw - 16px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);z-index:60;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-card{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin-bottom:6px;padding:10px 10px 12px;display:flex}.account-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.account-card-text b{font-size:14px;font-weight:600}.account-email{color:var(--muted);word-break:break-all;font-size:12.5px}.account-role{color:var(--muted);font-size:12.5px}.account-menu button{font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:14.5px;display:flex}.account-menu .menu-icon{color:var(--muted);flex:none}.account-menu .account-signout .menu-icon{color:currentColor}.account-menu button:hover,.account-menu button:focus-visible{background:var(--hover);outline:none}.account-menu .account-signout{color:var(--bad)}@media (width<=899px){.account-trigger-text,.account-caret{display:none}.account-trigger{padding:0 4px}}.modal-backdrop{background:var(--scrim);z-index:70;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:480px;max-height:calc(100dvh - 32px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:24px;overflow:auto}.modal.wide{max-width:640px}.modal form{flex-direction:column;gap:12px;display:flex}.modal-title{font-family:var(--sans);color:var(--ink);margin:0 0 8px;font-size:21px;font-weight:600;line-height:1.25}.modal-lead{color:var(--muted);margin:0 0 8px;font-size:14px;line-height:1.55}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@media (width<=479px){.modal-actions .btn,.modal-actions .ghost-btn,.modal-actions .signin-submit{flex:100%}}@media (width<=599px){.toolbar .field,.toolbar .field.grow{flex:100%;max-width:none}.toolbar .field select,.toolbar .segmented{width:100%}.toolbar .result-count{flex-basis:100%;margin:0}}body{font-size:15px}tbody td{font-size:14.5px}.prose,.page-head .lead{max-width:72ch}.empty{text-align:left;padding:24px 4px}.empty p{margin:0 0 16px}.muted-copy{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.55}.muted-copy.small{font-size:13px}.nav-flat{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav-flat>li,.nav-subs>li{display:block}.nav-item{box-sizing:border-box;border-radius:var(--r-sm);width:100%;min-height:48px;color:var(--ink);align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--hover);color:var(--ink);text-decoration:none}.nav-item .nav-icon{color:var(--muted);flex:none}.nav-item[aria-current=page],.nav-item.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.nav-item[aria-current=page] .nav-icon,.nav-item.active .nav-icon{color:var(--brand-text)}.nav-item[aria-current=page]:before,.nav-item.active:before{content:"";background:var(--brand);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.nav-item:focus-visible,.nav-sub:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-badge{background:var(--accent-fill);min-width:24px;height:24px;color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.nav-subs{margin:2px 0 6px;padding:0;list-style:none}.nav-sub{box-sizing:border-box;border-radius:var(--r-sm);width:100%;min-height:44px;color:var(--ink);align-items:center;gap:10px;padding:0 12px 0 42px;font-size:14.5px;text-decoration:none;display:flex;position:relative}.nav-sub:hover{background:var(--hover);color:var(--ink);text-decoration:none}.nav-sub[aria-current=page],.nav-sub.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.nav-sub[aria-current=page]:before,.nav-sub.active:before{content:"";background:var(--brand);border-radius:2px;width:3px;position:absolute;top:12px;bottom:12px;left:28px}.sidebar{padding-top:16px}.initials{background:var(--brand-soft);width:28px;height:28px;color:var(--brand-ink);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.initials.lg{width:44px;height:44px;font-size:15px}.nav-sub .initials{width:24px;height:24px;font-size:11px}.nav-sub[aria-current=page] .initials{background:var(--brand-fill);color:var(--on-brand)}.child-chips{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.child-chip{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 8px;font-size:15px;font-weight:500;display:inline-flex}.child-chip:hover{background:var(--hover)}.child-chip[aria-selected=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.child-chip[aria-selected=true] .initials{background:var(--brand-fill);color:var(--on-brand)}@media (width>=900px){.child-chips.on-record{display:none}}.child-head{align-items:center;gap:14px;min-width:0;display:flex}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}@media (width<=1199px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.tiles{grid-template-columns:1fr}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-height:148px;color:var(--ink);flex-direction:column;gap:6px;min-width:0;padding:18px 20px;text-decoration:none;display:flex}a.tile:hover{border-color:var(--brand);color:var(--ink);text-decoration:none}.tile .tile-k{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.tile .tile-k svg{color:var(--brand-text)}.tile .tile-v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:30px;font-weight:600;line-height:1.15}.tile .tile-v.words{letter-spacing:0;font-size:19px;line-height:1.3}.tile .tile-n{color:var(--muted);font-size:13.5px;line-height:1.45}.tile .tile-go{color:var(--brand-text);margin-top:auto;padding-top:6px;font-size:14px;font-weight:600}.grid.stats4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (width<=899px){.grid.stats4{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid.stats3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (width<=719px){.grid.stats3{grid-template-columns:1fr}}.section-gap{margin-bottom:20px}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1099px){.two-col{grid-template-columns:1fr}}.list{margin:0;padding:0;list-style:none}.list>li{border-top:1px solid var(--line);padding:14px 0}.list>li:first-child{border-top:0;padding-top:4px}.list .list-title{font-size:15px;font-weight:600}.list .list-meta{color:var(--muted);margin:2px 0 0;font-size:13.5px}.list a.list-title{color:var(--ink);min-height:var(--tap);align-items:center;display:inline-flex}.list a.list-title:hover{color:var(--brand-text)}.unread-bar{box-shadow:inset 3px 0 0 var(--accent-fill)}.article{margin-bottom:16px}.article-head{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:4px;display:flex}.article-head h2{font-family:var(--sans);margin:0;font-size:19px;font-weight:600;line-height:1.3}.article-meta{color:var(--muted);margin:0 0 10px;font-size:13.5px}.article-body{white-space:pre-wrap;max-width:80ch;margin:0;line-height:1.65}.article-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.rec-fil{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.rec-fil-label{color:var(--muted);margin:0 0 4px;font-size:13px;font-weight:600}.card h3.rec-fil-title,.rec-fil-title{font-size:16px;font-weight:600;font-family:var(--sans);margin:0 0 4px;display:block}.messages{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.message{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);max-width:min(680px,100%);padding:12px 16px}.message.mine{background:var(--brand-soft);border-color:#0000;align-self:flex-end}.message-meta{color:var(--muted);margin:0 0 4px;font-size:13px}.message-body{white-space:pre-wrap;margin:0;line-height:1.6}tr.total-row td{border-top:2px solid var(--line-strong);font-weight:700}.row-note{color:var(--muted);margin-top:2px;font-size:13px;display:block}a.card.link-card{color:var(--ink);flex-direction:column;gap:8px;text-decoration:none;display:flex}a.card.link-card:hover{border-color:var(--brand);text-decoration:none}.progress{background:var(--neutral-soft);border-radius:5px;height:8px;overflow:hidden}.progress>i{background:var(--brand-fill);height:100%;display:block}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list>li{border-top:1px solid var(--line);padding:8px 0}.lesson-list>li:first-child{border-top:0}.lesson-row{min-height:var(--tap);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lesson-content{border-left:3px solid var(--line);margin:4px 0 8px;padding-left:14px}.lesson-body{max-width:72ch;line-height:1.65}.lesson-body h2,.card .lesson-body h2{font-family:var(--sans);margin:12px 0 6px;font-size:18px;display:block}.lesson-body h3,.card .lesson-body h3{font-family:var(--sans);margin:10px 0 4px;font-size:15.5px;display:block}.lesson-body p{margin:0 0 10px}.lesson-body ul,.lesson-body ol{margin:0 0 10px;padding-left:22px}.course-progress{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.course-progress .progress{flex:200px;max-width:480px}.settings{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:0 24px}.settings .form-section:first-of-type{padding-top:24px}@media (width<=599px){.settings{padding:0 16px}}.inline-form{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.inline-form .field{flex:240px;max-width:360px;margin:0}.inline-form>.btn{margin-top:28px}@media (width<=599px){.inline-form .field{max-width:none}.inline-form>.btn{margin-top:0}}.device-list{margin:0;padding:0;list-style:none}.device-list li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.device-list li:first-child{border-top:0;padding-top:0}.device-list .grow{flex:220px;min-width:0}.public{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.public-header{background:var(--topbar);color:var(--on-brand)}.public-header-inner{align-items:center;gap:12px;max-width:1120px;min-height:64px;margin:0 auto;padding:12px 24px;display:flex}.public-header .school b{font-size:16px}.public-header .school span{font-size:13px}.public-main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:28px 24px 48px}@media (width<=599px){.public-header-inner{padding:10px 16px}.public-main{padding:20px 16px 32px}.public-main .page-head h1{font-size:25px}}.public .school{display:flex}.form-card{margin-bottom:16px;padding:4px 24px}@media (width<=599px){.form-card{padding:4px 16px}}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.form-grid .span-2{grid-column:1/-1}@media (width<=719px){.form-grid{grid-template-columns:1fr}}.consent{min-height:var(--tap);cursor:pointer;align-items:flex-start;gap:12px;padding:4px 0;line-height:1.55;display:flex}.consent input{margin-top:3px}.submit-bar{z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:16px;padding:14px 24px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px -18px #00000059}.submit-bar p{color:var(--muted);flex:280px;margin:0;font-size:13.5px;line-height:1.5}.submit-bar .btn{min-height:48px;padding:0 24px;font-size:15px}@media (width<=599px){.submit-bar{padding:12px 16px}.submit-bar .btn{flex:100%}}.reference{letter-spacing:.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 8px;font-size:26px;font-weight:700}.status-big{margin:4px 0 8px;font-size:24px;font-weight:600}.narrow-form{max-width:560px}.card.flush>.card-head{margin-bottom:0;padding-bottom:14px}.form-card .form-section{border-top:0;padding:20px 0 4px}@media (width<=599px){.app .school{display:flex}.app .school span{display:none}.app .school b{font-size:14px}}.signin-card.twostep-card{max-width:480px}.twostep-list{flex-direction:column;gap:14px;margin:0;padding-left:20px;font-size:14px;line-height:1.5;display:flex}.twostep-list li{padding-left:2px}.twostep-qr{margin:10px 0 8px}.twostep-qr .qr-code{border:1px solid var(--line);border-radius:var(--r-sm);max-width:100%;height:auto;display:block}.twostep-key{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.twostep-secret{letter-spacing:.04em;overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;font-size:15px}.twostep-code{max-width:220px;margin-top:8px}.twostep-confirm{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);padding:12px 14px}:root{--tap:44px}.btn,.ghost-btn,.signin-submit,.account-menu button,.nav-link,.nav-group-head{min-height:var(--tap)}:where(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])){min-height:var(--tap);box-sizing:border-box}.card-head>.cluster{align-self:center}.resource-list{gap:14px;margin:10px 0 0;padding:0;list-style:none;display:grid}.resource{gap:8px;min-width:0;display:grid}.resource-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.resource-head .row-title{overflow-wrap:anywhere}.pdf-frame{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:100%;height:70vh;min-height:320px;max-height:900px;display:block}.video-frame{aspect-ratio:16/9;border-radius:var(--r-md);background:var(--neutral-soft);width:100%;max-width:960px;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.lesson-video{border-radius:var(--r-md);background:var(--neutral-soft);width:100%;max-width:960px;display:block}.lesson-image{border-radius:var(--r-md);border:1px solid var(--line);max-width:100%;height:auto;display:block}.legal-footer{color:var(--muted);padding:4px 16px 12px;font-size:12.5px;line-height:1.4}.legal-footer ul{flex-wrap:wrap;justify-content:center;align-items:center;column-gap:6px;margin:0;padding:0;list-style:none;display:flex}.legal-footer li{min-height:var(--tap);align-items:center;display:inline-flex}.legal-footer li+li:before{content:"·";color:var(--line-strong);margin-right:6px}.legal-footer a{color:var(--muted);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);min-height:var(--tap);align-items:center;display:inline-flex}.legal-footer a:hover{color:var(--ink)}.legal-footer a[aria-current=page]{color:var(--ink);text-decoration:none}@media (width<=479px){.legal-footer li:last-child{flex-basis:100%;justify-content:center}.legal-footer li:last-child:not(:has(a)){min-height:0}.legal-footer li:last-child:before{content:none}}main>.legal-footer{padding-top:0}.with-footer{background:var(--paper);flex-direction:column;min-height:100dvh;display:flex}.with-footer-page{flex-direction:column;flex:1;display:flex}.with-footer-page>.signin-page{flex:1;min-height:0}.legal-home{color:var(--on-brand);text-underline-offset:2px;min-height:var(--tap);align-items:center;margin-left:auto;font-size:14px;text-decoration:underline;display:inline-flex}.legal-doc{max-width:70ch;color:var(--ink);font-size:15.5px;line-height:1.65}.legal-doc h1{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:30px;font-weight:600;line-height:1.15}.legal-doc h2{font-family:var(--sans);margin:28px 0 8px;font-size:21px;font-weight:600;line-height:1.25}.legal-doc h3{margin:20px 0 6px;font-size:16px;font-weight:600}.legal-doc p{margin:0 0 12px}.legal-doc ul{margin:0 0 12px;padding-left:22px}.legal-doc li{margin:0 0 6px}.legal-doc code{overflow-wrap:anywhere;font-size:.92em}.legal-doc .legal-meta{color:var(--muted);margin:8px 0 20px;font-size:14px}.legal-doc .legal-draft{margin-bottom:20px}.legal-table{margin:4px 0 16px;overflow-x:auto}.legal-table table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 10px}.legal-table th{border-bottom-color:var(--line-strong);font-weight:600}@media (width<=639px){.legal-doc h1{font-size:25px}.legal-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.legal-table table,.legal-table tbody,.legal-table tr,.legal-table td{width:auto;display:block}.legal-table tr{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:10px;padding:6px 12px}.legal-table td{border:0;height:auto;padding:4px 0}.legal-table td:before{content:attr(data-label);color:var(--muted);font-size:12.5px;font-weight:600;display:block}}.signin-card.terms-card{max-width:560px}.terms-doc{border:1px solid var(--line);border-radius:var(--r-sm);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.terms-doc-head{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.terms-doc-title{color:var(--ink);margin:0;font-size:16px;font-weight:600}.terms-doc-version{color:var(--muted);font-size:13px}.terms-doc-summary,.terms-note{color:var(--ink);margin:0;font-size:14px;line-height:1.55}.terms-doc-updated{color:var(--muted);margin:0;font-size:13px}.terms-doc-subtitle{color:var(--ink);margin:0 0 4px;font-size:14px;font-weight:600}.terms-doc-changes{margin:0;padding-left:20px;font-size:14px;line-height:1.55}.terms-doc a{min-height:var(--tap);align-items:center;font-size:14px;display:inline-flex}.terms-alert-text{margin:0 0 8px}.terms-accept{min-height:var(--tap)}.combo-compact{min-width:180px;margin:0}.combo-compact .combo-box,.combo-compact input[role=combobox]{min-height:36px}.rule-list{color:var(--muted);gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.rule-list li.met{color:var(--ink)}.signin-name{overflow-wrap:anywhere;font-size:18px;font-weight:600}.signin-card-line{margin:0 0 12px;font-size:18px;line-height:1.5}.btn.big-target{min-height:48px;padding-inline:20px}@media print{body *{visibility:hidden}.print-card,.print-card *{visibility:visible}.print-card{border:2px solid var(--ink);width:100%;position:absolute;inset:0 auto auto 0}.print-card .no-print{display:none}}.lang-switch{border:1px solid;border-radius:999px;flex:none;gap:2px;padding:2px;display:inline-flex}.lang-switch button{min-height:var(--tap);min-width:var(--tap);color:inherit;font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:13px;font-weight:600}.lang-switch button[aria-pressed=true]{background:var(--logo-door);color:var(--on-door)}.lang-switch button:focus-visible{outline-offset:3px;outline:3px solid}.lang-switch button[aria-pressed=true]:focus-visible{box-shadow:inset 0 0 0 2px var(--on-door)}.topbar .lang-switch{color:var(--on-brand)}.signin-lang{color:var(--brand-text);align-self:flex-end}.lang-control{flex:0 auto;align-items:center;gap:8px;min-width:0;display:inline-flex}.lang-review{border:1px solid;border-radius:6px;max-width:13em;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.25;display:inline-block}.topbar .lang-control{color:var(--on-brand)}.signin-lang.lang-control{flex-direction:row-reverse}@media (width<=599px){.topbar .lang-review{max-width:8.5em;font-size:10.5px}}.picture-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 16px;padding:0;list-style:none;display:grid}@media (width<=719px){.picture-tiles{grid-template-columns:1fr;gap:12px}}.picture-tile{position:relative}.picture-link{background:var(--logo-green);min-height:200px;color:var(--logo-house);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px 16px;text-decoration:none;display:flex}.picture-link:hover{color:var(--logo-house);filter:brightness(1.12);text-decoration:none}.picture-link:focus-visible{outline:4px solid var(--ink);outline-offset:3px;box-shadow:inset 0 0 0 4px var(--logo-door)}.picture-art{flex:none;width:96px;height:96px}.picture-label{font-family:var(--display);text-align:center;overflow-wrap:anywhere;font-size:30px;font-weight:700;line-height:1.1}@media (width<=719px){.picture-link{flex-direction:row;justify-content:flex-start;gap:18px;min-height:150px;padding:18px 72px 18px 20px}.picture-art{width:80px;height:80px}.picture-label{text-align:left;font-size:28px}}.picture-say{background:var(--logo-house);width:48px;height:48px;min-height:48px;color:var(--logo-green);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.picture-say:focus-visible{outline:4px solid var(--logo-door);outline-offset:2px}@media (width<=719px){.picture-say{top:50%;right:14px;transform:translateY(-50%)}}.picture-note{margin:0}.picture-videos{gap:16px;margin:0;padding:0;list-style:none;display:grid}.picture-entry{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.picture-entry .callout-body{flex:240px;min-width:0}.picture-entry .btn{min-height:48px}.rec-promotion{margin-top:4px;font-size:15px;font-weight:600;line-height:1.4}.rec-attendance{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width>=1100px){.rec-attendance{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}}.cal{padding:0 20px 20px}.cal-nav{align-items:center;gap:12px;display:flex}.cal-month{font-family:var(--sans);flex:1;margin:0;font-size:18px;font-weight:600}.cal-step{min-width:var(--tap);padding:0 12px;font-size:22px;line-height:1}.cal-nav .cal-step:first-child{order:0}.cal-counts{color:var(--muted);margin:6px 0 12px;font-size:13.5px}.cal-grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:calc(100% + 8px);margin:0 -4px}.cal-grid thead th{background:0 0;border:0;padding:2px 6px;font-size:12.5px}.cal-grid td{vertical-align:top;border:0;height:auto;padding:0}.cal-day{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:76px;color:var(--ink);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 7px;display:flex}.cal-day:hover{border-color:var(--line-strong)}.cal-day[aria-pressed=true]{outline:2px solid var(--brand);outline-offset:1px}.cal-num{font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 3px;font-size:13px;font-weight:600;display:inline-flex}.cal-day.is-today .cal-num{background:var(--brand-fill);color:var(--on-brand)}.cal-mark{align-items:center;gap:4px;min-width:0;max-width:100%;font-size:12px;font-weight:600;line-height:1.25;display:flex}.cal-word{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-abbr{display:none}.cal-glyph{flex:none}.cal-cell.tone-ok .cal-day{background:var(--ok-soft);border-color:#0000}.cal-cell.tone-ok .cal-mark{color:var(--ok)}.cal-cell.tone-warn .cal-day{background:var(--warn-soft);border-color:#0000}.cal-cell.tone-warn .cal-mark{color:var(--warn)}.cal-cell.tone-bad .cal-day{background:var(--bad-soft);border-color:#0000}.cal-cell.tone-bad .cal-mark{color:var(--bad)}.cal-cell.tone-excused .cal-day{background:var(--brand-soft);border-color:#0000}.cal-cell.tone-excused .cal-mark{color:var(--brand-text)}.cal-cell.tone-holiday .cal-day{background:var(--surface-2);border-style:dashed;border-color:var(--line-strong)}.cal-cell.tone-holiday .cal-mark{color:var(--accent-text)}.cal-cell.tone-off .cal-day{background:var(--neutral-soft);border-style:dashed;border-color:var(--line-strong)}.cal-cell.tone-off .cal-mark{color:var(--muted)}.cal-cell.tone-weekend .cal-day{background:var(--neutral-soft);color:var(--muted);border-color:#0000}.cal-cell.tone-outside .cal-day{color:var(--muted);background:0 0;border-style:dashed}.cal-legend{flex-wrap:wrap;gap:6px 8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.cal-pill{background:var(--neutral-soft);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.cal-pill.tone-ok{background:var(--ok-soft);color:var(--ok)}.cal-pill.tone-warn{background:var(--warn-soft);color:var(--warn)}.cal-pill.tone-bad{background:var(--bad-soft);color:var(--bad)}.cal-pill.tone-excused{background:var(--brand-soft);color:var(--brand-text)}.cal-pill.tone-holiday{background:var(--surface-2);color:var(--accent-text);border:1px dashed var(--line-strong)}.cal-detail{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.cal-detail-date{align-items:center;gap:8px;margin:0 0 6px;font-size:15px;font-weight:600;display:flex}@media (width<=599px){.cal{padding:0 2px 16px}.cal-nav,.cal-counts,.cal-legend,.cal-detail{padding-left:12px;padding-right:12px}.cal-detail{margin-left:0;margin-right:0;padding-top:14px}.cal-grid{border-spacing:2px;width:calc(100% + 4px);margin:0 -2px}.cal-grid thead th{padding:2px 1px;font-size:12px}.cal-day{align-items:center;gap:2px;min-width:0;min-height:54px;padding:4px 2px}.cal-mark{gap:2px;font-size:11.5px}.cal-word{display:none}.cal-abbr{display:inline}.cal-pill .cal-abbr{margin-right:2px}.cal-glyph{width:11px;height:11px}}
