:root { --bg:#0f172a; --card:#192134; --muted:#cbd5e1; --line:rgba(255,255,255,.16); --blue:#1e3a5f; --green:#22c55e; --red:#dc2626; --text:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:var(--bg); }
* { box-sizing:border-box; } body { margin:0; min-width:320px; line-height:1.5; } button,input,textarea,select { font:inherit; } button { cursor:pointer; border:0; border-radius:10px; background:var(--green); color:#0f172a; font-weight:750; min-height:44px; padding:0 18px; touch-action:manipulation; transition:transform .2s,filter .2s; } button:hover { filter:brightness(1.08); transform:translateY(-1px); } button:disabled { cursor:not-allowed; filter:none; opacity:.72; } button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible { outline:3px solid #fff; outline-offset:3px; } button.secondary { color:#fff; background:transparent; border:1px solid var(--line); } .skip-link { position:fixed; z-index:10; left:12px; top:-56px; padding:10px 14px; color:#0f172a; background:#fff; border-radius:8px; } .skip-link:focus { top:12px; }
.topbar { max-width:1320px; margin:0 auto; padding:28px 28px 18px; display:flex; justify-content:space-between; align-items:center; gap:20px; } .topbar h1,.login-card h1 { margin:3px 0 0; font-size:clamp(1.5rem,3vw,2.25rem); letter-spacing:-.04em; } .eyebrow { margin:0; color:#94a3b8; font-size:.72rem; letter-spacing:.13em; font-weight:750; }
.app-shell { max-width:1320px; margin:0 auto; padding:8px 28px 44px; } .status-card { display:flex; justify-content:space-between; gap:24px; padding:20px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(120deg,#192134,#10192e); } .status-card p { margin:7px 0 0; color:var(--muted); } .status-card dl { margin:0; min-width:260px; display:grid; gap:10px; } .status-card dl div { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding-bottom:8px; } dt { color:var(--muted); } dd { margin:0; font-weight:600; } .status-dot { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:8px; background:#f59e0b; } .status-dot.applied { background:var(--green); } .status-dot.failed { background:var(--red); }
.profile-list { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; } .profile-list form { margin:0; } .profile-pill { min-height:44px; padding:0 13px; color:#cbd5e1; background:#192134; border:1px solid var(--line); } .profile-pill.active,.profile-pill:disabled { opacity:1; color:#0f172a; background:var(--green); cursor:default; transform:none; }
.route-note { border-left:3px solid var(--green); color:#cbd5e1; background:#10192e; padding:13px 16px; margin:18px 0; border-radius:0 10px 10px 0; } .routing-form { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px; } .form-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:22px; } h2 { margin:3px 0 0; letter-spacing:-.03em; } label { display:grid; gap:7px; color:#e2e8f0; font-size:.9rem; font-weight:650; } input,textarea,select { width:100%; min-height:44px; color:#fff; border:1px solid var(--line); background:#0f172a; border-radius:9px; padding:10px 12px; } textarea { min-height:220px; resize:vertical; font-family:"SFMono-Regular",Consolas,monospace; font-size:1rem; line-height:1.45; } .full-field { margin-bottom:20px; } .route-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; } fieldset { min-width:0; margin:0; padding:18px; border:1px solid var(--line); border-radius:12px; } legend { padding:0 7px; font-size:1.05rem; font-weight:750; } fieldset p,.help { color:var(--muted); font-size:.9rem; line-height:1.5; } fieldset label+label { margin-top:15px; } .options { display:flex; flex-wrap:wrap; align-items:end; gap:20px; margin-top:20px; } .options > label:not(.toggle) { min-width:220px; } .toggle { display:flex; align-items:center; gap:10px; min-height:44px; } .toggle input { width:18px; min-height:18px; height:18px; accent-color:var(--green); } code { color:#bbf7d0; }
.login-shell { display:grid; min-height:100vh; place-items:center; padding:24px; background:radial-gradient(circle at 10% 10%,#1e3a5f 0,transparent 33%),var(--bg); } .login-card { width:min(100%,440px); padding:32px; border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 24px 80px rgba(0,0,0,.25); } .login-card .muted { color:var(--muted); line-height:1.5; } .login-card form { display:grid; gap:15px; margin-top:22px; } .form-error { color:#fecaca; background:rgba(220,38,38,.14); padding:10px 12px; border-radius:8px; }
@media (max-width:760px) { .topbar,.app-shell { padding-left:16px; padding-right:16px; } .status-card,.form-heading { align-items:stretch; flex-direction:column; } .status-card dl { min-width:0; } .route-grid { grid-template-columns:1fr; } .routing-form { padding:16px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
