.google-auth-button{width:100%;padding:var(--spacing-md,.75rem);border:1px solid var(--glass-border,#ffffff1a);border-radius:var(--radius-lg,12px);background:var(--bg-secondary,#1a1a24);color:var(--text-primary,#fff);cursor:pointer;transition:all var(--transition-normal,.25s ease);justify-content:center;align-items:center;font-size:.9rem;font-weight:500;display:flex;position:relative}.google-auth-button:hover{background:var(--glass-bg,#ffffff0d);border-color:var(--accent-primary,#6366f1);transform:translateY(-1px)}.google-auth-button:active{transform:translateY(0)}.google-auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-auth-button__content{align-items:center;gap:var(--spacing-md,.75rem);display:flex;position:relative}.google-auth-button__icon{flex-shrink:0;width:20px;height:20px}.google-auth-button__text{text-align:center;flex:1}.google-auth-button__spinner{justify-content:center;align-items:center;display:flex;position:absolute;right:0}.google-auth-button__spinner .spinner{border:2px solid var(--glass-border,#fff3);border-top-color:var(--accent-primary,#6366f1);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
.login-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal,1000);padding:var(--spacing-lg,1.5rem);background:#000000bf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.login-modal{background:var(--bg-primary,#0f0f13);border:1px solid var(--glass-border,#ffffff1a);border-radius:var(--radius-xl,16px);flex-shrink:0;width:100%;max-width:420px;max-height:85vh;margin:auto;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;overflow-y:auto;box-shadow:0 20px 40px #00000080}.login-modal__header{padding:var(--spacing-lg,1.5rem);border-bottom:1px solid var(--glass-border,#ffffff1a);justify-content:space-between;align-items:center;display:flex}.login-modal__title{color:var(--text-primary,#fff);white-space:nowrap;margin:0;font-size:1.2rem;font-weight:600;line-height:1.25}@media (max-width:440px){.login-modal__title{font-size:1.05rem}}.login-modal__close{border-radius:var(--radius-md,8px);cursor:pointer;width:32px;height:32px;color:var(--text-secondary,#ffffffb3);transition:all var(--transition-normal,.2s ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.login-modal__close svg{width:20px;height:20px}.login-modal__close:hover{background:var(--glass-bg,#ffffff0d);color:var(--text-primary,#fff)}.login-modal__content{padding:var(--spacing-lg,1.5rem)}.error-message{align-items:center;gap:var(--spacing-sm,.5rem);padding:var(--spacing-md,.75rem);border-radius:var(--radius-md,8px);color:#ef4444;margin-bottom:var(--spacing-lg,1.5rem);background:#ef44441a;border:1px solid #ef44444d;font-size:.875rem;display:flex}.error-message .error-icon{flex-shrink:0;width:20px;height:20px}.divider{margin:var(--spacing-lg,1.5rem) 0;align-items:center;display:flex}.divider:before,.divider:after{content:"";background:var(--glass-border,#ffffff1a);flex:1;height:1px}.divider span{padding:0 var(--spacing-md,.75rem);color:var(--text-muted,#fff6);font-size:.875rem}.auth-form{gap:var(--spacing-lg,1.5rem);flex-direction:column;display:flex}.form-group{margin-bottom:var(--spacing-lg,1.5rem)}.form-group input{width:100%;padding:var(--spacing-lg,1rem);border:1px solid var(--glass-border,#ffffff1a);border-radius:var(--radius-md,8px);background:var(--bg-secondary,#1a1a24);color:var(--text-primary,#fff);transition:all var(--transition-normal,.2s ease);box-sizing:border-box;font-size:1rem}.form-group input::placeholder{color:var(--text-muted,#fff6);font-weight:500}.form-group input:focus{border-color:var(--accent-primary,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f133}.form-group input.error{background:#ef44440d;border-color:#ef4444}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group .field-error{color:#ef4444;margin-top:var(--spacing-xs,.25rem);font-size:.8rem;display:block}.password-input{align-items:center;display:flex;position:relative}.password-input input{flex:1;padding-right:44px}.password-input .password-toggle{right:var(--spacing-sm,.5rem);border-radius:var(--radius-sm,4px);cursor:pointer;width:32px;height:32px;color:var(--text-muted,#fff6);transition:all var(--transition-normal,.2s ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.password-input .password-toggle svg{width:18px;height:18px}.password-input .password-toggle:hover{background:var(--glass-bg,#ffffff0d);color:var(--text-primary,#fff)}.checkbox-group .checkbox-label{align-items:center;gap:var(--spacing-sm,.5rem);cursor:pointer;font-size:.875rem;display:flex}.checkbox-group .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary,#6366f1);margin:0}.checkbox-group .checkbox-label .checkbox-text{color:var(--text-secondary,#ffffffb3)}.checkbox-group .checkbox-label .checkbox-text a{color:var(--accent-primary,#6366f1);text-decoration:none}.checkbox-group .checkbox-label .checkbox-text a:hover{text-decoration:underline}.auth-button{padding:var(--spacing-md,.75rem);border-radius:var(--radius-md,8px);cursor:pointer;transition:all var(--transition-normal,.2s ease);border:none;font-size:.9rem;font-weight:500}.auth-button.primary{background:var(--accent-primary,#6366f1);color:#fff}.auth-button.primary:hover:not(:disabled){background:var(--accent-glow,#4f46e5);transform:translateY(-1px)}.auth-button.primary:active:not(:disabled){transform:translateY(0)}.auth-button.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.mode-switch{text-align:center;margin-top:var(--spacing-lg,1.5rem);padding-top:var(--spacing-lg,1.5rem);border-top:1px solid var(--glass-border,#ffffff1a)}.mode-switch p{color:var(--text-secondary,#ffffffb3);margin:0;font-size:.875rem}.mode-switch .link-button{color:var(--accent-primary,#6366f1);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.mode-switch .link-button:hover:not(:disabled){color:var(--accent-glow,#4f46e5)}.mode-switch .link-button:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.login-modal-overlay{padding:var(--spacing-sm,.5rem);align-items:flex-start;padding-top:10vh}.login-modal{max-width:none;max-height:85vh;margin:0 auto}.login-modal__header,.login-modal__content{padding:var(--spacing-md,1rem)}.login-modal__title{font-size:1.25rem}.auth-form{gap:var(--spacing-md,1rem)}}@media (max-height:600px){.login-modal{max-height:95vh}.login-modal-overlay{align-items:flex-start;padding-top:2vh}}
