:root{color-scheme:dark;--bg:#080b11;--panel:#111722;--panel2:#171f2c;--line:#2a3444;--text:#f5f7fa;--muted:#9da9b9;--red:#d92735;--red2:#a91522;--green:#34d399;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 15%,#26344a 0,transparent 33%),linear-gradient(145deg,#080b11,#101722 60%,#080b11);color:var(--text);font-size:16px}.auth-shell{width:min(1020px,calc(100% - 32px));min-height:650px;margin:7vh auto;display:grid;grid-template-columns:1.08fr .92fr;border:1px solid var(--line);background:rgba(12,17,25,.94);box-shadow:0 30px 80px #0008}.brand-panel{padding:64px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(170deg,#192334cc,#090d15f5),repeating-linear-gradient(135deg,transparent 0 16px,#ffffff05 16px 17px)}.brand-mark,.wordmark{font-weight:900;letter-spacing:-.06em;text-decoration:none;color:#fff}.brand-mark{font-size:3.8rem}.brand-mark span,.wordmark span{color:var(--red)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:#d2d9e3;margin:20px 0 8px}.brand-panel h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.04;margin:0;max-width:600px}.brand-copy{font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:520px}.server-address{margin-top:32px;padding:14px 18px;width:max-content;border-left:3px solid var(--red);background:#ffffff09;font-family:Consolas,monospace}.form-panel{padding:56px;background:var(--panel)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:38px}.tabs a{padding:0 0 14px;color:var(--muted);text-decoration:none;font-weight:700}.tabs a.active{color:#fff;border-bottom:3px solid var(--red)}h2{font-size:1.75rem;margin:0 0 24px}form{display:grid;gap:18px}label{display:grid;gap:8px;font-weight:650;color:#dbe2eb}input{width:100%;padding:14px;border:1px solid var(--line);background:#0b1018;color:#fff;font:inherit;outline:none}input:focus{border-color:var(--red);box-shadow:0 0 0 3px #d9273526}button{margin-top:8px;padding:15px;border:0;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font:700 1rem inherit;cursor:pointer}button:hover{filter:brightness(1.1)}.alert{padding:14px 16px;margin-bottom:24px;border-left:3px solid}.alert.error{background:#6b10172e;border-color:#ef4444;color:#fecaca}.alert.success{background:#065f4630;border-color:var(--green);color:#a7f3d0}.topbar{height:74px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#0c1119}.wordmark{font-size:1.7rem}.topbar nav{display:flex;align-items:center;gap:24px;color:var(--muted)}.topbar nav a{color:#fff;text-decoration:none}.dashboard{width:min(1180px,calc(100% - 32px));margin:56px auto}.page-heading h1{margin:0 0 36px;font-size:2.7rem}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.character-card{padding:24px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),var(--panel));display:grid;grid-template-columns:54px 1fr;gap:18px}.character-initial{width:54px;height:54px;display:grid;place-items:center;background:var(--red);font-size:1.6rem;font-weight:900}.character-card h2{font-size:1.25rem;margin:3px 0}.character-card p{color:var(--muted);margin:0}.character-card dl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin:12px 0 0;padding-top:18px;border-top:1px solid var(--line)}.character-card dl div{display:grid;gap:5px}.character-card dt{color:var(--muted);font-size:.85rem}.character-card dd{margin:0;font-weight:750}.empty-state{padding:48px;border:1px dashed var(--line);background:var(--panel);text-align:center}.empty-state p{color:var(--muted)}code{display:inline-block;padding:10px 14px;background:#080b11;color:#fff}
@media(max-width:760px){.auth-shell{grid-template-columns:1fr;margin:16px auto}.brand-panel{padding:36px;min-height:290px}.form-panel{padding:32px}.brand-mark{font-size:2.7rem}.topbar{padding:0 20px}.topbar nav span{display:none}.dashboard{margin-top:36px}}
/* CO:LA SA-MP scale parity */
html{font-size:16px}
body{font-size:16px;line-height:1.6}
.auth-shell{width:min(1180px,calc(100% - 36px))}
.brand-copy,.empty-state p,.character-card p{font-size:16px;line-height:1.65}
.tabs a,label,input,button,.topbar nav{font-size:15px}
