/* RPI login. TSCC tokens only. */
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 85% -10%,#c8102e1f,transparent 60%),radial-gradient(900px 500px at -10% 20%,#1d3a6a33,transparent 60%),var(--bg);color:var(--text);font:16px/1.55 Inter,Arial,Helvetica,sans-serif}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.top{display:flex;align-items:center;padding:14px clamp(16px,4vw,48px);background:#090d15e6;border-bottom:1px solid var(--line)}
.brand{font:700 22px Georgia,serif;color:var(--text);text-decoration:none;display:flex;align-items:baseline;gap:10px}.brand span{font:600 11px Inter,sans-serif;letter-spacing:.18em;color:var(--muted)}
.wrap{display:flex;justify-content:center;padding:clamp(32px,8vh,96px) 16px}
.card{width:100%;max-width:440px;background:var(--surface,#111b2a);border:1px solid var(--border);border-radius:16px;padding:32px}
.eyebrow{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1{font:700 28px/1.2 Georgia,serif;margin:0 0 10px}.lede,.note{color:var(--muted);margin:0 0 20px}.note{margin:20px 0 0;font-size:16px}
label{display:block;font-weight:600;margin:14px 0 6px}
input{width:100%;min-height:48px;padding:10px 14px;font:16px Inter,Arial,sans-serif;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px}
button{margin-top:8px;width:100%;min-height:48px;font:700 16px Inter,Arial,sans-serif;color:#fff;background:var(--btn);border:0;border-radius:10px;cursor:pointer}
button[disabled]{opacity:.7;cursor:wait}
.msg{min-height:1.5em;margin:12px 0 0;color:var(--bad)}
