.auth-root{background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:calc(100vh - 64px);padding:2rem 1rem;display:flex}.auth-icon{background:var(--color-white);border:1px solid var(--color-stone-200);width:52px;height:52px;color:var(--color-amber-800);border-radius:999px;justify-content:center;align-items:center;font-size:1.25rem;display:flex;box-shadow:0 1px 4px #0000000f}.auth-header{text-align:center;flex-direction:column;gap:.25rem;display:flex}.auth-title{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--color-stone-800);letter-spacing:var(--tracking-tight)}.auth-subtitle{font-size:var(--text-sm);color:var(--color-stone-500)}.auth-form{background:var(--color-white);border-radius:var(--radius-2xl);border:1px solid var(--color-stone-200);flex-direction:column;gap:1.25rem;width:100%;max-width:420px;padding:2rem;display:flex;box-shadow:0 2px 12px #0000000f}.auth-error-banner{color:#dc2626;border-radius:var(--radius-lg);font-size:var(--text-sm);text-align:center;background:#fef2f2;border:1px solid #fecaca;padding:.75rem 1rem}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-stone-700)}.auth-optional{color:var(--color-stone-400);font-weight:400;font-size:var(--text-xs)}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-forgot{font-size:var(--text-sm);color:var(--color-amber-800);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .2s}.auth-forgot:hover{color:var(--color-amber-900)}.auth-input-wrapper{background:var(--color-stone-50);border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);align-items:center;gap:.625rem;padding:.625rem .875rem;transition:border-color .2s,background .2s;display:flex}.auth-input-wrapper:focus-within{border-color:var(--color-amber-600);background:var(--color-white)}.auth-input-wrapper--error{background:#fef9f9;border-color:#fca5a5}.auth-input-wrapper--error:focus-within{border-color:#dc2626}.auth-input-icon{color:var(--color-stone-400);flex-shrink:0}.auth-input{font-size:var(--text-sm);color:var(--color-stone-800);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit}.auth-input::placeholder{color:var(--color-stone-400)}.auth-select{cursor:pointer;appearance:none}.auth-eye-btn{cursor:pointer;color:var(--color-stone-400);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;transition:color .2s;display:flex}.auth-eye-btn:hover{color:var(--color-stone-700)}.auth-field-error{font-size:var(--text-xs);color:#dc2626;margin:0}.auth-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.auth-submit-btn{background:var(--color-amber-800);width:100%;color:var(--color-white);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.75rem;font-family:inherit;transition:background .2s;display:flex}.auth-submit-btn:hover{background:var(--color-amber-900)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:999px;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.auth-switch{text-align:center;font-size:var(--text-sm);color:var(--color-stone-500);margin:0}.auth-switch-link{color:var(--color-amber-800);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .2s}.auth-switch-link:hover{color:var(--color-amber-900)}.auth-verse{text-align:center;flex-direction:column;gap:.25rem;max-width:380px;display:flex}.auth-verse p{font-size:var(--text-sm);color:var(--color-stone-500);line-height:var(--leading-relaxed);font-style:italic}.auth-verse span{font-size:var(--text-xs);color:var(--color-stone-400)}.auth-back{font-size:var(--text-sm);color:var(--color-stone-400);align-items:center;gap:.375rem;text-decoration:none;transition:color .2s;display:flex}.auth-back:hover{color:var(--color-stone-700)}@media (max-width:480px){.auth-form{padding:1.5rem}.auth-row{grid-template-columns:1fr}}
