.auth-container{width:100%;max-width:420px}.auth-card{background:var(--pm-surface,#fff);border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.auth-title{text-align:center;color:var(--pm-text,#111827);margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.auth-subtitle{color:var(--pm-text-muted,#6b7280);text-align:center;margin:0 0 1.5rem;font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form .form-group{flex-direction:column;gap:.375rem;display:flex}.auth-form .form-group--checkbox{flex-direction:row;align-items:flex-start;gap:.5rem}.auth-form .form-group--checkbox input{flex-shrink:0;width:1rem;height:1rem;margin-top:.15rem}.auth-form .form-group--checkbox label{color:var(--pm-text-muted,#6b7280);font-size:.875rem;line-height:1.4}.auth-form .form-group--checkbox a{color:var(--pm-accent,#24479a);text-decoration:none}.auth-form .form-group--checkbox a:hover{text-decoration:underline}.auth-form .form-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.auth-form .forgot-link{color:var(--pm-accent,#24479a);font-size:.875rem;text-decoration:none}.auth-form .forgot-link:hover{text-decoration:underline}.auth-form .form-label{color:var(--pm-text,#374151);font-size:.875rem;font-weight:500}.auth-form .form-label-optional{color:var(--pm-text-muted,#6b7280);font-weight:400}.auth-form .form-input{border:1px solid var(--pm-border-strong,#d1d5db);background:var(--pm-surface,#fff);color:var(--pm-text,#111827);border-radius:.5rem;padding:.625rem .75rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth-form .form-input:focus{border-color:var(--pm-accent,#24479a);box-shadow:0 0 0 3px var(--pm-accent-soft,#24479a26);outline:none}.auth-form .form-input::placeholder{color:#9ca3af}.auth-form .form-input:disabled{opacity:.7;cursor:not-allowed}.auth-form .phone-input-row{align-items:stretch;gap:.5rem;display:flex}.auth-form .phone-dial-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;flex:none;width:auto;min-width:7.25rem;max-width:9rem;padding-right:1.75rem}.auth-form .phone-local-input{flex:auto;min-width:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin:0;padding:.65rem .75rem;font-size:.875rem;line-height:1.4}.auth-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.5rem;margin:0 0 1rem;padding:.65rem .75rem;font-size:.875rem;line-height:1.4}.auth-form .btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.auth-form .btn:disabled{opacity:.65;cursor:not-allowed}.auth-form .btn--primary{background:var(--pm-accent,#24479a);color:var(--pm-text-on-accent,#fff)}.auth-form .btn--primary:hover:not(:disabled){background:var(--pm-accent-strong,#1b3678)}.auth-form .btn--full{width:100%}.auth-form .btn--secondary{color:var(--pm-text,#111827);border:1px solid var(--pm-border-strong,#d1d5db);background:0 0}.auth-form .btn--secondary:hover:not(:disabled){background:var(--pm-surface-muted,#f9fafb)}.auth-form .btn--ghost{color:var(--pm-accent,#24479a);background:0 0;border:none;padding:.5rem;font-size:.875rem;font-weight:500}.auth-form .btn--ghost:hover:not(:disabled){text-decoration:underline}.auth-tabs{background:var(--pm-surface-muted,#f3f4f6);border-radius:.5rem;grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:1.25rem;padding:.25rem;display:grid}.auth-tab{color:var(--pm-text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.auth-tab--active{background:var(--pm-surface,#fff);color:var(--pm-text,#111827);box-shadow:0 1px 2px #0000000f}.auth-tab:disabled{opacity:.65;cursor:not-allowed}.auth-hint{color:var(--pm-text-muted,#6b7280);margin:0;font-size:.875rem;line-height:1.4}.auth-divider{color:var(--pm-text-muted,#9ca3af);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--pm-border-strong,#e5e7eb);flex:1;height:1px}.auth-card>.btn--secondary{cursor:pointer;width:100%;color:var(--pm-text,#111827);border:1px solid var(--pm-border-strong,#d1d5db);background:0 0;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.auth-card>.btn--secondary:hover:not(:disabled){background:var(--pm-surface-muted,#f9fafb)}.auth-card>.btn--secondary:disabled{opacity:.65;cursor:not-allowed}.social-login{flex-direction:column;gap:.75rem;display:flex}.social-login .btn--social,.social-login .btn--secondary{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.social-login .btn--social{border:1px solid var(--pm-border-strong,#d1d5db);color:var(--pm-text,#111827);background:#fff}.social-login .btn--social:hover:not(:disabled){background:var(--pm-surface-muted,#f9fafb)}.social-login .btn--apple{color:#fff;background:#000;border-color:#000}.social-login .btn--apple:hover:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.social-login .btn--secondary{color:var(--pm-text,#111827);border:1px solid var(--pm-border-strong,#d1d5db);background:0 0}.social-login .btn--secondary:hover:not(:disabled){background:var(--pm-surface-muted,#f9fafb)}.social-login .btn--social:disabled,.social-login .btn--secondary:disabled{opacity:.65;cursor:not-allowed}.social-icon{flex-shrink:0}.auth-card>.auth-error{margin-bottom:1rem}.auth-footer{text-align:center;color:var(--pm-text-muted,#6b7280);margin-top:1.5rem;font-size:.875rem}.auth-footer a{color:var(--pm-accent,#24479a);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}
