/*
 * 洛璃花纪内部版品牌主题
 *
 * 这层样式只负责视觉，不改页面结构和任何业务状态。成功、等待、失败仍使用
 * 原有语义色；品牌酒红主要用于导航、主按钮和选中态，避免影响运营判断。
 */
body.luoli-internal {
  --moss: #7a1525;
  --moss-deep: #4b0711;
  --moss-soft: rgba(122, 21, 37, .10);
  --brand-wine-950: #32050c;
  --brand-wine-900: #500812;
  --brand-wine-800: #741321;
  --brand-ruby: #a81d31;
  --brand-rose: #d78d9b;
  --brand-blush: #f7e9e8;
  --brand-ivory: #fbf8f1;
  --brand-cream: #f2eadf;
  --brand-ink: #2b1719;
  --bg: #f3eee8;
  --panel: rgba(255, 253, 249, .96);
  --panel-2: #f9f3ed;
  --line: #e4d6d2;
  --text: #49383a;
  --heading: #281518;
  --muted: #8d797a;
  min-height: 100vh;
  background:
    radial-gradient(circle at 92% 8%, rgba(180, 53, 72, .08) 0 2px, transparent 3px) 0 0 / 28px 28px,
    radial-gradient(circle at 10% 92%, rgba(122, 21, 37, .055), transparent 30%),
    linear-gradient(135deg, #f7f2ec 0%, #eee6df 48%, #f8f3ee 100%);
  color: var(--text);
}

/* 团队账号页：新增表单只占一列，账号信息和操作不再被横向挤出视口。 */
.luoli-internal .team-account-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
  gap: 14px;
  padding: 0 18px 18px;
}

.luoli-internal .team-create-account {
  min-width: 0;
  align-self: start;
}

.luoli-internal .team-account-table-wrap {
  min-width: 0;
  padding: 0;
}

.luoli-internal .team-account-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.luoli-internal .team-account-table th:nth-child(1),
.luoli-internal .team-account-table td:nth-child(1) { width: 12%; }
.luoli-internal .team-account-table th:nth-child(2),
.luoli-internal .team-account-table td:nth-child(2) { width: 12%; }
.luoli-internal .team-account-table th:nth-child(3),
.luoli-internal .team-account-table td:nth-child(3) { width: 8%; }
.luoli-internal .team-account-table th:nth-child(4),
.luoli-internal .team-account-table td:nth-child(4) { width: 22%; }
.luoli-internal .team-account-table th:nth-child(5),
.luoli-internal .team-account-table td:nth-child(5) { width: 29%; }
.luoli-internal .team-account-table th:nth-child(6),
.luoli-internal .team-account-table td:nth-child(6) { width: 17%; }

.luoli-internal .team-account-table th,
.luoli-internal .team-account-table td,
.luoli-internal .team-created-at {
  white-space: nowrap;
}

.luoli-internal .team-account-table th,
.luoli-internal .team-account-table td {
  padding-right: 4px;
  padding-left: 4px;
  font-size: 11px;
}

.luoli-internal .team-account-table .mini-form {
  flex-wrap: nowrap;
}

.luoli-internal .team-account-table .mini-form input {
  width: min(78px, 58%);
  min-width: 54px;
}

.luoli-internal .team-account-table .mini-form button,
.luoli-internal .team-account-actions button {
  padding-right: 5px;
  padding-left: 5px;
}

.luoli-internal .team-account-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.luoli-internal .team-account-actions form {
  margin: 0;
}

.luoli-internal .team-edit-menu {
  position: relative;
}

.luoli-internal .team-edit-menu summary {
  cursor: pointer;
  color: #7b1730;
  font-weight: 700;
  list-style: none;
}

.luoli-internal .team-edit-menu summary::-webkit-details-marker {
  display: none;
}

.luoli-internal .team-edit-menu > form {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  right: 0;
  display: grid;
  width: 230px;
  gap: 8px;
  padding: 10px;
  border: 1px solid #cfaeb7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(82, 16, 34, .18);
}

.luoli-internal .team-edit-menu label {
  display: grid;
  gap: 3px;
  color: #765e65;
  font-size: 11px;
}

.luoli-internal .team-edit-menu input {
  width: 100%;
}

.luoli-internal .team-account-actions .danger {
  color: #9b1737;
}

@media (max-width: 980px) {
  .luoli-internal .team-account-grid {
    grid-template-columns: 1fr;
  }
}

body.luoli-internal::before {
  content: "";
  position: fixed;
  z-index: 3;
  top: 78px;
  right: 1.4vw;
  width: 320px;
  height: 320px;
  pointer-events: none;
  opacity: .045;
  background: url('/assets/luoli-phoenix-v1.png') center / contain no-repeat;
  mix-blend-mode: multiply;
  filter: saturate(.72) contrast(.88);
}

body.luoli-internal::after {
  content: "";
  position: fixed;
  z-index: 6;
  right: -72px;
  bottom: -130px;
  width: min(710px, 58vw);
  aspect-ratio: 1;
  pointer-events: none;
  opacity: .18;
  background:
    radial-gradient(circle at 19% 82%, rgba(141, 18, 38, .88) 0 2px, transparent 3px),
    radial-gradient(circle at 29% 72%, rgba(202, 79, 96, .74) 0 3px, transparent 4px),
    radial-gradient(circle at 38% 88%, rgba(122, 21, 37, .78) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 53% 69%, rgba(211, 109, 122, .74) 0 2px, transparent 3px),
    radial-gradient(circle at 67% 84%, rgba(132, 14, 34, .72) 0 2.5px, transparent 3.5px),
    url('/assets/luoli-floral-corner-v1.png') right bottom / contain no-repeat;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(145deg, transparent 0 25%, #000 50% 100%);
  mask-image: linear-gradient(145deg, transparent 0 25%, #000 50% 100%);
}

.luoli-internal .app-frame,
.luoli-internal .app-content,
.luoli-internal main {
  position: relative;
}

/* 花枝与零散红点是覆盖内容的低透明装饰层。它高于普通卡片但不接收鼠标，
 * 因此长列表铺满屏幕时仍能“渗入”页面，又不会挡住按钮、文字或弹窗操作。 */
.luoli-internal :is(.modal, .dialog, .operation-task-center, .global-helper-update, .hm-focus-layer, .forecast-modal) {
  z-index: 20;
}

.luoli-internal .app-frame {
  background: transparent;
}

/* 深酒红侧栏复用品牌的圆形花纹、波点和琉璃高光。 */
.luoli-internal .sidebar {
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 18%, rgba(255, 240, 236, .09), transparent 31%),
    linear-gradient(165deg, #781424 0%, #500812 48%, #30050c 100%);
  box-shadow: 14px 0 36px rgba(64, 7, 17, .13);
}

.luoli-internal .sidebar::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 330px;
  right: -68px;
  width: 210px;
  height: 210px;
  pointer-events: none;
  opacity: .085;
  background: url('/assets/luoli-phoenix-watermark-v1.png') center / contain no-repeat;
  filter: saturate(.52) brightness(1.55);
  transform: rotate(-9deg);
}

.luoli-internal .sidebar::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -80px;
  bottom: 104px;
  width: 174px;
  height: 330px;
  border-left: 1px solid rgba(255, 225, 226, .18);
  border-radius: 72% 28% 68% 32%;
  pointer-events: none;
  opacity: .52;
  background: linear-gradient(100deg, transparent 38%, rgba(255,255,255,.045) 54%, transparent 72%);
  box-shadow: inset 11px 0 18px rgba(255, 194, 201, .035);
  transform: rotate(15deg);
}

.luoli-internal .sidebar-brand,
.luoli-internal .side-nav,
.luoli-internal .sidebar-foot {
  position: relative;
  z-index: 1;
}

.luoli-internal .sidebar-brand {
  padding-bottom: 17px;
  border-bottom-color: rgba(255, 232, 230, .18);
}

.luoli-internal .brand-mark {
  position: relative;
  isolation: isolate;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  padding: 2px;
  color: #fff7f3;
  background: #fbf8f1;
  border: 1px solid rgba(255, 246, 242, .74);
  box-shadow:
    inset 0 0 0 4px rgba(79, 4, 14, .24),
    inset 8px 8px 16px rgba(255,255,255,.18),
    0 8px 22px rgba(33, 0, 8, .28);
}

.luoli-internal .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.luoli-internal .sidebar-title {
  color: #fff8f3;
  font-family: "Songti SC", "STSong", "Microsoft YaHei", serif;
  font-size: 17px;
  letter-spacing: .12em;
}

.luoli-internal .sidebar-version {
  color: rgba(255, 235, 232, .68);
  letter-spacing: .16em;
}

.luoli-internal .side-group-title {
  color: rgba(255, 242, 238, .96);
}

.luoli-internal .side-link,
.luoli-internal .side-subgroup-title {
  color: rgba(255, 237, 234, .76);
}

.luoli-internal .side-link:hover,
.luoli-internal .side-link.active,
.luoli-internal .side-sub-link:hover,
.luoli-internal .side-sub-link.active,
.luoli-internal .side-subgroup-toggle.current {
  color: #fffaf5;
  background: linear-gradient(90deg, rgba(255, 228, 228, .17), rgba(255,255,255,.055));
  box-shadow: inset 3px 0 0 #f2a2ad;
}

.luoli-internal .side-subgroup-panel {
  border-left-color: rgba(248, 185, 192, .28);
}

.luoli-internal .side-sub-link,
.luoli-internal .side-sub-link .nav-icon,
.luoli-internal .icon-board,
.luoli-internal .icon-store,
.luoli-internal .icon-data,
.luoli-internal .icon-team {
  color: #efb0b8;
}

.luoli-internal .sidebar-foot {
  border-color: rgba(255, 232, 230, .17);
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}

