*{box-sizing:border-box} :root{color-scheme:dark;--bg:#10151c;--panel:#19212c;--line:#3b4a5d;--ink:#edf3fb;--muted:#b5c4d7;--accent:#99dcff}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif} a{color:var(--accent)} .bar{background:#151e28;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;padding:1rem max(1rem,calc((100vw - 980px)/2))}.bar a:first-child{font-weight:700;text-decoration:none}
main{margin:auto;max-width:1012px;padding:1.5rem 1rem 3rem}h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.1;margin:.2rem 0 1rem}h2{margin:0 0 .85rem}p{margin:.4rem 0 .85rem}.eyebrow{font-size:.8rem;letter-spacing:.12em;color:var(--accent);font-weight:750}.heading,.actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:.8rem;padding:clamp(1rem,3vw,1.6rem);margin:1rem 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:.85rem}.muted,small{color:var(--muted)}label{display:block;font-weight:600;margin:.55rem 0}input,textarea,select{display:block;width:100%;background:#101720;color:var(--ink);font:inherit;padding:.55rem;border:1px solid #61768e;border-radius:.35rem;margin:.3rem 0}input[type=checkbox]{display:inline;width:auto;margin:.25rem .65rem 0 0;accent-color:var(--accent)}button{background:var(--accent);color:#101822;border:1px solid transparent;border-radius:.4rem;font:inherit;font-weight:700;padding:.55rem .9rem;cursor:pointer}.secondary{background:transparent;color:var(--ink);border-color:#61768e}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.check{display:flex;align-items:flex-start}.check input{flex:none}.notice{font-weight:400;padding:.75rem;background:#101720;border-radius:.4rem}.item,details,fieldset{border:1px solid var(--line);border-radius:.4rem;padding:.7rem;margin:.65rem 0;min-width:0}.item .actions{justify-content:flex-start}summary{cursor:pointer;font-weight:700}.review{font-weight:700}progress{width:100%;height:1rem;accent-color:var(--accent)}[hidden]{display:none!important}code{overflow-wrap:anywhere}.validation-summary-errors,#message.error{color:#ffb7a8}#message:empty{display:none}.file-name{overflow-wrap:anywhere}


.auth-shell {
    max-width: 29rem;
    margin: clamp(1.25rem, 6vw, 4rem) auto 0;
}

.auth-shell-wide { max-width: 50rem; }
.auth-card { padding: clamp(1.15rem, 4vw, 2.2rem); }
.auth-card h1 { font-size: clamp(1.9rem, 6vw, 2.6rem); }
.auth-card h2 { font-size: 1.2rem; }
.auth-card label { margin-top: 1rem; }
.auth-card input { min-height: 44px; }
.auth-card small { display: block; }

.auth-submit {
    width: 100%;
    min-height: 44px;
    margin-top: 1.2rem;
}

.auth-footer {
    border-top: 1px solid var(--line);
    margin-top: 1.4rem;
    padding-top: 1rem;
}

.auth-footer p { margin-bottom: 0; }
.auth-status { padding: .75rem; background: #101720; border-radius: .4rem; }

.enrollment-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(1rem, 4vw, 2rem);
    margin-top: 1.4rem;
}

.auth-qr {
    width: min(100%, 14rem);
    margin: .8rem 0;
    background: #fff;
    border-radius: .35rem;
    overflow: hidden;
}

.auth-qr svg { display: block; width: 100%; height: auto; }
.auth-key { margin-bottom: 0; }
.auth-key code { overflow-wrap: anywhere; }

@media (max-width: 42rem) {
    .enrollment-grid { grid-template-columns: minmax(0, 1fr); }
}
