.auth-root{position:fixed;inset:0;z-index:0;background:var(--salon-app-bg);color:var(--salon-text);min-height:100vh;min-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.auth-root *{box-sizing:border-box}.auth-scroll{min-height:100%;min-height:100dvh}.auth-bg-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(var(--salon-primary-rgb),.08) 0,rgba(var(--salon-primary-rgb),.04) 40%,transparent 70%)}@keyframes auth-card-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.auth-card-animate{animation:auth-card-in .4s ease-out forwards}.auth-card-outer{border-radius:var(--salon-radius);background:var(--salon-surface);box-shadow:var(--salon-shadow-accent),var(--salon-shadow-2);border:1px solid var(--salon-border)}.auth-card-inner{position:relative;background:var(--salon-surface);color:var(--salon-text);border-radius:calc(var(--salon-radius) - 1px)}.auth-title{font-size:1.875rem;font-weight:600}.auth-heading,.auth-title{letter-spacing:-.02em;color:var(--salon-text)}.auth-heading{font-size:1.25rem;font-weight:700}.auth-subtitle{font-size:1rem;font-weight:500;color:var(--salon-text-2)}.auth-muted{font-size:.8125rem;color:var(--salon-muted)}.auth-label{display:block;font-size:.875rem;font-weight:500;color:var(--salon-text-2);margin-bottom:.375rem}.auth-input{width:100%;height:2.75rem;padding-left:2.5rem;padding-right:1rem;border-radius:var(--salon-radius-sm);border:1px solid var(--salon-border-strong);background:var(--salon-surface-2);color:var(--salon-text);font-size:.875rem;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.auth-input::placeholder{color:var(--salon-muted-2)}.auth-input:focus{background:var(--salon-surface);border-color:var(--salon-primary);box-shadow:0 0 0 3px var(--salon-ring)}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-input-with-toggle{padding-right:2.75rem}.auth-input-icon{left:.75rem;width:1rem;height:1rem;pointer-events:none}.auth-input-icon,.auth-toggle-btn{position:absolute;top:50%;transform:translateY(-50%);color:var(--salon-muted)}.auth-toggle-btn{right:.75rem;padding:.25rem;border-radius:.5rem;background:transparent;border:none;cursor:pointer;transition:color .2s,background .2s}.auth-toggle-btn:hover:not(:disabled){color:var(--salon-text);background:var(--salon-soft-hover)}.auth-toggle-btn:focus{outline:none;box-shadow:0 0 0 2px var(--salon-ring)}.auth-toggle-btn:disabled{opacity:.5}.auth-btn-primary{background:var(--salon-primary-solid);color:var(--salon-on-primary);box-shadow:var(--salon-shadow-accent);transition:background .2s,transform .2s,box-shadow .2s}.auth-btn-primary:hover:not(:disabled){background:var(--salon-primary-solid-hover);box-shadow:none;transform:translateY(-1px)}.auth-btn-primary:focus{outline:none;box-shadow:0 0 0 3px var(--salon-ring-strong)}.auth-btn-primary:disabled{opacity:.7;cursor:not-allowed}.auth-btn{width:100%;min-height:2.75rem;height:2.75rem;border-radius:var(--salon-radius-sm);font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.auth-btn-secondary{background:transparent;color:var(--salon-primary-text);border:2px solid var(--salon-primary);transition:background .2s,color .2s}.auth-btn-secondary:hover:not(:disabled){background:var(--salon-accent-bg)}.auth-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.auth-link{font-size:.875rem;font-weight:500;color:var(--salon-primary-text);text-decoration:none;transition:color .2s,text-decoration .2s}.auth-link:hover{color:var(--salon-primary-solid-hover);text-decoration:underline}.auth-link-muted{font-size:.75rem;color:var(--salon-muted)}.auth-link-muted:hover{color:var(--salon-text)}.auth-alert{border-radius:var(--salon-radius-sm);padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .2s}.auth-alert-error{border:1px solid var(--salon-danger-border);background:var(--salon-danger-bg);color:var(--salon-danger)}.auth-alert-success{border:1px solid var(--salon-success-border);background:var(--salon-success-bg);color:var(--salon-success)}.auth-alert-warning{border:1px solid var(--salon-warning-border);background:var(--salon-warning-bg);color:var(--salon-warning)}.auth-alert-info{border:1px solid var(--salon-accent-border);background:var(--salon-accent-bg);color:var(--salon-primary-text)}.auth-divider{border-top:1px solid var(--salon-border)}.auth-card-padding{padding:1.5rem}@media (min-width:768px){.auth-card-padding{padding:2.5rem}}.auth-page-wrap{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3.5rem 1rem 2.5rem}@media (min-width:768px){.auth-page-wrap{justify-content:center;padding:0 1rem}.auth-page-card{margin-top:-3rem}}.auth-page-card{width:100%;max-width:420px;flex-shrink:0}.auth-lang-switch{position:fixed;top:1rem;right:1rem;z-index:20}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.375rem}.auth-label-row .auth-label{margin-bottom:0}.auth-only-mobile{display:none}.auth-info-btn{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--salon-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.auth-info-btn[aria-expanded=true]{background:rgba(var(--salon-primary-rgb),.1);color:var(--salon-primary-text)}.auth-info-note{margin-top:.375rem;padding:8px 10px;border-radius:10px;background:var(--salon-surface-2);color:var(--salon-muted);font-size:12px;font-weight:600;line-height:1.35}.auth-referral-toggle{align-items:center;gap:6px;align-self:flex-start;padding:2px 0;border:0;background:transparent;cursor:pointer}.auth-sent-to{margin-top:8px;font-size:14px;font-weight:600;color:var(--salon-text);word-break:break-all}@media (max-width:767px){.auth-page-wrap{min-height:100dvh;padding:56px 16px calc(20px + env(safe-area-inset-bottom))}.auth-lang-switch{position:absolute;top:10px;right:12px}.auth-page-card{max-width:440px}.auth-card-inner,.auth-card-outer{border:0;border-radius:0;background:transparent;box-shadow:none}.auth-card-padding{padding:0}.auth-head{margin-bottom:20px}.auth-logo{width:auto;height:56px}.auth-title{font-size:22px;line-height:1.2}.auth-heading{font-size:17px;line-height:1.3}.auth-subtitle{margin-top:4px;font-size:15px;line-height:1.35}.auth-muted{font-size:13px;line-height:1.4}.auth-hide-mobile{display:none}.auth-only-mobile{display:block}.auth-btn.auth-only-mobile,.auth-referral-toggle.auth-only-mobile{display:inline-flex}.auth-pw-hint{font-size:12px}.auth-pw-hint-ok{color:var(--salon-success);font-weight:600}.auth-pw-hint-ok:before{content:"✓ "}.auth-form{gap:14px}.auth-label{font-size:13px;font-weight:600}.auth-label,.auth-label-row{margin-bottom:6px}.auth-input{height:48px;padding-left:42px;border-radius:12px;font-size:16px}.auth-input-with-toggle{padding-right:48px}.auth-input-icon{left:14px;width:18px;height:18px}.auth-toggle-btn{right:4px;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:10px}.auth-btn{width:100%;height:48px;min-height:48px;border-radius:12px;font-size:16px}.auth-btn-primary:hover:not(:disabled){transform:none}.auth-btn-secondary{border-width:1.5px}.auth-link{font-size:14px;font-weight:600}.auth-alert,.auth-link-muted{font-size:13px}.auth-alert{padding:10px 12px;border-radius:12px;line-height:1.4}.auth-divider{margin-top:20px;padding-top:16px}}.auth-root{background:#fff}.auth-bg-glow{background:radial-gradient(ellipse 70% 60% at 50% 35%,rgba(249,168,212,.14) 0,rgba(147,197,253,.1) 45%,transparent 75%)}.auth-input{border:1px solid var(--salon-input-border);background:#fff}.auth-input:focus{border-color:var(--salon-focus);box-shadow:0 0 0 3px rgba(var(--salon-primary-rgb),.12)}.auth-btn-primary,.auth-btn-primary:hover:not(:disabled){background:var(--salon-primary-solid);color:#fff;font-weight:800;box-shadow:none;transform:none}.auth-btn-primary:hover:not(:disabled){filter:brightness(.97)}.auth-btn-secondary,.auth-btn-secondary:hover:not(:disabled){border:1.5px solid transparent;color:var(--salon-text);font-weight:700;background:linear-gradient(#fff,#fff) padding-box,var(--salon-frame) border-box}.auth-brand{display:none}@media (min-width:768px){.auth-card-outer{border-radius:20px;border:1px solid var(--border);box-shadow:none}.auth-card-inner{border-radius:19px}.auth-input{height:2.875rem;border-radius:12px;font-weight:600}.auth-btn,.auth-btn-secondary,.auth-btn-secondary:hover:not(:disabled){border-radius:14px}}@media (min-width:1024px){.auth-page-wrap{display:grid;grid-template-columns:minmax(380px,46%) 1fr;align-items:stretch;justify-items:center;min-height:100vh;min-height:100dvh;padding:0}.auth-page-card{grid-column:2;grid-row:1;align-self:center;margin-top:0;max-width:380px}.auth-card-outer{border:0}.auth-card-inner,.auth-card-outer{background:transparent}.auth-bg-glow{left:46%}.auth-brand{grid-column:1;grid-row:1;position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;overflow:hidden;padding:3rem;background:linear-gradient(150deg,#fbcfe8,#e9d5ff 35%,#bfdbfe 70%,#ddd6fe);background:linear-gradient(150deg in oklch,#fbcfe8,#bfdbfe 60%,#ddd6fe);color:#3b1f5c}.auth-brand:after,.auth-brand:before{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.28);pointer-events:none}.auth-brand:before{width:340px;height:340px;top:-120px;right:-100px}.auth-brand:after{width:240px;height:240px;bottom:-90px;left:-70px}.auth-brand-inner{position:relative;z-index:1;max-width:380px}.auth-brand-logo{display:flex;align-items:center;gap:12px}.auth-brand .auth-brand-name,.auth-brand-logo{font-size:30px;font-weight:800;letter-spacing:-.03em;color:#2e1847}.auth-brand-logo img{width:56px;height:56px;padding:6px;border-radius:16px;background:rgba(255,255,255,.7)}.auth-brand-tagline{margin-top:20px;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.01em;color:#2e1847}.auth-brand-features{display:flex;flex-direction:column;gap:12px;margin-top:28px;padding:0;list-style:none}.auth-brand-features li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#3b1f5c}.auth-brand-feature-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.65);color:#7c3aed}.auth-page-card .auth-logo{height:56px}}@media (min-width:768px){.auth-btn-secondary:hover:not(:disabled){filter:brightness(.98)}.auth-page-card .auth-divider{margin-top:1.5rem;padding-top:1.25rem}}.auth-lang-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 10px 0 5px;border:1.5px solid transparent;border-radius:999px;background:linear-gradient(#fff,#fff) padding-box,var(--salon-frame) border-box;color:var(--salon-text);cursor:pointer;transition:filter .15s}.auth-lang-btn:hover{filter:brightness(.98)}.auth-lang-flag{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;overflow:hidden;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.auth-lang-flag svg{width:150%;height:150%;max-width:none}.auth-lang-flag-lg{width:28px;height:28px}.auth-lang-btn .auth-lang-abbr{font-size:13px;font-weight:800;letter-spacing:.02em}.auth-lang-chevron{color:var(--salon-muted);transition:transform .15s}.auth-lang-chevron-open{transform:rotate(180deg)}.auth-lang-menu{position:fixed;z-index:50;min-width:220px;max-height:80vh;overflow-y:auto;padding:6px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 16px 36px -18px rgba(var(--neutral-900-rgb),.35);animation:auth-lang-in .14s ease-out}@keyframes auth-lang-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.auth-lang-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px 6px 8px;border:0;border-radius:12px;background:transparent;color:var(--salon-text);text-align:left;cursor:pointer}.auth-lang-item:hover{background:var(--neutral-50)}.auth-lang-item-active,.auth-lang-item-active:hover{background:var(--salon-accent-bg)}.auth-lang-item-text{display:flex;flex:1;flex-direction:column;min-width:0}.auth-lang-item .auth-lang-item-label{font-size:14px;font-weight:700;line-height:1.2}.auth-lang-item .auth-lang-item-abbr{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--salon-muted)}.auth-lang-check{flex-shrink:0;color:#8b5cf6}@media (min-width:768px){.auth-card-padding{padding:1.75rem 2rem}.auth-page-card .auth-head{margin-bottom:1.25rem}.auth-page-card .auth-logo{height:52px}.auth-page-card .auth-title{margin-top:.25rem;font-size:1.625rem;font-weight:800}.auth-page-card .auth-subtitle{margin-top:.25rem}.auth-form{gap:.875rem}.auth-page-card .auth-divider{margin-top:1.25rem;padding-top:1rem}.auth-page-card{max-width:380px}}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:active,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 1000px #fff!important;box-shadow:inset 0 0 0 1000px #fff!important;-webkit-text-fill-color:var(--salon-text)!important;caret-color:var(--salon-text);transition:background-color 9999s ease-out 0s}.auth-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset,0 0 0 3px rgba(var(--salon-primary-rgb),.12)!important;box-shadow:0 0 0 1000px #fff inset,0 0 0 3px rgba(var(--salon-primary-rgb),.12)!important}.auth-input:autofill{background:#fff}.auth-alert{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:8px;padding:8px 12px;border-radius:12px;font-size:13px;font-weight:600;line-height:1.4}.auth-alert>*{grid-column:2;margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}.auth-alert:before{grid-column:1;grid-row:1;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border-radius:999px;background:currentColor;color:#fff;font-size:11px;font-weight:800;line-height:1;content:"!";-webkit-text-fill-color:#fff}.auth-alert-success:before{content:"✓"}.auth-alert-info:before{content:"i";font-style:italic}.auth-alert-error{border:1px solid rgba(220,38,38,.22);background:rgba(220,38,38,.06);color:#b91c1c;animation:authShake .35s ease-in-out}@keyframes authShake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}@media (prefers-reduced-motion:reduce){.auth-alert-error{animation:none}}.auth-alert:before{background:var(--auth-alert-tone,#dc2626)}.auth-alert-error{--auth-alert-tone:#dc2626}.auth-alert-success{--auth-alert-tone:#16a34a}.auth-alert-warning{--auth-alert-tone:#d97706}.auth-alert-info{--auth-alert-tone:var(--salon-primary)}.dark .auth-root{color-scheme:light;--salon-app-bg:#f8fbfa;--salon-surface:#fafcfb;--salon-surface-2:#f5f9f7;--salon-text:#000000;--salon-text-2:#000000;--salon-muted:#000000;--salon-muted-2:#000000;--salon-border:rgba(20,18,26,0.10);--salon-border-strong:rgba(20,18,26,0.18);--border:var(--salon-border);--salon-soft-hover:rgba(20,18,26,0.045);--salon-shadow-accent:0 12px 34px rgba(var(--salon-primary-rgb),0.12);--salon-shadow-2:0 8px 18px rgba(17,17,17,0.06);--salon-on-primary:#ffffff}