:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#18354d;background:#f2f6f8;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:white;border-bottom:1px solid #d8e3e8;padding:18px max(20px,calc((100vw - 1120px)/2))}a{color:#185f85}.brand{font-size:1.5rem;font-weight:800;color:#18354d;text-decoration:none}.brand span{color:#168c89}.brand small{font-size:.8rem}.environment{font-size:.8rem;background:#eaf2f5;border-radius:5px;padding:5px 9px}#account{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}main{max-width:1120px;margin:30px auto;padding:0 20px}footer{max-width:1120px;margin:28px auto;padding:0 20px;color:#627583;font-size:.85rem}h1{font-size:1.65rem;line-height:1.25}h2{font-size:1.2rem}h3{font-size:1rem}h1,h2,h3{margin-top:0}p{margin:10px 0}.intro{max-width:720px;color:#536a79}.card{background:white;border:1px solid #d8e3e8;border-radius:10px;padding:22px;margin:16px 0;box-shadow:0 2px 7px #16364e05}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.auth{max-width:520px;margin:35px auto}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.muted{font-size:.9rem;color:#607583}.pill{display:inline-block;font-size:.8rem;background:#eef3f6;padding:3px 8px;border-radius:5px}.pill.good{background:#e2f3e8;color:#216442}.pill.wait{background:#fff2d9;color:#7c5c12}.code{font-family:ui-monospace,monospace;word-break:break-all;background:#edf5f6;padding:8px 12px;border-radius:5px}button,.button{font:inherit;min-height:44px;border:1px solid #a9bfcd;background:#fff;color:#184562;border-radius:6px;padding:9px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.primary,.button.primary{background:#1c668c;color:white;border-color:#1c668c}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d9951a;outline-offset:3px}label{display:block;font-weight:600;margin:14px 0 5px}input,select,textarea{font:inherit;display:block;width:100%;padding:10px;border:1px solid #b5c7d2;border-radius:6px;background:#fff;color:#18354d}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:20px;height:20px;display:inline-block;flex-shrink:0}form .row{margin-top:16px}.question{display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid #e5edf1;padding:10px 0}.question input[type=text]{margin:0}.question label{margin:0}.feedback{border-left:4px solid #329777;background:#eef8f3;padding:12px;white-space:pre-wrap}.work{white-space:pre-wrap;border:1px solid #dce6ec;border-radius:5px;padding:12px;overflow-wrap:anywhere}.warning{border-left:4px solid #d79c2c;background:#fff7e6;padding:12px}.tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.tabs a{padding:8px 12px}.empty{padding:20px;border:1px dashed #b9cbd6;border-radius:7px;color:#607583}.error{color:#9d2a2a;background:#fff0f0;padding:10px;border-radius:5px}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(90vw,650px);background:#18354d;color:white;padding:12px 18px;border-radius:7px;z-index:20;display:none}details{margin-top:12px}summary{cursor:pointer;min-height:44px;padding:8px 0}article.assignment{border-top:1px solid #dce7ed;padding:18px 0}article.assignment:first-child{border:0}.auth-switch{margin-top:22px}.question-list{max-height:420px;overflow:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.grid{grid-template-columns:1fr}header{padding:14px 18px;gap:10px}#account{width:100%;margin-left:0}main{margin-top:22px}.card{padding:17px}.row>*{max-width:100%}.question{flex-wrap:wrap}.question input[type=text]{flex:1;min-width:220px}.auth{margin-top:15px}}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.stats>div{background:#eef5f7;border-radius:7px;padding:14px}.stats strong,.stats span{display:block}.stats strong{font-size:1.2rem}.stats span{font-size:.82rem;color:#536b7a}.table-scroll{overflow:auto;max-width:100%;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #dce6ec;vertical-align:top}thead th{background:#eef4f7;white-space:nowrap}caption{text-align:left;font-weight:600;padding:0 0 12px}tbody th{min-width:190px}.tabs button[aria-pressed=true]{background:#1c668c;color:white;border-color:#1c668c}@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.table-scroll{border:1px solid #dce6ec;border-radius:5px}}

