:root { color-scheme: light dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; background: #f4f7f3; color: #11201d; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; background: radial-gradient(circle at 70% 10%, #dcece6, transparent 38%), #f4f7f3; }
.auth-shell { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom)); }
.auth-card { width: min(100%, 430px); padding: 36px; border-radius: 32px; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(16, 52, 46, .13); }
.eyebrow { margin: 24px 0 8px; color: #1d6a5d; font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(2.25rem, 9vw, 3.5rem); line-height: .98; letter-spacing: -.055em; }
p { color: #66736f; line-height: 1.55; }
form { margin-top: 28px; }
label { display: block; margin-bottom: 8px; font-weight: 750; }
input, button { width: 100%; min-height: 52px; border-radius: 16px; font: inherit; }
input { margin-bottom: 12px; border: 1px solid #cad7d2; padding: 0 16px; background: #fff; color: #11201d; }
button { border: 0; padding: 0 18px; background: #175a4f; color: white; font-weight: 800; cursor: pointer; }
button:disabled { opacity: .58; cursor: wait; }
.error { color: #9a2f2f; font-weight: 650; }
.fine-print { margin: 24px 0 0; font-size: .86rem; }
[hidden] { display: none !important; }
@media (prefers-color-scheme: dark) { :root { background: #0e1715; color: #edf7f3; } body { background: radial-gradient(circle at 70% 10%, #173b34, transparent 38%), #0e1715; } .auth-card { background: #15231f; } input { background: #0e1715; color: #edf7f3; border-color: #39534b; } p { color: #aebdb8; } }
