:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #eef2ec; color: #17231d; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #d5e5db, transparent 48%), #eef2ec; }
.login-card { width: min(100%, 460px); padding: 38px; border: 1px solid #cad6ce; border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(26,54,38,.12); }
.back-link { color: #315c45; text-decoration: none; font-weight: 650; }
.eyebrow { margin: 34px 0 8px; color: #54725f; font-size: .78rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(2rem, 8vw, 3rem); letter-spacing: -.04em; }
.intro { color: #587064; line-height: 1.55; }
form { display: grid; gap: 18px; margin-top: 28px; }
label { display: grid; gap: 8px; font-weight: 700; }
input { width: 100%; padding: 13px 14px; border: 1px solid #aebfb4; border-radius: 10px; background: #fff; color: inherit; font: inherit; }
input:focus { outline: 3px solid rgba(42,117,77,.2); border-color: #2a754d; }
button { min-height: 48px; border: 0; border-radius: 10px; background: #225c3d; color: white; font: inherit; font-weight: 750; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
.message { min-height: 1.5em; margin: 0; color: #9b3028; }
@media (max-width: 520px) { .login-card { padding: 28px 22px; border-radius: 16px; } }
