:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#dbeafe;--color-primary-dark:#1e40af;--color-bg:#f8fafc;--color-bg-card:#ffffff;--color-bg-muted:#f1f5f9;--color-text-main:#0f172a;--color-text-muted:#64748b;--color-text-light:#94a3b8;--color-text-inverse:#ffffff;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-dark:#cbd5e1;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-warning:#ea580c;--color-warning-bg:#fff7ed;--color-warning-border:#fed7aa;--color-info:#0284c7;--color-info-bg:#f0f9ff;--color-info-border:#bae6fd;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--radius-sm:0.25rem;--radius:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-full:9999px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"Roboto Mono","Courier New",monospace}.auth-page-wrapper{min-height:100vh;background-color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--color-text-main);padding:1rem}.login-container{background:var(--color-bg-card);padding:2.5rem;border-radius:.75rem;border:1px solid var(--color-border);box-shadow:var(--shadow);width:100%;max-width:400px;text-align:center}.login-container--narrow{max-width:480px}.login-container h1{font-size:1.875rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text-main)}.login-container p{color:var(--color-text-muted);margin-bottom:1.5rem}.login-container .info{font-size:.875rem;margin-top:.5rem;margin-bottom:1rem;color:var(--color-text-muted)}.login-container .login-footer-links{margin-top:16px;text-align:center}.login-container .login-secondary-email{margin-top:8px}.login-container button.login-mfa-setup-continue{background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:600}.login-container button.login-mfa-setup-continue:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-container form>div{margin-bottom:1.25rem;text-align:left}.login-container label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-main)}.login-container input,.login-container select{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;background-color:var(--color-bg-card);color:var(--color-text-main)}.login-container input::-moz-placeholder{color:var(--color-text-light)}.login-container input::placeholder{color:var(--color-text-light)}.login-container input:focus,.login-container select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.login-container button{width:100%;padding:.625rem 1rem;font-size:1rem;font-weight:600;color:var(--color-text-inverse);background-color:var(--color-primary);border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s;margin-bottom:.75rem}.login-container button:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-container button:disabled{opacity:.5;cursor:not-allowed}.login-container .pool-selection-btn{margin-bottom:.5rem}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--color-text-muted);font-size:.875rem;margin:.75rem 0}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background-color:var(--color-border)}.passkey-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--color-border)!important;color:var(--color-text-main)!important;background-color:var(--color-bg-card)!important;font-weight:500}.passkey-button:hover:not(:disabled){background-color:var(--color-bg-muted)!important;border-color:var(--color-text-muted)!important}.login-container button[type=button]{background-color:transparent;color:var(--color-text-muted);font-weight:500}.login-container button[type=button]:hover:not(:disabled){color:var(--color-text-main);background-color:var(--color-bg-muted)}.login-container a{color:var(--color-primary);text-decoration:none}.login-container a:hover{color:var(--color-primary-hover);text-decoration:underline}.login-container .error{background-color:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1.25rem;border:1px solid var(--color-error-border);text-align:left}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg)}.auth-loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.auth-loading-text{margin-top:1rem;color:var(--color-text-muted)}@keyframes spin{to{transform:rotate(1turn)}}.dev-bypass-container{margin-top:20px;text-align:center}.dev-bypass-button--inline{width:auto}.dev-bypass-overlay{position:fixed;top:20px;right:20px;z-index:9999;padding:10px;background-color:rgba(0,0,0,.8);border-radius:8px;color:white}.password-strength{margin-top:.5rem}.password-strength-bar{display:flex;gap:4px;margin-bottom:.5rem}.password-strength-segment{flex:1;height:4px;border-radius:2px;background-color:var(--color-border);transition:background-color .3s ease}.password-strength-segment.filled{background-color:var(--color-primary)}.password-criteria{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.password-criterion{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-muted);transition:color .25s ease}.password-criterion.met{color:var(--color-primary)}.password-criterion-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;font-size:.75rem;transition:transform .2s ease}.password-criterion.met .password-criterion-icon{transform:scale(1.2)}.dev-bypass-button{padding:8px 16px;background-color:#4CAF50;color:white;border:none;border-radius:4px;cursor:pointer;font-weight:700}.security-section{text-align:left;margin-bottom:1.5rem}.security-section-title{font-size:1rem;font-weight:600;color:var(--color-text-main);margin:0 0 .5rem}.security-section-desc{font-size:.875rem;color:var(--color-text-muted);margin:0 0 1rem}.security-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:.5rem}.security-hint code{background:var(--color-bg-muted);border-radius:.25rem;padding:.1em .35em;font-family:monospace}.security-action-btn{width:100%;background-color:var(--color-primary)!important;color:var(--color-text-inverse)!important}.security-action-btn:hover:not(:disabled){background-color:var(--color-primary-hover)!important}.login-container .security-action-btn.security-action-btn--danger{background-color:#fff!important;color:var(--color-error,#ef4444)!important;border:1px solid var(--color-error,#ef4444)!important}.login-container .security-action-btn.security-action-btn--danger:hover:not(:disabled){background-color:var(--color-bg-muted,#f5f5f5)!important;color:var(--color-error,#ef4444)!important}.security-success{background-color:var(--color-success-bg,#f0fdf4);color:var(--color-success,#16a34a);border:1px solid var(--color-success-border,#bbf7d0);border-radius:.5rem;padding:.75rem;font-size:.875rem}.totp-secret-box{display:flex;align-items:center;gap:.5rem;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:.5rem;padding:.625rem .75rem;margin-bottom:.5rem}.totp-secret-text{flex:1;font-family:monospace;font-size:.9rem;letter-spacing:.05em;word-break:break-all;color:var(--color-text-main)}.totp-copy-btn{flex-shrink:0;background:transparent!important;border:1px solid var(--color-border)!important;color:var(--color-text-muted)!important;padding:.25rem .625rem!important;font-size:.8rem!important;width:auto!important;min-width:4rem}.login-container .totp-tabs{display:flex;gap:.35rem;margin-bottom:1rem;padding:.25rem;border-radius:10px;background:var(--color-bg-muted,rgba(0,0,0,.06));border:1px solid var(--color-border)}.login-container .totp-tabs .totp-tab-btn{flex:1;width:auto;min-width:0;padding:.55rem .75rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.login-container .totp-tabs .totp-tab-btn:hover:not(:disabled){color:var(--color-text-main);background:var(--color-bg-card,rgba(255,255,255,.04))}.login-container .totp-tabs .totp-tab-btn[aria-selected=true]:hover:not(:disabled){background:var(--color-primary-hover,var(--color-primary))!important;color:var(--color-text-inverse)!important}.login-container .totp-tabs .totp-tab-btn[aria-selected=false]{border-color:var(--color-border);background:var(--color-bg-card,rgba(255,255,255,.03));color:var(--color-text-muted)}.login-container .totp-tabs .totp-tab-btn[aria-selected=true]{background:var(--color-primary)!important;color:var(--color-text-inverse)!important;border-color:var(--color-primary)!important;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12)}.totp-qr-container{display:flex;justify-content:center;padding:1rem 0}.passkey-list{list-style:none;padding:0;margin:0 0 1rem;text-align:left}.passkey-list li{padding:.5rem .75rem;margin-bottom:.35rem;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:.5rem;font-size:.875rem;color:var(--color-text-main)}.passkey-list-name{font-weight:600}