@layer components{.ks-auth-card{border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;max-width:24rem;box-shadow:var(--shadow-sm);border-radius:1rem;flex-direction:column;gap:1rem;padding:2rem;display:flex}.ks-auth-header{text-align:center}.ks-auth-logo{background-color:var(--color-primary);color:#fff;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin:0 auto .5rem;font-size:.875rem;font-weight:900;display:flex}.ks-auth-title{font-size:var(--text-h2);font-weight:700}.ks-auth-subtitle{color:var(--color-text-3);margin-top:.25rem;font-size:.875rem}.ks-auth-social{flex-direction:column;gap:.5rem;display:flex}.ks-auth-divider{align-items:center;gap:.75rem;display:flex}.ks-auth-divider-line{background-color:var(--color-border);flex:1;height:1px}.ks-auth-divider-text{color:var(--color-text-3);font-size:.75rem}.ks-auth-error{background-color:var(--color-danger-soft);color:var(--color-danger);border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}.ks-auth-submit{background-color:var(--color-primary);color:#fff;transition:background-color var(--dur-fast);border-radius:.5rem;padding:.625rem 1rem;font-weight:500}.ks-auth-submit:hover{background-color:var(--color-primary-hover)}.ks-auth-submit:disabled{opacity:.5}.ks-auth-forgot-link{color:var(--color-primary);align-self:flex-end;margin-top:-.5rem;font-size:.75rem;font-weight:500}.ks-auth-forgot-link:hover{text-decoration:underline}.ks-auth-switch{text-align:center;color:var(--color-text-3);font-size:.875rem}.ks-auth-switch-btn{color:var(--color-primary);font-weight:500}.ks-auth-field{flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.ks-auth-field-label{color:var(--color-text-2);font-weight:500}.ks-auth-field-input{border:1px solid var(--color-border-2);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);background-color:var(--color-surface);color:var(--color-text);border-radius:.5rem;outline:none;padding:.5rem .75rem}.ks-auth-field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent)}}
