:root{--blue:#0058a3;--dark:#082d50;--yellow:#ffda1a;--ink:#102a43;--muted:#60758a;--line:#d8e3ec}*{box-sizing:border-box}body{margin:0;background:#f1f6f9;color:var(--ink);font-family:"Avenir Next","Segoe UI",Arial,sans-serif}.wrap{width:min(920px,calc(100% - 28px));margin:auto}header{padding:25px 0 56px;border-bottom:8px solid var(--yellow);background:var(--blue);color:#fff}header a{color:#fff;font-weight:800;text-decoration:none}.brand{margin-top:27px;font-size:.85rem;font-weight:1000;letter-spacing:1px}.brand span,.slip-logo span{color:var(--yellow)}h1{margin:5px 0 2px;font-size:clamp(2rem,7vw,3.5rem)}header p{margin:0;color:#e2f1ff}main{margin-top:-30px}.notice,.panel,.summary-card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 24px #103b5d12}.notice{padding:13px 16px;color:#425d73;font-size:.84rem;font-weight:700}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.summary-card{padding:16px}.summary-card small{display:block;color:var(--muted);font-size:.67rem;font-weight:900}.summary-card strong{display:block;margin-top:3px;color:var(--blue);font-size:1.7rem}.panel{margin:14px 0;padding:20px}.panel-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.panel small{color:var(--blue);font-weight:950;letter-spacing:.5px}.panel h2{margin:2px 0 13px}.filters{display:flex;gap:7px}select,input{min-height:42px;border:1px solid #b8cbd9;border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink);font:inherit}.record-list{display:grid;gap:8px}.record{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px;border-left:5px solid var(--blue);border-radius:7px;background:#f4f8fb}.record b{font-size:.93rem}.record .score{color:var(--blue);font-weight:950}.record small{grid-column:1/-1;color:var(--muted);font-size:.68rem;letter-spacing:0}.empty{padding:20px;border:1px dashed #b8cbd9;border-radius:8px;color:var(--muted);text-align:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.form-row label{display:grid;gap:5px;font-size:.76rem;font-weight:900}.generator button,.slip-actions button{border:0;border-radius:7px;background:var(--blue);color:#fff;padding:13px 18px;font:inherit;font-weight:950;cursor:pointer}.hidden{display:none}.slip-wrap{margin:18px 0}.slip{padding:38px;border:10px solid var(--dark);outline:3px solid var(--yellow);outline-offset:-16px;background:#fff}.slip-top{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--dark);padding-bottom:16px}.slip-logo{font-size:1.25rem;font-weight:1000}.slip-top>div:last-child{text-align:right}.slip-top small{display:block;color:var(--muted)}.candidate{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:22px 0}.candidate small{display:block;color:var(--muted);font-size:.65rem}.candidate b{display:block;margin-top:3px;text-transform:uppercase}table{width:100%;border-collapse:collapse;font-size:.82rem}th,td{border:1px solid #9eafbc;padding:9px;text-align:left}th{background:var(--dark);color:#fff}.overall{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:17px;background:#edf6fc}.overall small{display:block}.overall strong{font-size:1.5rem}.grade{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--dark);font-size:1.75rem;font-weight:1000}.disclaimer{margin:17px 0 0;color:var(--muted);font-size:.67rem}.slip-actions{display:flex;justify-content:center;gap:8px;margin:17px}.slip-actions .secondary{background:#fff;color:var(--blue);border:2px solid var(--blue)}footer{padding:25px;text-align:center;color:var(--muted);font-size:.75rem}@media(max-width:640px){.summary-grid{grid-template-columns:1fr}.panel-head{align-items:start;flex-direction:column}.filters,.form-row{display:grid;grid-template-columns:1fr;width:100%}.filters select{width:100%}.slip{padding:25px 21px}.candidate{grid-template-columns:1fr}.slip-top{align-items:flex-start;gap:15px}.slip-top>div:last-child{font-size:.72rem}.slip-actions{flex-direction:column}.slip-actions button{width:100%}table{font-size:.69rem}th,td{padding:7px 5px}}@media print{body{background:#fff}body>*:not(main),main>*:not(#slipWrap),.slip-actions{display:none!important}main,.wrap,.slip-wrap{width:100%;margin:0}.slip{min-height:270mm;border-width:8px;box-shadow:none;page-break-inside:avoid}@page{size:A4;margin:10mm}}
