
:root{--bg:#f5f5f7;--card:#fff;--text:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--accent:#111;--danger:#b3261e;--ok:#176b45}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--text);background:radial-gradient(circle at 50% 0,#fff 0,#f5f5f7 48%,#ececf0 100%);display:grid;place-items:center;padding:24px}
.auth{width:min(430px,100%);background:rgba(255,255,255,.94);border:1px solid rgba(210,210,215,.9);border-radius:26px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.09);backdrop-filter:blur(20px)}
.lock{width:54px;height:54px;border-radius:17px;background:#111;color:#fff;display:grid;place-items:center;margin-bottom:24px}.lock svg{width:26px}
h1{font-size:1.72rem;letter-spacing:-.035em;margin:0 0 8px}p{color:var(--muted);line-height:1.55;margin:0 0 22px}.field{margin:15px 0}.field label{display:block;font-size:.78rem;font-weight:700;margin:0 0 7px;color:#424245}.field input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:13px;font:inherit;background:#fff;color:var(--text);outline:none}.field input:focus{border-color:#111;box-shadow:0 0 0 4px rgba(0,0,0,.07)}
button{width:100%;border:0;border-radius:13px;padding:14px 16px;font:inherit;font-weight:700;cursor:pointer}.primary{background:#111;color:#fff;margin-top:8px}.secondary{background:transparent;color:#424245;margin-top:10px}.secondary:hover{background:#f3f3f5}.msg{border-radius:12px;padding:12px 14px;margin:0 0 16px;font-size:.88rem;line-height:1.45}.error{background:#fff0ef;color:#7d1b16}.success{background:#edf9f3;color:#125437}.fine{font-size:.73rem;color:#86868b;margin-top:18px;text-align:center}

.reset-link{display:block;width:100%;border:0;border-radius:13px;padding:14px 16px;font:inherit;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;background:transparent;color:#424245;margin-top:10px}.reset-link:hover{background:#f3f3f5}.reset-link:focus-visible{outline:3px solid rgba(0,0,0,.18);outline-offset:3px}
