.auth-shell .auth-card{width:100%;max-width:440px}.auth-shell .card{background:var(--color-surface-card);border:1px solid var(--color-border);border-radius:20px;padding:30px 26px;box-shadow:var(--shadow-card),0 0 0 1px var(--color-border)}.auth-shell .card-header-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}.auth-shell .card-avatar{width:48px;height:48px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-teal-glow);border:1px solid var(--color-border-active)}.auth-shell .card-heading{font-family:var(--font-display,inherit);font-size:1.45rem;font-weight:800;letter-spacing:-.025em;color:var(--color-text);margin-bottom:3px}.auth-shell .card-sub{font-size:13px;color:var(--color-text-2);font-weight:500;line-height:1.5}.auth-shell .form-group{margin-bottom:16px}.auth-shell .form-label{display:block;font-size:11.5px;font-weight:700;color:var(--color-text);margin-bottom:7px;letter-spacing:.05em;text-transform:uppercase}.auth-shell .form-input{width:100%;min-height:48px;background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:11px;padding:13px 15px;color:var(--color-text);font-family:inherit;font-size:16px;font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s}.auth-shell .form-input:focus{border-color:var(--color-border-active);box-shadow:0 0 0 3px var(--color-teal-glow)}.auth-shell .form-input::-moz-placeholder{color:var(--color-text-3);font-weight:400}.auth-shell .form-input::placeholder{color:var(--color-text-3);font-weight:400}.auth-shell .form-input:disabled{opacity:.55}.auth-shell .pw-wrap{position:relative}.auth-shell .pw-wrap .form-input{padding-right:44px}.auth-shell .pw-toggle{position:absolute;right:13px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-3);padding:0;line-height:0;transition:color .2s}.auth-shell .pw-toggle:hover{color:var(--color-teal)}.auth-shell .forgot-row{text-align:right;margin-top:9px}.auth-shell .forgot-btn{background:none;border:none;color:var(--color-blue);font-weight:600;cursor:pointer;font-family:inherit;font-size:12.5px;padding:0;transition:color .15s}.auth-shell .forgot-btn:hover{color:var(--color-cyan)}.auth-shell .btn-cta{width:100%;min-height:50px;margin-top:16px;background:var(--color-teal);color:#fff;border:none;border-radius:11px;padding:14px 16px;font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 6px 18px -6px var(--color-teal-glow);transition:transform .2s,box-shadow .2s}.auth-shell .btn-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px -8px var(--color-teal-glow-strong)}.auth-shell .btn-cta:active:not(:disabled){transform:translateY(0)}.auth-shell .btn-cta:disabled{opacity:.4;cursor:not-allowed}.auth-shell .btn-sec{width:100%;min-height:48px;margin-top:10px;background:transparent;border:1px solid var(--color-border-active);border-radius:11px;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:600;color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .2s,background .2s}.auth-shell .btn-sec:hover{border-color:var(--color-border-active);background:var(--color-teal-glow)}.auth-shell .btn-ghost{background:none;border:none;color:var(--color-blue);font-weight:600;cursor:pointer;font-family:inherit;font-size:13px;padding:0;transition:color .15s}.auth-shell .btn-ghost:hover{color:var(--color-cyan)}.auth-shell .divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--color-text-3);font-size:12px;font-weight:500}.auth-shell .divider:after,.auth-shell .divider:before{content:"";flex:1;height:1px;background:var(--color-border)}.auth-shell .aux-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--color-text-2)}.auth-shell .alert{border-radius:11px;padding:11px 13px;font-size:12.5px;font-weight:500;margin-bottom:15px;line-height:1.5;display:flex;align-items:flex-start;gap:8px}.auth-shell .alert-error{background:var(--color-error-surface);border:1px solid var(--color-error-border);color:#fca5a5}.auth-shell .alert-warn{background:var(--color-warning-surface);border:1px solid var(--color-warning-border);color:#fed7aa}.auth-shell .alert-success{background:var(--color-success-surface);border:1px solid var(--color-success-border);color:#7ee0b8}.auth-shell .spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-teal-glow);border-top-color:var(--color-teal);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.auth-shell .success-icon{width:60px;height:60px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;background:var(--color-teal-glow);border:1px solid var(--color-border-active)}.auth-shell .aux-center{text-align:center;margin-top:16px}.auth-shell .info-box{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;padding:11px 13px;border-radius:11px;font-size:12.5px;line-height:1.5;font-weight:500;color:var(--color-text-2);background:var(--color-teal-glow);border:1px solid var(--color-border-active)}.auth-shell .field-error{font-size:11.5px;color:#fca5a5;font-weight:600;margin-top:4px}.auth-shell .otp-row{display:flex;gap:8px;justify-content:center;margin:18px 0}.auth-shell .otp-box{width:46px;height:54px;text-align:center;font-family:var(--font-mono,monospace);font-size:22px;font-weight:700;color:var(--color-text);background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:11px;outline:none;transition:border-color .2s,box-shadow .2s}.auth-shell .otp-box:focus{border-color:var(--color-border-active);box-shadow:0 0 0 3px var(--color-teal-glow)}.auth-shell .otp-box.ok{border-color:var(--color-teal);background:var(--color-teal-glow)}.auth-shell .otp-box.bad{border-color:var(--color-error-border);box-shadow:0 0 0 3px var(--color-error-surface)}.auth-shell .otp-box:disabled{opacity:.6}.auth-shell .pw-track{height:4px;border-radius:2px;background:hsla(0,0%,100%,.06);margin-top:7px;overflow:hidden}.auth-shell .pw-fill{height:100%;border-radius:2px;transition:width .35s cubic-bezier(.23,1,.32,1),background .35s}.auth-shell .pw-label{font-size:11px;font-weight:700;margin-top:4px}.auth-shell .form-input.err{border-color:var(--color-error-border);box-shadow:0 0 0 3px var(--color-error-surface)}.auth-shell .steps-list{display:flex;flex-direction:column;gap:10px;margin:0 0 20px;text-align:left}.auth-shell .step-item{display:flex;align-items:center;gap:12px}.auth-shell .step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--color-teal);background:var(--color-teal-glow);border:1px solid var(--color-border-active)}.auth-shell .step-text{font-size:13px;color:var(--color-text-2);font-weight:500}.auth-shell .step-dots{display:flex;gap:5px;margin-bottom:16px}.auth-shell .step-dot{width:7px;height:7px;border-radius:50%;background:var(--color-text-3);transition:background .3s,box-shadow .3s}.auth-shell .step-dot.active{background:var(--color-teal);box-shadow:0 0 6px var(--color-teal-glow-strong)}.auth-shell .step-dot.done{background:var(--color-border-active)}.auth-shell .role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.auth-shell .role-card{text-align:left;font-family:inherit;cursor:pointer;padding:14px 12px;border-radius:14px;background:var(--color-surface-deep);border:1px solid var(--color-border);transition:border-color .2s,background .2s,box-shadow .2s}.auth-shell .role-card:hover{border-color:var(--color-border-hover);background:var(--color-navy-3)}.auth-shell .role-card.sel{border-color:var(--color-teal);background:var(--color-teal-glow);box-shadow:0 0 18px -2px var(--color-teal-glow)}.auth-shell .role-icon-box{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:16px}.auth-shell .role-name{font-size:13px;font-weight:700;color:var(--color-text);margin-bottom:3px}.auth-shell .role-desc{font-size:11px;color:var(--color-text-2);font-weight:500;line-height:1.45}.auth-shell .two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}