:root{--bg:#080807;--panel:#11100e;--line:#302b25;--text:#f5f2ec;--muted:#aaa39a;--accent:#b58a5e;--danger:#fb7185;--ok:#52d7a0}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 70% -15%,#25170e 0,#0e0c0a 34%,var(--bg) 66%);color:var(--text);font:18px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-card{width:min(560px,100%);border:1px solid var(--line);border-radius:22px;background:rgba(16,15,13,.96);box-shadow:0 28px 100px rgba(0,0,0,.46);padding:34px}.brand-mark{width:58px;height:58px;border:1px solid #4c3c2d;border-radius:50%;display:grid;place-items:center;background:#17120e;color:#d5b28d;font-weight:800;letter-spacing:.08em}.brand-copy{margin-top:14px}.brand-copy strong{display:block;font-size:20px;letter-spacing:.12em}.brand-copy span{display:block;color:var(--muted);font-size:13px;letter-spacing:.15em;margin-top:2px}.divider{height:1px;background:var(--line);margin:24px 0 30px}.eyebrow{margin:0;color:#c49b72;font-size:13px;letter-spacing:.16em;font-weight:800}h1{font-size:34px;line-height:1.12;letter-spacing:-.035em;margin:8px 0 10px}.subtitle{color:var(--muted);margin:0 0 25px}form{display:grid;gap:18px}label{display:grid;gap:7px;font-weight:700;font-size:16px}label small,.optional{font-weight:400;color:#817b73;font-size:13px}input{width:100%;border:1px solid #3a342d;border-radius:12px;background:#0a0908;color:#fff;padding:14px 15px;font:18px/1.3 inherit;outline:none}input:focus{border-color:#8a6949;box-shadow:0 0 0 3px rgba(181,138,94,.12)}button{font:700 17px/1.2 inherit;cursor:pointer;border-radius:12px;padding:14px 16px}.primary{border:0;background:linear-gradient(135deg,#e2ddd4,#a69a8c);color:#17120d}.secondary{width:100%;margin-top:12px;border:1px solid #3a342d;background:transparent;color:#c9c3ba}.notice{border:1px solid #5b462f;background:#1c140d;color:#e4c49f;border-radius:12px;padding:13px 15px;margin-bottom:20px}.notice.error{border-color:#63313c;background:#1e0e12;color:#ffb2be}.notice.ok{border-color:#245b46;background:#0d1d16;color:#9ff0c9}.loading{display:flex;align-items:center;gap:10px;color:var(--muted)}.loading span{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent);animation:pulse 1.2s infinite}.enroll-box{border:1px solid var(--line);border-radius:16px;padding:18px;background:#0c0b0a;margin-bottom:20px}.enroll-box p{margin:4px 0 15px}.qr-wrap{display:grid;place-items:center;background:#fff;border-radius:14px;padding:14px;width:min(290px,100%);margin:12px auto}.qr-wrap img{display:block;max-width:100%;height:auto}.enroll-box details{margin:14px 0}.enroll-box summary{cursor:pointer;color:#d7c6b4}.enroll-box code{display:block;overflow-wrap:anywhere;background:#080807;border:1px solid #302b25;border-radius:9px;padding:11px;color:#f1d1ac;font-size:15px}.code-input{text-align:center;font-size:30px;letter-spacing:.28em;font-weight:800}.code-input::placeholder{letter-spacing:.28em;color:#5e5953}footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:#716c65;font-size:12px;letter-spacing:.13em;text-align:center}@keyframes pulse{50%{opacity:.45}}@media(max-width:620px){body{font-size:17px}.auth-shell{padding:14px}.auth-card{padding:24px 20px;border-radius:18px}h1{font-size:29px}.code-input{font-size:26px}}
