*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top,#e8f5ec,#f4f7f5 62%);font:15px/1.5 system-ui,sans-serif;color:#17251d}.login-card{width:min(100%,440px);background:#fff;padding:34px;border:1px solid #d8e3db;border-radius:22px;box-shadow:0 18px 55px #193b2715}.login-card>img{display:block;width:74px;height:74px;object-fit:contain;margin:0 auto 15px}.eyebrow{text-align:center;color:#176e43;font-size:11px;font-weight:850;letter-spacing:.13em}.login-card h1{text-align:center;margin:4px 0 8px;font-size:30px;color:#10442a}.sub{text-align:center;color:#65746a;margin:0 0 24px}.login-card label{display:block;font-size:13px;font-weight:750;margin:14px 0}.login-card input{display:block;width:100%;padding:12px;border:1px solid #cbd8cf;border-radius:9px;font:inherit;margin-top:6px}.login-card button{width:100%;border:0;border-radius:9px;padding:13px;background:#176e43;color:#fff;font:750 15px system-ui;cursor:pointer;margin-top:10px}.login-card a{display:block;text-align:center;margin-top:20px;color:#176e43;text-decoration:none}.reset-note{padding:12px;background:#fff7e8;border-radius:9px;color:#725820;font-size:13px}#message{min-height:22px;color:#9d3d2d;font-size:13px}
@media(max-width:520px){body{display:block;min-height:100svh;padding:max(12px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom));}.login-card{width:100%;max-width:440px;margin:clamp(10px,6vh,48px) auto 18px;padding:clamp(20px,6vw,30px);border-radius:17px}.login-card>img{width:64px;height:64px}.login-card h1{font-size:27px}.sub{font-size:14px;margin-bottom:20px}.login-card input{font-size:16px;padding:12px}.login-card button{min-height:46px}}
