.login-page{--login-title-size:6rem;--login-title-weight:var(--font-bold);--login-title-spacing:-0.02em;--login-tagline-size:1.0rem;--login-tagline-weight:var(--font-medium);--login-tagline-spacing:0.58em;--convergence-y:54%;min-height:100vh;width:100%;position:relative;overflow:hidden}.login-background,.login-page{background:var(--surface-primary)}.login-background{position:fixed;inset:0;z-index:0}.login-page .theme-toggle-wrapper{position:fixed;top:var(--space-4);right:var(--space-4);z-index:100}.login-split-layout{position:relative;display:flex;min-height:100vh;width:100%;z-index:1}.login-branding-side{flex:1 1 55%;position:relative;display:flex;align-items:center;justify-content:center;background:var(--surface-primary);overflow:hidden}.login-particles{position:fixed;inset:0;z-index:0;pointer-events:none}.login-company-mark{position:absolute;top:var(--space-6);left:var(--space-6);z-index:2;display:flex;align-items:center;gap:var(--space-3);pointer-events:none}.login-company-logo{width:24px;height:24px;filter:brightness(0) invert(1);flex-shrink:0}.theme-light .login-company-logo{filter:brightness(0)}.login-company-logo-placeholder{width:24px;height:24px;background:var(--surface-tertiary);border-radius:var(--radius-default);flex-shrink:0}.login-company-name{font-family:var(--font-sans);font-size:1.25rem;font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:.02em}.login-branding-content{position:absolute;top:var(--convergence-y);left:50%;transform:translate(-50%,calc(-1 * var(--login-title-size) - var(--space-2)));z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}.login-product-name{font-size:var(--login-title-size);font-weight:var(--login-title-weight);color:var(--text-primary);margin:0;letter-spacing:var(--login-title-spacing);line-height:1}.login-branding-tagline,.login-product-name{font-family:var(--font-sans);text-transform:uppercase}.login-branding-tagline{font-size:var(--login-tagline-size);font-weight:var(--login-tagline-weight);color:var(--text-secondary);margin:var(--space-2) 0 0 0;letter-spacing:var(--login-tagline-spacing);text-indent:var(--login-tagline-spacing)}.login-tagline-accent{color:var(--status-error)}.login-drawer{position:relative;flex:0 0 420px;display:flex;flex-direction:column;padding:max(12vh,var(--space-12)) var(--space-8) var(--space-12);background:var(--surface-secondary-solid);border-left:1px solid var(--border-subtle);animation:drawerIn .3s var(--ease-default);z-index:2}@keyframes drawerIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.login-drawer-content{width:100%;max-width:360px}.login-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:var(--space-8)}.login-title{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;letter-spacing:var(--tracking-tight)}.login-subtitle{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-tertiary);margin:var(--space-2) 0 0 0}.login-back-button{position:absolute;top:var(--space-4);left:var(--space-4);display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-default);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default);z-index:10}.login-back-button:hover{color:var(--text-primary);background:var(--surface-tertiary)}.login-form{width:100%}.login-form form{display:flex;flex-direction:column;gap:var(--space-3)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-group{width:100%}.form-label{display:block;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.login-select{width:100%;padding:14px var(--space-4);-webkit-appearance:none;appearance:none;background-color:var(--surface-primary);background-image:url("data:image/svg+xml,%3csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:12px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-input);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);cursor:pointer;outline:none;box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-default)}.login-select:hover:not(:disabled):not(:focus){border-color:var(--border-default)}.login-select:focus{border-width:2px;border-color:rgba(var(--accent-primary-rgb),.6);padding:13px calc(var(--space-4) - 1px)}.login-select:disabled{opacity:.5;cursor:not-allowed}.login-select option{background-color:var(--surface-secondary-solid);color:var(--text-primary)}:root.theme-light .login-select{background-color:var(--surface-secondary)}.mfa-code-input .text-input__field{font-size:var(--text-xl);text-align:center;letter-spacing:.4em;font-family:var(--font-mono)}.login-button{position:relative;width:100%;padding:14px var(--space-4);margin-top:var(--space-2);background:var(--accent-primary);border:none;border-radius:var(--radius-input);color:#fff;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.login-button:hover:not(:disabled){background:var(--accent-hover)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-button .loading-ring rect{stroke:#fff}:root.theme-light .login-button .loading-ring rect{stroke:var(--accent-primary)}.login-button.secondary{background:var(--surface-tertiary);color:var(--text-primary)}.login-button.secondary:hover:not(:disabled){background:var(--surface-elevated)}.error-message{width:100%;padding:var(--space-3) var(--space-4);background:var(--status-error-bg);border-radius:var(--radius-lg);color:var(--status-error);font-size:var(--text-sm);text-align:center;animation:shake .3s var(--ease-out)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.success-message{width:100%;padding:var(--space-3) var(--space-4);background:var(--status-success-bg);border-radius:var(--radius-lg);color:var(--status-success);font-size:var(--text-sm);text-align:center;margin-bottom:var(--space-4)}.remembered-user-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface-input);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-input);margin-bottom:var(--space-2)}.theme-light .remembered-user-card{background:#fff;border-color:rgba(0,0,0,.03)}.remembered-user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#8b6ee8,#6b5ad4);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-semibold);flex-shrink:0;box-shadow:0 2px 8px rgba(130,110,240,.3)}.remembered-user-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.remembered-user-email{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remembered-user-switch{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-tertiary);cursor:pointer;text-align:left;transition:color var(--duration-fast) var(--ease-default)}.remembered-user-switch:hover{color:#8b6ee8}.mfa-factors{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.mfa-label{font-size:var(--text-sm);color:var(--text-tertiary);margin:0 0 var(--space-1) 0}.mfa-factor-button{width:100%;padding:14px var(--space-4);background:var(--surface-input);border:none;border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--space-3);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);color:var(--text-primary);text-align:left}.mfa-factor-button:hover:not(:disabled){background:var(--surface-tertiary)}.mfa-factor-button.selected{background:var(--selected-card-bg);color:var(--selected-card-label)}.mfa-factor-button:disabled{opacity:.5;cursor:not-allowed}.factor-icon{font-size:var(--text-lg);flex-shrink:0}.factor-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.mfa-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);width:100%}.mfa-actions .login-button{margin-top:0}.login-footer{margin-top:auto;padding-top:var(--space-8);text-align:center}.login-footer-text{margin-bottom:var(--space-3)}.login-footer-text p{color:var(--text-tertiary);font-size:var(--text-xs);line-height:var(--leading-normal);margin:0}.login-links{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.login-link{color:var(--text-secondary);font-weight:var(--font-medium);font-size:var(--text-sm);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.login-link:hover{color:var(--accent-primary)}button.login-link{background:none;border:none;padding:0;cursor:pointer}.divider{width:1px;height:12px;background:var(--border-subtle)}.login-mobile-brand{display:none}.login-loading{flex:1;display:flex;align-items:center;justify-content:center}@media (max-width:1024px){.login-split-layout{flex-direction:column}.login-branding-side{display:none}.login-drawer{flex:1;width:100%;border-left:none;padding:var(--space-8) var(--space-6);padding-top:max(8vh,var(--space-8));align-items:center;justify-content:flex-start}.login-drawer-content{max-width:360px;width:100%}.login-mobile-brand{display:flex;align-items:center;gap:var(--space-3);position:fixed;top:var(--space-4);left:var(--space-4);z-index:100}.login-mobile-brand .login-mobile-logo{width:24px;height:24px;filter:brightness(0) invert(1)}.theme-light .login-mobile-brand .login-mobile-logo{filter:brightness(0)}.login-mobile-brand .login-mobile-title{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:.02em}}@media (max-width:480px){.login-drawer{padding:var(--space-6) var(--space-5);padding-top:max(6vh,var(--space-6))}.login-drawer-content{max-width:none}.login-title{font-size:var(--text-2xl)}.login-footer{padding:var(--space-4) 0}.form-row,.mfa-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.error-message,.login-drawer{animation:none}}.auth-loading-drawer{animation:none}