.note-editor{flex-direction:column;height:100%;min-height:0;display:flex}.toolbar-editor{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;flex-wrap:wrap;align-items:center;gap:2px;padding:.35rem .5rem;display:flex;position:sticky;top:0}.tb-btn{background:0 0;border-color:#0000;min-width:1.9rem;height:1.9rem;padding:0 .35rem;font-size:.9rem;line-height:1}.tb-btn[aria-pressed=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.tb-sep{background:var(--border);width:1px;height:1.2rem;margin:0 .25rem}.tb-select{width:auto;margin:0 .25rem 0 0;padding:.2rem .4rem}.tb-swatch{border:1px solid var(--border);vertical-align:middle;border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.tb-table{border-left:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-left:.25rem;padding-left:.25rem;display:inline-flex}.note-content{outline:none;flex:1;min-height:60vh;padding:1rem 1.25rem 4rem;font-size:1rem;line-height:1.55}.note-content>*+*{margin-top:.5em}.note-content h1{margin-top:.6em;font-size:1.5rem}.note-content h2{margin-top:.8em;font-size:1.25rem}.note-content h3{margin-top:.8em;font-size:1.05rem}.note-content p{margin:0}.note-content blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.5em 0;padding-left:.9rem}.note-content hr{border:none;border-top:1px solid var(--border);margin:1em 0}.note-content ul,.note-content ol{margin:.3em 0;padding-left:1.4rem}.note-content mark{color:#1d1d1b;border-radius:2px;padding:0 1px}.note-content a{color:var(--accent)}.note-content ul[data-type=taskList]{padding-left:.2rem;list-style:none}.note-content ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;display:flex}.note-content ul[data-type=taskList] li>label{flex:none;margin-top:.2em}.note-content ul[data-type=taskList] li>div{flex:1}.note-content ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.note-content .tableWrapper{margin:.6em 0;overflow-x:auto}.note-content table{border-collapse:collapse;table-layout:fixed;width:100%}.note-content td,.note-content th{border:1px solid var(--border);vertical-align:top;min-width:3rem;padding:.35rem .5rem;position:relative}.note-content th{background:var(--surface-2);text-align:left;font-weight:600}.note-content td[style*=background-color],.note-content th[style*=background-color]{color:#1d1d1b}.note-content .selectedCell:after{content:"";background:color-mix(in srgb, var(--accent) 18%, transparent);pointer-events:none;position:absolute;inset:0}.note-content .column-resize-handle{background:var(--accent);pointer-events:none;width:4px;position:absolute;top:0;bottom:0;right:-2px}.note-content.resize-cursor{cursor:col-resize}.note-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}.slash-menu{z-index:1000;background:var(--surface);min-width:15rem;max-height:18rem;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.25rem;position:fixed;overflow-y:auto;box-shadow:0 6px 24px #0000002e}.slash-item{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;gap:1rem;width:100%;display:flex}.slash-item[aria-selected=true]{background:var(--surface-2)}.slash-hint,.slash-empty{color:var(--muted);font-size:.8rem}.slash-empty{padding:.4rem .6rem}.note-content .ref-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 .35em;font-size:.92em;line-height:1.4;display:inline-block}.note-content .ref-chip:hover{text-decoration:underline}.note-content .ref-notiz{border-style:dashed}.note-content .ref-datum{color:var(--text)}.note-content .ref-chip.ProseMirror-selectednode{outline:2px solid var(--focus)}.note-content .attachment{margin:.6rem 0}.note-content .attachment.is-selected .attachment-image,.note-content .attachment.is-selected .attachment-card{outline:2px solid var(--focus,#1f5f9e);outline-offset:2px;border-radius:var(--radius,6px)}.note-content .attachment-image{flex-direction:column;gap:.25rem;max-width:100%;margin:0;display:inline-flex}.note-content .attachment-thumb{cursor:zoom-in;background:0 0;border:0;padding:0;line-height:0}.note-content .attachment-thumb img{border-radius:var(--radius,6px);border:1px solid var(--border,#e2e2dd);max-width:100%;max-height:420px}.note-content .attachment-image figcaption,.note-content .attachment-size{color:var(--muted,#6b6b66);font-size:.85em}.note-content .attachment-placeholder{text-align:center;background:var(--surface-2,#f0f0ed);border-radius:var(--radius,6px);width:240px;height:140px;color:var(--muted,#6b6b66);place-items:center;padding:.5rem;font-size:.9em;display:grid}.note-content .attachment-card{border:1px solid var(--border,#e2e2dd);border-radius:var(--radius,6px);background:var(--surface-2,#f0f0ed);align-items:center;gap:.6rem;max-width:100%;padding:.45rem .6rem;display:inline-flex}.note-content .attachment-kind{border:1px solid;border-radius:4px;padding:.1rem .35rem;font-size:.75em;font-weight:600}.note-content .attachment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root{--bg:#f7f7f5;--surface:#fff;--surface-2:#f0f0ed;--text:#1d1d1b;--muted:#6b6b66;--border:#e2e2dd;--accent:#1f5f9e;--mode:#b3261e;--on-mode:#fff;--accent-text:#fff;--danger:#b3261e;--success:#2e7d5b;--focus:#1f5f9e;--chart:#1f5f9e;--radius:6px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--mono:"SF Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-size:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#171716;--surface:#1f1f1e;--surface-2:#2a2a28;--text:#ececea;--muted:#9b9b95;--border:#353532;--accent:#6aa5e0;--mode:#e06c5f;--on-mode:#1a0d0b;--accent-text:#0e1a26;--danger:#f2827a;--success:#7cc4a4;--focus:#8ab9ea;--chart:#5a96d4}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.4}h1{margin:0 0 .75rem;font-size:1.5rem}h2{margin:0 0 .5rem;font-size:1.15rem}button,input{font:inherit;color:inherit}button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.35rem .75rem}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.link{color:var(--accent);background:0 0;border:none;margin-top:1rem;padding:0}button.link.inline-link,p button.link,li button.link{margin-top:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--surface);width:100%;color:inherit;font:inherit;border:1px solid var(--border);border-radius:var(--radius);margin-top:.25rem;padding:.45rem .6rem;display:block}textarea{resize:vertical;font-family:var(--mono);font-size:.9rem}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent)}label{font-weight:500;display:block}.stack>*+*{margin-top:.75rem}.row{gap:.5rem;margin:.75rem 0;display:flex}.muted{color:var(--muted)}.error{color:var(--danger)}.right{text-align:right}.chip{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:999px;margin-left:.4rem;padding:0 .35rem;font-size:.75rem;display:inline-block}.badge{color:var(--muted);margin-left:auto;font-size:.7rem}.lock{place-items:center;min-height:100%;padding:1.5rem;display:grid}.lock-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(420px,100%);padding:2rem}.lock-card>button.primary{width:100%;margin-top:1rem}.lock-card form button.primary{width:100%}.lock-brand{color:var(--accent);margin-bottom:.5rem;font-size:2rem}.recovery-code{font-family:var(--mono);letter-spacing:.04em;word-spacing:.2em;background:var(--surface-2);border-radius:var(--radius);text-align:center;-webkit-user-select:all;user-select:all;padding:1rem;font-size:1.15rem}.shell{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-columns:220px 1fr;display:grid}.shell.is-collapsed{grid-template-columns:56px 1fr}.sidebar{background:var(--surface-2);border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:.75rem .5rem;display:flex}.sidebar-head{justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.5rem;display:flex}.sidebar-title{padding:.25rem .5rem;font-weight:700}.sidebar-toggle{padding:.35rem;display:inline-flex}.is-collapsed .sidebar{align-items:stretch;padding-inline:.35rem}.is-collapsed .sidebar-head{justify-content:center}.year-chip{color:var(--muted);margin-bottom:.4rem;padding:.2rem 0;font-size:.7rem}.icon{flex:none}.sidebar-spacer,.toolbar-spacer{flex:1}.nav-item{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:.6rem;display:flex}.nav-item .icon{color:var(--muted)}.nav-item[aria-current=true] .icon{color:var(--accent)}.is-collapsed .nav-item{justify-content:center;padding:.5rem 0;position:relative}.is-collapsed .nav-count{background:var(--accent);min-width:1rem;color:var(--accent-text);padding:0 .25rem;font-size:.65rem;line-height:1rem;position:absolute;top:2px;right:4px}.toolbar-button{align-items:center;gap:.4rem;display:inline-flex}.toolbar-button .icon{width:16px;height:16px}.nav-item[aria-current=true]{background:var(--surface);border-color:var(--border);font-weight:600}.content{flex-direction:column;min-width:0;display:flex}.toolbar{border-bottom:1px solid var(--border);background:var(--surface);gap:.5rem;padding:.5rem 1rem;display:flex}.main{flex:1;padding:1rem;overflow:auto}.split{grid-template-columns:200px 1fr;align-items:start;gap:1rem;display:grid}.list{margin:0;padding:0;list-style:none}.list-item{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;align-items:baseline;gap:.5rem;width:100%;display:flex}.list-item>.muted{flex-shrink:0}.list-item[aria-current=true]{background:var(--surface);border-color:var(--border);font-weight:600}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:.35rem .6rem}.table th{color:var(--muted);font-size:.85rem;font-weight:600}.table tr:last-child td{border-bottom:none}.empty{color:var(--muted);padding:2rem 0}h3{margin:1rem 0 .4rem;font-size:.95rem}.small{font-size:.8rem}.label{margin-bottom:.25rem;font-weight:500;display:block}.row.wrap{flex-wrap:wrap}.row{align-items:center}button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.row button[aria-pressed=true]:before{content:"✓ "}.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}fieldset.plain{border:none;margin:0;padding:0}.segmented{flex-wrap:wrap;gap:2px;display:inline-flex}.toasts{z-index:1000;flex-direction:column;gap:.5rem;max-width:min(420px,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--surface);color:var(--text);border:1px solid var(--danger);border-radius:var(--radius);border-left-width:4px;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;display:flex;box-shadow:0 4px 16px #00000026}.toast span{flex:1}.section{margin-bottom:1.5rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.section-head h2{margin:0}.card,fieldset.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:.75rem 0;padding:1rem}fieldset.card legend{padding:0 .25rem;font-weight:600}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.form-row>label{flex:10rem}.form-row>input,.form-row>select{flex:12rem;width:auto}.form-row>button{flex:none}.push-right{margin-left:auto}.narrow-form{max-width:28rem}.indent{margin-left:1.6rem}input.inline:not([type=checkbox]):not([type=radio]){background:0 0;border-color:#0000;margin:0;padding:.2rem .35rem}input.inline:not([type=checkbox]):hover,input.inline:not([type=checkbox]):focus{border-color:var(--border);background:var(--surface)}input.inline.narrow:not([type=checkbox]){width:5rem}.table select{width:auto;margin:0;padding:.2rem .35rem}.table td{vertical-align:middle}.narrow-table{max-width:32rem}.wide-table{min-width:640px}.wide-table input.inline:not([type=date]):not([type=time]){min-width:10rem}.toggle{align-items:flex-start;gap:.5rem;font-weight:400;display:flex}.toggle input{flex:none;margin-top:.2rem}label>.hint{color:var(--muted);margin-top:.25rem;font-size:.85rem;font-weight:400;display:block}.toggle .hint{color:var(--muted);font-size:.85rem;display:block}.chip.accent{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.chip-button{border-radius:999px;padding:.1rem .6rem;font-size:.85rem}.link-cell{color:var(--accent);text-align:left;background:0 0;border:none;padding:0}.link-cell:hover{text-decoration:underline}select.niveau{min-width:3.5rem;font-weight:600}select.niveau.has{color:var(--accent)}.compact-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none}.compact-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.35rem .6rem;display:flex}.compact-list li>.chip{white-space:nowrap;flex-shrink:0;align-self:flex-start}.compact-list li:last-child{border-bottom:none}.compact-list:empty{display:none}fieldset.swatches{border:none;gap:4px;margin:0;padding:0;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:1.1rem;height:1.1rem;position:relative}.swatch:has(input:checked){border-color:var(--text)}.swatch:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.tabs{border-bottom:1px solid var(--border);margin-bottom:.75rem;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0}.tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent);background:0 0;font-weight:600}.split.wide-left{grid-template-columns:220px 1fr}.list-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:.75rem 0 .25rem .5rem;font-size:.75rem}.year-select{margin:0 0 .75rem;font-size:.85rem}.dialog{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;width:min(420px,100vw - 2rem);margin:auto;padding:0;inset:0}.dialog::backdrop{background:#00000059}.dialog-body{padding:1.25rem}.setup{flex-direction:column;max-width:980px;min-height:100%;margin:0 auto;padding:1.5rem 1.5rem 0;display:flex}.steps{flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.steps button.link{color:var(--muted);margin:0}.steps li[aria-current=step] button{color:var(--accent);font-weight:600}.setup-body{flex:1}.setup-foot{background:var(--bg);border-top:1px solid var(--border);gap:.5rem;margin-top:1.5rem;padding:.75rem 0;display:flex;position:sticky;bottom:0}.grid-scroll{overflow-x:auto}.timetable{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px}.timetable th,.timetable td{border:1px solid var(--border);vertical-align:top;padding:0}.timetable thead th{color:var(--muted);background:var(--surface-2);padding:.35rem;font-size:.85rem}.timetable tbody th{text-align:left;background:var(--surface-2);width:4.5rem;padding:.35rem;font-weight:600}.timetable tbody th .small{font-weight:400;display:block}.cell{background:var(--surface);text-align:left;border:none;border-radius:0;width:100%;min-height:3rem;padding:.3rem;display:block}.cell-entry{border-left:3px solid var(--border);padding-left:.35rem;font-size:.85rem;line-height:1.25;display:block}.cell-entry+.cell-entry{margin-top:.2rem}.week{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:12rem;padding:.5rem}.day h3{margin:0 0 .5rem}.day[data-today]{border-color:var(--accent)}.day[data-today] h3{color:var(--accent)}.day[data-free]{background:var(--surface-2)}.free{color:var(--muted);margin:0;font-style:italic}.lesson{text-align:left;border:1px solid var(--border);border-left:4px solid var(--border);width:100%;margin-bottom:.35rem;padding:.3rem .45rem;font-size:.9rem;display:block}.lesson:disabled{opacity:1;cursor:default;background:var(--surface-2)}.lesson-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;display:block}.main:has(.calendar.is-timed){flex-direction:column;display:flex}.calendar.is-timed{flex-direction:column;flex:1;min-height:34rem;display:flex}.calendar.is-timed .week{flex:1;grid-template-rows:auto minmax(22rem,1fr);grid-template-columns:2.2rem repeat(5,minmax(0,1fr));row-gap:0}.calendar.is-timed .day{grid-row:1/span 2;grid-template-rows:subgrid;min-height:0;padding:0;display:grid}.calendar.is-timed .day-head{padding:.5rem .5rem .4rem}.calendar.is-timed .day-body{background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px);background-size:100% calc(100% / var(--hours));min-height:0;margin:0 .35rem .35rem;position:relative}.week-hours{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:2/1;margin-bottom:.35rem;font-size:.72rem;position:relative}.week-hours span{top:var(--at);position:absolute;right:.35rem;transform:translateY(-.1em)}.lesson.is-timed{top:var(--top);height:var(--height);left:calc(100% / var(--lanes) * var(--lane));width:calc(100% / var(--lanes) - 2px);-webkit-hyphens:auto;hyphens:auto;flex-direction:column;justify-content:flex-start;align-items:flex-start;margin:0;padding:.2rem .4rem;line-height:1.25;display:flex;position:absolute;overflow:hidden}.lesson.is-timed>*{max-width:100%}.lesson.is-timed .lesson-topic-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar.is-timed .day-body>.free,.calendar.is-timed .day-body>.muted{padding:.4rem .2rem}@media (max-width:700px){.calendar.is-timed{min-height:0}.calendar.is-timed .week{grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:.5rem}.week-hours{display:none}.calendar.is-timed .day{grid-row:auto;padding:.5rem;display:block}.calendar.is-timed .day-head{padding:0}.calendar.is-timed .day-body{background:0 0;margin:0}.lesson.is-timed{width:100%;height:auto;margin-bottom:.35rem;position:static}}.main:has(.notes){padding:0;overflow:hidden}.notes{grid-template-columns:200px 280px minmax(0,1fr);height:100%;min-height:0;display:grid}.notes-folders,.notes-list{border-right:1px solid var(--border);padding:.75rem .5rem;overflow-y:auto}.notes-scope-select{margin:0 0 .5rem;display:none}@media (max-width:1100px){.notes{grid-template-columns:240px minmax(0,1fr)}.notes-folders{display:none}.notes-scope-select{display:block}}.notes-folders .form-row input{margin-top:.5rem}.notes-list-head{align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.notes-list-head input{margin:0}.notes-list-head button{flex:none}.note-items{margin:0;padding:0;list-style:none}.note-item{text-align:left;background:0 0;border-color:#0000;flex-direction:column;gap:.15rem;width:100%;padding:.45rem .5rem;display:flex}.note-item strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.note-item .small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.note-item[aria-current=true]{background:var(--surface);border-color:var(--border)}.notes-editor{background:var(--surface);min-width:0;overflow-y:auto}.note-pane{flex-direction:column;min-height:100%;display:flex}.note-pane-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.note-pane-head select{width:auto;margin:0}mark{color:#1d1d1b;background:#fff3a3;border-radius:2px}.search-view{max-width:760px}.search-big{margin-bottom:1rem;padding:.6rem .8rem;font-size:1.1rem}.compact-list li.stack-li{flex-direction:column;gap:.15rem}.record-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:0 1.5rem;display:grid}@media print{body *{visibility:hidden}.recovery-code,.recovery-code *{visibility:visible}.recovery-code{color:#000;background:0 0;position:absolute;top:2cm;left:2cm;right:2cm}.recovery-code:before{content:"Lehrer-Cockpit · Wiederherstellungscode";font-family:var(--font);margin-bottom:.5rem;font-size:.9rem;display:block}}.day[data-target]{outline:2px solid var(--accent);outline-offset:2px}.template-picker{margin:0 0 .5rem;font-size:.85rem}.note-backlinks{border-top:1px solid var(--border);padding:0 1.25rem 1.5rem}.dialog-wide{width:min(960px,100vw - 2rem);max-height:calc(100vh - 2rem)}.dialog-wide .dialog-body{max-height:calc(100vh - 4rem);overflow:auto}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.preview-image{max-width:100%;margin:0 auto;display:block}.pdf-pages{flex-direction:column;align-items:center;gap:.75rem;display:flex}.pdf-page{color:#444;background:#fff;width:100%;box-shadow:0 1px 4px #0003}.pdf-page canvas{width:100%;height:100%;display:block}.menu{position:relative}.menu>summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.3rem .6rem;list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu>summary:after{content:" ▾";color:var(--muted)}.menu-items{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:15rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000001f}.menu-items button{text-align:left;background:0 0;border:0}.menu-items button:hover,.menu-items button:focus-visible{background:var(--surface-2)}#print-root{display:none}@media print{body:has(#print-root>*)>:not(#print-root){display:none!important}#print-root,#print-root *{visibility:visible}#print-root{color:#000;background:#fff;display:block}@page{margin:18mm 16mm}}.nav-count{background:var(--surface-2);min-width:1.4rem;color:var(--muted);text-align:center;border-radius:999px;margin-left:auto;padding:0 .35rem;font-size:.75rem}.quick-add{gap:.5rem;margin:.75rem 0;display:flex}.quick-add input{flex:1}.task-group{color:var(--muted);text-transform:capitalize;margin:1rem 0 .25rem;font-size:.85rem}.task-list{margin:0;padding:0;list-style:none}.task{border-radius:var(--radius);align-items:center;gap:.5rem;padding:.3rem .4rem;display:flex}.task.is-selected{background:var(--surface-2)}.task input[type=checkbox]{flex:none;width:1.05rem;height:1.05rem}.task-title{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;min-width:0;padding:.15rem 0;overflow:hidden}.task.is-done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{flex:none;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.deadline{color:var(--muted)}.deadline.overdue{color:var(--danger);font-weight:600}.deadline.overdue:before{content:"! "}.task-detail{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex;position:sticky;top:0}.task-detail .row{margin:0}.task-detail-title{flex:1;font-size:1.1rem;font-weight:600}.task-notes{resize:vertical;width:100%;font:inherit}.task-detail h3{margin:.75rem 0 0;font-size:.9rem}.task-detail-actions{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem!important}.field-grid{grid-template-columns:6.5rem minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.field-grid .row{margin:0}.linked-list{margin:0;padding:0;list-style:none}.linked-list li{align-items:center;gap:.35rem;padding:.15rem 0;display:flex}.picker{position:relative}.picker-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:100%;max-width:24rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 2px);left:0;box-shadow:0 4px 16px #0000001f}.picker-list[hidden]{display:none}.picker-list li{cursor:pointer;border-radius:4px;padding:.3rem .5rem}.picker-list li:hover,.picker-list [aria-selected=true]{background:var(--surface-2)}.task-detail:focus,.focus-fallback:focus{outline:none}.task-detail:focus-visible{outline:2px solid var(--focus)}.cal-tasks{margin:0 0 .4rem;padding:0;font-size:.85rem;list-style:none}.cal-task{align-items:flex-start;gap:.3rem;padding:.1rem 0;display:flex}.cal-task .link{text-align:left;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0}.cal-task.is-deadline .cal-task-kind{color:var(--danger);font-weight:600}.cal-task.is-done .link{color:var(--muted);text-decoration:line-through}.cal-weekend{margin-top:1rem}.seg-count{opacity:.75;margin-left:.25rem;font-size:.75rem}.task-notes-count{color:var(--muted);white-space:nowrap}.tasks-page{grid-template-columns:200px minmax(0,1fr) minmax(300px,380px);align-items:start;gap:1.25rem;display:grid}.tasks-page>.tasks:last-child{grid-column:2/-1}@media (max-width:1150px){.tasks-page{grid-template-columns:180px minmax(0,1fr)}.tasks-page>.task-detail{grid-column:2}}.tasks-side ul{margin:0;padding:0;list-style:none}.side-item{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:.35rem;width:100%;padding:.25rem .45rem;display:flex}.side-item>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-item[aria-current=true]{background:var(--surface);border-color:var(--border);font-weight:600}.side-area{font-weight:600}.side-sub{padding-left:.75rem!important}.side-add{font-size:.8rem}.side-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1rem 0 .25rem;font-size:.75rem}.side-form{flex-direction:column;gap:.35rem;margin:.5rem 0;display:flex}.side-form .row{margin:0}.scope-title{min-width:12rem;font-size:1.25rem;font-weight:600}.project-head{flex-wrap:wrap;gap:.5rem 1rem}.project-head progress{vertical-align:middle;width:6rem}.tag-chip{background:var(--surface-2);border-radius:999px;align-items:center;gap:.15rem;padding:0 .4rem;font-size:.85rem;display:inline-flex}.tag-chip.small{color:var(--muted);font-size:.75rem}.tag-chip button{padding:0 .2rem;line-height:1}.task-project{color:var(--muted);white-space:nowrap;font-size:.8rem}.repeat-editor .row{margin:0 0 .35rem}.num-input{width:4rem}.day-toggle{min-width:2.4rem}.quick-entry{flex-direction:column;gap:.6rem;min-width:min(520px,100vw - 4rem);display:flex}.quick-entry-input{padding:.5rem .6rem;font-size:1.05rem}.quick-entry-preview{flex-wrap:wrap;align-items:center;gap:.35rem;min-height:1.6rem;display:flex}.task{flex-wrap:wrap;row-gap:.15rem}.task-title{flex:10rem}.task-meta{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;margin-left:auto}.list-sub{font-size:.92em;padding-left:1.25rem!important}.inline-check{white-space:nowrap;color:var(--muted);gap:.3rem;margin:0;font-size:.85rem}.check-progress{color:var(--muted);white-space:nowrap;font-size:.8rem}.check-progress.is-complete{color:var(--success);font-weight:600}.student-checklist .row{margin:.5rem 0 .25rem}.student-checklist h3{margin:0}.check-list{columns:2 10rem;margin:0;padding:0;font-size:.9rem;list-style:none}.check-list label{align-items:center;gap:.35rem;padding:.1rem 0;display:flex}.workflow-form{min-width:min(560px,100vw - 4rem)}.workflow-preview{max-height:16rem;margin:0;padding-left:1.2rem;font-size:.9rem;overflow:auto}.workflow-preview .is-past{color:var(--muted)}.lesson-topic-line{overflow-wrap:anywhere;margin-top:.15rem;font-size:.82rem;display:block}.lesson.is-unprepared{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--subject-color) 26%, transparent) 0 6px, transparent 6px 12px)}.lesson.is-cancelled{opacity:.7}.lesson.is-cancelled strong{text-decoration:line-through}.lesson-view{max-width:60rem}.lesson-topic{flex-direction:column;gap:.25rem;max-width:36rem;margin:.75rem 0;font-weight:600;display:flex}.lesson-topic input{font-size:1.05rem;font-weight:400}.lesson-cancelled{align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.lesson-list .is-unprepared .lesson-mark{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--subject-color) 40%, transparent) 0 4px, transparent 4px 8px)}.lesson-mark{border:2px solid var(--subject-color);vertical-align:middle;border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.lesson-list .is-cancelled{color:var(--muted)}.lesson-list .is-cancelled .lesson-date{text-decoration:line-through}.stack-tight{flex-direction:column;gap:4px;display:flex}.unit-card .unit-head{justify-content:space-between}.unit-card .unit-title{font-size:1rem}.unit-card>.stack{margin-top:10px}.lesson-view .section-head .link{font-size:inherit}.cal-appointments{margin:0 0 .4rem;padding:0;font-size:.85rem;list-style:none}.cal-appointments li{border-left:3px solid var(--border);background:var(--surface-2);border-radius:4px;margin-bottom:3px;padding:2px 6px}.cal-appointments li.is-blocking{border-left-color:var(--accent)}.cal-appointments .link{text-align:left}label.check{align-items:center;gap:6px;font-weight:400;display:flex}.group-picker{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:260px;display:grid;overflow:auto}.group-picker fieldset{border:1px solid var(--border);border-radius:6px;margin:0;padding:6px 8px}.group-picker legend{padding:0 4px}.materials{flex-wrap:wrap;gap:4px 16px;margin:.25rem 0 .75rem;padding:0;list-style:none;display:flex}.lesson-outcome{margin:.5rem 0}.ai-summary{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.ai-summary dt{color:var(--muted)}.ai-summary dd{margin:0}.pre{white-space:pre-wrap}.card.warn{border-color:var(--accent)}.draft-lessons{flex-direction:column;gap:6px;padding-left:1.5rem;display:flex}.draft-lessons li>input{width:100%}.draft-lessons details{color:var(--muted);font-size:.9rem}.attendance{margin:.5rem 0}.attendance summary{cursor:pointer;font-weight:600}.attendance-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px;margin:.5rem 0;padding:0;list-style:none;display:grid}.attendance-row{align-items:center;gap:8px;padding:2px 0;display:flex}.attendance-row .attendance-name{flex:1}.attendance-row.is-absent .attendance-name{color:var(--muted);text-decoration:line-through}.attendance-row .late-input input{width:4.5em}.seat-front{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:6px;max-width:280px;margin:0 auto;padding:2px;font-size:.8rem}.seat-grid{gap:6px;max-width:900px;display:grid}.seat{text-align:center;text-overflow:ellipsis;border-radius:6px;min-height:3rem;padding:4px;font-size:.85rem;overflow:hidden}.seat.is-free{background:0 0;border-style:dashed}.seat.is-absent,.chip-button.is-absent{color:var(--muted);text-decoration:line-through}.seat[aria-pressed=true],.chip-button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.seating-tools{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.random-name{min-height:2.2rem;margin:.25rem 0;font-size:1.8rem;font-weight:600}.group-list{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.group-list strong{margin-right:8px}.grade-matrix-wrap{overflow-x:auto}.grade-matrix th,.grade-matrix td{white-space:nowrap;padding:2px 6px}.grade-matrix .grade-col{text-align:center}.grade-matrix .grade-col .muted{display:block}.grade-matrix .grade-sum{text-align:right;background:var(--surface-2)}.grade-matrix input.grade-cell{text-align:center;width:3.2em}.competency-matrix .competency-head{white-space:normal;vertical-align:bottom;min-width:7em;max-width:11em;font-size:.85em;font-weight:500}.competency-matrix td.grade-col{text-align:left}.competency-matrix td.grade-col .muted{margin-left:6px}.competency-edit input.narrow{width:9em}.competency-checks{border:1px solid var(--border);border-radius:6px;gap:6px;padding:8px 10px;display:grid}.competency-checks label.check{display:flex}.competency-edit>:nth-child(2){flex:1}textarea.mail-text{font:inherit}.compact-list button.link{text-align:left}.conversation{grid-template-columns:minmax(200px,260px) 1fr;align-items:start;gap:1.5rem;display:grid}.conversation-options{gap:.75rem;display:grid;position:sticky;top:0}.conversation-content h1{margin-bottom:.2rem}.conversation-content section{margin-top:1rem}.conversation-note{white-space:pre-wrap}@media (max-width:720px){.conversation{grid-template-columns:1fr}}.kanban{align-items:flex-start;gap:.75rem;padding-bottom:.5rem;display:flex;position:relative;overflow-x:auto}.kanban-column{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex:0 0 240px;gap:.5rem;padding:.5rem;display:grid}.kanban-section{border-radius:var(--radius);gap:.4rem;display:grid}.kanban-section+.kanban-section{border-top:1px solid var(--border);padding-top:.4rem}.kanban-section.is-over{outline:2px dashed var(--focus)}.kanban-subhead{flex-wrap:nowrap;align-items:center;gap:.2rem;font-size:.9em;font-weight:600}.kanban-subhead>:nth-child(2){flex:1;min-width:0}.kanban-section.section-drop-before{box-shadow:0 -3px 0 0 var(--accent)}.kanban-section.section-drop-after{box-shadow:0 3px 0 0 var(--accent)}.kanban-section.is-dragging{opacity:.45}.kanban-title{text-align:left;font-weight:600}.kanban-new{font-size:.9em}.kanban-head{align-items:center;gap:.25rem;display:flex}.kanban-head>.kanban-head-end{margin-left:auto}.kanban-cards{gap:.4rem;min-height:2rem;display:grid}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;gap:.25rem;padding:.4rem .5rem;display:grid}.kanban-card .link{text-align:left}.kanban-card.is-done .link{color:var(--muted);text-decoration:line-through}.kanban-card{position:relative}.kanban-move{width:1.6rem;height:1.6rem;color:var(--muted);border-radius:var(--radius);opacity:.55;place-items:center;display:grid;position:absolute;bottom:.3rem;right:.3rem}.kanban-move .icon{width:16px;height:16px}.kanban-card:hover .kanban-move,.kanban-move:focus-within{opacity:1}.kanban-move:focus-within{outline:2px solid var(--accent);outline-offset:1px}.kanban-move select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.kanban-card>.row{padding-right:1.6rem}.kanban-head-end{align-items:center;gap:.2rem;display:inline-flex}.kanban-tool{color:var(--muted);padding:0 .35rem;line-height:1.4}.kanban-grip{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none;padding:0 .2rem;font-size:1rem;line-height:1}.kanban-grip:active{cursor:grabbing}.kanban-column.is-dragging{opacity:.45}.kanban-column.drop-before{box-shadow:-4px 0 0 0 var(--accent)}.kanban-column.drop-after{box-shadow:4px 0 0 0 var(--accent)}.kanban-tool[aria-disabled=true]{opacity:.35;cursor:default}.kanban-hidden{gap:.35rem;margin:0 0 .5rem}.tasks-mode{border-radius:var(--radius);background:var(--mode);gap:2px;width:fit-content;margin-bottom:.75rem;padding:3px;display:flex}.tasks-mode button{color:var(--on-mode);background:0 0;border:0;padding:.3rem .9rem;font-weight:600}.tasks-mode button[aria-pressed=true]{background:var(--surface);color:var(--mode)}.unit-card.is-unreviewed{background-image:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in srgb, var(--accent) 10%, transparent) 8px 16px)}.nav-actions{margin-top:1rem}.enroll-list{max-height:50vh;overflow:auto}.homeroom-row{align-items:flex-start}.homeroom-days{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chip.warn{border-color:var(--danger)}.is-collision{box-shadow:inset 3px 0 0 var(--danger)}.is-collision .collision-note{color:var(--danger);font-weight:600}.mail-preview{white-space:pre-wrap;font:inherit;color:var(--muted);margin:0;font-size:.9em}.warn-text{color:var(--danger)}.plain-list{margin:0;padding:0;list-style:none}label.grow{flex:1;min-width:14em}.new-assessment .full-row{flex-basis:100%}.new-assessment input:not([type=date]):not(.narrow){width:10em}.category-tree,.calc-tree{margin:0;padding-left:0;list-style:none}.calc-tree .calc-tree{border-left:1px solid var(--border);margin-left:.25rem;padding-left:1.25rem}.calc-line{align-items:baseline;gap:6px;padding:1px 0;display:flex}.calc-line .calc-value{font-variant-numeric:tabular-nums;margin-left:auto}.grade-matrix th[scope=row]{background:var(--surface,var(--bg));z-index:1;text-align:left;position:sticky;left:0}.ai-source-preview{border:1px solid var(--border);border-radius:6px;max-height:12rem;padding:6px 8px;font-size:.85rem;overflow:auto}.chart{max-width:420px;margin:0}.chart svg{width:100%;height:auto;display:block}.chart-mark{fill:var(--chart)}.chart-line{fill:none;stroke:var(--chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--chart);stroke:var(--surface);stroke-width:2px}.chart-axis,.chart-grid{stroke:var(--border);stroke-width:1px}.chart-label{fill:var(--muted);font-size:10px}.chart-value{fill:var(--text);font-variant-numeric:tabular-nums;font-size:10px}.top-weights .small-button{padding:2px 8px;font-size:.85rem}.facts{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.conflict-notice{border-left:4px solid var(--danger)}.conflict{border-bottom:1px solid var(--border);justify-content:space-between;padding:6px 0}.export-preview table{border-collapse:collapse;width:100%;margin:.4rem 0 1rem;font-size:.9em}.export-preview th,.export-preview td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:2px 6px}.export-preview th{background:var(--surface-2)}.export-preview .export-note{white-space:pre-wrap}.absence-overview td:nth-child(2),.absence-overview td:nth-child(3),.absence-overview .count{white-space:nowrap}@media (max-width:900px){.toolbar-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main{padding:.75rem}}@media (pointer:coarse){.toolbar button,.nav-item,.segmented button,button.primary,.year-select,dialog button{min-height:44px}.toolbar-button,.sidebar-toggle{justify-content:center;min-width:44px}input,select,textarea,.ProseMirror{font-size:16px}:root{-webkit-tap-highlight-color:transparent}}.tally-toggle{min-width:2.6rem}.tally-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.table-wrap{overflow-x:auto}.worktime-bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.worktime-bars li{grid-template-columns:minmax(10rem,16rem) minmax(0,1fr) 4.5rem;align-items:center;gap:10px;display:grid}.worktime-bar{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.worktime-bar>span{background:var(--chart);border-radius:999px;height:100%;display:block}.worktime-value{text-align:right;font-variant-numeric:tabular-nums}@media (max-width:720px){.worktime-bars li{grid-template-columns:minmax(0,1fr) 4.5rem}.worktime-bar{order:3;grid-column:1/-1}}.leb-editor{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:24px;display:grid}.leb-editor textarea{width:100%;font:inherit}.snippet-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.snippet-list button{text-align:left;white-space:normal}@media (max-width:900px){.leb-editor{grid-template-columns:minmax(0,1fr)}}.support-plan{border-top:1px solid var(--border);padding-top:8px}.support-goals{gap:10px;margin:0;padding-left:1.4em;display:grid}.support-fields{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.support-fields label>*{width:100%}.grow{flex:1;min-width:0}
