.auth-page{min-height:100vh;background:#0F0F0F;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.auth-page:before{inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 0);background-size:32px 32px}.auth-page:after,.auth-page:before{content:"";position:absolute;pointer-events:none}.auth-page:after{top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:400px;background:radial-gradient(circle,rgba(232,80,10,.06) 0,transparent 70%)}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:36px;position:relative;z-index:1;text-decoration:none}.auth-logo-name{font-family:var(--font-serif);font-size:22px;color:#fff;letter-spacing:-.02em}.auth-logo-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:var(--signal);color:#fff;padding:3px 7px;border-radius:1px}.auth-card{width:100%;max-width:440px;background:var(--surface);position:relative;z-index:1;border:1px solid rgba(255,255,255,.08)}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--signal),var(--gold))}.auth-head{padding:32px 36px 24px;border-bottom:1px solid var(--border2)}.auth-eyebrow{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);margin-bottom:10px;display:flex;align-items:center;gap:7px}.auth-eyebrow:before{content:"";width:10px;height:1.5px;background:var(--signal)}.auth-h2{font-family:var(--font-serif);font-size:24px;color:var(--carbon);letter-spacing:-.025em;line-height:1.15;margin-bottom:6px}.auth-h2 i{font-style:italic;color:var(--signal)}.auth-sub{font-size:13px;color:var(--ash);line-height:1.55}.auth-body{padding:28px 36px}.auth-foot{padding:16px 36px;border-top:1px solid var(--border2);background:#FAFAF8}.auth-foot-row{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--ash)}.auth-form-group{margin-bottom:18px}.auth-form-group:last-of-type{margin-bottom:0}.auth-input{width:100%;padding:11px 14px;border:1px solid var(--border);background:var(--bg);font-family:var(--font-sans);font-size:14px;color:var(--carbon);outline:none;transition:border-color .15s,background .15s}.auth-input:focus{border-color:var(--carbon);background:#fff}.auth-row{justify-content:space-between;gap:12px}.auth-btn-primary,.auth-row{display:flex;align-items:center}.auth-btn-primary{width:100%;padding:13px 20px;background:var(--carbon);color:#fff;font-family:var(--font-sans);font-size:14px;font-weight:500;letter-spacing:-.01em;border:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s;justify-content:center;gap:8px}.auth-btn-primary:before{content:"";position:absolute;inset:0;background:var(--signal);transform:translateX(-101%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.auth-btn-primary:hover{transform:translateY(-1px)}.auth-btn-primary:hover:before{transform:translateX(0)}.auth-btn-primary span,.auth-btn-primary svg{position:relative;z-index:1}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-link{font-size:13px;color:var(--signal);cursor:pointer;text-decoration:none;transition:opacity .15s;background:none;border:none;font-family:inherit;padding:0}.auth-link:hover{opacity:.7}.auth-small-link{font-size:12px;color:var(--ash);cursor:pointer;background:none;border:none;font-family:inherit;padding:0;transition:color .12s;text-decoration:none}.auth-small-link:hover{color:var(--carbon)}.alert{padding:11px 14px;display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.5;margin-bottom:18px}.alert-error{background:var(--red-dim);border:1px solid rgba(220,38,38,.2);color:var(--red)}.alert-warning{background:var(--gold-dim);border:1px solid rgba(201,152,42,.2);color:var(--carbon)}.alert-success{background:var(--green-dim);border:1px solid rgba(22,163,74,.2);color:var(--green)}.alert-info{background:var(--blue-dim);border:1px solid rgba(59,130,246,.2);color:var(--blue)}.otp-wrap{display:flex;align-items:center;gap:6px;margin-bottom:18px;width:100%}.otp-input{width:48px;height:56px;flex:0 0 48px;border:1px solid var(--border);background:var(--bg);font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--carbon);text-align:center;outline:none;transition:border-color .15s,background .15s}.otp-input:focus{border-color:var(--carbon);background:#fff}.otp-input.filled{border-color:var(--smoke)}.mfa-timer{font-family:var(--font-mono);font-size:10.5px;color:var(--ash);text-align:center;margin-bottom:16px}.mfa-timer span{color:var(--signal)}.auth-bottom-note{position:relative;z-index:1;margin-top:28px;font-family:var(--font-mono);font-size:9.5px;color:rgba(255,255,255,.2);letter-spacing:.04em;text-align:center}.qr-block{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 0}.qr-box{width:160px;height:160px;background:var(--bg);border:1px solid var(--border);position:relative;background-image:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 5px),repeating-linear-gradient(90deg,transparent,transparent 4px,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 5px)}.qr-secret{font-family:var(--font-mono);font-size:11px;color:var(--smoke);letter-spacing:.06em;background:var(--bg);padding:8px 12px;border:1px solid var(--border2);word-break:break-all;text-align:center;max-width:320px}.backup-codes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.backup-code-item{font-family:var(--font-mono);font-size:12px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);color:var(--carbon);letter-spacing:.04em;text-align:center}.check-wrap{display:flex;align-items:flex-start;gap:9px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 0}.cb-box{width:16px;height:16px;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s;background:var(--surface);margin-top:1px}.cb-box.checked{background:var(--carbon);border-color:var(--carbon)}.cb-label{font-size:12.5px;color:var(--smoke);line-height:1.5}