/* Little Bloom six themes. Scoped visual layer; existing flows and visibility remain intact. */
html[data-lb-theme] {
  --lb-primary: #2563eb;
  --lb-primary-hover: #1d4ed8;
  --lb-soft: #eff6ff;
  --lb-soft-strong: #dbeafe;
  --lb-ink: #17233b;
  --lb-muted: #61718a;
  --lb-border: #dfe7f1;
  --lb-surface: #ffffff;
  --lb-canvas: #f7f9fc;
  --lb-outer: #edf2f8;
  --lb-danger: #b83d47;
  --lb-success: #187448;
  --lb-warning: #98621b;
  --lb-radius: 12px;
  --lb-control-radius: 10px;
  --lb-shadow: 0 4px 18px rgb(20 40 72 / 5%);
  --lb-font: 'Noto Sans Thai', 'Leelawadee UI', 'Microsoft YaHei', system-ui, sans-serif;
  --lb-cream: var(--lb-surface);
  --lb-cream-deep: var(--lb-canvas);
  --lb-orange: var(--lb-primary);
  --lb-sage: var(--lb-primary);
  --van-primary-color: var(--lb-primary);
  --van-success-color: var(--lb-success);
  --van-danger-color: var(--lb-danger);
  --van-warning-color: var(--lb-warning);
  --van-text-color: var(--lb-ink);
  --van-text-color-2: var(--lb-muted);
  --van-text-color-3: var(--lb-muted);
  --van-background: var(--lb-canvas);
  --van-background-2: var(--lb-surface);
  --van-background-3: var(--lb-soft);
  --van-border-color: var(--lb-border);
  --van-tabbar-item-active-color: var(--lb-primary);
  --van-tabbar-item-text-color: var(--lb-muted);
  --van-tabs-bottom-bar-color: var(--lb-primary);
  --van-tab-text-color: var(--lb-muted);
  --van-tab-active-text-color: var(--lb-primary);
  --van-button-primary-background: var(--lb-primary);
  --van-button-primary-border-color: var(--lb-primary);
  --van-button-default-color: var(--lb-ink);
  --van-button-default-background: var(--lb-surface);
  --van-button-default-border-color: var(--lb-border);
  --van-button-radius: var(--lb-control-radius);
  --van-dialog-confirm-button-text-color: var(--lb-primary);
  --van-nav-bar-title-text-color: var(--lb-ink);
  --van-nav-bar-icon-color: var(--lb-ink);
  --van-field-label-color: var(--lb-ink);
  --van-field-input-text-color: var(--lb-ink);
  --van-field-placeholder-text-color: var(--lb-muted);
  --van-cell-text-color: var(--lb-ink);
  --van-cell-background: var(--lb-surface);
  color-scheme: light;
  background: var(--lb-outer);
}
html[data-lb-theme="ocean"] { --lb-primary:#08758f; --lb-primary-hover:#08667c; --lb-soft:#edf9fc; --lb-soft-strong:#d4edf5; --lb-ink:#17313b; --lb-muted:#58717c; --lb-border:#dce9ee; --lb-canvas:#f5fafb; --lb-outer:#edf5f7; }
html[data-lb-theme="mint"] { --lb-primary:#18775f; --lb-primary-hover:#125d4b; --lb-soft:#edf8f3; --lb-soft-strong:#d5eee2; --lb-ink:#1d322c; --lb-muted:#5e746b; --lb-border:#deebe4; --lb-canvas:#f6faf8; --lb-outer:#edf5f0; }
html[data-lb-theme="lavender"] { --lb-primary:#7354ad; --lb-primary-hover:#5c408f; --lb-soft:#f5f1fc; --lb-soft-strong:#e8def6; --lb-ink:#2c263a; --lb-muted:#72687e; --lb-border:#e8e1f0; --lb-canvas:#faf8fc; --lb-outer:#f2eef7; }
html[data-lb-theme="rose"] { --lb-primary:#ad4f71; --lb-primary-hover:#923958; --lb-soft:#fdf0f5; --lb-soft-strong:#f6dce6; --lb-ink:#3a2630; --lb-muted:#7d6670; --lb-border:#eedfe5; --lb-canvas:#fcf8fa; --lb-outer:#f7eef2; }
html[data-lb-theme="amber"] { --lb-primary:#9c6420; --lb-primary-hover:#7f5019; --lb-soft:#fcf5e9; --lb-soft-strong:#f2e4c9; --lb-ink:#362e22; --lb-muted:#776c59; --lb-border:#eae3d6; --lb-canvas:#fbfaf6; --lb-outer:#f5f1e9; }

html[data-lb-theme] body { background:var(--lb-outer)!important; color:var(--lb-ink); font-family:var(--lb-font); -webkit-font-smoothing:antialiased; }
html[data-lb-theme] #app { background:var(--lb-surface)!important; box-shadow:0 0 40px rgb(20 40 72 / 5%); }
html[data-lb-theme] #app .container { color:var(--lb-ink)!important; font-family:var(--lb-font)!important; }
html[data-lb-theme] #app > .container { background-color:var(--lb-canvas)!important; }
html[data-lb-theme] :is(button,input,textarea,select) { font-family:var(--lb-font); }
html[data-lb-theme] :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--lb-primary)!important; outline-offset:3px; }
html[data-lb-theme] :is(button,a) { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
html[data-lb-theme] :is(input,textarea,select) { accent-color:var(--lb-primary); }
html[data-lb-theme] ::selection { background:var(--lb-soft-strong); color:var(--lb-ink); }
html[data-lb-theme] #app :is(.custom-nav-container,.van-nav-bar) { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; box-shadow:none!important; }
html[data-lb-theme] #app :is(.custom-nav-title,.custom-nav-container .bi-icon,.van-nav-bar__title) { color:var(--lb-ink)!important; }
html[data-lb-theme] #app .custom-nav-title { font-size:18px; font-weight:700; letter-spacing:0; }
html[data-lb-theme] .van-tabbar--fixed { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; box-shadow:0 -3px 14px rgb(20 40 72 / 4%)!important; }
html[data-lb-theme] .van-tabbar--fixed .van-tabbar-item { color:var(--lb-muted)!important; }
html[data-lb-theme] .van-tabbar--fixed .van-tabbar-item--active { color:var(--lb-primary)!important; background:var(--lb-surface)!important; }
html[data-lb-theme] .van-tabbar--fixed .van-tabbar-item .bi-icon { color:inherit!important; }
html[data-lb-theme] .van-tabbar-item__text { font-size:12px; line-height:1.35; }
html[data-lb-theme] :is(.van-button--primary,.van-action-bar-button--danger,.van-action-bar-button--warning) { color:white!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; }
html[data-lb-theme] :is(.van-button,.van-action-bar-button) { border-radius:var(--lb-control-radius); font-weight:600; }
html[data-lb-theme] .van-button__text { font-size:inherit; }
html[data-lb-theme] .van-button--disabled { opacity:.55!important; cursor:not-allowed; }
html[data-lb-theme] :is(.van-cell,.van-popup,.van-action-sheet,.van-dialog) { background-color:var(--lb-surface); color:var(--lb-ink); }
html[data-lb-theme] :is(.van-empty__description,.van-list__finished-text,.van-cell__label) { color:var(--lb-muted)!important; }
html[data-lb-theme] .van-dialog__header { color:var(--lb-ink)!important; }
html[data-lb-theme] .van-dialog__message { color:var(--lb-muted)!important; }
html[data-lb-theme] .van-overlay { background:rgb(15 23 42 / 45%); }
html[data-lb-theme] .van-toast { background:rgb(15 23 42 / 88%)!important; color:white!important; }
html[data-lb-theme] :is(.van-toast__text,.van-toast .van-icon) { color:white!important; }
html[data-lb-theme] .language-panel,html[data-lb-theme] .language-sheet { background:var(--lb-surface)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] .language-panel :is(button,.language-option) { border-color:var(--lb-border)!important; }
html[data-lb-theme] .language-panel :is(.is-active,.active,.selected) { background:var(--lb-soft)!important; color:var(--lb-primary)!important; border-color:var(--lb-primary)!important; }

/* Sign in and registration retain the existing fields and validation. */
html[data-lb-theme] #app .container[data-v-5b3ea080] { background:linear-gradient(180deg,var(--lb-soft) 0,var(--lb-surface) 300px)!important; padding:24px 24px 32px; }
html[data-lb-theme] #app .login-container { max-width:400px; }
html[data-lb-theme] #app .login-brand { margin:28px 0 24px; }
html[data-lb-theme] #app .login-brand img { filter:none!important; }
html[data-lb-theme] #app .welcome { color:var(--lb-ink)!important; font-weight:700; line-height:1.5; }
html[data-lb-theme] #app .welcome :is(span,.brand-name) { font-size:20px; }
html[data-lb-theme] #app .login-title { color:var(--lb-muted)!important; margin-top:6px; }
html[data-lb-theme] #app .login-forms { margin-top:24px; }
html[data-lb-theme] #app .login-container :is(.language-button,.form-label) { color:var(--lb-ink)!important; }
html[data-lb-theme] #app .login-container .language-button { min-height:40px; padding:0 8px; border-radius:8px; }
html[data-lb-theme] #app .login-container .form-input { margin-top:14px; }
html[data-lb-theme] #app .login-container :is(.input-container,.van-field) { border-radius:var(--lb-control-radius)!important; background:var(--lb-surface)!important; }
html[data-lb-theme] #app .login-container .input-field { border:1px solid var(--lb-border)!important; min-height:52px; }
html[data-lb-theme] #app .login-container .forget-pwd { min-height:44px; color:var(--lb-primary)!important; font-size:13px; }
html[data-lb-theme] #app .login-actions { gap:12px; margin-top:20px; }
html[data-lb-theme] #app .login-button .van-button { min-height:48px; height:48px; border-radius:var(--lb-control-radius)!important; color:white!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; }
html[data-lb-theme] #app .login-container .go-register { min-height:48px; height:48px; color:var(--lb-primary)!important; background:var(--lb-surface)!important; border:1px solid var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; box-shadow:none!important; }
html[data-lb-theme] #app .container[data-v-84aa287d] { background:var(--lb-canvas)!important; }
html[data-lb-theme] #app .container[data-v-84aa287d] .content { padding-inline:8px; }
html[data-lb-theme] #app .register-note { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; box-shadow:none!important; border-radius:var(--lb-radius); margin-bottom:22px; }
html[data-lb-theme] #app .register-note .register-logo { border:0!important; background:transparent!important; box-shadow:none!important; }
html[data-lb-theme] #app .register-note strong { color:var(--lb-ink)!important; }
html[data-lb-theme] #app .register-note p { color:var(--lb-muted)!important; }
html[data-lb-theme] #app .container[data-v-84aa287d] :is(.form-label,.input-label,.van-field__label) { color:var(--lb-ink)!important; }
html[data-lb-theme] #app .container[data-v-84aa287d] .input-field { border:1px solid var(--lb-border)!important; border-radius:var(--lb-control-radius)!important; background:var(--lb-surface)!important; }
html[data-lb-theme] #app .container[data-v-84aa287d] .bottom { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] #app .container[data-v-84aa287d] .bottom .van-button { min-height:48px; color:white!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] #app :is(.login-container,.container[data-v-84aa287d]) input { font-size:16px!important; color:var(--lb-ink)!important; }
html[data-lb-theme] #app :is(.login-container,.container[data-v-84aa287d]) input::placeholder { color:var(--lb-muted)!important; opacity:1; }

/* Personal center. Keep fixed brand artwork and the current mobile scroll behavior. */
html[data-lb-theme] #app .container.safari_only.mall-page[data-v-c1207243] { background:var(--lb-canvas)!important; }
html[data-lb-theme] #app .mall-page .mall-main { border-color:var(--lb-border)!important; background:var(--lb-surface)!important; border-radius:16px 16px 0 0; padding-top:20px; }
html[data-lb-theme] #app .mall-account { position:relative; }
html[data-lb-theme] #app .mall-account-columns { gap:18px; }
html[data-lb-theme] #app .mall-identity { padding-top:8px; }
html[data-lb-theme] #app .mall-identity-text strong { color:var(--lb-ink)!important; font-size:15px; }
html[data-lb-theme] #app .mall-page .mall-balance { background:var(--lb-primary)!important; border-radius:var(--lb-radius); min-height:102px; box-shadow:none!important; }
html[data-lb-theme] #app .mall-page :is(.mall-balance-value,.mall-balance-toggle) { color:white!important; }
html[data-lb-theme] #app .mall-page .mall-balance-value { font-size:28px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
html[data-lb-theme] #app .mall-page .mall-balance-toggle span { font-size:13px; }
html[data-lb-theme] #app .mall-page .mall-money-actions { gap:10px; }
html[data-lb-theme] #app .mall-page .mall-money-actions button { background:var(--lb-soft)!important; color:var(--lb-primary)!important; border:1px solid var(--lb-border); border-radius:var(--lb-control-radius); font-size:14px; min-height:48px; }
html[data-lb-theme] #app .mall-page :is(.mall-section-heading h2,.mall-services h2,.mall-tools h2) { color:var(--lb-ink)!important; font-size:15px; font-weight:700; }
html[data-lb-theme] #app .mall-page :is(.mall-orders,.mall-order-shortcut,.mall-tool-row,.mall-service) { border-color:var(--lb-border)!important; }
html[data-lb-theme] #app .mall-page .mall-all-orders { color:var(--lb-primary)!important; font-size:12px; }
html[data-lb-theme] #app .mall-page :is(.mall-order-icon,.mall-service-icon,.mall-tool-icon) { color:var(--lb-primary)!important; background:var(--lb-soft)!important; border-radius:9px; }
html[data-lb-theme] #app .mall-page .mall-order-icon { width:36px; height:36px; }
html[data-lb-theme] #app .mall-page :is(.mall-order-label,.mall-tool-label,.mall-service) { color:var(--lb-ink)!important; font-size:13px; }
html[data-lb-theme] #app .mall-page :is(.mall-tool-list,.mall-service,.mall-tool-row) { background:var(--lb-surface)!important; }
html[data-lb-theme] #app .mall-page :is(.mall-service,.mall-tool-row) { min-height:52px; }
html[data-lb-theme] #app .mall-page :is(.mall-tool-value,.mall-tool-arrow) { color:var(--lb-muted)!important; }
html[data-lb-theme] #app .mall-page :is(.mall-logout,.mall-logout .mall-tool-icon,.mall-logout .mall-tool-label) { color:var(--lb-danger)!important; }
html[data-lb-theme] #app .mall-page .mall-logout .mall-tool-icon { background:#fff1f2!important; }
html[data-lb-theme] .profile-logout-overlay { background:rgb(15 23 42 / 45%)!important; }
html[data-lb-theme] .profile-logout-dialog { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] .profile-logout-dialog .van-dialog__cancel { background:var(--lb-soft)!important; color:var(--lb-ink)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] .profile-logout-dialog .van-dialog__confirm { background:var(--lb-primary)!important; color:white!important; border-color:var(--lb-primary)!important; }

/* Isolated, native dialog and accessible appearance control. */
html[data-lb-theme] #app .lb-theme-trigger { position:absolute; top:0; right:0; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--lb-border); border-radius:50%; background:var(--lb-surface); color:var(--lb-primary); cursor:pointer; }
html[data-lb-theme] .lb-theme-dialog { position:fixed; inset:0; width:min(420px,calc(100vw - 32px)); max-width:420px; max-height:calc(100dvh - 40px); margin:auto; padding:24px; border:1px solid var(--lb-border); border-radius:20px; background:var(--lb-surface); color:var(--lb-ink); font-family:var(--lb-font); box-shadow:0 24px 80px rgb(15 23 42 / 20%); overflow-y:auto; }
html[data-lb-theme] .lb-theme-dialog::backdrop { background:rgb(15 23 42 / 45%); backdrop-filter:blur(3px); }
html[data-lb-theme] .lb-theme-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:20px; }
html[data-lb-theme] .lb-theme-heading h2 { font-size:20px; font-weight:700; line-height:1.4; color:var(--lb-ink); }
html[data-lb-theme] .lb-theme-heading p { margin-top:6px; font-size:13px; line-height:1.5; color:var(--lb-muted); }
html[data-lb-theme] .lb-theme-close { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; margin:-8px -8px 0 0; padding:0; border:0; border-radius:50%; color:var(--lb-muted); background:transparent; cursor:pointer; }
html[data-lb-theme] .lb-theme-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
html[data-lb-theme] .lb-theme-option { --choice:#2563eb; --choice-soft:#eff6ff; display:flex; flex-direction:column; gap:8px; min-width:0; padding:8px 8px 10px; border:1px solid var(--lb-border); border-radius:12px; background:var(--lb-surface); color:var(--lb-ink); cursor:pointer; }
html[data-lb-theme] .lb-theme-option[data-theme-choice="ocean"] { --choice:#08758f; --choice-soft:#edf9fc; }
html[data-lb-theme] .lb-theme-option[data-theme-choice="mint"] { --choice:#18775f; --choice-soft:#edf8f3; }
html[data-lb-theme] .lb-theme-option[data-theme-choice="lavender"] { --choice:#7354ad; --choice-soft:#f5f1fc; }
html[data-lb-theme] .lb-theme-option[data-theme-choice="rose"] { --choice:#ad4f71; --choice-soft:#fdf0f5; }
html[data-lb-theme] .lb-theme-option[data-theme-choice="amber"] { --choice:#9c6420; --choice-soft:#fcf5e9; }
html[data-lb-theme] .lb-theme-option[aria-pressed="true"] { border-color:var(--lb-primary); box-shadow:0 0 0 1px var(--lb-primary); background:var(--lb-soft); }
html[data-lb-theme] .lb-theme-preview { position:relative; display:block; width:100%; height:66px; overflow:hidden; border:1px solid rgb(15 23 42 / 7%); border-radius:7px; background:var(--choice-soft); }
html[data-lb-theme] .lb-theme-preview-header { display:block; height:12px; border-bottom:1px solid rgb(15 23 42 / 6%); background:white; }
html[data-lb-theme] .lb-theme-preview-card { position:absolute; inset:22px 10px auto; height:19px; border-radius:4px; background:var(--choice); }
html[data-lb-theme] .lb-theme-preview-line { position:absolute; inset:47px 10px auto; height:7px; border-radius:3px; background:white; }
html[data-lb-theme] .lb-theme-check { position:absolute; top:2px; right:3px; display:none; width:19px; height:19px; border-radius:50%; background:var(--choice); color:white; font-size:13px; line-height:19px; text-align:center; }
html[data-lb-theme] .lb-theme-option[aria-pressed="true"] .lb-theme-check { display:block; }
html[data-lb-theme] .lb-theme-name { display:block; width:100%; font-size:12px; font-weight:600; line-height:1.5; text-align:center; }
html[data-lb-theme] .lb-theme-done { display:block; width:100%; min-height:46px; margin-top:22px; padding:10px 16px; border:0; border-radius:10px; color:white; background:var(--lb-primary); font-size:14px; font-weight:600; cursor:pointer; }
html[data-lb-theme] .lb-theme-live { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (hover:hover) { html[data-lb-theme] .lb-theme-trigger:hover,html[data-lb-theme] .lb-theme-close:hover { background:var(--lb-soft)!important; } html[data-lb-theme] .lb-theme-done:hover { background:var(--lb-primary-hover); } }
@media (max-width:360px) { html[data-lb-theme] .lb-theme-dialog { padding:18px; } html[data-lb-theme] .lb-theme-options { gap:9px; } html[data-lb-theme] #app .container[data-v-5b3ea080] { padding-inline:20px; } html[data-lb-theme] .lb-theme-name { font-size:11px; } }



/* Little Bloom: storefront and transaction pages only. Theme tokens come from
   theme-base.css. Preserve all page geometry, visibility and business states. */

/* Home, real-product category art, and product cards. */
html[data-lb-theme] body #app .container.safari_only.little-bloom-home {
  background: var(--lb-surface) !important;
  color: var(--lb-ink);
}
html[data-lb-theme] body .little-bloom-home .sf-home-header {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
}
html[data-lb-theme] body .little-bloom-home .sf-home-language {
  color: var(--lb-ink) !important;
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-control-radius);
}
html[data-lb-theme] body .little-bloom-home :is(.sf-home-section-head h2,.sf-home-merch-copy strong,.sf-product-card__title) {
  color: var(--lb-ink) !important;
}
html[data-lb-theme] body .little-bloom-home :is(.sf-home-brand small,.sf-home-eyebrow,.sf-home-category,.sf-home-filter-scroll button,.sf-home-loading) {
  color: var(--lb-muted);
}
html[data-lb-theme] body .little-bloom-home :is(.sf-home-section-link,.sf-home-merch-copy small,.sf-home-category.is-active,.sf-home-filter-scroll button.is-active,.sf-home-more,.sf-home-preview span) {
  color: var(--lb-primary) !important;
}
html[data-lb-theme] body .little-bloom-home :is(.sf-home-search,.sf-home-layout,.sf-home-preview) {
  background: var(--lb-soft) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-control-radius);
  color: var(--lb-muted);
}
html[data-lb-theme] body .little-bloom-home .sf-home-search-action,
html[data-lb-theme] body .little-bloom-home .sf-home-filter-scroll button.is-active::after {
  background: var(--lb-primary) !important;
  color: #fff;
}
html[data-lb-theme] body .little-bloom-home :is(.sf-home-merch-card,.sf-home-more) {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-radius);
}
html[data-lb-theme] body .little-bloom-home .sf-home-merch-photo { background: var(--lb-soft); }
html[data-lb-theme] body .little-bloom-home .sf-home-category-image {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: 50% !important;
}
html[data-lb-theme] body .little-bloom-home .sf-home-category-image img {
  object-fit: contain !important;
}
html[data-lb-theme] body .little-bloom-home .sf-home-category.is-active .sf-home-category-image {
  border-color: var(--lb-primary) !important;
  box-shadow: 0 0 0 2px var(--lb-soft-strong);
}
html[data-lb-theme] body .little-bloom-home :is(.sf-home-products,.sf-home-filter-scroll) { border-color: var(--lb-border) !important; }
html[data-lb-theme] body .little-bloom-home .sf-home-layout button.is-active {
  background: var(--lb-surface) !important;
  color: var(--lb-primary) !important;
}
html[data-lb-theme] body :is(.lb-shopping-card,.sf-home-categories,.mall-bag-empty,.cart-nav-badge) {
  --lb-shopping-ink: var(--lb-primary);
  --lb-shopping-accent: var(--lb-primary-hover);
  --lb-shopping-line: var(--lb-border);
  --lb-shopping-muted: var(--lb-muted);
  --lb-shopping-soft: var(--lb-soft);
}
html[data-lb-theme] body .little-bloom-home .lb-category-arrow { color: var(--lb-primary) !important; }
html[data-lb-theme] body .little-bloom-home .lb-category-arrow::before { border-color: var(--lb-border) !important; }
html[data-lb-theme] body .lb-shopping-card .lb-quick-cart { background: var(--lb-primary) !important; }
html[data-lb-theme] body .lb-shopping-card .lb-quick-cart.is-sold-out {
  background: var(--lb-soft) !important;
  color: var(--lb-muted) !important;
}
html[data-lb-theme] body #app :is(.little-bloom-home,.catalog-browser) .sf-product-card {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-radius) !important;
  box-shadow: var(--lb-shadow) !important;
}
html[data-lb-theme] body #app :is(.little-bloom-home,.catalog-browser) .sf-product-card__media { background: var(--lb-soft) !important; }
html[data-lb-theme] body #app :is(.little-bloom-home,.catalog-browser) .sf-product-card__title { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app :is(.little-bloom-home,.catalog-browser) .sf-product-card__prices strong { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app :is(.little-bloom-home,.catalog-browser) .sf-product-card__prices del { color: var(--lb-muted) !important; }

/* Full category directory: keep its grid and route behavior. */
html[data-lb-theme] body #app .category-directory { background: var(--lb-surface) !important; color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .category-directory .category-header { border-color: var(--lb-border) !important; }
html[data-lb-theme] body #app .category-directory .category-header h1,
html[data-lb-theme] body #app .category-directory .category-card strong { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .category-directory :is(.category-intro,.category-status,.category-card small) { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .category-directory .category-search {
  color: var(--lb-primary) !important;
  background: var(--lb-soft) !important;
  border-radius: var(--lb-control-radius);
}
html[data-lb-theme] body #app .category-directory .category-all {
  color: #fff !important;
  background: var(--lb-primary) !important;
  border-color: var(--lb-primary) !important;
  border-radius: var(--lb-radius) !important;
}
html[data-lb-theme] body #app .category-directory .category-all :is(strong,small,.category-all-arrow) { color: #fff !important; }
html[data-lb-theme] body #app .category-directory .category-all-symbol { background: rgb(255 255 255 / 15%) !important; border-color: rgb(255 255 255 / 35%) !important; }
html[data-lb-theme] body #app .category-directory .category-card {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-radius) !important;
  box-shadow: var(--lb-shadow);
}
html[data-lb-theme] body #app .category-directory .category-card:active { background: var(--lb-soft) !important; }
html[data-lb-theme] body #app .category-directory .category-image {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: 50% !important;
}
html[data-lb-theme] body #app .category-directory .category-photo { object-fit: contain !important; }
html[data-lb-theme] body #app .category-directory .category-status button {
  color: var(--lb-primary) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-control-radius);
}

