* { box-sizing: border-box; }
:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #16261f; background: #f5f1e8; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 20% 10%, #ffffff 0, #f7f4ed 36%, #eee7da 100%); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%, 420px); background: rgba(255,255,255,.94); border: 1px solid #ded7ca; border-radius: 22px; padding: 36px; box-shadow: 0 22px 60px rgba(31,54,43,.12); }
.brand-mark { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: #173e2c; color: white; font-weight: 800; letter-spacing: .05em; margin-bottom: 22px; }
.eyebrow { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: #6e766f; }
h1 { margin: 0; font-size: 32px; letter-spacing: -.035em; }
.subtitle { margin: 9px 0 28px; color: #667068; }
form { display: grid; gap: 17px; }
label { display: grid; gap: 7px; font-weight: 700; font-size: 13px; }
input { width: 100%; border: 1px solid #cfc8ba; border-radius: 11px; padding: 13px 14px; font: inherit; background: #fff; outline: none; }
input:focus { border-color: #245f44; box-shadow: 0 0 0 3px rgba(36,95,68,.12); }
button { border: 0; border-radius: 11px; padding: 13px 16px; font: inherit; font-weight: 800; color: #fff; background: #173e2c; cursor: pointer; }
button:hover { background: #205238; }
button:disabled { opacity: .65; cursor: wait; }
.message { min-height: 20px; font-size: 13px; color: #a32b2b; }
.security-note { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid #ece6dc; color: #7b817c; font-size: 12px; line-height: 1.55; }
@media (max-width: 520px) { .login-card { padding: 28px 22px; border-radius: 18px; } }
