.client-login-page{background-color:var(--color-bg-dark);min-height:100vh;font-family:var(--font-family);background-image:radial-gradient(circle at 20%,rgba(59,130,246,.08) 0%,transparent 50%),radial-gradient(circle at 80%,rgba(59,130,246,.08) 0%,transparent 50%);justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.client-login-container{flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:440px;display:flex}.client-login-card{background-color:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--border-radius-main);width:100%;box-shadow:var(--shadow-lg);padding:2.5rem;position:relative}.client-login-card:before{content:"";border-radius:var(--border-radius-main)var(--border-radius-main)0 0;background:linear-gradient(90deg,#3b82f6,#2563eb);height:3px;position:absolute;top:0;left:0;right:0}.client-login-header{text-align:center;margin-bottom:2rem}.client-login-logo{justify-content:center;margin-bottom:1.5rem;display:flex}.client-login-logo img{width:auto;max-width:100%;height:auto;display:block}.client-login-title{color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.client-login-subtitle{color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.client-login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--color-text);letter-spacing:.01em;font-size:.875rem;font-weight:600}.form-input{width:100%;font-size:.9375rem;font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);transition:all var(--transition-normal);border-radius:8px;outline:none;padding:.75rem 1rem}.form-input::placeholder{color:var(--color-text-dark)}.form-input:focus{background-color:var(--color-bg-light);border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.form-input:hover:not(:focus){border-color:rgba(255,255,255,.2)}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input{padding-right:44px}.password-toggle-btn{cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-normal);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.password-toggle-btn:hover{color:#3b82f6}.password-toggle-btn:focus{color:#3b82f6;outline:none}.alert{border:1px solid;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.alert-success{color:#86efac;background-color:rgba(34,197,94,.1);border-color:#22c55e}.alert-error{color:#fca5a5;background-color:rgba(239,68,68,.1);border-color:#ef4444}.btn-primary{width:100%;font-size:.9375rem;font-weight:600;font-family:var(--font-family);color:#fff;cursor:pointer;transition:all var(--transition-normal);letter-spacing:.02em;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;outline:none;padding:.875rem 1.5rem;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 4px 12px rgba(59,130,246,.25)}.btn-primary:before{content:"";opacity:0;transition:opacity var(--transition-normal);z-index:-1;background:linear-gradient(135deg,#2563eb,#3b82f6);position:absolute;top:0;bottom:0;left:0;right:0}.btn-primary:hover:before{opacity:1}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(59,130,246,.35)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.client-login-links{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.forgot-password-link{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.forgot-password-link span{color:var(--color-text-secondary)}.forgot-password-link a{color:#3b82f6;transition:color var(--transition-normal);font-weight:600;text-decoration:none}.forgot-password-link a:hover{color:#2563eb;text-decoration:underline}.signup-link{border-top:1px solid var(--color-border);padding-top:1rem}.signup-link p{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.875rem}.signup-link a{color:#3b82f6;transition:color var(--transition-normal);font-weight:700;text-decoration:none}.signup-link a:hover{color:#2563eb;text-decoration:underline}.client-login-support{color:var(--color-text-dark);text-align:center;margin:0;font-size:.8125rem}.client-login-support a{color:#3b82f6;transition:color var(--transition-normal);text-decoration:none}.client-login-support a:hover{color:#2563eb;text-decoration:underline}@media (max-width:480px){.client-login-card{padding:2rem 1.5rem}.client-login-title{font-size:1.5rem}.client-login-subtitle{font-size:.875rem}.forgot-password-link{flex-direction:column;align-items:flex-start}}.btn-primary.loading:after{content:"";vertical-align:middle;border:2px solid #fff;border-top-color:transparent;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.oauth-divider{align-items:center;gap:1rem;margin:.5rem 0;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background-color:var(--color-border);flex:1;height:1px}.oauth-divider span{color:var(--color-text-secondary);text-transform:lowercase;font-size:.8125rem}.google-signin-button{width:100%;font-size:15px;font-weight:500;font-family:var(--font-family,system-ui,-apple-system,sans-serif);color:#1f1f1f;cursor:pointer;background-color:#fff;border:1px solid #dadce0;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:12px;padding:12px 24px;transition:all .2s;display:flex}.google-signin-button:hover:not(:disabled){background-color:#f7f8f8;border-color:#c4c7c5;box-shadow:0 1px 3px rgba(0,0,0,.1)}.google-signin-button:focus-visible{box-shadow:0 0 0 3px rgba(66,133,244,.3)}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.google-signin-button .google-icon{flex-shrink:0}.google-signin-button .google-text{letter-spacing:.01em}
