:root{--ink:#15233b;--muted:#788397;--line:#e7ebf1;--bg:#f5f7fa;--accent:#00843a;--red:#dc4f5e}
*{box-sizing:border-box}
body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#e6f2ea,var(--bg))}
.login-card{width:100%;max-width:390px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:0 18px 50px rgba(21,35,59,.10);display:flex;flex-direction:column}
.login-brand{margin:0 auto 24px;width:100%;max-width:280px}
.login-brand img{display:block;width:100%;height:auto}
.login-brand small{display:block;text-align:center;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}
h1{margin:0;font-size:20px}
.lede{margin:7px 0 22px;color:var(--muted);font-size:13px}
label{display:block;font-size:12px;font-weight:600;margin-bottom:14px}
input{display:block;width:100%;margin-top:6px;border:1px solid #dfe4eb;border-radius:8px;padding:11px;color:#354158;background:#fff;font:14px inherit}
input:focus{outline:2px solid rgba(0,132,58,.35);outline-offset:1px;border-color:var(--accent)}
.primary{border-radius:8px;padding:12px 15px;font:600 14px inherit;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 10px rgba(0,132,58,.2);margin-top:4px}
.primary[disabled]{opacity:.6;cursor:progress}
.error{margin:0 0 14px;background:#fde8ea;border:1px solid #f6ccd1;color:#a7323f;border-radius:8px;padding:10px 12px;font-size:12.5px}
.foot{margin-top:18px;color:var(--muted);font-size:11.5px;text-align:center}
