:root { --forest:#174d35; --green:#206447; --pale:#e9f4ed; --ink:#17221d; --muted:#66736c; --line:#dce5df; font-family:"Inter",system-ui,sans-serif; }
*{box-sizing:border-box} body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 10%,#dceee2,transparent 30%),#f3f6f4}
button,input{font:inherit}.reset-shell{min-height:100vh;padding:28px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand img{width:48px;height:48px;object-fit:contain}.brand span,.brand b{display:block}.brand span{color:var(--muted);font-size:10px}.brand b{margin-bottom:3px;color:var(--forest);font-size:14px}
.reset-card{width:min(100%,480px);margin:auto;padding:38px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 55px rgba(23,77,53,.12)}
.shield{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--green);background:var(--pale);font-weight:800}.eyebrow{margin:22px 0 6px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
h1{margin:0;font-size:30px;letter-spacing:-.04em}.intro{margin:10px 0 27px;color:var(--muted);font-size:13px;line-height:1.6}label{display:block;margin:0 0 17px}
label span{display:block;margin-bottom:7px;font-size:12px;font-weight:650}input{width:100%;height:49px;padding:0 13px;border:1px solid var(--line);border-radius:11px;outline:none}
input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(32,100,71,.1)}.otp{text-align:center;font-size:20px;font-weight:700;letter-spacing:.3em}
.primary{width:100%;height:51px;border:0;border-radius:11px;color:#fff;background:var(--forest);font-weight:700;cursor:pointer}.primary:disabled{opacity:.6}
.back{margin:0 0 20px;padding:0;border:0;color:var(--green);background:none;font-weight:650;cursor:pointer}.channel-note{margin-bottom:20px;padding:11px 13px;border-radius:10px;color:var(--green);background:var(--pale);font-size:11px}
.message{display:none;margin:0 0 13px;padding:10px;border-radius:9px;font-size:11px}.message.error{display:block;color:#a92620;background:#fff0ef}.message.success{display:block;color:var(--green);background:var(--pale)}
.login-link{display:block;margin-top:18px;color:var(--green);font-size:12px;font-weight:650;text-align:center;text-decoration:none}footer{color:#87928c;font-size:9px;text-align:center}
[hidden]{display:none!important}@media(max-width:520px){.reset-shell{padding:18px}.reset-card{padding:25px;margin:45px auto}.brand{margin-bottom:0}}
