:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; color: #f8fafc; background: #020617; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 20% 10%, rgba(37, 99, 235, .25), transparent 34%), radial-gradient(circle at 90% 85%, rgba(124, 58, 237, .18), transparent 30%); }
.login-page { position: relative; display: grid; min-height: 100vh; place-items: center; padding: 24px; }
.login-card { width: min(100%, 430px); padding: 34px; border: 1px solid rgba(148, 163, 184, .2); border-radius: 24px; background: rgba(15, 23, 42, .88); box-shadow: 0 28px 80px rgba(0, 0, 0, .42); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 20px; font-weight: 800; text-decoration: none; }
.brand img { width: 48px; height: 48px; object-fit: contain; border-radius: 12px; background: #fff; padding: 5px; }
.intro { margin: 30px 0 24px; }
.eyebrow { margin: 0 0 7px; color: #60a5fa !important; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
h1 { margin: 0; font-size: 32px; letter-spacing: -.03em; }
.intro p { margin: 9px 0 0; color: #94a3b8; line-height: 1.6; }
form { display: grid; gap: 10px; }
label { margin-top: 8px; color: #cbd5e1; font-size: 14px; font-weight: 700; }
input { width: 100%; border: 1px solid #334155; border-radius: 12px; outline: none; padding: 13px 14px; color: #fff; background: #0f172a; font: inherit; transition: border-color .2s, box-shadow .2s; }
input:focus { border-color: #3b82f6; box-shadow: 0 0 0 4px rgba(59, 130, 246, .14); }
button { margin-top: 12px; border: 0; border-radius: 12px; padding: 14px; color: #fff; background: linear-gradient(135deg, #2563eb, #7c3aed); font: inherit; font-weight: 800; cursor: pointer; }
button:disabled { cursor: wait; opacity: .68; }
.error { min-height: 20px; margin: 4px 0 -5px; color: #fca5a5; font-size: 13px; }
.back-link { display: inline-block; margin-top: 24px; color: #94a3b8; font-size: 14px; text-decoration: none; }
.back-link:hover { color: #fff; }
@media (max-width: 520px) { .login-page { padding: 14px; } .login-card { padding: 25px 20px; border-radius: 18px; } }
