.auth-page-wrap{min-height:100vh;padding:var(--space-6) var(--space-4);background:var(--canvas);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card-lg);width:100%;max-width:440px;box-shadow:none;padding:40px}.auth-card--lg{max-width:480px}.auth-card--wide{max-width:560px}.auth-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-logo__mark{flex-shrink:0;justify-content:center;align-items:center;height:40px;display:flex}.auth-logo__name{color:var(--color-text-primary);letter-spacing:-.025em;font-size:18px;font-weight:700}.auth-heading{font-size:28px;line-height:var(--text-2xl-lh);color:var(--color-text-primary);text-align:center;margin:0 0 var(--space-2);letter-spacing:-.04em;font-weight:600}.auth-sub{color:var(--color-text-tertiary);text-align:center;margin:0 0 var(--space-6);font-size:14px;line-height:1.6}.social-btn{justify-content:center;align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);cursor:pointer;width:100%;height:44px;color:var(--color-text-primary);font-size:13px;font-weight:500;font-family:var(--font-sans);margin-bottom:var(--space-4);transition:border-color .18s var(--ease-ui), background .18s var(--ease-ui), color .18s var(--ease-ui);box-shadow:var(--shadow-seg);display:flex}.social-btn:hover{border-color:var(--color-text-primary);background:var(--color-bg-subtle)}.or-divider{align-items:center;gap:var(--space-3);margin:var(--space-4) 0;display:flex}.or-divider__line{background:var(--color-border);flex:1;height:.5px}.or-divider__text{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:9px}.auth-field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.auth-field__label{font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:0;text-transform:none;font-size:12px;font-weight:500}.auth-field__input{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color .16s var(--ease-ui), box-shadow .16s var(--ease-ui), background .16s var(--ease-ui);min-height:48px;display:flex;position:relative}.auth-field__input input,.auth-field__input select{color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:0}.auth-field__input input::placeholder{color:var(--color-text-tertiary)}.auth-field__input:focus-within{border-color:var(--ink-faint);box-shadow:0 0 0 3px var(--focus-ring)}.auth-field__input--error{border-color:var(--status-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-error) 12%, transparent)}.auth-field__input--filled{border-color:var(--color-border-strong)}.auth-field__helper{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:var(--text-xs-lh)}.auth-field__error{font-size:var(--text-sm);color:var(--status-error);align-items:center;gap:4px;display:flex}.auth-link{color:var(--ink);text-underline-offset:3px;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline;text-decoration-thickness:.5px}.auth-link:hover{opacity:.65}.auth-link--button{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text-secondary);transition:border-color .18s var(--ease-ui), color .18s var(--ease-ui), background .18s var(--ease-ui);padding:7px 14px;font-size:12px;text-decoration:none}.auth-link--button:hover{background:var(--color-bg-subtle);border-color:var(--color-text-primary);color:var(--color-text-primary);opacity:1}.auth-btn{justify-content:center;align-items:center;gap:var(--space-2);background:var(--btn-primary);width:100%;height:44px;color:var(--btn-primary-ink);border-radius:var(--radius-control);font-family:var(--font-sans);cursor:pointer;margin-top:var(--space-2);transition:opacity .18s var(--ease-ui), transform .18s var(--ease-ui);box-shadow:var(--shadow-button);border:none;min-height:46px;font-size:13px;font-weight:600;display:flex}.auth-btn:hover:not(:disabled){background:var(--btn-primary-hover)}.auth-btn:disabled{background:var(--color-bg-subtle);color:var(--color-text-disabled);cursor:not-allowed}.auth-btn--loading{cursor:not-allowed;opacity:.85}@keyframes spin-auth{to{transform:rotate(360deg)}}.spinner{border:2px solid color-mix(in srgb, var(--accent-ink) 35%, transparent);border-top-color:var(--accent-ink);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin-auth}[data-theme=dark] .auth-btn .spinner,.dark .auth-btn .spinner{border-color:var(--line-strong);border-top-color:var(--ink)}.auth-footer{text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-5)}.auth-privacy{text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-3);line-height:18px}.pw-toggle{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.pw-toggle:hover{color:var(--color-text-primary)}.forgot-row{margin-top:-8px;margin-bottom:var(--space-4);justify-content:flex-end;display:flex}.confirm-icon{width:52px;height:52px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent);justify-content:center;align-items:center;display:flex}.resend-row{text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-4)}.resend-success{color:var(--status-success);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.progress-bar{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.progress-bar__text{font-family:var(--font-mono);color:var(--color-text-tertiary);letter-spacing:.12em;margin-right:var(--space-2);font-size:9px;font-weight:400}.progress-dot{border-radius:var(--radius-full);background:var(--color-border);width:8px;height:8px;transition:background .2s}.progress-dot.is-active{background:var(--color-accent)}.progress-dot.is-done{background:var(--color-accent);opacity:.45}.account-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.account-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;background:var(--color-surface);transition:border-color .16s var(--ease-ui), background .16s var(--ease-ui), transform .16s var(--ease-ui);position:relative}.account-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.account-card.is-selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.account-card__check{border-radius:var(--radius-full);background:var(--color-accent);width:18px;height:18px;color:var(--accent-ink);justify-content:center;align-items:center;display:none;position:absolute;top:10px;right:10px}.account-card.is-selected .account-card__check{display:flex}.account-card__icon{color:var(--color-accent);margin-bottom:var(--space-3)}.account-card__name{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:4px;font-weight:600}.account-card__desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--text-sm-lh);margin-bottom:4px}.account-card__eg{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:var(--text-xs-lh)}.seg-control{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.seg-opt{height:44px;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;border-right:1px solid var(--color-border);background:var(--color-surface);justify-content:center;align-items:center;font-weight:500;display:flex}.seg-opt:last-child{border-right:0}.seg-opt.is-active{background:var(--color-accent);color:var(--color-text-inverse)}.phone-row{border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface-raised);height:44px;display:flex;overflow:hidden}.phone-row__prefix{background:var(--color-bg-subtle);border-right:1px solid var(--color-border);font-family:var(--font-mono);color:var(--color-text-secondary);flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:10px;font-weight:400;display:flex}.phone-row__input{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:0 0;border:0;outline:0;flex:1;padding:0 12px}.phone-row__input::placeholder{color:var(--color-text-tertiary)}.select-wrap{height:44px;padding:0 var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-input);align-items:center;display:flex;position:relative}.select-wrap select{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);appearance:none;cursor:pointer;background:0 0;border:0;outline:0;flex:1}.select-wrap__icon{color:var(--color-text-tertiary);pointer-events:none;flex-shrink:0}.avatar-upload{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);cursor:pointer;flex-direction:column;display:flex}.avatar-upload__ring{border-radius:var(--radius-full);background:var(--color-bg-subtle);border:.5px dashed var(--color-border-strong);width:80px;height:80px;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.avatar-upload__ring--filled{background:linear-gradient(135deg, var(--neutral-300), var(--neutral-500));border-style:solid;border-color:var(--color-border);color:#fff}.avatar-upload__label{font-size:var(--text-sm);color:var(--color-text-primary);text-underline-offset:2px;text-decoration:underline}.booking-box{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.booking-box__url{font-size:var(--text-base);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;font-family:var(--font-mono);flex:1;overflow:hidden}.booking-box__copy{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.booking-box__copy.is-copied{color:var(--status-success)}.copy-confirm{text-align:center;font-size:var(--text-sm);color:var(--color-success);margin-bottom:var(--space-4);justify-content:center;align-items:center;gap:6px;display:flex}.share-row{gap:var(--space-6);margin-bottom:var(--space-5);justify-content:center;display:flex}.share-item{cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;display:flex}.share-item__icon{border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.share-item__icon:hover{border-color:var(--color-border-strong)}.share-item__label{font-size:var(--text-xs);font-weight:var(--text-xs-weight)}.booking-explainer{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--space-5)}.whats-next{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;display:flex}.next-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;display:flex}.next-row__icon{border-radius:var(--radius-md);background:var(--color-accent-subtle);width:32px;height:32px;color:var(--color-accent-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.next-row__title{font-size:var(--text-base);color:var(--color-text-primary);font-weight:500}.next-row__sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.success-icon{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-inverse);justify-content:center;align-items:center;display:flex}.back-btn{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);margin-bottom:var(--space-5);background:0 0;border:none;padding:0;display:inline-flex}.back-btn:hover{color:var(--color-text-primary)}.skip-link{text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-3);cursor:pointer}@media (max-width:480px){.auth-card{padding:28px 24px}}.auth-split{background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:100vh;padding:12px;display:grid}.auth-split__form{flex-direction:column;align-items:center;padding:40px 24px 24px;display:flex}.auth-split__inner{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:420px;display:flex}.auth-split .auth-card{background:0 0;border:0;max-width:none;padding:0}.auth-split .auth-heading{text-align:center;letter-spacing:-.025em;margin-top:0;font-size:26px}.auth-split .auth-sub{margin-bottom:32px}.auth-split .auth-logo{margin-bottom:20px}.auth-split .social-btn{border-radius:var(--radius-input);height:52px;min-height:52px;box-shadow:none;font-size:15px;position:relative}.social-btn__icon{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);place-items:center;width:36px;height:36px;display:grid;position:absolute;left:8px}.auth-split .or-divider{margin:24px 0}.auth-split .auth-field__label{font-family:var(--font-sans);color:var(--ink);font-size:14px}.auth-split .auth-field__input{border-radius:var(--radius-input);height:48px}.auth-error{color:var(--color-error);align-items:center;gap:8px;margin:-4px 0 14px;font-size:14px;line-height:1.4;display:flex}.auth-error__icon{border-radius:var(--radius-pill);background:var(--color-error);width:18px;height:18px;color:var(--surface);flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.auth-split .forgot-row{margin:0 0 20px}.auth-link--plain{font-weight:500;text-decoration:none}.auth-link--plain:hover{opacity:1;text-decoration:underline}.auth-split .auth-btn{border-radius:var(--radius-input);height:48px;min-height:48px;font-size:15px}.auth-split .auth-footer{margin-top:28px;font-size:14px}.auth-terms{color:var(--ink-muted);text-align:center;margin:24px 0 0;font-size:12.5px}.auth-terms a{color:var(--ink);font-weight:500;text-decoration:none}.auth-terms a:hover{text-decoration:underline}.auth-showcase{border:1px solid var(--line);border-radius:var(--radius-card-lg);background-color:var(--surface-2);background-image:radial-gradient(var(--line-strong) 1px, transparent 1px);background-size:18px 18px;flex-direction:column;justify-content:center;align-items:center;gap:48px;padding:48px 40px 72px;display:flex;position:relative;overflow:hidden}.auth-showcase__text{text-align:center;max-width:460px}.auth-showcase__title{color:var(--ink);letter-spacing:-.025em;animation:authFade .5s var(--ease-ui);margin:0;font-size:clamp(22px,2vw,28px);font-weight:650}.auth-showcase__sub{color:var(--ink-muted);animation:authFade .5s var(--ease-ui);margin:10px 0 0;font-size:15px;line-height:1.55}@keyframes authFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.auth-network{aspect-ratio:1;width:min(100%,440px);position:relative}.auth-network__lines{width:100%;height:100%;position:absolute;inset:0}.auth-network__lines line{stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:3 5;opacity:.55}.auth-node{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%,-28px)}.auth-node__tile{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:56px;height:56px;color:var(--ink);box-shadow:var(--shadow-lift);transition:transform .3s var(--ease-ui), box-shadow .3s var(--ease-ui), border-color .3s var(--ease-ui);place-items:center;display:grid}.auth-node__tile svg{width:24px;height:24px}.auth-node--dark .auth-node__tile{background:var(--brand-tile);color:var(--brand-tile-ink);border-color:#0000}.auth-node__label{color:var(--ink-muted);white-space:nowrap;transition:color .3s var(--ease-ui);font-size:12px;font-weight:500}.auth-node--lit .auth-node__tile{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent), var(--shadow-float);transform:translateY(-3px)scale(1.06)}.auth-node--lit .auth-node__label{color:var(--ink)}.auth-node--hub{transform:translate(-50%,-50%)}.auth-node--hub .auth-node__tile{border-radius:var(--radius-xl);background:var(--surface);width:84px;height:84px;box-shadow:0 0 0 8px color-mix(in srgb, var(--brand) 10%, transparent), var(--shadow-float)}.auth-dots{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:28px}.auth-dot{border-radius:var(--radius-pill);background:var(--line-strong);cursor:pointer;width:7px;height:7px;transition:background .2s var(--ease-ui), width .2s var(--ease-ui);border:0;padding:0}.auth-dot.is-active{background:var(--ink);width:18px}@media (prefers-reduced-motion:reduce){.auth-showcase__title,.auth-showcase__sub{animation:none}}@media (max-width:980px){.auth-split{grid-template-columns:minmax(0,1fr);padding:0}.auth-showcase{display:none}}body:has(>.auth-split)>span:has(>.theme-toggle--floating){position:fixed}.demo-choices{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.demo-choice{align-items:center;min-height:52px;display:flex}.demo-choice__name{font-size:var(--text-sm);margin-bottom:0;padding-right:22px}.auth-field__input.demo-textarea{align-items:stretch;height:auto;padding:10px 14px}.demo-textarea textarea{resize:none;width:100%;font:inherit;color:inherit;background:0 0;border:0;outline:0;min-height:72px;display:block}@media (max-width:480px){.demo-choices{grid-template-columns:1fr}}