/* Search, all products and teleported category picker. */
html[data-lb-theme] body #app .catalog-browser { background: var(--lb-surface) !important; color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .catalog-browser :is(.catalog-editorial,.catalog-results,.catalog-header--editorial) {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
}
html[data-lb-theme] body #app .catalog-browser :is(.catalog-header h1,.catalog-results-heading h2,.catalog-r9-discover-head h2) { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .catalog-browser :is(.catalog-r9-discover,.catalog-recent,.catalog-sort) { border-color: var(--lb-border) !important; }
html[data-lb-theme] body #app .catalog-browser :is(.catalog-search,.catalog-r9-filter-button,.catalog-view) {
  background: var(--lb-soft) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-control-radius) !important;
  color: var(--lb-ink) !important;
}
html[data-lb-theme] body #app .catalog-browser .catalog-search input { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .catalog-browser .catalog-search input::placeholder { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .catalog-browser .catalog-submit { background: var(--lb-primary) !important; color: #fff !important; }
html[data-lb-theme] body #app .catalog-browser :is(.catalog-r9-discover-head button,.catalog-r9-all-categories,.catalog-results-heading span,.catalog-sort-options button.selected,.catalog-view button.selected,.catalog-more,.catalog-empty button,.catalog-error button,.catalog-category-error button) { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .catalog-browser :is(.catalog-r9-chip-row button,.catalog-recent button,.catalog-r9-empty-actions button,.catalog-more,.catalog-category-pill) {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: var(--lb-control-radius) !important;
  color: var(--lb-ink);
}
html[data-lb-theme] body #app .catalog-browser :is(.catalog-category-icon,.catalog-category-pill .catalog-category-icon) {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  border-radius: 50% !important;
}
html[data-lb-theme] body #app .catalog-browser .catalog-category-icon img { object-fit: contain !important; }
html[data-lb-theme] body #app .catalog-browser .catalog-category-scroll button.selected { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .catalog-browser .catalog-category-scroll button.selected .catalog-category-icon { border-color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .catalog-browser .catalog-sort-options button.selected::after,
html[data-lb-theme] body #app .catalog-browser .catalog-view button.selected { background: var(--lb-primary) !important; }
html[data-lb-theme] body #app .catalog-browser .catalog-view button.selected { color: #fff !important; }
html[data-lb-theme] body .van-popup.catalog-picker { background: var(--lb-surface) !important; color: var(--lb-ink); }
html[data-lb-theme] body .van-popup.catalog-picker button.selected { color: var(--lb-primary) !important; background: var(--lb-soft) !important; border-color: var(--lb-primary) !important; }

