:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17212b;background:#f5f7f6;font-size:16px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,#d9f2e8 0,#f5f7f6 36%,#eef2f0 100%);display:grid;place-items:center;padding:24px}
.auth-shell{width:min(760px,100%)}.auth-card{background:#fff;border:1px solid #dce6e1;border-radius:24px;padding:clamp(24px,5vw,48px);box-shadow:0 24px 70px #13332816}
.brand{display:flex;align-items:center;gap:12px;color:#173d32;font-weight:800;letter-spacing:.08em}.brand-mark{width:42px;height:42px;border-radius:13px;background:#173d32;color:#c8f169;display:grid;place-items:center;font-size:22px}.brand small{display:block;font-size:11px;letter-spacing:.02em;color:#708078;margin-top:3px}
h1{font-size:clamp(27px,5vw,42px);line-height:1.05;margin:34px 0 10px;color:#173d32}p{color:#67756d;line-height:1.55;margin:0 0 24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}label{display:grid;gap:7px;color:#33443c;font-size:13px;font-weight:700}input{width:100%;border:1px solid #ccd8d2;border-radius:11px;padding:12px 13px;font:inherit;color:#17212b;background:#fbfcfc}input:focus{outline:3px solid #c8f16966;border-color:#739e67}button{border:0;border-radius:11px;padding:13px 18px;background:#173d32;color:#fff;font:inherit;font-weight:700;cursor:pointer}button:hover{background:#245846}button:disabled{opacity:.65;cursor:wait}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.muted{font-size:13px;color:#708078}.muted a{color:#245846;font-weight:700}.message{min-height:24px;margin:16px 0 0;color:#a13d32;font-weight:600}.message.ok{color:#236b4e}.step{border-top:1px solid #e5ece8;margin-top:26px;padding-top:22px}.step h2{font-size:17px;color:#245846;margin:0 0 15px}.hint{background:#f1f7f2;border-radius:12px;padding:13px 15px;font-size:13px;color:#53655c;margin-bottom:18px}.danger{color:#a13d32}.success{display:none}.success.visible{display:block}
@media(max-width:600px){.grid{grid-template-columns:1fr}.wide{grid-column:auto}.form-actions{align-items:stretch;flex-direction:column}.form-actions button{width:100%}}
