:root{--navy:#142a5c;--blue:#3b5aa5;--orange:#ff9500;--bg:#0e1d42;--surface:#fff;--text:#1a2238;--muted:#6b7691;--danger:#c62828;--radius:14px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}#root{flex-direction:column;min-height:100dvh;display:flex}.screen{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.card{background:var(--surface);border-radius:var(--radius);text-align:center;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:28px 24px;display:flex}.card h1{color:var(--navy);margin:0;font-size:1.5rem}.logo{border-radius:16px;align-self:center}.muted{color:var(--muted);margin:0}.card label{text-align:left;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.card input{font:inherit;border:1px solid #cfd5e3;border-radius:10px;min-height:48px;padding:12px;font-size:16px}.card input:focus{outline:2px solid var(--blue);border-color:var(--blue)}button{font:inherit;cursor:pointer;font-weight:600}.card button[type=submit]{background:var(--navy);color:#fff;border:0;border-radius:10px;min-height:48px}.card button[type=submit]:disabled{opacity:.6;cursor:default}.error{color:var(--danger);margin:0;font-size:.9rem}code{background:#eef1f8;border-radius:4px;padding:1px 5px;font-size:.85em}.dashboard{justify-content:flex-start;align-items:stretch;width:100%;max-width:960px;margin:0 auto}.topbar{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.brand{color:#fff;font-weight:700}button.link{color:var(--orange);background:0 0;border:0;min-height:44px;padding:8px}.hello{padding:32px 0}.hello h1{color:#fff;margin:0;font-size:clamp(1.75rem,6vw,2.5rem)}.hello .muted{color:#ffffffb3}.hello .error{color:#ffb4ab}.success{color:#2e7d32;margin:0;font-size:.9rem}button.link-plain{color:var(--blue);background:0 0;border:0;min-height:44px;padding:8px;text-decoration:underline}.checklist{text-align:left;color:var(--muted);margin:0;padding:0;font-size:.85rem;list-style:none}.checklist li.ok{color:#2e7d32}