/* Product detail, bag and checkout. Leave image sizing, quantity and footer positioning intact. */
html[data-lb-theme] body #app .container[data-v-30273cfc] { background: var(--lb-canvas) !important; color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .nav-bar-items { background: var(--lb-surface) !important; box-shadow: none !important; border-bottom: 1px solid var(--lb-border); }
html[data-lb-theme] body #app .container[data-v-30273cfc] .nav-bar-items :is(.item,.selected) { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .product .product-img {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  box-shadow: var(--lb-shadow) !important;
  border-radius: var(--lb-radius) !important;
}
html[data-lb-theme] body #app .container[data-v-30273cfc] .product .product-info,
html[data-lb-theme] body #app .container[data-v-30273cfc] .detail .product-desc {
  background: var(--lb-surface) !important;
  border-color: var(--lb-border) !important;
  box-shadow: var(--lb-shadow) !important;
  border-radius: var(--lb-radius) !important;
}
html[data-lb-theme] body #app .container[data-v-30273cfc] :is(.product-name,.detail-title,.product-desc) { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] :is(.product-price,.total-number,.gallery-arrow) { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] :is(.spec-selected,.van-swipe__indicator--active),
html[data-lb-theme] body #app .container[data-v-30273cfc] .detail-title::before { background: var(--lb-primary) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .spec-selected { color: #fff !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .spec-name { background: var(--lb-soft) !important; color: var(--lb-ink); }
html[data-lb-theme] body #app .container[data-v-30273cfc] .detail-hot-sales { color: var(--lb-warning) !important; background: var(--lb-soft) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .detail .description-status { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .detail .description-error { color: var(--lb-danger) !important; }
html[data-lb-theme] body #app .container[data-v-30273cfc] .bottom .total-price .van-button {
  color: var(--lb-primary) !important;
  background: var(--lb-soft) !important;
  border-color: var(--lb-border) !important;
}
html[data-lb-theme] body #app .container[data-v-30273cfc] .bottom .button > .van-button:first-child {
  color: var(--lb-primary) !important;
  background: var(--lb-surface) !important;
  border-color: var(--lb-primary) !important;
}
html[data-lb-theme] body #app .container[data-v-30273cfc] .bottom .button > .van-button:last-child {
  color: #fff !important;
  background: var(--lb-primary) !important;
  border-color: var(--lb-primary) !important;
}

