.auth-page{display:grid;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1fr);background:var(--color-page-background-alt)}.auth-brand{display:inline-block}.auth-brand img{display:block;width:auto;height:2.5rem}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:1.25rem var(--spacing-page-mobile) 2rem}.auth-card{width:100%;max-width:26.875rem;padding:1.5rem 1.25rem;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.auth-title{margin:0 0 .375rem;font-size:1.5rem;font-weight:700}.auth-subtitle{margin:0 0 1.5rem;color:var(--color-text-secondary);font-size:.875rem;line-height:1.6}.auth-form{display:grid;gap:1rem}.auth-field{display:grid;gap:.375rem}.auth-field>label{color:var(--color-text-secondary);font-size:.8125rem}.auth-input,.password-input{position:relative;display:flex;align-items:center;border:1.5px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color .12s ease,box-shadow .12s ease}.auth-input:focus-within,.password-input:focus-within{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px rgb(255 153 0/.18)}.auth-input.is-valid{border-color:var(--color-success)}.auth-input.is-invalid,.password-input.is-invalid,.password-input:has([aria-invalid=true]){border-color:var(--color-danger)}.auth-input input,.password-input input{width:100%;min-width:0;height:3rem;padding:0 2.5rem 0 .875rem;border:0;border-radius:inherit;outline:none;color:var(--color-text-primary);background:transparent;font-size:1rem}.password-input input{padding-right:3.25rem}.auth-input-check{position:absolute;right:.875rem;color:var(--color-success);font-size:.875rem;font-weight:700}.password-toggle{position:absolute;right:.25rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;border:0;border-radius:var(--radius-xs);color:var(--color-text-primary);background:var(--color-brand-primary-soft);cursor:pointer}.password-toggle:focus-visible{outline:2px solid var(--color-brand-secondary);outline-offset:2px}.auth-field-error,.auth-field-help,.auth-field-success{margin:0;font-size:.75rem;line-height:1.5}.auth-field-help{color:var(--color-text-secondary)}.auth-field-help:empty,.auth-field-success:empty{display:none}.auth-field-success{color:var(--color-success)}.auth-field-error{color:var(--color-danger)}.password-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem;margin-top:.5rem}.password-meter span{height:.3rem;border-radius:var(--radius-pill);background:var(--color-divider)}.password-meter span.filled{background:var(--color-brand-primary)}.password-meter[data-score="1"] span.filled{background:var(--color-danger)}.password-meter-label{margin:0;color:var(--color-warning);font-size:.75rem;font-weight:600}.password-meter-label.score-3,.password-meter-label.score-4{color:var(--color-success)}.password-meter-label.score-0,.password-meter-label.score-1{color:var(--color-danger)}.auth-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8125rem}.auth-checkbox a,.auth-row a,.auth-switch a{color:var(--color-link);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-row a{font-weight:400}.auth-checkbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.8125rem;line-height:1.55}.auth-checkbox input{width:1.1rem;height:1.1rem;flex:none;margin:.15rem 0 0;accent-color:var(--color-brand-primary)}.auth-checkbox.is-invalid span{color:var(--color-danger)}.auth-submit{display:flex;width:100%;min-height:3.125rem;align-items:center;justify-content:center;gap:.625rem;border:0;border-radius:var(--radius-xs);color:var(--color-on-primary);background:var(--color-brand-primary);font-size:.95rem;font-weight:500;cursor:pointer}.auth-submit span[aria-hidden]{font-size:1.125rem}.auth-submit:hover{filter:brightness(.96)}.auth-submit:focus-visible{outline:3px solid var(--color-brand-secondary);outline-offset:2px}.auth-submit:disabled{cursor:progress;opacity:.75}.auth-secure-note{margin:0;color:var(--color-text-secondary);font-size:.75rem;text-align:center}.auth-switch{margin:.25rem 0 0;padding-top:1.125rem;border-top:1px solid var(--color-divider);font-size:.875rem;text-align:center}.auth-alert,.auth-notice{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5}.auth-notice{color:var(--color-success-strong);background:var(--color-success-surface)}.auth-alert{color:var(--color-danger-strong);background:var(--color-danger-surface)}.auth-form .auth-alert{margin:0}.auth-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;font-size:.75rem}.auth-legal a{color:var(--color-text-secondary)}@media (min-width:900px){.auth-main{padding:2.5rem}.auth-card{padding:2.125rem}.auth-title{font-size:1.625rem}}.auth-submit:disabled{cursor:not-allowed;opacity:.5}.auth-submit-hint{margin:-.25rem 0 0;color:var(--color-text-secondary);font-size:.8125rem;text-align:center}.auth-notice p{margin:.375rem 0 .75rem}.auth-link-button{padding:0;border:0;color:var(--color-link);background:none;font:inherit;font-size:.875rem;text-decoration:underline;cursor:pointer}.auth-phone select{flex:none;height:3rem;padding:0 .25rem 0 .75rem;border:0;border-right:1px solid var(--color-border-input);border-radius:var(--radius-sm) 0 0 var(--radius-sm);outline:none;color:var(--color-text-primary);background:transparent;font-size:1rem}.auth-otp-intro{display:flex;gap:.75rem;align-items:flex-start;padding:.875rem 1rem;border-radius:var(--radius-sm);background:rgb(255 153 0/.1)}.auth-otp-intro p{margin:0;font-size:.92rem;line-height:1.5}.auth-otp-icon{display:grid;flex:none;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;color:var(--color-text-primary);background:var(--color-brand-primary)}.auth-otp-input input{padding:0 .875rem;font-size:1.5rem;font-weight:600;letter-spacing:.5em;text-align:center}.auth-otp-actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}.auth-otp-actions .auth-link-button:disabled{color:var(--color-text-secondary);cursor:default;text-decoration:none}.auth-otp-intro strong{white-space:nowrap}.auth-google{display:inline-flex;gap:.75rem;align-items:center;justify-content:center;width:100%;min-height:3rem;padding:0 1rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface);font:inherit;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.auth-google:hover:not(:disabled){border-color:var(--color-text-secondary);box-shadow:0 1px 4px rgb(0 0 38/.1)}.auth-google:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.auth-google:disabled{cursor:progress;opacity:.7}.auth-divider{display:flex;gap:.75rem;align-items:center;margin:0;color:var(--color-text-secondary);font-size:.85rem}.auth-divider:after,.auth-divider:before{flex:1;height:1px;background:var(--color-border);content:""}