.luoli-internal .side-avatar.user {
  background: linear-gradient(145deg, #ed9aa7, #98182b 70%);
  box-shadow: 0 8px 20px rgba(32, 0, 7, .24);
}

/* 顶部留出品牌呼吸感，但不额外占据运营内容空间。 */
.luoli-internal .topbar {
  min-height: 78px;
  padding: 16px 28px 13px;
  border-bottom: 1px solid rgba(122, 21, 37, .10);
  background: linear-gradient(90deg, rgba(255,253,249,.90), rgba(255,249,246,.72));
  box-shadow: 0 8px 24px rgba(75, 7, 17, .035);
  backdrop-filter: blur(12px);
}

.luoli-internal .topbar .brand {
  display: grid;
  gap: 1px;
  color: var(--brand-ink);
  font-family: "Songti SC", "STSong", "Microsoft YaHei", serif;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .04em;
}

.luoli-internal .brand-kicker {
  color: var(--brand-ruby);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .20em;
  line-height: 1.1;
}

.luoli-internal .topbar .sub {
  color: #9a8585;
  margin-top: 3px;
}

.luoli-internal .button.primary,
.luoli-internal button.primary,
.luoli-internal .top-action,
.luoli-internal .section-title-row .button,
.luoli-internal .section-title-row button:not(.ghost),
.luoli-internal .filter-submit {
  border-color: #741321;
  color: #fffaf5;
  background: linear-gradient(145deg, #9e2033, #6c0e1c);
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 5px 14px rgba(105, 12, 27, .13);
}

.luoli-internal .button.primary:hover,
.luoli-internal button.primary:hover,
.luoli-internal .top-action:hover,
.luoli-internal .section-title-row .button:hover,
.luoli-internal .section-title-row button:not(.ghost):hover {
  border-color: #4b0711;
  color: #ffffff;
  background: linear-gradient(145deg, #b52a3f, #5a0915);
}

.luoli-internal .button.ghost,
.luoli-internal button.ghost,
.luoli-internal .filter-reset {
  border-color: #d7c1bd;
  color: #70484e;
  background: rgba(255,253,249,.86);
}

.luoli-internal input,
.luoli-internal select,
.luoli-internal textarea {
  border-color: #dfcfcc;
  color: var(--brand-ink);
  background: rgba(255, 253, 250, .95);
}

.luoli-internal input:focus,
.luoli-internal select:focus,
.luoli-internal textarea:focus {
  border-color: #ad5362;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(168, 29, 49, .10);
}

.luoli-internal .section,
.luoli-internal .card,
.luoli-internal .panel,
.luoli-internal .store-management-topbar,
.luoli-internal .store-bind-card {
  border-color: rgba(122, 21, 37, .13);
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(250,244,239,.95));
  box-shadow: 0 12px 30px rgba(74, 8, 18, .055), inset 0 1px rgba(255,255,255,.9);
}

.luoli-internal .section-title-row {
  border-bottom-color: rgba(122, 21, 37, .11);
  background: linear-gradient(90deg, #fffdfa, #f9efeb);
}

.luoli-internal table thead th,
.luoli-internal .store-management-table th {
  color: #6b3940;
  border-bottom-color: rgba(122, 21, 37, .16);
  background: linear-gradient(180deg, #fbefed, #f6e5e3);
}

.luoli-internal table tbody tr:nth-child(even) {
  background: rgba(122, 21, 37, .018);
}

.luoli-internal table tbody tr:hover {
  background: rgba(180, 72, 89, .065);
}

.luoli-internal .badge.ok,
.luoli-internal .store-business-status.ok,
.luoli-internal .login-remaining.ok {
  color: #176e4a;
  background: #eaf7f0;
}

.luoli-internal .badge.wait,
.luoli-internal .store-business-status.wait,
.luoli-internal .login-remaining.wait {
  color: #855e00;
  background: #fff5d7;
}

.luoli-internal .badge.bad,
.luoli-internal .store-business-status.bad,
.luoli-internal .login-remaining.bad {
  color: #a22235;
  background: #fae7e9;
}

/* 店铺管理的操作密度不变，只换品牌皮肤并保持一屏字段。 */
.luoli-internal .store-management-topbar {
  position: relative;
  overflow: hidden;
}

.luoli-internal .store-management-topbar::after {
  content: "";
  position: absolute;
  right: 18px;
  top: -34px;
  width: 150px;
  height: 150px;
  opacity: .055;
  pointer-events: none;
  background: url('/assets/luoli-phoenix-v1.png') center / contain no-repeat;
  mix-blend-mode: multiply;
}

.luoli-internal .store-management-title,
.luoli-internal .store-management-actions,
.luoli-internal .store-management-mini-metrics,
.luoli-internal .store-management-filterbar {
  position: relative;
  z-index: 1;
}

.luoli-internal .store-management-mini-stat {
  border-color: #e1d0cc;
  background: rgba(255,253,249,.82);
}

.luoli-internal .store-platform-filter-row > strong {
  color: #7a1525;
  background: #fffaf6;
}

.luoli-internal .store-filter-chip,
.luoli-internal .store-filter-chip.taobao {
  border-color: rgba(122, 21, 37, .18);
  color: #704048;
  background: #fbf1ef;
}

.luoli-internal .store-filter-chip.active,
.luoli-internal .store-filter-chip.taobao.active {
  border-color: #8d1829;
  color: #fffaf5;
  background: linear-gradient(145deg, #a92538, #6e0f1d);
}

.luoli-internal .store-select-column input {
  accent-color: #8d1829;
}

.luoli-internal .store-transfer-action {
  color: #781524 !important;
  border-color: #dfbdc3 !important;
  background: #fcf0f1 !important;
}

.luoli-internal .agent-platform-tabs button.active,
.luoli-internal .agent-device-actions button.is-selected {
  border-color: #a83345;
  color: #761625;
  background: #fbecef;
  box-shadow: inset 0 0 0 1px #a83345;
}

.luoli-internal .agent-update-track span,
.luoli-internal .operation-task-progress > span {
  background: linear-gradient(90deg, #c74358, #7a1525);
}

.luoli-internal .operation-task-trigger {
  border-color: rgba(255, 229, 226, .20);
  background: linear-gradient(145deg, #8f1c2e, #510a14);
  box-shadow: 0 12px 30px rgba(65, 5, 15, .24);
}

.luoli-internal .global-helper-update {
  background: rgba(54, 3, 11, .38);
}

.luoli-internal .global-helper-update-card {
  border-color: rgba(168, 29, 49, .22);
  box-shadow: 0 28px 80px rgba(57, 4, 13, .24);
}

.luoli-internal .global-helper-update-icon {
  color: #7a1525;
  background: #fae8ea;
}

.luoli-internal .global-helper-update-eyebrow {
  color: #8c1729;
}

.luoli-internal * {
  scrollbar-color: rgba(122, 21, 37, .36) rgba(122, 21, 37, .05);
}

.luoli-internal *::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.luoli-internal *::-webkit-scrollbar-track {
  background: rgba(122, 21, 37, .04);
}

.luoli-internal *::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(122, 21, 37, .34);
  background-clip: padding-box;
}

@media (max-width: 980px) {
  .luoli-internal .topbar {
    min-height: 68px;
    padding: 12px 18px;
  }

  .luoli-internal .topbar .brand {
    font-size: 19px;
  }

  .luoli-internal .sidebar::before,
  .luoli-internal .sidebar::after {
    display: none;
  }
}

/* --------------------------------------------------------------------------
 * 最终白色业务主题
 *
 * 普通工作页与运营大屏统一使用象牙白底，酒红只用于选中态、主动作和图表主线。
 * 这一段位于文件末尾，专门压住历史页面残留的绿色及白底白字问题。
 * -------------------------------------------------------------------------- */

/* 商品同步切页时不再先闪现一枚 320px 的全局凤凰；品牌头像仍保留在侧栏。 */
body.luoli-internal::before {
  content: none !important;
  display: none !important;
}

/* 快乐盯盘：白色运营台，红色只做焦点，正常/预警/异常仍能分辨。 */
body.luoli-internal.happy-monitor-page,
.luoli-internal.happy-monitor-page :is(.app-frame, .app-content) {
  color: var(--brand-ink) !important;
  background:
    radial-gradient(circle at 82% 8%, rgba(190,64,84,.07), transparent 30%),
    linear-gradient(145deg, #f8f3ed, #eee6df 70%, #faf6f1) !important;
}

.luoli-internal.happy-monitor-page .hm-main {
  color: var(--brand-ink) !important;
}

.luoli-internal.happy-monitor-page .hm-main::before {
  opacity: .11 !important;
  background-image:
    radial-gradient(circle, rgba(157,29,49,.76) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(214,121,135,.54) 0 1.2px, transparent 2px),
    radial-gradient(circle, rgba(196,147,61,.32) 0 1px, transparent 1.7px) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-operator, .hm-summary, .hm-panel, .hm-focus-dialog) {
  border-color: rgba(122,21,37,.13) !important;
  color: var(--text) !important;
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(250,244,239,.96)) !important;
  box-shadow: 0 9px 24px rgba(75,7,17,.05), inset 0 1px rgba(255,255,255,.9) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-control, .hm-btn, .hm-chip, .hm-head-notice, .hm-focus-actions button) {
  border-color: #dfcfcc !important;
  color: #6d454b !important;
  background: rgba(255,253,249,.96) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-operator:hover, .hm-operator.active, .hm-chip.active) {
  border-color: #a83245 !important;
  background: #fbecee !important;
  box-shadow: inset 0 0 0 1px rgba(168,50,69,.16), 0 5px 16px rgba(122,21,37,.07) !important;
}

.luoli-internal.happy-monitor-page .hm-operator.active::after {
  color: #fff !important;
  background: #8d1829 !important;
}

.luoli-internal.happy-monitor-page :is(
  .hm-title h1, .hm-operator strong, .hm-stat strong, .hm-panel-title h2,
  .hm-table td, .hm-table td.hm-col-store, .hm-tool-metric b,
  .hm-focus-head h2, .hm-focus-content td
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.happy-monitor-page :is(
  .hm-refresh-note, .hm-operator-meta, .hm-operator-meta b, .hm-stat label,
  .hm-stat small, .hm-panel-title span, .hm-missing, .hm-no-orders,
  .hm-focus-head p
) {
  color: #8d797a !important;
}

.luoli-internal.happy-monitor-page :is(.hm-live, .hm-operator-health.normal, .hm-good, .hm-status.ok) {
  color: #8d1829 !important;
}

.luoli-internal.happy-monitor-page .hm-live::before,
.luoli-internal.happy-monitor-page .hm-operator-health.normal i {
  background: #a9253a !important;
  box-shadow: 0 0 9px rgba(169,37,58,.35) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-progress-track, .hm-focus-content) {
  background: #eadfdb !important;
}

.luoli-internal.happy-monitor-page :is(.hm-progress-track i, .hm-progress:not(.warn):not(.bad) i) {
  background: linear-gradient(90deg, #c64b60, #7a1525) !important;
}

.luoli-internal.happy-monitor-page .hm-table th,
.luoli-internal.happy-monitor-page .hm-focus-content th {
  border-color: rgba(122,21,37,.13) !important;
  color: #6b3940 !important;
  background: linear-gradient(180deg, #fbefed, #f6e5e3) !important;
}

.luoli-internal.happy-monitor-page .hm-table td,
.luoli-internal.happy-monitor-page .hm-focus-content td {
  border-color: rgba(122,21,37,.09) !important;
}

.luoli-internal.happy-monitor-page .hm-table tbody tr:nth-child(even) {
  background: rgba(122,21,37,.018) !important;
}

.luoli-internal.happy-monitor-page .hm-table tbody tr:hover {
  background: rgba(180,72,89,.065) !important;
}

.luoli-internal.happy-monitor-page .hm-entry,
.luoli-internal.happy-monitor-page .hm-entry::before {
  color: var(--brand-ink) !important;
  background:
    radial-gradient(circle at 76% 18%, rgba(195,66,86,.08), transparent 30%),
    linear-gradient(135deg, #faf6f1, #eee4dd) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-entry-hud, .hm-entry-copy, .hm-person-card) {
  border-color: rgba(122,21,37,.14) !important;
  color: var(--brand-ink) !important;
  background: rgba(255,253,249,.91) !important;
  box-shadow: 0 12px 30px rgba(74,8,18,.06) !important;
}

/* 作战大屏：与普通页面统一为白底，图表主线和重点数字使用酒红。 */
body.luoli-internal.festival-battle-page,
.luoli-internal.festival-battle-page :is(.app-frame, .app-content, .fb-screen) {
  color: var(--brand-ink) !important;
  background:
    radial-gradient(circle at 84% 5%, rgba(201,78,97,.07), transparent 28%),
    linear-gradient(145deg, #f9f4ee, #eee5de 68%, #fbf7f3) !important;
}

.luoli-internal.festival-battle-page :is(.fb-panel, .fb-hero, .fb-chart-panel, .fb-platform-panel, .fb-kpi, .fb-operator-card, .fb-ranking, .fb-modal-card) {
  border-color: rgba(122,21,37,.13) !important;
  color: var(--text) !important;
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(250,244,239,.96)) !important;
  box-shadow: 0 10px 28px rgba(74,8,18,.05), inset 0 1px rgba(255,255,255,.9) !important;
}

.luoli-internal.festival-battle-page :is(
  .fb-brand, .fb-clock, .fb-hero-value, .fb-nmv, .fb-chart-head,
  .fb-platform-value, .fb-kpi strong, .fb-operator-title,
  .fb-operator-metrics strong, .fb-ranking-row strong, .fb-modal-head h2
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.festival-battle-page :is(
  .fb-eyebrow, .fb-multiple, .fb-current, .fb-proof, .fb-source,
  .fb-operator-foot, .fb-ranking-row small, .fb-modal-summary
) {
  color: #8d5f66 !important;
}

.luoli-internal.festival-battle-page :is(.fb-button, .fb-tab, .fb-date-form input, .fb-date-form button) {
  border-color: #dfcfcc !important;
  color: #6d454b !important;
  background: rgba(255,253,249,.96) !important;
}

.luoli-internal.festival-battle-page :is(.fb-button:hover, .fb-tab.active) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.festival-battle-page :is(.fb-operator-chart, .fb-platform-track, .fb-ranking-track) {
  background: #eadfdb !important;
}

.luoli-internal.festival-battle-page :is(.fb-chart-current, .fb-operator-chart i, .fb-platform-track i, .fb-ranking-track i) {
  background: linear-gradient(90deg, #c64b60, #7a1525) !important;
}

/* 数据大屏：补齐地图外的旧白字与绿色选中态。 */
.luoli-internal.reference-dashboard-page :is(
  .dimension-tabs button i, .today-products > header > b, .alert-panel > header > b,
  .business-insights > header b
) {
  color: #8d1829 !important;
  background: #fbecee !important;
}

.luoli-internal.reference-dashboard-page :is(.promotion-groups header, .today-products > header, .alert-panel > header) {
  border-color: rgba(122,21,37,.11) !important;
  color: var(--brand-ink) !important;
  background: linear-gradient(90deg, #fffdfa, #f7e8e6) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .promotion-groups span, .promotion-groups header, .simple-panel,
  .today-products-empty strong, .alert-empty strong
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.reference-dashboard-page :is(.today-products-empty, .alert-empty) {
  border-color: rgba(122,21,37,.14) !important;
  color: #8d797a !important;
  background: rgba(255,253,249,.72) !important;
}

.luoli-internal.reference-dashboard-page :is(.map-live i, .distance-panel i em) {
  background: #a9253a !important;
  box-shadow: 0 0 10px rgba(169,37,58,.28) !important;
}

.luoli-internal.reference-dashboard-page .store-marker {
  border-color: #c64b60 !important;
  background: #7a1525 !important;
  box-shadow: 0 0 0 9px rgba(122,21,37,.18), 0 0 24px rgba(169,37,58,.28) !important;
}

/* 节日库存：输入框、弹窗和预测单元格全部修正为深字浅底。 */
.luoli-internal.reference-festival-page :is(
  .prediction-edit, .prediction-edit.stock-edit, .final-stock,
  .prediction-final-buttons label, .prediction-final-buttons button,
  .monitor-add-row, .monitor-edit-fields, .monitor-add-controls
) {
  border-color: #ddc8c5 !important;
  color: var(--brand-ink) !important;
  background: rgba(255,253,249,.96) !important;
}

.luoli-internal.reference-festival-page :is(
  .prediction-edit input, .final-stock input, .prediction-range-only,
  .prediction-edit small, .monitor-rule-card > span, .monitor-rule-card > strong,
  .monitor-rule-card > p, .monitor-rule-card > em, .traffic-node-panel > header p
) {
  color: var(--brand-ink) !important;
  -webkit-text-fill-color: var(--brand-ink) !important;
}

.luoli-internal.reference-festival-page :is(.prediction-final-buttons .primary, .monitor-window-actions button, .edit-monitor-item) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  -webkit-text-fill-color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.reference-festival-page :is(
  #candidateModal > .candidate-dialog > header, #candidateModal .candidate-toolbar,
  #candidateModal .candidate-columns, #candidateModal .candidate-list,
  #candidateModal > .candidate-dialog > footer, .forecast-modal header,
  .forecast-modal footer
) {
  border-color: rgba(122,21,37,.12) !important;
  color: var(--brand-ink) !important;
  background: linear-gradient(90deg, #fffdfa, #f7e8e6) !important;
}

.luoli-internal.reference-festival-page :is(
  #candidateModal h2, #candidateModal strong, #candidateModal b,
  #candidateModal small, #candidateModal span, .forecast-modal h2,
  .forecast-modal label, .forecast-modal p
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.reference-festival-page :is(#candidateModal input, #candidateModal select, .forecast-modal input, .forecast-modal select) {
  border-color: #ddc8c5 !important;
  color: var(--brand-ink) !important;
  -webkit-text-fill-color: var(--brand-ink) !important;
  background: #fffdfa !important;
}

.luoli-internal.reference-festival-page :is(#candidateModal .candidate-toggle, #candidateModal footer .primary) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

/* 店铺复制：清理固定绿色，选中方向、分类和复制按钮统一为酒红。 */
.luoli-internal.cross-platform-layout :is(
  .xcopy-direction:has(input:checked), .xcopy-switch.active,
  .xcopy-category-pill:has(input:checked)
) {
  border-color: #a83245 !important;
  color: #761625 !important;
  background: #fbecee !important;
  box-shadow: inset 0 0 0 1px rgba(168,50,69,.16) !important;
}

.luoli-internal.cross-platform-layout :is(
  .xcopy-product-tabs button.active, .xcopy-store-panel label strong,
  .xcopy-settings-panel .xcopy-setting-row strong
) {
  color: #8d1829 !important;
}

.luoli-internal.cross-platform-layout :is(
  .xcopy-product-panel, .xcopy-store-panel, .xcopy-settings-panel,
  .xcopy-category-panel, .xcopy-product-tabs, .xcopy-product-toolbar,
  .xcopy-bottom-actions, .xcopy-login-card
) {
  border-color: rgba(122,21,37,.12) !important;
  background: rgba(255,253,249,.96) !important;
}

.luoli-internal.cross-platform-layout .xcopy-login-card.taobao {
  border-left-color: #a83245 !important;
}

.luoli-internal.cross-platform-layout :is(.xcopy-bottom-actions .primary, .xcopy-store-control > button, .xcopy-login-btn) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

/* 商品管理：确认提交、加载和选中态使用明确的红色主动作。 */
.luoli-internal.ops-page :is(
  .ops-reload-button, .ops-actionbar button.primary, .ops-confirm-actions button.primary,
  .ops-toolbar button.primary, .ops-count-pill
) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.ops-page :is(.ops-confirm-card, .ops-confirm-item, .ops-panel, .manager-panel) {
  border-color: rgba(122,21,37,.13) !important;
  color: var(--text) !important;
  background: rgba(255,253,249,.97) !important;
}

/* 批量标题与批量海报：原绿色选中态全部改成柔粉与酒红。 */
.luoli-internal :is(
  .bulk-title-workspace, .bulk-title-intro, .bulk-title-filter-row,
  .bulk-title-owner-tabs, .bulk-title-store-list, .poster-studio,
  .poster-studio-targets, .poster-studio-assets, .poster-studio-settings
) {
  border-color: rgba(122,21,37,.13) !important;
  color: var(--text) !important;
  background: rgba(255,253,249,.97) !important;
}

.luoli-internal :is(
  .bulk-title-mode-option input:checked + span, .bulk-title-owner-tab.active,
  .bulk-title-scope-option:has(input:checked), .bulk-title-store-item:has(input:checked),
  .poster-platform-badge.active
) {
  border-color: #a83245 !important;
  color: #761625 !important;
  background: #fbecee !important;
  box-shadow: inset 0 0 0 1px rgba(168,50,69,.14) !important;
}

.luoli-internal :is(.bulk-title-actions .primary, .poster-studio-actions .primary) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

/* 美团和淘宝节日备份共用同一组 CSS 变量，因此一次覆盖两端页面。 */
.luoli-internal .hb-page {
  --hb-ink: #2b1719 !important;
  --hb-muted: #8d797a !important;
  --hb-green: #8d1829 !important;
  --hb-green-2: #b64256 !important;
  --hb-mint: #fbecee !important;
}

.luoli-internal .hb-hero {
  color: #fffaf5 !important;
  background:
    radial-gradient(circle at 94% 18%, rgba(255,220,185,.16), transparent 24%),
    linear-gradient(135deg, #7a1525, #9f263b 64%, #5a0a16) !important;
  box-shadow: 0 10px 26px rgba(91,10,23,.16) !important;
}

.luoli-internal .hb-card,
.luoli-internal :is(.hb-store-target, .hb-manifest, .hb-fixed-retention, .hb-batch-toolbar, .hb-hours-launcher, .hb-hours-panel, .hb-filters, .hb-store, .hb-field, .hb-store-mode label) {
  border-color: rgba(122,21,37,.12) !important;
  color: var(--text) !important;
  background: rgba(255,253,249,.97) !important;
}

.luoli-internal :is(
  .hb-step, .hb-create-button, .hb-store-choice button, .hb-hours-open,
  .hb-view-button, .hb-modal-footer .primary, .hb-restore-actions .primary
) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
  box-shadow: 0 7px 16px rgba(122,21,37,.14) !important;
}

.luoli-internal :is(
  .hb-scope-option:has(input:checked), .hb-store-mode label:has(input:checked),
  .hb-store:has(input:checked)
) {
  border-color: #a83245 !important;
  background: #fbecee !important;
  box-shadow: inset 0 0 0 1px rgba(168,50,69,.15) !important;
}

.luoli-internal :is(.hb-store input, .hb-field input, .hb-scope-option input, .hb-store-mode input) {
  accent-color: #8d1829 !important;
}

.luoli-internal .hb-modal {
  background: rgba(58,6,15,.28) !important;
}

.luoli-internal .hb-modal-surface {
  border-color: rgba(122,21,37,.16) !important;
  color: var(--text) !important;
  background: #fffdfa !important;
  box-shadow: 0 28px 80px rgba(57,4,13,.20) !important;
}

@media (prefers-reduced-motion: no-preference) {
  .luoli-internal .brand-mark {
    animation: luoli-glass-breathe 5.8s ease-in-out infinite;
  }

  .luoli-internal .side-link,
  .luoli-internal button,
  .luoli-internal .button {
    transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
  }

  .luoli-internal .side-link:hover,
  .luoli-internal .button:hover,
  .luoli-internal button:hover {
    transform: translateY(-1px);
  }
}

@keyframes luoli-glass-breathe {
  0%, 100% { box-shadow: inset 0 0 0 4px rgba(79, 4, 14, .24), inset 8px 8px 16px rgba(255,255,255,.18), 0 8px 22px rgba(33, 0, 8, .28); }
  50% { box-shadow: inset 0 0 0 4px rgba(79, 4, 14, .20), inset 8px 8px 18px rgba(255,255,255,.25), 0 8px 30px rgba(229, 121, 136, .24); }
}

/* --------------------------------------------------------------------------
 * 页面级统一皮肤
 *
 * 节日库存、快乐盯盘和作战大屏原先各自带有一套深绿色主题。品牌样式放在
 * 页面功能样式之后，并在这里仅重绘颜色与材质，保留原布局、数据状态和交互。
 * -------------------------------------------------------------------------- */

/* 商品管理、商品库、复制、海报、备份等常规业务页共用白瓷卡片。 */
.luoli-internal :is(
  .ops-shell, .ops-board, .ops-categories, .ops-filter-card, .ops-manager-card,
  .ops-log, .ops-table-section, .library-workbench, .library-category-panel,
  .library-products-panel, .library-template-panel, .library-table-panel,
  .asset-panel, .discount-panel, .holiday-config, .holiday-panel,
  .poster-studio, .poster-studio-assets, .poster-studio-settings
) {
  border-color: rgba(122, 21, 37, .13) !important;
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(250,244,239,.96)) !important;
  box-shadow: 0 12px 30px rgba(74, 8, 18, .045) !important;
}

.luoli-internal :is(
  .ops-toolbar, .ops-actionbar, .library-command-bar, .asset-toolbar,
  .poster-studio-actions, .realtime-filter-strip, .realtime-control-strip
) {
  border-color: rgba(122, 21, 37, .12) !important;
  background: linear-gradient(90deg, #fffdfa, #f8eeea) !important;
}

.luoli-internal :is(
  .ops-owner-tab.active, .manager-tab.is-active, .category-item.current,
  .filter-chip.active, .quick-filter-chip.active, .library-item.current
) {
  border-color: #9c2a3c !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

/* 节日库存与节日预估：从旧深绿工作台改为象牙白主内容，状态色仍保持原语义。 */
body.luoli-internal.reference-wide-page,
body.luoli-internal.reference-festival-page,
body.luoli-internal.reference-wide-page .app-frame,
body.luoli-internal.reference-wide-page .app-content,
body.luoli-internal.reference-festival-page .app-frame,
body.luoli-internal.reference-festival-page .app-content {
  color: var(--text) !important;
  background: transparent !important;
}

.luoli-internal.reference-festival-page .reference-festival {
  color: var(--text) !important;
  background: rgba(248, 242, 236, .84) !important;
}

.luoli-internal.reference-festival-page .festival-screenbar {
  border-color: rgba(122, 21, 37, .16) !important;
  color: var(--brand-ink) !important;
  background: linear-gradient(105deg, rgba(255,253,249,.98), rgba(247,232,230,.94)) !important;
  box-shadow: 0 10px 24px rgba(81, 8, 19, .07) !important;
}

.luoli-internal.reference-festival-page .festival-screenbar :is(h1, span, small),
.luoli-internal.reference-festival-page .festival-live,
.luoli-internal.reference-festival-page .festival-live span {
  color: var(--brand-ink) !important;
}

.luoli-internal.reference-festival-page .festival-screenbar :is(select, input, button, a),
.luoli-internal.reference-festival-page .inventory-toolbar > * {
  border-color: #ddc8c5 !important;
  color: #65363d !important;
  background: rgba(255,253,249,.94) !important;
}

.luoli-internal.reference-festival-page .festival-screenbar :is(button.active, button.accent, .festival-open-window),
.luoli-internal.reference-festival-page .inventory-health-filters button.active,
.luoli-internal.reference-festival-page .forecast-modal footer .primary {
  border-color: #7a1525 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.reference-festival-page .festival-live i {
  background: #b4233a !important;
  box-shadow: 0 0 0 4px rgba(180,35,58,.08), 0 0 10px rgba(180,35,58,.36) !important;
}

.luoli-internal.reference-festival-page :is(
  .forecast-overview, .product-panel, .inventory-command-main, .inventory-toolbar,
  .inventory-summary, .monitor-rule-card
) {
  border-color: rgba(122, 21, 37, .14) !important;
  color: var(--text) !important;
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(249,241,236,.96)) !important;
  box-shadow: 0 10px 28px rgba(74, 8, 18, .045) !important;
}

.luoli-internal.reference-festival-page :is(.forecast-strip article, .reference-grid > div) {
  border-color: rgba(122, 21, 37, .12) !important;
  color: var(--text) !important;
  background: rgba(255,253,249,.88) !important;
}

.luoli-internal.reference-festival-page .forecast-strip article.forecast-day-one {
  border-color: rgba(176, 43, 64, .22) !important;
  background: linear-gradient(145deg, #fff7f4, #f8e7e5) !important;
}

.luoli-internal.reference-festival-page .forecast-strip article.forecast-day-two,
.luoli-internal.reference-festival-page .forecast-strip article.forecast-two-day {
  border-color: rgba(190, 145, 62, .24) !important;
  background: linear-gradient(145deg, #fffaf0, #f7eddc) !important;
}

.luoli-internal.reference-festival-page :is(
  .forecast-strip span, .forecast-strip strong, .forecast-strip small,
  .reference-grid span, .reference-grid strong, .reference-grid small,
  .product-panel h2, .product-panel header span, .festival-detail-status #predictionHint,
  .prediction-final-copy strong, .prediction-final-copy span
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.reference-festival-page .product-panel > header,
.luoli-internal.reference-festival-page .prediction-final-actions,
.luoli-internal.reference-festival-page .prediction-table-scroll,
.luoli-internal.reference-festival-page .prediction-head,
.luoli-internal.reference-festival-page .inventory-command-main > header,
.luoli-internal.reference-festival-page .inventory-table-head {
  border-color: rgba(122, 21, 37, .13) !important;
  color: #67373e !important;
  background: linear-gradient(90deg, #fffdfa, #f7e8e6) !important;
}

.luoli-internal.reference-festival-page .prediction-rows article,
.luoli-internal.reference-festival-page .inventory-command-main .festival-stock-row {
  border-color: rgba(122, 21, 37, .10) !important;
  color: var(--text) !important;
  background: rgba(255,253,249,.88) !important;
}

.luoli-internal.reference-festival-page .prediction-rows article:nth-child(even),
.luoli-internal.reference-festival-page .inventory-command-main .festival-stock-row:nth-child(even) {
  background: rgba(248,236,234,.80) !important;
}

.luoli-internal.reference-festival-page :is(
  .inventory-store-name, .inventory-store-name small, .inventory-summary > span,
  .inventory-summary > span b, #festivalClearanceCountdown,
  #inventory .inventory-command-main > header h2, .inventory-health-filters button,
  .inventory-product-search, .inventory-bulk-actions label, .inventory-bulk-actions button,
  .inventory-table-head, .inventory-command-main .festival-product b,
  .inventory-command-main .festival-product small, .stock-cell,
  .stock-progress-cell > span, .stock-reason, .festival-stock-row time,
  .edit-monitor-item, #inventory .festival-empty
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.reference-festival-page :is(.inventory-product-search input, .monitor-add-controls input, .monitor-add-controls select, .monitor-edit-fields input) {
  border-color: #ddc8c5 !important;
  color: var(--brand-ink) !important;
  -webkit-text-fill-color: var(--brand-ink) !important;
  background: #fffdfa !important;
}

.luoli-internal.reference-festival-page .inventory-overall-progress,
.luoli-internal.reference-festival-page .stock-progress {
  background: #eadfdb !important;
}

.luoli-internal.reference-festival-page :is(.inventory-overall-progress i, .stock-progress i) {
  background: linear-gradient(90deg, #bc3650, #7a1525) !important;
}

.luoli-internal.reference-festival-page .forecast-modal {
  background: rgba(54, 4, 13, .32) !important;
}

.luoli-internal.reference-festival-page .forecast-modal > div,
.luoli-internal.reference-festival-page :is(.candidate-dialog, .settings-dialog, .rules-dialog, .monitor-item-dialog, .monitor-edit-dialog) {
  border-color: rgba(122, 21, 37, .20) !important;
  color: var(--text) !important;
  background: linear-gradient(145deg, #fffefa, #f6eae7) !important;
  box-shadow: 0 28px 80px rgba(57, 4, 13, .20) !important;
}

/* 数据大屏的业务结构与地图保持不动，只把旧绿色卡片切换到同一品牌材质。 */
.luoli-internal.reference-dashboard-page .reference-dashboard {
  color: var(--text) !important;
  background: rgba(248, 242, 236, .84) !important;
}

.luoli-internal.reference-dashboard-page .dashboard-scope :is(select, a),
.luoli-internal.reference-dashboard-page .dimension-tabs button,
.luoli-internal.reference-dashboard-page .commerce-map-panel > header button {
  border-color: #ddc8c5 !important;
  color: #65363d !important;
  background: rgba(255,253,249,.94) !important;
}

.luoli-internal.reference-dashboard-page :is(.dimension-tabs button.active, .dashboard-scope a.active) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .cockpit-metric, .promotion-strip, .cockpit-progress, .cockpit-health,
  .today-products, .commerce-map-panel, .alert-panel, .business-insights,
  .truth-note, .simple-panel, .promotion-groups, .promotion-groups article,
  .business-insights article
) {
  border-color: rgba(122, 21, 37, .13) !important;
  color: var(--text) !important;
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(249,241,236,.96)) !important;
  box-shadow: 0 10px 28px rgba(74, 8, 18, .045) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .cockpit-metric strong, .cockpit-metric b, .cockpit-progress span,
  .cockpit-progress strong, .cockpit-health span, .cockpit-health strong,
  .today-products strong, .alert-panel strong, .business-insights strong,
  .truth-note strong, .promotion-groups strong
) {
  color: var(--brand-ink) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .cockpit-metric small, .cockpit-metric > div, .cockpit-progress small,
  .cockpit-health small, .today-products span, .alert-panel span,
  .business-insights span, .business-insights p, .truth-note p,
  .promotion-groups small
) {
  color: #8d797a !important;
}

.luoli-internal.reference-dashboard-page .commerce-map-panel > header {
  border-color: rgba(122, 21, 37, .13) !important;
  color: var(--brand-ink) !important;
  background: linear-gradient(90deg, #fffdfa, #f7e8e6) !important;
}

.luoli-internal.reference-dashboard-page .cockpit-metric.tone-positive::after,
.luoli-internal.reference-dashboard-page .cockpit-health > i em.active,
.luoli-internal.reference-dashboard-page .business-insights article > i {
  background: #a9253a !important;
}

/* 旧深色大屏主题停用：保留在不可命中的媒体条件内，避免覆盖上方白色主题。 */
@media not all {
/* 快乐盯盘保留大屏深色反差，但把森林绿替换为洛璃酒红和柔粉高光。 */
body.luoli-internal.happy-monitor-page {
  --hm-forest: #25050c;
  --hm-forest-soft: #3c0912;
  --hm-forest-card: #330810;
  --hm-forest-line: #71303a;
  --hm-forest-text: #f8eceb;
  background: #25050c !important;
}

.luoli-internal.happy-monitor-page :is(.app-frame, .app-content) {
  background:
    radial-gradient(circle at 50% -18%, rgba(212,102,119,.20), transparent 42%),
    linear-gradient(180deg, #3f0a14 0%, #27050c 47%, #160207 100%) !important;
}

.luoli-internal.happy-monitor-page .hm-main::before {
  opacity: .18 !important;
  background-image:
    radial-gradient(circle, rgba(249,184,191,.82) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(202,72,94,.52) 0 1.2px, transparent 2px),
    radial-gradient(circle, rgba(244,202,118,.34) 0 1px, transparent 1.7px) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-operator, .hm-summary, .hm-panel, .hm-focus-dialog) {
  border-color: rgba(239,161,173,.20) !important;
  background: linear-gradient(145deg, rgba(71,13,24,.96), rgba(34,4,10,.97)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.035) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-control, .hm-btn, .hm-chip, .hm-head-notice, .hm-focus-actions button) {
  border-color: rgba(238,160,171,.24) !important;
  color: #f1d9dc !important;
  background: rgba(48,7,15,.90) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-operator:hover, .hm-operator.active, .hm-chip.active) {
  border-color: #d67383 !important;
  box-shadow: inset 0 0 0 1px rgba(214,115,131,.20), 0 0 18px rgba(165,37,58,.16) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-title h1, .hm-operator strong, .hm-stat strong, .hm-panel-title h2, .hm-table td, .hm-table td.hm-col-store) {
  color: #fff6f2 !important;
}

.luoli-internal.happy-monitor-page :is(.hm-refresh-note, .hm-operator-meta, .hm-stat label, .hm-stat small, .hm-panel-title span, .hm-missing, .hm-no-orders) {
  color: #c09da1 !important;
}

.luoli-internal.happy-monitor-page .hm-table th {
  border-color: rgba(238,160,171,.18) !important;
  color: #e6bdc2 !important;
  background: #3b0912 !important;
}

.luoli-internal.happy-monitor-page .hm-table td {
  border-color: rgba(238,160,171,.10) !important;
}

.luoli-internal.happy-monitor-page .hm-table tbody tr:nth-child(even) {
  background: rgba(111,24,38,.34) !important;
}

.luoli-internal.happy-monitor-page .hm-table tbody tr:hover {
  background: rgba(151,43,61,.34) !important;
}

.luoli-internal.happy-monitor-page.hm-monitor-entry .sidebar::after {
  background: linear-gradient(90deg, rgba(122,21,37,.20), rgba(122,21,37,.08) 48%, transparent) !important;
}

.luoli-internal.happy-monitor-page .hm-entry {
  color: #fff5f2 !important;
  background: linear-gradient(118deg, #4b0915 0%, #2a040b 42%, #160207 100%) !important;
}

.luoli-internal.happy-monitor-page .hm-entry::before {
  background:
    radial-gradient(circle at 50% 42%, rgba(223,104,123,.18), transparent 34%),
    radial-gradient(circle at 10% 35%, rgba(242,171,181,.10), transparent 30%),
    linear-gradient(100deg, #5b0d1b 0%, #380811 34%, #190207 100%) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-entry-hud, .hm-entry-copy, .hm-person-card) {
  border-color: rgba(239,161,173,.20) !important;
  background: rgba(58,7,16,.76) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.04) !important;
}

.luoli-internal.happy-monitor-page .hm-entry-button {
  border-color: #d67383 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

/* 节日作战属于独立大屏，继续使用深色，但统一为品牌酒红、琉璃粉和香槟金。 */
body.luoli-internal.festival-battle-page,
.luoli-internal.festival-battle-page :is(.app-frame, .app-content, .fb-screen) {
  color: #f8eceb !important;
  background:
    radial-gradient(circle at 82% 5%, rgba(220,121,137,.16), transparent 28%),
    linear-gradient(145deg, #2e050d, #190207 68%, #360711) !important;
}

.luoli-internal.festival-battle-page :is(.fb-panel, .fb-hero, .fb-chart-panel, .fb-platform-panel, .fb-kpi, .fb-operator-card, .fb-ranking, .fb-modal-card) {
  border-color: rgba(239,161,173,.20) !important;
  background: linear-gradient(145deg, rgba(75,13,25,.92), rgba(35,4,10,.94)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.04), 0 12px 34px rgba(18,0,5,.18) !important;
}

.luoli-internal.festival-battle-page :is(.fb-eyebrow, .fb-multiple, .fb-current, .fb-platform-value, .fb-operator-metrics strong) {
  color: #ef9eac !important;
}

.luoli-internal.festival-battle-page :is(.fb-button, .fb-tab, .fb-date-form input, .fb-date-form button) {
  border-color: rgba(239,161,173,.24) !important;
  color: #f8e8e8 !important;
  background: rgba(54,7,16,.88) !important;
}

.luoli-internal.festival-battle-page :is(.fb-button:hover, .fb-tab.active) {
  border-color: #d67383 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.festival-battle-page :is(.fb-chart-current, .fb-operator-chart i, .fb-platform-track i, .fb-ranking-track i) {
  background: linear-gradient(90deg, #dc7485, #a7253a) !important;
}
}

/* 登录入口也使用同一套品牌资产，避免客户端启动后先看到旧绿色页面。 */
.luoli-internal.auth-page,
.luoli-internal .auth-shell {
  background:
    radial-gradient(circle at 78% 18%, rgba(208,90,108,.12), transparent 30%),
    linear-gradient(135deg, #f8f2ec, #efe3dd) !important;
}

.luoli-internal :is(.auth-card, .login-card) {
  border-color: rgba(122,21,37,.15) !important;
  background: linear-gradient(145deg, rgba(255,254,251,.98), rgba(249,241,236,.96)) !important;
  box-shadow: 0 24px 70px rgba(73,7,18,.13) !important;
}

.luoli-internal :is(.auth-card, .login-card) .brand-mark {
  background: #fffaf5 url('/assets/luoli-phoenix-v1.png') center / cover no-repeat !important;
}

@media (max-width: 980px) {
  body.luoli-internal::after {
    right: -100px;
    bottom: -110px;
    width: min(560px, 78vw);
    opacity: .13;
  }
}

/* --------------------------------------------------------------------------
 * 业务页最终收口
 *
 * 页面本身仍保留成功、警告、失败的语义色；这里仅覆盖旧主题中的绿色主按钮、
 * 选中态和面板材质，保证美团与淘宝入口在同一套白底酒红视觉下可读。
 * -------------------------------------------------------------------------- */

.luoli-internal :is(
  .library-page-icon, .library-category-row.active, .library-category-row:has(input:checked),
  .library-step.active, .library-product-table tr:has(.js-library-check:checked),
  .asset-card:has(.js-asset-check:checked), .library-item:has(.js-library-check:checked),
  .poster-asset-filter.active, .poster-asset-tile:has(input:checked),
  .poster-platform-badge.taobao, .poster-library-card-actions .taobao
) {
  border-color: #a83245 !important;
  color: #761625 !important;
  background: #fbecee !important;
  box-shadow: inset 0 0 0 1px rgba(168,50,69,.14) !important;
}

.luoli-internal :is(
  .library-table-actions button.primary, .library-modal button.primary,
  .library-command-bar button.primary, .asset-actions button.primary,
  .poster-submit, .poster-progress-track span, .poster-studio-actions button.primary
) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal :is(
  .library-topline, .library-catalog, .library-products-toolbar,
  .library-table-wrap, .library-modal-card, .asset-card, .library-item,
  .poster-asset-tile, .poster-library-card
) {
  border-color: rgba(122,21,37,.12) !important;
  color: var(--text) !important;
  background: rgba(255,253,249,.97) !important;
}

.luoli-internal :is(
  .hb-hours-lines span, .hb-audit-note, .hb-scope-explainer,
  .hb-scope-tag.personal, .hb-status.success, .hb-chip.success,
  .hb-message.success, .hb-progress > span
) {
  border-color: rgba(168,50,69,.24) !important;
  color: #761625 !important;
  background: #fbecee !important;
}

.luoli-internal :is(
  .hb-card h1, .hb-card h2, .hb-card h3, .hb-card strong,
  .hb-store-name, .hb-store-meta, .hb-field label, .hb-hours-panel,
  .hb-modal-surface h1, .hb-modal-surface h2, .hb-modal-surface h3,
  .hb-modal-surface p, .hb-modal-surface label
) {
  color: var(--brand-ink) !important;
}

/* 快乐盯盘和作战大屏必须以白色为底；酒红只承担焦点和图表主线。 */
body.luoli-internal.happy-monitor-page,
body.luoli-internal.festival-battle-page {
  background: #f4eee8 !important;
}

/* 节日预估表头原来逐列写死为白字和绿色按钮，这里按浅色工作台重新定义。 */
.luoli-internal.reference-festival-page .prediction-head > span {
  color: var(--brand-ink) !important;
  -webkit-text-fill-color: var(--brand-ink) !important;
}

.luoli-internal.reference-festival-page .prediction-head > span.forecast-day-one,
.luoli-internal.reference-festival-page .prediction-head > span.forecast-day-two {
  border-color: rgba(168,50,69,.22) !important;
  color: #8d1829 !important;
  -webkit-text-fill-color: #8d1829 !important;
  background: #fbecee !important;
}

.luoli-internal.reference-festival-page .prediction-head > span.forecast-two-day {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  -webkit-text-fill-color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.reference-festival-page .prediction-tools nav button,
.luoli-internal.reference-festival-page #openCandidates {
  border-color: #d7c1bd !important;
  color: #70484e !important;
  background: rgba(255,253,249,.96) !important;
}

.luoli-internal.reference-festival-page .prediction-tools nav button.active,
.luoli-internal.reference-festival-page #openCandidates:hover {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

/* 快乐盯盘入口原有绿色科技线条改为酒红；人物和操作逻辑保持不动。 */
.luoli-internal.happy-monitor-page .hm-entry::after {
  opacity: .18 !important;
  background-image:
    linear-gradient(rgba(160,48,66,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(160,48,66,.13) 1px, transparent 1px) !important;
}

.luoli-internal.happy-monitor-page :is(
  .hm-entry-kicker, .hm-entry-meta, .hm-entry-corner,
  .hm-entry-hud span, .hm-entry-copy p
) {
  border-color: rgba(122,21,37,.18) !important;
  color: #805860 !important;
}

.luoli-internal.happy-monitor-page :is(.hm-entry-copy h1, .hm-entry-copy strong) {
  color: var(--brand-ink) !important;
}

.luoli-internal.happy-monitor-page .hm-person-label {
  border-color: rgba(122,21,37,.18) !important;
  color: #fffaf5 !important;
  background: rgba(103,14,29,.90) !important;
}

.luoli-internal.happy-monitor-page .hm-entry-button {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
  box-shadow: 0 10px 24px rgba(122,21,37,.16) !important;
}

.luoli-internal.happy-monitor-page .hm-entry-button :is(strong, i) {
  border-color: rgba(255,250,245,.42) !important;
  color: #fffaf5 !important;
}

.luoli-internal.happy-monitor-page .hm-entry-button i {
  background: rgba(255,250,245,.13) !important;
}

.luoli-internal.happy-monitor-page :is(
  .hm-entry-kicker::before, .hm-entry-meta b,
  .hm-entry-orbits i::before, .hm-entry-scan
) {
  background: #a9253a !important;
  box-shadow: 0 0 12px rgba(169,37,58,.34) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-entry-orbits i, .hm-entry-aura) {
  border-color: rgba(169,37,58,.18) !important;
}

/* 作战大屏全部回到浅色卡片；历史绿色仅替换视觉，不改统计口径。 */
.luoli-internal.festival-battle-page .fb-screen :is(h1, h2, h3, h4, p, small, span, b, strong) {
  color: #795f63 !important;
}

.luoli-internal.festival-battle-page :is(
  .fb-clock strong, .fb-hero-value, .fb-platform-value, .fb-multiple,
  .fb-current, .fb-operator-metrics strong, .fb-ranking-row strong,
  .fb-chart-head strong, .fb-operators-head strong, .fb-ranking-head strong
) {
  color: #8d1829 !important;
}

.luoli-internal.festival-battle-page :is(
  .fb-tabs, .fb-platform-card, .fb-operator-chart,
  .fb-ranking-list, .fb-modal-chart
) {
  border-color: rgba(122,21,37,.12) !important;
  color: var(--brand-ink) !important;
  background: rgba(255,253,249,.94) !important;
}

.luoli-internal.festival-battle-page :is(
  .fb-platform-card b, .fb-operator-card b, .fb-chart-empty,
  .fb-ranking-empty, .fb-clock strong
) {
  color: #8d1829 !important;
}

.luoli-internal.festival-battle-page :is(.fb-legend i, .fb-chart-current, .fb-platform-track i, .fb-ranking-track i) {
  background: linear-gradient(90deg, #c64b60, #7a1525) !important;
}

/* 最后一层业务页校色：页面原样式大多是内联 CSS，使用明确选择器覆盖，避免绿色漏网。 */
.luoli-internal.reference-dashboard-page .screen-action.active,
.luoli-internal.reference-dashboard-page .screen-action.open-window,
.luoli-internal.reference-dashboard-page .screen-action.refresh {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
  box-shadow: 0 8px 20px rgba(122,21,37,.14) !important;
}

.luoli-internal.ops-page .ops-toolbar button.primary,
.luoli-internal.ops-page .ops-actionbar .apply,
.luoli-internal.ops-page .ops-actionbar button.primary,
.luoli-internal.ops-page .ops-confirm-actions button.primary,
.luoli-internal.ops-page .ops-reload-button,
.luoli-internal.ops-page .ops-count-pill {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
  box-shadow: 0 8px 20px rgba(122,21,37,.14) !important;
}

.luoli-internal.ops-page .log-ok {
  color: #8d1829 !important;
}

.luoli-internal .library-step-strip span > b,
.luoli-internal .library-tag,
.luoli-internal .badge.ok,
.luoli-internal .bulk-title-store-name > b {
  border-color: rgba(168,50,69,.24) !important;
  color: #8d1829 !important;
  background: #fbecee !important;
  box-shadow: none !important;
}

.luoli-internal .hb-label,
.luoli-internal .hb-label > span,
.luoli-internal .hb-scope-title,
.luoli-internal .hb-scope-title > span {
  color: var(--brand-ink) !important;
  -webkit-text-fill-color: var(--brand-ink) !important;
}

/* 数据大屏原来是一整套深绿驾驶舱；统一改为象牙白卡片和酒红数据焦点。 */
.luoli-internal.reference-dashboard-page .reference-dashboard {
  color: var(--brand-ink) !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(196,69,88,.09), transparent 28%),
    linear-gradient(150deg, #fffdf9, #f7efea 62%, #f2e6e3) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .data-screenbar, .dimension-tabs button, .cockpit-metric,
  .promotion-strip, .cockpit-progress, .cockpit-health,
  .today-products, .commerce-map-panel, .alert-panel,
  .business-insights, .truth-note, .simple-panel,
  .promotion-groups, .promotion-groups article,
  .promotion-groups header, .business-insights article,
  .today-products-empty, .alert-empty, .distance-panel
) {
  border-color: rgba(122,21,37,.14) !important;
  color: var(--brand-ink) !important;
  background: rgba(255,253,249,.95) !important;
  box-shadow: none !important;
}

.luoli-internal.reference-dashboard-page :is(
  .screen-title h1, .screen-title span, .data-screenbar > label,
  .screen-live strong, .screen-live small,
  .dimension-tabs button, .dimension-tabs button strong,
  .cockpit-metric > div, .cockpit-metric > div span,
  .cockpit-metric > div b, .cockpit-metric > strong,
  .cockpit-metric > small, .cockpit-progress span,
  .cockpit-progress strong, .cockpit-progress small,
  .cockpit-health span, .cockpit-health strong,
  .cockpit-health small, .today-products header span,
  .today-products header strong, .today-products header b,
  .alert-panel header span, .alert-panel header strong,
  .alert-panel header b, .today-products-empty strong,
  .today-products-empty span, .alert-empty strong,
  .alert-empty span, .business-insights span,
  .business-insights strong, .business-insights b,
  .business-insights p, .truth-note strong, .truth-note p,
  .promotion-groups small, .promotion-groups strong,
  .commerce-map-panel > header strong,
  .commerce-map-panel > header span,
  .distance-panel span, .distance-panel b,
  .distance-panel strong, .distance-panel p span
) {
  color: #70484e !important;
  -webkit-text-fill-color: #70484e !important;
}

.luoli-internal.reference-dashboard-page :is(
  .data-screenbar select, .dashboard-scope select,
  .dashboard-scope a, .screen-period a,
  .screen-action.fullscreen, .commerce-map-panel > header button
) {
  border-color: #d9c3bf !important;
  color: #70484e !important;
  background: rgba(255,253,249,.97) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .screen-period a.active, .screen-action.refresh,
  .screen-action.open-window, .dimension-tabs button.active,
  .dashboard-scope a.active
) {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background-color: #8d1829 !important;
  background-image: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .screen-live > i, .dimension-tabs button i,
  .cockpit-metric.tone-positive::after,
  .cockpit-health > i em.active,
  .business-insights article > i,
  .distance-panel i em, .map-live i
) {
  color: #8d1829 !important;
  background: #a9253a !important;
  box-shadow: 0 0 10px rgba(169,37,58,.26) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .commerce-map-panel > header, .map-hud,
  .map-live, .map-route-note, .map-legend,
  .map-zoom
) {
  border-color: rgba(122,21,37,.18) !important;
  color: var(--brand-ink) !important;
  background: rgba(255,253,249,.92) !important;
  box-shadow: 0 8px 22px rgba(88,23,34,.10) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .map-hud span, .map-hud strong, .map-live,
  .map-route-note, .map-legend span, .map-zoom b
) {
  border-color: rgba(122,21,37,.12) !important;
  color: #70484e !important;
  -webkit-text-fill-color: #70484e !important;
}

.luoli-internal.reference-dashboard-page .delivery-store-hub {
  border-color: rgba(255,250,245,.96) !important;
  color: #fffaf5 !important;
  background: radial-gradient(circle, #d76376 0 36%, #a9253a 38% 55%, #6e0f1e 58%) !important;
  box-shadow: 0 0 7px #fff, 0 0 18px rgba(169,37,58,.82), 0 0 35px rgba(169,37,58,.38) !important;
}

.luoli-internal.reference-dashboard-page .delivery-store-hub::before,
.luoli-internal.reference-dashboard-page .delivery-store-hub::after {
  border-color: rgba(169,37,58,.46) !important;
  border-top-color: #fffaf5 !important;
  border-right-color: #c64b60 !important;
  box-shadow: 0 0 11px rgba(169,37,58,.44) !important;
}

.luoli-internal.reference-dashboard-page .delivery-order-node {
  border-color: rgba(255,250,245,.96) !important;
  color: #6e0f1e !important;
  background: radial-gradient(circle at 38% 32%, #fff 0 15%, #f8cbd2 36%, #d76376 72%, #a9253a 100%) !important;
  box-shadow: 0 0 9px #fff, 0 0 18px rgba(169,37,58,.72) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .delivery-max-range, .delivery-platform-polygon,
  .delivery-flow-ray, .delivery-flow-dots
) {
  filter: drop-shadow(0 0 6px rgba(169,37,58,.56)) !important;
}

.luoli-internal.festival-battle-page :is(
  .fb-proof, .fb-nmv, .fb-legend, .fb-platform-card footer,
  .fb-operator-card footer
) {
  border-color: rgba(122,21,37,.14) !important;
  color: #795f63 !important;
}

.luoli-internal .hb-card :is(.button.primary, button.primary, .hb-hours-open) {
  background-color: #8d1829 !important;
}

/* 最后清理列表页中仍沿用旧绿色状态色的可视元素。 */
.luoli-internal .store-progress-value,
.luoli-internal .login-remaining.ok {
  border-color: rgba(168,50,69,.24) !important;
  color: #8d1829 !important;
  background: #fbecee !important;
}

.luoli-internal.reference-festival-page :is(
  .festival-screenbar > nav, .festival-scope-picker,
  .prediction-tools nav
) {
  border-color: rgba(122,21,37,.16) !important;
  color: var(--brand-ink) !important;
  background: rgba(255,253,249,.96) !important;
  box-shadow: none !important;
}

.luoli-internal.reference-festival-page .festival-scope-picker button {
  border-color: #d7c1bd !important;
  color: #70484e !important;
  background: rgba(255,253,249,.96) !important;
  box-shadow: none !important;
}

.luoli-internal.reference-festival-page .festival-scope-picker button.active {
  border-color: #8d1829 !important;
  color: #fffaf5 !important;
  background: linear-gradient(145deg, #a9253a, #6e0f1e) !important;
}

.luoli-internal .library-step-strip > span {
  border-color: #e4d6d2 !important;
  color: #70484e !important;
  background: #fffdf9 !important;
}

.luoli-internal .hb-manifest-list > span {
  border-color: rgba(168,50,69,.18) !important;
  color: #70484e !important;
  background: #fffaf5 !important;
}

.luoli-internal .side-user em {
  color: #efb0b8 !important;
  background: transparent !important;
}

.luoli-internal .hb-scope-option.company em {
  border-color: rgba(168,50,69,.18) !important;
  color: #70484e !important;
  background: #fbecee !important;
}

/* ========================================================================== 
 * 第二波品牌统一：白瓷主画布 + 酒红焦点
 *
 * 这组规则必须放在文件末尾。项目中的旧页面仍保留各自的历史 CSS，统一主题
 * 在首次绘制前加载并最终覆盖它们，避免切换页面时先闪出绿色旧版再变白。
 * ========================================================================== */
body.luoli-internal {
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-2: #fff8f8;
  --line: #eadcdd;
  --text: #201719;
  --heading: #171214;
  --muted: #675b5d;
  color: #171214 !important;
  background: #ffffff !important;
}

body.luoli-internal :is(.app-frame, .app-content) {
  color: #171214 !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* 品牌名的注册标记随文字缩放，保持在右上角而不挤压侧栏宽度。 */
.luoli-internal .brand-register {
  display: inline-block;
  margin-left: 1px;
  font-size: .52em;
  line-height: 0;
  vertical-align: super;
}

/* 后台任务入口使用白色状态点；运行态只呼吸，不再出现旧绿色。 */
.luoli-internal .operation-task-pulse,
.luoli-internal .operation-task-center.has-active .operation-task-pulse {
  background: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.18), 0 0 9px rgba(255,255,255,.62) !important;
}

/* 店铺管理：删掉全局重复标题，压缩控制区，把纵向空间还给店铺明细。 */
.luoli-internal.store-management-layout .topbar {
  display: none !important;
}

.luoli-internal.store-management-layout .app-content,
.luoli-internal.store-management-layout .store-management-page {
  background: #ffffff !important;
}

.luoli-internal.store-management-layout .store-management-page {
  gap: 6px !important;
  margin-top: 4px !important;
}

.luoli-internal.store-management-layout :is(.store-management-topbar, .section) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
  box-shadow: 0 5px 16px rgba(93,20,32,.035) !important;
}

.luoli-internal.store-management-layout .store-management-topbar {
  gap: 3px !important;
  padding: 5px 8px !important;
}

.luoli-internal.store-management-layout .store-management-topline {
  min-height: 30px !important;
}

.luoli-internal.store-management-layout .store-management-title .page-title {
  font-size: 17px !important;
}

.luoli-internal.store-management-layout .store-management-mini-metrics {
  gap: 5px !important;
}

.luoli-internal.store-management-layout .store-management-mini-stat {
  min-height: 23px !important;
  padding: 0 8px !important;
  color: #403638 !important;
  background: #fff8f8 !important;
}

.luoli-internal.store-management-layout .store-management-mini-stat strong {
  color: #171214 !important;
  font-size: 14px !important;
}

.luoli-internal.store-management-layout .store-management-filterbar {
  gap: 6px !important;
}

.luoli-internal.store-management-layout :is(
  .store-management-filterbar select, .store-management-filterbar input,
  .store-management-filterbar button, .store-management-filterbar .button,
  .store-management-actions button, .store-management-actions .button
) {
  min-height: 28px !important;
  height: 28px !important;
}

.luoli-internal.store-management-layout .section-title-row {
  min-height: 38px !important;
  padding: 5px 10px !important;
  color: #171214 !important;
  background: #fff7f7 !important;
}

.luoli-internal.store-management-layout .section-title-row h2 {
  color: #171214 !important;
  font-size: 15px !important;
}

.luoli-internal.store-management-layout .store-management-table {
  color: #171214 !important;
  background: #ffffff !important;
  font-size: 11.5px !important;
}

.luoli-internal.store-management-layout .store-management-table :is(th, td) {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.luoli-internal.store-management-layout .store-management-table th {
  color: #211719 !important;
  font-size: 11.5px !important;
  background: #fff4f4 !important;
}

.luoli-internal.store-management-layout .store-management-table td,
.luoli-internal.store-management-layout .store-management-table td strong {
  color: #171214 !important;
}

.luoli-internal.store-management-layout .store-management-table td strong {
  font-size: 12.5px !important;
}

.luoli-internal.store-management-layout .store-management-table .hint {
  color: #675b5d !important;
  font-size: 9.5px !important;
}

.luoli-internal.store-management-layout .store-management-table :is(
  .store-metric-number, .store-metric-money, .store-metric-tool,
  .store-metric-progress, .store-metric-update, .store-tool-value,
  .store-progress-value
) {
  color: #171214 !important;
  font-size: 10.5px !important;
}

.luoli-internal.store-management-layout .store-management-table :is(
  .store-business-missing, .store-pacing-label, .store-collection-state,
  .store-business-status, .login-remaining
) {
  font-size: 9px !important;
}

.luoli-internal.store-management-layout .store-management-row-actions {
  justify-content: center !important;
}

.luoli-internal.store-management-layout .store-management-row-actions button {
  min-height: 27px !important;
  height: 27px !important;
  font-size: 11px !important;
}

/* 快乐盯盘：直接呈现数据台；主画布纯白，浅红只用于字段和选中态。 */
body.luoli-internal.happy-monitor-page,
.luoli-internal.happy-monitor-page :is(.app-frame, .app-content, .hm-main) {
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
}

.luoli-internal.happy-monitor-page .hm-main::before,
.luoli-internal.happy-monitor-page .hm-entry {
  display: none !important;
  content: none !important;
}

.luoli-internal.happy-monitor-page :is(.hm-operator, .hm-summary, .hm-panel, .hm-focus-dialog) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(89,20,31,.035) !important;
}

.luoli-internal.happy-monitor-page :is(.hm-stat, .hm-head-notice, .hm-chip.active, .hm-operator.active) {
  color: #171214 !important;
  background: #fff4f4 !important;
}

.luoli-internal.happy-monitor-page :is(
  .hm-title h1, .hm-title span, .hm-operator strong, .hm-operator-meta,
  .hm-operator-meta b, .hm-stat label, .hm-stat strong, .hm-stat small,
  .hm-panel-title h2, .hm-panel-title span, .hm-table th, .hm-table td,
  .hm-table td.hm-col-store, .hm-tool-metric b, .hm-refresh-note,
  .hm-missing, .hm-no-orders
) {
  color: #171214 !important;
  -webkit-text-fill-color: #171214 !important;
}

.luoli-internal.happy-monitor-page .hm-table th {
  background: #fff4f4 !important;
}

.luoli-internal.happy-monitor-page .hm-table tbody tr:nth-child(even) {
  background: #fffafa !important;
}

/* 数据大屏：所有维度共用白底红色语言，地图也纳入同一材质。 */
body.luoli-internal.reference-dashboard-page,
.luoli-internal.reference-dashboard-page :is(.app-frame, .app-content, .reference-dashboard) {
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
}

.luoli-internal.reference-dashboard-page :is(
  .data-screenbar, .dimension-tabs button, .cockpit-metric, .promotion-strip,
  .cockpit-progress, .cockpit-health, .today-products, .commerce-map-panel,
  .alert-panel, .business-insights, .business-insights article, .truth-note,
  .simple-panel, .promotion-groups, .promotion-groups article,
  .today-products-empty, .alert-empty, .distance-panel
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.luoli-internal.reference-dashboard-page :is(
  .screen-title h1, .screen-title span, .data-screenbar label, .screen-live,
  .screen-live strong, .screen-live small, .dimension-tabs button,
  .dimension-tabs button strong, .cockpit-metric span, .cockpit-metric b,
  .cockpit-metric strong, .cockpit-metric small, .cockpit-progress span,
  .cockpit-progress strong, .cockpit-progress small, .cockpit-health span,
  .cockpit-health strong, .cockpit-health small, .today-products span,
  .today-products strong, .alert-panel span, .alert-panel strong,
  .business-insights span, .business-insights strong, .business-insights p,
  .truth-note strong, .truth-note p, .promotion-groups small,
  .promotion-groups strong, .commerce-map-panel > header strong,
  .commerce-map-panel > header span, .distance-panel span,
  .distance-panel b, .distance-panel strong, .distance-panel p span
) {
  color: #171214 !important;
  -webkit-text-fill-color: #171214 !important;
}

.luoli-internal.reference-dashboard-page :is(
  .dimension-tabs button strong, .cockpit-metric > div span,
  .today-products > header span, .alert-panel > header span,
  .business-insights span, .distance-panel span, .distance-panel b,
  .distance-panel strong
) {
  font-size: max(11px, 1em) !important;
}

.luoli-internal.reference-dashboard-page :is(
  .data-screenbar, .commerce-map-panel > header, .promotion-groups header,
  .today-products > header, .alert-panel > header
) {
  color: #171214 !important;
  background: #fff4f4 !important;
}

.luoli-internal.reference-dashboard-page .dimension-tabs button.active,
.luoli-internal.reference-dashboard-page .dimension-tabs button.active strong,
.luoli-internal.reference-dashboard-page .dimension-tabs button.active i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #8d1829 !important;
}

.luoli-internal.reference-dashboard-page :is(.map-canvas, .map-reference-image) {
  background: #f8f5f4 !important;
}

.luoli-internal.reference-dashboard-page .map-reference-image,
.luoli-internal.reference-dashboard-page .leaflet-tile-pane {
  opacity: .78 !important;
  filter: grayscale(.82) sepia(.18) saturate(.58) brightness(1.13) contrast(.88) !important;
}

.luoli-internal.reference-dashboard-page .map-shade {
  background: radial-gradient(circle at 50% 52%, transparent 18%, rgba(255,255,255,.08) 43%, rgba(122,21,37,.08) 100%) !important;
}

.luoli-internal.reference-dashboard-page :is(.map-hud, .map-live, .map-route-note, .map-legend, .map-zoom) {
  color: #171214 !important;
  background: rgba(255,255,255,.94) !important;
}

.luoli-internal.reference-dashboard-page :is(.map-hud span, .map-hud strong, .map-live, .map-route-note, .map-legend span, .map-zoom b) {
  color: #171214 !important;
  -webkit-text-fill-color: #171214 !important;
}

.luoli-internal.reference-dashboard-page :is(.delivery-flow-ray, .delivery-flow-dots) {
  stroke: #a9253a !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div {
  gap: 0 !important;
  border: 1px solid #eadcdd !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div > div {
  min-height: 54px !important;
  padding: 8px 10px !important;
  border-right: 1px solid #eadcdd !important;
  border-bottom: 1px solid #eadcdd !important;
  background: #fffafa !important;
}

/* 节日库存：用边框和浅红标题带重新建立区域层次，避免白底后失去重点。 */
body.luoli-internal.reference-festival-page,
.luoli-internal.reference-festival-page :is(.app-frame, .app-content, .reference-festival) {
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
}

.luoli-internal.reference-festival-page :is(
  .festival-screenbar, .forecast-overview, .product-panel, .inventory-toolbar,
  .inventory-command-main, .inventory-summary, .monitor-rule-card,
  .traffic-node-panel, .forecast-modal > div, .candidate-dialog,
  .settings-dialog, .rules-dialog, .monitor-item-dialog, .monitor-edit-dialog
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(89,20,31,.035) !important;
}

.luoli-internal.reference-festival-page :is(
  .festival-screenbar h1, .festival-screenbar span, .festival-screenbar small,
  .inventory-summary span, .inventory-summary b, .inventory-store-name,
  .product-panel h2, .product-panel span, .inventory-table-head,
  .festival-product b, .festival-product small, .stock-cell,
  .stock-progress-cell span, .stock-reason, .festival-stock-row time,
  .monitor-rule-card span, .monitor-rule-card strong, .monitor-rule-card p
) {
  color: #171214 !important;
  -webkit-text-fill-color: #171214 !important;
}

.luoli-internal.reference-festival-page :is(
  .product-panel > header, .inventory-command-main > header,
  .inventory-table-head, .prediction-head, .prediction-final-actions
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #fff4f4 !important;
}

.luoli-internal.reference-festival-page :is(
  .festival-stock-row, .prediction-rows article, .forecast-strip article,
  .reference-grid > div
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
}

.luoli-internal.reference-festival-page :is(.festival-stock-row:nth-child(even), .prediction-rows article:nth-child(even)) {
  background: #fffafa !important;
}

/* 商品、同步、海报、标题和节日备份共用纯白画布；红色只留给选中态和主动作。 */
.luoli-internal :is(
  .ops-shell, .ops-board, .ops-categories, .ops-filter-card,
  .ops-manager-card, .ops-log, .ops-table-section, .library-workbench,
  .library-category-panel, .library-products-panel, .library-template-panel,
  .library-table-panel, .asset-panel, .discount-panel, .holiday-config,
  .holiday-panel, .poster-studio, .poster-studio-assets,
  .poster-studio-settings, .hb-card, .hb-store-target, .hb-manifest,
  .hb-fixed-retention, .hb-batch-toolbar, .hb-hours-launcher,
  .hb-hours-panel, .hb-filters, .hb-store, .hb-field
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
}

.luoli-internal :is(
  .ops-toolbar, .ops-actionbar, .library-command-bar, .asset-toolbar,
  .poster-studio-actions, .realtime-filter-strip, .realtime-control-strip
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #fff4f4 !important;
}

.luoli-internal.ops-page :is(.manager-tab.active, .manager-tab.is-active, .ops-owner-tab.active),
.luoli-internal :is(.category-item.current, .filter-chip.active, .quick-filter-chip.active, .library-item.current) {
  border-color: #8d1829 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #8d1829 !important;
  background-image: none !important;
}

/* 第二波补漏：注册标记必须清晰可见，日志悬停不再回落到旧蓝色。 */
.luoli-internal .brand-register {
  margin-left: 2px !important;
  color: #fffaf5 !important;
  -webkit-text-fill-color: #fffaf5 !important;
  font-family: Arial, sans-serif !important;
  font-size: .72em !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 5px rgba(0,0,0,.26) !important;
}

.luoli-internal :is(.side-link, .side-sub-link, .side-subgroup-title):hover,
.luoli-internal :is(.side-link, .side-sub-link).active,
.luoli-internal .side-subgroup-toggle.current {
  border-color: rgba(255,228,228,.22) !important;
  color: #fffaf5 !important;
  -webkit-text-fill-color: #fffaf5 !important;
  background: linear-gradient(90deg, rgba(255,228,228,.18), rgba(255,255,255,.055)) !important;
  box-shadow: inset 3px 0 0 #f2a2ad !important;
}

/* 所有复选框、单选框统一使用酒红色，覆盖批量标题和批量海报的原生绿色。 */
.luoli-internal input[type="checkbox"],
.luoli-internal input[type="radio"] {
  accent-color: #8d1829 !important;
}

.luoli-internal :is(
  .bulk-title-mode-option input:checked + span,
  .bulk-title-owner-tab.active,
  .bulk-title-owner-tab:hover,
  .bulk-title-scope-option:has(input:checked),
  .bulk-title-store-item:has(input:checked),
  .poster-asset-filter.active,
  .poster-asset-tile:has(input:checked),
  .poster-store-item:has(input:checked),
  .poster-platform-badge.active
) {
  border-color: #a9253a !important;
  color: #7a1525 !important;
  -webkit-text-fill-color: #7a1525 !important;
  background: #fff0f2 !important;
  box-shadow: inset 0 0 0 1px rgba(169,37,58,.12) !important;
}

.luoli-internal :is(
  .bulk-title-search button,
  .poster-submit,
  .poster-studio-actions .primary,
  .poster-library-card-actions .taobao
) {
  border-color: #8d1829 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #8d1829 !important;
}

/* 数据大屏地图：本店中心和配送轨迹固定为酒红色动态，不再受旧暗绿内联样式影响。 */
.luoli-internal.reference-dashboard-page .delivery-store-div-icon .delivery-store-hub {
  border-color: rgba(255,250,245,.98) !important;
  color: #fffaf5 !important;
  -webkit-text-fill-color: #fffaf5 !important;
  background: radial-gradient(circle, #e28191 0 34%, #b12b42 36% 55%, #7a1525 58%) !important;
  box-shadow: 0 0 8px #fff, 0 0 18px rgba(169,37,58,.88), 0 0 34px rgba(169,37,58,.48) !important;
}

.luoli-internal.reference-dashboard-page .delivery-store-div-icon .delivery-store-hub::before,
.luoli-internal.reference-dashboard-page .delivery-store-div-icon .delivery-store-hub::after {
  border-color: rgba(169,37,58,.54) !important;
  border-top-color: #fffaf5 !important;
  border-right-color: #d76376 !important;
  box-shadow: 0 0 12px rgba(169,37,58,.54) !important;
}

.luoli-internal.reference-dashboard-page .delivery-store-div-icon .delivery-store-hub b {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.luoli-internal.reference-dashboard-page :is(.delivery-max-range, .delivery-platform-polygon, .delivery-flow-ray) {
  stroke: #a9253a !important;
}

/* 流量转化、推广分析、履约分析统一白底酒红；两个平台共用同一套维度组件。 */
.luoli-internal.reference-dashboard-page :is(
  .traffic-conversion, .traffic-status, .traffic-panel, .traffic-core-card,
  .traffic-table-wrap, .traffic-diagnosis, .traffic-empty,
  .promotion-trends, .promotion-trends article, .promotion-groups,
  .promotion-groups article, .simple-panel, .fulfillment-grid article,
  .analysis-grid > article
) {
  border-color: #eadcdd !important;
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
}

.luoli-internal.reference-dashboard-page :is(
  .traffic-status *, .traffic-panel *, .traffic-core-card *,
  .traffic-table th, .traffic-table td, .traffic-diagnosis *,
  .promotion-trends *, .promotion-groups *, .simple-panel *,
  .fulfillment-grid *, .analysis-grid *
) {
  color: #171214 !important;
  -webkit-text-fill-color: #171214 !important;
}

.luoli-internal.reference-dashboard-page :is(
  .traffic-status, .traffic-panel > header, .traffic-table thead tr,
  .promotion-trends > header, .promotion-trends article > header,
  .promotion-groups header, .simple-panel > h2
) {
  border-color: #eadcdd !important;
  background: #fff4f4 !important;
}

.luoli-internal.reference-dashboard-page :is(
  .traffic-table tbody tr:hover, .traffic-diagnosis:hover,
  .promotion-trends tbody tr:hover, .fulfillment-grid article:hover
) {
  background: #fff0f2 !important;
}

.luoli-internal.reference-dashboard-page :is(
  .traffic-status b, .traffic-diagnosis b,
  .promotion-trends > header span, .promotion-trends article > header span
) {
  color: #a9253a !important;
  -webkit-text-fill-color: #a9253a !important;
}

/* 地图必须保留标准底图原色；品牌色只用于本店、轨迹和轻量边缘提示。 */
.luoli-internal.reference-dashboard-page .map-reference-image,
.luoli-internal.reference-dashboard-page .leaflet-tile-pane {
  opacity: 1 !important;
  filter: none !important;
}

.luoli-internal.reference-dashboard-page .map-shade {
  background: radial-gradient(circle at 50% 52%, transparent 24%, rgba(122,21,37,.025) 100%) !important;
}

/* 即使订单位置仍待补采，本店中心也保持旋转和呼吸，避免误解成页面卡死。 */
.luoli-internal.reference-dashboard-page .delivery-store-div-icon.pending .delivery-store-hub::before {
  animation: delivery-hub-spin 3.8s linear infinite !important;
}

.luoli-internal.reference-dashboard-page .delivery-store-div-icon.pending .delivery-store-hub::after {
  animation: delivery-hub-pulse 2.2s ease-out infinite !important;
}

/* 公里分布只保留距离、订单量和占比，一排展示，避免大格子把页面撑出滚动条。 */
.luoli-internal.reference-dashboard-page .distance-panel {
  height: 118px !important;
  padding: 8px 12px 10px !important;
  overflow: hidden !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 6px !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div > div {
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto auto !important;
  justify-items: center !important;
  gap: 2px !important;
  min-height: 46px !important;
  padding: 6px 8px !important;
  border-right: 1px solid #eadcdd !important;
  border-bottom: 0 !important;
  text-align: center !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div > div :is(span, b, strong) {
  width: 100% !important;
  color: #171214 !important;
  -webkit-text-fill-color: #171214 !important;
  text-align: center !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div > div b {
  font-size: 12px !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div > div strong {
  color: #8d1829 !important;
  -webkit-text-fill-color: #8d1829 !important;
}

.luoli-internal.reference-dashboard-page .distance-panel > div > div i,
.luoli-internal.reference-dashboard-page .distance-panel > p {
  display: none !important;
}

/* 总览首屏只保留可执行数据；解释性长文移出首屏，避免页面再出现纵向滚动条。 */
.luoli-internal.reference-dashboard-page {
  height: 100vh !important;
  overflow-y: hidden !important;
}

.luoli-internal.reference-dashboard-page #dimension-overview > :is(.business-insights, .truth-note) {
  display: none !important;
}

.luoli-internal.reference-dashboard-page .app-content main.reference-dashboard {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 节日预测右侧补采入口必须看起来像可操作按钮，而不是一段弱提示。 */
.luoli-internal.reference-festival-page .yesterday-backfill-card {
  border-color: rgba(141,24,41,.26) !important;
  background: #fff4f4 !important;
}

.luoli-internal.reference-festival-page .yesterday-backfill-card button {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 28px !important;
  border: 1px solid #7a1525 !important;
  border-radius: 7px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #8d1829 !important;
  box-shadow: 0 3px 9px rgba(122,21,37,.18) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.luoli-internal.reference-festival-page .yesterday-backfill-card button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

/* 数据大屏信息口径：删去天气后主指标连续编号，平台和地图范围直接写进标题。 */
.luoli-internal.reference-dashboard-page .primary-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.luoli-internal.reference-dashboard-page .screen-title-row,
.luoli-internal.reference-dashboard-page .map-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
}

.luoli-internal.reference-dashboard-page .screen-platform-badge,
.luoli-internal.reference-dashboard-page .map-scope-badge {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  border: 1px solid rgba(141, 24, 41, .20) !important;
  border-radius: 999px !important;
  color: #8d1829 !important;
  -webkit-text-fill-color: #8d1829 !important;
  background: #fff0f2 !important;
  font-size: 8px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.luoli-internal.reference-dashboard-page .screen-platform-badge {
  padding: 4px 7px !important;
}

.luoli-internal.reference-dashboard-page .screen-platform-badge.platform-taobao {
  border-color: rgba(221, 91, 40, .22) !important;
  color: #c24a22 !important;
  -webkit-text-fill-color: #c24a22 !important;
  background: #fff3ed !important;
}

.luoli-internal.reference-dashboard-page .map-scope-badge {
  padding: 3px 7px !important;
}

.luoli-internal.reference-dashboard-page :is(.cockpit-progress, .cockpit-health) span > b {
  margin-right: 4px !important;
  color: #8d1829 !important;
  -webkit-text-fill-color: #8d1829 !important;
  font-size: .82em !important;
}

/* 1280×720 等矮屏不再把公里范围裁到视窗外；三栏内部各自滚动。 */
@media (max-height: 800px) and (min-width: 900px) {
  .luoli-internal.reference-dashboard-page .cockpit-stage {
    height: calc(100vh - 286px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }

  .luoli-internal.reference-dashboard-page :is(.today-products, .commerce-map-panel, .reminder-rail) {
    height: 100% !important;
    min-height: 0 !important;
  }

  .luoli-internal.reference-dashboard-page .today-products {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-self: stretch !important;
  }

  .luoli-internal.reference-dashboard-page .today-products-list {
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
  }

  .luoli-internal.reference-dashboard-page .today-products-empty {
    height: 100% !important;
    min-height: 0 !important;
    margin-top: 7px !important;
  }

  .luoli-internal.reference-dashboard-page .commerce-map-panel {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) 100px !important;
  }

  .luoli-internal.reference-dashboard-page .map-canvas {
    height: auto !important;
    min-height: 0 !important;
  }

  .luoli-internal.reference-dashboard-page .distance-panel {
    height: 100px !important;
    min-height: 0 !important;
    padding: 6px 10px !important;
  }

  .luoli-internal.reference-dashboard-page .distance-panel > div {
    margin-top: 3px !important;
  }

  .luoli-internal.reference-dashboard-page .distance-panel > div > div {
    min-height: 38px !important;
    padding: 3px 5px !important;
  }

  .luoli-internal.reference-dashboard-page .reminder-rail {
    grid-template-rows: minmax(0, 1fr) 82px !important;
  }

  .luoli-internal.reference-dashboard-page .fulfillment-reminder-list {
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
  }

  .luoli-internal.reference-dashboard-page .alert-panel.review .alert-empty {
    display: none !important;
  }

  .luoli-internal.reference-dashboard-page .dashboard-view:not(#dimension-overview).active {
    height: calc(100vh - 132px) !important;
    min-height: 0 !important;
    overflow: auto !important;
  }
}

/* ========================================================================== 
 * 白瓷花笺主题：白色导航 + 纯白内容 + 少量酒红重点
 *
 * 用户确认的最终配色不是“浅酒红侧栏”，而是以品牌门头的白色花笺为基础。
 * 此处只重分配颜色与装饰层，不改变导航结构、业务状态色或页面交互。
 * ========================================================================== */
body.luoli-internal {
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-2: #ffffff;
  --brand-ivory: #ffffff;
  --brand-cream: #ffffff;
  background: #ffffff !important;
}

body.luoli-internal :is(.app-frame, .app-content, main) {
  background-color: #ffffff !important;
}

/* 主内容不再铺米黄或粉黄底；花枝作为独立低透明装饰渗入纯白画布。 */
body.luoli-internal::before {
  opacity: .032 !important;
  filter: saturate(.82) contrast(.92) !important;
}

body.luoli-internal::after {
  opacity: .12 !important;
  filter: saturate(.94) brightness(1.06) contrast(1.03) !important;
}

/* 左侧导航改成白色品牌花笺。凤凰与花枝只做点缀，不形成大色块。 */
.luoli-internal .sidebar {
  border-right: 1px solid #eadcdd !important;
  color: #3a292c !important;
  background: #ffffff !important;
  box-shadow: 10px 0 28px rgba(103, 35, 47, .07) !important;
}

.luoli-internal .sidebar::before {
  top: 250px !important;
  right: -58px !important;
  width: 188px !important;
  height: 188px !important;
  opacity: .055 !important;
  background: url('/assets/luoli-phoenix-watermark-v1.png') center / contain no-repeat !important;
  filter: saturate(.86) brightness(1.02) !important;
  transform: rotate(-8deg) !important;
}

.luoli-internal .sidebar::after {
  right: -78px !important;
  bottom: -18px !important;
  width: 294px !important;
  height: 390px !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: .17 !important;
  background: url('/assets/luoli-floral-corner-v1.png') right bottom / 365px 365px no-repeat !important;
  box-shadow: none !important;
  filter: saturate(.90) brightness(1.08) contrast(1.03) !important;
  mix-blend-mode: multiply !important;
  transform: none !important;
}

.luoli-internal .sidebar-brand {
  border-bottom-color: #eadcdd !important;
}

.luoli-internal .brand-mark {
  color: #7a1525 !important;
  background: #ffffff !important;
  border-color: #ead1d5 !important;
  box-shadow: 0 7px 18px rgba(122, 21, 37, .10) !important;
}

.luoli-internal :is(.sidebar-title, .brand-register) {
  color: #7a1525 !important;
  -webkit-text-fill-color: #7a1525 !important;
  text-shadow: none !important;
}

.luoli-internal .sidebar-version {
  color: #9a777d !important;
}

.luoli-internal .side-group-title {
  color: #7a1525 !important;
  -webkit-text-fill-color: #7a1525 !important;
}

.luoli-internal :is(.side-link, .side-sub-link, .side-subgroup-title) {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

.luoli-internal :is(
  .side-link .nav-icon, .side-sub-link .nav-icon,
  .side-subgroup-title .nav-icon, .icon-board, .icon-store, .icon-data, .icon-team
) {
  color: #b54b5d !important;
  -webkit-text-fill-color: #b54b5d !important;
}

.luoli-internal :is(.side-link, .side-sub-link, .side-subgroup-title):hover {
  border-color: transparent !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background: #fff7f8 !important;
  box-shadow: inset 3px 0 0 #d98996 !important;
}

.luoli-internal :is(.side-link, .side-sub-link).active,
.luoli-internal .side-subgroup-toggle.current {
  border-color: rgba(141, 24, 41, .10) !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  background: linear-gradient(90deg, #fbeaec 0%, #fff7f8 72%, #ffffff 100%) !important;
  box-shadow: inset 4px 0 0 #8d1829 !important;
}

.luoli-internal .side-subgroup-panel {
  border-left-color: #e8c7cc !important;
}

.luoli-internal .sidebar-foot {
  border-color: #eadcdd !important;
  color: #3a292c !important;
  background: rgba(255, 250, 250, .92) !important;
  box-shadow: 0 5px 16px rgba(104, 30, 43, .045) !important;
}

.luoli-internal .sidebar-foot :is(strong, span, em) {
  color: #4b3539 !important;
  -webkit-text-fill-color: #4b3539 !important;
}

.luoli-internal .sidebar-foot :is(button, .button, a) {
  border-color: #dfc5c9 !important;
  color: #7a1525 !important;
  -webkit-text-fill-color: #7a1525 !important;
  background: #ffffff !important;
}

/* 右侧除主按钮、选中态和主分区提示外一律保持纯白。 */
.luoli-internal :is(
  .topbar, .section, .card, .panel, .store-management-topbar,
  .store-bind-card, .modal, .dialog, table, table tbody,
  table tbody tr, table tbody tr:nth-child(even)
) {
  background-color: #ffffff !important;
}

/* 同源页面切换使用浏览器原生 View Transition。数据仍由原路由读取，
 * 这里只消除整页硬切的视觉跳变，不增加额外接口或云端负担。 */
@view-transition {
  navigation: auto;
}

@media (prefers-reduced-motion: no-preference) {
  ::view-transition-old(root) {
    animation: luoli-page-out 90ms ease-out both;
  }
  ::view-transition-new(root) {
    animation: luoli-page-in 150ms ease-out both;
  }
}

@keyframes luoli-page-out {
  to { opacity: .92; transform: translateY(-1px); }
}

@keyframes luoli-page-in {
  from { opacity: .82; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

.luoli-internal :is(.section, .card, .panel, .store-management-topbar, .store-bind-card) {
  background-image: none !important;
}

.luoli-internal :is(.section-title-row, table thead th, .store-management-table th) {
  color: #4f2028 !important;
  background: #fff7f8 !important;
}

.luoli-internal .section-title-row {
  box-shadow: inset 4px 0 0 #8d1829 !important;
}

.luoli-internal table tbody tr:hover {
  background: #fff9fa !important;
}

/* ========================================================================== 
 * 节日库存可读性收口：旧深色组件和浅色主题必须成套切换。
 * 只匹配本页根节点；同时设置 text-fill，避免 Chromium 覆盖 color。
 */
body.luoli-internal.reference-festival-page #festivalInventoryPage,
body.luoli-internal.reference-festival-page #festivalInventoryPage :where(*) {
  color: #171717 !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  .festival-screenbar, .festival-scope-picker, .forecast-overview,
  .forecast-strip article, .reference-grid > div, .product-panel,
  .product-panel > header, .prediction-final-actions, .prediction-table-scroll,
  .prediction-head, .prediction-head > span, .prediction-rows article,
  .prediction-edit, .final-stock, .inventory-summary, .inventory-command-main,
  .inventory-command-main > header, .inventory-table-head, .festival-stock-row,
  .forecast-modal > div, .forecast-modal header, .forecast-modal footer,
  .forecast-form label > div, .settings-summary article, .rules-body article,
  .target-store-toolbar, .target-store-row, .candidate-toolbar,
  .candidate-columns, .candidate-list, .candidate-row, .monitor-add-row,
  .monitor-edit-fields, .monitor-add-controls, .monitor-rule-card,
  .traffic-node-panel, .traffic-node-row, .traffic-node-percent,
  .traffic-node-head, .monitor-state-card,
  .prediction-final-buttons label, .inventory-bulk-actions label,
  .festival-upload-action, .festival-product > i, .candidate-row i
) {
  color: #171717 !important;
  background: #ffffff !important;
  border-color: #d8d8d8 !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  button, input, select, option, .festival-screenbar a
) {
  color: #171717 !important;
  -webkit-text-fill-color: currentColor !important;
  background: #ffffff !important;
  border-color: #b6b6b6 !important;
  font-size: 12px !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage input::placeholder {
  color: #595959 !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage .forecast-modal :is(button, input, select) {
  font-size: 14px !important;
}

/* 状态保留颜色和文字；主按钮与子文字作为同一对比度单元。 */
body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  button.active, button.accent, button.primary, .festival-open-window,
  .edit-monitor-item, .monitor-window-actions button, .candidate-toggle
),
body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  button.active, button.accent, button.primary, .festival-open-window,
  .edit-monitor-item, .monitor-window-actions button, .candidate-toggle
) :where(*) {
  color: #ffffff !important;
  background: #80182b !important;
  border-color: #80182b !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage button.danger {
  color: #8f1729 !important;
  background: #ffffff !important;
  border-color: #b4233c !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage button:disabled,
body.luoli-internal.reference-festival-page #festivalInventoryPage button:disabled :where(*) {
  color: #595959 !important;
  background: #eeeeee !important;
  border-color: #d0d0d0 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  .stock-health.healthy, .inventory-summary .healthy
) { color: #166534 !important; background: #f0fdf4 !important; }
body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  .stock-health.fast, .stock-health.slow, .inventory-summary .fast, .inventory-summary .slow
) { color: #854d0e !important; background: #fffbeb !important; }
body.luoli-internal.reference-festival-page #festivalInventoryPage .stock-health.abnormal {
  color: #991b1b !important; background: #fef2f2 !important;
}

body.luoli-internal.reference-festival-page #festivalInventoryPage :is(
  .inventory-table-head, .festival-stock-row small, .festival-stock-row time,
  .stock-reason, .stock-progress-cell > span, .inventory-bulk-actions label,
  .inventory-product-search, .prediction-head, .prediction-rows small,
  .forecast-strip small, .reference-grid small, .settings-summary span,
  .forecast-modal footer span, .candidate-empty, .target-store-empty
) { font-size: 12px !important; }

/* ========================================================================== 
 * 登录页白瓷花笺：登录入口必须与系统主画布保持同一品牌语言
 * ========================================================================== */
.luoli-internal .auth-page {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: 36px 24px !important;
  background: #ffffff !important;
}

.luoli-internal .auth-page::before {
  content: "" !important;
  position: fixed !important;
  right: -90px !important;
  bottom: -100px !important;
  z-index: -1 !important;
  width: min(620px, 52vw) !important;
  aspect-ratio: 1 !important;
  opacity: .20 !important;
  pointer-events: none !important;
  background: url('/assets/luoli-floral-corner-v1.png') right bottom / contain no-repeat !important;
  filter: saturate(.88) brightness(1.06) contrast(1.02) !important;
  mix-blend-mode: multiply !important;
}

.luoli-internal .auth-shell {
  position: relative !important;
  width: min(1040px, 100%) !important;
  grid-template-columns: minmax(420px, 1.06fr) minmax(360px, .94fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid #eadcdf !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 28px 80px rgba(102, 29, 42, .12) !important;
}

.luoli-internal .auth-intro {
  position: relative !important;
  z-index: 0 !important;
  min-height: 470px !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  padding: 54px 48px !important;
  border: 0 !important;
  border-right: 1px solid #efe1e3 !important;
  border-radius: 0 !important;
  color: #3c292d !important;
  background: #ffffff !important;
}

.luoli-internal .auth-intro::before {
  content: "" !important;
  position: absolute !important;
  right: -102px !important;
  bottom: -118px !important;
  z-index: -1 !important;
  width: 390px !important;
  height: 390px !important;
  opacity: .27 !important;
  pointer-events: none !important;
  background: url('/assets/luoli-floral-corner-v1.png') right bottom / contain no-repeat !important;
  filter: saturate(.90) brightness(1.05) contrast(1.02) !important;
  mix-blend-mode: multiply !important;
}

.luoli-internal .auth-intro::after {
  content: "" !important;
  position: absolute !important;
  left: 54px !important;
  bottom: 24px !important;
  z-index: -1 !important;
  width: 178px !important;
  height: 178px !important;
  opacity: .035 !important;
  pointer-events: none !important;
  background: url('/assets/luoli-phoenix-watermark-v1.png') center / contain no-repeat !important;
}

.luoli-internal .auth-brand-lockup {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
}

.luoli-internal .auth-brand-logo-wrap {
  position: relative !important;
  width: 100px !important;
  height: 100px !important;
  flex: 0 0 100px !important;
  display: grid !important;
  place-items: center !important;
}

.luoli-internal .auth-brand-logo {
  width: 92px !important;
  height: 92px !important;
  flex: 0 0 92px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  filter: drop-shadow(0 10px 18px rgba(122, 21, 37, .14)) !important;
}

.luoli-internal .auth-version-badge {
  position: absolute !important;
  right: -9px !important;
  bottom: -4px !important;
  min-width: 58px !important;
  padding: 4px 9px !important;
  border: 1px solid #d9abb3 !important;
  border-radius: 999px !important;
  color: #7f1d2d !important;
  background: #fff7f8 !important;
  box-shadow: 0 5px 13px rgba(122, 21, 37, .11) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .03em !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.luoli-internal .auth-intro .eyebrow {
  margin-bottom: 8px !important;
  color: #8d1829 !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
}

.luoli-internal .auth-intro h1 {
  color: #4e1620 !important;
  font-size: clamp(29px, 3vw, 40px) !important;
  line-height: 1.18 !important;
}

.luoli-internal .auth-brand-english {
  margin: 9px 0 0 !important;
  color: #a47d83 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

/* 诗句从旧面板底部移到品牌标题下方，作为轻量品牌寄语。 */
.luoli-internal .auth-poem {
  display: grid !important;
  gap: 2px !important;
  align-content: start !important;
  margin: 42px 0 0 114px !important;
  color: #75575c !important;
  text-align: left !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  letter-spacing: .06em !important;
}

.luoli-internal .auth-poem span {
  display: block !important;
}

.luoli-internal .auth-poem .signature {
  margin-top: 10px !important;
  color: #b54b5d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

.luoli-internal .auth-card {
  align-self: stretch !important;
  padding: 46px 42px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.luoli-internal .auth-card .section-title-row {
  margin: -46px -42px 30px !important;
  padding: 30px 34px 24px !important;
  border-bottom: 1px solid #efe1e3 !important;
  color: #4f2028 !important;
  background: #fff8f9 !important;
  box-shadow: inset 5px 0 0 #8d1829 !important;
}

.luoli-internal .auth-card .section-title-row h2 {
  margin-bottom: 0 !important;
  color: #40151d !important;
}

.luoli-internal .auth-card :is(input, select, textarea) {
  border-color: #e4d4d7 !important;
  color: #2f2426 !important;
  background: #ffffff !important;
}

.luoli-internal .auth-card :is(input, select, textarea):focus {
  border-color: #b54b5d !important;
  box-shadow: 0 0 0 3px rgba(181, 75, 93, .11) !important;
}

@media (max-width: 820px) {
  .luoli-internal .auth-page {
    padding: 18px 14px !important;
  }

  .luoli-internal .auth-shell {
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
  }

  .luoli-internal .auth-intro {
    min-height: 310px !important;
    padding: 34px 28px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #efe1e3 !important;
  }

  .luoli-internal .auth-brand-logo {
    width: 72px !important;
    height: 72px !important;
    flex-basis: 72px !important;
  }

  .luoli-internal .auth-poem {
    margin: 26px 0 0 94px !important;
    font-size: 14px !important;
  }

  .luoli-internal .auth-card {
    padding: 36px 28px !important;
  }

  .luoli-internal .auth-card .section-title-row {
    margin: -36px -28px 26px !important;
  }
}

/* ==========================================================================
 * 深色主题 · 变量层
 *
 * 作用域：html[data-ai-appearance-resolved="dark"]。该属性由
 * ai-operations.js 按「浅色 / 深色 / 跟随系统」+ prefers-color-scheme 解析后
 * 写到 <html> 上；用户选择本身保存在 luoli.ai.appearance，二者分离。
 * 一律带 body.luoli-internal 提高优先级，覆盖 server.py 内联 :root 的
 * 19 个变量与 luoli-internal-theme.css 的 body.luoli-internal 变量表。
 *
 * 颜色取 dark-proposal/mapping.json（14 条角色映射）：
 *   页面底 #151517 · 卡片/浮层 #1b1b1c · 次级面 #232324 · 描边 #2c2c2e
 *   主文字 #f9fafb · 次文字 #adb2b8 · 弱文字 #81858c
 *   品牌红（文字/图标/描边）保持 #8d1829 不变，品牌填充 #a9253a / #6e0f1e
 *
 * 语义色（正常/预警/异常）不在 mapping.json 的 14 条角色里；若按中性处理，
 * 运营页会失去判断信号。这里保持色相、只抬明度，详见 ai-operations.css
 * 末尾「深色主题 · 收尾层」的说明。
 * ========================================================================== */
html[data-ai-appearance-resolved="dark"],
html[data-ai-appearance-resolved="dark"] body,
html[data-ai-appearance="dark"] body.luoli-internal,
html[data-ai-appearance-resolved="dark"] body.luoli-internal {
  --bg: #151517;
  --panel: #1b1b1c;
  --panel-2: #232324;
  --line: #2c2c2e;
  --text: #f9fafb;
  --heading: #f9fafb;
  --muted: #81858c;

  /* 品牌酒红：文字/图标/描边一律 #8d1829（不调亮），填充分两档 */
  --moss: #8d1829;
  --moss-deep: #6e0f1e;
  --moss-soft: rgba(141, 24, 41, .22);
  --brand-ruby: #a9253a;
  --brand-wine-800: #6e0f1e;
  --brand-wine-900: #6e0f1e;
  --brand-wine-950: #151517;
  --brand-rose: #d78d9b;

  /* 品牌色板上原本给浅色面的几个「纸色」，深色下变中性面（不保留粉调） */
  --brand-ink: #f9fafb;
  --brand-ivory: #1b1b1c;
  --brand-cream: #232324;
  --brand-blush: #232324;

  /* 语义色：色相不变、明度抬高，保证深色底上可读 */
  --fresh: #3ddc97;
  --fresh-soft: rgba(61, 220, 151, .14);
  --cyan: #3ddc97;
  --green: #3ddc97;
  --mustard: #f0c14b;
  --mustard-soft: rgba(240, 193, 75, .16);
  --yellow: #f0c14b;
  --red: #d78d9b;
  --egg: #232324;

  /* 快乐盯盘等页面自带的局部变量（浅色面 + 墨色） */
  --hb-ink: #f9fafb;
  --hb-muted: #81858c;
  --hb-green: #8d1829;
  --hb-green-2: #a9253a;
  --hb-mint: #232324;
}

/* 全站白底补漏：集中覆盖各业务页历史遗留的粉色卡片/条纹表格。
 * 仅作用于浅色业务页面；实时驾驶舱和节日作战保持原样，状态徽标不在覆盖范围内。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout):not(.festival-battle-page) {
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout):not(.festival-battle-page)::before,
html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout):not(.festival-battle-page)::after {
  content: none !important;
  display: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout):not(.festival-battle-page) :is(
  .app-frame, .app-content, main, .app-shell, .section, .card, .panel, .topbar,
  .store-management-page, .store-management-topbar, .store-bind-card,
  table, thead, tbody, tr, td
) {
  background-color: #ffffff !important;
  background-image: none !important;
}

/* 快乐盯盘：统计数字、指标格、表头和横向明细全部回到白底；状态徽标仍保留语义色。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal.happy-monitor-page :is(
  .hm-main, .hm-summary, .hm-stat, .hm-panel, .hm-panel-head, .hm-table,
  .hm-table thead, .hm-table tbody, .hm-table th, .hm-table td,
  .hm-table tbody tr, .hm-table tbody tr:nth-child(even)
) {
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.happy-monitor-page .hm-table tbody tr:hover {
  background: #f5f6f7 !important;
}

/* 店铺管理：不把登录剩余天数/状态徽标改成中性色。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal.store-management-layout :is(
  .store-management-mini-stat, .store-management-filterbar,
  .section-title-row, .store-management-table, .store-management-table thead,
  .store-management-table tbody, .store-management-table tr,
  .store-management-table th, .store-management-table td
) {
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.store-management-layout .store-management-table tbody tr:hover {
  background: #f5f6f7 !important;
}

/* 商品管理：筛选区、操作区、分类列和商品表格白底；保留交互选中态与异常提示色。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal.ops-page :is(
  .ops-main, .ops-shell, .ops-toolbar, .ops-board, .ops-panel,
  .ops-categories, .ops-filter-card, .ops-manager-card, .ops-log,
  .ops-panel-title, .ops-table-section, .ops-table-section .table-wrap,
  .ops-product-table, .ops-product-table thead, .ops-product-table tbody,
  .ops-product-table tbody tr, .ops-product-table td, .ops-product-table th
) {
  background-color: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.ops-page .category-item:nth-child(even) {
  background: #ffffff !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.ops-page .ops-product-table tbody tr:hover {
  background: #f5f6f7 !important;
}

/* 数据大屏由独立视图内嵌样式绘制，明确压住旧版深绿/粉色面板，但不动实时驾驶舱。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard {
  color: #171214 !important;
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard :is(
  .dimension-tabs button, .dimension-tabs button i, .primary-metrics, .cockpit-metric, .promotion-strip,
  .cockpit-progress, .cockpit-health, .today-products, .commerce-map-panel,
  .alert-panel, .business-insights, .business-insights article, .business-insights article > header,
  .truth-note, .simple-panel, .promotion-groups, .promotion-groups article,
  .promotion-groups header, .promotion-groups article > div,
  .dashboard-view.active
) {
  color: #171214 !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard :where(*) {
  color: #30272a !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard .dimension-tabs button.active {
  color: #ffffff !important;
  background: #8d1829 !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard .dimension-tabs button.active :where(*) {
  color: #ffffff !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard .cockpit-metric > :is(div, strong, small),
html[data-ai-appearance-resolved="light"] body.luoli-internal:not(.realtime-cockpit-layout) .reference-dashboard :is(.cockpit-progress, .cockpit-health, .business-insights, .truth-note) :where(span, strong, small, p) {
  color: #30272a !important;
}

/* 账单下载：统计、控制区、分组清单用白底；登录/完成/异常状态徽标继续使用状态色。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal.meituan-billing-export-layout :is(
  .mbe-page, .mbe-card, .mbe-hero, .mbe-date-box, .mbe-stat,
  .mbe-substat, .mbe-control, .mbe-detail-card, .mbe-device,
  .mbe-run-progress, .mbe-board, .mbe-board-head, .mbe-board-list,
  .mbe-store, [data-mbe-run-banner]
) {
  color: #30272a !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.meituan-billing-export-layout .mbe-hero :is(.mbe-date-box span, .mbe-substat, .mbe-substat strong) {
  color: #30272a !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.meituan-billing-export-layout .mbe-board-head {
  color: #30272a !important;
}

/* 第二轮核对：去掉各模块标题条、未选筛选项和指标胶囊上的残留粉底。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal.store-management-layout :is(
  .store-filter-chip:not(.active), .store-progress-value
) {
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.happy-monitor-page :is(
  .hm-head-notice, .hm-operator.active, .hm-chip.active
) {
  color: #8d1829 !important;
  background: #ffffff !important;
  background-image: none !important;
  border-color: #8d1829 !important;
  box-shadow: none !important;
}

/* 数据大屏不是实时驾驶舱：标题条使用白底，选中的分析维度仍用品牌色标记。 */
html[data-ai-appearance-resolved="light"] body.luoli-internal.reference-dashboard-page :is(
  .data-screenbar, .today-products > header, .alert-panel > header,
  .commerce-map-panel > header
) {
  color: #30272a !important;
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.reference-dashboard-page .data-screenbar :is(
  select, .screen-period a:not(.active), .screen-action:not(.active), .screen-live
) {
  color: #30272a !important;
  background: #ffffff !important;
  background-image: none !important;
}

html[data-ai-appearance-resolved="light"] body.luoli-internal.ops-page :is(
  .ops-actionbar, .price-risk-note
) {
  background: #ffffff !important;
  background-image: none !important;
}
