:root{--navy:#101c45;--red:#bf2431;--gold:#f2c94c;--line:#d6deea;--muted:#52627b}*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#16233a;font:16px/1.5 system-ui,sans-serif}header{background:var(--navy);color:white;padding:18px 28px;display:flex;align-items:center;gap:14px}header span{display:block;font-size:14px;color:#c5d4ed}.mark{background:var(--red);font-size:28px;font-weight:900;width:48px;text-align:center;border-radius:10px}#identity{margin-left:auto;text-align:right}main{max-width:1400px;margin:auto;padding:26px}h1{font-size:30px;margin:0 0 10px;color:var(--navy)}h2{font-size:23px;margin:0 0 12px}h3{font-size:18px}p{margin:10px 0}.muted{color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.spread{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}.nav{position:sticky;top:16px;align-self:start;display:grid;gap:7px}.nav button{text-align:left}.nav button.selected{background:var(--red);color:white}.stats{display:flex;gap:30px;flex-wrap:wrap;margin:16px 0}.stats strong{font-size:28px;display:block;color:var(--navy)}.stats span{font-size:14px;color:var(--muted)}button{font:inherit;cursor:pointer;background:var(--navy);color:white;border:1px solid transparent;border-radius:8px;padding:9px 14px}button.secondary{background:white;color:var(--navy);border-color:var(--line)}button.danger{background:var(--red)}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;border:1px solid #aebccd;border-radius:7px;background:white;color:#16233a;padding:10px;max-width:100%}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%}textarea{min-height:90px;resize:vertical}label{display:block;margin:10px 0}label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{display:block;margin-top:5px}.check{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:12px 0}.check input{width:20px;height:20px;flex-shrink:0}.badge{background:#edf1f7;border-radius:8px;padding:5px 9px;font-size:14px;display:inline-block}.good{background:#e0f3e8;color:#175337}.warn{background:#fff1c9;color:#694d00}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.login{max-width:520px;margin:40px auto}.notice{border-left:5px solid var(--gold);padding:12px;background:#fff7df}.error{border-left:5px solid var(--red);background:#ffe9ec;padding:12px}dialog{border:0;border-radius:14px;padding:28px;width:min(1000px,96vw);max-height:90vh}dialog::backdrop{background:#07132dc9}#modalBody{margin-bottom:22px}#notice{position:fixed;bottom:16px;right:16px;max-width:500px;background:var(--navy);color:white;padding:12px;border-radius:9px;display:none;z-index:20}details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:700}.schedule{width:100%;height:auto}.history{border-left:4px solid var(--line);padding-left:15px;margin:20px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.5 system-ui}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px}.question{border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0}.question label{display:flex;gap:10px}fieldset{min-width:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3978bd;outline-offset:3px}@media(max-width:750px){header{padding:14px}main{padding:14px}.layout,.form-grid{grid-template-columns:1fr}.nav{position:static;display:flex;overflow:auto;flex-wrap:wrap}.nav button{font-size:14px}.panel{padding:18px}h1{font-size:25px}.stats{gap:18px}}@media print{header,.nav,button,#notice,dialog{display:none!important}main{padding:0;max-width:none}.panel{break-inside:avoid}.print-only{display:block}.layout{display:block}body{background:white}}
@media print {
 @page { size: letter; margin: 0.5in; }
 #appView #main { width: 100%; max-width: none; padding: 0; margin: 0; }
 #main .panel { break-inside: auto; padding: 12px; box-shadow: none; }
 #main .table { overflow: visible; }
 #main table { width: 100%; table-layout: fixed; }
 #main th, #main td { white-space: normal; overflow-wrap: anywhere; padding: 6px; font-size: 10pt; vertical-align: top; }
 #main thead { display: table-header-group; }
 #main tr, #main .printed-question { break-inside: avoid; }
 #main h1, #main h2, #main h3 { break-after: avoid; }
 #main .completed-test { break-before: page; }
 #main .printed-question { border-bottom: 1px solid #bbb; padding: 8px 0; }
 #main .printed-question p { margin: 4px 0; }
}
