:root { color-scheme: dark; font-family: "IBM Plex Sans", system-ui, sans-serif; }
* { box-sizing: border-box; }
body { min-height: 100vh; min-height: 100dvh; margin: 0; display: grid; place-items: center; padding: 24px; color: #f5f7fa; background: radial-gradient(circle at 50% 0%, #18372e, #0d1218 55%); }
.login-card { width: min(100%, 420px); padding: clamp(28px, 6vw, 40px); background: #131a22; border: 1px solid #2f3f52; border-radius: 20px; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.brand-mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: #07120d; background: #36d399; font-size: 28px; }
.eyebrow { margin: 24px 0 8px; color: #36d399; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
h1 { margin: 0; font-size: 28px; letter-spacing: -.03em; }
.intro { margin: 10px 0 28px; color: #a7b4c2; line-height: 1.5; }
form { display: grid; gap: 10px; }
label { font-size: 14px; font-weight: 600; }
input { width: 100%; min-height: 44px; margin-bottom: 10px; padding: 10px 12px; color: #f5f7fa; background: #0d1218; border: 1px solid #2f3f52; border-radius: 9px; font: inherit; }
input:focus-visible, button:focus-visible { outline: 2px solid #36d399; outline-offset: 2px; }
button { min-height: 44px; margin-top: 6px; border: 0; border-radius: 9px; color: #07120d; background: #36d399; font: inherit; font-weight: 700; cursor: pointer; }
button:hover { background: #4ae0a8; }
button:disabled { opacity: .65; cursor: wait; }
.error { margin: 0; color: #ff8d8d; font-size: 14px; }
.session-note { margin: 24px 0 0; color: #7d8b9a; font-size: 13px; line-height: 1.5; }
