/* ProxCloud — auth.css */
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-base)}
.auth-bg{position:fixed;inset:0;pointer-events:none;z-index:0}
.auth-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;opacity:.4}
.auth-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15}
.auth-glow-1{width:600px;height:600px;background:var(--accent);top:-200px;left:-200px}
.auth-glow-2{width:400px;height:400px;background:var(--purple);bottom:-150px;right:-100px}
.auth-wrap{position:relative;z-index:1;width:440px;max-width:calc(100vw - 32px);padding:16px}
.auth-card{background:var(--bg-raised);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:36px;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.auth-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.auth-logo-icon{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#0072c6);display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px var(--accent-glow);flex-shrink:0}
.auth-logo-name{font-size:18px;font-weight:900;letter-spacing:-.04em;color:var(--text-1)}
.auth-logo-sub{font-size:11px;color:var(--text-3);font-family:'JetBrains Mono',monospace;margin-top:1px}
.auth-title{font-size:22px;font-weight:800;letter-spacing:-.03em;margin-bottom:6px}
.auth-subtitle{font-size:13px;color:var(--text-3);margin-bottom:24px}
.auth-alert{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}
.auth-alert svg{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.auth-alert-danger{background:var(--red-dim);border:1px solid rgba(239,68,68,.25);color:var(--red)}
.auth-alert-warning{background:var(--orange-dim);border:1px solid rgba(249,115,22,.25);color:var(--orange)}
.auth-alert-success{background:var(--green-dim);border:1px solid rgba(16,185,129,.25);color:var(--green)}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-4);font-size:11px;margin:16px 0}
.auth-divider::before,.auth-divider::after{content:'';flex:1;border-top:1px solid var(--border)}
.demo-accounts{display:flex;flex-direction:column;gap:6px}
.demo-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .12s;text-align:left;color:var(--text-2);font-family:inherit;font-size:12px}
.demo-btn:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-1)}
.demo-role{font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.demo-role-admin{background:var(--orange-dim);color:var(--orange);border:1px solid rgba(249,115,22,.3)}
.demo-role-user{background:var(--accent-dim);color:var(--accent-text);border:1px solid rgba(14,165,233,.3)}
.demo-email{font-family:'JetBrains Mono',monospace;font-size:11.5px}
.auth-footer{text-align:center;font-size:11px;color:var(--text-4);margin-top:16px}
.auth-footer a{color:var(--text-3)}
.auth-footer a:hover{color:var(--text-1)}
.totp-digits{display:flex;gap:8px;justify-content:center;margin:8px 0}
.totp-input{width:44px;height:56px;text-align:center;font-size:24px;font-weight:800;font-family:'JetBrains Mono',monospace;background:var(--bg-overlay);border:2px solid var(--border);border-radius:var(--radius);color:var(--text-1);transition:border-color .15s;outline:none}
.totp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
.totp-sep{font-size:24px;color:var(--text-4);display:flex;align-items:center}