html[data-lb-theme] body #app .mall-bag-page {
  --bag-background: var(--lb-canvas);
  --bag-surface: var(--lb-surface);
  --bag-soft: var(--lb-soft);
  --bag-line: var(--lb-border);
  --bag-ink: var(--lb-ink);
  --bag-muted: var(--lb-muted);
  --bag-accent: var(--lb-primary);
}
html[data-lb-theme] body #app .container.safari_only.mall-bag-page { background: var(--lb-canvas) !important; }
html[data-lb-theme] body #app .mall-bag-page :is(.mall-bag-products,.mall-bag-empty-icon) { border-radius: var(--lb-radius); }
html[data-lb-theme] body #app .mall-bag-page .mall-bag-item-del { background: var(--lb-danger) !important; }
html[data-lb-theme] body #app .mall-bag-page .mall-bag-delete-selected:not(.is-disabled) { color: var(--lb-danger) !important; }
html[data-lb-theme] body #app .mall-bag-page :is(.mall-bag-browse,.mall-bag-create-order.van-button) { border-radius: var(--lb-control-radius) !important; }

html[data-lb-theme] body #app .container[data-v-0eb3f12b] { background: var(--lb-canvas) !important; color: var(--lb-ink); }
html[data-lb-theme] body #app .container[data-v-0eb3f12b] .van-field__control { border-color: var(--lb-border) !important; background: var(--lb-surface); color: var(--lb-ink); border-radius: var(--lb-control-radius); }
html[data-lb-theme] body #app .container[data-v-0eb3f12b] .van-field__control:focus { border-color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .container[data-v-0eb3f12b] :is(.form-label,.bottom-top,.words-desc) { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .container[data-v-0eb3f12b] :is(.item-title,.total-item,.bottom-bottom) { color: var(--lb-ink) !important; }

