:root{--bg-top:#0a142d;--bg-bottom:#0e1d3b;--card-bg:#0f203e;--ink:#eef0ff;--muted:#bcc3ff;--brand:#4140d7;--brand-hover:#5554e0;--line:#2b2a90;--focus:#7575f4;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Trebuchet MS,Gill Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:linear-gradient(165deg, var(--bg-top) 0%, var(--bg-bottom) 100%);min-height:100vh;margin:0}#root{min-height:100vh}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--card-bg);border:1px solid var(--line);border-radius:18px;width:min(430px,100%);padding:28px;box-shadow:0 20px 40px #00000059}.brand-logo{-o-object-fit:contain;object-fit:contain;width:auto;height:36px;margin-bottom:10px}.eyebrow{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}h1{margin:6px 0;font-size:34px;line-height:1.1}.supporting-text{color:var(--muted);margin:0 0 22px}.login-form{gap:12px;display:grid}.field-label{font-size:14px;font-weight:600}.input-control{border:1px solid var(--line);width:100%;color:var(--ink);background:#162040;border-radius:10px;padding:11px 12px;font-size:15px;transition:border-color .12s ease-in-out,box-shadow .12s ease-in-out}.input-control::placeholder{color:#9a9ff8}.input-control:focus-visible{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in oklab, var(--focus), white 70%)}input:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid color-mix(in oklab, var(--focus), white 50%);outline-offset:1px}.form-row{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;font-size:14px;display:flex}.remember{align-items:center;gap:8px;display:inline-flex}.form-row a,.footnote a{color:var(--brand);text-decoration:none}.form-row a:hover,.footnote a:hover{text-decoration:underline}.form-error{color:#ffb8c4;margin:2px 0 0;font-size:14px}.btn{cursor:pointer;border:none;border-radius:10px;margin-top:8px;padding:12px 14px;font-size:15px;font-weight:700;transition:background-color .12s ease-in-out,border-color .12s ease-in-out,transform .12s ease-in-out}.btn-primary{color:#fff;background:var(--brand)}.btn-primary:hover{background:var(--brand-hover);transform:translateY(-1px)}.btn-secondary{color:var(--ink);background:#1c2a52;border:1px solid #3b4f91}.btn-secondary:hover{background:#26366a;transform:translateY(-1px)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.footnote{color:var(--muted);margin:18px 0 0;font-size:14px}.contact-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;font-size:13px;display:flex}.contact-line span{color:#7575f4}.contact-line a{color:#dde2ff;text-decoration:none}.contact-line a:hover{text-decoration:underline}.dashboard-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.dashboard-card{background:var(--card-bg);border:1px solid var(--line);border-radius:18px;width:min(760px,100%);padding:28px;box-shadow:0 20px 40px #00000059}.dashboard-placeholder{min-height:180px;color:var(--muted);background:#152247b3;border:1px dashed #4f58b8;border-radius:12px;place-items:center;margin:18px 0 24px;display:grid}@media (width<=520px){.login-card{border-radius:14px;padding:22px}h1{font-size:30px}.form-row{flex-direction:column;align-items:flex-start}}
