:root{font:16px/1.6 system-ui,sans-serif;color:#18314d;background:#eef3f9}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{background:#153957;color:white;padding:36px max(24px,calc((100vw - 1040px)/2));display:flex;align-items:center;gap:24px;justify-content:space-between}.eyebrow{font-size:.8rem;letter-spacing:.13em;color:#b9d5f0}h1{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2;margin:10px 0}.badge{border:1px solid #87a5c1;border-radius:30px;padding:8px 14px;white-space:nowrap;font-size:.8rem}main{max-width:1040px;margin:28px auto;padding:0 20px}section{background:white;border:1px solid #d5dfec;border-radius:18px;padding:28px;box-shadow:0 8px 30px #1c3b5a08}h2{margin-top:0}label{display:block;font-weight:600;margin:14px 0}input,textarea{display:block;width:100%;max-width:620px;font:inherit;border:1px solid #9daec1;border-radius:8px;padding:10px;background:#fff;color:#18314d}button{font:inherit;font-weight:600;background:#235b92;color:white;padding:11px 18px;border:1px solid transparent;border-radius:8px;margin:8px 8px 8px 0;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:wait}.secondary{background:#edf3fa;color:#234a70;border-color:#bfd0e2}input:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d49324;outline-offset:3px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}fieldset{border:1px solid #ccd7e2;border-radius:10px;min-width:0}.check{display:flex;align-items:center;gap:12px;font-weight:400}.check input{width:20px;height:20px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toolbar h2{margin:0 auto 0 0}#message,#saveState{padding:12px 16px;background:#e0eafa;border-radius:8px;overflow-wrap:anywhere}#message.error,#conflict{background:#fff0dd;color:#783b13;padding:16px;border-radius:10px}details{border-top:1px solid #d5dfec;margin-top:24px;padding-top:20px}summary{cursor:pointer;font-weight:700;padding:8px}footer{font-size:.85rem;color:#536a81;margin:24px 0}p{max-width:76ch}hr{border:0;border-top:1px solid #d5dfec;margin:25px 0}@media(max-width:650px){header{display:block;padding:24px}.badge{display:inline-block;margin-top:14px}.columns{grid-template-columns:1fr;gap:0}section{padding:20px}button{width:100%;margin-right:0}}
/* Notenbuch 0.3.15 */
main{max-width:1500px}select{font:inherit;padding:10px;border:1px solid #9daec1;border-radius:8px;max-width:100%;display:block;background:white;color:#18314d}dialog{border:1px solid #b8c9dc;border-radius:16px;width:min(700px,calc(100vw - 28px));max-height:90vh;padding:24px;color:#18314d}dialog::backdrop{background:#122c4bbb}dialog form{margin:0}dialog input,dialog textarea{max-width:none}.dialog-error{color:#983719}.book-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0;border-bottom:1px solid #d5dfec;padding-bottom:12px}.book-nav label{margin-left:auto}.class-select{flex:1;min-width:180px}.class-select select{width:100%}.table-scroll{overflow:auto;max-height:65vh;border:1px solid #d5dfec;border-radius:10px;margin:16px 0}table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}th,td{padding:12px;border-bottom:1px solid #d5dfec;text-align:center;min-width:115px;background:white}thead th{background:#edf3fa;position:sticky;top:0;z-index:2}th:first-child{position:sticky;left:0;z-index:1;text-align:left;min-width:190px;max-width:260px;overflow-wrap:anywhere;border-right:1px solid #d5dfec}thead th:first-child{z-index:3}td input{min-width:80px}td input[data-note]{min-width:220px}th small{display:block;font-weight:400;font-size:.75rem}.table-link{background:transparent;color:#235b92;padding:4px;margin:0;white-space:normal}.grade{font-weight:700;white-space:nowrap}.grade.low{color:#b12728}.grade.mid{color:#805600}.grade.high{color:#17623b}.student-list{list-style:none;padding:0}.student-list li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #d5dfec;padding:10px}.student-list span{flex:1;min-width:140px}.empty{padding:30px 0}.form-note{font-size:.85rem;color:#536a81}.assessment-list{display:flex;flex-wrap:wrap;gap:6px}.toolbar h3{margin-right:auto}#dataForm{margin-top:24px;border-top:1px solid #d5dfec;padding-top:16px}@media(max-width:650px){.book-nav label{margin-left:0;width:100%}.book-nav button{width:auto;flex:1}.table-scroll{max-height:60vh}th:first-child{min-width:125px;max-width:150px}.student-list button{width:auto}dialog{padding:18px}}

/* Aufgaben im Leistungsdialog */
dialog [data-tasks]{padding:16px;box-shadow:none;margin-top:18px}dialog [data-task-row]{margin:14px 0;padding:12px}dialog [data-task-row] legend{font-weight:600}

.threshold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.threshold-grid label{font-size:.9rem}

/* Design der lokalen GradeForge-Arbeitsapp */
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5;color:#172033;background:#edf2f8;--blue:#245f9f;--line:#d7e0eb;--muted:#68788d}
body{min-height:100vh;background:radial-gradient(circle at 72% 18%,#fff 0,#f3f7fb 34%,#e8eef5 100%)}
header.topbar{min-height:72px;padding:12px 24px;border-bottom:1px solid var(--line);background:#ffffffed;color:#172033;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.03em}.brand img{width:40px;height:40px;border-radius:11px}.brand b{color:var(--blue)}.brand small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:8px}.topbar-meta{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:11px;color:var(--muted)}.badge{font-size:11px;border:1px solid #d7e0eb;background:#f6f8fb;padding:5px 10px;color:#68788d}
main{max-width:1600px;padding:0 24px;margin:18px auto}section{border-radius:12px;padding:22px;box-shadow:0 8px 28px #173b6608}h2{font-size:20px;letter-spacing:-.025em}h3{font-size:18px;letter-spacing:-.02em}label{font-size:12px;color:#4f6075;margin:12px 0;font-weight:600}input,select,textarea{padding:9px 10px;border-color:#ccd7e5;color:#172033;font-size:14px;border-radius:8px}button{font-size:13px;font-weight:550;padding:8px 13px;min-height:38px;margin:4px 4px 4px 0;background:var(--blue);border-radius:9px}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed}.secondary{background:#f6f8fb;color:#253246;border-color:#cbd6e3}.eyebrow{color:#7b899a;font-size:10px;font-weight:700;letter-spacing:.11em}#message,#saveState{font-size:12px;border:1px solid #d7e0eb;background:#f3f7fc;color:#496581;padding:9px 12px}#message.error{background:#fff0dd;border-color:#efd8b9;color:#783b13}
#login,#unlock,#setup{max-width:720px;margin:36px auto}#workspace{padding:0;overflow:hidden;background:#ffffffa6}#workspace>.toolbar{padding:16px 22px;border-bottom:1px solid var(--line);background:#fff}#account{font-size:16px}#saveState{margin:12px 22px}#gradebook{display:grid;grid-template-columns:230px minmax(0,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.book-sidebar{min-width:0;padding:22px 14px;background:#f1f5f9cc;border-right:1px solid var(--line);display:flex;flex-direction:column}.book-sidebar>.eyebrow{margin:0 8px 12px}.class-list{display:grid;gap:6px}.class-button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;margin:0;padding:9px;text-align:left;border:1px solid transparent;background:transparent;color:#526276}.class-button.active{border-color:#c8d9ed;background:#fff;box-shadow:0 6px 18px #173b6610}.class-badge{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#dceafa;color:#1f5d9e;font-size:11px;font-weight:700}.class-button strong,.class-button small{display:block;overflow-wrap:anywhere}.class-button strong{font-size:13px}.class-button small{font-size:10px;color:#68788d;font-weight:400;margin-top:2px}.class-button em{font-style:normal;font-size:11px}.book-sidebar .class-select{display:none}.book-sidebar>.toolbar{display:block;margin:12px 0}.book-sidebar [data-do=new-class]{background:transparent;color:var(--blue);width:100%;text-align:left}.book-sidebar .check{font-size:11px;margin:12px 8px}.book-nav{display:grid;gap:4px;border:0;margin:12px 0}.book-nav button{width:100%;text-align:left;margin:0;background:transparent;border-color:transparent;color:#5b6b7e;padding:10px}.book-nav button[aria-pressed=true]{background:#dceafb;color:#1e5793;font-weight:650}.sidebar-note{margin-top:auto;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff9;color:#69798c;font-size:11px;line-height:1.5}.book-content{min-width:0;padding:22px 26px}.book-content>.toolbar:first-child{align-items:center}.book-content>.toolbar>h3{font-size:24px;margin-top:0;margin-bottom:10px}.period-control{margin-left:auto}.book-content>p{color:var(--muted);font-size:12px}.table-scroll{border-radius:12px;box-shadow:0 8px 28px #173b6608}th,td{padding:10px;font-size:13px;border-bottom-color:#e5ebf2;min-width:95px}thead th{background:#f5f8fc;color:#5e6e82;font-size:11px}th:first-child{min-width:160px}th small{font-size:10px}.table-link{font-size:12px;color:var(--blue)}td input{padding:7px}.grade.low{color:#b42323}.grade.mid{color:#8a6400}.grade.high{color:#237345}.form-note{background:#edf4fc;padding:10px;border-radius:8px;font-size:11px}.student-list li{background:#fff;border:1px solid var(--line);border-radius:11px;margin:8px 0}.assessment-list button{font-size:12px}.empty{color:var(--muted)}
#dataForm{margin:0;padding:16px 22px 0;border:0}#workspace>p:not(#saveState){font-size:12px;color:var(--muted);margin:12px 22px}#workspace>details{margin:16px 22px;padding:14px 0}#workspace>#conflict{margin:16px 22px}summary{font-size:13px}footer{font-size:11px;color:var(--muted)}dialog{box-shadow:0 25px 80px #13294442;color:#172033;border-color:var(--line);border-radius:14px}dialog::backdrop{background:#13233c66;backdrop-filter:blur(3px)}dialog h2{font-size:21px}dialog .toolbar{justify-content:flex-end}.dialog-error{font-size:13px}dialog [data-tasks]{background:#f8fafc}.threshold-grid label{font-size:12px}
@media(max-width:900px){#gradebook{grid-template-columns:minmax(0,1fr)}.book-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:14px}.class-list{display:flex;overflow:auto;gap:8px}.class-button{min-width:185px;width:auto}.sidebar-note{display:none}.book-sidebar>.toolbar{display:flex;margin:8px 0}.book-sidebar [data-do=new-class]{width:auto}.book-nav{display:flex;flex-wrap:wrap;margin:0}.book-nav button{width:auto;flex:1;text-align:center}.book-content{padding:18px}.book-sidebar>.eyebrow{margin-bottom:8px}}
@media(max-width:650px){main{padding:0 10px;margin:12px auto}header.topbar{padding:10px 14px;display:flex}.brand small{display:none}.topbar-meta{gap:8px}.badge{margin:0}.brand{font-size:18px}.topbar-meta>span:first-child{display:none}#workspace>.toolbar{padding:12px}#workspace>.toolbar button{width:auto}#saveState{margin:10px 12px}.book-content{padding:14px}.book-content>.toolbar>h3{font-size:21px;width:100%}.book-content .toolbar button{width:auto;flex:1}.period-control{width:100%;margin:8px 0}.period-control select{width:100%}.book-nav button{font-size:12px;padding:10px 8px}.book-sidebar [data-do=new-class]{width:auto}.book-sidebar>.toolbar .check{margin-left:auto}.table-scroll{max-height:60vh}th:first-child{min-width:125px}button{min-height:44px}#workspace>details{margin:12px}.topbar .brand img{width:36px;height:36px}dialog{padding:18px}.columns{gap:0}.student-list button{width:auto}#dataForm{padding:12px 12px 0}}

.import-rows{max-height:38vh;overflow:auto;border:1px solid var(--line);border-radius:10px}.import-row{display:flex;align-items:center;gap:12px;margin:0;padding:12px;border-bottom:1px solid var(--line)}.import-row input{width:20px;height:20px;flex-shrink:0}.import-row span{min-width:0;overflow-wrap:anywhere}.import-row strong,.import-row small{display:block}.import-row small{color:var(--muted);font-weight:400;margin-top:3px}

.print-preview{width:min(1200px,calc(100vw - 28px));padding:0;background:#edf2f8}.print-controls{padding:20px;background:#fff;border-bottom:1px solid var(--line)}.print-controls h2{margin:0}.print-controls p{font-size:12px;color:var(--muted)}.report-pages{overflow:auto;padding:20px}.report-sheet{background:#fff;color:#172033;width:1050px;padding:28px;margin:0 auto 20px;border:1px solid var(--line);border-radius:0;box-shadow:none;font-size:12px}.report-header{display:block;background:transparent;color:inherit;padding:0 0 12px;border-bottom:2px solid #174d91;margin-bottom:16px}.report-brand{font-size:16px;font-weight:750}.report-brand span{color:#245f9f}.report-header h1{font-size:23px;margin:8px 0}.report-header p{font-size:11px;margin:3px 0;max-width:none}.report-status{color:#68788d}.report-sheet table{table-layout:fixed;width:100%;border-collapse:collapse}.report-sheet th,.report-sheet td{position:static!important;min-width:0!important;max-width:none!important;white-space:normal;overflow-wrap:anywhere;font-size:11px;padding:7px 5px;border:1px solid #d7e0eb}.report-sheet th:first-child{width:19%}.report-sheet thead th{background:#f5f8fc;color:#172033}.report-sheet th small{font-size:9px}.report-sheet .report-note{font-size:10px;max-width:none}.report-sheet footer{font-size:10px;text-align:right;border-top:1px solid var(--line);padding-top:8px;margin:14px 0 0}.report-comment h3{font-size:12px;margin:10px 0 4px}.report-comment p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-width:none;margin:0 0 14px}
@page{size:A4 landscape;margin:12mm}
@media print{
 body{background:#fff!important;color:#000!important;min-width:0!important}body>*:not(main){display:none!important}main{max-width:none!important;padding:0!important;margin:0!important}main>*:not(#workspace),#workspace>*:not(#gradebook),#gradebook>*:not(.print-preview){display:none!important}#workspace,#gradebook{display:block!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:visible!important;background:#fff!important;box-shadow:none!important}
 .print-preview[open]{display:block!important;position:static!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;overflow:visible!important;box-shadow:none!important;background:#fff!important}.print-preview::backdrop{display:none!important}.print-controls{display:none!important}.report-pages{padding:0!important;overflow:visible!important}.report-sheet{width:auto!important;margin:0!important;padding:0!important;border:0!important;break-after:page;box-shadow:none!important}.report-sheet:last-child{break-after:auto}.report-sheet thead{display:table-header-group}.report-sheet tr{break-inside:avoid}.report-sheet th,.report-sheet td{font-size:9px;padding:5px 4px}.report-header{break-inside:avoid}.report-header h1{font-size:20px}.report-sheet h2{font-size:15px}.report-comment h3{break-after:avoid}.report-sheet footer{font-size:9px}.report-status{color:#333}
 body:not(:has(.print-preview[open]))::before{content:'Bitte im entsperrten Notenbuch oder Leistungsnachweis die Druckvorschau öffnen.';display:block;padding:20px}
}

.homework-entries{max-height:50vh;overflow:auto}.homework-entry{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:12px;padding:8px;border-bottom:1px solid var(--line)}.homework-checks article{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px;background:white;border:1px solid var(--line);border-radius:10px;margin:10px 0}.homework-checks article>div{flex:1;min-width:180px}.homework-checks small{display:block;color:var(--muted)}
/* Workflow additions */
.student-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:8px;flex-shrink:0}.initials{background:#e6edf6;font-size:11px;color:#29425b}.result-totals{display:block;font-size:11px;white-space:nowrap}.active-student>*{background:#e1edf9!important}.needs-makeup{border-color:#b45d00!important;background:#fff2d8!important}.list-card{border-bottom:1px solid #ccd9e8;padding:16px 0}.student-presentation{position:fixed;inset:0;background:#fff;z-index:10000;overflow:auto;padding:32px}.presentation-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.presentation-data{margin:32px auto;max-width:900px}.concealed{padding:80px;text-align:center;background:#eaf0f6;font-size:24px}.presenting #workspace>:not(#gradebook),.presenting body>header{visibility:hidden}.presenting .presentation-data,.presenting .presentation-controls{visibility:visible}.slip-grid{display:grid;grid-template-columns:1fr 1fr;gap:10mm}.student-slip{border:1px dashed #999;padding:4mm;break-inside:avoid;font-size:10px;min-height:78mm}.student-slip h2{font-size:14px}.student-slip table{min-width:0!important}.student-slip th,.student-slip td{padding:2px!important}.storage-info{font-size:12px;color:#4a6080}button svg{vertical-align:middle}
@media print{body.presenting>*{display:none!important}body.presenting #workspace,body.presenting main,body.presenting #gradebook{display:block!important;visibility:visible!important}body.presenting #workspace>:not(#gradebook){display:none!important}body.presenting .student-presentation{position:static;padding:0;overflow:visible}body.presenting .presentation-controls{display:none!important}body.presenting .presentation-data{display:block!important;margin:0}body.presenting .student-presentation table{min-width:0!important}.slip-grid{break-inside:avoid}}

@media print{body.presenting::before{display:none!important}body.presenting #gradebook>.student-presentation{display:block!important}.report-sheet table:has(th:nth-child(16)) th:first-child{width:auto!important}.slip-grid{gap:4mm}.student-slip{min-height:70mm;padding:2mm}.slip-grid h2{font-size:12px}.student-slip p{font-size:9px;margin:2px 0}}

.student-list .student-avatar{width:32px!important;min-width:32px;max-width:32px;flex:none!important}.student-list li>span{display:flex;align-items:center;gap:4px}
@media(max-width:650px){.book-sidebar>.toolbar button{width:auto;flex:1;padding:7px;font-size:12px}.book-sidebar>.toolbar label:has(#yearSelect){width:100%}}

.student-slip table th:first-child{width:65%!important}.student-slip table th:nth-child(2){width:22%}.student-slip table th:nth-child(3){width:13%}@media print{.slips-sheet>.report-header{display:none}.student-slip{overflow-wrap:anywhere}.student-slip td,.student-slip th{font-size:9px!important}}
/* Central period selection: applies to the whole book, including empty years. */
#gradebook>.book-period-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line);margin:0}.book-period-bar label{margin:0;min-width:155px}.book-period-bar select{width:100%}.book-period-bar button{width:auto;margin:16px 0 0}.class-year-hint{color:var(--muted)}
@media(max-width:650px){#gradebook>.book-period-bar{padding:12px;justify-content:flex-start;gap:8px}.book-period-bar label{flex:1;min-width:120px}.book-period-bar button{margin:0;flex:1}}

/* Assessment overview: compact cards, with results on a separate detail page. */
.book-nav button{display:flex;align-items:center;gap:12px}.book-nav svg{flex:0 0 20px}
.assessment-heading{justify-content:space-between;align-items:center}.assessment-heading h2{margin:0}.assessment-heading p{margin:8px 0;color:var(--muted,#687c94)}
.assessment-cards{display:grid;gap:18px;margin-top:24px}.assessment-card{display:flex;align-items:center;gap:20px;padding:24px;border:1px solid #d4e0ef;border-radius:16px;background:#fff;flex-wrap:wrap}
.assessment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e4effd;color:#245b90;border-radius:12px;width:68px;min-height:74px;flex-shrink:0}.assessment-date span{font-size:11px}.assessment-date strong{font-size:19px}
.assessment-description{flex:1 1 250px;min-width:0}.assessment-description h3{display:flex;align-items:center;gap:12px;margin:0 0 8px;overflow-wrap:anywhere}.assessment-description p{margin:0;font-size:14px;color:#667b94}.assessment-description small{color:#667b94}.assessment-lock{display:inline-flex;padding:10px;color:#256941;background:#eaf7ef;border:1px solid #9bc9ae;border-radius:10px;flex-shrink:0}.assessment-lock.locked{color:#ab2828;background:#fff0f0;border-color:#e6aaaa}
.assessment-badges{display:flex;gap:10px;flex-wrap:wrap}.assessment-badges span{font-size:12px;color:#5c708a;background:#edf2f8;border-radius:20px;padding:6px 10px}.assessment-actions{display:flex;gap:8px;flex-wrap:wrap}.icon-button{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:800px){.assessment-card{padding:16px;gap:12px}.assessment-description{flex-basis:180px}.assessment-actions{width:100%}.assessment-actions button{flex:1}.assessment-actions .icon-button{flex:0 0 48px}.assessment-badges{width:100%}}

button.assessment-lock{min-width:44px;min-height:44px;align-items:center;justify-content:center;cursor:pointer}button.assessment-lock:hover{filter:brightness(.95)}button.assessment-lock:focus-visible{outline:3px solid #2765aa;outline-offset:3px}
/* Shared compact workspace header and contextual actions. */
#workspace{display:grid;grid-template-columns:230px minmax(0,1fr)}#workspace> :not(#gradebook):not(.workspace-account){grid-column:1/-1}#gradebook{display:contents}#gradebook>.book-period-bar{grid-column:2;grid-row:1;padding:12px 20px;gap:12px;min-width:0}#gradebook>.book-sidebar{grid-column:1;grid-row:2}#gradebook>.book-content{grid-column:2;grid-row:2}#gradebook>.book-period-bar button{margin:0}#gradebook>.book-period-bar label{min-width:130px}.workspace-account{grid-column:1;grid-row:1;padding:12px 16px;background:white;border-bottom:1px solid var(--line);min-width:0}.workspace-account #account{font-size:14px;overflow-wrap:anywhere}.workspace-account #saveState{display:inline-block;margin:4px 0 0;padding:3px 9px;border-radius:20px;color:#21643e;background:#edf8f1;border-color:#cde5d5;font-size:11px;max-width:100%}.workspace-account #saveState.save-warning{background:#fff0dd;color:#783b13;border-color:#edcda0}
.action-menu{position:relative;border:0;margin:0;padding:0}.action-menu>summary{list-style:none;border:1px solid #cbd6e3;border-radius:9px;background:#f6f8fb;padding:9px 13px;font-size:13px;min-height:38px}.action-menu>summary::-webkit-details-marker{display:none}.menu-items{position:absolute;right:0;top:100%;min-width:180px;z-index:5;background:white;border:1px solid #cbd6e3;box-shadow:0 8px 24px #17203320;border-radius:10px;padding:6px}.workspace-account .menu-items{left:0;right:auto}.menu-items button{display:block;width:100%;text-align:left;margin:0;border:0;background:white}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.section-heading h2{font-size:26px;margin:0}.section-heading p{margin:5px 0 0;color:#68788d;font-size:13px}.section-actions{display:flex;align-items:center;gap:12px}.period-note{margin:0 0 8px}.calculation-help{margin:0 0 20px;padding:0;border:0;color:#61748a}.calculation-help summary{padding:4px 0;font-size:12px}.calculation-help p{font-size:12px;margin:8px 0}.homework-checks article{gap:16px}.control-date{padding:12px;border-radius:10px;background:#e7f0fb;color:#245c92;font-size:12px;white-space:nowrap}.control-description{flex:1}.list-overview{display:grid;gap:14px}.list-card{display:flex;align-items:center;gap:14px;margin:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:white}.list-description{flex:1;min-width:0}.list-description h3{margin:0;overflow-wrap:anywhere}.list-description p{font-size:12px;color:#68788d;margin:7px 0 0}.action-menu[open]{z-index:6}
@media(max-width:800px){#workspace{grid-template-columns:minmax(0,1fr)}.workspace-account{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:10px}#gradebook>.book-period-bar{grid-column:1;grid-row:2;justify-content:flex-start}#gradebook>.book-sidebar{grid-column:1;grid-row:3}#gradebook>.book-content{grid-column:1;grid-row:4}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-actions{width:100%;flex-wrap:wrap}.section-actions>button{flex:1;width:auto}.list-card{flex-wrap:wrap}.list-card>button{width:auto}.list-description{flex-basis:65%}.homework-checks article{flex-wrap:wrap}.homework-checks article>button{width:auto}.menu-items{max-width:calc(100vw - 55px)}.book-period-bar{flex-wrap:wrap}}
@media print{.workspace-account,.action-menu,.section-actions{display:none!important}}
.homework-checks article>.control-date{flex:0 0 auto}.list-card>[data-edit-list]{background:#f6f8fb;color:#253246;border:1px solid #cbd6e3}
#gradebook>.presentation-view{grid-column:1/-1}

.workspace-account summary::after{content:' ▾';font-size:11px;color:#68788d}

/* Readable gradebook and focused assessment editor. */
.table-guide{font-size:12px;color:var(--muted);margin:18px 0 4px}.gradebook-table{isolation:isolate;scrollbar-gutter:stable;max-height:65vh}.gradebook-table table{table-layout:fixed;min-width:100%}.gradebook-table th,.gradebook-table td{width:130px;min-width:130px}.gradebook-table th:first-child{width:210px;min-width:210px;max-width:210px;box-shadow:3px 0 6px #173b6608}.gradebook-table .assessment-column{width:160px;min-width:160px;overflow-wrap:anywhere}.gradebook-table .table-link{max-width:100%;overflow-wrap:anywhere;line-height:1.4}.gradebook-table .summary-column{background:#e8f0fa}.gradebook-table tbody tr:hover>*,.gradebook-table tbody tr:focus-within>*{background:#eef5ff}.gradebook-table tbody th{line-height:1.5}.gradebook-table tbody td{padding:12px 10px}.gradebook-table input[data-final]{width:84px;min-width:0;margin:auto}.gradebook-table:focus-visible{outline:3px solid #245f9f;outline-offset:3px}
dialog.assessment-dialog{width:min(820px,calc(100vw - 28px));padding:26px}.assessment-dialog .dialog-intro{color:var(--muted);font-size:13px;margin:-8px 0 22px}.assessment-dialog select{width:100%}.assessment-dialog fieldset{margin:18px 0;padding:16px;background:#f8fafc}.assessment-dialog fieldset legend{font-weight:650;padding:0 6px}.assessment-dialog [data-task-row]{background:white}.assessment-dialog .columns{gap:0 20px}.assessment-dialog form>.toolbar{position:sticky;bottom:-26px;background:#fff;border-top:1px solid var(--line);padding:14px 0;margin-top:20px;z-index:4}.assessment-dialog .dialog-error:not(:empty){padding:12px;background:#fff1e4;border-radius:8px}.assessment-dialog [data-task-summary]{margin:8px 0}.assessment-dialog [data-tasks]>p:last-child{font-size:12px;color:var(--muted)}
@media(max-width:650px){dialog.assessment-dialog{padding:18px}.assessment-dialog form>.toolbar{bottom:-18px;display:grid;grid-template-columns:1fr 1fr}.assessment-dialog fieldset{padding:12px}.gradebook-table th:first-child{width:145px;min-width:145px;max-width:145px}.gradebook-table .assessment-column{width:140px;min-width:140px}}

/* Student overview and personal forms, matching the contextual workspace. */
.student-list{display:grid;gap:12px;margin-top:20px}.student-list li{padding:16px 18px;margin:0;gap:12px}.student-list .student-identity{display:flex;align-items:center;flex:1;min-width:180px;gap:12px}.student-list .student-name{display:block;min-width:0;overflow-wrap:anywhere}.student-name strong{display:block;font-size:14px}.student-name small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.student-list .student-avatar{width:42px!important;height:42px;min-width:42px;max-width:42px;margin:0}.student-list .action-menu{flex:none}.student-list li>button{margin:0}.student-dialog,.profile-dialog{width:min(680px,calc(100vw - 28px));padding:26px}.student-dialog select,.profile-dialog input{width:100%;max-width:none}.student-dialog .dialog-intro,.profile-dialog .dialog-intro{color:var(--muted);font-size:13px;margin:-6px 0 24px}.student-dialog [data-photo-preview]{padding:12px 0}.student-dialog [data-photo-preview] .student-avatar{width:72px;height:72px;font-size:20px}.student-dialog form>.toolbar,.profile-dialog form>.toolbar{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.student-dialog form>p:not(.dialog-intro):not(.dialog-error){font-size:12px;color:var(--muted);padding:12px;background:#eef4fb;border-radius:8px}
@media(max-width:650px){.student-list li{padding:14px}.student-list .student-identity{flex-basis:100%}.student-list li>button{flex:1}.student-dialog,.profile-dialog{padding:18px}.student-dialog form>.toolbar,.profile-dialog form>.toolbar{display:grid;grid-template-columns:1fr 1fr}}

/* Chronological student performance, matching the offline record. */
.student-record-dialog{width:min(1000px,calc(100vw - 28px))}.student-record-dialog section{margin-bottom:18px;min-width:0}.grade-chart-section{margin:22px 0}.grade-chart-section h4{font-size:16px;margin:0 0 12px}.grade-chart-scroll,.record-table-scroll{overflow:auto;max-width:100%}.grade-chart-scroll{background:#f7faff;border:1px solid var(--line);border-radius:10px}.grade-chart-scroll svg{display:block;max-width:none}.grade-chart-grid{stroke:#dbe4ef;stroke-width:1}.grade-chart-axis{font-size:11px;fill:#61748a}.grade-chart-value{font-size:12px;font-weight:650;fill:#172033}.grade-chart-line{fill:none;stroke:#718cae;stroke-width:2.5}.grade-chart-dot{stroke:white;stroke-width:2}.grade-chart-dot.written{fill:#245f9f}.grade-chart-dot.other{fill:#237345}.grade-chart-legend{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:#4f6075}.grade-chart-legend span{display:flex;align-items:center;gap:7px}.grade-chart-legend i{display:inline-block;width:10px;height:10px;background:#237345;border-radius:2px}.grade-chart-legend i.written{background:#245f9f;border-radius:50%}.chart-note{font-size:12px;color:var(--muted)}.grade-chart-scroll:focus-visible{outline:3px solid #245f9f;outline-offset:2px}
@media(max-width:650px){.student-record-dialog section{padding:12px}.student-record-dialog{padding:14px}.grade-chart-legend{gap:12px}}

.grade-chart-line.written{stroke:#245f9f}.grade-chart-line.other{stroke:#237345;stroke-dasharray:6 3}.grade-chart-line.total{stroke:#7952a3}.grade-chart-dot.total{fill:#7952a3}.chart-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.chart-controls .check{margin:0}.grade-chart-section h4:not(:first-child){margin-top:24px}

.presentation-controls label{min-width:180px}.presentation-controls select{max-width:340px;width:100%}.individual-grade{border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:14px;padding:24px;background:white}.individual-grade h3{font-size:24px;margin:8px 0}.individual-grade-value{font-size:64px;font-weight:700;color:var(--blue);margin:20px 0}.individual-grade-value small{display:block;font-size:14px;font-weight:400;color:var(--muted)}.individual-note{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#eef4fb;border-radius:8px}.presentation-data{min-width:0}.presentation-data .grade-chart-scroll{max-width:100%}@media(max-width:650px){.student-presentation{padding:16px}.presentation-controls{gap:8px}.presentation-controls label,.presentation-controls select{width:100%;max-width:none}.individual-grade{padding:16px}}@media print{.presentation-data .chart-controls{display:none}.presentation-data .grade-chart-scroll{overflow:visible}.presentation-data .grade-chart-scroll svg{max-width:100%;height:auto}.individual-grade{break-inside:avoid}}

.half-weight-error { color: #a52b13; font-weight: 600; }

.gradebook-table thead .block-written{background:#eaf2fc}.gradebook-table thead .block-other{background:#edf7f1}.gradebook-table .block-written + .block-other{border-left:3px solid #9cbbad}

/* 0.3.16: wider workspace and compact grouped gradebook. */
@media screen and (min-width:1000px){main:has(#workspace:not([hidden])){max-width:none;width:100%;padding:0 24px}.book-content{padding:20px}#gradebook{grid-template-columns:220px minmax(0,1fr)}}
.gradebook-table table{table-layout:fixed;width:max-content;min-width:100%}
.gradebook-table col.name-col{width:190px}.gradebook-table col.assessment-col{width:150px}.gradebook-table col.result-col{width:120px}
.grouped-book thead{position:sticky;top:0;z-index:3}.grouped-book thead th{position:static;width:auto;min-width:0}.grouped-book thead tr:first-child>th:first-child{position:sticky;left:0;z-index:4}
.grouped-book thead tr:nth-child(2)>th:first-child{max-width:none;text-align:center;box-shadow:none;border-right:0}
.gradebook-table .gradebook-groups th{padding:4px 8px;font-size:12px}.gradebook-table .group-toggle{background:transparent;color:#25486a;margin:0;padding:6px 8px;min-height:38px;font-size:12px;white-space:normal}
.gradebook-table tbody th{width:190px;min-width:190px;max-width:190px;padding:6px 10px}.gradebook-table tbody td{padding:6px 8px}.gradebook-table input[data-final]{padding:5px 7px}.gradebook-table [data-comment]{min-height:28px;padding:2px 4px}.gradebook-table .collapsed-cell{color:#8491a1}
@media(max-width:650px){.gradebook-table col.name-col{width:145px}.gradebook-table col.assessment-col{width:140px}.gradebook-table tbody th{width:145px;min-width:145px;max-width:145px}.gradebook-table .group-toggle{min-height:44px}.gradebook-table [data-comment]{min-height:44px}}

.grouped-book .gradebook-groups th{text-align:left}.grouped-book .group-toggle{position:sticky;left:210px}.grouped-book thead tr:first-child>th:first-child{width:190px;min-width:190px;max-width:190px}
@media(max-width:650px){.grouped-book .group-toggle{left:145px}.grouped-book thead tr:first-child>th:first-child{width:145px;min-width:145px;max-width:145px}}

@media(max-width:650px){.grouped-book .group-toggle{width:auto;max-width:160px;text-align:left}}

/* 0.3.17: focused actions, results and account settings. */
.gradebook-table .overall-column{background:#edf3fb;border-left:2px solid #bccde1;font-weight:700}.gradebook-table .final-column{background:#f4f7fc}.gradebook-table .final-controls{display:flex;align-items:center;justify-content:center;gap:4px}.gradebook-table .final-controls input[data-final]{width:62px;margin:0}.gradebook-table .comment-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:5px;border:1px solid transparent;color:#63748b}.gradebook-table .comment-button.has-comment{color:#205b96;background:#dceafb;border-color:#b6cfe9}.book-help{margin:12px 0;padding:0;border:0;font-size:12px;color:#52647c}.book-help summary{padding:7px 0}.book-help p{margin:6px 0}.account-settings{scroll-margin-top:20px}.save-help{margin:12px 22px;padding:0;border:0;font-size:12px}.account-settings>summary{font-size:17px}.workspace-account .menu-items{min-width:240px}
@media(max-width:650px){.gradebook-table .comment-button{min-width:44px;min-height:44px}.gradebook-table .final-controls{gap:2px}}

.timetable-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}.timetable-day{padding:10px;min-width:0;background:#f3f6fa}.timetable-day h3{font-size:14px}.timetable-entry{padding:12px 9px;background:#e9f2fc;border:1px solid #c7d8ea;border-radius:9px;margin:10px 0;overflow-wrap:anywhere}.timetable-entry strong,.timetable-entry small{display:block}.timetable-entry small{color:#53677d;font-size:12px}.timetable-entry button{font-size:12px;padding:6px}.timetable-entry.b-week{background:#eaf6ef;border-color:#a7ceb7}@media(max-width:1100px){.timetable-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.timetable-days{grid-template-columns:1fr}}

/* Compact shared time axis and direct course targets. */
.timetable-entry{position:relative;padding:0}.timetable-entry .timetable-block{display:block;width:100%;height:100%;margin:0;padding:9px 32px 9px 8px;min-height:72px;background:transparent;border:0;color:#18314d;text-align:left;font-weight:400;border-radius:8px}.timetable-block strong{font-size:13px;font-weight:650}.timetable-entry .timetable-edit{position:absolute;right:2px;top:2px;padding:4px;min-height:28px;width:28px;margin:0;background:#ffffffc9;color:#345878;border:1px solid #c7d8ea;display:grid;place-items:center}.timetable-time{display:none}
@media(min-width:1101px){.timetable-days{padding-left:46px;gap:8px}.timetable-day{padding:8px}.timetable-day h3{margin:0 0 16px}.timetable-lane{position:relative;height:calc(var(--minutes)*2px)}.timetable-lane .timetable-entry{position:absolute;top:calc(var(--start)*2px);height:calc(var(--duration)*2px - 4px);left:0;right:0;margin:0;padding:0}.timetable-entry .timetable-block{min-height:0;padding:6px 30px 6px 7px;overflow:hidden}.timetable-entry small{font-size:11px}.timetable-time{display:block;position:absolute;left:-48px;font-size:11px;color:#62748a;pointer-events:none;transform:translateY(-50%)}.timetable-time:after{content:"";position:absolute;left:43px;top:50%;width:5px;border-top:1px solid #bac9da}.short-entry .block-time{display:none}.short-entry .timetable-block{display:flex;align-items:center}.short-entry .timetable-block strong{font-size:12px}}
@media(pointer:coarse){.timetable-entry .timetable-edit{width:44px;min-height:44px}.timetable-entry .timetable-block{padding-right:48px}}

.book-nav button{font-size:13px}.book-nav button span{font:inherit}@media(max-width:650px){.book-nav button{font-size:12px}}

.timetable-days.timetable-single{grid-template-columns:minmax(0,600px);padding-left:0}.timetable-single .timetable-lane{height:auto}.timetable-single .timetable-time{display:none}.timetable-single .timetable-lane .timetable-entry{position:relative;top:auto;left:auto;right:auto;height:auto;min-height:80px;margin:10px 0}.timetable-single .timetable-entry .timetable-block{min-height:80px;padding:12px 48px 12px 14px}.timetable-single .short-entry .block-time{display:block}.timetable-single .short-entry .timetable-block{display:block}.timetable-single .timetable-entry strong{font-size:15px}.timetable-single .timetable-entry small{font-size:13px}

/* Timetable management and a quiet daily landing page. */
.timetable-content .section-heading{margin-bottom:14px}.timetable-content .section-heading p{margin:5px 0 0}.timetable-navigation{gap:8px;margin:8px 0 16px;align-items:end}.timetable-navigation label{margin:0}.timetable-navigation button{margin:0}.timetable-week-status{align-self:center;padding:5px 10px;border-radius:16px;background:#dceafb;color:#245d94;font-size:12px;font-weight:650}.timetable-help{margin-top:20px}.timetable-empty{max-width:650px;margin:20px 0;padding:24px;background:#f0f5fb;border:1px solid #d6e2ef;border-radius:12px}.timetable-empty h3{margin:0 0 8px}.timetable-empty p{margin:0 0 14px;color:#52647c;font-size:13px}.timetable-management{max-width:1100px;display:grid;gap:14px;margin-top:16px}.timetable-management section{padding:16px;box-shadow:none}.timetable-management h3{margin:0 0 8px;font-size:15px}.timetable-management-row{display:flex;align-items:center;gap:18px;padding:10px 0;border-top:1px solid #e1e8f0}.timetable-management-row small{display:block;color:#60728a;font-size:12px}.timetable-management-time{min-width:110px;font-size:13px;font-variant-numeric:tabular-nums}.timetable-management-description{flex:1;min-width:0;overflow-wrap:anywhere}.timetable-no-lessons{color:#63738a;font-size:12px;margin:8px 0}.timetable-single:has(.timetable-no-lessons) .timetable-lane{display:none}@media(max-width:650px){.timetable-management-row{flex-wrap:wrap;gap:8px}.timetable-management-description{flex-basis:60%}.timetable-navigation button{flex:0 1 auto!important}.timetable-navigation label{max-width:170px}.timetable-empty{padding:18px}.timetable-management section{padding:12px}}

/* Direct homework access remains separate from the lesson's gradebook link. */
.timetable-entry .timetable-homework{position:absolute;right:34px;top:2px;width:30px;min-height:28px;margin:0;padding:3px;background:#fff;color:#245d94;border:1px solid #c7d8ea;border-radius:6px;font-size:11px;line-height:20px}.timetable-homework span{display:none}.timetable-entry:has(.timetable-homework) .timetable-block{padding-right:68px}.timetable-single .timetable-homework{top:auto;bottom:8px;right:8px;width:auto;padding:3px 9px}.timetable-single .timetable-homework span{display:inline}.timetable-single .timetable-entry:has(.timetable-homework) .timetable-block{padding-right:145px}@media(pointer:coarse){.timetable-entry .timetable-homework{right:48px;width:44px;min-height:44px}.timetable-entry:has(.timetable-homework) .timetable-block{padding-right:96px}.timetable-single .timetable-homework{right:8px;width:auto}}

.gradebook-table .final-controls select[data-final]{width:62px;min-width:0;margin:0;padding:5px 3px;font-variant-numeric:tabular-nums}.gradebook-table .final-suggestion{display:block;margin:4px auto 0;padding:3px 4px;background:transparent;border:0;color:#245d94;font-size:11px;white-space:nowrap}.gradebook-table .final-suggestion:hover{background:#dceafb}.final-suggestion-empty{display:block;margin-top:4px;color:#63748b;font-size:11px}
