.card-heading{gap:var(--space-2);flex-direction:column;display:flex}.card-heading h2{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);color:var(--color-dark);padding-bottom:var(--space-3);margin:0;position:relative}.card-heading h2:after{content:"";background-color:var(--color-primary);border-radius:var(--radius-full);width:32px;height:2px;position:absolute;bottom:0;left:0}.card-heading p{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}
.auth-divider{align-items:center;gap:var(--space-3);display:flex}.auth-divider:before,.auth-divider:after{content:"";background-color:var(--color-border);flex:1;height:1px}.auth-divider span{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}.continue-with-google{justify-content:center;align-items:center;gap:var(--space-3);width:100%;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);display:flex}.continue-with-google svg{flex-shrink:0;width:18px;height:18px}.continue-with-google:hover{background-color:var(--color-bg);box-shadow:var(--shadow-sm);border-color:#dadce0}.continue-with-google:active{background-color:var(--color-bg-alt)}

.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-form__row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.auth-field{gap:var(--space-2);flex-direction:column;display:flex}.auth-field__label-row{justify-content:space-between;align-items:center;display:flex}.auth-field label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-secondary)}.auth-field__forgot{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);transition:opacity var(--transition-fast);text-decoration:none}.auth-field__forgot:hover{opacity:.75}.auth-field__input-wrap{align-items:center;display:flex;position:relative}.auth-field__input-wrap input{padding-right:var(--space-10)!important}.auth-field__toggle{right:var(--space-4);cursor:pointer;color:var(--color-text-muted);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute}.auth-field__toggle:hover{color:var(--color-text-primary)}.auth-field input{width:100%;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);outline:none}.auth-field input::placeholder{color:var(--color-text-muted)}.auth-field input:focus{border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 3px #c2622a1f}.auth-field input:disabled{opacity:.55;cursor:not-allowed}.auth-field input.input--error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.auth-field input.input--error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e26}.auth-field__error{font-family:var(--font-body);font-size:var(--font-size-xs);color:#e53e3e;align-items:center;gap:var(--space-1);display:flex}.auth-strength{align-items:center;gap:var(--space-3);margin-top:var(--space-1);display:flex}.auth-strength__bars{gap:var(--space-1);flex:1;display:flex}.auth-strength__bar{border-radius:var(--radius-full);background-color:var(--color-border);height:3px;transition:background-color var(--transition-base);flex:1}.auth-strength__bar--weak{background-color:#e53e3e}.auth-strength__bar--fair{background-color:#dd6b20}.auth-strength__bar--good{background-color:#d69e2e}.auth-strength__bar--strong{background-color:#38a169}.auth-strength__label{font-family:var(--font-body);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;text-align:right;width:40px}.auth-strength__label--weak{color:#e53e3e}.auth-strength__label--fair{color:#dd6b20}.auth-strength__label--good{color:#d69e2e}.auth-strength__label--strong{color:#38a169}.auth-feedback{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex}.auth-feedback--success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.auth-feedback--error{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7}.auth-feedback svg{flex-shrink:0}.auth-submit{justify-content:center;align-items:center;gap:var(--space-2);width:100%;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-surface);background-color:var(--color-dark);border:1.5px solid var(--color-dark);border-radius:var(--radius-sm);padding:var(--space-4);cursor:pointer;margin-top:var(--space-2);transition:background-color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast);display:flex}.auth-submit:hover:not(:disabled){background-color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit .spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.redirect-button{cursor:pointer;margin-top:var(--space-2);transition:background-color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast);background:0 0;border:none;padding:20px;font-size:1rem}.redirect-button:hover:not(:disabled){color:var(--color-primary)}@media (max-width:480px){.auth-form__row{grid-template-columns:1fr}}.verify-state{flex-direction:column;align-items:center;display:flex}.verify-state__card{text-align:center;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-8) var(--space-6);border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border);flex-direction:column;display:flex}.verify-state__card--loading{background-color:var(--color-bg);border-color:var(--color-border)}.verify-state__card--success{background-color:#f0fdf4;border-color:#bbf7d0}.verify-state__card--error{background-color:#fff5f5;border-color:#fed7d7}.verify-state__icon-wrap{border-radius:var(--radius-full);width:56px;height:56px;margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.verify-state__icon-wrap--spin{background-color:var(--color-bg-alt);color:var(--color-text-muted)}.verify-state__icon-wrap--spin svg{animation:1s linear infinite spin}.verify-state__icon-wrap--success{color:#166534;background-color:#dcfce7}.verify-state__icon-wrap--error{color:#c53030;background-color:#fee2e2}.verify-state__title{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-dark);margin:0}.verify-state__body{font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-width:320px;margin:0}.verify-state__hint{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.verify-state__link{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0;text-decoration:none}.verify-state__link:hover{opacity:.75}
