.auth-page{min-height:80vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.auth-page .card{width:100%;max-width:420px}.auth-error{background:var(--color-error-container,#ff00001a);color:var(--color-error,#f44);border:1px solid var(--color-error,#f44);border-radius:var(--radius-md);padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.auth-field{margin-bottom:var(--spacing-md)}.auth-field .label{margin-bottom:var(--spacing-xs)}.auth-field .input-wrapper{width:100%}.auth-submit.button{width:100%;margin-top:var(--spacing-xl,1.5rem);padding:var(--spacing-md,.75rem)var(--spacing-lg,1rem);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-md);font-family:var(--cyber-font-mono,monospace);font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background var(--transition-fast,.15s),box-shadow var(--transition-fast,.15s);border:none;font-weight:600}.auth-submit.button:hover:not(:disabled){box-shadow:var(--cyber-neon-glow,0 0 8px var(--color-primary));opacity:.9}.auth-submit.button:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;width:100%;color:var(--color-on-surface-variant);font-size:var(--font-size-sm);margin:0}.auth-link a{color:var(--color-primary);text-decoration:none}.auth-oauth-buttons{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.auth-oauth-btn{width:100%;padding:var(--space-sm)var(--space-md);border-radius:var(--radius);font-family:var(--cyber-font-mono);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;color:var(--color-primary);border:var(--cyber-border-width)solid var(--color-primary);transition:background var(--transition-fast),box-shadow var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.auth-oauth-btn:hover{background:var(--primary-color-5);box-shadow:var(--cyber-neon-glow)}.auth-oauth-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.auth-divider{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.auth-divider .separator{flex:1}.auth-divider-text{color:var(--color-on-surface-variant);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.auth-success{background:var(--color-success-container,#00c8641a);color:var(--color-success,#00c864);border:1px solid var(--color-success,#00c864);border-radius:var(--radius-md);padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.auth-set-password-info{color:var(--color-on-surface-variant);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);line-height:1.5}.auth-forgot-password{text-align:right;margin-top:calc(-1*var(--spacing-xs));margin-bottom:var(--spacing-sm)}.auth-forgot-password a{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none}.auth-forgot-password a:hover{text-decoration:underline}.auth-field-error{color:var(--color-error,#f44);margin-top:.25rem;font-size:.8rem}.auth-guard-loading{min-height:60vh;color:var(--color-on-surface-variant);justify-content:center;align-items:center;display:flex}.device-auth-instructions{text-align:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.device-auth-instructions p{color:var(--color-on-surface-variant);font-size:var(--font-size-sm);margin:0}.device-auth-code{font-family:var(--cyber-font-mono,monospace);letter-spacing:.15em;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-md)var(--spacing-xl);background:var(--color-surface-variant,#0003);-webkit-user-select:all;user-select:all;font-size:2rem;font-weight:700}.device-auth-url{font-family:var(--cyber-font-mono,monospace);font-size:var(--font-size-sm);color:var(--color-on-surface);background:var(--color-surface-variant,#0003);border:1px solid var(--color-outline,#ffffff1a);border-radius:var(--radius-md);padding:var(--spacing-sm)var(--spacing-md);word-break:break-all;-webkit-user-select:all;user-select:all}.device-auth-hint{color:var(--color-on-surface-variant);font-style:italic;font-size:var(--font-size-sm);animation:2s ease-in-out infinite device-auth-pulse}@keyframes device-auth-pulse{0%,to{opacity:1}50%{opacity:.5}}