:root{color-scheme:light;--ink:#283e2d;--muted:#87967b;--line:#dfe7d5;--accent:#315d3e}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:36px 20px;background:radial-gradient(ellipse at 15% 12%,#e3ebd7,transparent 42%),radial-gradient(ellipse at 95% 95%,#e8eddf,transparent 42%),#f6f7f2;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;top:-260px;right:-240px;width:650px;height:650px;border:1px solid #aebf9726;border-radius:50%;box-shadow:0 0 0 60px #b6c5a50a,0 0 0 120px #b6c5a508;pointer-events:none}
.box{position:relative;width:min(100%,430px);padding:39px 38px 25px;background:#fffefa;border:1px solid #e0e7d7;border-radius:25px;box-shadow:0 22px 70px #354e2910,0 2px 7px #354e2905}
.mark{display:grid;place-items:center;width:54px;height:54px;margin-bottom:23px;border-radius:17px;background:linear-gradient(135deg,#20452f,#456c48);color:#edf4dd;font-size:32px;font-weight:600;letter-spacing:-1px;box-shadow:inset 0 1px #ffffff29,0 6px 15px #31552d12}
.eyebrow{font-size:10px;letter-spacing:2px;color:#7c9369;margin-bottom:12px;font-weight:600;text-transform:uppercase}
.brand{font-size:31px;font-weight:600;letter-spacing:-1px;line-height:1.3;color:#2c412e}
.sub{font-size:12px;color:var(--muted);margin:11px 0 29px;line-height:1.8}
.field{margin-top:19px}
.field label{display:block;font-size:12px;color:#607451;margin-bottom:9px;font-weight:500}
input{width:100%;min-height:51px;padding:14px 15px;border:1px solid var(--line);background:#f8faf4;border-radius:11px;font:inherit;font-size:16px;color:#31452f;outline:none;transition:border-color .18s,box-shadow .18s}
input:focus{border-color:#799860;box-shadow:0 0 0 3px #a3bc7e1a;background:#fffefa}
input::placeholder{color:#a6b199;font-size:12px}
input:-webkit-autofill{-webkit-text-fill-color:#31452f;-webkit-box-shadow:0 0 0 100px #f8faf4 inset}
button{width:100%;min-height:50px;margin-top:27px;padding:14px 18px;background:linear-gradient(110deg,#254d34,#426947);border:1px solid #31593b;border-radius:11px;color:#f2f6e9;font:inherit;font-size:13px;font-weight:500;letter-spacing:.4px;cursor:pointer;box-shadow:0 5px 14px #31552d12;transition:filter .18s,box-shadow .18s}
button:hover{filter:brightness(1.08);box-shadow:0 7px 18px #31552d1b}
button:focus-visible{outline:2px solid #7d9a62;outline-offset:4px}
button:disabled{opacity:.65;cursor:wait;box-shadow:none}
.err{min-height:18px;color:#b26350;font-size:12px;margin-top:13px;line-height:1.6;overflow-wrap:anywhere}
.secure{text-align:center;margin-top:14px;border-top:1px solid #e8edde;padding-top:20px;color:#a0ad92;font-size:10px;letter-spacing:.6px;line-height:1.6}
@media(max-width:480px){body{padding:max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.box{padding:30px 26px 23px;border-radius:22px}.brand{font-size:29px}.mark{width:50px;height:50px;margin-bottom:22px}.sub{margin-bottom:25px}}
@media(max-width:360px){.box{padding-inline:22px}.eyebrow{font-size:9px;letter-spacing:1.6px}.brand{font-size:27px}}
@media(max-height:650px) and (min-width:481px){body{padding-block:20px}.box{padding-top:27px}.mark{margin-bottom:16px}.sub{margin-bottom:20px}.field{margin-top:14px}}
@media(prefers-reduced-motion:reduce){input,button{transition:none}}