/* Orders: neutral chrome, themed amount and actions, semantic status chips unchanged. */
html[data-lb-theme] body #app .orders-page {
  --order-accent: var(--lb-primary);
  --order-muted: var(--lb-muted);
  background: var(--lb-canvas) !important;
  color: var(--lb-ink);
}
html[data-lb-theme] body #app .orders-nav-shell { background: var(--lb-surface) !important; border-bottom: 1px solid var(--lb-border); box-shadow: none !important; }
html[data-lb-theme] body #app .orders-nav-shell .orders-nav.custom-nav-container { background: transparent !important; }
html[data-lb-theme] body #app .orders-nav-shell :is(.custom-nav-title,.custom-nav-left,.custom-nav-left svg) { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .orders-page .van-tabs__wrap { background: var(--lb-surface) !important; border: 1px solid var(--lb-border); box-shadow: none !important; border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .orders-page .van-tabs__nav { background: var(--lb-surface) !important; }
html[data-lb-theme] body #app .orders-page .van-tab { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .orders-page .van-tab--active { color: var(--lb-primary) !important; background: var(--lb-soft) !important; }
html[data-lb-theme] body #app .orders-page .van-tabs__line { background: var(--lb-primary) !important; }
html[data-lb-theme] body #app .orders-page .order-tab-icon { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .orders-page .order-card { background: var(--lb-surface) !important; border-color: var(--lb-border) !important; border-radius: var(--lb-radius) !important; box-shadow: var(--lb-shadow) !important; }
html[data-lb-theme] body #app .orders-page .order-card::before { background: var(--lb-primary) !important; }
html[data-lb-theme] body #app .orders-page .order-card__head { border-color: var(--lb-border) !important; }
html[data-lb-theme] body #app .orders-page .order-card__head .van-icon-ellipsis { color: var(--lb-primary) !important; background: var(--lb-soft) !important; }
html[data-lb-theme] body #app .orders-page .order-card__title { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .orders-page .order-card__metrics { border-color: var(--lb-border) !important; }
html[data-lb-theme] body #app .orders-page :is(.order-card__total span:last-child,.order-card__total .order-card__metric-value) { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .orders-page .order-card__metric-label { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .orders-page .order-item-del { background: var(--lb-danger) !important; }

html[data-lb-theme] body #app .order-detail-page { background: var(--lb-canvas) !important; color: var(--lb-ink); }
html[data-lb-theme] body #app .order-detail-nav-shell { background: var(--lb-surface) !important; border-bottom: 1px solid var(--lb-border); box-shadow: none !important; }
html[data-lb-theme] body #app .order-detail-nav-shell :is(.custom-nav-title,.custom-nav-left,.custom-nav-left svg) { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .order-detail-page .detail-status-hero { color: #fff !important; background: var(--lb-primary) !important; box-shadow: var(--lb-shadow) !important; border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .order-detail-page .detail-status-hero :is(.detail-status-hero__text,.detail-status-hero__text span,.detail-status-hero__text strong,.detail-status-hero__icon) { color: #fff !important; }
html[data-lb-theme] body #app .order-detail-page .detail-status-hero__icon { background: rgb(255 255 255 / 16%) !important; border-color: rgb(255 255 255 / 38%) !important; }
html[data-lb-theme] body #app .order-detail-page :is(.content-item,.detail-card,.detail-row) { background: var(--lb-surface) !important; border-color: var(--lb-border) !important; box-shadow: var(--lb-shadow) !important; border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .order-detail-page :is(.order-sn-card,.product-card-section,.address-card-section,.logistics-card-section) { border-color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .order-detail-page :is(.product-card-section,.address-card-section,.logistics-card-section)::before { background: var(--lb-primary) !important; }
html[data-lb-theme] body #app .order-detail-page :is(.total-row .list-title-value,.bottom .total-number) { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .order-detail-page .bottom { background: var(--lb-surface) !important; border-color: var(--lb-border) !important; box-shadow: 0 -4px 18px rgb(20 40 72 / 5%) !important; }

/* The Vant payment keyboard is teleported to body; only color it here. */
html[data-lb-theme] body .pay-panel-container {
  --pay-ink: var(--lb-ink);
  --pay-accent: var(--lb-primary);
  --pay-line: var(--lb-border);
  color: var(--lb-ink) !important;
  background: var(--lb-surface) !important;
}
html[data-lb-theme] body .pay-panel-container :is(.title-row,.card-value) { color: var(--lb-ink) !important; }
html[data-lb-theme] body .pay-panel-container :is(.money-row,.card-container-center,.title-row svg) { color: var(--lb-primary) !important; }
html[data-lb-theme] body .pay-panel-container .order-info { color: var(--lb-muted) !important; }
html[data-lb-theme] body .pay-panel-container .card-container { color: var(--lb-ink); background: var(--lb-soft) !important; border-color: var(--lb-border) !important; box-shadow: var(--lb-shadow) !important; }
html[data-lb-theme] body .pay-panel-container .van-password-input__item { color: var(--lb-ink) !important; background: var(--lb-surface) !important; border-color: var(--lb-border) !important; }
html[data-lb-theme] body .pay-panel-container .van-password-input__security i { background: var(--lb-primary) !important; }
html[data-lb-theme] body .pay-panel-container .card-container-center .van-icon { color: var(--lb-primary) !important; }
html[data-lb-theme] body .van-number-keyboard.mall-payment-keyboard { background: var(--lb-canvas) !important; border-color: var(--lb-border) !important; box-shadow: 0 -6px 20px rgb(20 40 72 / 9%) !important; }
html[data-lb-theme] body .van-number-keyboard.mall-payment-keyboard .van-key { color: var(--lb-ink) !important; background: var(--lb-surface) !important; border-radius: var(--lb-control-radius) !important; }
html[data-lb-theme] body .van-number-keyboard.mall-payment-keyboard :is(.van-key:active,.van-key--active) { background: var(--lb-soft-strong) !important; }

