:root{--surface-canvas:#03070a;--surface-deep:#050b0e;--surface-panel:#071014;--surface-raised:#091318;--surface-control:#0b1519;--border-subtle:#1c3037;--border-strong:#29434c;--text-primary:#f2f5f7;--text-secondary:#aeb8bf;--text-disabled:#78858d;--positive:#00e887;--positive-soft:rgba(0,232,135,.09);--positive-border:rgba(0,168,95,.7);--waiting:#ffc928;--waiting-soft:rgba(255,201,40,.09);--waiting-border:rgba(255,201,40,.58);--negative:#ff3f4f;--negative-soft:rgba(255,63,79,.09);--negative-border:rgba(165,44,53,.78);--info:#3da5ff;--info-soft:rgba(61,165,255,.09);--info-border:rgba(23,109,168,.78);--expiry:#f5a000;--future-ledger-recommendation:#a970ff;--focus-ring:rgba(61,165,255,.62);--bg0:var(--surface-canvas);--bg1:var(--surface-panel);--bg2:var(--surface-raised);--line:var(--border-subtle);--text:var(--text-primary);--muted:var(--text-secondary);--accent:var(--waiting);--accent-2:var(--positive);--danger:var(--negative);--radius:14px;--font:"Sora",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
.standalone-auth{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg0)}
.auth-gate{position:fixed;inset:0;z-index:10000;display:grid;box-sizing:border-box;place-items:center;padding:1.25rem;overflow:auto;background:radial-gradient(900px 500px at 12% 0%,rgba(61,186,138,.12),transparent 55%),radial-gradient(700px 420px at 90% 8%,rgba(212,160,23,.09),transparent 52%),linear-gradient(180deg,#0e1613 0%,#0c1210 45%,#101816 100%)}
.auth-gate[hidden]{display:none}.auth-card{box-sizing:border-box;width:min(100%,28rem);padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(24,35,30,.98),rgba(14,20,17,.99));box-shadow:0 24px 70px rgba(0,0,0,.5);color:var(--text)}
.auth-brand{display:flex;align-items:center;gap:.9rem;margin-bottom:1.8rem}.auth-brand .brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--accent);border-radius:12px;background:rgba(212,160,23,.08);color:var(--accent);font:600 1rem/1 var(--mono);letter-spacing:.04em}.auth-brand div{display:grid;gap:.18rem}.auth-brand span:last-child,.auth-copy{color:var(--muted);font-size:.86rem}.auth-card h1{margin:0 0 .5rem;color:var(--text);font-size:1.45rem;letter-spacing:-.02em}.auth-form{display:grid;gap:.65rem;margin-top:1.25rem}.auth-form label{font-size:.82rem;color:var(--muted)}
.auth-form input{width:100%;box-sizing:border-box;padding:.78rem .85rem;border:1px solid var(--line);border-radius:10px;background:#0a0f0d;color:var(--text);font:inherit}.auth-form input:hover{border-color:rgba(212,160,23,.45)}.auth-form input:focus,.auth-link:focus-visible,.waiver-content:focus,.waiver-check input:focus-visible,.auth-form button:focus-visible{outline:3px solid rgba(212,160,23,.35);outline-offset:2px;border-color:var(--accent)}
.password-field{position:relative}.password-field input{padding-right:5.25rem}.password-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);margin:0!important;padding:.35rem .5rem;border:1px solid var(--line);border-radius:7px;background:var(--bg2);color:#f0d78a;font:600 .74rem/1 var(--font);cursor:pointer}.password-toggle:hover{border-color:var(--accent)}.password-toggle:focus-visible{outline:3px solid rgba(212,160,23,.35);outline-offset:2px;border-color:var(--accent)}
.auth-form .btn,.waiver-card .primary{min-height:2.75rem;padding:.75rem 1rem;border:1px solid #e0b33a;border-radius:10px;background:linear-gradient(180deg,#e0b33a,#c49212);color:#1a1405;font:700 .88rem/1 var(--font);cursor:pointer}.auth-form .btn:hover,.waiver-card .primary:hover{filter:brightness(1.08)}.auth-form .btn:disabled,.waiver-card .primary:disabled{cursor:not-allowed;filter:none;opacity:.48}.auth-form button{margin-top:.5rem}.auth-link{margin-top:1rem;padding:.25rem 0;border:0;background:transparent;color:#f0d78a;text-decoration:underline;cursor:pointer}.auth-link:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}
.auth-success h2{margin:0;color:var(--text);font-size:1.05rem}.auth-success .btn{display:grid;place-items:center;box-sizing:border-box;margin-top:.5rem;text-decoration:none}.auth-success:focus{outline:none}.auth-success .btn:focus-visible{outline:3px solid rgba(212,160,23,.35);outline-offset:2px;border-color:var(--accent)}
.auth-message{min-height:1.4em;margin:1rem 0 0;color:var(--danger)}.auth-message.ok{color:var(--accent-2)}.waiver-card{width:min(100%,48rem)}.waiver-content{max-height:45vh;overflow:auto;white-space:pre-wrap;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#0a0f0d;color:var(--text);line-height:1.55}.waiver-check{display:flex;gap:.65rem;align-items:flex-start;margin:1rem 0;color:var(--text)}.waiver-check input{margin-top:.2rem;accent-color:var(--accent)}.auth-pending>header,.auth-pending>main{visibility:hidden}
.admin-users-panel{grid-column:1/-1}.admin-users-panel[hidden]{display:none!important}.admin-users-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.admin-users-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.82rem}.admin-users-table th,.admin-users-table td{padding:.65rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.presence-pill{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-weight:700}.presence-pill.online{background:rgba(61,186,138,.16);color:var(--accent-2)}.presence-pill.inactivo{background:rgba(212,160,23,.14);color:#e6c35c}.presence-pill.offline{background:rgba(143,163,152,.12);color:var(--muted)}.admin-user-actions{display:flex;flex-wrap:wrap;gap:.3rem}.admin-user-actions button{font-size:.72rem;padding:.3rem .45rem}.admin-user-meta{color:var(--muted);font-size:.74rem}
.admin-archive-toggle{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--muted);font-size:.8rem}.admin-archive-toggle input{accent-color:var(--accent)}.test-account-badge{display:inline-block;margin-top:.3rem;padding:.15rem .4rem;border:1px solid rgba(212,160,23,.4);border-radius:999px;color:#e6c35c;font:700 .68rem/1.2 var(--mono)}
.admin-invitation-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}
.admin-manual-secret{margin-top:.75rem;padding:.75rem;border:1px solid rgba(226,91,76,.45);border-radius:10px;background:rgba(226,91,76,.08);color:var(--text)}.admin-manual-secret strong{display:block;margin-bottom:.5rem;color:#f0a08f;font-size:.78rem}.admin-manual-secret textarea{display:block;width:100%;min-height:5rem;margin-bottom:.5rem;padding:.6rem;border:1px solid var(--line);border-radius:8px;background:#0a0f0d;color:var(--text);font:400 .74rem/1.4 var(--mono);resize:vertical}

/* Shared semantic mapping for login, onboarding and multi-user administration. */
.auth-gate{background:radial-gradient(900px 500px at 12% 0%,rgba(36,240,155,.09),transparent 56%),radial-gradient(700px 420px at 90% 8%,rgba(85,199,255,.04),transparent 54%),linear-gradient(180deg,var(--surface-deep),var(--surface-canvas) 48%,#06100b)}
.auth-card{border-color:var(--border-subtle);background:linear-gradient(180deg,rgba(16,32,25,.98),rgba(7,16,12,.99))}
.auth-brand .brand-mark{color:var(--waiting);border-color:var(--waiting-border);background:var(--waiting-soft)}
.auth-form input,.waiver-content,.admin-manual-secret textarea{background:var(--surface-control);border-color:var(--border-subtle)}
.auth-form input:hover{border-color:var(--border-strong)}
.auth-form input:focus,.auth-link:focus-visible,.waiver-content:focus,.waiver-check input:focus-visible,.auth-form button:focus-visible,.password-toggle:focus-visible,.auth-success .btn:focus-visible{outline-color:var(--focus-ring);border-color:var(--info)}
.auth-form .btn,.waiver-card .primary{color:#101408;border-color:transparent;background:linear-gradient(180deg,#ffe06d,var(--waiting))}
.auth-link,.password-toggle{color:var(--waiting)}
.auth-message{color:var(--negative)}.auth-message.ok{color:var(--positive)}
.presence-pill.online{color:var(--positive);background:var(--positive-soft)}
.presence-pill.inactivo{color:var(--waiting);background:var(--waiting-soft)}
.admin-manual-secret{border-color:var(--negative-border);background:var(--negative-soft)}
.admin-manual-secret strong{color:var(--negative)}
:where(button,a,input,textarea):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
:where(button,input,textarea):disabled{opacity:.46;cursor:not-allowed;filter:saturate(.35)}
@media(max-width:600px){.auth-gate{padding:.75rem}.auth-card{padding:1.25rem}.waiver-content{max-height:42vh}.top-meta{gap:.4rem}.admin-users-panel{min-width:0;padding:1rem}.admin-users-table-wrap{width:100%;-webkit-overflow-scrolling:touch}.admin-invitation-form{display:grid;gap:.65rem}}

/* Charcoal surfaces: operational green remains an accent, never a backdrop. */
.auth-gate{background:radial-gradient(760px 380px at 88% -8%,rgba(61,165,255,.04),transparent 60%),linear-gradient(180deg,var(--surface-deep),var(--surface-canvas) 55%,#020608)}
.auth-card{background:linear-gradient(180deg,rgba(9,19,24,.99),rgba(5,11,14,.99));box-shadow:0 24px 70px rgba(0,0,0,.58)}
.auth-form input,.waiver-content,.admin-manual-secret textarea{background:var(--surface-control)}

/* One continuous charcoal surface across login, app shell and cards. */
:root{--surface-canvas:#03070a;--surface-deep:#03070a;--surface-panel:#03070a;--surface-raised:#03070a;--surface-control:#03070a}
.auth-gate,.auth-card{background:var(--surface-canvas)}
