:root{--nc-background:#f7f5f2;--nc-card:#fff;--nc-fill:#f0ece6;--nc-fill-strong:#e7e1d9;--nc-separator:#e7e2da;--nc-outline:#e7e2da;--nc-label:#1c1917;--nc-secondary-label:#6b645c;--nc-tertiary-label:#a39a90;--nc-accent:#b5521b;--nc-accent-strong:#94410f;--nc-accent-tint:#f8ebe1;--nc-on-accent:#fff;--nc-success:#2e7d5b;--nc-success-tint:#e6f1eb;--nc-warning:#9a6200;--nc-warning-tint:#fbf1dd;--nc-error:#b3261e;--nc-error-tint:#fbe9e7;--nc-heard-green:#2e7d5b;--nc-star-gold:#e8a317;--nc-star-gold-stroke:#b57e0a;--nc-star-tint:#fdf3dc;--nc-font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--nc-text-large-title:700 28px/34px var(--nc-font);--nc-text-title:600 20px/25px var(--nc-font);--nc-text-headline:600 15px/20px var(--nc-font);--nc-text-body:400 15px/20px var(--nc-font);--nc-text-subheadline:400 13px/18px var(--nc-font);--nc-text-footnote:500 12px/16px var(--nc-font);--nc-text-streak:600 20px/25px var(--nc-font);--nc-text-hero:700 34px/41px var(--nc-font);--nc-space-xs:4px;--nc-space-s:8px;--nc-space-m:12px;--nc-space-l:16px;--nc-space-xl:24px;--nc-space-xxl:32px;--nc-radius-xs:4px;--nc-radius-sm:6px;--nc-radius-md:8px;--nc-radius-lg:12px;--nc-radius-card:12px;--nc-radius-button:6px;--nc-radius-panel:8px;--nc-radius-day:6px;--nc-radius-pill:999px;--nc-shadow-raised:0 1px 2px #1c19170f, 0 8px 24px #1c191714;--nc-shadow-overlay:0 1px 2px #1c19170f, 0 16px 48px #1c191729;--nc-scrim:#1c191752;--nc-ease:cubic-bezier(.2, 0, 0, 1);--nc-ease-slow:cubic-bezier(.32, .72, 0, 1);--nc-ease-check:cubic-bezier(.34, 1.3, .64, 1);--nc-instant:.1s;--nc-fast:.16s;--nc-base:.2s;--nc-check:.24s;--nc-slow:.28s;--nc-button-height:36px;--nc-min-tap:36px;--nc-day-cell:30px;--nc-progress-height:6px}body{background:var(--nc-background);color:var(--nc-label);font:var(--nc-text-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--nc-accent);text-decoration:none}a:hover{color:var(--nc-accent-strong)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box}h1{font:var(--nc-text-large-title);margin:0 0 var(--nc-space-s)}h2{font:var(--nc-text-title);margin:var(--nc-space-xl) 0 var(--nc-space-m)}p{margin:0 0 var(--nc-space-m)}.narrow{max-width:440px;padding:var(--nc-space-xxl) var(--nc-space-l);margin:0 auto}.wide-page{max-width:960px;padding:var(--nc-space-xl) var(--nc-space-l);margin:0 auto}.brand{color:var(--nc-accent)}.lead{color:var(--nc-secondary-label);margin-bottom:var(--nc-space-xl)}.muted{color:var(--nc-secondary-label)}.hint{font:var(--nc-text-subheadline);color:var(--nc-secondary-label)}.spaced{margin-top:var(--nc-space-xl)}.error{color:var(--nc-accent-strong);font:var(--nc-text-subheadline);margin-top:var(--nc-space-m)}.or{text-align:center;color:var(--nc-secondary-label);margin:var(--nc-space-l) 0}.topbar{min-height:56px;padding:0 var(--nc-space-l);background:var(--nc-card);border-bottom:1px solid var(--nc-separator);justify-content:space-between;align-items:center;display:flex}.topbar-brand{font:var(--nc-text-headline);color:var(--nc-accent)}.topbar-right{gap:var(--nc-space-l);align-items:center;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--nc-space-l);display:flex}.stack{gap:var(--nc-space-s);flex-direction:column;display:flex}label{font:var(--nc-text-headline);margin-top:var(--nc-space-s)}input,select{font:var(--nc-text-body);min-height:var(--nc-min-tap);padding:0 var(--nc-space-m);border:1px solid var(--nc-outline);border-radius:var(--nc-radius-panel);background:var(--nc-card);color:var(--nc-label);width:100%}input.code{font:var(--nc-text-title);letter-spacing:.12em}input:focus-visible,select:focus-visible{outline:3px solid var(--nc-accent-tint);border-color:var(--nc-accent)}button{cursor:pointer;font:var(--nc-text-headline)}button:disabled{opacity:.6;cursor:default}button:focus-visible{outline:3px solid var(--nc-label);outline-offset:2px}.primary,.secondary{height:var(--nc-button-height);padding:0 var(--nc-space-xl);border-radius:var(--nc-radius-button);margin-top:var(--nc-space-s)}.primary{background:var(--nc-accent);color:var(--nc-on-accent);border:0}.primary:hover:not(:disabled){background:var(--nc-accent-strong)}.secondary{border:1px solid var(--nc-outline);background:var(--nc-card);color:var(--nc-label)}.secondary:hover:not(:disabled){border-color:var(--nc-accent)}.wide{width:100%}.link{padding:var(--nc-space-s) 0;min-height:var(--nc-min-tap);color:var(--nc-accent-strong);font:var(--nc-text-headline);background:0 0;border:0}.panel{background:var(--nc-card);border:1px solid var(--nc-separator);border-radius:var(--nc-radius-panel)}.panel.pad{padding:var(--nc-space-l)}.panel h2{margin-top:0}.list{margin:0;padding:0;list-style:none}.list li+li{border-top:1px solid var(--nc-separator)}.row-button,.row-static{justify-content:space-between;align-items:center;gap:var(--nc-space-m);width:100%;min-height:56px;padding:var(--nc-space-m) var(--nc-space-l);text-align:left;color:var(--nc-label);background:0 0;border:0;display:flex}.row-button:hover{background:var(--nc-accent-tint)}.row-title{font:var(--nc-text-headline)}.row-sub{font:var(--nc-text-subheadline);color:var(--nc-secondary-label)}details summary{cursor:pointer;font:var(--nc-text-headline);color:var(--nc-accent-strong);min-height:var(--nc-min-tap);align-items:center;display:flex}details[open] summary{margin-bottom:var(--nc-space-s)}.class-area{flex-grow:1;min-width:0;display:flex}.class-main{min-width:0;padding:var(--nc-space-xxl);flex-direction:column;flex-grow:1;gap:20px;display:flex}.class-head{align-items:flex-end;gap:var(--nc-space-l);flex-wrap:wrap;display:flex}.class-head-text{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.class-head h1{letter-spacing:-.02em;margin:0}.switch{gap:var(--nc-space-xs);width:300px;padding:var(--nc-space-xs);background:var(--nc-fill);border-radius:var(--nc-radius-button);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.switch button{min-height:var(--nc-min-tap);border-radius:var(--nc-radius-day);color:var(--nc-label);font:var(--nc-text-headline);background:0 0;border:0}.switch button[aria-pressed=true]{background:var(--nc-card)}.section-title{font:var(--nc-text-title);letter-spacing:-.01em}.today-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.today-title{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.today-title .muted{font:var(--nc-text-subheadline);color:var(--nc-secondary-label)}.today-count{font:var(--nc-text-body);color:var(--nc-secondary-label)}.today-count strong{color:var(--nc-label)}.primary.finish{padding:0 var(--nc-space-xxl);margin-top:0}.note{padding:var(--nc-space-m) var(--nc-space-l);background:var(--nc-card);border-radius:var(--nc-radius-panel);font:var(--nc-text-subheadline);color:var(--nc-secondary-label);margin:0}.done-banner{padding:var(--nc-space-l) 20px;background:var(--nc-success-tint);border-radius:var(--nc-radius-card);align-items:center;gap:var(--nc-space-l);display:flex}.done-text{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.done-title{font:var(--nc-text-headline)}.done-sub{font:var(--nc-text-subheadline);color:var(--nc-success)}.pill-button{min-height:var(--nc-min-tap);padding:0 var(--nc-space-l);border-radius:var(--nc-radius-pill);background:var(--nc-card);color:var(--nc-heard-green);font:var(--nc-text-subheadline);border:0;font-weight:600}.tiles{gap:var(--nc-space-m);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.tile{align-items:center;gap:var(--nc-space-m);padding:14px var(--nc-space-l);border-radius:var(--nc-radius-card);background:var(--nc-card);text-align:left;min-height:84px;color:var(--nc-label);border:0;display:flex}.tile.heard{background:var(--nc-success-tint)}.tile:disabled{opacity:1;cursor:default}.tile-text{flex-direction:column;flex-grow:1;gap:3px;min-width:0;display:flex}.tile-name{font:var(--nc-text-headline)}.tile-home{font:var(--nc-text-subheadline);color:var(--nc-secondary-label)}.tile-home.read{color:var(--nc-accent-strong);font-weight:600}.tick{background:var(--nc-card);border:2px solid var(--nc-fill-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.tick svg{stroke:#0000}.tile.heard .tick{background:var(--nc-heard-green);border-color:var(--nc-heard-green)}.tile.heard .tick svg{stroke:var(--nc-on-accent)}@media (width<=760px){.workspace{flex-direction:column}.sidebar{width:auto;height:auto;padding:var(--nc-space-l);position:static}.side-fill{display:none}.class-main{padding:var(--nc-space-l)}.switch{width:100%}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.small{font:var(--nc-text-subheadline)}.stat-tiles{gap:var(--nc-space-m);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-tile{background:var(--nc-card);border-radius:var(--nc-radius-card);gap:var(--nc-space-xs);flex-direction:column;padding:18px;display:flex}.stat-tile .muted{font:var(--nc-text-subheadline)}.stat-big{font:var(--nc-text-streak);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.legend{color:var(--nc-secondary-label);flex-wrap:wrap;align-items:center;gap:20px;font-size:14px;display:flex}.legend>span{align-items:center;gap:6px;display:flex}.legend-fill{flex-grow:1}.key{box-sizing:border-box;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.key.read{background:var(--nc-accent)}.key.heard{border:2px solid var(--nc-heard-green)}.key.heard svg{stroke:var(--nc-heard-green)}.key.excused{background:var(--nc-fill)}.key.off span{background:var(--nc-outline);border-radius:1px;width:10px;height:2px}.week-card{background:var(--nc-card);border-radius:var(--nc-radius-card);flex-direction:column;display:flex;overflow:hidden}.week-grid{grid-template-columns:minmax(0,1fr) repeat(7,34px) 116px 20px;align-items:center;column-gap:6px;display:grid}.week-top{padding:var(--nc-space-l) 18px 10px;align-items:end}.week-group-title{flex-direction:column;gap:2px;display:flex}.day-head{text-align:center;font:var(--nc-text-footnote);color:var(--nc-secondary-label)}.day-head.today{color:var(--nc-accent-strong);text-underline-offset:3px;text-decoration:underline}.day-head.off{color:var(--nc-outline)}.week-row{border-top:1px solid var(--nc-fill)}.week-button{background:var(--nc-card);width:100%;min-height:64px;color:var(--nc-label);text-align:left;border:none;padding:10px 18px}.week-button:hover{background:var(--nc-background)}.week-name{flex-direction:column;gap:2px;min-width:0;display:flex}.day-cell-wrap,.pill-wrap{justify-content:center;display:flex}.day-cell{box-sizing:border-box;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.day-cell.none{background:var(--nc-background);border:1.5px solid var(--nc-separator)}.day-cell.read{background:var(--nc-accent)}.day-cell.heard{background:var(--nc-card);border:2.5px solid var(--nc-heard-green)}.day-cell.both{background:var(--nc-accent);border:2.5px solid var(--nc-heard-green)}.day-cell.excused{background:var(--nc-fill)}.day-cell.future{border:1.5px dashed var(--nc-separator)}.day-cell .check{stroke:var(--nc-heard-green)}.day-cell.both .check{stroke:var(--nc-on-accent)}.day-cell .dash{stroke:var(--nc-outline)}.days-pill{border-radius:var(--nc-radius-pill);font:var(--nc-text-subheadline);white-space:nowrap;background:var(--nc-background);color:var(--nc-secondary-label);padding:5px 10px;font-weight:600}.days-pill.none{background:var(--nc-accent-tint);color:var(--nc-accent-strong)}.chev{stroke:var(--nc-accent-strong);flex-shrink:0;transition:transform .15s}.chev.open{transform:rotate(180deg)}.week-days{padding:2px 18px var(--nc-space-l);gap:var(--nc-space-xxl);font:var(--nc-text-subheadline);flex-wrap:wrap;display:flex}.week-day{flex-direction:column;gap:2px;display:flex}.week-day-name{font-weight:600}.streak-text{color:var(--nc-accent);font-weight:600}@media (width<=1000px){.stat-tiles{grid-template-columns:1fr}.week-grid{grid-template-columns:minmax(0,1fr) repeat(7,30px) 96px 16px;column-gap:4px}}button.stat-tile{text-align:left;color:var(--nc-label);font:inherit;border:2px solid #0000}button.stat-tile:hover{border-color:var(--nc-separator)}button.stat-tile[aria-pressed=true]{border-color:var(--nc-accent);background:var(--nc-accent-tint)}.filter-note{align-items:center;gap:var(--nc-space-m);font:var(--nc-text-subheadline);color:var(--nc-secondary-label);flex-wrap:wrap;display:flex}.text-button{min-height:var(--nc-min-tap);padding:0 var(--nc-space-m);border-radius:var(--nc-radius-day);color:var(--nc-accent-strong);font:var(--nc-text-subheadline);background:0 0;border:0;font-weight:600}.text-button:hover:not(:disabled){background:var(--nc-accent-tint)}.class-side{width:340px;padding:var(--nc-space-xxl) var(--nc-space-xxl) var(--nc-space-xxl) 0;gap:var(--nc-space-l);flex-direction:column;flex-shrink:0;display:flex}.side-card{background:var(--nc-card);border-radius:var(--nc-radius-card);gap:var(--nc-space-m);flex-direction:column;padding:18px;display:flex}.side-card h2{font:var(--nc-text-title);letter-spacing:-.01em;flex-grow:1;margin:0;font-size:20px}.side-card-head{align-items:center;gap:var(--nc-space-s);display:flex}.dot{background:var(--nc-accent);border-radius:50%;flex-shrink:0;width:10px;height:10px}.side-note{font:var(--nc-text-subheadline);color:var(--nc-secondary-label);margin:0}.waiting{padding-top:var(--nc-space-m);border-top:1px solid var(--nc-fill);flex-direction:column;gap:10px;display:flex}.waiting.none{color:var(--nc-secondary-label)}.waiting-text{font:var(--nc-text-body)}.waiting-text strong{font-weight:600}.waiting-buttons{gap:var(--nc-space-s);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.approve,.turn-down{min-height:var(--nc-min-tap);border-radius:var(--nc-radius-panel);font:var(--nc-text-headline);border:0;font-size:16px}.approve{background:var(--nc-accent);color:var(--nc-on-accent)}.approve:hover:not(:disabled){background:var(--nc-accent-strong)}.turn-down{background:var(--nc-background);color:var(--nc-accent-strong)}.side-card.reading{gap:var(--nc-space-xs)}.side-label-title{text-transform:uppercase;color:var(--nc-accent-strong);font:var(--nc-text-footnote)!important;letter-spacing:.04em!important}.reading-title{font:var(--nc-text-title);letter-spacing:-.01em;font-size:20px}.soft-pill{margin-top:var(--nc-space-s);min-height:var(--nc-min-tap);padding:0 var(--nc-space-l);border-radius:var(--nc-radius-pill);background:var(--nc-background);color:var(--nc-accent-strong);font:var(--nc-text-subheadline);border:0;align-self:flex-start;font-weight:600}@media (width<=1180px){.class-area{flex-direction:column}.class-side{width:auto;padding:0 var(--nc-space-xxl) var(--nc-space-xxl)}}@media (width<=760px){.class-side{padding:0 var(--nc-space-l) var(--nc-space-l)}}.assign{min-width:0;padding:var(--nc-space-xxl);flex-grow:1}.assign-col{gap:var(--nc-space-m);flex-direction:column;max-width:560px;margin:0 auto;display:flex}.back-link{min-height:var(--nc-min-tap);padding:0 var(--nc-space-s) 0 0;align-self:flex-start;align-items:center;gap:var(--nc-space-xs);color:var(--nc-accent-strong);font:var(--nc-text-body);background:0 0;border:0;display:flex}.back-link svg{stroke:currentColor}.assign-head{gap:var(--nc-space-xs);flex-direction:column;display:flex}.assign-head h1{letter-spacing:-.02em;margin:0}.started{padding:var(--nc-space-m) var(--nc-space-l);background:var(--nc-accent-tint);border-radius:var(--nc-radius-button);font:var(--nc-text-subheadline);color:var(--nc-accent-strong)}.started strong{font-weight:600}.assign-card{background:var(--nc-card);border-radius:var(--nc-radius-card);padding:18px var(--nc-space-l);gap:var(--nc-space-m);flex-direction:column;display:flex}.assign-card.center{padding:20px var(--nc-space-l) 22px;align-items:center;gap:14px}.assign-card.preview{gap:6px}.card-label{font:var(--nc-text-footnote);letter-spacing:.04em;text-transform:uppercase;color:var(--nc-accent-strong);margin:0}.stepper{align-items:center;gap:20px;display:flex}.stepper.small{gap:10px}.step{border-radius:var(--nc-radius-card);background:var(--nc-background);border:1.5px solid var(--nc-separator);width:56px;height:56px;color:var(--nc-accent-strong);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stepper.small .step{width:48px;height:48px}.step:disabled{opacity:1;color:var(--nc-tertiary-label);border-color:#0000}.step svg{stroke:currentColor}.step-value{flex-direction:column;align-items:center;gap:2px;display:flex}.step-name{font:var(--nc-text-subheadline);color:var(--nc-secondary-label);white-space:nowrap}.step-value input{border-radius:var(--nc-radius-day);text-align:center;width:120px;min-height:0;font:700 64px/1 var(--nc-font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}.stepper.small .step-value input{width:84px;font-size:40px}.step-value input:hover{background:var(--nc-background)}.lesson-name{min-height:26px;font:var(--nc-text-title);text-align:center;font-size:20px;font-weight:600}.lesson-name.none{font:var(--nc-text-body);color:var(--nc-secondary-label)}.hints{gap:var(--nc-space-s);flex-wrap:wrap;justify-content:center;display:flex}.hint-pill{min-height:var(--nc-min-tap);border-radius:var(--nc-radius-pill);background:var(--nc-background);color:var(--nc-label);font:var(--nc-text-subheadline);border:2px solid #0000;padding:0 14px;font-weight:600}.hint-pill[aria-pressed=true]{background:var(--nc-accent-tint);border-color:var(--nc-accent);color:var(--nc-accent-strong)}.ends{justify-content:space-around;gap:var(--nc-space-l);padding:var(--nc-space-s) 0;flex-wrap:wrap;display:flex}.due-chips{gap:var(--nc-space-s);grid-template-columns:repeat(auto-fit,minmax(84px,1fr));display:grid}.due-chip{border-radius:var(--nc-radius-panel);background:var(--nc-background);min-height:56px;color:var(--nc-label);font:var(--nc-text-headline);border:2px solid #0000;padding:6px 2px;font-size:16px;line-height:1.2}.due-chip span{font:var(--nc-text-subheadline);color:var(--nc-secondary-label);font-size:13px;display:block}.due-chip[aria-pressed=true]{background:var(--nc-accent-tint);border-color:var(--nc-accent)}.text-button.start{align-self:flex-start;padding:0}.saved-view{max-width:560px;padding:96px var(--nc-space-xl) var(--nc-space-xxl);text-align:center;flex-direction:column;align-items:center;gap:14px;margin:0 auto;display:flex}.saved-view h1,.saved-view p{margin:0}.saved-line{font:var(--nc-text-body);font-size:19px}.saved-mark{background:var(--nc-accent);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.saved-mark svg{stroke:var(--nc-on-accent)}.saved-buttons{gap:var(--nc-space-m);margin-top:var(--nc-space-s);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=760px){.assign{padding:var(--nc-space-l)}}.side-link.with-icon{gap:10px}.side-link.with-icon svg{stroke:var(--nc-secondary-label);flex-shrink:0}.side-link.with-icon[aria-current=page] svg{stroke:var(--nc-accent-strong)}.settings-intro{gap:var(--nc-space-xs);flex-direction:column;display:flex}.settings-intro h2{font:var(--nc-text-title);letter-spacing:-.01em;margin:0;font-size:20px}.switch.full{width:100%}.day-rows{border-radius:var(--nc-radius-panel);flex-direction:column;display:flex;overflow:hidden}.day-row{align-items:center;gap:var(--nc-space-m);border:0;border-top:1px solid var(--nc-card);background:var(--nc-background);width:100%;min-height:52px;color:var(--nc-label);text-align:left;padding:0 14px;display:flex}.day-row:first-child{border-top:0}.day-row[aria-pressed=true]{background:var(--nc-accent-tint)}.day-row-name{font:var(--nc-text-headline);flex-grow:1}.day-box{background:var(--nc-card);border:2px solid var(--nc-fill-strong);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.day-box svg{stroke:#0000}.day-row[aria-pressed=true] .day-box{background:var(--nc-accent);border-color:var(--nc-accent)}.day-row[aria-pressed=true] .day-box svg{stroke:var(--nc-on-accent)}.pick-one{font:var(--nc-text-subheadline);color:var(--nc-accent-strong);font-weight:600}.now{color:var(--nc-label);font-weight:600}.reads{font:var(--nc-text-headline)}.saved-note{padding:14px var(--nc-space-l);background:var(--nc-success-tint);border-radius:var(--nc-radius-button);font:var(--nc-text-subheadline);color:var(--nc-success)}.saved-note strong{color:var(--nc-label)}.setup{min-height:100vh;display:flex}.setup-steps{background:var(--nc-card);gap:var(--nc-space-xs);flex-direction:column;flex-shrink:0;width:280px;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.setup-steps .side-brand,.setup-steps .side-org{padding-left:var(--nc-space-s);padding-right:var(--nc-space-s)}.setup-step{align-items:center;gap:var(--nc-space-m);min-height:52px;padding:0 var(--nc-space-s);border-radius:var(--nc-radius-day);display:flex}.setup-step.current{background:var(--nc-accent-tint)}.setup-badge{width:30px;height:30px;font:var(--nc-text-subheadline);background:var(--nc-background);color:var(--nc-secondary-label);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.setup-step.current .setup-badge{background:var(--nc-card);color:var(--nc-accent-strong);border:2px solid var(--nc-accent)}.setup-step.done .setup-badge{background:var(--nc-accent);color:var(--nc-on-accent)}.setup-badge svg{stroke:var(--nc-on-accent)}.setup-label{font:var(--nc-text-body);color:var(--nc-secondary-label)}.setup-step.current .setup-label{color:var(--nc-accent-strong);font-weight:700}.setup-step.done .setup-label{color:var(--nc-label)}.setup-main{flex-grow:1;justify-content:center;min-width:0;padding:40px 48px;display:flex}.setup-col{flex-direction:column;gap:20px;width:100%;max-width:680px;display:flex}.setup-head{flex-direction:column;gap:6px;display:flex}.setup-head h1{letter-spacing:-.02em;margin:0;line-height:1.15}.setup-lead{color:var(--nc-secondary-label);margin:4px 0 0;line-height:1.5}.setup-card{background:var(--nc-card);border-radius:var(--nc-radius-card);flex-direction:column;gap:22px;padding:22px;display:flex}.field{gap:var(--nc-space-s);flex-direction:column;display:flex}.field label,.field-title{font:var(--nc-text-headline);margin:0}.small-title{font:var(--nc-text-subheadline);font-weight:600}.setup-card input,.setup-card select{border-radius:var(--nc-radius-panel);background:var(--nc-background);border:0;min-height:52px;padding:0 14px}.setup-card select.short{width:280px;max-width:100%}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice{width:100%;min-height:72px;padding:var(--nc-space-m) var(--nc-space-l);border-radius:var(--nc-radius-button);background:var(--nc-background);color:var(--nc-label);text-align:left;border:2px solid #0000;align-items:center;gap:14px;display:flex}.choice[aria-checked=true]{background:var(--nc-accent-tint);border-color:var(--nc-accent)}.choice-dot{background:var(--nc-card);border:2px solid var(--nc-outline);border-radius:50%;flex-shrink:0;width:24px;height:24px}.choice[aria-checked=true] .choice-dot{border:7px solid var(--nc-accent)}.choice-text{flex-direction:column;gap:2px;display:flex}.choice-title{font:var(--nc-text-headline)}.choice-sub{font:var(--nc-text-subheadline);color:var(--nc-secondary-label)}.lines{gap:var(--nc-space-s);margin-top:var(--nc-space-xs);flex-direction:column;display:flex}.switch.lines-switch{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:420px}.setup-nav{margin-top:var(--nc-space-s);align-items:center;gap:var(--nc-space-m);display:flex}.link-button{border-radius:var(--nc-radius-button);min-height:52px;color:var(--nc-accent-strong);font:var(--nc-text-headline);background:0 0;border:0;padding:0 22px}.link-button:hover:not(:disabled){background:var(--nc-accent-tint)}.primary.setup-next{margin-top:0;padding:0 28px}.primary.start{align-self:flex-start}.book-form{background:var(--nc-background);border-radius:var(--nc-radius-panel);gap:var(--nc-space-l);flex-direction:column;padding:18px;display:flex}.book-form-head{gap:var(--nc-space-xs);flex-direction:column;display:flex}.setup-card .book-form input{background:var(--nc-card)}.book-row{gap:var(--nc-space-l);flex-wrap:wrap;align-items:flex-end;display:flex}.switch.unit-switch{background:var(--nc-fill);width:248px}.setup-card input.count{font-variant-numeric:tabular-nums;width:120px}.switch.days-switch{width:340px;max-width:100%}.day-grid{gap:var(--nc-space-s);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.day-grid button{min-height:var(--nc-min-tap);border-radius:var(--nc-radius-day);background:var(--nc-background);color:var(--nc-label);font:var(--nc-text-headline);border:0}.day-grid button[aria-pressed=true]{background:var(--nc-accent);color:var(--nc-on-accent)}.switch.list-switch{width:380px;max-width:100%}.setup-card textarea{box-sizing:border-box;width:100%;margin-top:var(--nc-space-xs);padding:var(--nc-space-m) 14px;border-radius:var(--nc-radius-panel);background:var(--nc-background);color:var(--nc-label);font:var(--nc-text-body);resize:vertical;border:0;line-height:1.5}.setup-card textarea:focus-visible{outline:3px solid var(--nc-accent-tint)}.drop-zone{background:var(--nc-card);border:2px dashed var(--nc-separator);border-radius:var(--nc-radius-card);padding:36px var(--nc-space-xl);text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.drop-zone.over{border-color:var(--nc-accent);background:var(--nc-accent-tint)}.drop-zone .soft-pill{align-self:center;margin-top:0}.drop-title{font:var(--nc-text-title)}.drop-hint{max-width:440px;line-height:1.45}.file-row{align-items:center;gap:var(--nc-space-m);display:flex}.file-text{overflow-wrap:anywhere;flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.file-row .soft-pill{align-self:center;margin-top:0}.check-row{align-items:center;gap:10px;display:flex}.setup-card input.check{width:20px;height:20px;min-height:0;accent-color:var(--nc-accent);margin:0;padding:0}.name-preview{padding:14px var(--nc-space-l);background:var(--nc-background);border-radius:var(--nc-radius-panel);gap:var(--nc-space-xs);flex-direction:column;display:flex}.added-card{background:var(--nc-success-tint);border-radius:var(--nc-radius-card);flex-direction:column;gap:14px;padding:22px;display:flex}.added-title{font:var(--nc-text-title);letter-spacing:-.01em}.chips{gap:var(--nc-space-s);flex-wrap:wrap;display:flex}.chip{padding:6px var(--nc-space-m);background:var(--nc-card);border-radius:var(--nc-radius-pill);font:var(--nc-text-subheadline);font-weight:600}.added-skipped{font:var(--nc-text-subheadline);color:var(--nc-success)}.added-skipped strong{font-weight:600}.invite-message{font:var(--nc-text-body);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.invite-code{color:var(--nc-label);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-weight:600}.button-row{flex-wrap:wrap;gap:10px;display:flex}.primary.as-button{box-sizing:border-box;font:var(--nc-text-headline);align-items:center;margin-top:0;text-decoration:none;display:inline-flex}.soft-button{height:var(--nc-button-height);padding:0 var(--nc-space-xl);border-radius:var(--nc-radius-button);background:var(--nc-background);color:var(--nc-accent-strong);border:0}.setup-card.cards-card{align-items:center;gap:var(--nc-space-xl);flex-direction:row}.mini-sheet{box-sizing:border-box;background:var(--nc-background);border-radius:8px;flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:120px;height:170px;padding:10px;display:grid}.mini-sheet span{background:var(--nc-card);border-top:4px solid var(--nc-accent);border-radius:3px}.cards-text{flex-direction:column;gap:10px;display:flex}.cards-text .primary{margin-top:0}.ready-card{background:var(--nc-success-tint);border-radius:var(--nc-radius-card);align-items:center;gap:var(--nc-space-l);flex-wrap:wrap;padding:20px 22px;display:flex}.ready-title{flex-grow:1}.ready-soft,.ready-go{border-radius:var(--nc-radius-panel);border:0;min-height:48px;padding:0 18px}.ready-soft{background:var(--nc-card);color:var(--nc-heard-green)}.ready-go{background:var(--nc-heard-green);color:var(--nc-on-accent)}@media (width<=860px){.setup{flex-direction:column}.setup-steps{width:auto;height:auto;padding:var(--nc-space-l);position:static}.setup-steps .side-fill{display:none}.setup-main{padding:var(--nc-space-l)}.choices{grid-template-columns:1fr}}.auth-page{gap:var(--nc-space-l);flex-direction:column;max-width:480px;padding-top:48px;display:flex}.auth-card{background:var(--nc-card);border-radius:var(--nc-radius-card);gap:var(--nc-space-m);flex-direction:column;padding:28px;display:flex}.auth-card h1{letter-spacing:-.02em;margin:0}.auth-card h2,.auth-card p{margin:0}.auth-card .stack label{margin-top:var(--nc-space-xs)}.auth-card.soft{border:1px solid var(--nc-separator);background:0 0}.auth-card.soft .secondary{align-self:flex-start}.auth-brand{font:var(--nc-text-headline);color:var(--nc-accent);font-weight:700}.auth-foot{text-align:center;padding:0 var(--nc-space-l)}.invite-note{padding:var(--nc-space-m) var(--nc-space-l);background:var(--nc-accent-tint);border-radius:var(--nc-radius-panel);font:var(--nc-text-subheadline)}.invite-note strong{letter-spacing:.04em}.sent{gap:var(--nc-space-m);flex-direction:column;display:flex}.sent .button-row{align-items:center}.sent .secondary{margin-top:0}.secondary.google{margin-top:var(--nc-space-xs);justify-content:center;align-items:center;gap:10px;display:flex}.auth-card .or{align-items:center;gap:var(--nc-space-m);margin:var(--nc-space-xs) 0;font:var(--nc-text-subheadline);display:flex}.auth-card .or:before,.auth-card .or:after{content:"";background:var(--nc-separator);flex-grow:1;height:1px}.zone-line{line-height:1.6}.zone-line strong{color:var(--nc-label);font-weight:600}.text-button.inline{min-height:0;margin-left:2px;padding:2px 6px}.auth-card .link{align-self:flex-start}.auth-card .panel.list{overflow:hidden}.row-text{flex-direction:column;gap:2px;display:flex}.row-chev{stroke:var(--nc-secondary-label);flex-shrink:0}.landing-code{padding:var(--nc-space-l);background:var(--nc-background);border-radius:var(--nc-radius-panel);text-align:center;letter-spacing:.08em;font:600 2rem/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.stat-tiles .stat-tile{border:2px solid #0000;gap:0;padding:0;overflow:hidden}.stat-tiles .stat-tile.on{border-color:var(--nc-accent)}.stat-main{gap:var(--nc-space-s);padding:18px 18px var(--nc-space-m);text-align:left;color:var(--nc-label);font:inherit;background:0 0;border:0;flex-direction:column;display:flex}.stat-main:hover{background:var(--nc-background)}.stat-main[aria-pressed=true]{background:var(--nc-accent-tint)}.stat-main .muted{font:var(--nc-text-subheadline)}.stat-count{align-items:baseline;gap:6px;display:flex}.stat-big{font-size:2.25rem}.stat-of{font:var(--nc-text-headline);color:var(--nc-secondary-label);font-variant-numeric:tabular-nums}.stat-bar{height:var(--nc-progress-height);border-radius:var(--nc-radius-pill);background:var(--nc-background);overflow:hidden}.stat-bar span{background:var(--nc-accent);border-radius:inherit;height:100%;display:block}.stat-rest{min-height:var(--nc-min-tap);border:0;border-top:1px solid var(--nc-fill);text-align:left;color:var(--nc-accent-strong);font:var(--nc-text-subheadline);background:0 0;align-items:center;padding:0 18px;font-weight:600;display:flex}.stat-rest:hover,.stat-rest[aria-pressed=true]{background:var(--nc-accent-tint)}.stat-rest.all{color:var(--nc-heard-green)}.kids-col{flex-direction:column;gap:20px;max-width:820px;margin:0 auto;display:flex}.kids-head{align-items:flex-end;gap:var(--nc-space-m);flex-wrap:wrap;display:flex}.kids-head-text{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.kids-head h1{letter-spacing:-.02em;margin:0}.secondary.kids-head-button{margin-top:0}.kids-status{background:var(--nc-success-tint);border-radius:var(--nc-radius-card);align-items:center;gap:var(--nc-space-l);padding:14px 20px;display:flex}.kids-status-text{font:var(--nc-text-headline);flex-grow:1}.kids-undo{min-height:var(--nc-min-tap);padding:0 var(--nc-space-l);border-radius:var(--nc-radius-pill);background:var(--nc-card);color:var(--nc-heard-green);font:var(--nc-text-subheadline);border:0;font-weight:600}.kids-panel{background:var(--nc-card);border-radius:var(--nc-radius-card);gap:var(--nc-space-m);flex-direction:column;padding:22px;display:flex}.kids-panel.warn{border:2px solid var(--nc-accent)}.kids-panel .setup-card{background:0 0;padding:0}.kids-panel-head{align-items:center;gap:var(--nc-space-m);display:flex}.kids-panel-head .field-title{flex-grow:1}.kids-panel .button-row,.new-card-ask .button-row{align-items:center}.kids-remove-title{font:var(--nc-text-title);letter-spacing:-.01em;font-size:20px}.primary.kids-go{margin-top:0;padding:0 28px}select.kids-select,input.kids-input{width:320px;max-width:100%;min-height:var(--nc-button-height);background:var(--nc-background);font:var(--nc-text-body);border:0}.kid-edit-panel select.kids-select,.kid-edit-panel input.kids-input{background:var(--nc-card)}.picked-bar{background:var(--nc-label);border-radius:var(--nc-radius-card);color:var(--nc-on-accent);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 10px 10px 20px;display:flex}.picked-text{font:var(--nc-text-headline);flex-grow:1}.picked-button,.picked-clear{min-height:var(--nc-min-tap);padding:0 var(--nc-space-l);border-radius:var(--nc-radius-pill);font:var(--nc-text-subheadline);border:0;font-weight:600}.picked-button{background:var(--nc-card);color:var(--nc-label)}.picked-button.warn{color:var(--nc-accent-strong)}.picked-clear{color:var(--nc-on-accent);background:0 0}.kids-tip{align-items:center;gap:var(--nc-space-m);font:var(--nc-text-subheadline);color:var(--nc-secondary-label);display:flex}.kids-tip span{flex-grow:1}.kids-list{background:var(--nc-card);border-radius:var(--nc-radius-card);overflow:hidden}.kid-row+.kid-row{border-top:1px solid var(--nc-separator)}.kid-row.picked{background:var(--nc-accent-tint)}.kid-line{min-height:64px;padding:6px var(--nc-space-l) 6px var(--nc-space-s);align-items:center;gap:14px;display:flex}.kid-pick{width:var(--nc-min-tap);height:var(--nc-min-tap);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.kid-box{border:2px solid var(--nc-outline);background:var(--nc-card);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.kid-box svg{stroke:#0000}.kid-pick[aria-checked=true] .kid-box{background:var(--nc-accent);border-color:var(--nc-accent)}.kid-pick[aria-checked=true] .kid-box svg{stroke:var(--nc-on-accent)}.kid-text{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.soft-pill.kid-edit{align-self:center;margin-top:0}.kid-edit-panel{margin:0 var(--nc-space-l) var(--nc-space-l) 66px;background:var(--nc-background);gap:var(--nc-space-l);border-radius:14px;flex-direction:column;padding:18px;display:flex}.kid-edit-row{gap:var(--nc-space-l);flex-wrap:wrap;align-items:flex-end;display:flex}.switch.reads-switch{background:var(--nc-fill);width:248px}.moved-on-note{background:var(--nc-success-tint);border-radius:var(--nc-radius-panel);font:var(--nc-text-subheadline);color:var(--nc-success);padding:10px 14px}.new-card-ask{padding:var(--nc-space-l);background:var(--nc-card);border:2px solid var(--nc-accent);border-radius:var(--nc-radius-panel);gap:var(--nc-space-s);flex-direction:column;display:flex}.kid-edit-buttons{gap:var(--nc-space-m);flex-wrap:wrap;align-items:center;display:flex}.kid-small{min-height:var(--nc-min-tap);padding:0 var(--nc-space-l);border-radius:var(--nc-radius-pill);background:var(--nc-card);color:var(--nc-label);font:var(--nc-text-subheadline);border:0;font-weight:600}.kid-small.warn{color:var(--nc-accent-strong)}.left-block{flex-direction:column;gap:10px;display:flex}.link-button.left-toggle{font:var(--nc-text-headline);align-self:flex-start}.left-row{min-height:64px;padding:6px var(--nc-space-l) 6px 20px;border-bottom:1px solid var(--nc-separator);align-items:center;gap:14px;display:flex}.left-name{color:var(--nc-secondary-label)}.left-note{padding:var(--nc-space-m) 20px var(--nc-space-l);font:var(--nc-text-subheadline);color:var(--nc-secondary-label)}@media (width<=760px){.kid-edit-panel{margin-left:var(--nc-space-l)}}.cards-page{min-width:0;padding:var(--nc-space-xxl);align-items:center;gap:var(--nc-space-l);flex-direction:column;flex-grow:1;display:flex}.cards-bar{gap:var(--nc-space-s);flex-direction:column;width:210mm;max-width:100%;display:flex}.cards-bar-row{align-items:flex-end;gap:var(--nc-space-l);flex-wrap:wrap;display:flex}.cards-bar-text{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.cards-bar h1{letter-spacing:-.02em;margin:0}.primary.print-button{padding:0 var(--nc-space-xxl);margin-top:0}.card-preview{gap:var(--nc-space-xl);flex-direction:column;max-width:100%;display:flex;overflow-x:auto}.card-preview .card-sheet{box-shadow:0 1px 3px #1c1a181f,0 6px 24px #1c1a180f}.card-sheet{box-sizing:border-box;color:#1c1a18;width:210mm;height:297mm;font-family:var(--nc-font);background:#fff;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));padding:10mm;display:grid}.print-card{box-sizing:border-box;border:1px dashed var(--nc-fill-strong);flex-direction:column;gap:2.5mm;margin:-.5px;padding:4mm 4.5mm 3.5mm;display:flex;overflow:hidden}.print-card-head{align-items:flex-start;gap:2mm;display:flex}.print-card-who{flex-direction:column;flex-grow:1;gap:.5mm;min-width:0;display:flex}.print-card-name{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.15}.print-card-class{color:var(--nc-secondary-label);font-size:14px}.print-card-brand{color:var(--nc-accent-strong);white-space:nowrap;border:1.5px solid #b5521b;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.print-card-body{align-items:center;gap:3.5mm;display:flex}.card-qr{flex-shrink:0;width:30mm;height:30mm}.print-card-steps{flex-direction:column;gap:1.5mm;font-size:15px;line-height:1.3;display:flex}.print-card-steps span{color:var(--nc-accent-strong);font-weight:700}.print-card-code{background:var(--nc-background);border-radius:10px;align-items:center;gap:2.5mm;margin-top:auto;padding:2mm 3mm;display:flex}.print-card-code-label{color:var(--nc-secondary-label);flex-grow:1;font-size:14px}.print-card-code-text{letter-spacing:.08em;white-space:nowrap;font:600 20px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.print-only{display:none}@media print{@page{size:A4;margin:0}body.printing-cards{background:#fff}body.printing-cards #root{display:none}body.printing-cards .print-only{display:block}.print-only .card-sheet{break-after:page;page-break-after:always}.print-only .card-sheet:last-child{break-after:auto;page-break-after:auto}.card-sheet,.print-card-code,.print-card-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.dash-area{flex-grow:1;min-width:0;display:flex}.dash{min-width:0;padding:var(--nc-space-xxl);gap:var(--nc-space-xl);flex-direction:column;flex-grow:1;display:flex}.dash-head{align-items:flex-end;gap:var(--nc-space-l);flex-wrap:wrap;display:flex}.dash-head-text{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.dash-head h1{letter-spacing:-.02em;margin:0}.dash-head .muted{font:var(--nc-text-subheadline)}.primary.dash-add{align-items:center;gap:var(--nc-space-s);height:48px;font:var(--nc-text-headline);margin-top:0;padding:0 20px;display:inline-flex}.primary.dash-add svg{stroke:var(--nc-on-accent)}.dash-section{gap:var(--nc-space-m);flex-direction:column;display:flex}.dash-label{font:var(--nc-text-footnote);letter-spacing:.04em;text-transform:uppercase;color:var(--nc-accent-strong);margin:0}.dash-title{font:var(--nc-text-title);letter-spacing:-.01em;margin:0}.dash-row{align-items:center;gap:var(--nc-space-l);flex-wrap:wrap;display:flex}.dash-row-text{flex-direction:column;flex-grow:1;gap:2px;display:flex}.switch.three{grid-template-columns:repeat(3,auto);width:auto}.switch.three button{padding:0 var(--nc-space-l)}.dash-four{gap:var(--nc-space-m);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dash-five{gap:var(--nc-space-m);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.dash-num{background:var(--nc-card);border-radius:var(--nc-radius-card);gap:var(--nc-space-xs);flex-direction:column;padding:18px;display:flex}.dash-num .muted{font:var(--nc-text-subheadline)}.dash-big{font:var(--nc-text-streak);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.dash-of{font:var(--nc-text-headline);color:var(--nc-secondary-label)}.dash-tile{text-align:left;border-radius:var(--nc-radius-card);gap:var(--nc-space-xs);min-height:140px;color:var(--nc-label);background:var(--nc-card);font:inherit;border:2px solid #0000;flex-direction:column;padding:18px;display:flex}.dash-tile:hover{border-color:var(--nc-separator)}.dash-tile[aria-pressed=true]{background:var(--nc-accent-tint);border-color:var(--nc-accent)}.dash-tile-text{font:var(--nc-text-subheadline);color:var(--nc-label)}.dash-panel{background:var(--nc-card);border-radius:var(--nc-radius-card);scroll-margin:var(--nc-space-l);overflow:hidden}.dash-panel-head{padding:var(--nc-space-m) 20px;align-items:center;gap:var(--nc-space-m);border-bottom:1px solid var(--nc-fill);display:flex}.dash-panel-title{font:var(--nc-text-headline);flex-grow:1}.dash-panel-empty{padding:var(--nc-space-l) 20px}.dash-kid{column-gap:var(--nc-space-l);grid-template-columns:minmax(140px,1fr) 140px minmax(200px,2fr) 90px;align-items:center;min-height:60px;padding:6px 20px;display:grid}.dash-kid+.dash-kid{border-top:1px solid var(--nc-fill)}.soft-pill.dash-open{place-self:center stretch;margin-top:0;padding:0 14px}.dash-card{background:var(--nc-card);border-radius:var(--nc-radius-card)}.dash-term{flex-wrap:wrap;align-items:stretch;gap:28px;padding:20px;display:flex}.dash-term-text{flex-direction:column;gap:10px;width:260px;display:flex}.dash-key{align-items:center;gap:var(--nc-space-s);font:var(--nc-text-subheadline);display:flex}.key-box{border-radius:4px;flex-shrink:0;width:14px;height:14px;display:inline-block}.key-box.read-enough{background:#e9b48f}.key-box.progressed,.key-box.ahead{background:var(--nc-heard-green)}.key-box.on-track{background:var(--nc-accent)}.key-box.behind{background:var(--nc-separator)}.dash-term-line{font:var(--nc-text-body);margin-top:auto;line-height:1.45}.dash-term-line strong{font-weight:700}.green{color:var(--nc-heard-green)}.dash-chart-wrap{flex-grow:1;min-width:0;overflow-x:auto}.dash-chart{gap:var(--nc-space-l);align-items:flex-end;min-width:max-content;height:240px;display:flex}.dash-week{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:72px;height:100%;display:flex}.dash-bars{align-items:flex-end;gap:6px;height:196px;display:flex}.dash-bar-col{align-items:center;gap:var(--nc-space-xs);flex-direction:column;display:flex}.dash-bar-n{font:var(--nc-text-footnote);font-variant-numeric:tabular-nums;font-weight:700}.dash-bar{border-radius:6px 6px 3px 3px;width:28px;min-height:2px;display:block}.dash-bar.read-enough{background:#e9b48f}.dash-bar.read-enough.last{background:var(--nc-accent)}.dash-bar.progressed{background:var(--nc-heard-green)}.dash-week-label{font:var(--nc-text-footnote);white-space:nowrap;font-weight:400}.dash-classes{flex-direction:column;display:flex;overflow:hidden}.dash-classes-head{align-items:baseline;gap:var(--nc-space-m);flex-wrap:wrap;padding:18px 20px 6px;display:flex}.dash-classes-head .dash-title{flex-grow:1}.dash-legend{font:var(--nc-text-subheadline);color:var(--nc-secondary-label);gap:14px;font-size:14px;display:flex}.dash-legend>span{align-items:center;gap:6px;display:flex}.dash-table-wrap{overflow-x:auto}.dash-table{min-width:900px}.dash-tr{column-gap:var(--nc-space-l);grid-template-columns:minmax(130px,1fr) minmax(200px,1.6fr) 110px 100px 80px minmax(190px,1.3fr) 76px;align-items:center;min-height:76px;padding:10px 20px;display:grid}.dash-th{min-height:0;font:var(--nc-text-footnote);color:var(--nc-secondary-label);align-items:end}.dash-class{border-top:1px solid var(--nc-fill)}.dash-class-name{flex-direction:column;gap:2px;display:flex}.dash-where{min-height:var(--nc-min-tap);text-align:left;color:var(--nc-label);font:inherit;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.dash-where:disabled{opacity:1}.dash-where-text{font:var(--nc-text-headline);font-size:16px}.dash-where-link{font:var(--nc-text-subheadline);color:var(--nc-accent-strong);font-size:14px;font-weight:600}.dash-cell-num{min-width:var(--nc-min-tap);min-height:var(--nc-min-tap);padding:0 var(--nc-space-s);border-radius:var(--nc-radius-day);color:var(--nc-label);font:var(--nc-text-body);font-variant-numeric:tabular-nums;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--nc-separator);text-decoration-color:var(--nc-separator);text-underline-offset:4px;background:0 0;border:0;justify-self:start}.dash-cell-num:hover{background:var(--nc-accent-tint)}.dash-cell-num.warn{color:var(--nc-accent-strong);font-weight:700}.dash-reading{flex-direction:column;gap:6px;display:flex}.dash-reading-bar{border-radius:var(--nc-radius-pill);background:var(--nc-separator);height:10px;display:flex;overflow:hidden}.dash-reading-bar .ahead{background:var(--nc-heard-green)}.dash-reading-bar .onTrack{background:var(--nc-accent)}.dash-reading-words{font:var(--nc-text-subheadline);color:var(--nc-secondary-label);font-size:14px}.inline-num{color:var(--nc-accent-strong);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:2px 0;font-weight:600;text-decoration:underline}.dash-spread{gap:var(--nc-space-s);flex-wrap:wrap;padding:0 20px 18px;display:flex}.dash-chip{min-height:40px;padding:0 var(--nc-space-m);border-radius:var(--nc-radius-pill);background:var(--nc-background);color:var(--nc-label);font:var(--nc-text-subheadline);border:0}.dash-chip strong{font-weight:600}.dash-chip:hover{background:var(--nc-accent-tint)}.dash-foot{margin:0}.overview-link{margin-bottom:var(--nc-space-m)}.soft-pill.week-open{align-self:center;margin-top:0}.child-page{min-width:0;padding:var(--nc-space-xl) var(--nc-space-xxl) 40px;flex-grow:1;justify-content:center;display:flex}.child-col{flex-direction:column;gap:18px;width:100%;max-width:860px;display:flex}.child-head{align-items:flex-end;gap:var(--nc-space-l);flex-wrap:wrap;display:flex}.child-head-text{gap:var(--nc-space-xs);flex-direction:column;flex-grow:1;display:flex}.child-head h1{letter-spacing:-.02em;margin:0}.child-head .muted{font:var(--nc-text-subheadline)}.child-streak{flex-direction:column;align-items:flex-end;display:flex}.child-streak-n{font:var(--nc-text-large-title);color:var(--nc-accent);line-height:1}.child-note{background:var(--nc-accent-tint);border-radius:var(--nc-radius-card);padding:14px 18px;line-height:1.45}.child-note strong{font-weight:700}.child-card{background:var(--nc-card);border-radius:var(--nc-radius-card);gap:var(--nc-space-m);flex-direction:column;min-width:0;padding:20px;display:flex}.child-card-top{align-items:baseline;gap:var(--nc-space-m);flex-wrap:wrap;display:flex}.child-card-top .dash-label{flex-grow:1}.child-card-title{font:var(--nc-text-headline);margin:0;font-weight:700}.status-pill{border-radius:var(--nc-radius-pill);font:var(--nc-text-subheadline);padding:6px 12px;font-size:14px;font-weight:700}.status-pill.ahead{background:var(--nc-success-tint);color:var(--nc-success)}.status-pill.onTrack{background:var(--nc-accent-tint);color:var(--nc-accent-strong)}.status-pill.behind{background:var(--nc-fill);color:var(--nc-label)}.child-where{font:var(--nc-text-large-title);letter-spacing:-.02em;font-size:30px;line-height:1.15}.child-bar{background:var(--nc-background);border-radius:var(--nc-radius-pill);height:12px;overflow:hidden}.child-bar div{background:var(--nc-accent);border-radius:var(--nc-radius-pill);height:100%}.child-three{gap:var(--nc-space-m);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.child-two{gap:var(--nc-space-m);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.child-week{grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;row-gap:6px;display:grid}.child-line{gap:var(--nc-space-m);border-top:1px solid var(--nc-fill);font:var(--nc-text-subheadline);padding-top:10px;display:flex}.child-line-day{flex-shrink:0;width:36px}.child-line-date{flex-shrink:0;width:56px}.child-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.secondary.child-action{margin-top:0}.text-button.child-edit{font:var(--nc-text-headline)}.child-moved{background:var(--nc-success-tint);border-radius:var(--nc-radius-panel);font:var(--nc-text-subheadline);color:var(--nc-success);padding:12px 16px;line-height:1.45}.child-moved .inline-num{color:var(--nc-success)}.choices.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choices.three .choice{min-height:56px}.cert-moved,.cert-options{gap:var(--nc-space-s);flex-direction:column;display:flex}.cert-options .check-row{font:var(--nc-text-body);min-height:var(--nc-min-tap);margin:0}.cert-options input[type=radio]{width:20px;height:20px;accent-color:var(--nc-accent);margin:0}.cert-number{width:96px;min-height:var(--nc-min-tap)}.cert-select{max-width:260px;min-height:var(--nc-min-tap)}@media (width<=1100px){.dash-five{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.dash,.child-page{padding:var(--nc-space-l)}.dash-five,.child-three{grid-template-columns:repeat(2,minmax(0,1fr))}.child-two,.choices.three{grid-template-columns:1fr}.dash-kid{grid-template-columns:1fr 80px;row-gap:2px;padding:10px 20px}.dash-kid .soft-pill{grid-area:1/2/span 3}.dash-term-text{width:100%}}.btn{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-sm);background:var(--nc-card);height:32px;color:var(--nc-label);font:600 13px/18px var(--nc-font);white-space:nowrap;transition:background var(--nc-instant) ease-out, border-color var(--nc-instant) ease-out;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--nc-background)}.btn.accent{background:var(--nc-accent);border-color:var(--nc-accent);color:var(--nc-on-accent)}.btn.accent:hover:not(:disabled){background:var(--nc-accent-strong);border-color:var(--nc-accent-strong)}.btn.quiet{color:var(--nc-secondary-label);background:0 0;border-color:#0000}.btn.quiet:hover:not(:disabled){background:var(--nc-fill)}.btn.danger{color:var(--nc-error)}.btn.danger.solid{background:var(--nc-error);border-color:var(--nc-error);color:#fff}.btn.big{border-radius:var(--nc-radius-md);height:44px;padding:0 18px;font-size:15px}.btn.full{width:100%}.link-btn{color:var(--nc-accent);font:600 13px/18px var(--nc-font);background:0 0;border:0;padding:0}.link-btn:hover:not(:disabled){color:var(--nc-accent-strong);text-decoration:underline}.icon-button{border-radius:var(--nc-radius-sm);width:32px;height:32px;color:var(--nc-secondary-label);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--nc-fill);color:var(--nc-label)}.shell{background:var(--nc-card);min-height:100vh;display:flex}.nav{box-sizing:border-box;background:var(--nc-background);width:232px;box-shadow:inset -1px 0 0 var(--nc-separator);flex-direction:column;flex-shrink:0;gap:2px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-brand{font:600 15px/20px var(--nc-font);letter-spacing:-.1px;align-items:center;gap:10px;padding:4px 10px 16px;display:flex}.nav-org{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);background:var(--nc-card);text-align:left;min-height:44px;color:var(--nc-label);font:inherit;align-items:center;gap:10px;margin:0 0 16px;padding:6px 10px;display:flex}button.nav-org:hover{background:var(--nc-background)}div.nav-org{cursor:default}.nav-org-text{flex-direction:column;flex-grow:1;min-width:0;display:flex}.nav-org-name{font:600 13px/18px var(--nc-font);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-org-role{font:var(--nc-text-footnote);letter-spacing:.2px;color:var(--nc-secondary-label)}.nav-org svg{color:var(--nc-secondary-label);flex-shrink:0}.nav-link{border-radius:var(--nc-radius-sm);min-height:36px;color:var(--nc-secondary-label);font:400 14px/18px var(--nc-font);text-align:left;transition:background var(--nc-instant) ease-out;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.nav-link:hover{background:var(--nc-fill);color:var(--nc-label)}.nav-link[aria-current=page]{background:var(--nc-fill-strong);color:var(--nc-label);font-weight:600}.nav-fill{flex-grow:1}.nav-me{font:400 13px/18px var(--nc-font);align-items:center;gap:10px;padding:10px;display:flex}.nav-me-name{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;min-width:0;overflow:hidden}.nav-me .link-btn{color:var(--nc-secondary-label);font-weight:500}.avatar,.org-mark{background:var(--nc-accent-tint);color:var(--nc-accent-strong);font:500 12px/1 var(--nc-font);letter-spacing:.2px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar{border-radius:50%}.org-mark{border-radius:var(--nc-radius-md);font-weight:600}.app-mark{flex-shrink:0;display:block}.main{flex-direction:column;flex-grow:1;min-width:0;display:flex}.crumbs{min-height:52px;box-shadow:inset 0 -1px 0 var(--nc-separator);font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label);flex-wrap:wrap;align-items:center;gap:8px;padding:0 32px;display:flex}.crumbs button{font:inherit;color:var(--nc-secondary-label);background:0 0;border:0;padding:0}.crumbs button:hover{color:var(--nc-label);text-decoration:underline}.crumbs .here{color:var(--nc-label)}.crumbs .sep{color:var(--nc-tertiary-label)}.page{padding:0 32px 96px}.page.narrow-page{max-width:760px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;padding:28px 0 20px;display:flex}.page-head-text{flex-direction:column;flex-grow:1;gap:4px;min-width:240px;display:flex}.page-head h1{font:var(--nc-text-large-title);letter-spacing:-.3px;margin:0}.page-sub{font:400 15px/20px var(--nc-font);color:var(--nc-secondary-label)}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.main .class-area,.main .dash-area{flex-grow:1}.tabs{box-shadow:inset 0 -1px 0 var(--nc-separator);gap:24px;display:flex;overflow-x:auto}.tab{height:40px;color:var(--nc-secondary-label);font:400 13px/18px var(--nc-font);white-space:nowrap;transition:color var(--nc-base) var(--nc-ease), box-shadow var(--nc-base) var(--nc-ease);background:0 0;border:0;padding:0}.tab:hover{color:var(--nc-label)}.tab[aria-selected=true]{color:var(--nc-label);box-shadow:inset 0 -2px 0 var(--nc-accent);font-weight:600}.stats{box-shadow:inset 0 -1px 0 var(--nc-separator);flex-wrap:wrap;row-gap:12px;padding:16px 0;display:flex}.stat{box-shadow:inset 1px 0 0 var(--nc-separator);text-align:left;color:var(--nc-label);background:0 0;border:0;flex-direction:column;gap:2px;padding:0 20px;display:flex}.stat:first-child{box-shadow:none;padding-left:0}button.stat:hover .stat-value{color:var(--nc-accent)}.stat-label{font:var(--nc-text-footnote);color:var(--nc-secondary-label)}.stat-value{font:600 20px/25px var(--nc-font)}.stat-value small{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label);margin-left:4px}.table-wrap{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font:400 13px/18px var(--nc-font);table-layout:fixed}table.grid th{text-align:left;height:36px;font:var(--nc-text-footnote);color:var(--nc-secondary-label);box-shadow:inset 0 -1px 0 var(--nc-separator);white-space:nowrap;padding:0 12px}table.grid td{height:48px;box-shadow:inset 0 -1px 0 var(--nc-separator);vertical-align:middle;text-overflow:ellipsis;padding:0 12px;overflow:hidden}table.grid tbody tr{transition:background var(--nc-instant) ease-out}table.grid tbody tr:hover,table.grid tbody tr.picked{background:var(--nc-background)}table.grid tr.clickable{cursor:pointer}table.grid .num{text-align:right}.cell-two{flex-direction:column;min-width:0;display:flex}.cell-strong{color:var(--nc-label);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cell-sub{font:var(--nc-text-footnote);color:var(--nc-secondary-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cell-row{align-items:center;gap:8px;display:flex}.cell-muted{color:var(--nc-secondary-label)}.cell-warn{color:var(--nc-warning)}.name-button{font:600 13px/18px var(--nc-font);color:var(--nc-label);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;padding:0;overflow:hidden}.name-button:hover{color:var(--nc-accent);text-decoration:underline}.row-more{opacity:0;transition:opacity var(--nc-instant) ease-out}tr:hover .row-more,tr:focus-within .row-more,.row-more:focus-visible{opacity:1}@media (hover:none){.row-more{opacity:1}}.table-empty{color:var(--nc-secondary-label);font:400 15px/20px var(--nc-font);padding:32px 0}.bar{background:var(--nc-fill);vertical-align:middle;border-radius:2px;flex-shrink:0;height:4px;display:inline-block;overflow:hidden}.bar>span{background:var(--nc-accent);border-radius:2px;height:100%;display:block}.bar.big{border-radius:3px;height:6px}.tag{border-radius:var(--nc-radius-xs);height:22px;font:var(--nc-text-footnote);white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex}.tag.ok{background:var(--nc-success-tint);color:var(--nc-success)}.tag.ahead{background:var(--nc-accent-tint);color:var(--nc-accent-strong)}.tag.look{background:var(--nc-warning-tint);color:var(--nc-warning)}.tag.stop{background:var(--nc-error-tint);color:var(--nc-error)}.tag.plain{background:var(--nc-fill);color:var(--nc-secondary-label)}.dots{align-items:center;gap:4px;display:inline-flex}.wd{box-sizing:border-box;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.wd.read{background:var(--nc-accent)}.wd.heard{border:1.5px solid var(--nc-success)}.wd.both{background:var(--nc-accent);box-shadow:0 0 0 1.5px var(--nc-card), 0 0 0 2.5px var(--nc-success)}.wd.none,.wd.paused{background:var(--nc-fill-strong)}.wd.future{border:1px solid var(--nc-separator)}.wd.off{border:1px dashed var(--nc-separator);background:0 0;width:6px;height:6px;margin:1px}.wd.excused{border:1.5px dashed var(--nc-tertiary-label)}.dot-legend{font:var(--nc-text-footnote);color:var(--nc-secondary-label);flex-wrap:wrap;gap:16px;padding:12px 0 0;display:flex}.dot-legend>span{align-items:center;gap:6px;display:inline-flex}.checkbox{background:0 0;border:0;width:28px;height:28px;margin:-6px;padding:6px;display:inline-flex}.checkbox-box{box-sizing:border-box;border:1px solid var(--nc-tertiary-label);border-radius:var(--nc-radius-xs);color:#0000;background:var(--nc-card);width:16px;height:16px;transition:background var(--nc-fast) var(--nc-ease), border-color var(--nc-fast) var(--nc-ease);justify-content:center;align-items:center;display:inline-flex}.checkbox[aria-checked=true] .checkbox-box,.checkbox[aria-checked=mixed] .checkbox-box{background:var(--nc-accent);border-color:var(--nc-accent);color:#fff}.checkbox-dash{background:#fff;border-radius:1px;width:8px;height:2px}.search{box-sizing:border-box;border:1px solid var(--nc-separator);border-radius:var(--nc-radius-sm);width:240px;max-width:100%;height:32px;color:var(--nc-tertiary-label);font:400 13px/18px var(--nc-font);background:var(--nc-card);align-items:center;gap:8px;margin:0;padding:0 10px;display:flex}.search input{height:30px;min-height:0;font:400 13px/18px var(--nc-font);color:var(--nc-label);background:0 0;border:0;outline:none;width:100%;padding:0}.search:focus-within{border-color:var(--nc-accent)}.notice{border-radius:var(--nc-radius-md);background:var(--nc-success-tint);color:var(--nc-label);font:400 13px/18px var(--nc-font);align-items:center;gap:12px;margin:16px 0 0;padding:10px 14px;display:flex}.notice-text{flex-grow:1}.notice.warn{background:var(--nc-warning-tint)}.notice.error{background:var(--nc-error-tint)}.notice.plain{background:var(--nc-background)}.panel-v2{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);background:var(--nc-card);padding:16px}.section-v2{padding:24px 0 0}.section-v2>h2,.section-head h2{font:var(--nc-text-title);margin:0}.section-head{flex-wrap:wrap;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.section-head .grow{flex-grow:1}.field-label{font:var(--nc-text-footnote);color:var(--nc-secondary-label);margin:0 0 6px;display:block}.field-v2{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field-v2 input,.field-v2 select,.input-v2{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-sm);height:36px;min-height:36px;font:400 13px/18px var(--nc-font);background:var(--nc-card);color:var(--nc-label);box-sizing:border-box;width:100%;padding:0 10px}.field-v2 input:focus-visible,.field-v2 select:focus-visible,.input-v2:focus-visible{outline:3px solid var(--nc-accent-tint);border-color:var(--nc-accent)}.field-hint{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label)}.field-error{font:400 13px/18px var(--nc-font);color:var(--nc-error)}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row>*{flex:140px}.waiting-v2{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);margin:16px 0 0}.waiting-v2-head{box-shadow:inset 0 -1px 0 var(--nc-separator);align-items:center;gap:12px;padding:12px 16px;display:flex}.waiting-v2-head h2{font:600 15px/20px var(--nc-font);flex-grow:1;margin:0}.waiting-v2-row{font:400 13px/18px var(--nc-font);align-items:center;gap:12px;padding:10px 16px;display:flex}.waiting-v2-row+.waiting-v2-row{box-shadow:inset 0 1px 0 var(--nc-separator)}.waiting-v2-row .grow{flex-grow:1}.waiting-v2-note{font:400 12px/16px var(--nc-font);color:var(--nc-secondary-label);padding:0 16px 12px}.bulkbar{z-index:40;background:var(--nc-label);color:#fff;box-shadow:var(--nc-shadow-raised);font:400 13px/18px var(--nc-font);animation:nc-rise var(--nc-base) var(--nc-ease);border-radius:10px;align-items:center;gap:8px;padding:6px 6px 6px 16px;display:flex;position:fixed;bottom:24px;left:calc(50% + 116px);transform:translate(-50%)}.bulkbar-count{white-space:nowrap;padding-right:8px}.bulkbar button:not(.icon-button){border-radius:var(--nc-radius-sm);color:#fff;height:32px;font:600 13px/18px var(--nc-font);white-space:nowrap;background:#ffffff1f;border:0;padding:0 10px}.bulkbar button:not(.icon-button):hover{background:#fff3}.bulkbar .icon-button{color:#fffc}.bulkbar .icon-button:hover{color:#fff;background:#ffffff1f}@keyframes nc-rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}body.overlay-open{overflow:hidden}.scrim{z-index:50;background:var(--nc-scrim);animation:nc-fade var(--nc-fast) var(--nc-ease);position:fixed;inset:0}.dialog{z-index:51;background:var(--nc-card);border-radius:var(--nc-radius-lg);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--nc-shadow-overlay);animation:nc-pop var(--nc-base) var(--nc-ease);outline:none;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog.wide{width:min(680px,100vw - 32px)}.dialog-head{box-shadow:inset 0 -1px 0 var(--nc-separator);align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.dialog-title{flex-direction:column;flex-grow:1;gap:4px;min-width:0;display:flex}.dialog-title h2{font:var(--nc-text-title);margin:0}.dialog-sub{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label)}.dialog-body{font:400 13px/18px var(--nc-font);padding:20px 24px;overflow-y:auto}.dialog-foot{box-shadow:inset 0 1px 0 var(--nc-separator);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:16px 24px;display:flex}.dialog-foot .grow{flex-grow:1}.drawer{z-index:51;background:var(--nc-card);width:min(460px,100vw);animation:nc-slide var(--nc-slow) var(--nc-ease-slow);outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 48px #1c191729}.drawer-body{font:400 13px/18px var(--nc-font);flex-direction:column;flex-grow:1;gap:20px;padding:20px 24px;display:flex;overflow-y:auto}@keyframes nc-fade{0%{opacity:0}to{opacity:1}}@keyframes nc-pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes nc-slide{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:none}}.options{flex-direction:column;gap:8px;display:flex}.option{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);transition:background var(--nc-fast) var(--nc-ease), border-color var(--nc-fast) var(--nc-ease)}.option.on{background:var(--nc-accent-tint);border-color:var(--nc-accent)}.option-pick{text-align:left;width:100%;color:var(--nc-label);font:inherit;border-radius:var(--nc-radius-md);background:0 0;border:0;grid-template-columns:16px 1fr;gap:10px;padding:12px 14px;display:grid}.radio-dot{box-sizing:border-box;border:1px solid var(--nc-tertiary-label);background:var(--nc-card);width:16px;height:16px;transition:border-width var(--nc-fast) var(--nc-ease);border-radius:50%;margin-top:1px}.option.on .radio-dot{border:5px solid var(--nc-accent)}.option-text{flex-direction:column;gap:2px;display:flex}.option-title{font:600 13px/18px var(--nc-font)}.option-sub{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label)}.option-more{flex-direction:column;gap:10px;padding:0 14px 14px 40px;display:flex}.to-chips{flex-wrap:wrap;gap:6px;display:flex}.to-chip{border-radius:var(--nc-radius-sm);background:var(--nc-fill);height:28px;font:400 13px/18px var(--nc-font);align-items:center;gap:2px;padding:0 4px 0 10px;display:inline-flex}.to-chip button{width:22px;height:22px;color:var(--nc-secondary-label);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.to-chip button:hover{background:var(--nc-fill-strong);color:var(--nc-label)}.preview-box{border-radius:var(--nc-radius-md);background:var(--nc-background);flex-direction:column;gap:8px;padding:14px;display:flex}.preview-line{font:400 13px/18px var(--nc-font);align-items:baseline;gap:8px;display:flex}.preview-line .grow{flex-grow:1;font-weight:600}.steps{font:var(--nc-text-footnote);color:var(--nc-tertiary-label);gap:16px;padding:12px 24px 0;display:flex}.steps .on{color:var(--nc-label)}.steps .done{color:var(--nc-success)}.drop{box-sizing:border-box;border:1px dashed var(--nc-fill-strong);border-radius:var(--nc-radius-md);background:var(--nc-background);text-align:center;cursor:pointer;min-height:180px;font:400 15px/20px var(--nc-font);transition:background var(--nc-fast) var(--nc-ease), border-color var(--nc-fast) var(--nc-ease);flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0;padding:24px;display:flex}.drop:hover,.drop.over{border-color:var(--nc-accent);background:var(--nc-accent-tint)}.drop svg{color:var(--nc-tertiary-label)}.drop .pick{color:var(--nc-accent);font-weight:600}.drop .field-hint{font-size:13px}.file-line{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);align-items:center;gap:10px;padding:10px 12px;display:flex}.file-line .grow{flex-grow:1}.counts{flex-wrap:wrap;gap:16px;padding:14px 0 10px;display:flex}.counts .warn{color:var(--nc-warning)}.counts .bad{color:var(--nc-error)}.check-table{border-top:1px solid var(--nc-separator);max-height:320px;overflow-y:auto}.check-table table.grid td{height:40px}.done-v2{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 0 4px;display:flex}.done-v2 h3{font:var(--nc-text-title);margin:0}.done-v2 p{color:var(--nc-secondary-label);font:400 15px/20px var(--nc-font);max-width:460px;margin:0}.done-mark{background:var(--nc-success-tint);width:36px;height:36px;color:var(--nc-success);animation:nc-check var(--nc-check) var(--nc-ease-check);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@keyframes nc-check{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.paste-box{box-sizing:border-box;border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);width:100%;min-height:180px;font:400 13px/20px var(--nc-font);resize:vertical;padding:10px 12px}.paste-box:focus-visible{outline:3px solid var(--nc-accent-tint);border-color:var(--nc-accent)}.seg{border-radius:var(--nc-radius-sm);background:var(--nc-fill);gap:2px;margin-bottom:14px;padding:2px;display:inline-flex}.seg button{height:28px;color:var(--nc-secondary-label);font:500 13px/18px var(--nc-font);transition:background var(--nc-base) var(--nc-ease);background:0 0;border:0;border-radius:4px;padding:0 12px}.seg button[aria-pressed=true]{background:var(--nc-card);color:var(--nc-label);box-shadow:0 1px 1px #1c19170a}.set-card{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);flex-direction:column;gap:8px;padding:16px;display:flex}.set-card-top{align-items:flex-start;gap:12px;display:flex}.set-card-top .grow{flex-direction:column;flex-grow:1;gap:2px;display:flex}.set-title{font:600 15px/20px var(--nc-font)}.set-sub{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label)}.set-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding-top:20px;display:grid}.set-history{flex-direction:column;display:flex}.set-history-row{box-shadow:inset 0 -1px 0 var(--nc-separator);font:400 13px/18px var(--nc-font);align-items:center;gap:12px;padding:10px 0;display:flex}.set-history-row .grow{flex-grow:1}.week-tab{background:var(--nc-background);align-items:flex-start;gap:24px;min-height:60vh;margin:0 -32px -96px;padding:24px 32px 96px;display:flex}.week-tab .class-side{width:320px;padding:0}.week-tab>.class-main{padding:0}.week-tab-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.week-tab-head .grow{color:var(--nc-secondary-label);font:400 13px/18px var(--nc-font);flex-grow:1}.week-tab .class-side{position:static}.signin-v2{background:var(--nc-card);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.signin-v2-head{min-height:64px;font:600 15px/20px var(--nc-font);background:var(--nc-background);box-shadow:inset 0 -1px 0 var(--nc-separator);grid-column:1/-1;align-items:center;gap:10px;padding:0 40px;display:flex}.signin-v2-about{background:var(--nc-background);box-shadow:inset -1px 0 0 var(--nc-separator);flex-direction:column;grid-area:2/1;gap:28px;padding:48px 40px;display:flex}.signin-v2-about>*{max-width:520px}.signin-v2-about h2{font:var(--nc-text-hero);letter-spacing:-.5px;margin:0}.signin-v2-steps{margin:0;padding:0;list-style:none}.signin-v2-steps li{font:400 15px/20px var(--nc-font);box-shadow:inset 0 -1px 0 var(--nc-separator);grid-template-columns:28px 1fr;padding:12px 0;display:grid}.signin-v2-steps li span{color:var(--nc-accent);font-weight:600}.signin-v2-week{background:var(--nc-card);border-radius:var(--nc-radius-md);box-shadow:inset 0 0 0 1px var(--nc-separator);overflow:hidden}.signin-v2-week-top{min-height:40px;box-shadow:inset 0 -1px 0 var(--nc-separator);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.signin-v2-week-top strong{font:600 13px/18px var(--nc-font)}.signin-v2-week-top span{font:var(--nc-text-footnote);color:var(--nc-secondary-label)}.signin-v2-week-row{min-height:40px;font:400 13px/18px var(--nc-font);box-shadow:inset 0 -1px 0 var(--nc-separator);grid-template-columns:1fr 110px 92px;align-items:center;padding:0 16px;display:grid}.signin-v2-week-row .who{font-weight:600}.signin-v2-week-row .where{color:var(--nc-secondary-label)}.signin-v2-week .dot-legend{padding:10px 16px 12px}.signin-v2-main{grid-area:2/2;justify-content:center;align-items:flex-start;padding:48px 40px;display:flex}.signin-v2-col{flex-direction:column;gap:20px;width:100%;max-width:380px;padding-top:24px;display:flex}.signin-v2-col h1{font:var(--nc-text-large-title);letter-spacing:-.3px;margin:0}.signin-v2-col p{color:var(--nc-secondary-label);font:400 15px/20px var(--nc-font);margin:0}.signin-v2-col p strong{color:var(--nc-label)}.signin-v2-invite{border-radius:var(--nc-radius-md);background:var(--nc-background);font:400 13px/18px var(--nc-font);align-items:center;gap:12px;padding:12px 14px;display:flex}.signin-v2-google{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);background:var(--nc-card);width:100%;height:44px;color:var(--nc-label);font:600 15px/20px var(--nc-font);justify-content:center;align-items:center;gap:10px;display:flex}.signin-v2-google:hover:not(:disabled){background:var(--nc-background)}.signin-v2-or{font:var(--nc-text-footnote);color:var(--nc-tertiary-label);align-items:center;gap:12px;display:flex}.signin-v2-or:before,.signin-v2-or:after{content:"";background:var(--nc-separator);flex-grow:1;height:1px}.signin-v2-form{flex-direction:column;gap:8px;display:flex}.signin-v2-form label{font:var(--nc-text-footnote);color:var(--nc-secondary-label);margin:0}.signin-v2-form input{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);height:44px;font:400 15px/20px var(--nc-font);padding:0 12px}.signin-v2-form input[aria-invalid=true]{border-color:var(--nc-error)}.signin-v2-form .accent-big{border-radius:var(--nc-radius-md);background:var(--nc-accent);height:44px;color:var(--nc-on-accent);font:600 15px/20px var(--nc-font);border:0;margin-top:4px}.signin-v2-form .accent-big:hover:not(:disabled){background:var(--nc-accent-strong)}.signin-v2-note{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label)}.signin-v2-error{font:400 13px/18px var(--nc-font);color:var(--nc-error)}.signin-v2-sent-mark{background:var(--nc-accent-tint);width:40px;height:40px;color:var(--nc-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.signin-v2-sent-buttons{flex-wrap:wrap;gap:8px;display:flex}.signin-v2-foot{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label);box-shadow:inset 0 1px 0 var(--nc-separator);grid-column:1/-1;align-items:center;gap:16px;padding:18px 40px;display:flex}@media (width<=900px){.shell{flex-direction:column}.nav{width:auto;height:auto;box-shadow:inset 0 -1px 0 var(--nc-separator);flex-flow:wrap;align-items:center;gap:4px;padding:10px 16px;position:static}.nav-brand{padding:0 8px 0 0}.nav-org{min-height:36px;margin:0 8px 0 0}.nav-fill{display:none}.nav-me{margin-left:auto;padding:0 0 0 8px}.crumbs,.page{padding-left:16px;padding-right:16px}.bulkbar{max-width:calc(100vw - 32px);bottom:16px;left:50%;overflow-x:auto}.week-tab{flex-direction:column;margin:0 -16px -96px;padding:20px 16px 96px}.week-tab .class-side{width:100%}.signin-v2{grid-template-columns:1fr}.signin-v2-head,.signin-v2-foot{padding-left:20px;padding-right:20px}.signin-v2-about{box-shadow:inset 0 1px 0 var(--nc-separator);grid-area:3/1;padding:28px 20px}.signin-v2-main{grid-area:2/1;padding:28px 20px 40px}.signin-v2-col{padding-top:0}.signin-v2{grid-template-rows:auto auto auto auto}}.table-wrap>table.grid{min-width:720px}.check-table table.grid{min-width:560px}@media (width<=600px){.stats{gap:12px 0}.stat,.stat:first-child{box-shadow:none;flex:45%;padding:0}}@media print{.nav,.crumbs,.bulkbar{display:none!important}}.legacy-area{background:var(--nc-background);flex-direction:column;flex-grow:1;min-width:0;display:flex}.legacy-area>.class-area{flex-grow:1}.settings-tab{padding:20px 0 0}.settings-tab .assign-col{max-width:560px;margin:0}.settings-tab .assign-card{border:1px solid var(--nc-separator)}.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}table.grid td.cell-action{text-align:right;padding-right:0;overflow:visible}.dialog-sub .steps{padding:4px 0 0}img.org-mark.logo{object-fit:contain;background:var(--nc-card);box-shadow:inset 0 0 0 1px var(--nc-separator)}.logo-row{align-items:flex-start;gap:16px;display:flex}.logo-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.logo-empty{border-radius:var(--nc-radius-lg);border:1px dashed var(--nc-fill-strong);background:var(--nc-background);width:64px;height:64px;color:var(--nc-tertiary-label);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.logo-empty:hover{border-color:var(--nc-accent);color:var(--nc-accent)}.print-card-logo{object-fit:contain;flex-shrink:0;width:9mm;height:9mm}.cert-art{color:#2a211b;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fbf6ee;width:1123px;height:794px;position:relative;overflow:hidden}.cert-border{position:absolute;inset:0}.cert-body{text-align:center;flex-direction:column;align-items:center;padding:104px 110px 96px;font-family:Georgia,Times New Roman,serif;display:flex;position:absolute;inset:0}.cert-logo{object-fit:contain;width:56px;height:56px}.cert-logo.initials{color:#b5521b;box-sizing:border-box;border:2px solid #b5521b;border-radius:50%;justify-content:center;align-items:center;font:600 20px/1 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:inline-flex}.cert-org{letter-spacing:4px;text-transform:uppercase;color:#b5521b;margin-top:18px;font:600 12px/16px -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.cert-title{margin-top:26px;font-size:46px;font-weight:600;line-height:52px}.cert-arabic{color:#b5521b;margin-top:10px;font-family:Geeza Pro,Noto Naskh Arabic,Amiri,serif;font-size:22px}.cert-lead{color:#6b645c;margin-top:26px;font-size:19px;font-style:italic}.cert-name{white-space:nowrap;text-overflow:ellipsis;max-width:900px;margin-top:8px;font-size:64px;font-weight:600;line-height:72px;overflow:hidden}.cert-rule{background:#b5521b80;width:360px;height:1px;margin-top:4px}.cert-sentence{max-width:640px;margin-top:20px;font-size:21px;line-height:29px}.cert-sentence strong{font-weight:600}.cert-fill{flex-grow:1}.cert-foot{justify-content:space-between;align-items:flex-end;width:100%;display:flex}.cert-sign{flex-direction:column;align-items:stretch;gap:6px;width:220px;display:flex}.cert-sign-name{white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-style:italic;overflow:hidden}.cert-sign-line{background:#2a211b59;height:1px}.cert-sign-role,.cert-date,.cert-no{letter-spacing:1.6px;text-transform:uppercase;color:#6b645c;font:400 11px/14px -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.cert-date{letter-spacing:0;text-transform:none;font-size:12px}.cert-no{letter-spacing:1.2px;font-variant-numeric:tabular-nums}.cert-seal,.cert-right{flex-direction:column;align-items:center;gap:8px;display:flex}.cert-right{gap:6px}.cert-scaled{border-radius:var(--nc-radius-xs);box-shadow:inset 0 0 0 1px var(--nc-separator), 0 1px 2px #1c19170f;flex-shrink:0;overflow:hidden}@media print{@page landscape{size:A4 landscape;margin:0}body.printing{background:#fff}body.printing #root{display:none}body.printing .print-only{display:block}.print-only .cert-page{page:landscape;break-after:page;page-break-after:always;justify-content:center;align-items:center;width:297mm;height:210mm;display:flex;overflow:hidden}.print-only .cert-page:last-child{break-after:auto;page-break-after:auto}.print-only .cert-page .cert-art{zoom:.995}}.child-line.cert-line{align-items:center;padding-bottom:2px}.child-line.cert-line .grow{flex-grow:1}.child-line.cert-line .btn{height:28px}.ins-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:8px 0 4px;display:grid}.ins-stat{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.ins-stat-value{font:var(--nc-text-large-title)}.ins-stat-sub{font:400 12px/16px var(--nc-font);color:var(--nc-secondary-label)}.ins-stat-sub.up{color:var(--nc-success)}.ins-stat-sub.down{color:var(--nc-warning)}.ins-two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;padding-top:16px;display:grid}.ins-card{border:1px solid var(--nc-separator);border-radius:var(--nc-radius-md);flex-direction:column;gap:4px;min-width:0;padding:16px;display:flex}.ins-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.ins-card-head h2{font:600 15px/20px var(--nc-font);margin:0}.ins-look{box-shadow:inset 0 1px 0 var(--nc-separator);align-items:center;gap:12px;padding:12px 0;display:flex}.ins-look-text{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.ins-look-title{font:400 13px/18px var(--nc-font);color:var(--nc-warning)}.ins-well{box-shadow:inset 0 1px 0 var(--nc-separator);grid-template-columns:20px 1fr auto 32px;align-items:center;gap:10px;padding:8px 0;display:grid}.ins-well-n{font:600 13px/18px var(--nc-font);color:var(--nc-tertiary-label)}.ins-well-text{flex-direction:column;min-width:0;display:flex}.ins-well-value{font:600 13px/18px var(--nc-font);white-space:nowrap}.ins-foot{margin:8px 0 0;font-size:12px}.ins-chart{padding:8px 0;overflow-x:auto}@media (width<=900px){.ins-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-two{grid-template-columns:1fr}}.report-frame{background:var(--nc-background);margin:0 -32px;padding:24px;overflow-x:auto}.report-sheet{box-sizing:border-box;width:794px;min-height:1123px;color:var(--nc-label);font:400 13px/18px var(--nc-font);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;gap:28px;margin:0 auto;padding:56px 56px 40px;display:flex;box-shadow:0 1px 2px #1c19170f,0 8px 24px #1c191714}.report-sheet h2{font:600 15px/20px var(--nc-font);margin:0 0 8px}.report-head{box-shadow:inset 0 -1px 0 var(--nc-separator);align-items:center;gap:14px;padding-bottom:20px;display:flex}.report-head-text{flex-direction:column;flex-grow:1;display:flex}.report-org{font:700 20px/25px var(--nc-font)}.report-sub{font:400 13px/18px var(--nc-font);color:var(--nc-secondary-label)}.report-brand{font:600 12px/16px var(--nc-font);color:var(--nc-accent);letter-spacing:.4px}.report-numbers{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.report-numbers>div{background:var(--nc-background);border-radius:8px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.report-label{font:var(--nc-text-footnote);color:var(--nc-secondary-label)}.report-big{font:700 28px/34px var(--nc-font)}.report-change{font:400 12px/16px var(--nc-font);color:var(--nc-secondary-label);min-height:16px}.report-two{grid-template-columns:1fr 300px;align-items:start;gap:28px;display:grid}.report-lights ul{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.report-lights p{color:var(--nc-secondary-label);margin:0}.report-table{border-collapse:collapse;width:100%}.report-table th{text-align:left;font:var(--nc-text-footnote);color:var(--nc-secondary-label);box-shadow:inset 0 -1px 0 var(--nc-separator);padding:0 8px 8px}.report-table td{box-shadow:inset 0 -1px 0 var(--nc-separator);padding:10px 8px}.report-table .num{text-align:right}.report-foot{font:400 11px/16px var(--nc-font);color:var(--nc-secondary-label);margin-top:auto}@media print{.print-only .report-sheet{box-shadow:none;width:210mm;min-height:297mm;margin:0}}.crumb-back{color:var(--nc-accent);font:600 13px/18px var(--nc-font);background:0 0;border:0;align-items:center;gap:4px;margin-top:20px;padding:0;display:inline-flex}.crumb-back:hover{color:var(--nc-accent-strong)}.cr-tools{flex-wrap:wrap;align-items:flex-end;gap:8px;padding:4px 0 16px;display:flex}.cr-tools .grow{flex-grow:1}table.grid td.cr-edit{overflow:visible}table.grid td.cr-edit .field-error{font-size:12px;line-height:16px;display:block}table.grid td.cr-edit .input-v2{height:32px;min-height:32px}.cr-foot{background:var(--nc-card);box-shadow:inset 0 1px 0 var(--nc-separator);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:14px 0;display:flex;position:sticky;bottom:0}.cr-foot .grow,.child-line.note-line .grow{flex-grow:1}.note-text{white-space:pre-wrap}
