body.login-page{display:grid;place-items:center;min-height:100vh;padding:22px}.login-card{background:white;border:1px solid var(--line);border-radius:16px;padding:36px;max-width:460px;width:100%;margin:auto}.login-card img{width:100%;height:auto;margin-bottom:30px}.login-card label{display:block;font-size:12px;margin:18px 0}.login-card input{margin-top:7px}.login-card button{width:100%;margin-top:8px}.login-card #status{color:#8d3d25;font-size:13px}.login-card [hidden]{display:none}.login-card h1{font-size:27px}.auth-loading aside,.auth-loading .shell{display:none}.user-controls{display:flex;gap:8px;align-items:center}.user-controls span{max-width:240px;overflow:hidden;text-overflow:ellipsis}.save-busy{pointer-events:none;opacity:.7}.account-link{overflow-wrap:anywhere;padding:15px;background:#edf4ee;margin:15px 0}.account-assignments label{display:block;margin:8px 0}.account-assignments input{width:auto}nav{max-height:65vh;overflow:auto}@media(max-width:700px){.user-controls span{display:none}nav{max-height:none}}

/* Keepsmart navy and gold theme, shared by sign-in and authenticated portals. */
:root{color-scheme:dark;--bg:#081426;--ink:#f1f5fc;--muted:#aab9d1;--line:#2c405e;--green:#f5c451;--surface:#11223b;--surface-raised:#172d49;--gold:#f5c451}
body{background:var(--bg);color:var(--ink)}
aside,header{background:#0c1b30}
.panel,.stat,.card,.login-card,dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}
.login-page{background:radial-gradient(ellipse at 50% 20%,#173354 0%,#081426 65%)}
.login-card{box-shadow:0 24px 70px #0005;border-top:3px solid var(--gold)}
.login-card img,.brand-image{background:#fff;border-radius:8px;padding:7px}
input,select,textarea{background:#0b1a2f;color:var(--ink);border-color:#3a506e;accent-color:var(--gold)}
input::placeholder,textarea::placeholder{color:#92a5c0;opacity:1}
select:disabled{opacity:1;color:#c7d3e5}
button,.primary,.secondary{background:var(--gold);color:#101d32}
button:hover:not(:disabled){filter:none;background:#ffda78;color:#081426}
button:disabled{opacity:.5}
.quiet{background:transparent;color:var(--gold);border:1px solid #806b3a}
nav button{background:transparent;color:#bfcee2;border:1px solid transparent}
nav button.active{background:#3c341f;color:#ffda78;border-color:#75623a}
nav button:hover:not(:disabled){background:#1c304d;color:#ffda78}
a,.file-link,.task button{color:var(--gold)}
.file-link,.task button{background:transparent}
.eyebrow,.feature .eyebrow,.brand-dot{color:var(--gold)}
.avatar,.logo,.task-icon{background:#3c341f;color:#ffda78}
.demo,.notice,.message,.account-link{background:#1a2e49;color:#c4d1e3;border-color:var(--line)}
.demo{border-bottom:1px solid var(--line)}
.message p{color:var(--ink)}
th{background:#0c1b30;color:#b9c8dc}
td,.task,.activity,.panel-head,.aside-bottom{border-color:var(--line)}
tbody tr:hover{background:#172d49}
.badge{background:#153d35;color:#a0e8c6}
.badge.amber{background:#43351b;color:#ffda78}
.badge.blue{background:#1c365c;color:#b7d4ff}
.badge.gray{background:#2b3b51;color:#cad5e5}
.bar{background:#2a3b55}.bar i,.live-dot{background:var(--gold)}
.flow-step{border-color:#8c7540}
.feature{background:linear-gradient(135deg,#193556,#10223d);border:1px solid #4c5870}
.feature p{color:#b9cbe3}
.slash{color:#6c819d}
.login-card #status{color:#ffc597}
#toast{background:#f5c451;color:#101d32;box-shadow:0 10px 30px #0006}
dialog::backdrop{background:#020914bb}
:focus-visible{outline:2px solid #ffda78;outline-offset:3px}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
