:root{--sbh-auth-grad-from:#4f46e5;--sbh-auth-grad-to:#7c3aed;--sbh-auth-grad-glow:rgba(79,70,229,.4);--sbh-auth-logo-glow:rgba(129,140,248,.3);--sbh-auth-hair:rgba(129,140,248,.4);--sbh-auth-card-shadow:0 32px 80px rgba(49,43,82,.18);--sbh-auth-ambient-a:rgba(79,70,229,.25);--sbh-auth-ambient-b:rgba(139,92,246,.12);--sbh-auth-focus:#6d52dd;--sbh-auth-danger:#d6455d;--sbh-auth-canvas:#f8fafc;--sbh-auth-card:#ffffff;--sbh-auth-raised:#f1f5f9;--sbh-auth-border:#e2e8f0;--sbh-auth-text:#171927;--sbh-auth-muted:#687083;--sbh-auth-good:#3fbf7f;--sbh-auth-warn:#f0a83c}.dark{--sbh-auth-canvas:#0a0a0f;--sbh-auth-card:#13131f;--sbh-auth-raised:#191c24;--sbh-auth-border:#2a2a40;--sbh-auth-text:#e7e7ea;--sbh-auth-muted:#9ba4b8;--sbh-auth-card-shadow:0 32px 80px rgba(0,0,0,.6)}.sb-auth{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:var(--sb-surface-canvas,var(--background,var(--sbh-auth-canvas)));color:var(--sb-text-primary,var(--foreground,var(--sbh-auth-text)));overflow:hidden}.sb-auth:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 60% at 50% -10%,var(--sb-auth-ambient-a,var(--sbh-auth-ambient-a)),transparent),radial-gradient(50% 40% at 80% 80%,var(--sb-auth-ambient-b,var(--sbh-auth-ambient-b)),transparent)}.sb-auth__col{position:relative;width:100%;max-width:24rem}.sb-auth__mark{display:flex;flex-direction:column;align-items:center;margin-bottom:40px}.sb-auth__logo--light{display:block}.dark .sb-auth__logo--light,.sb-auth__logo--dark{display:none}.dark .sb-auth__logo--dark{display:block}.sb-auth__logo{height:64px;width:auto;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 30px var(--sb-auth-logo-glow,var(--sbh-auth-logo-glow)))}.sb-auth__rule{display:flex;align-items:center;gap:8px;margin-top:20px;max-width:100vw}.sb-auth__hair{flex:none;width:48px;height:1px;background:linear-gradient(to right,transparent,var(--sb-auth-hair,var(--sbh-auth-hair)))}.sb-auth__rule .sb-auth__hair:last-child{background:linear-gradient(to left,transparent,var(--sb-auth-hair,var(--sbh-auth-hair)))}.sb-auth__product{color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-size:12px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap}.sb-auth__card{padding:32px;border:1px solid var(--sb-border-subtle,var(--border,var(--sbh-auth-border)));border-radius:16px;background:var(--sb-surface-card,var(--card,var(--sbh-auth-card)));backdrop-filter:blur(12px);box-shadow:var(--sb-auth-card-shadow,var(--sbh-auth-card-shadow))}.sb-auth__field+.sb-auth__field{margin-top:20px}.sb-auth__label{display:block;margin-bottom:6px;color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-size:12px;font-weight:500;letter-spacing:.025em;text-transform:uppercase}.sb-auth__input{width:100%;padding:12px 16px;border:1px solid var(--sb-border-subtle,var(--border,var(--sbh-auth-border)));border-radius:12px;background:var(--sb-surface-raised,var(--sbh-auth-raised));color:var(--sb-text-primary,var(--foreground,var(--sbh-auth-text)));font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.sb-auth__input::-moz-placeholder{color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)))}.sb-auth__input::placeholder{color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)))}.sb-auth__input:focus{outline:none;border-color:var(--sb-accent-primary,var(--sbh-auth-focus));box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-accent-primary,var(--sbh-auth-focus)) 28%,transparent)}.sb-auth__input:disabled{opacity:.7;cursor:not-allowed}.sb-auth__primary{width:100%;min-height:44px;margin-top:22px;border:0;border-radius:12px;background:linear-gradient(to right,var(--sb-auth-grad-from,var(--sbh-auth-grad-from)),var(--sb-auth-grad-to,var(--sbh-auth-grad-to)));box-shadow:0 4px 24px var(--sb-auth-grad-glow,var(--sbh-auth-grad-glow));color:#fff;font-size:14px;font-weight:600;letter-spacing:.025em;cursor:pointer;transition:box-shadow .3s ease,transform .3s ease,opacity .2s ease}.sb-auth__primary:hover:not(:disabled){box-shadow:0 4px 32px var(--sb-auth-grad-glow,var(--sbh-auth-grad-glow));transform:translateY(-2px)}.sb-auth__primary:active:not(:disabled){transform:none}.sb-auth__primary:disabled{opacity:.5;cursor:default}.sb-auth__error{margin:0 0 16px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--sb-accent-coral,var(--sbh-auth-danger)) 40%,transparent);border-radius:10px;background:color-mix(in srgb,var(--sb-accent-coral,var(--sbh-auth-danger)) 12%,transparent);font-size:13px}.sb-auth__error,.sb-auth__fielderr{color:var(--sb-accent-coral,var(--sbh-auth-danger))}.sb-auth__fielderr{margin:6px 0 0;font-size:11px;line-height:1.4}.sb-auth__hint{margin-top:6px;display:flex;justify-content:flex-end}.sb-auth__hint a{color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-size:12px;text-decoration:none}.sb-auth__hint a:hover{color:var(--sb-accent-primary,var(--sbh-auth-focus))}.sb-auth__links{margin-top:18px;display:flex;flex-direction:column;gap:8px;align-items:center}.sb-auth__links a,.sb-auth__links button{padding:0;border:0;background:none;color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-family:inherit;font-size:12px;text-decoration:none;cursor:pointer}.sb-auth__links a:hover,.sb-auth__links button:hover{color:var(--sb-accent-primary,var(--sbh-auth-focus))}.sb-auth__links button:disabled{opacity:.5;cursor:default}.sb-auth__select{width:100%;padding:12px 10px;border:1px solid var(--sb-border-subtle,var(--border,var(--sbh-auth-border)));border-radius:12px;background:var(--sb-surface-raised,var(--sbh-auth-raised));color:var(--sb-text-primary,var(--foreground,var(--sbh-auth-text)));font-family:inherit;font-size:14px}.sb-auth__select:focus{outline:none;border-color:var(--sb-accent-primary,var(--sbh-auth-focus));box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-accent-primary,var(--sbh-auth-focus)) 28%,transparent)}.sb-auth__row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sb-auth__note{margin:0 0 16px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--sb-auth-note,var(--sbh-auth-muted)) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--sb-auth-note,var(--sbh-auth-muted)) 10%,transparent);color:var(--sb-text-primary,var(--foreground,var(--sbh-auth-text)));font-size:12px;line-height:1.5}.sb-auth__note+.sb-auth__note{margin-top:-4px}.sb-auth__note strong{display:block;margin-bottom:2px;font-weight:600}.sb-auth__note[data-tone=good]{--sb-auth-note:var(--sb-accent-green,var(--sbh-auth-good))}.sb-auth__note[data-tone=warn]{--sb-auth-note:var(--sb-accent-amber,var(--sbh-auth-warn))}.sb-auth__note[data-tone=bad]{--sb-auth-note:var(--sb-accent-coral,var(--sbh-auth-danger))}.sb-auth__note[data-tone=quiet]{--sb-auth-note:var(--sbh-auth-muted)}.sb-auth__note-label{display:block;margin-bottom:3px;color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-size:11px;letter-spacing:.025em;text-transform:uppercase}.sb-auth__policy{max-height:min(46vh,300px);overflow-y:auto;padding:14px;border:1px solid var(--sb-border-subtle,var(--border,var(--sbh-auth-border)));border-radius:12px;background:var(--sb-surface-raised,var(--sbh-auth-raised));font-size:12px;line-height:1.6}.sb-auth__policy :is(h1,h2,h3){font-size:13px;margin:12px 0 4px}.sb-auth__policy :first-child{margin-top:0}.sb-auth__card .sb-tabs{margin-bottom:12px}.sb-auth__footer{margin-top:22px;display:flex;align-items:center;gap:12px;color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-size:12px}.sb-auth__footer:after,.sb-auth__footer:before{content:"";flex:1;height:1px;background:var(--sb-border-subtle,var(--border,var(--sbh-auth-border)))}.sb-auth__lede{margin:0;color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));font-size:13px;line-height:1.5;text-align:center}.sb-auth__wrap{position:relative}.sb-auth__wrap .sb-auth__input{padding-right:44px}.sb-auth__reveal{position:absolute;inset-block:0;right:8px;display:flex;align-items:center;padding:0 6px;border:0;background:none;color:var(--sb-text-muted,var(--muted,var(--sbh-auth-muted)));cursor:pointer}.sb-auth__reveal svg{width:18px;height:18px;display:block}.sb-auth__reveal:hover{color:var(--sb-text-primary,var(--foreground,var(--sbh-auth-text)))}