thead th{white-space:normal}

button.danger{background:#9b3333;color:white;border-color:#9b3333}#staff-editor{border-left:4px solid #1c668c;scroll-margin-top:20px}#staff-editor[hidden]{display:none}#class-management,#staff-history{margin-top:18px}#staff-history li{padding:10px 0}#staff-change-error,#transfer-error{color:#9b3333}

/* Smalle schermen: inhoud blijft binnen de kaart; tabellen hebben hun eigen schuifgebied. */
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid>*,.row>*,#account>*{min-width:0}
main,.card,.stats>div,header,footer{overflow-wrap:anywhere}
input,select,textarea{min-width:0;max-width:100%}
button,.button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
.feedback{overflow-wrap:anywhere}
[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #d9951a;outline-offset:3px}
.skip-link{position:absolute;left:16px;top:0;transform:translateY(-150%);z-index:50;background:#fff;padding:12px 16px;border:2px solid #185f85;border-radius:0 0 6px 6px;min-height:44px}
.skip-link:focus{transform:translateY(0)}
.question-toggle{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:400}
.question .question-toggle{margin:0}
.table-hint{font-size:.85rem;color:#536a79;margin:12px 0 4px}
.table-scroll{overscroll-behavior-x:contain;scroll-margin:12px}
#progress-detail{scroll-margin-top:20px}
@media(max-width:700px){
 .grid{grid-template-columns:minmax(0,1fr)}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .question input[type=text]{flex:1 1 100%;min-width:0}
 .card .card{padding:12px}
 .question-list{max-height:none;overflow:visible}
 .table-scroll{width:100%}
}
@media(max-width:360px){
 header{padding-left:12px;padding-right:12px}
 main,footer{padding-left:12px;padding-right:12px}
 .card{padding:14px}
 .stats{grid-template-columns:minmax(0,1fr)}
}
/* Safari kan de interne optielijst anders buiten het keuzeveld laten meetellen. */
select{overflow:hidden;text-overflow:ellipsis}
/* Tabelwaarden en actieknoppen blijven leesbaar; alleen de tabel schuift zo nodig. */
.table-scroll td{white-space:nowrap}
.table-scroll button{white-space:nowrap;overflow-wrap:normal;max-width:none}
/* Docentroute: dezelfde catalogus, aanpassing en studentvoorbeeld naast elkaar. */
.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.category-grid button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;min-height:100px;background:#eef6f8}.category-grid small{font-weight:400;color:#536b7a}.category-grid button[aria-pressed=true]{border:2px solid #197d89;background:#e0f3f1}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.filters label{margin:0}.filters input,.filters select{margin-top:6px}.steps{display:flex;gap:24px;flex-wrap:wrap;padding:0;list-style:none;counter-reset:step;margin:24px 0}.steps li{counter-increment:step;padding:10px 14px;border-radius:7px;background:#e7eef2}.steps li:before{content:counter(step) '. ';font-weight:700}.steps li[aria-current]{background:#1c668c;color:white}.editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}.student-preview{position:sticky;top:16px;max-height:calc(100vh - 40px);overflow:auto;background:#fafdfe}.preview-question{padding:14px 0;border-bottom:1px solid #dce6ec}.preview-question p{border:1px dashed #bdd0da;border-radius:6px;padding:12px}.editor-grid textarea{min-height:140px}#new-group{margin-top:20px}.question-toggle{min-width:115px}.editor-grid .question input[type=text]{flex:1;min-width:0}.student-tabs{display:flex;gap:10px;flex-wrap:wrap}.student-tabs [aria-pressed=true]{background:#1c668c;color:white}@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid{grid-template-columns:minmax(0,1fr)}.student-preview{position:static;max-height:none}}@media(max-width:600px){.filters{grid-template-columns:minmax(0,1fr)}.steps{gap:8px}.steps li{font-size:.85rem;padding:8px}.category-grid button{min-height:90px}}
.question .nl8-question-text,.editor-grid .question .nl8-question-text{flex:1;min-width:0;min-height:100px;margin:0}.question-list{max-height:none;overflow:visible}@media(max-width:700px){.question .nl8-question-text{flex:1 1 100%}}
/* Beheer en groepsselectie */
.nl9-admin-tabs{margin:22px 0;gap:8px;display:flex;flex-wrap:wrap}.nl9-admin-tabs [aria-pressed=true]{background:#1c668c;color:white}.nl9-check{display:flex;align-items:center;gap:10px;font-weight:400;margin:10px 0;min-height:38px}.nl9-check input[type=checkbox],.nl9-target input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:0}.nl9-sub{display:block;font-weight:400;color:#536a79}.nl9-review{background:#edf6f5;border:1px solid #a4ceca;border-radius:10px;padding:18px;margin-top:16px}.nl9-cart{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#e6f4f2;border-radius:8px;margin-bottom:20px}.nl9-target{border:1px solid #c2d5df;border-radius:8px;margin:14px 0;padding:14px}.nl9-target legend label{display:flex;gap:10px;align-items:center}.nl9-target legend{max-width:100%}#admin-editor{scroll-margin-top:16px}#admin-editor>details{margin:18px 0;padding-top:14px;border-top:1px solid #dbe6ec}#admin-editor summary{font-weight:700}#admin-content article{padding:15px 0;border-bottom:1px solid #dbe6ec}#admin-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}#admin-content td{white-space:normal}#admin-content input[type=checkbox]{width:22px;height:22px}.nl9-license-banner{padding:16px;background:#fff1cc;border-bottom:2px solid #d29b24;color:#523600}a.button,button{min-height:44px}@media(max-width:600px){.nl9-cart{align-items:stretch;flex-direction:column}.nl9-admin-tabs button{flex:1 1 140px}}
/* Rustige uitlijning op desktop, tablet en mobiel. */
h1,h2,h3,legend,label{overflow-wrap:break-word}input,select,textarea{font:inherit;line-height:1.5}textarea{resize:vertical}table{font-variant-numeric:tabular-nums}th,td{text-align:left;vertical-align:top}.filters>*,.editor-grid>*,.grid>*{min-width:0}.row{align-items:center}.question-toggle{align-items:center}.nl9-target>label{margin-top:8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d99d25;outline-offset:3px}@media(max-width:600px){header{gap:9px;padding:14px}#account{gap:8px}#account>.button,#account>button{font-size:14px;padding:9px 12px}main{padding:20px 14px}h1{font-size:1.75rem}.card{padding:18px}.question{align-items:flex-start}.question .question-toggle{min-height:44px}.table-scroll{border-radius:6px}.table-scroll th,.table-scroll td{padding:10px 8px}.stats{gap:10px}.stats strong{font-size:1.5rem}}

#portal-settings[hidden]{display:none!important}

.nl-roster-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #d8e5eb}.nl-roster-row p{margin:4px 0}.nl-group-tools .nl9-review{scroll-margin-top:20px}@media(max-width:600px){.nl-roster-row{align-items:flex-start;flex-direction:column}}

/* Accountbeheer: gelijk uitgelijnde filters en korte statuskeuze. */
.nl-admin-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:14px;align-items:end}.nl-admin-filters-two{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.nl-admin-filters>label{min-width:0;margin:0}.nl-admin-filters input,.nl-admin-filters select{width:100%;min-width:0;box-sizing:border-box}.nl-admin-segment button[aria-pressed=true]{background:#284b63;color:#fff;border-color:#284b63}#account-results th,#account-results td{overflow-wrap:anywhere}#admin-editor input[type=checkbox]{width:22px;height:22px;margin-right:8px;vertical-align:middle}@media(max-width:700px){.nl-admin-filters,.nl-admin-filters-two{grid-template-columns:minmax(0,1fr)}}
