.auth-page{min-height:100dvh;display:flex}.auth-brand{background:var(--gradient-brand);flex-direction:column;flex-shrink:0;justify-content:space-between;width:40%;padding:3rem 2.5rem;display:none;position:relative;overflow:hidden}@media (width>=768px){.auth-brand{display:flex}}.auth-brand:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 20% 80%,#ffffff1f 0%,#0000 70%);position:absolute;inset:0}.auth-brand-logo{text-decoration:none;display:block}.auth-brand-logo img{filter:brightness(0)invert();width:auto;height:38px;display:block}.auth-brand-content{flex-direction:column;flex:1;justify-content:center;gap:2rem;display:flex}.auth-brand-headline{font-family:var(--font-display);color:#fff;font-size:2rem;font-weight:800;line-height:1.2}.auth-brand-sub{color:#ffffffd9;font-size:1rem;line-height:1.6}.auth-brand-stats{flex-direction:column;gap:.875rem;display:flex}.auth-brand-stat{color:#ffffffe6;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.auth-brand-stat-icon{background:#ffffff26;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.auth-brand-footer{color:#ffffff8c;font-size:.75rem}.auth-form-panel{background:var(--color-surface);flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.auth-form-wrap{width:100%;max-width:420px}.auth-mobile-logo{text-align:center;margin-bottom:2rem;display:block}@media (width>=768px){.auth-mobile-logo{display:none}}.auth-mobile-logo a{text-align:center;text-decoration:none;display:block}.auth-mobile-logo a img{width:auto;height:36px;display:inline-block}.auth-google-btn{border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-body);font-family:var(--font-sans);cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:.625rem;margin-bottom:1rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.auth-google-btn:hover{background:color-mix(in srgb, #4285f4 4%, var(--color-surface));border-color:#4285f4;box-shadow:0 2px 12px #4285f426}.auth-divider{color:var(--color-text-faint);align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:.8125rem;display:flex}.auth-heading{font-family:var(--font-display);color:var(--color-text-body);text-align:center;margin-bottom:.375rem;font-size:1.625rem;font-weight:800}.auth-subheading{color:var(--color-text-muted);text-align:center;margin-bottom:2rem;font-size:.875rem}.auth-flash-success{background:color-mix(in srgb, var(--color-correct) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-correct) 30%, transparent);color:var(--color-correct-dark);border-radius:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.auth-flash-error{background:color-mix(in srgb, var(--color-wrong) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-wrong) 25%, transparent);color:var(--color-wrong-dark);border-radius:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.auth-field{margin-bottom:1.125rem}.auth-label{color:var(--color-text-body);margin-bottom:.375rem;font-size:.875rem;font-weight:600;display:block}.auth-input{border:1.5px solid var(--color-border);width:100%;font-size:.9375rem;font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text-body);border-radius:.625rem;outline:none;padding:.6875rem .875rem;transition:border-color .15s,box-shadow .15s;display:block}.auth-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 12%, transparent)}.auth-input--error{border-color:var(--color-wrong)}.auth-input--error:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-wrong) 12%, transparent)}.auth-field-error{color:var(--color-wrong-dark);margin-top:.25rem;font-size:.75rem}.auth-password-hint{color:var(--color-text-faint);margin-top:.25rem;font-size:.7rem}.auth-check-row{align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.auth-check-row input[type=checkbox]{accent-color:var(--color-brand);cursor:pointer;flex-shrink:0;width:1rem;height:1rem}.auth-check-label{color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem}.auth-submit{width:100%;font-size:1rem;font-weight:700;font-family:var(--font-display);background:var(--color-brand);color:#fff;cursor:pointer;border:none;border-radius:.625rem;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.8125rem 1.5rem;transition:background .15s,transform .1s;display:flex}.auth-submit:hover{background:var(--color-brand-dark);transform:translateY(-1px)}.auth-submit:active{transform:translateY(0)}.auth-divider{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-divider span{color:var(--color-text-faint);white-space:nowrap;font-size:.75rem}.auth-footer-link{text-align:center;color:var(--color-text-muted);margin-top:.75rem;font-size:.875rem}.auth-footer-link a{color:var(--color-brand);font-weight:600;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.auth-forgot-link{text-align:right;color:var(--color-brand);margin-top:-.5rem;margin-bottom:1.25rem;font-size:.8125rem;text-decoration:none;display:block}.auth-forgot-link:hover{text-decoration:underline}.auth-terms-row{align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;display:flex}.auth-terms-row input[type=checkbox]{accent-color:var(--color-brand);cursor:pointer;flex-shrink:0;width:1rem;height:1rem;margin-top:.15rem}.auth-terms-row label{color:var(--color-text-muted);cursor:pointer;font-size:.8125rem;line-height:1.5}.auth-terms-row label a{color:var(--color-brand);text-decoration:underline}.auth-label-optional{color:var(--color-text-muted);margin-left:.25rem;font-size:.75rem;font-weight:400}.auth-phone-row{gap:.5rem;display:flex}.auth-select{appearance:none;background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-body);cursor:pointer;border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.auth-select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 15%, transparent);outline:none}.auth-phone-code{flex-shrink:0;width:12rem}.auth-phone-num{flex:1;min-width:0}.auth-terms-error{margin-top:-.75rem;margin-bottom:.75rem}.auth-page--centered{justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 1rem}.auth-form-panel--wide{width:100%;max-width:28rem;margin:0 auto}.auth-verify-icon{background:color-mix(in srgb, var(--color-brand) 10%, transparent);width:4rem;height:4rem;color:var(--color-brand);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.auth-verify-steps{background:var(--color-surface-alt);border-radius:.75rem;flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:1.25rem;display:flex}.auth-verify-step{color:var(--color-text-body);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.auth-verify-step-num{background:var(--color-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:flex}.auth-submit--ghost{color:var(--color-brand);border:1.5px solid var(--color-brand);background:0 0}.auth-submit--ghost:hover{background:color-mix(in srgb, var(--color-brand) 8%, transparent)}.auth-alert{border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-alert--success{color:#15803d;background:#16a34a1a;border:1px solid #16a34a40}.phone-picker-wrap{display:inline-block;position:relative}.phone-picker-btn{background:var(--color-white);border:1.5px solid var(--color-border);width:100%;height:2.75rem;color:var(--color-text);cursor:pointer;white-space:nowrap;text-align:left;border-radius:.5rem;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s;display:flex}.phone-picker-btn:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);outline:none}.phone-picker-chevron{color:var(--color-muted,#6b7280);flex-shrink:0;margin-left:auto;transition:transform .15s}.phone-picker-chevron--open{transform:rotate(180deg)}.phone-picker-dropdown{z-index:200;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:.625rem;width:18rem;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.phone-picker-search-wrap{border-bottom:1px solid var(--color-border);padding:.5rem}.phone-picker-search{border:1.5px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-surface,#f9fafb);border-radius:.375rem;outline:none;padding:.4375rem .625rem;font-size:.875rem;transition:border-color .15s}.phone-picker-search:focus{border-color:var(--color-primary)}.phone-picker-list{overscroll-behavior:contain;max-height:14rem;margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.phone-picker-option{cursor:pointer;color:var(--color-text);padding:.45rem .75rem;font-size:.875rem;transition:background .1s}.phone-picker-option:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.phone-picker-option--selected{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary);font-weight:600}.phone-picker-empty{color:var(--color-muted,#6b7280);text-align:center;padding:.75rem;font-size:.875rem}.phone-picker-enter{transition:opacity .12s,transform .12s}.phone-picker-enter-start{opacity:0;transform:translateY(-4px)}.phone-picker-enter-end{opacity:1;transform:translateY(0)}
