:root{--sa-bg-primary:#fff;--sa-bg-secondary:#f8fafc;--sa-bg-tertiary:#f1f5f9;--sa-text-primary:#1e293b;--sa-text-secondary:#64748b;--sa-text-muted:#94a3b8;--sa-border:#e2e8f0;--sa-border-light:#f1f5f9;--sa-brand:#2563eb;--sa-brand-hover:#1d4ed8;--sa-brand-light:#eff6ff;--sa-success:#10b981;--sa-warning:#f59e0b;--sa-danger:#ef4444;--sa-info:#3b82f6;--sa-shadow:#0000000d;--sa-shadow-md:#0000001a}@media (prefers-color-scheme:dark){:root{--sa-bg-primary:#1e293b;--sa-bg-secondary:#0f172a;--sa-bg-tertiary:#334155;--sa-text-primary:#f1f5f9;--sa-text-secondary:#cbd5e1;--sa-text-muted:#94a3b8;--sa-border:#334155;--sa-border-light:#1e293b;--sa-brand:#3b82f6;--sa-brand-hover:#60a5fa;--sa-brand-light:#1e3a5f;--sa-success:#34d399;--sa-warning:#fbbf24;--sa-danger:#f87171;--sa-info:#60a5fa;--sa-shadow:#0003;--sa-shadow-md:#0000004d}}.dark-mode{--sa-bg-primary:#1e293b;--sa-bg-secondary:#0f172a;--sa-bg-tertiary:#334155;--sa-text-primary:#f1f5f9;--sa-text-secondary:#cbd5e1;--sa-text-muted:#94a3b8;--sa-border:#334155;--sa-border-light:#1e293b;--sa-brand:#3b82f6;--sa-brand-hover:#60a5fa;--sa-brand-light:#1e3a5f;--sa-success:#34d399;--sa-warning:#fbbf24;--sa-danger:#f87171;--sa-info:#60a5fa;--sa-shadow:#0003;--sa-shadow-md:#0000004d}.light-mode{--sa-bg-primary:#fff;--sa-bg-secondary:#f8fafc;--sa-bg-tertiary:#f1f5f9;--sa-text-primary:#1e293b;--sa-text-secondary:#64748b;--sa-text-muted:#94a3b8;--sa-border:#e2e8f0;--sa-border-light:#f1f5f9;--sa-brand:#2563eb;--sa-brand-hover:#1d4ed8;--sa-brand-light:#eff6ff;--sa-success:#10b981;--sa-warning:#f59e0b;--sa-danger:#ef4444;--sa-info:#3b82f6;--sa-shadow:#0000000d;--sa-shadow-md:#0000001a}.store-auth{background:var(--sa-bg-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-container{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:420px;min-height:calc(100vh - 120px);padding:1rem;display:flex}.auth-card{background:var(--sa-bg-primary);border:1px solid var(--sa-border);width:100%;max-width:420px;box-shadow:var(--sa-shadow-md);border-radius:12px;padding:2rem}.auth-header h1{color:var(--sa-text-primary);margin-bottom:.75rem;font-size:1.5rem}.auth-header p{color:var(--sa-text-secondary);margin-bottom:1.2rem;font-size:.9rem}.google-wrapper{justify-content:center;width:100%;margin-bottom:1rem;display:flex}.divider{align-items:center;margin:1rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--sa-border);flex:1;height:1px}.divider span{color:var(--sa-text-secondary);margin:0 .6rem;font-size:.8rem}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-form input{border:1px solid var(--sa-border);background:var(--sa-bg-primary);color:var(--sa-text-primary);border-radius:8px;padding:.75rem;font-size:.9rem;transition:all .2s}.auth-form input:focus{border-color:var(--sa-brand);outline:none;box-shadow:0 0 0 3px #3b82f61a}.auth-form input::placeholder{color:var(--sa-text-muted)}.btn-primary{background:var(--sa-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.4rem;padding:.75rem;font-size:.95rem;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--sa-brand-hover);transform:translateY(-1px)}.btn-primary:disabled{background:var(--sa-text-muted);cursor:not-allowed;opacity:.7}.auth-footer{text-align:center;margin-top:1.25rem;font-size:.85rem}.auth-footer p{color:var(--sa-text-secondary)}.auth-footer button{color:var(--sa-brand);cursor:pointer;background:0 0;border:none;margin-left:.25rem;font-weight:500}.auth-footer button:hover{text-decoration:underline}.forgot-password-link{text-align:right;margin-top:.5rem}.forgot-password-btn{color:var(--sa-brand);cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline;transition:color .2s}.forgot-password-btn:hover{color:var(--sa-brand-hover)}.forgot-password-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.forgot-password-form .form-group{flex-direction:column;gap:.5rem;width:100%;display:flex}.forgot-password-form .form-group label{color:var(--sa-text-primary);font-size:.9rem;font-weight:500}.forgot-password-form .auth-input{border:2px solid var(--sa-border);background:var(--sa-bg-primary);box-sizing:border-box;width:100%;color:var(--sa-text-primary);border-radius:8px;padding:.75rem;font-size:1rem;transition:all .2s}.forgot-password-form .auth-input:focus{border-color:var(--sa-brand);outline:none;box-shadow:0 0 0 3px #3b82f61a}.otp-input{text-align:center;letter-spacing:.5rem;font-weight:600;font-size:1.5rem!important}.forgot-password-note{background:var(--sa-warning);opacity:.9;border:1px solid var(--sa-warning);border-radius:8px;margin-bottom:.5rem;padding:1rem}.forgot-password-advice{color:#92400e;gap:.5rem;margin:0 0 .5rem;font-size:.9rem;display:flex}.dark-mode .forgot-password-advice,:root.dark-mode .forgot-password-advice{color:#fbbf24}.advice-icon{flex-shrink:0;font-size:1.1rem}.advice-subtle{color:#b45309;margin:0;font-size:.8rem;font-style:italic}.dark-mode .advice-subtle,:root.dark-mode .advice-subtle{color:#fbbf24}.otp-sent-message{text-align:center;color:#fff;background:var(--sa-success);opacity:.9;border-radius:8px;margin-bottom:.5rem;padding:.5rem;font-size:.9rem}.otp-sent-message strong{word-break:break-all}.otp-verified-message{text-align:center;background:var(--sa-success);opacity:.9;color:#fff;border-radius:8px;padding:.5rem;font-size:.9rem}.otp-actions{justify-content:center;margin-top:.5rem;display:flex}.resend-otp-btn{color:var(--sa-brand);cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline;transition:color .2s}.resend-otp-btn:hover{color:var(--sa-brand-hover)}.resend-otp-btn.disabled{color:var(--sa-text-muted);cursor:not-allowed;opacity:.6;text-decoration:none}.loading-spinner-small{vertical-align:middle;border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:480px){.auth-card{padding:1.5rem}.otp-input{letter-spacing:.25rem;font-size:1.25rem!important}.forgot-password-note{padding:.75rem}.auth-header h1{font-size:1.25rem}}
