:root{font-family:system-ui,-apple-system,sans-serif;color:#142d36;background:#f0f4f5;font-size:16px;line-height:1.5;--accent:#006b71;--border:#dbe4e7;--muted:#526b74;--radius:12px}
*{box-sizing:border-box}body{margin:0} [hidden]{display:none!important}
a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}
:focus-visible{outline:3px solid #389ca8;outline-offset:3px}
header{background:#102f39;color:#fff;padding:20px max(24px,calc((100% - 1080px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}header a{font-weight:800;letter-spacing:.12em;color:#fff;text-decoration:none}header span{color:#c5d6db}
main{max-width:1140px;margin:32px auto;padding:0 24px;overflow-wrap:anywhere}section{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin:20px 0;box-shadow:0 3px 12px #12303a05}.narrow{max-width:620px;margin:32px auto}
h1,h2,h3{color:#142d36;line-height:1.3}h1{font-size:30px;margin:0 0 20px}h2{font-size:20px;margin:0 0 16px}h3{font-size:17px;margin:0 0 12px}p{margin:0 0 16px}section>:last-child,article>:last-child{margin-bottom:0}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--muted);margin:0 0 8px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading>div{min-width:0}.heading h1,.heading h2{margin-bottom:0}.heading+p{margin-top:16px}.heading form{margin:0;flex-shrink:0}.heading form button{white-space:nowrap}
form{margin:0}form+form,details+form{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}
label{display:block;max-width:760px;margin:0 0 20px;font-weight:600;font-size:14px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{display:block;width:100%;min-height:44px;padding:11px 12px;border:1px solid #9caeb5;border-radius:7px;margin-top:6px;background:#fff;color:inherit}textarea{min-height:110px;resize:vertical}input[readonly]{background:#f4f7f8}input:disabled,button:disabled{opacity:.6;cursor:not-allowed}
input[type=checkbox],input[type=radio]{display:inline-block;width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:var(--accent)}label:has(>input[type=checkbox]),label:has(>input[type=radio]),.check{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;font-weight:500}input[name=totp]{max-width:220px;letter-spacing:.16em}input[type=date]{max-width:260px}
button,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;border:1px solid transparent;border-radius:7px;background:var(--accent);color:#fff;padding:10px 16px;font-size:14px;font-weight:650;line-height:1.45;text-align:center;text-decoration:none;cursor:pointer;vertical-align:middle;margin:0 8px 8px 0}button:hover,.button-link:hover{filter:brightness(.94)}.secondary{background:#edf2f4;border-color:#ccd9de;color:#143740}.danger{background:#a12c36;color:#fff}.actions,.session-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.actions>button,.session-actions button{margin:0}.actions form,.session-actions form{margin:0;border:0;padding:0}
.notice{background:#fff5df;border:1px solid #e5cc90;border-left:4px solid #ad7b15;border-radius:7px;padding:16px;margin:16px 0}.field-error{display:block;color:#a12c36;font-size:14px;font-weight:500;margin-top:6px}[aria-invalid=true]{border-color:#a12c36!important}.form-error{color:#a12c36;margin:12px 0}.inline{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.inline label{margin:0}.inline button{margin:0}
.mandate{background:#f4f7f8;border:1px solid var(--border);border-radius:8px;padding:20px;line-height:1.7;margin:16px 0}.amount{font-size:32px;font-weight:750}details{border-top:1px solid var(--border);padding:0;margin-top:16px}summary{cursor:pointer;font-size:15px;font-weight:650;padding:16px 0;line-height:1.5}details[open]>summary{margin-bottom:4px}details>form{padding-bottom:4px}
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.admin-nav a{padding:10px 14px;min-height:44px;text-decoration:none;border:1px solid #d2dfe4;border-radius:7px;background:#e7eef1;color:#153b46;font-size:14px;font-weight:600}.admin-nav a[aria-current]{background:var(--accent);border-color:var(--accent);color:#fff}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-grid section{margin:0;padding:20px}.stat-grid strong{display:block;font-size:28px;margin-top:8px}.stat-grid span{font-size:14px;color:var(--muted)}
.filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto;align-items:end;gap:16px}.filters label,.filters button{margin:0}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:13px;color:var(--muted);background:#f5f8f9}td{font-size:14px}td code{overflow-wrap:anywhere}.pagination{display:flex;justify-content:space-between;gap:16px;margin-top:24px;font-size:14px}
.portal-row,.payment-row{padding:20px 0;border-top:1px solid var(--border)}.portal-row:first-of-type,.payment-row:first-of-type{border-top:0;padding-top:4px}.portal-row:last-child,.payment-row:last-child{padding-bottom:0}.portal-row label:last-child{margin-bottom:0}code{font-size:.875em;overflow-wrap:anywhere}.reference{font-size:13px;color:var(--muted)}.candidate-info{display:grid;gap:4px}.candidate-info small{color:var(--muted);font-size:13px}.batch-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.batch-head strong{white-space:nowrap}.status{display:inline-block;padding:4px 9px;background:#edf3f5;border-radius:6px;font-size:13px;color:#284b58;margin:0 0 12px}
#setup-qr{display:block;max-width:100%;height:auto;margin:20px auto}#manual-key code{overflow-wrap:anywhere}#session-warning{max-width:30rem;width:calc(100% - 2rem);border:1px solid var(--border);border-radius:var(--radius);padding:24px;color:#142d36;box-shadow:0 16px 60px #0004}#session-warning::backdrop{background:#102a33aa}#session-feedback:empty{display:none}footer{text-align:center;padding:24px;color:var(--muted);font-size:13px}
@media(max-width:760px){main{margin:24px auto;padding:0 16px}section{padding:20px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr}.filters label{max-width:none}.filters button{justify-self:start}.heading{align-items:flex-start}.admin-nav{gap:6px}.admin-nav a{padding:10px}.batch-head{flex-wrap:wrap;gap:4px}}
@media(max-width:480px){header{padding:18px 16px}header span{font-size:13px}h1{font-size:26px}h2{font-size:19px}main{padding:0 12px}section{padding:18px}.stat-grid{gap:10px}.stat-grid section{padding:16px}.inline{align-items:stretch;flex-direction:column}.inline button{align-self:flex-start}.heading{gap:12px}.heading button{padding:10px 12px}.pagination{flex-wrap:wrap}}