/* Service shell only. Chat body lives in a same-origin iframe and needs token sync. */
html[data-lb-theme] body #app .v3-support-page { background: var(--lb-canvas) !important; color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .v3-support-chat { background: var(--lb-surface) !important; }
html[data-lb-theme] body #app .v3-support-state { background: var(--lb-canvas) !important; color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .v3-support-state strong { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .v3-support-state button { color: #fff !important; background: var(--lb-primary) !important; border-radius: var(--lb-control-radius) !important; }
html[data-lb-theme] body #app .v3-support-spinner { border-color: var(--lb-border) !important; border-top-color: var(--lb-primary) !important; }

/* Deposit, withdrawal, records, and saved bank accounts. Local custom properties
   are overridden on their page roots so existing form rules keep working. */
html[data-lb-theme] body #app .manual-topup-page,
html[data-lb-theme] body #app .funding-history-page {
  --surface: var(--lb-surface);
  --background: var(--lb-canvas);
  --line: var(--lb-border);
  --ink: var(--lb-ink);
  --muted: var(--lb-muted);
  --accent: var(--lb-primary);
}
html[data-lb-theme] body #app .manual-topup-page :is(.manual-topup-form,.manual-topup-state),
html[data-lb-theme] body #app .funding-history-page :is(.funding-history-state,.funding-history-list) { border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .manual-topup-page :is(.manual-topup-currencies label.selected,.manual-topup-receiving-option.selected,.manual-topup-instructions) { background: var(--lb-soft) !important; border-color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .manual-topup-page .manual-topup-primary { border-radius: var(--lb-control-radius) !important; }
html[data-lb-theme] body #app .manual-topup-page .manual-topup-error,
html[data-lb-theme] body #app .funding-history-page .funding-history-error { color: var(--lb-danger) !important; }
html[data-lb-theme] body #app .funding-history-page .funding-history-modes,
html[data-lb-theme] body #app .funding-history-page .funding-history-message { background: var(--lb-soft) !important; }
html[data-lb-theme] body #app .funding-history-page .funding-history-status { color: var(--lb-warning) !important; background: var(--lb-soft) !important; }
html[data-lb-theme] body #app .funding-history-page .funding-history-status:is(.status-approved,.status-paid,.status-1) { color: var(--lb-success) !important; }
html[data-lb-theme] body #app .funding-history-page .funding-history-status:is(.status-rejected,.status-2) { color: var(--lb-danger) !important; }

html[data-lb-theme] body #app .mall-withdraw-page {
  --wd-bg: var(--lb-canvas);
  --wd-surface: var(--lb-surface);
  --wd-soft: var(--lb-soft);
  --wd-line: var(--lb-border);
  --wd-ink: var(--lb-ink);
  --wd-muted: var(--lb-muted);
  --wd-accent: var(--lb-primary);
}
html[data-lb-theme] body #app .container.mall-withdraw-page { background: var(--lb-canvas) !important; }
html[data-lb-theme] body #app .mall-withdraw-page :is(.mall-balance-card,.mall-state) { border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .mall-withdraw-page .mall-form-error { color: var(--lb-danger) !important; }
html[data-lb-theme] body #app .mall-withdraw-page .mall-success-mark { background: var(--lb-success) !important; }
html[data-lb-theme] body #app .mall-withdraw-page .mall-primary-button { border-radius: var(--lb-control-radius) !important; }

html[data-lb-theme] body #app .bank-page {
  --bank-bg: var(--lb-canvas);
  --bank-surface: var(--lb-surface);
  --bank-soft: var(--lb-soft);
  --bank-line: var(--lb-border);
  --bank-ink: var(--lb-ink);
  --bank-muted: var(--lb-muted);
  --bank-accent: var(--lb-primary);
}
html[data-lb-theme] body #app .container.bank-page { background: var(--lb-canvas) !important; }
html[data-lb-theme] body #app .bank-page :is(.bank-state,.bank-form-card,.bank-account) { border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .bank-page :is(.bank-error,.bank-unavailable,.bank-account-actions button:last-child,.bank-confirm button:last-child) { color: var(--lb-danger) !important; }

html[data-lb-theme] body #app .container[data-v-f32b767e] { background: var(--lb-canvas) !important; color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] :is(.record-summary,.tabs-card,.record-card,.empty-wrap) { background: var(--lb-surface) !important; border-color: var(--lb-border) !important; border-radius: var(--lb-radius) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] :is(.record-main h3,.record-summary,.record-amount) { color: var(--lb-ink) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] :is(.record-count,.record-meta,.van-tab) { color: var(--lb-muted) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] :is(.record-count strong,.van-tab--active) { color: var(--lb-primary) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] .van-tabs__line { background: var(--lb-primary) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] .record-income :is(.record-direction,.record-amount) { color: var(--lb-success) !important; }
html[data-lb-theme] body #app .container[data-v-f32b767e] .record-expense .record-direction { color: var(--lb-warning) !important; background: var(--lb-soft) !important; }

/* Member, support and account pages only. Business state and layout remain intact. */

/* Account security entry and credential forms. */
html[data-lb-theme] #app .account-security-page,
html[data-lb-theme] #app .password-page,
html[data-lb-theme] #app .pay-password-page {
  background: var(--lb-canvas) !important;
  color: var(--lb-ink);
}
html[data-lb-theme] #app .account-security-page .security-content h1,
html[data-lb-theme] #app :is(.password-page,.pay-password-page) .page-heading h1 {
  color: var(--lb-ink);
}
html[data-lb-theme] #app .account-security-page .password-list,
html[data-lb-theme] #app :is(.password-page,.pay-password-page) .form-section {
  border-color: var(--lb-border);
  background: var(--lb-surface);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
}
html[data-lb-theme] #app .account-security-page .password-row {
  color: var(--lb-ink);
}
html[data-lb-theme] #app .account-security-page .password-row + .password-row,
html[data-lb-theme] #app .password-page :is(.step-list li,.verified-row),
html[data-lb-theme] #app .pay-password-page .form-note {
  border-color: var(--lb-border);
}
html[data-lb-theme] #app .account-security-page .password-row:is(:hover,:focus-visible) {
  background: var(--lb-soft);
}
html[data-lb-theme] #app .account-security-page :is(.password-icon,.payment-icon,.row-arrow) {
  color: var(--lb-primary-hover);
}
html[data-lb-theme] #app .account-security-page :is(.password-icon,.payment-icon) {
  background: var(--lb-soft);
}
html[data-lb-theme] #app :is(.password-page,.pay-password-page) :is(.brand-line,.page-heading p,.form-note,.field-help,.visibility-toggle) {
  color: var(--lb-muted);
}
html[data-lb-theme] #app :is(.password-page,.pay-password-page) .form-input .input-label {
  color: var(--lb-ink);
}
html[data-lb-theme] #app :is(.password-page,.pay-password-page) .form-input .input-field {
  border-color: var(--lb-border);
  background: var(--lb-surface);
  border-radius: var(--lb-control-radius);
}
html[data-lb-theme] #app :is(.password-page,.pay-password-page) .form-input .van-field__control {
  color: var(--lb-ink);
  background: transparent;
}
html[data-lb-theme] #app :is(.password-page,.pay-password-page) .form-input .van-field__control::placeholder {
  color: var(--lb-muted);
  opacity: 1;
}
html[data-lb-theme] #app .password-page .step-list li {
  color: var(--lb-muted);
}
html[data-lb-theme] #app .password-page .step-list li.is-current {
  color: var(--lb-ink);
  border-color: var(--lb-primary);
}
html[data-lb-theme] #app .password-page .step-list li.is-current .step-number,
html[data-lb-theme] #app :is(.password-page,.pay-password-page) :is(.primary-button,.submit-button) {
  color: var(--lb-surface) !important;
  background: var(--lb-primary) !important;
  border-color: var(--lb-primary) !important;
}
html[data-lb-theme] #app .password-page .step-list li.is-complete {
  border-color: var(--lb-success);
  color: var(--lb-success);
}
html[data-lb-theme] #app .password-page .step-list li.is-complete .step-number {
  color: var(--lb-surface);
  background: var(--lb-success);
}
html[data-lb-theme] #app .password-page :is(.verified-row,.verified-row button) {
  color: var(--lb-success);
}
html[data-lb-theme] #app :is(.password-page,.pay-password-page) :is(.visibility-toggle,.verified-row button):focus-visible {
  outline-color: var(--lb-primary);
}

