*{box-sizing:border-box}html{min-height:100%;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}body{min-height:100vh;margin:0;display:flex;flex-direction:column;color:#101828;background:#003e94}.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 48px;background:#fff;border-bottom:1px solid #d5d7da}.auth-topbar__brand{display:inline-flex;text-decoration:none}.auth-topbar__brand img{height:48px;width:auto;display:block}a{color:inherit}button,input{font:inherit;letter-spacing:0}.auth-shell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;padding:64px 24px;background:#003e94}.auth-brand{width:min(640px,100%);margin-inline:auto;padding-inline:20px;text-align:center}.brand-lockup{display:inline-block;text-decoration:none}.brand-logo{width:min(380px,100%);height:auto;display:block;margin-inline:auto}.brand-tagline{margin:18px auto 0;color:#fff;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;line-height:1.4;overflow-wrap:break-word;text-wrap:balance}.auth-card{width:min(640px,100%);margin-inline:auto;padding:clamp(32px,5vw,48px);background:#fff;border:1px solid #d5d7da;border-radius:8px;box-shadow:0 24px 80px rgba(16,24,40,.12)}.auth-card__header{margin-bottom:28px}.eyebrow{margin:0 0 10px;color:#0047ab;font-size:.78rem;font-weight:700;text-transform:uppercase}h1{margin:0;color:#101828;font-size:clamp(2rem,4vw,3.15rem);font-weight:600;line-height:1.05}.copy{margin:0 0 24px;color:#535862;line-height:1.6}.form-stack{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px;color:#101828;font-size:.92rem;font-weight:650}.field input:not([type=checkbox]){width:100%;min-height:48px;padding:12px 14px;color:#101828;background:#fff;border:1px solid #d5d7da;border-radius:8px;outline:0;transition:border-color 160ms,box-shadow 160ms}.field input:not([type=checkbox]):focus{border-color:#0047ab;box-shadow:0 0 0 4px rgba(0,71,171,.12)}.field small{color:#b51222;font-weight:600;line-height:1.35}.check-field{display:flex;align-items:center;gap:10px;color:#535862;font-size:.93rem}.check-field input{width:18px;height:18px;accent-color:#0047ab}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:1px solid transparent;border-radius:8px;cursor:pointer;text-decoration:none;font-weight:750;line-height:1.2}.button--primary{color:#fff;background:#0047ab;box-shadow:0 16px 32px rgba(0,71,171,.2)}.button--primary:hover{background:#00245c}.button--ghost{width:100%;margin-top:14px;color:#101828;background:#fff;border-color:#d5d7da}.button--ghost:hover{border-color:#0081f0}.auth-switch{margin:22px 0 0;color:#535862;line-height:1.5}.auth-switch a{color:#0047ab;font-weight:750;text-decoration:none}.status{margin-bottom:22px;padding:12px 14px;border-radius:8px;font-weight:700}.status--success{color:#177e30;background:#f0fdf2;border:1px solid #dbfae2}.key-summary{display:grid;gap:12px;margin-bottom:18px}.key-box,.key-summary div{padding:14px;background:#ebf7ff;border:1px solid #d5d7da;border-radius:8px}.key-box span,.key-summary span{display:block;margin-bottom:7px;color:#535862;font-size:.78rem;font-weight:800;text-transform:uppercase}.key-summary strong{overflow-wrap:anywhere;font-size:.93rem}.key-box{margin-bottom:20px}.key-box code{display:block;overflow-wrap:anywhere;color:#101828;font-family:SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:.91rem;line-height:1.6}.qr-panel{width:min(260px,100%);margin:0 auto 22px;padding:12px;background:#fff;border:1px solid #d5d7da;border-radius:8px}.qr-code{width:100%;height:auto;display:block}.action-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.action-row form{margin:0}.action-row .button--ghost{width:auto;margin:0}@media (max-width:900px){.auth-shell{gap:32px;padding:48px 20px}.brand-logo{width:min(220px,65vw)}.auth-topbar{padding:14px 24px}}@media (max-width:620px){.auth-shell{gap:32px;padding:32px 0 0}.auth-brand{padding-inline:24px}.auth-topbar{padding:14px 16px}.auth-card{flex-grow:1;min-height:auto;padding:36px 24px 48px;border-right:0;border-left:0;border-radius:0;box-shadow:none}.action-row,.form-grid{grid-template-columns:1fr}.action-row .button--ghost{width:100%}}.wizard-steps{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;counter-reset:step}.wizard-step{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d5d7da;border-radius:10px;color:#535862;font-size:13px;font-weight:600;background:#fff}.wizard-step__index{width:24px;height:24px;border-radius:50%;border:1px solid #d5d7da;display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:#ebf7ff}.wizard-step--active{border-color:#0047ab;color:#00245c;background:#d1ecff}.wizard-step--active .wizard-step__index{background:#0047ab;color:#fff;border-color:#0047ab}.wizard-step--done{border-color:#177e30;color:#177e30}.wizard-step--done .wizard-step__index{background:#177e30;color:#fff;border-color:#177e30}.totp-setup{display:grid;grid-template-columns:240px 1fr;gap:24px;margin:16px 0 24px;align-items:center}.totp-setup__qr svg{width:240px;height:240px;display:block;border:1px solid #d5d7da;border-radius:10px;background:#fff}.totp-setup__manual{display:flex;flex-direction:column;gap:8px}.totp-secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:1px;padding:10px 12px;border:1px dashed #d5d7da;border-radius:8px;background:#ebf7ff;word-break:break-all}.copy--small{font-size:12px;color:#535862}.recovery-codes{list-style:none;margin:16px 0 24px;padding:16px;border:1px solid #d5d7da;border-radius:10px;background:#ebf7ff;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px}.recovery-codes code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:1.5px}.action-row--split{grid-template-columns:auto 1fr;justify-content:space-between}.status--error{background:#fef6f6;color:#b51222;border:1px solid #faaeb5;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}@media (max-width:720px){.recovery-codes,.totp-setup,.wizard-steps{grid-template-columns:1fr}}