:root{--bg:#eef5ea;--bg2:#dcecd2;--card:#fff;--fg:#0f2f2b;--mute:#5b6f6b;--brand:#0c4844;--brand-dk:#08332f;--lime:#9ad259;--lime-tint:#eef7e4;--err:#b42318;--err-bg:#fef3f2;--line:#d5e2dc}
@media (prefers-color-scheme:dark){:root{--bg:#062824;--bg2:#0c4844;--line:#c9d8d2}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:16px;color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:radial-gradient(1200px 600px at 50% -10%,var(--bg2),var(--bg))}
.card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px 32px 32px;width:100%;max-width:420px;box-shadow:0 20px 50px -20px rgba(8,51,47,.35)}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--brand) 0 55%,var(--lime) 55% 100%)}
.logo{display:block;width:180px;height:auto;margin:0 auto 22px}
.tag{display:table;margin:0 auto 18px;padding:4px 10px;border-radius:999px;background:var(--lime-tint);color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
h1{font-size:21px;margin:0 0 6px;text-align:center;color:var(--brand)}
p{color:var(--mute);margin:0 0 24px;font-size:14px;text-align:center}
label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--fg)}
input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfdfb;color:var(--fg);font-size:16px;transition:border-color .15s,box-shadow .15s}
input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(154,210,89,.45)}
input.code{letter-spacing:10px;text-align:center;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
button{margin-top:18px;width:100%;padding:12px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}
button:hover{background:var(--brand-dk)}button:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(154,210,89,.6)}
.err{color:var(--err);background:var(--err-bg);border-radius:8px;padding:10px 12px;font-size:14px;margin:0 0 16px}
.small{font-size:13px;margin-top:18px;text-align:center}.small a{color:var(--brand);font-weight:600;text-decoration-color:var(--lime);text-underline-offset:3px}
.foot{margin-top:24px;text-align:center;font-size:12px;color:var(--mute)}
.denied-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--err-bg);color:var(--err)}
.who{color:var(--fg);word-break:break-all}
.btn{display:block;margin-top:8px;padding:12px;border-radius:10px;background:var(--brand);color:#fff;text-align:center;font-size:15px;font-weight:600;text-decoration:none}.btn:hover{background:var(--brand-dk)}