/* Notification and security switches. Their checked state remains Vant-owned. */
html[data-lb-theme] #app .container :is(.container-scroll[data-v-939a2599],.container-scroll[data-v-f4792d25]) {
  color: var(--lb-ink);
  background: var(--lb-canvas);
}
html[data-lb-theme] #app .container :is(.container-scroll[data-v-939a2599],.container-scroll[data-v-f4792d25]) .security-items {
  border-color: var(--lb-border);
  background: var(--lb-surface);
  border-radius: var(--lb-radius);
}
html[data-lb-theme] #app .container :is(.container-scroll[data-v-939a2599],.container-scroll[data-v-f4792d25]) .security-item {
  border-color: var(--lb-border);
  color: var(--lb-ink);
}
html[data-lb-theme] #app .container .container-scroll[data-v-f4792d25] .items-title {
  color: var(--lb-muted);
}

/* Help, team/platform and legal guidance. */
html[data-lb-theme] #app :is(.help-page,.platform-page,.law-page) {
  color: var(--lb-ink);
  background: var(--lb-canvas) !important;
}
html[data-lb-theme] #app .help-page .help-hero,
html[data-lb-theme] #app .law-page .law-hero {
  color: var(--lb-surface);
  background: var(--lb-primary);
  border-color: var(--lb-primary);
  box-shadow: var(--lb-shadow);
}
html[data-lb-theme] #app .help-page .help-hero :is(.hero-kicker,.hero-copy p,.hero-meta),
html[data-lb-theme] #app .law-page .law-hero :is(.hero-kicker,p) {
  color: var(--lb-surface);
}
html[data-lb-theme] #app .help-page :is(.faq-section,.faq-card,.state-card,.contact-card),
html[data-lb-theme] #app .platform-page :is(.brand-mark,.contact-section),
html[data-lb-theme] #app .law-page :is(.guide-card,.quick-links a) {
  background: var(--lb-surface);
  border-color: var(--lb-border);
  box-shadow: var(--lb-shadow);
}
html[data-lb-theme] #app .help-page :is(.section-kicker,.faq-number,.contact-copy span,.contact-icon),
html[data-lb-theme] #app .platform-page .shop-link,
html[data-lb-theme] #app .law-page :is(.section-kicker,.guide-number,.guide-note .van-icon) {
  color: var(--lb-primary-hover);
}
html[data-lb-theme] #app .help-page :is(.faq-number,.faq-toggle,.search-box button,.contact-icon),
html[data-lb-theme] #app .law-page :is(.guide-number,.guide-note,.support-card) {
  background: var(--lb-soft);
}
html[data-lb-theme] #app .help-page :is(.faq-title,.section-heading h2,.contact-copy strong,.rich-content h3,.rich-content strong),
html[data-lb-theme] #app .platform-page :is(.brand-name,.partnership-intro h1,.section-copy h2),
html[data-lb-theme] #app .law-page :is(.guide-card h2,.support-card h2) {
  color: var(--lb-ink);
}
html[data-lb-theme] #app .help-page :is(.rich-content,.contact-copy p,.state-card p),
html[data-lb-theme] #app .platform-page :is(.partnership-intro p,.section-copy p),
html[data-lb-theme] #app .law-page :is(.guide-card p,.guide-card li,.support-card p,.quick-links a) {
  color: var(--lb-muted);
}
html[data-lb-theme] #app .help-page .search-box input::placeholder {
  color: var(--lb-muted);
  opacity: 1;
}
html[data-lb-theme] #app .help-page :is(.faq-toggle.active,.state-card button,.contact-card button),
html[data-lb-theme] #app .platform-page .contact-link,
html[data-lb-theme] #app .law-page .support-card a {
  color: var(--lb-surface) !important;
  background: var(--lb-primary);
  border-color: var(--lb-primary);
}
html[data-lb-theme] #app .help-page .faq-answer {
  border-color: var(--lb-border);
  background: var(--lb-canvas);
}
html[data-lb-theme] #app .platform-page .partnership-intro {
  border-color: var(--lb-border);
}

/* The current /law import-map target is the R13 team/invitation page. */
html[data-lb-theme] #app .member-team-r11 {
  color: var(--lb-ink);
  background: var(--lb-canvas);
}
html[data-lb-theme] #app .member-team-r11 :is(.member-team-hero h1,.member-team-card h2,.member-team-empty strong,.member-team-member-name) {
  color: var(--lb-ink);
}
html[data-lb-theme] #app .member-team-r11 :is(.member-team-hero p,.member-team-hint,.member-team-empty p,.member-team-member-date,.member-team-link-label) {
  color: var(--lb-muted);
}
html[data-lb-theme] #app .member-team-r11 :is(.member-team-card,.member-team-status) {
  color: var(--lb-ink);
  background: var(--lb-surface);
  border-color: var(--lb-border);
  border-radius: var(--lb-radius);
}
html[data-lb-theme] #app .member-team-r11 .member-team-code {
  color: var(--lb-primary);
  background: var(--lb-soft);
  border-color: var(--lb-border);
  border-radius: var(--lb-control-radius);
}
html[data-lb-theme] #app .member-team-r11 :is(button,.member-team-empty a) {
  color: #fff;
  background: var(--lb-primary);
  border-color: var(--lb-primary);
  border-radius: var(--lb-control-radius);
}
html[data-lb-theme] #app .member-team-r11 :is(button + button,.member-team-login) {
  color: var(--lb-primary);
  background: var(--lb-surface);
  border-color: var(--lb-primary);
}
html[data-lb-theme] #app .member-team-r11 .member-team-link-label input {
  color: var(--lb-ink);
  background: var(--lb-surface);
  border-color: var(--lb-border);
  border-radius: var(--lb-control-radius);
}
html[data-lb-theme] #app .member-team-r11 .member-team-members li { border-color: var(--lb-border); }
html[data-lb-theme] #app .member-team-r11 .member-team-notice {
  color: var(--lb-primary);
  background: var(--lb-soft);
  border-radius: var(--lb-control-radius);
}

