.quick-menu[data-v-ce95ca60]{border:1px solid var(--line);border-radius:18px;display:grid;overflow:hidden}.quick-menu>.app-list-item[data-v-ce95ca60]:first-child{border-top:0}.quick-menu[data-v-ce95ca60] .app-list-item__leading{width:38px;height:38px;color:var(--blue-deep,var(--blue));background:var(--blue-soft);border-radius:12px;place-items:center;display:grid}.quick-menu svg[data-v-ce95ca60]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.quick-menu__chevron[data-v-ce95ca60]{color:var(--faint)}.quick-menu__account[data-v-ce95ca60]{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.quick-menu__account .secondary-button[data-v-ce95ca60]{min-height:46px}.quick-menu__signout[data-v-ce95ca60]{color:var(--danger)}.quick-menu__current[data-v-ce95ca60]{background:var(--surface-soft)}.quick-menu__current[data-v-ce95ca60] .app-list-item__leading{color:var(--app-color-on-brand);background:var(--blue)}.consent-gate dl[data-v-5453d551]{background:var(--surface-soft);border-radius:14px;gap:8px;margin:0 0 14px;padding:14px;font-size:13px;display:grid}.consent-gate dl div[data-v-5453d551]{grid-template-columns:44px 1fr;gap:8px;display:grid}.consent-gate dt[data-v-5453d551]{color:var(--ink);font-weight:700}.consent-gate dd[data-v-5453d551]{color:var(--muted);margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Noto Sans CJK SC", sans-serif;--font-display:var(--font-sans);--font-figure:"Bahnschrift", "DIN Alternate", "DIN Condensed", "Roboto Condensed", "Arial Narrow", var(--font-sans);--paper:#f0f5fb;--paper-deep:#e3ecf6;--ink:#13203a;--ink-soft:#2b3b5a;--muted:#586a85;--faint:#8a99b0;--surface:#fff;--surface-raised:#fff;--surface-soft:#f5f8fc;--surface-sunken:#e6edf6;--surface-glass:#ffffffc7;--surface-input:#fff;--line:#dbe3ee;--line-strong:#c0ccdc;--blue:#2b7fd9;--blue-strong:#1d65b8;--blue-deep:#154d8f;--blue-soft:#dcecfc;--blue-faint:#eff6fe;--red:#d7303f;--red-strong:#b4232f;--red-soft:#fce4e6;--gold:#b98322;--gold-soft:#f6ecd6;--jade:#23845e;--jade-soft:#dff1e8;--amber:#a8640d;--amber-soft:#fbeedb;--sky:#2a74c9;--sky-soft:#e2eefb;--brand:var(--blue);--brand-dark:var(--blue-strong);--brand-strong:var(--blue-deep);--brand-soft:var(--blue-soft);--brand-faint:var(--blue-faint);--accent:var(--blue);--primary-action:var(--red);--primary-action-strong:var(--red-strong);--accent-sky:var(--sky);--accent-coral:var(--red);--accent-peach:#d9798f;--accent-mint:var(--jade);--accent-gold:var(--gold);--success:var(--jade);--danger:#c42532;--danger-soft:#fde6e8;--text:var(--ink);--surface-subtle:var(--surface-soft);--medal-gold:var(--gold);--shadow-1:0 1px 2px #1626520f, 0 1px 1px #1626520a;--shadow-2:0 2px 6px #16265212, 0 10px 24px -8px #16265224;--shadow-3:0 6px 16px #1626521a, 0 28px 60px -18px #1626524d;--shadow:var(--shadow-3);--shadow-soft:var(--shadow-1);--shadow-hover:var(--shadow-2);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.36, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.52s;--app-color-background:var(--paper);--app-color-surface:var(--surface);--app-color-surface-muted:var(--surface-soft);--app-color-primary:var(--blue);--app-color-primary-soft:var(--blue-soft);--app-color-info:var(--sky);--app-color-info-soft:var(--sky-soft);--app-color-accent:var(--red);--app-color-accent-soft:var(--red-soft);--app-color-text-primary:var(--ink);--app-color-text-secondary:var(--muted);--app-color-text-tertiary:var(--faint);--app-color-on-brand:#fff;--app-color-divider:var(--line);--app-color-success:var(--jade);--app-color-success-soft:var(--jade-soft);--app-color-warning:var(--amber);--app-color-warning-soft:var(--amber-soft);--app-color-error:var(--danger);--app-color-cyan:#1b7a8c;--app-color-cyan-soft:#dff1f4;--app-color-medal-gold:var(--gold);--app-color-medal-silver:#6b7488;--app-color-medal-bronze:#9a5f37;--app-type-display:clamp(28px, 4.2vw, 40px);--app-type-page-title:26px;--app-type-section-title:18px;--app-type-body:15px;--app-type-list-title:15px;--app-type-secondary:13px;--app-type-caption:12px;--app-space-1:4px;--app-space-2:8px;--app-space-3:12px;--app-space-4:16px;--app-space-5:20px;--app-space-6:24px;--app-space-8:32px;--app-shape-small:8px;--app-shape-input:12px;--app-shape-card:18px;--app-shape-hero:28px;--app-shape-sheet:26px;--app-elevation-card:var(--shadow-1);--app-elevation-nav:var(--shadow-2);--mirror-bg:#c9e1fb;--mirror-bg-2:#edf5ff;--mirror-ink:#10284f;--mirror-muted:#4c6488;--mirror-chip:#fff;--mirror-accent:var(--blue-strong);--mirror-gold:#9a6a12;--mirror-line:#10284f1f;--mirror-overlay:#ffffff9e;--mirror-edge:#10284f24;--mirror-btn-bg:var(--primary-action);--mirror-btn-bg-hover:var(--primary-action-strong);--mirror-btn-ink:#fff;--snackbar-bg:#13203a;--sidebar-bg:linear-gradient(180deg, #fff 0%, #eef5fe 100%);--sidebar-ink:var(--ink-soft);--sidebar-muted:var(--faint);--sidebar-hover:var(--blue-faint);--sidebar-active-bg:var(--blue-soft);--sidebar-active-ink:var(--blue-strong);--page-background:var(--paper);--sidebar-width:248px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0d1322;--paper-deep:#090e1a;--ink:#e8edf6;--ink-soft:#c7cfe0;--muted:#98a3bc;--faint:#6c7792;--surface:#151d31;--surface-raised:#1a2339;--surface-soft:#1b2439;--surface-sunken:#10172a;--surface-glass:#151d31cc;--surface-input:#10172a;--line:#26304a;--line-strong:#37446a;--blue:#7cb8ff;--blue-strong:#a3cdff;--blue-deep:#d0e6ff;--blue-soft:#1a3152;--blue-faint:#14223b;--red:#ff6f7c;--red-strong:#ff8f99;--red-soft:#3d1b24;--gold:#e2b663;--gold-soft:#362b17;--jade:#6fd0a3;--jade-soft:#163327;--amber:#f0b866;--amber-soft:#3a2b16;--sky:#8cc0f5;--sky-soft:#16273f;--danger:#ff8a92;--danger-soft:#3c1b1f;--accent-peach:#f3a0b4;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 6px #0000004d, 0 12px 28px -10px #00000080;--shadow-3:0 8px 20px #00000059, 0 32px 64px -20px #000000a6;--app-color-on-brand:#0b1226;--app-color-cyan:#86d2e0;--app-color-cyan-soft:#143340;--app-color-medal-silver:#b5bfd2;--app-color-medal-bronze:#db9f78;--mirror-bg:#173a6e;--mirror-bg-2:#2a5aa0;--mirror-ink:#eef5ff;--mirror-chip:#eef5ff;--mirror-muted:#a9c2e6;--mirror-accent:#173a6e;--mirror-gold:#f1d08d;--mirror-line:#ffffff24;--mirror-overlay:#ffffff1a;--mirror-edge:#ffffff38;--mirror-btn-bg:#eef5ff;--mirror-btn-bg-hover:#fff;--mirror-btn-ink:#173a6e;--sidebar-bg:linear-gradient(180deg, #13223f 0%, #0b1428 100%);--sidebar-ink:#d3dcf1;--sidebar-muted:#8394bd;--sidebar-hover:#ffffff12;--sidebar-active-bg:#ffffff1c;--sidebar-active-ink:#fff}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;max-width:100%;scroll-padding-top:88px}body{min-width:320px;color:var(--ink);background:var(--page-background);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color var(--dur-3) var(--ease-out), color var(--dur-3) var(--ease-out);margin:0;font-size:15px;line-height:1.65}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--blue);text-underline-offset:4px}img{max-width:100%}input,textarea{caret-color:var(--red)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}::selection{color:var(--ink);background:var(--red-soft)}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-icon-container{width:44px;height:44px;color:var(--app-color-primary);background:var(--app-color-primary-soft);border-radius:14px;flex:0 0 44px;place-items:center;display:grid}.app-icon-container svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px;height:22px}.app-icon-container--accent{color:var(--app-color-accent);background:var(--app-color-accent-soft)}.app-icon-container--success{color:var(--app-color-success);background:var(--app-color-success-soft)}.app-icon-container--warning{color:var(--app-color-warning);background:var(--app-color-warning-soft)}.app-icon-container--cyan{color:var(--app-color-cyan);background:var(--app-color-cyan-soft)}.app-button--small{border-radius:11px;min-height:36px;padding:6px 14px;font-size:13px}.app-dialog-backdrop,.app-sheet-backdrop{z-index:120;padding:var(--app-space-4);-webkit-backdrop-filter:blur(3px);overscroll-behavior:contain;background:#0a102275;display:grid;position:fixed;inset:0}.app-dialog-backdrop{place-items:center}.app-dialog{border:1px solid var(--line);width:min(100%,400px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-3);border-radius:24px;padding:24px;overflow:auto}.app-dialog:focus,.app-bottom-sheet:focus{outline:none}.app-dialog-fade-enter-active,.app-dialog-fade-leave-active{transition:opacity var(--dur-2) ease, backdrop-filter var(--dur-2)}.app-dialog-fade-enter-active .app-dialog{transition:transform var(--dur-3) var(--ease-spring), opacity var(--dur-2) ease}.app-dialog-fade-leave-active .app-dialog{transition:transform var(--dur-2) var(--ease-out), opacity var(--dur-1) ease}.app-dialog-fade-enter-from,.app-dialog-fade-leave-to,.app-dialog-fade-enter-from .app-dialog,.app-dialog-fade-leave-to .app-dialog{opacity:0}.app-dialog-fade-enter-from .app-dialog{transform:translateY(16px)scale(.94)}.app-dialog-fade-leave-to .app-dialog{transform:scale(.97)}.app-dialog h2{margin:0;font-size:20px;font-weight:800}.app-dialog-copy{color:var(--muted);font-size:var(--app-type-body);margin:10px 0 20px}.app-dialog-actions{gap:var(--app-space-3);grid-template-columns:1fr 1fr;display:grid}.unsaved-copy{color:var(--muted);margin:8px 0 18px}.unsaved-actions{gap:9px;display:grid}.unsaved-discard{min-height:42px;color:var(--danger);background:0 0;border:0;border-radius:12px;font-weight:700}.unsaved-discard:hover{background:var(--danger-soft)}.app-sheet-backdrop{align-items:end;padding:0}.app-bottom-sheet{max-height:88dvh;padding:var(--app-space-5) var(--app-space-4) calc(var(--app-space-5) + env(safe-area-inset-bottom));border-radius:var(--app-shape-sheet) var(--app-shape-sheet) 0 0;color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-3);overflow:auto}.app-bottom-sheet__handle{background:var(--line-strong);border-radius:3px;width:40px;height:5px;margin:-6px auto 16px}.app-bottom-sheet__header{margin-bottom:var(--app-space-3)}.app-bottom-sheet__header h2{margin:0;font-size:19px;font-weight:800}.app-bottom-sheet__header p{color:var(--muted);font-size:var(--app-type-secondary);margin:5px 0 0}.app-overlay-open{overflow:hidden}.app-sheet-enter-active,.app-sheet-leave-active{transition:background-color .26s}.app-sheet-enter-active .app-bottom-sheet{transition:transform .42s var(--ease-spring)}.app-sheet-leave-active .app-bottom-sheet{transition:transform .24s var(--ease-in-out)}.app-sheet-enter-from,.app-sheet-leave-to{background:0 0}.app-sheet-enter-from .app-bottom-sheet,.app-sheet-leave-to .app-bottom-sheet{transform:translateY(100%)}.app-snackbar{z-index:140;right:16px;bottom:calc(96px + env(safe-area-inset-bottom));max-width:520px;min-height:54px;color:var(--mirror-chip);background:var(--snackbar-bg);box-shadow:var(--shadow-3);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:10px 10px 10px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;left:16px;overflow:hidden}:root[data-theme=dark] .app-snackbar{color:var(--paper);background:var(--ink)}.app-snackbar:after{content:"";background:var(--red);transform-origin:0;height:3px;animation:snackbar-timer var(--snackbar-duration,3.5s) linear forwards;position:absolute;bottom:0;left:0;right:0}@keyframes snackbar-timer{to{transform:scaleX(0)}}.app-snackbar button{min-height:36px;color:inherit;background:#ffffff1f;border:0;border-radius:11px;padding:0 14px;font-weight:800}:root[data-theme=dark] .app-snackbar button{background:#00000014}.snackbar-enter-active{transition:opacity var(--dur-2), transform .42s var(--ease-spring)}.snackbar-leave-active{transition:opacity var(--dur-2), transform var(--dur-2) var(--ease-in-out)}.snackbar-enter-from,.snackbar-leave-to{opacity:0;transform:translateY(24px)scale(.96)}.app-status-trigger{border:1.5px solid var(--line);min-height:40px;color:var(--jade);background:var(--surface);cursor:pointer;transition:color var(--dur-2), background var(--dur-2), border-color var(--dur-2), transform var(--dur-1);border-radius:999px;grid-template-columns:8px auto 10px;align-items:center;gap:8px;padding:0 12px;display:grid}.app-status-trigger:hover{border-color:currentColor}.app-status-trigger:active,.app-status-option:active,.app-list-item:active,.app-region-picker button:active,.app-region-trigger:active{transform:scale(.98)}.app-status-trigger.busy{color:var(--amber)}.app-status-trigger.resting{color:var(--faint)}.app-status-trigger i,.app-status-option>i{width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 22%, transparent);background:currentColor;border-radius:50%}.app-status-trigger:not(.resting) i{animation:1.8s ease-in-out infinite pulse-dot}.app-status-trigger span{color:var(--ink);font-size:var(--app-type-secondary);white-space:nowrap;font-weight:700}.app-status-trigger b{color:var(--faint);font-size:18px;font-weight:400}.status-copy-enter-active,.status-copy-leave-active{transition:opacity var(--dur-1) ease, transform var(--dur-1)}.status-copy-enter-from{opacity:0;transform:translateY(4px)}.status-copy-leave-to{opacity:0;transform:translateY(-4px)}.app-status-options{gap:6px;display:grid}.app-status-option{border:1.5px solid var(--line);min-height:68px;color:var(--jade);text-align:left;cursor:pointer;transition:background var(--dur-2), border-color var(--dur-2), transform var(--dur-1);background:0 0;border-radius:16px;grid-template-columns:12px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:10px 14px;display:grid}.app-status-option:hover{background:color-mix(in srgb, currentColor 6%, transparent);border-color:currentColor}.app-status-option.busy{color:var(--amber)}.app-status-option.resting{color:var(--faint)}.app-status-option span{gap:3px;display:grid}.app-status-option strong{color:var(--ink);font-size:var(--app-type-body)}.app-status-option small{color:var(--muted);font-size:var(--app-type-secondary)}.app-status-option>b{color:currentColor;text-align:center;font-size:20px}.app-section__header{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.app-section__header h2{font-size:var(--app-type-section-title);margin:0}.app-section__header a,.app-section__header button{font-size:var(--app-type-secondary);background:0 0;border:0;text-decoration:none}.app-metric-grid{background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;display:grid}.app-metric-grid>.app-metric{border:1px solid var(--line);min-width:0;min-height:96px;color:inherit;background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2), border-color var(--dur-2);border-radius:18px;flex-direction:column;justify-content:space-between;gap:10px;padding:14px 16px;text-decoration:none;display:flex;position:relative;overflow:hidden}.app-metric-grid>a.app-metric:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-2px)}.app-metric-grid>a.app-metric:active{transform:scale(.98)}.app-metric span{color:var(--muted);font-size:13px;font-weight:600;line-height:1.5}.app-metric strong{color:var(--ink);font-family:var(--font-figure);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:32px;font-weight:700;line-height:1}.app-metric.positive strong{color:var(--blue)}.app-metric.positive:after{content:"";background:var(--red);border-radius:50%;width:8px;height:8px;position:absolute;top:14px;right:14px}.app-metric i{display:none}.app-list-item{border-top:1px solid var(--line);min-height:68px;color:inherit;background:var(--surface);transition:background var(--dur-1), transform var(--dur-1);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 16px;text-decoration:none;display:grid}a.app-list-item:hover{background:var(--surface-soft)}.app-list-item__content{gap:2px;min-width:0;display:grid}.app-list-item__content strong,.app-list-item__content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-list-item__content strong{font-size:var(--app-type-list-title);font-weight:700}.app-list-item__content small{color:var(--muted);font-size:var(--app-type-secondary)}.app-list-item__trailing{color:var(--faint);font-family:var(--font-figure);font-size:var(--app-type-caption)}.app-state{text-align:center;place-content:center;justify-items:center;display:grid}.app-state>span{width:56px;height:56px;color:var(--blue);background:var(--blue-soft);border-radius:18px;place-items:center;margin-bottom:12px;animation:3.2s ease-in-out infinite float-y;display:grid}.app-state>span svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:26px;height:26px}.app-state--error>span{color:var(--danger);background:var(--danger-soft);animation:none}.app-state button{border:1.5px solid var(--line);min-height:40px;color:var(--blue);background:var(--surface);transition:border-color var(--dur-2), background var(--dur-2), transform var(--dur-1);border-radius:12px;margin-top:4px;padding:6px 18px;font-weight:700}.app-state button:hover{border-color:var(--blue);background:var(--blue-faint)}.app-state button:active{transform:scale(.97)}@keyframes float-y{50%{transform:translateY(-5px)}}.app-loading-state{background:0 0;align-content:start;justify-items:stretch;gap:10px;min-height:180px;padding:8px 0;display:grid}.loading-skeleton-row{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:center;gap:16px;padding:16px;display:flex}.loading-skeleton-avatar{border-radius:14px;flex:0 0 46px;width:46px;height:46px}.loading-skeleton-lines{gap:10px;width:min(70%,420px);display:grid}.loading-skeleton-lines i{border-radius:6px;height:12px}.loading-skeleton-lines i:last-child{width:62%;height:10px}.loading-skeleton-avatar,.loading-skeleton-lines i,.skeleton{background:linear-gradient(100deg, var(--surface-sunken) 30%, color-mix(in srgb, var(--surface-sunken) 40%, var(--surface)) 50%, var(--surface-sunken) 70%) 0 0 / 300% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.app-region-trigger{border:1.5px solid var(--line);border-radius:var(--app-shape-input);width:100%;min-height:46px;color:var(--ink);background:var(--surface-input);text-align:left;transition:border-color var(--dur-2);justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex}.app-region-trigger:hover{border-color:var(--line-strong)}.app-region-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-region-trigger b{color:var(--faint);font-size:20px;font-weight:400}.app-region-picker{z-index:160;color:var(--ink);background:var(--paper);grid-template-rows:auto auto auto minmax(0,1fr);display:grid;position:fixed;inset:0}.app-region-picker button,.app-region-picker input{color:inherit}.app-region-picker__bar{min-height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:48px 1fr 48px;align-items:end;display:grid}.app-region-picker__bar button{background:0 0;border:0;height:56px;font-size:22px}.app-region-picker__bar h2{text-align:center;align-self:center;margin:0;font-size:18px;font-weight:800}.app-region-picker__search{background:var(--surface-sunken);border-radius:14px;align-items:center;gap:8px;margin:12px 16px 8px;padding:0 14px;display:flex}.app-region-picker__search svg{fill:none;width:18px;height:18px;stroke:var(--faint);stroke-width:1.8px}.app-region-picker__search input{background:0 0;border:0;width:100%;min-height:44px;padding:0;box-shadow:none!important}.app-region-picker__crumbs{background:var(--surface);white-space:nowrap;align-items:center;gap:8px;min-height:42px;padding:0 16px;display:flex;overflow-x:auto}.app-region-picker__crumbs button{color:var(--blue);background:0 0;border:0;padding:0;font-weight:600}.app-region-picker__crumbs b{font-size:var(--app-type-secondary)}.app-region-picker__body{min-height:0;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.app-region-picker__shortcuts{background:var(--surface);margin-bottom:8px;display:grid}.app-region-picker__shortcuts p{color:var(--faint);font-size:var(--app-type-caption);margin:0;padding:10px 16px 4px}.app-region-picker__shortcuts button{background:var(--surface);text-align:left;border:0;gap:3px;min-height:44px;padding:8px 16px 12px;display:grid}.app-region-picker__label{color:var(--faint);font-size:var(--app-type-caption);margin:0;padding:10px 16px 6px}.app-region-picker__shortcuts strong{font-size:var(--app-type-body)}.app-region-picker__list{background:var(--surface)}.app-region-picker__list>button{border:0;border-top:1px solid var(--line);text-align:left;width:100%;min-height:52px;transition:background var(--dur-1);background:0 0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.app-region-picker__list>button:hover{background:var(--surface-soft)}.app-region-picker__list>button b{color:var(--faint);font-size:18px;font-weight:400}.app-region-enter-active,.app-region-leave-active{transition:opacity var(--dur-2) ease, transform var(--dur-3) var(--ease-out)}.app-region-enter-from,.app-region-leave-to{opacity:0;transform:translate(24px)}.app-icon-button{-webkit-tap-highlight-color:transparent;cursor:pointer;transition:color var(--dur-1), background var(--dur-1), transform var(--dur-1);border-radius:14px}.app-icon-button:hover{background:var(--surface-sunken)}.app-icon-button:active{transform:scale(.9)}.app-badge{min-width:20px;min-height:20px;color:var(--muted);background:var(--surface-sunken);font-family:var(--font-figure);font-size:var(--app-type-caption);border-radius:999px;place-items:center;padding:1px 7px;font-weight:700;line-height:1.3;display:inline-grid}.app-badge--primary{color:var(--blue);background:var(--blue-soft)}.app-badge--accent{color:#fff;background:var(--red)}.app-badge--success{color:var(--jade);background:var(--jade-soft)}.app-badge--warning{color:var(--amber);background:var(--amber-soft)}.app-tabs{scrollbar-width:none;gap:8px;padding:2px 0 4px;display:flex;position:relative;overflow-x:auto}.app-tabs::-webkit-scrollbar{display:none}.app-chip{border:1.5px solid var(--line);min-height:38px;color:var(--muted);background:var(--surface);font-size:var(--app-type-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-2), color var(--dur-2), background var(--dur-2), transform var(--dur-1);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;font-weight:650;display:inline-flex;position:relative}.app-chip:hover{border-color:var(--line-strong);color:var(--ink)}.app-chip:active{transform:scale(.95)}.app-chip.is-selected{border-color:var(--ink);color:var(--paper);background:var(--ink)}.app-chip.is-selected .app-badge{color:var(--ink);background:var(--paper)}.app-avatar{width:var(--avatar-size);height:var(--avatar-size);color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.app-avatar.loading:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff8c,#0000 80%);animation:1s linear infinite app-avatar-loading;position:absolute;inset:0}.app-avatar img{object-fit:cover;width:100%;height:100%;animation:img-fade var(--dur-3) var(--ease-out)}.app-avatar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}@keyframes app-avatar-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes img-fade{0%{opacity:0}}.icon-crossfade-enter-active,.icon-crossfade-leave-active{transition:opacity var(--dur-2) ease, transform var(--dur-3) var(--ease-spring)}.icon-crossfade-enter-from{opacity:0;transform:rotate(-90deg)scale(.5)}.icon-crossfade-leave-to{opacity:0;transform:rotate(90deg)scale(.5)}.app-metric-grid>.app-metric:focus-visible{outline-offset:2px}@media (width<=600px){.app-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-metric strong{font-size:28px}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes badge-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}@keyframes fade-in{0%{opacity:0}}.page-enter{animation:rise-in .36s var(--ease-out) both}.stagger>*{animation:rise-in .42s var(--ease-out) both}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.stagger>:nth-child(n+8){animation-delay:.28s}.route-progress{z-index:200;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.route-progress:before{content:"";background:linear-gradient(90deg, var(--blue), var(--red));transform-origin:0;animation:route-progress 1.6s var(--ease-out) forwards;position:absolute;inset:0}@keyframes route-progress{0%{transform:scaleX(0)}40%{transform:scaleX(.6)}to{transform:scaleX(.92)}}.ripple-host{isolation:isolate;position:relative;overflow:hidden}.ripple{z-index:-1;width:var(--ripple-size);height:var(--ripple-size);opacity:.18;pointer-events:none;animation:ripple .56s var(--ease-out) forwards;background:currentColor;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.primary-button .ripple,.app-button--primary .ripple,.danger-button:hover .ripple{opacity:.28;background:#fff}@keyframes ripple{to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.mirror{--mx:70%;--my:0%;isolation:isolate;border:1px solid var(--mirror-line);border-radius:var(--app-shape-hero);color:var(--mirror-ink);background:radial-gradient(520px circle at var(--mx) var(--my), #ffffff21, transparent 60%), linear-gradient(140deg, var(--mirror-bg-2) 0%, var(--mirror-bg) 62%);box-shadow:0 1px 0 #ffffff1a inset, var(--shadow-3);position:relative;overflow:hidden}.mirror:before{z-index:-1;content:"";width:46%;height:160%;transform:translateX(var(--sheen-shift,0));transition:transform .9s var(--ease-out);background:linear-gradient(105deg,#0000 0 30%,#ffffff12 30% 34%,#0000 34% 40%,#ffffff0a 40% 42%,#0000 42%);position:absolute;top:-30%;right:-8%}.mirror:hover{--sheen-shift:-18px}.mirror :is(h1,h2,h3,strong),.content-page .mirror :is(h1,h2,h3,strong){color:var(--mirror-ink)}.mirror :is(p,small,dt,time),.content-page .mirror :is(p,small,dt,time){color:var(--mirror-muted)}.mirror .primary-button,.mirror .app-button--primary{color:var(--mirror-btn-ink);background:var(--mirror-btn-bg);box-shadow:0 10px 24px -10px #0009}.mirror .primary-button:not(:disabled):hover,.mirror .app-button--primary:not(:disabled):hover{color:var(--mirror-btn-ink);background:var(--mirror-btn-bg-hover)}.mirror .secondary-button,.mirror .app-button--secondary{border-color:var(--mirror-edge);color:var(--mirror-ink);background:0 0}.mirror .secondary-button:not(:disabled):hover{border-color:var(--mirror-ink);background:var(--mirror-overlay)}.cut-line{display:inline-block;position:relative}.cut-line:after{content:"";background:linear-gradient(var(--red), var(--red)) 0 0 / 100% 2.5px no-repeat, linear-gradient(var(--red), var(--red)) 10px 5.5px / calc(100% - 16px) 1.5px no-repeat;transform-origin:0;height:8px;animation:cut-draw .7s var(--ease-out) .2s both;position:absolute;bottom:-6px;left:-2px;right:-4px;transform:skew(-24deg)}@keyframes cut-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.check-draw{width:56px;height:56px;color:var(--jade)}.check-draw circle{fill:var(--jade-soft);stroke:currentColor;stroke-width:2px;stroke-dasharray:160;stroke-dashoffset:160px;animation:check-ring .52s var(--ease-out) forwards}.check-draw path{fill:none;stroke:currentColor;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40px;animation:check-tick .36s var(--ease-out) .38s forwards}@keyframes check-ring{to{stroke-dashoffset:0}}@keyframes check-tick{to{stroke-dashoffset:0}}img.fade-img{animation:img-fade var(--dur-4) var(--ease-out)}@media (prefers-reduced-motion:reduce){.mirror:before{transition:none}.stagger>*{animation:none}}#app,.app-frame{min-height:100dvh}.sr-only{clip-path:inset(50%);white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.eyebrow,.form-kicker{display:none}.skip-link{z-index:300;color:var(--surface);background:var(--ink);transition:transform var(--dur-2) var(--ease-out);border-radius:12px;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.mobile-page-swipe{min-width:0;max-width:100%;transition:transform .22s var(--ease-out)}.mobile-page-swipe:focus{outline:none}.mobile-page-swipe.dragging{transition:none}.app-logo{object-fit:contain;border-radius:10%;flex:none;display:block}.app-logo--animated{animation:logo-reveal .9s var(--ease-out) both}@keyframes logo-reveal{0%{clip-path:inset(0 100% 0 0);transform:scale(.94)}to{clip-path:inset(0);transform:none}}.app-brand,.sidebar-brand{color:var(--ink);white-space:nowrap;align-items:center;gap:12px;text-decoration:none;display:flex}.app-brand strong,.sidebar-brand strong{letter-spacing:.06em;font-size:18px;font-weight:800}.brand-mark{place-items:center;width:36px;height:36px;display:grid}.app-header{z-index:65;background:color-mix(in srgb, var(--paper) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);min-height:68px;transition:border-color var(--dur-2), box-shadow var(--dur-2);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:20px;padding:0 32px;display:flex;position:sticky;top:0}.is-scrolled .app-header{border-bottom-color:var(--line)}.header-context{color:var(--ink);font-size:15px;font-weight:700;display:none}.app-header nav,.nav-main-links{align-items:center;gap:2px;display:flex}.app-header nav a,.nav-button,.nav-menu summary{min-height:40px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--dur-1), background var(--dur-1);background:0 0;border:0;border-radius:10px;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.app-header nav a:hover,.nav-button:hover,.nav-menu summary:hover{color:var(--ink);background:var(--surface-sunken)}.app-header nav a.router-link-exact-active{color:var(--ink);font-weight:700}.app-header nav a.router-link-exact-active:not(.nav-primary,.nav-account):after{content:"";background:var(--red);border-radius:2px;height:2px;position:absolute;bottom:4px;left:12px;right:12px}.app-header .nav-primary{color:#fff;background:var(--primary-action);padding-inline:18px;font-weight:700}.app-header .nav-primary:hover{color:#fff;background:var(--primary-action-strong)}.theme-toggle{width:40px;height:40px;color:var(--muted);transition:background var(--dur-1), color var(--dur-1), transform var(--dur-3) var(--ease-spring);background:0 0;border:0;border-radius:12px;place-items:center;padding:9px;display:grid}.theme-toggle:hover{color:var(--ink);background:var(--surface-sunken)}.theme-toggle:active{transform:rotate(-30deg)scale(.92)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.nav-menu{position:relative}.nav-menu summary{list-style:none}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary:after{content:"";width:6px;height:6px;transition:transform var(--dur-2) var(--ease-out);border-bottom:1.5px solid;border-right:1.5px solid;margin-left:8px;transform:translateY(-2px)rotate(45deg)}.nav-menu[open] summary:after{transform:translateY(1px)rotate(225deg)}.nav-popover{border:1px solid var(--line);background:var(--surface-raised);width:230px;box-shadow:var(--shadow-3);transform-origin:100% 0;animation:pop-in var(--dur-2) var(--ease-out);border-radius:16px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.app-header .nav-popover a{color:var(--ink);padding:10px 12px}.app-header .nav-popover a:after{display:none}.nav-notifications{gap:6px}.nav-notifications span{color:#fff;background:var(--red);min-width:20px;height:20px;font-family:var(--font-figure);border-radius:10px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:grid}.app-header .nav-account{border-radius:999px;gap:8px;margin-inline:4px;padding:4px 12px 4px 4px}.nav-account>span{width:32px;height:32px;color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.nav-account small{max-width:110px;color:var(--ink);text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.global-back-button{color:var(--muted);transition:color var(--dur-1), background var(--dur-1), transform var(--dur-2) var(--ease-out);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;margin:18px 36px 0;padding:6px 12px 6px 8px;font-size:13px;font-weight:600;display:inline-flex}.global-back-button:hover{color:var(--ink);background:var(--surface-sunken)}.global-back-button:hover span{transform:translate(-3px)}.global-back-button span{transition:transform var(--dur-2) var(--ease-out);display:inline-block}.app-sidebar{display:none}.sidebar-group h2{color:var(--sidebar-muted,var(--muted));letter-spacing:.08em;margin:0 14px 8px;font-size:12px;font-weight:600}.sidebar-group a{min-height:44px;color:var(--sidebar-ink,var(--ink));transition:background var(--dur-1), color var(--dur-1);border-radius:12px;align-items:center;gap:12px;margin:2px 0;padding:10px 14px;font-size:14px;text-decoration:none;display:flex;position:relative}.sidebar-group svg,.sidebar-footnote svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;stroke-linecap:round;flex:0 0 19px;width:19px;height:19px}.mobile-tab-bar{display:none}.mobile-app-bar{z-index:70;min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 12px;color:var(--ink);background:color-mix(in srgb, var(--paper) 84%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(16px);transition:border-color var(--dur-2);border-bottom:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:end;display:none;position:sticky;top:0}.is-scrolled .mobile-app-bar{border-bottom-color:var(--line)}.mobile-app-bar.has-back{grid-template-columns:auto minmax(0,1fr) auto}.mobile-app-bar h1{letter-spacing:.01em;text-align:left;text-overflow:ellipsis;white-space:nowrap;align-self:center;margin:0;font-size:18px;font-weight:800;line-height:56px;overflow:hidden}.mobile-app-bar h1.title-swap{animation:title-in var(--dur-3) var(--ease-out)}@keyframes title-in{0%{opacity:0;transform:translateY(6px)}}.mobile-app-bar__action{width:44px;height:56px;color:var(--ink);background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.mobile-app-bar__action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:23px;height:23px}.mobile-app-bar__badge{border:2px solid var(--paper);min-width:18px;height:18px;font-family:var(--font-figure);animation:badge-pop var(--dur-3) var(--ease-spring);border-radius:9px;place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;top:10px;right:4px;color:#fff!important;background:var(--red)!important;min-height:0!important;padding:0 4px!important;line-height:1!important}.mobile-app-bar__actions{justify-content:flex-end;align-items:center;height:56px;display:flex}.mobile-app-bar__theme{width:40px}.mobile-app-bar__avatar{width:36px;height:36px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--line);border-radius:50%;place-items:center;margin:0 6px 0 4px;text-decoration:none;display:grid;overflow:hidden}.content-page,.customer-home,.stylist-dashboard{width:min(1180px,100%);min-width:0;color:var(--ink);margin:0 auto;padding:32px 40px 72px}.narrow-page{max-width:980px}.content-page h1{color:var(--ink);font-size:var(--app-type-page-title);letter-spacing:-.01em;margin:0 0 6px;line-height:1.3;font-weight:800!important}.content-page h2{color:var(--ink);font-size:19px;font-weight:750;line-height:1.4}.content-page h3{color:var(--ink);font-size:16px;font-weight:700;line-height:1.5}.page-description{color:var(--muted);margin:4px 0 0;font-size:14px}.content-page :is(.page-heading,.list-heading,.section-heading,.panel-heading,.booking-heading,.directory-heading,.try-on-heading){gap:16px;margin-bottom:26px}.content-page :is(p,small,dt){color:var(--muted)}.content-page :is(h1,h2,h3,p,dd){overflow-wrap:anywhere}.form-stack{gap:18px;display:grid}.form-stack h2{margin:0;font-size:20px}.form-grid{gap:16px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}label{min-width:0;color:var(--ink-soft);gap:8px;font-size:14px;font-weight:600;display:grid}input,textarea,select{border:1.5px solid var(--line);border-radius:var(--app-shape-input);width:100%;min-width:0;min-height:46px;color:var(--ink);background:var(--surface-input);transition:border-color var(--dur-2), background var(--dur-2), box-shadow var(--dur-2);padding:11px 14px;font-size:15px;font-weight:400}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 19px),calc(100% - 14px);background-repeat:no-repeat;background-size:5px 5px;padding-right:38px}textarea{resize:vertical;line-height:1.65}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}input:hover,textarea:hover,select:hover{border-color:var(--line-strong)}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb, var(--blue) 18%, transparent);outline:none}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);animation:field-shake .36s var(--ease-out)}@keyframes field-shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--blue);box-shadow:none;padding:0}input[type=range]{min-height:28px;accent-color:var(--blue);box-shadow:none;background:0 0;border:0;padding:0}input[type=file]{padding:8px}input[type=file]::file-selector-button{color:var(--ink);background:var(--surface-sunken);font:inherit;cursor:pointer;border:0;border-radius:9px;margin-right:10px;padding:8px 14px;font-weight:600}label small,.form-stack>small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.6}.primary-button,.secondary-button,.danger-button,.app-button{isolation:isolate;letter-spacing:.02em;text-align:center;white-space:nowrap;cursor:pointer;min-height:46px;transition:background var(--dur-2), color var(--dur-2), border-color var(--dur-2), box-shadow var(--dur-2), transform var(--dur-1) var(--ease-out);border:1.5px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.primary-button,.app-button--primary{color:#fff;background:var(--primary-action);box-shadow:0 1px 0 #ffffff24 inset, 0 6px 16px -6px color-mix(in srgb, var(--primary-action) 70%, transparent)}.primary-button:not(:disabled):hover,.app-button--primary:not(:disabled):hover{color:#fff;background:var(--primary-action-strong);box-shadow:0 1px 0 #ffffff24 inset, 0 10px 22px -8px color-mix(in srgb, var(--primary-action) 80%, transparent)}.secondary-button,.app-button--secondary{border-color:var(--line);color:var(--ink);background:var(--surface)}.secondary-button:not(:disabled):hover,.app-button--secondary:not(:disabled):hover{border-color:var(--line-strong);background:var(--surface-soft)}.danger-button{color:var(--danger);background:var(--danger-soft)}.danger-button:not(:disabled):hover{color:#fff;background:var(--danger)}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.danger-button:not(:disabled):active,.app-button:not(:disabled):active{transform:scale(.97)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.app-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.primary-button[aria-busy=true],.app-button[aria-busy=true]{pointer-events:none;color:#0000!important}.primary-button[aria-busy=true]:after,.app-button[aria-busy=true]:after{content:"";border:2px solid #fff;border-right-color:#0000;border-radius:50%;width:18px;height:18px;margin:auto;animation:.7s linear infinite spin;position:absolute;inset:0}.inline-button{width:fit-content}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:700;position:relative}.text-button:after{content:"";transform-origin:100%;height:1.5px;transition:transform var(--dur-2) var(--ease-out);background:currentColor;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.text-button:hover:after{transform-origin:0;transform:scaleX(1)}.state-card{border:1px solid var(--line);border-radius:var(--app-shape-card);background:var(--surface);box-shadow:var(--shadow-1);padding:24px}.empty-state{align-content:center;justify-items:start;gap:12px;min-height:200px;display:grid}.empty-state :is(h1,h2){margin:0;font-size:20px}.empty-state p{max-width:60ch;margin:0}.notice{overflow-wrap:anywhere;animation:notice-in var(--dur-3) var(--ease-out);border:0;border-radius:14px;margin:12px 0;padding:12px 16px 12px 44px;font-size:14px;font-weight:500;line-height:1.6;display:block;position:relative}.notice:before{width:18px;height:18px;color:var(--surface);content:"i";background:var(--notice-tone,var(--blue));border-radius:50%;place-items:center;font-size:12px;font-weight:800;line-height:1;display:grid;position:absolute;top:13px;left:16px}.content-page .notice.error,.content-page .notice.success,.notice.error,.notice.success{width:auto;max-width:100%;box-shadow:none;position:relative;transform:none}.notice.error{--notice-tone:var(--danger);color:var(--danger);background:var(--danger-soft)}.notice.error:before{content:"!"}.notice.success{--notice-tone:var(--jade);color:var(--jade);background:var(--jade-soft)}.notice.success:before{content:"";background:var(--notice-tone) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 13px no-repeat}.notice.warning{--notice-tone:var(--amber);color:var(--amber);background:var(--amber-soft)}.notice.warning:before{content:"!"}.notice:not(.error,.success,.warning){color:var(--blue);background:var(--blue-faint)}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.status-pill,.review-badge,.role-badges span{width:fit-content;color:var(--blue);background:var(--blue-soft);white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:700;line-height:1.6;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status-pill.succeeded,.status-pill.completed,.status-pill.confirmed,.status-pill.accepted,.status-pill.paid,.status-pill.approved{color:var(--jade);background:var(--jade-soft)}.status-pill.pending,.status-pill.requested,.status-pill.submitted,.status-pill.processing,.status-pill.running,.status-pill.queued{color:var(--amber);background:var(--amber-soft)}.status-pill.pending:before,.status-pill.processing:before,.status-pill.running:before,.status-pill.queued:before{animation:1.4s ease-in-out infinite pulse-dot}.status-pill.failed,.status-pill.cancelled,.status-pill.rejected,.status-pill.expired,.status-pill.closed{color:var(--muted);background:var(--surface-sunken)}@keyframes pulse-dot{50%{opacity:.35;transform:scale(.7)}}.content-page :is(.state-card,.panel-card,.panel,.info-card,.appointment-card,.feedback-card,.version-card,.catalog-card,.favorite-card,.review-card,.report-card,.archive-card,.photo-card,.task-card,.request-card,.offer-card,.dashboard-panel,.metric-card,.alert-card,.activity-panel,.kpi-grid article,.admin-kpis article,.balance-grid article,.health-list article,.summary-card,.try-panel,.canvas-card,.editor-controls,.records-section,.ranking-panel,.onboarding-form){border:1px solid var(--line);border-radius:var(--app-shape-card);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-1)}.content-page :is(a.appointment-card,a.request-card,a.favorite-card,a.catalog-card,a.task-card,a.version-card,a.photo-card){transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2), border-color var(--dur-2)}.content-page :is(a.appointment-card,a.request-card,a.favorite-card,a.catalog-card,a.task-card,a.version-card,a.photo-card):hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-2px)}.content-page :is(.profile-hero,.stylist-hero){color:var(--ink);background:var(--surface);box-shadow:var(--shadow-1)}.content-page .app-tabs:is(.period-filters,.status-filters,.review-filters){flex-wrap:nowrap;width:fit-content;max-width:100%;display:flex;overflow-x:auto}.content-page :is(.period-filters,.status-filters,.review-filters){background:var(--surface-sunken);border-radius:14px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.content-page :is(.period-filters,.status-filters,.review-filters) button{min-height:36px;color:var(--muted);transition:color var(--dur-2), background var(--dur-2), box-shadow var(--dur-2);background:0 0;border:0;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:600}.content-page :is(.period-filters,.status-filters,.review-filters) button:hover{color:var(--ink)}.content-page :is(.period-filters,.status-filters,.review-filters) button.active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-1)}.photo-picker{gap:8px;display:grid;position:relative}.photo-picker>strong{font-size:14px}.photo-picker-trigger{border:1.5px solid var(--line);border-radius:var(--app-shape-input);width:100%;min-height:50px;color:var(--ink);background:var(--surface-input);text-align:left;transition:border-color var(--dur-2);justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.photo-picker-trigger:hover{border-color:var(--line-strong)}.photo-picker-options{z-index:40;border:1px solid var(--line);background:var(--surface-raised);max-height:260px;box-shadow:var(--shadow-3);animation:pop-in var(--dur-2) var(--ease-out);transform-origin:top;border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.photo-picker-options button,.photo-picker-options span{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:9px;padding:11px 12px}.photo-picker-options button.selected,.photo-picker-options button:hover{color:var(--blue);background:var(--blue-faint)}.app-section{background:0 0;border:0;margin-top:32px;padding:0;overflow:visible}.app-section__header{min-height:32px;margin-bottom:14px;padding:0}.app-section__header h2{font-size:18px;font-weight:800}.app-section__header :is(a,button){color:var(--blue);font-weight:700}.app-icon-container{border-radius:13px;flex-basis:42px;width:42px;height:42px}.app-state{border:1.5px dashed var(--line-strong);border-radius:var(--app-shape-card);min-height:180px;color:var(--muted);background:color-mix(in srgb, var(--surface) 55%, transparent);padding:28px 24px}.app-state strong{color:var(--ink);font-size:16px;font-weight:750}.app-state p{max-width:46ch;margin:6px 0 14px;font-size:13px}.app-dialog-actions{gap:10px;margin-top:24px}.app-dialog-copy{color:var(--muted)}.app-fatal-page{width:min(640px,100%);margin:auto;padding:48px 24px}.account-switch-list{gap:8px;display:grid}.account-switch-list button{border:1px solid var(--line);color:var(--ink);background:var(--surface);text-align:left;transition:border-color var(--dur-2), background var(--dur-2), transform var(--dur-1);border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.account-switch-list button:not(:disabled):hover{border-color:var(--blue);background:var(--blue-faint)}.account-switch-list button:not(:disabled):active{transform:scale(.98)}.account-switch-list button>b{width:38px;height:38px;color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;display:grid}.account-switch-list button>span{min-width:0;display:grid}.account-switch-list button small{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.account-switch-list button em{color:var(--blue);font-size:12px;font-style:normal;font-weight:700}.event-details>summary,.professional-reference>summary{cursor:pointer}td,dd,time,.amount,.price{font-variant-numeric:tabular-nums}.figure,.amount,.price{font-family:var(--font-figure)}@media (width>=1100px){.is-authenticated{padding-left:var(--sidebar-width)}.app-sidebar{z-index:75;width:var(--sidebar-width);border-right:1px solid var(--line);color:var(--sidebar-ink);background:var(--sidebar-bg);flex-direction:column;padding:22px 14px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{color:var(--ink);padding:2px 12px 26px}:root[data-theme=dark] .sidebar-brand{color:#f4f6fc}.app-sidebar nav{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;overflow-y:auto}.sidebar-group{margin-bottom:22px}.sidebar-group a:hover{color:var(--sidebar-active-ink);background:var(--sidebar-hover)}.sidebar-group a.sidebar-link-active{color:var(--sidebar-active-ink);background:var(--sidebar-active-bg);font-weight:700}.sidebar-group a.sidebar-link-active:before{content:"";background:var(--red);width:4px;height:20px;animation:rail-in var(--dur-3) var(--ease-spring);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}@keyframes rail-in{0%{height:0}}.sidebar-footnote{color:var(--sidebar-ink);background:var(--sidebar-hover);border-radius:14px;align-items:start;gap:10px;margin:0 2px;padding:14px 12px;font-size:12px;line-height:1.6;display:flex}.sidebar-footnote small{color:var(--sidebar-muted)}.is-authenticated .app-header .app-brand,.is-authenticated .app-header .nav-main-links,.is-authenticated .app-header .nav-menu{display:none}.is-authenticated .header-context{display:block}}@media (width<=1099px){.is-authenticated .app-header,.global-back-button{display:none}.mobile-app-bar{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.app-frame.has-bottom-navigation{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.mobile-tab-bar{z-index:80;right:12px;bottom:max(10px, env(safe-area-inset-bottom));grid-template-columns:repeat(var(--tab-count,5), minmax(0, 1fr));border:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--surface) 86%, transparent);min-height:66px;box-shadow:var(--shadow-3);-webkit-backdrop-filter:saturate(1.5)blur(18px);border-radius:24px;padding:6px;display:grid;position:fixed;left:12px}.content-page,.customer-home,.stylist-dashboard{max-width:820px;padding:24px 24px 40px}}@media (width<=600px){.app-header{min-height:62px;padding:0 18px}.is-guest .app-header .nav-primary{display:none}.content-page,.customer-home,.stylist-dashboard{padding:18px 16px 32px}.content-page h1{font-size:24px}.content-page :is(.page-heading,.list-heading,.section-heading,.panel-heading,.booking-heading,.directory-heading,.try-on-heading){gap:12px;margin-bottom:20px}.form-grid.two-columns{grid-template-columns:1fr}input,textarea,select{font-size:16px}.state-card{padding:20px}.app-section{margin-top:26px}}.mobile-tab-bar__indicator{width:calc((100% - 12px) / var(--tab-count,5));background:var(--blue);transform:translateX(calc(100% * var(--tab-index,0)));transition:transform .42s var(--ease-spring), opacity var(--dur-2);pointer-events:none;border-radius:18px;position:absolute;top:6px;bottom:6px;left:6px}.mobile-tab-bar__indicator.is-hidden{opacity:0}.mobile-tab-bar a{z-index:1;min-width:0;min-height:54px;color:var(--muted);transition:color var(--dur-3) var(--ease-out);border-radius:18px;align-content:center;justify-items:center;gap:3px;padding:4px 2px;font-size:11px;font-weight:600;text-decoration:none;display:grid;position:relative}.mobile-tab-bar a.active{color:var(--app-color-on-brand);font-weight:700}.mobile-tab-bar svg{fill:currentColor;width:22px;height:22px;transition:transform var(--dur-3) var(--ease-spring)}.mobile-tab-bar a.active svg{transform:translateY(-1px)scale(1.06)}.mobile-tab-bar a:active svg{transform:scale(.86)}.ziyi-native-app .app-sidebar,.ziyi-native-app .app-header,.ziyi-native-app .global-back-button{display:none!important}.ziyi-native-app .is-authenticated{padding-left:0}.ziyi-native-app .mobile-app-bar{display:grid}.ziyi-native-app .has-bottom-navigation{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.ziyi-native-app .mobile-tab-bar{z-index:80;right:12px;bottom:max(10px, env(safe-area-inset-bottom));grid-template-columns:repeat(var(--tab-count,5), minmax(0, 1fr));border:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--surface) 86%, transparent);min-height:66px;box-shadow:var(--shadow-3);-webkit-backdrop-filter:saturate(1.5)blur(18px);border-radius:24px;padding:6px;display:grid;position:fixed;left:12px}@media (width<=1099px){.app-frame.chat-route{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.app-frame.chat-route .mobile-page-swipe{min-height:0;overflow:hidden}}.ziyi-native-app .app-frame.chat-route{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.ziyi-native-app .app-frame.chat-route .mobile-page-swipe{min-height:0;overflow:hidden}.customer-home[data-v-f121a312]{width:min(1180px,100%);min-width:0;color:var(--ink);margin:0 auto;padding:28px 40px 72px}.home-title[data-v-f121a312]{justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.home-date[data-v-f121a312]{color:var(--muted);letter-spacing:.04em;margin:0 0 2px;font-size:13px;font-weight:600}.home-title h1[data-v-f121a312]{font-size:var(--app-type-display);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.2}.home-title__link[data-v-f121a312]{border:1.5px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);transition:border-color var(--dur-2), transform var(--dur-1);border-radius:999px;align-items:center;padding:0 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.home-title__link[data-v-f121a312]:hover{border-color:var(--ink)}.home-title__link[data-v-f121a312]:active{transform:scale(.96)}.home-focus[data-v-f121a312]{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);align-items:end;gap:36px;padding:36px 40px;display:grid}.focus-copy[data-v-f121a312]{justify-items:start;gap:10px;display:grid}.focus-kicker[data-v-f121a312]{background:var(--mirror-overlay);letter-spacing:.06em;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 10px;font-size:12px;font-weight:700;display:inline-flex}.focus-kicker i[data-v-f121a312]{background:#7fe0b6;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 4px #7fe0b633}.tone-attention .focus-kicker i[data-v-f121a312],.tone-urgent .focus-kicker i[data-v-f121a312]{background:#ff8f99;box-shadow:0 0 0 4px #ff8f9933}.focus-copy h2[data-v-f121a312]{letter-spacing:-.01em;margin:6px 0 0;font-size:clamp(26px,3.4vw,36px);font-weight:800;line-height:1.22}.focus-copy p[data-v-f121a312]{max-width:44ch;margin:0 0 14px;font-size:15px}.focus-arrow[data-v-f121a312]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out)}.focus-copy .app-button:hover .focus-arrow[data-v-f121a312]{transform:translate(4px)}.service-journey[data-v-f121a312]{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:18px;display:grid;position:relative}.service-journey[data-v-f121a312]:before{content:"";background:var(--mirror-edge);height:2px;position:absolute;top:33px;left:12.5%;right:12.5%}.service-journey a[data-v-f121a312]{color:var(--mirror-muted);text-align:center;justify-items:center;gap:10px;font-size:12px;font-weight:600;text-decoration:none;display:grid;position:relative}.service-journey a.done[data-v-f121a312]:not(:last-child):after{z-index:0;content:"";transform-origin:0;width:100%;height:2px;animation:comb-fill-f121a312 .6s var(--ease-out) both;animation-delay:calc(var(--step) * .12s + .2s);background:#7fe0b6;position:absolute;top:15px;left:50%}@keyframes comb-fill-f121a312{0%{transform:scaleX(0)}}.service-journey i[data-v-f121a312]{z-index:1;width:32px;height:32px;color:var(--mirror-muted);background:var(--mirror-bg);box-shadow:inset 0 0 0 1.5px var(--mirror-edge);transition:transform var(--dur-3) var(--ease-spring);border-radius:50%;place-items:center;font-style:normal;display:grid;position:relative}.service-journey a:hover i[data-v-f121a312]{transform:scale(1.12)}.service-journey .done i[data-v-f121a312]{color:#0d2a1f;box-shadow:none;animation:badge-pop .42s var(--ease-spring) both;animation-delay:calc(var(--step) * .12s);background:#7fe0b6}.service-journey .active i[data-v-f121a312]{color:var(--mirror-accent);background:var(--mirror-chip);box-shadow:0 0 0 6px var(--mirror-overlay)}.service-journey .active span[data-v-f121a312]{color:var(--mirror-ink);font-weight:800}.service-journey svg[data-v-f121a312]{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.service-journey b[data-v-f121a312]{font-family:var(--font-figure);font-size:14px}.care-reminder[data-v-f121a312]{border:1px solid color-mix(in srgb, var(--gold) 30%, var(--line));border-radius:var(--app-shape-card);color:var(--ink);background:var(--gold-soft);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:14px;padding:16px 20px;text-decoration:none;display:grid}.care-reminder[data-v-f121a312]:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.care-reminder__icon[data-v-f121a312]{width:44px;height:44px;color:var(--gold);background:var(--surface);border-radius:14px;place-items:center;display:grid}.care-reminder__icon svg[data-v-f121a312]{fill:currentColor;width:22px;height:22px}.care-reminder small[data-v-f121a312]{color:var(--gold);font-size:12px;font-weight:700}.care-reminder strong[data-v-f121a312]{text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.care-reminder p[data-v-f121a312]{color:var(--muted);margin:0;font-size:13px}.care-reminder b[data-v-f121a312]{color:var(--gold);white-space:nowrap;font-size:13px}.home-metrics[data-v-f121a312]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.home-metrics a[data-v-f121a312]{border:1px solid var(--line);border-radius:var(--app-shape-card);min-height:104px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2), border-color var(--dur-2);flex-direction:column;justify-content:space-between;padding:16px 18px;text-decoration:none;display:flex;position:relative;overflow:hidden}.home-metrics a[data-v-f121a312]:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-3px)}.home-metrics a[data-v-f121a312]:active{transform:scale(.97)}.home-metrics span[data-v-f121a312]{color:var(--muted);font-size:13px;font-weight:600}.home-metrics strong[data-v-f121a312]{font-family:var(--font-figure);font-variant-numeric:tabular-nums;font-size:38px;font-weight:700;line-height:1}.home-metrics a:not(.has-value) strong[data-v-f121a312]{color:var(--faint)}.home-metrics a.has-value.is-alert[data-v-f121a312]:after{content:"";background:var(--red);width:8px;height:8px;box-shadow:0 0 0 4px var(--red-soft);border-radius:50%;position:absolute;top:16px;right:16px}.home-columns[data-v-f121a312]{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.home-section[data-v-f121a312]{margin-top:32px}.plan-strip[data-v-f121a312]{gap:8px;margin:0;padding:0;list-style:none;display:grid}.plan-strip li[data-v-f121a312]{border:1px solid var(--line);border-radius:var(--app-shape-card);background:var(--surface);box-shadow:var(--shadow-1);transition:box-shadow var(--dur-2), transform var(--dur-2) var(--ease-out);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 18px;display:grid}.plan-strip li[data-v-f121a312]:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.plan-strip__main[data-v-f121a312]{min-width:0;color:var(--ink);text-decoration:none;display:grid}.plan-strip__main strong[data-v-f121a312]{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.plan-strip__main time[data-v-f121a312]{color:var(--faint);font-family:var(--font-figure);font-size:12px}.plan-strip__send[data-v-f121a312]{color:var(--blue-strong);background:var(--blue-soft);white-space:nowrap;transition:background var(--dur-2);border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none}.plan-strip__send[data-v-f121a312]:hover{background:color-mix(in srgb, var(--blue) 22%, var(--surface))}.plan-empty[data-v-f121a312]{border:1.5px dashed var(--line-strong);border-radius:var(--app-shape-card);justify-items:start;gap:12px;padding:20px;display:grid}.plan-empty p[data-v-f121a312]{color:var(--muted);margin:0;font-size:14px}.recent-list[data-v-f121a312]{border:1px solid var(--line);border-radius:var(--app-shape-card);background:var(--surface);box-shadow:var(--shadow-1);margin:0;padding:8px 0;list-style:none;display:grid;position:relative}.recent-list[data-v-f121a312]:before{content:"";background:var(--line);width:1.5px;position:absolute;top:28px;bottom:28px;left:26px}.recent-list a[data-v-f121a312]{color:var(--ink);transition:background var(--dur-1);grid-template-columns:22px minmax(0,1fr);column-gap:12px;padding:12px 18px 12px 20px;text-decoration:none;display:grid;position:relative}.recent-list a[data-v-f121a312]:hover{background:var(--surface-soft)}.notice-dot[data-v-f121a312]{z-index:1;border:2px solid var(--line-strong);background:var(--surface);border-radius:50%;width:12px;height:12px;margin:5px 0 0 1px;position:relative}.recent-list a.unread .notice-dot[data-v-f121a312]{border-color:var(--red);background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}.recent-list strong[data-v-f121a312]{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.recent-list a.unread strong[data-v-f121a312]{font-weight:800}.recent-list time[data-v-f121a312]{color:var(--faint);font-family:var(--font-figure);grid-column:2;font-size:12px}@media (width<=1099px){.customer-home[data-v-f121a312]{max-width:820px;padding:22px 24px 40px}.home-focus[data-v-f121a312]{grid-template-columns:1fr;gap:26px;padding:28px}.home-columns[data-v-f121a312]{grid-template-columns:1fr;gap:0}}@media (width<=600px){.customer-home[data-v-f121a312]{padding:14px 16px 32px}.home-title[data-v-f121a312]{margin-bottom:16px}.home-title h1[data-v-f121a312]{font-size:26px}.home-title__link[data-v-f121a312]{display:none}.home-focus[data-v-f121a312]{border-radius:24px;padding:24px 20px 20px}.focus-copy h2[data-v-f121a312]{font-size:24px}.focus-copy p[data-v-f121a312]{font-size:14px}.home-metrics[data-v-f121a312]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-metrics a[data-v-f121a312]{min-height:88px;padding:14px}.home-metrics strong[data-v-f121a312]{font-size:32px}.care-reminder[data-v-f121a312]{grid-template-columns:40px minmax(0,1fr)}.care-reminder b[data-v-f121a312]{display:none}}
