:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#14243a;background:#f3f6f8}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(80,135,70,.1),transparent 35%),linear-gradient(135deg,#f7f9fa,#edf2f5)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(420px,1fr);align-items:stretch}
.auth-brand{background:#17375f;color:#fff;display:grid;place-items:center;align-content:center;gap:18px;padding:40px}
.auth-brand img{width:min(340px,78%);background:#fff;border-radius:18px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.auth-brand p{font-size:.72rem;letter-spacing:.2em;color:rgba(255,255,255,.72)}
.auth-card{align-self:center;justify-self:center;width:min(520px,88%);background:#fff;border:1px solid #dfe6eb;border-radius:20px;padding:28px;box-shadow:0 22px 70px rgba(21,48,76,.11)}
.setup-card{width:min(690px,90%)}.auth-eyebrow{font-size:.64rem;font-weight:800;letter-spacing:.08em;color:#558549}
h1{font-size:2rem;margin:8px 0 7px}h2{font-size:1rem}.auth-subtitle{color:#677485;line-height:1.55;font-size:.85rem;margin-bottom:22px}
form,#setup-step-1{display:grid;gap:12px}label{display:grid;gap:6px;font-size:.72rem;color:#586676;font-weight:650}
input{border:1px solid #d7e0e6;border-radius:10px;padding:12px 13px;font:inherit;font-size:.9rem;background:#fafcfd;color:#14243a}
input:focus{outline:2px solid rgba(78,133,65,.18);border-color:#6f9d63}
button,.button-link{border:0;border-radius:10px;padding:12px 14px;background:#548348;color:#fff;font:inherit;font-weight:800;cursor:pointer;text-align:center;text-decoration:none}
button:hover,.button-link:hover{background:#466f3c}.auth-message{min-height:21px;margin-top:13px;font-size:.75rem;color:#963d3d}
.auth-security-note,.password-guidance{font-size:.66rem;color:#718091;line-height:1.5;margin-top:14px}
.mfa-grid{display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:center;margin:12px 0 18px}
.mfa-qr{width:210px;height:210px;border:1px solid #dae3e8;border-radius:12px;padding:8px;background:#fff}.mfa-copy p{font-size:.75rem;color:#687686;line-height:1.5}
.mfa-copy code{display:block;word-break:break-all;background:#f2f5f6;border-radius:8px;padding:9px;font-size:.7rem}
.success-shield{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e5f3e1;color:#4b8240;font-size:1.5rem;font-weight:900}
#recovery-codes{background:#152d4b;color:#fff;border-radius:11px;padding:16px;line-height:1.8;user-select:all}.recovery-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:210px;padding:24px}.auth-brand img{width:min(260px,70%)}.auth-brand p{display:none}.mfa-grid{grid-template-columns:1fr;justify-items:center}.mfa-copy{text-align:center}}