/* Language selection is a member setting, not a global tab recolor. */
html[data-lb-theme] #app .container[data-v-0b5e435e] {
  background: var(--lb-canvas) !important;
  color: var(--lb-ink);
}
html[data-lb-theme] #app .container[data-v-0b5e435e] .language-card {
  background: var(--lb-surface);
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius);
  box-shadow: var(--lb-shadow);
}
html[data-lb-theme] #app .container[data-v-0b5e435e] .language-card :is(.left,.custom-check) {
  color: var(--lb-ink);
}
html[data-lb-theme] #app .container[data-v-0b5e435e] .language-card .language-name {
  color: var(--lb-muted);
}
html[data-lb-theme] #app .container[data-v-0b5e435e] .language-card .custom-check {
  border-color: var(--lb-primary);
}
html[data-lb-theme] #app .container[data-v-0b5e435e] .language-card .custom-check.chosen {
  background: var(--lb-primary);
  color: var(--lb-surface);
}

/* Nine legacy routes. Appearance only: preserve source layout, state and handlers. */

/* /profile — the editable profile form, separate from mall account center /filter. */
html[data-lb-theme] body #app .container[data-v-dda0a39c] { background:var(--lb-canvas)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-dda0a39c] .profile-forms .form-label { color:var(--lb-muted)!important; }
html[data-lb-theme] body #app .container[data-v-dda0a39c] .profile-forms .van-field__control { color:var(--lb-ink)!important; background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app .container[data-v-dda0a39c] .profile-forms .van-field__control:focus { border-color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-dda0a39c] .profile-forms .genders .van-radio { color:var(--lb-ink)!important; background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app .container[data-v-dda0a39c] .profile-forms .van-radio__icon--checked .van-icon { color:#fff!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-dda0a39c] .container-bottom .van-button { color:#fff!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; }

/* /comment, /refund and /forgotPassword share the old form primitives, scoped by route. */
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) { background:var(--lb-canvas)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) :is(.row-title,.sub-title,.pics-title,.rate-row) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) .tag-row .tag { color:var(--lb-muted)!important; background:var(--lb-surface)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) .tag-row .selected-tag { color:#fff!important; background:var(--lb-primary)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) .input-container :is(.input-label,.uploader-label) { color:var(--lb-muted)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) .input-container .input-field { background:var(--lb-surface)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) .van-field__control { color:var(--lb-ink)!important; background:var(--lb-surface)!important; }
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3]) .van-uploader__upload { color:var(--lb-primary)!important; background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app .container[data-v-56f6a7b3] :is(.refund-rate-note,.uploader-label) { color:var(--lb-muted)!important; }
html[data-lb-theme] body #app .container[data-v-f86b9dbf] .forms .tips { color:var(--lb-success)!important; }
/* All three source modules render their submit control inside .bottom as a Vant button with inline black color. */
html[data-lb-theme] body #app :is(.container[data-v-93eec0e6],.container[data-v-56f6a7b3],.container[data-v-f86b9dbf]) .bottom .van-button { color:#fff!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; }

/* /popular — keep product order and price data; replace only fixed legacy colors. */
html[data-lb-theme] body #app .Pro-List[data-v-b6a80715] { color:var(--lb-ink)!important; background:var(--lb-canvas)!important; }
html[data-lb-theme] body #app .Pro-List[data-v-b6a80715] .List { color:var(--lb-ink)!important; background:var(--lb-surface)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .Pro-List[data-v-b6a80715] .List img { background:var(--lb-soft)!important; }
html[data-lb-theme] body #app .Pro-List[data-v-b6a80715] .List .productInfo .top .right div { color:var(--lb-warning)!important; }
html[data-lb-theme] body #app .Pro-List[data-v-b6a80715] .List .productInfo .bottom span:last-child { color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .header[data-v-fa1b7f9b] .right { color:var(--lb-primary)!important; background:var(--lb-soft)!important; }

/* /address — preserve SwipeCell delete semantics and the existing card geometry. */
html[data-lb-theme] body #app .container[data-v-4e58c72c] { background:var(--lb-canvas)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-overview { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .overview-icon { color:#fff!important; background:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .overview-copy strong { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .overview-count { color:var(--lb-primary)!important; background:var(--lb-soft)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-card-container { color:var(--lb-ink)!important; background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-card-container::before { background:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-card-container :is(.user-name,.edit-icon-shell,.not-default) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-card-container :is(.mobile,.detail,.info) { color:var(--lb-muted)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-card-container :is(.mobile,.edit-icon-shell,.not-default) { background:var(--lb-soft)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-card-container .is-default { color:#fff!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .address-container .cart-item-del { color:#fff!important; background:var(--lb-danger)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .bottom { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] body #app .container[data-v-4e58c72c] .add-address-button { color:#fff!important; background:var(--lb-primary)!important; }

/* /addressForm — page-scoped fields and fixed bottom button. */
html[data-lb-theme] body #app .container[data-v-82b42d06] { background:var(--lb-canvas)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-intro { color:#fff!important; background:var(--lb-primary)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .intro-icon { color:var(--lb-primary)!important; background:var(--lb-surface)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-card { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-card-heading { color:var(--lb-ink)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .heading-dot { background:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-field .van-cell { background:var(--lb-canvas)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-field .van-cell:focus-within { background:var(--lb-surface)!important; border-color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-field :is(.van-field__label,.van-field__control) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .form-field .van-field__control::placeholder { color:var(--lb-muted)!important; opacity:1; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .bottom { background:var(--lb-surface)!important; }
html[data-lb-theme] body #app .container[data-v-82b42d06] .save-button { color:#fff!important; background:var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; }

/* /shop — the old shop view has its own product-card component. */
html[data-lb-theme] body #app .container[data-v-6924684b] { background:var(--lb-canvas)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] :is(.shop-info,.shop-info-name,.class-item) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .follow-shop { color:#fff!important; background:var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .classes-container .item-selected { color:var(--lb-primary)!important; border-color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card .product-image-shell { background:var(--lb-soft)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card :is(.product-name,.quality-note) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card .quality-note { color:var(--lb-muted)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card :is(.product-prices,.care-badge) { color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card .care-badge { background:var(--lb-surface)!important; }
html[data-lb-theme] body #app .container[data-v-6924684b] .baby-product-card .hot-sales { color:var(--lb-warning)!important; }

/* /order — legacy order creation, without touching totals or the payment widget. */
html[data-lb-theme] body #app .container[data-v-f17ab9f9] { background:var(--lb-canvas)!important; color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] :is(.content-item,.address-card,.list-tile-container) { color:var(--lb-ink)!important; background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] :is(.row-title,.choose-address-word,.total-price,.list-tile-container .title,.list-tile-container .value) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] :is(.address-card .address,.list-tile-container .label) { color:var(--lb-muted)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] .total-price .total-number { color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] > .bottom { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] .cart-product[data-v-7039057e] { background:var(--lb-surface)!important; border-color:var(--lb-border)!important; border-radius:var(--lb-radius)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] .cart-product[data-v-7039057e] :is(.name,.item-info,.line-total strong) { color:var(--lb-ink)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] .cart-product[data-v-7039057e] .price { color:var(--lb-primary)!important; }
html[data-lb-theme] body #app .container[data-v-f17ab9f9] .cart-product[data-v-7039057e] :is(.spec,.number-ctl,.item-img) { background:var(--lb-soft)!important; border-color:var(--lb-border)!important; }
/* /order creates its primary action as a default Vant button with inline #191919. */
html[data-lb-theme] body #app .container[data-v-f17ab9f9] > .bottom .button .van-button { color:#fff!important; background:var(--lb-primary)!important; border-color:var(--lb-primary)!important; border-radius:var(--lb-control-radius)!important; }
