/* ═══ Revo V1.2 — 晨曦橙 + 白色玻璃 ═══ */
:root {
  /* Revo品牌色 */
  --revo-orange: #FF8A3D;
  --revo-orange-hover: #FF7A26;
  --revo-orange-light: #FFF2E8;
  --revo-border: #FFE0CC;
  --revo-text: #111827;
  --revo-text-secondary: #6B7280;

  --revo-primary: #F6A623;
  --revo-secondary: #FFC857;
  --revo-light: #FFE7B0;
  --revo-bg: #FFF9F0;
  --revo-gradient: linear-gradient(135deg, #F6A623, #FFC857);
  --revo-gradient-soft: linear-gradient(145deg, rgba(246,166,35,.14), rgba(255,200,87,.08));
  --revo-primary-soft: rgba(246, 166, 35, 0.10);
  --revo-secondary-soft: rgba(255, 200, 87, 0.12);
  --revo-light-soft: rgba(255, 231, 176, 0.35);
  --revo-glow: rgba(246, 166, 35, 0.14);
  --revo-glass: rgba(255, 255, 255, 0.72);
  --revo-glass-border: rgba(255, 255, 255, 0.86);
  --revo-ink: #1c1917;
  --revo-muted: #78716c;
  --revo-danger: #b91c1c;
  --revo-warn: #b45309;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body,
body[data-page="buy"],
body[data-page="sell"],
body[data-page="opportunity"],
body[data-page="industry"],
body[data-page="search"],
body[data-page="brain"],
body[data-page="home"] {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--revo-ink);
  padding-bottom: 96px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% -10%, rgba(255,231,176,.38), transparent 46%),
    linear-gradient(180deg, #FFF9F0 0%, #FFFFFF 46%, #FFFFFF 100%);
}

.app-header {
  background: linear-gradient(165deg, rgba(48, 38, 28, .88), rgba(90, 62, 28, .62));
  color: #fff; padding: 14px 16px 18px; backdrop-filter: blur(22px);
}
.header-top { display: flex; justify-content: space-between; align-items: center; }
.brand-badge {
  font-size: 10px; font-weight: 800; color: var(--revo-light); border: 1px solid rgba(255,231,176,.35);
  padding: 4px 8px; border-radius: 6px; cursor: pointer; background: transparent;
}
.brand-badge:hover { background: rgba(255,255,255,.08); }
.header-minimal .app-title,
.header-minimal .app-subtitle { display: none; }
.header-hidden { display: none !important; }
.header-actions { display: flex; gap: 8px; align-items: center; }
.user-badge { font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 999px; border: none; cursor: pointer; }
.user-badge.guest { background: #334155; color: #cbd5e1; }
.user-badge.pro {
  background: rgba(255,255,255,.18);
  color: #FFE7B0;
  border: 1px solid rgba(255,231,176,.35);
}
.btn-pro {
  padding: 7px 12px; border: 1px solid rgba(255,231,176,.45); border-radius: 999px;
  background: rgba(255,255,255,.12); color: #FFE7B0; font-size: 12px; font-weight: 900; cursor: pointer;
}
.app-title { margin-top: 10px; font-size: 20px; font-weight: 900; }
.app-subtitle { margin-top: 4px; font-size: 13px; color: rgba(255,255,255,.55); }

.container { padding: 20px 18px 108px; }
.page { display: none; }
.page.active { display: block; }

.page-hero, .dash-hero, .industry-hero {
  padding: 22px 18px; border-radius: 28px; margin-bottom: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.48));
  border: 1px solid rgba(255,231,176,.55); box-shadow: 0 20px 48px rgba(28,25,23,.05);
  backdrop-filter: blur(24px);
}
.hero-buy,
.hero-sell,
.hero-opportunity,
.hero-industry,
.hero-search { border-color: rgba(255,231,176,.55); }
.dash-kicker { font-size: 11px; font-weight: 900; color: var(--revo-primary); letter-spacing: .08em; }
.dash-title { margin-top: 8px; font-size: 26px; line-height: 1.1; font-weight: 950; letter-spacing: -.04em; }
.dash-subtitle { margin-top: 8px; font-size: 13px; color: var(--revo-muted); line-height: 1.5; }
.source-row { display: flex; gap: 8px; overflow-x: auto; margin-top: 16px; padding-bottom: 2px; }
.source-pill {
  flex: 0 0 auto; padding: 8px 10px; border-radius: 999px; background: rgba(255,255,255,.7);
  border: 1px solid rgba(226,232,240,.9); color: var(--revo-muted); font-size: 11px; font-weight: 800;
}

.category-filter {
  margin-bottom: 16px; padding: 12px 14px; border-radius: 24px;
  background: rgba(255,255,255,.52); backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 12px 32px rgba(15,23,42,.06);
}
.category-filter-label {
  font-size: 10px; font-weight: 900; color: #94a3b8; letter-spacing: .08em;
  margin-bottom: 10px; text-transform: uppercase;
}
.category-filter-row {
  display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px;
  scrollbar-width: none;
}
.category-filter-row::-webkit-scrollbar { display: none; }
.cat-pill {
  flex: 0 0 auto; min-height: 38px; padding: 0 16px; border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px; background: rgba(255,255,255,.45); backdrop-filter: blur(12px);
  color: var(--revo-muted); font-size: 12px; font-weight: 900; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
  transition: all .2s ease;
}
.cat-pill.active {
  color: var(--revo-primary);
  border-color: rgba(255,231,176,.85);
  background: rgba(255,255,255,.88);
  box-shadow:
    0 6px 16px rgba(28,25,23,.04),
    inset 0 0 0 1px rgba(255,200,87,.18);
}
.category-filter.theme-buy .cat-pill.active,
.category-filter.theme-sell .cat-pill.active,
.category-filter.theme-search .cat-pill.active,
.category-filter.theme-opportunity .cat-pill.active,
.category-filter.theme-industry .cat-pill.active {
  background: rgba(255,255,255,.9);
  color: var(--revo-primary);
}

.search-browse-row { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 14px; padding-bottom: 4px; }
.browse-chip {
  flex: 0 0 auto; min-width: 140px; padding: 12px 14px; border-radius: 18px; border: 1px solid rgba(255,255,255,.8);
  background: rgba(255,255,255,.62); backdrop-filter: blur(16px); cursor: pointer; text-align: left;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
.browse-chip strong { display: block; font-size: 13px; font-weight: 950; color: var(--revo-ink); }
.browse-chip span { display: block; margin-top: 4px; font-size: 11px; color: var(--revo-muted); font-weight: 700; }
.search-browse-empty {
  margin-bottom: 14px; padding: 14px; border-radius: 18px; font-size: 12px; color: var(--revo-muted); font-weight: 700;
  background: rgba(255,255,255,.5); border: 1px dashed rgba(148,163,184,.5);
}

.section-label { font-size: 11px; font-weight: 800; color: #94a3b8; margin-bottom: 10px; }
.treemap {
  display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 76px;
  gap: 10px; align-items: stretch;
}
.heat-tile {
  grid-column: span 3; border: 1px solid rgba(255,255,255,.8); border-radius: 22px;
  padding: 14px; color: var(--revo-ink); position: relative; overflow: hidden; cursor: pointer;
  box-shadow: 0 14px 32px rgba(28,25,23,.05); backdrop-filter: blur(20px);
  animation: tileDrop .46s ease both; text-align: left;
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,231,176,.22));
}
.heat-tile.large { grid-column: span 4; grid-row: span 2; }
.heat-tile.medium { grid-column: span 3; grid-row: span 2; }
.heat-tile.small { grid-column: span 2; }
.heat-tile::after {
  content: ""; position: absolute; inset: auto -20px -42px auto; width: 100px; height: 100px;
  border-radius: 50%; background: rgba(255,255,255,.4);
}
/* 统一晨曦橙 Treemap：克制着色，玻璃底为主 */
.heat-buy.good,
.heat-sell,
.heat-future {
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,249,240,.85));
  border: 1px solid rgba(255,231,176,.45);
}
.heat-buy.watch {
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,248,237,.7));
  border: 1px solid rgba(255,231,176,.45);
}
.heat-buy.risk {
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,248,237,.55));
  border: 1px solid rgba(251,113,133,.18);
  box-shadow: 0 14px 32px rgba(185,28,28,.04);
}
.heat-name { font-size: 15px; font-weight: 950; letter-spacing: -.02em; position: relative; z-index: 1; }
.heat-score {
  margin-top: 8px; font-size: 28px; font-weight: 950; letter-spacing: -.05em; position: relative; z-index: 1;
  background: var(--revo-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.heat-meta { margin-top: 4px; font-size: 11px; color: rgba(15,23,42,.62); font-weight: 800; position: relative; z-index: 1; }
.heat-extra-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; position: relative; z-index: 1; }
.heat-trend { font-size: 10px; font-weight: 900; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.5); }
.heat-trend.up { color: var(--revo-primary); }
.heat-trend.down { color: var(--revo-danger); }
.heat-trend.flat { color: var(--revo-muted); }
.heat-efficiency { font-size: 10px; font-weight: 900; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.5); }
.heat-efficiency.grade-a { color: var(--revo-primary); }
.heat-efficiency.grade-b { color: var(--revo-warn); }
.heat-efficiency.grade-c { color: var(--revo-muted); }
.heat-profit-stars { font-size: 10px; color: var(--revo-secondary); letter-spacing: -.02em; }
.heat-capital { font-size: 10px; font-weight: 900; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.5); }
.heat-capital.occ-low { color: var(--revo-primary); }
.heat-capital.occ-mid { color: var(--revo-warn); }
.heat-capital.occ-high { color: var(--revo-danger); }
.heat-opp-score-label { margin-top: 4px; font-size: 11px; font-weight: 800; color: rgba(246,166,35,.75); position: relative; z-index: 1; }
.mini-tag.opp-tag { color: var(--revo-primary); background: rgba(255,255,255,.72); border: 1px solid rgba(255,231,176,.6); }
.tag-row { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; position: relative; z-index: 1; }
.mini-tag {
  padding: 3px 7px; border-radius: 999px; background: rgba(255,248,237,.75);
  font-size: 10px; font-weight: 900; color: var(--revo-primary);
  border: 1px solid rgba(255,231,176,.65);
}
@keyframes tileDrop { from { opacity: 0; transform: translateY(-14px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.detail-panel {
  margin-top: 16px; padding: 16px; border-radius: 22px; display: none;
  background: rgba(255,255,255,.7); border: 1px solid rgba(255,255,255,.76);
  box-shadow: 0 20px 44px rgba(15,23,42,.08); backdrop-filter: blur(20px);
}
.detail-panel.show { display: block; animation: cardExpand .35s ease; }
.detail-title { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 12px; }
.detail-title strong { font-size: 18px; font-weight: 950; }
.detail-close { border: none; background: rgba(15,23,42,.08); border-radius: 999px; width: 30px; height: 30px; cursor: pointer; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.detail-cell { padding: 10px; border-radius: 14px; background: rgba(248,250,252,.78); font-size: 12px; }
.detail-cell label { display: block; color: #94a3b8; font-size: 10px; font-weight: 900; margin-bottom: 4px; }
.detail-cell span { font-weight: 950; }

.workflow-panel {
  margin-top: 16px; background: rgba(255,255,255,.72); backdrop-filter: blur(20px);
  border-radius: 20px; padding: 18px; border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 18px 40px rgba(15,23,42,.08);
}
.workflow-title { font-size: 17px; font-weight: 900; margin-bottom: 4px; }
.workflow-desc { font-size: 13px; color: var(--revo-muted); margin-bottom: 16px; line-height: 1.5; }
.brain-badge {
  display: inline-block; margin-bottom: 10px; padding: 4px 10px;
  background: linear-gradient(135deg, rgba(255,200,87,.18), rgba(246,166,35,.12));
  border: 1px solid rgba(255,200,87,.35); border-radius: 8px;
  font-size: 10px; font-weight: 800; color: var(--revo-primary);
}
.form-label { font-size: 12px; font-weight: 800; color: var(--revo-muted); margin-top: 12px; margin-bottom: 6px; display: block; }
.form-input, .form-select {
  width: 100%; height: 48px; border: 2px solid #e2e8f0; border-radius: 12px;
  padding: 0 14px; font-size: 16px; font-weight: 600; background: #fff;
}
.form-input:focus, .form-select:focus { outline: none; border-color: var(--revo-primary); box-shadow: 0 0 0 3px rgba(246,166,35,.12); }
.form-btn {
  width: 100%; margin-top: 16px; height: 48px; border: none; border-radius: 16px;
  background: rgba(255,255,255,.86);
  color: var(--revo-primary);
  border: 1px solid rgba(255,231,176,.9);
  font-size: 16px; font-weight: 900; cursor: pointer;
  box-shadow: 0 8px 20px rgba(28,25,23,.04);
  backdrop-filter: blur(12px);
}
.form-group.hidden { display: none; }
.result-box { margin-top: 16px; display: none; }
.result-box.show { display: block; animation: cardExpand .35s ease; }
.result-section {
  background: rgba(248,250,252,.85); border: 1px solid #e2e8f0; border-radius: 12px;
  padding: 14px; margin-bottom: 10px;
}
.result-section h3 { font-size: 13px; font-weight: 900; color: var(--revo-primary); margin-bottom: 10px; }
.result-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; border-bottom: 1px solid #e2e8f0; }
.result-row:last-child { border-bottom: none; }
.result-row label { color: var(--revo-muted); font-weight: 600; }
.result-row span { font-weight: 900; }
.result-verdict { font-size: 20px; font-weight: 900; margin-bottom: 8px; }
.result-verdict.good { color: var(--revo-primary); }
.result-verdict.warn { color: var(--revo-warn); }
.result-verdict.bad { color: var(--revo-danger); }
.explain-list { margin-top: 8px; padding-left: 16px; font-size: 13px; color: var(--revo-muted); line-height: 1.6; }
.range-value { color: var(--revo-ink); font-weight: 900; }

.search-container { padding-top: 16px; max-width: 640px; margin: 0 auto; padding-bottom: 120px; }

.search-hero {
  text-align: center; margin-bottom: 20px; padding: 20px 16px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.42));
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 24px 60px rgba(15,23,42,.08);
  backdrop-filter: blur(24px);
}
.search-kicker {
  font-size: 10px; font-weight: 900; letter-spacing: .14em; color: #6366f1; margin-bottom: 8px;
}
.search-title {
  font-size: 26px; font-weight: 950; letter-spacing: -.03em; color: #0f172a; margin-bottom: 6px;
}
.search-subtitle { font-size: 13px; color: #64748b; font-weight: 600; line-height: 1.5; }

.search-form-card {
  padding: 16px; border-radius: 24px; margin-bottom: 16px;
  background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.88);
  box-shadow: 0 20px 44px rgba(15,23,42,.07); backdrop-filter: blur(20px);
}
.search-form-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px;
}
.search-field { display: flex; flex-direction: column; gap: 5px; }
.search-field span { font-size: 10px; font-weight: 900; color: #94a3b8; letter-spacing: .04em; }
.search-input {
  height: 42px; padding: 0 12px; border-radius: 14px; border: 1px solid rgba(226,232,240,.9);
  background: rgba(248,250,252,.9); font-size: 13px; font-weight: 700; color: #0f172a; outline: none;
}
.search-input:focus { border-color: rgba(99,102,241,.45); box-shadow: 0 0 0 3px rgba(99,102,241,.12); }
.search-run-btn {
  width: 100%; height: 48px; border-radius: 16px; cursor: pointer;
  background: rgba(255,255,255,.92);
  color: var(--revo-primary); font-size: 15px; font-weight: 950; letter-spacing: -.01em;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid rgba(255,231,176,.9);
  box-shadow: 0 8px 20px rgba(28,25,23,.05);
  backdrop-filter: blur(12px);
}
.search-run-icon { font-size: 14px; opacity: .9; }
.search-photo-btn {
  width: 100%; margin-top: 10px; height: 42px; border-radius: 14px;
  border: 1px dashed rgba(148,163,184,.5); background: rgba(248,250,252,.5);
  color: #64748b; font-size: 12px; font-weight: 800; cursor: not-allowed;
  display: flex; align-items: center; justify-content: center; gap: 6px; opacity: .75;
}
.search-photo-btn em {
  font-style: normal; font-size: 9px; font-weight: 900; color: #94a3b8;
  padding: 2px 6px; border-radius: 999px; background: rgba(148,163,184,.15);
}

.search-hot { margin-bottom: 8px; }
.search-hot-label { font-size: 11px; font-weight: 900; color: #94a3b8; margin-bottom: 10px; letter-spacing: .04em; }
.search-hot-row { display: flex; flex-wrap: wrap; gap: 8px; }
.search-hot-chip {
  padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(226,232,240,.9);
  background: rgba(255,255,255,.65); backdrop-filter: blur(12px);
  font-size: 12px; font-weight: 800; color: #334155; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.search-hot-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15,23,42,.08);
  border-color: rgba(99,102,241,.3);
  color: #1e40af;
}

.search-result-empty {
  text-align: center; padding: 28px 16px; color: #94a3b8; font-size: 13px; font-weight: 600; line-height: 1.6;
}

.decision-stack { display: flex; flex-direction: column; gap: 12px; }
.decision-card {
  background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.88);
  border-radius: 24px; padding: 18px;
  box-shadow: 0 20px 44px rgba(15,23,42,.08); backdrop-filter: blur(20px);
}
.decision-card.expand-in, .decision-stack.expand-in { animation: cardExpand .4s ease; }
.decision-badge {
  display: inline-block; margin-bottom: 10px; padding: 4px 10px; border-radius: 999px;
  background: linear-gradient(135deg, rgba(99,102,241,.14), rgba(37,99,235,.12));
  color: #4338ca; font-size: 10px; font-weight: 900; letter-spacing: .06em;
}
.decision-product { font-size: 20px; font-weight: 950; letter-spacing: -.02em; color: #0f172a; }
.decision-meta { margin-top: 4px; font-size: 12px; color: #64748b; font-weight: 700; }
.decision-verdict {
  display: inline-block; margin: 14px 0 12px; padding: 8px 16px; border-radius: 14px;
  font-size: 18px; font-weight: 950; letter-spacing: -.02em;
}
.decision-verdict.buy { background: rgba(209,250,229,.55); color: #047857; border: 1px solid rgba(16,185,129,.25); }
.decision-verdict.caution { background: rgba(254,243,199,.55); color: #b45309; border: 1px solid rgba(245,158,11,.25); }
.decision-verdict.avoid { background: rgba(254,226,226,.55); color: #b91c1c; border: 1px solid rgba(239,68,68,.25); }
.decision-metrics {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.decision-metric {
  padding: 12px; border-radius: 16px; background: rgba(248,250,252,.85);
}
.decision-metric label { display: block; color: #94a3b8; font-size: 10px; font-weight: 900; margin-bottom: 4px; }
.decision-metric span { font-weight: 950; color: #0f172a; font-size: 14px; }
.decision-metric.highlight span { color: #047857; font-size: 16px; }
.confidence-high { color: #047857 !important; }
.confidence-mid { color: #b45309 !important; }
.confidence-low { color: #b91c1c !important; }
.decision-hint { margin-top: 10px; font-size: 12px; color: #64748b; font-weight: 600; line-height: 1.5; }
.decision-error { color: #b91c1c; font-weight: 800; text-align: center; padding: 20px; }
.decision-section-title { font-size: 13px; font-weight: 950; color: #0f172a; margin-bottom: 12px; letter-spacing: -.01em; }

.price-basis-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.price-basis-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 12px; border-radius: 14px; background: rgba(248,250,252,.85);
}
.price-basis-label { font-size: 12px; font-weight: 800; color: #64748b; }
.price-basis-value { font-size: 14px; font-weight: 950; color: #0f172a; }
.price-range-bar {
  padding: 12px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(99,102,241,.08), rgba(37,99,235,.06));
  border: 1px solid rgba(99,102,241,.12);
}
.price-range-label { font-size: 10px; font-weight: 900; color: #6366f1; margin-bottom: 4px; }
.price-range-value { font-size: 13px; font-weight: 800; color: #334155; line-height: 1.5; }

.risk-radar { display: flex; flex-direction: column; gap: 12px; }
.risk-bar-row { }
.risk-bar-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.risk-bar-head span { font-size: 12px; font-weight: 800; color: #334155; }
.risk-tag {
  font-style: normal; font-size: 10px; font-weight: 900; padding: 2px 8px; border-radius: 999px;
}
.risk-tag.low { background: rgba(209,250,229,.6); color: #047857; }
.risk-tag.mid { background: rgba(254,243,199,.6); color: #b45309; }
.risk-tag.high { background: rgba(254,226,226,.6); color: #b91c1c; }
.risk-bar-track { height: 8px; border-radius: 999px; background: rgba(226,232,240,.8); overflow: hidden; }
.risk-bar-fill { height: 100%; border-radius: 999px; transition: width .4s ease; }
.risk-bar-fill.low { background: linear-gradient(90deg, #34d399, #059669); }
.risk-bar-fill.mid { background: linear-gradient(90deg, #fbbf24, #f59e0b); }
.risk-bar-fill.high { background: linear-gradient(90deg, #f87171, #ef4444); }

.decision-actions {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 4px;
}
.decision-action {
  height: 44px; border-radius: 14px; border: 1px solid rgba(226,232,240,.9);
  background: rgba(255,255,255,.72); backdrop-filter: blur(12px);
  font-size: 12px; font-weight: 900; color: #334155; cursor: pointer;
}
.decision-action.primary {
  background: rgba(255,255,255,.95); color: var(--revo-primary);
  border: 1px solid rgba(255,231,176,.9);
  box-shadow: 0 6px 16px rgba(28,25,23,.04);
}
.decision-action.ghost { color: var(--revo-primary); border-color: rgba(255,231,176,.7); }

/* legacy search styles kept for compatibility */
.ai-search-shell { margin-bottom: 20px; text-align: center; }
.ai-search-title {
  font-size: 22px; font-weight: 950; letter-spacing: -.03em; color: #0f172a;
  margin-bottom: 18px;
}
.ai-search-box {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 8px 8px 18px; border-radius: 999px;
  background: rgba(255,255,255,.78); backdrop-filter: blur(20px);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 16px 40px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.8);
}
.ai-search-input {
  flex: 1; height: 48px; border: none; background: transparent;
  font-size: 15px; font-weight: 600; color: #0f172a; outline: none;
}
.ai-search-input::placeholder { color: #94a3b8; font-weight: 500; }
.ai-search-submit {
  width: 44px; height: 44px; border: none; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, #059669, #2563eb); color: #fff;
  font-size: 20px; font-weight: 900; cursor: pointer;
  box-shadow: 0 8px 20px rgba(37,99,235,.28);
}
.ai-search-hint { margin-top: 10px; font-size: 12px; color: #94a3b8; font-weight: 600; }
.ai-search-actions {
  display: flex; justify-content: center; gap: 10px; margin-top: 16px;
}
.ai-action-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px;
  border-radius: 16px; border: 1px solid rgba(226,232,240,.9);
  background: rgba(255,255,255,.55); backdrop-filter: blur(12px);
  color: #64748b; font-size: 12px; font-weight: 800; cursor: not-allowed; opacity: .72;
}
.ai-action-btn span:first-child { font-size: 16px; }
.ai-action-btn em {
  font-style: normal; font-size: 9px; font-weight: 900; color: #94a3b8;
  padding: 2px 6px; border-radius: 999px; background: rgba(148,163,184,.15);
}
.ai-search-empty {
  text-align: center; padding: 32px 16px; color: #94a3b8; font-size: 14px; font-weight: 600; line-height: 1.6;
}

.ai-trade-card {
  background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.88);
  border-radius: 24px; padding: 18px; margin-bottom: 16px;
  box-shadow: 0 20px 44px rgba(15,23,42,.08); backdrop-filter: blur(20px);
}
.ai-trade-card.expand-in { animation: cardExpand .4s ease; }
.ai-trade-badge {
  display: inline-block; margin-bottom: 12px; padding: 4px 10px; border-radius: 999px;
  background: linear-gradient(135deg, rgba(5,150,105,.12), rgba(37,99,235,.12));
  color: #1d4ed8; font-size: 10px; font-weight: 900; letter-spacing: .06em;
}
.ai-trade-head { margin-bottom: 14px; }
.ai-trade-name { font-size: 20px; font-weight: 950; letter-spacing: -.02em; color: #0f172a; }
.ai-trade-sub { margin-top: 4px; font-size: 12px; color: #64748b; font-weight: 700; }
.ai-trade-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px;
}
.ai-trade-cell {
  padding: 12px; border-radius: 16px; background: rgba(248,250,252,.85); font-size: 12px;
}
.ai-trade-cell label { display: block; color: #94a3b8; font-size: 10px; font-weight: 900; margin-bottom: 4px; }
.ai-trade-cell span { font-weight: 950; color: #0f172a; font-size: 14px; }
.ai-trade-cell.highlight span { color: #047857; font-size: 16px; }
.ai-trade-verdict {
  display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 18px;
  background: rgba(248,250,252,.9); border: 1px solid rgba(226,232,240,.8);
}
.ai-trade-verdict.good { background: rgba(209,250,229,.45); border-color: rgba(16,185,129,.25); }
.ai-trade-verdict.warn { background: rgba(254,243,199,.45); border-color: rgba(245,158,11,.25); }
.ai-trade-verdict.bad { background: rgba(254,226,226,.45); border-color: rgba(239,68,68,.25); }
.ai-trade-verdict-icon { font-size: 24px; line-height: 1; }
.ai-trade-verdict strong { display: block; font-size: 11px; color: #64748b; font-weight: 900; margin-bottom: 4px; }
.ai-trade-verdict p { font-size: 15px; font-weight: 900; color: #0f172a; line-height: 1.4; }
.ai-trade-notes {
  margin-top: 12px; padding-left: 16px; font-size: 12px; color: #64748b; line-height: 1.6;
}

.collect-details {
  margin-top: 8px; border-radius: 20px; background: rgba(255,255,255,.45);
  border: 1px solid rgba(226,232,240,.7); overflow: hidden;
}
.collect-details summary {
  padding: 14px 16px; font-size: 13px; font-weight: 800; color: #64748b; cursor: pointer; list-style: none;
}
.collect-details summary::-webkit-details-marker { display: none; }
.collect-details[open] summary { border-bottom: 1px solid rgba(226,232,240,.7); }
.collect-details .collect-panel { margin-top: 0; border: none; box-shadow: none; border-radius: 0; }
.card-error { color: #b91c1c; font-weight: 800; }
@keyframes cardExpand { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.verdict { font-size: 12px; font-weight: 800; padding: 5px 10px; border-radius: 8px; display: inline-block; }
.verdict.good { background: #d1fae5; color: #047857; }
.verdict.warn { background: #fef3c7; color: #b45309; }
.verdict.bad { background: #fee2e2; color: #b91c1c; }

.collect-panel { margin-top: 0; }
.collect-links { margin-top: 14px; display: none; }
.collect-links.show { display: block; }
.collect-item {
  padding: 10px; background: #f8fafc; border: 1px solid #e2e8f0;
  border-radius: 10px; margin-bottom: 8px; font-size: 12px; line-height: 1.5;
}
.collect-item strong { display: block; font-size: 14px; color: #0f172a; margin-bottom: 4px; }
.collect-keyword { font-weight: 900; color: #0f172a; word-break: break-all; }
.collect-action {
  display: inline-flex; align-items: center; justify-content: center; margin-top: 8px;
  height: 34px; padding: 0 12px; border-radius: 999px; background: #0f172a;
  color: #fff; font-size: 12px; font-weight: 900; text-decoration: none;
}
.manual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.save-collect-btn {
  width: 100%; margin-top: 12px; height: 44px; border: none; border-radius: 12px;
  background: #1d4ed8; color: #fff; font-size: 14px; font-weight: 900; cursor: pointer;
}
.collect-status { min-height: 18px; margin-top: 10px; font-size: 12px; font-weight: 800; color: #059669; }

.analytics-card {
  margin-top: 16px; background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px; padding: 16px; box-shadow: 0 20px 44px rgba(15,23,42,.08); backdrop-filter: blur(20px);
}
.bar-row { margin-bottom: 14px; }
.bar-top { display: flex; justify-content: space-between; font-size: 13px; font-weight: 900; margin-bottom: 7px; }
.bar-track { height: 12px; border-radius: 999px; background: rgba(226,232,240,.8); overflow: hidden; flex: 1; }
.bar-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #60a5fa, #2563eb); }
.bar-fill.industry { background: linear-gradient(90deg, #1e3a8a, #2563eb); }
.bar-fill.freq { background: linear-gradient(90deg, #38bdf8, #0284c7); }
.bar-fill.growth { background: linear-gradient(90deg, #34d399, #059669); }
.industry-hero {
  padding: 22px 18px; border-radius: 28px; margin-bottom: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.38));
  border: 1px solid rgba(30,64,175,.18); box-shadow: 0 24px 60px rgba(15,23,42,.1);
  backdrop-filter: blur(24px);
}

.industry-bar-row {
  display: block; width: 100%; margin-bottom: 14px; padding: 0; border: none; background: transparent;
  text-align: left; cursor: pointer; border-radius: 16px; transition: background .2s ease;
}
.industry-bar-row:hover { background: rgba(255,255,255,.35); }
.industry-bar-row.active .bar-top span:first-child { color: #1e40af; }
.industry-bar-row.active .bar-fill.industry {
  background: linear-gradient(90deg, #1e3a8a, #3b82f6);
  box-shadow: 0 0 16px rgba(37,99,235,.25);
}

.industry-trend-hint {
  padding: 20px; text-align: center; font-size: 13px; color: #64748b; font-weight: 600; line-height: 1.6;
  background: rgba(248,250,252,.6); border-radius: 18px; border: 1px dashed rgba(148,163,184,.4);
}
.trend-card {
  padding: 16px; margin-bottom: 10px; border-radius: 20px;
  background: rgba(255,255,255,.55); backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.75); box-shadow: 0 12px 28px rgba(15,23,42,.06);
  animation: cardExpand .35s ease both;
}
.trend-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.trend-card-top strong { font-size: 16px; font-weight: 950; color: #0f172a; }
.trend-heat {
  font-size: 24px; font-weight: 950; color: #1e40af; letter-spacing: -.04em;
}
.trend-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.trend-growth {
  font-size: 13px; font-weight: 900; color: #059669;
  padding: 3px 8px; border-radius: 999px; background: rgba(209,250,229,.6);
}
.trend-label { font-size: 11px; color: #94a3b8; font-weight: 800; }
.trend-opportunity { font-size: 13px; color: #64748b; line-height: 1.55; font-weight: 600; }
.metric-lines { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.metric-line { display: grid; grid-template-columns: 72px 1fr 42px; gap: 8px; align-items: center; font-size: 11px; color: #64748b; font-weight: 800; }
.metric-line strong { text-align: right; color: #0f172a; }

.empty-state { text-align: center; padding: 40px 20px; color: #94a3b8; font-size: 14px; line-height: 1.6; }

.bottom-nav {
  position: fixed; bottom: 0; left: 0; right: 0;
  display: flex; align-items: flex-end; justify-content: space-between;
  background: rgba(255,255,255,.78); backdrop-filter: blur(24px);
  border-top: 1px solid rgba(255,231,176,.35);
  padding: 8px 10px calc(10px + env(safe-area-inset-bottom)); z-index: 100;
}
.nav-item {
  flex: 1; max-width: 68px; display: flex; flex-direction: column; align-items: center;
  gap: 3px; padding: 8px 2px; border: none; background: none;
  color: #a8a29e; font-size: 10px; font-weight: 700; cursor: pointer;
  transition: color .2s ease;
}
.nav-item.active { color: var(--revo-primary); }
.nav-icon { font-size: 20px; line-height: 1; }

/* 中间 智脑 — 白色玻璃 + 小光环 */
.nav-item.nav-center {
  flex: 0 0 72px; max-width: 72px; margin-top: -26px; position: relative; z-index: 2;
}
.nav-center-glow {
  position: absolute; top: -2px; left: 50%; transform: translateX(-50%);
  width: 68px; height: 68px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,231,176,.5) 0%, rgba(255,200,87,.12) 42%, transparent 70%);
  pointer-events: none; animation: searchPulse 3.2s ease-in-out infinite;
}
.nav-center-ring {
  position: absolute;
  top: 6px; left: 50%;
  width: 60px; height: 60px;
  margin-left: -30px;
  border-radius: 50%;
  border: 1px solid transparent;
  pointer-events: none;
  opacity: 0;
  transform: scale(.95);
}
.nav-item.nav-center .nav-icon-wrap {
  position: relative; width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,231,176,.75);
  box-shadow:
    0 8px 20px rgba(28,25,23,.06),
    0 0 0 3px rgba(255,255,255,.8),
    inset 0 1px 0 rgba(255,255,255,.95);
  font-size: 22px; color: #F6A623;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  backdrop-filter: blur(16px);
}
.nav-item.nav-center:active .nav-icon-wrap { transform: scale(.96); }
.nav-item.nav-center.active .nav-icon-wrap {
  background: rgba(255,255,255,.98);
  border-color: rgba(255,200,87,.5);
  box-shadow:
    0 10px 24px rgba(246,166,35,.1),
    0 0 0 3px rgba(255,249,240,.95),
    0 0 18px rgba(255,231,176,.42),
    inset 0 1px 0 #fff;
  animation: brainIconPulse 2.6s ease-in-out infinite;
}
.nav-item.nav-center.nav-pop .nav-icon-wrap,
.nav-item.nav-center.active.nav-pop .nav-icon-wrap {
  animation: brainNavPop .45s cubic-bezier(.2,.9,.3,1.2);
}
.nav-item.nav-center.active .nav-center-glow {
  animation: brainGlowPulse 2.8s ease-in-out infinite;
  background: radial-gradient(circle, rgba(255,231,176,.58) 0%, rgba(255,200,87,.14) 40%, transparent 68%);
}
.nav-item.nav-center.active .nav-center-ring {
  opacity: 1;
  border-color: rgba(246,166,35,.22);
  animation: brainRingPulse 2.6s ease-out infinite;
}
.nav-ai-badge {
  position: absolute; top: -3px; right: -3px;
  font-size: 7px; font-weight: 950; letter-spacing: .04em;
  padding: 2px 5px; border-radius: 999px;
  background: rgba(255,255,255,.98); color: #F6A623;
  border: 1px solid rgba(255,231,176,.8);
  box-shadow: 0 2px 6px rgba(28,25,23,.05);
}
.nav-center-label {
  margin-top: 6px; font-size: 11px; font-weight: 850; color: #A16207;
}
.nav-item.nav-center.active .nav-center-label { color: #F6A623; }
@keyframes searchPulse {
  0%, 100% { opacity: .42; transform: translateX(-50%) scale(1); }
  50% { opacity: .72; transform: translateX(-50%) scale(1.05); }
}
@keyframes brainGlowPulse {
  0%, 100% { opacity: .5; transform: translateX(-50%) scale(1); }
  50% { opacity: .85; transform: translateX(-50%) scale(1.08); }
}
@keyframes brainRingPulse {
  0% { opacity: .5; transform: scale(.96); border-color: rgba(246,166,35,.26); }
  70% { opacity: 0; transform: scale(1.2); border-color: rgba(255,200,87,.04); }
  100% { opacity: 0; transform: scale(1.24); }
}
@keyframes brainIconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
@keyframes brainNavPop {
  0% { transform: scale(.92); }
  60% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(15,23,42,.6); z-index: 200; align-items: flex-end; justify-content: center; padding: 16px; }
.modal-overlay.show { display: flex; }
.modal { width: 100%; max-width: 420px; background: #fff; border-radius: 20px 20px 16px 16px; padding: 22px 18px 26px; }
.modal-close { float: right; border: none; background: #f1f5f9; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; }
.modal h2 { font-size: 18px; font-weight: 900; margin-top: 6px; }
.modal p { margin-top: 8px; font-size: 13px; color: #64748b; line-height: 1.5; }
.price-hero { text-align: center; padding: 18px; background: #0f172a; color: #fff; border-radius: 14px; margin: 16px 0; }
.price-hero .amount { font-size: 36px; font-weight: 900; color: #fbbf24; }
.subscribe-btn { width: 100%; padding: 16px; border: none; border-radius: 14px; background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #78350f; font-size: 16px; font-weight: 900; cursor: pointer; }

@media (min-width: 760px) {
  .container { max-width: 980px; margin: 0 auto; }
  .treemap { grid-auto-rows: 96px; }
  .heat-tile.large { grid-column: span 3; }
  .heat-tile.medium { grid-column: span 2; }
  .heat-tile.small { grid-column: span 1; grid-row: span 2; }
  .bottom-nav { max-width: 520px; left: 50%; transform: translateX(-50%); border-radius: 20px 20px 0 0; }
}

/* ── AI店长 Dashboard ── */
.home-container {
  padding-top: 16px;
  max-width: 430px;
  margin: 0 auto;
}
#page-brain .home-container {
  max-width: 100%;
}
@media (min-width: 768px) {
  .home-container { max-width: 560px; }
  #page-brain .home-container { max-width: 100%; }
}

.ai-dash { padding-bottom: 8px; }

.ai-dash-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 2px 4px;
}
.ai-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
}
.ai-brand-mark {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, #fffefb, transparent 46%),
    radial-gradient(circle, #FFE7B0, #FFC857 70%);
  box-shadow: 0 0 12px rgba(255,200,87,.25);
  border: 1px solid rgba(255,255,255,.7);
}
.ai-brand-text {
  font-size: 22px;
  font-weight: 950;
  letter-spacing: -.04em;
  background: linear-gradient(135deg, #E8A01E, #FFC857);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ai-dash-actions { display: flex; gap: 8px; }
.ai-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.8);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(16px);
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
  font-size: 16px;
  cursor: pointer;
  transition: transform .2s ease;
}
.ai-icon-btn:active { transform: scale(.94); }

.ai-welcome {
  text-align: center;
  padding: 28px 16px 12px;
  animation: aiFadeUp .55s ease both;
}
.ai-welcome--boss {
  text-align: center;
  padding: 12px 16px 8px;
}
.ai-welcome--boss .ai-welcome-title {
  font-size: 26px;
  margin: 0;
}
.ai-welcome--cold .ai-welcome-sub {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 850;
  color: var(--revo-orange, #FF8A3D);
}
.ai-welcome--cold .ai-welcome-focus {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 750;
  color: #6B7280;
  line-height: 1.5;
}
.ai-welcome-focus {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 850;
  color: #3b2a1c;
  line-height: 1.4;
}
.ai-brief-row {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
@media (min-width: 390px) {
  .ai-brief-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ai-brief-chip {
  border: 1px solid rgba(255, 224, 204, 0.95);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 850;
  color: #3b2a1c;
  text-align: left;
  box-shadow: 0 8px 18px rgba(120, 70, 30, 0.05);
}
button.ai-brief-chip { cursor: pointer; width: 100%; font: inherit; }
.ai-brief-chip--opp { color: #c2410c; }
.ai-brief-chip--risk { color: #b45309; }
.ai-brief-chip--profit {
  color: var(--revo-orange, #FF8A3D);
  border-color: rgba(255, 138, 61, 0.35);
  background: rgba(255, 138, 61, 0.1);
}
.ai-brief-advice {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 224, 204, 0.95);
  font-size: 13px;
  font-weight: 750;
  color: #3b2a1c;
  line-height: 1.45;
}
.ai-brief-advice span {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 850;
  color: var(--revo-orange, #FF8A3D);
}
.ai-orb-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}
.ai-orb {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pulse 3.6s ease-in-out infinite;
}
.ai-orb-halo {
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,231,176,.55) 0%, rgba(255,200,87,.18) 38%, transparent 68%);
  filter: blur(1px);
}
.ai-orb-halo-2 {
  inset: -4px;
  background: radial-gradient(circle, rgba(255,200,87,.16) 0%, rgba(255,231,176,.08) 32%, transparent 64%);
  animation: aiOrbRing 4.8s ease-in-out infinite;
}
.ai-orb-core {
  position: relative;
  z-index: 2;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fffefb, #FFE7B0 55%, #FFC857 100%);
  box-shadow:
    0 0 18px rgba(255,200,87,.35),
    0 0 36px rgba(255,231,176,.4),
    inset 0 1px 0 rgba(255,255,255,.9);
}
.ai-orb-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,200,87,.22);
  animation: aiOrbRing 4.2s ease-in-out infinite;
}
.ai-orb-ring-2 {
  position: absolute;
  inset: -14px;
  border-radius: 50%;
  border: 1px solid rgba(255,231,176,.28);
  animation: aiOrbRing 5.2s ease-in-out infinite reverse;
}
@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.04); opacity: .96; }
}
@keyframes aiOrbRing {
  0%, 100% { transform: scale(1); opacity: .65; }
  50% { transform: scale(1.06); opacity: .28; }
}
.ai-welcome-title {
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: #0f172a;
  line-height: 1.25;
}
.ai-welcome-sub {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 650;
  color: #64748b;
}
.ai-welcome-summary {
  margin-top: 6px;
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.55;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
.ai-brand-line {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 650;
  color: #94a3b8;
  font-style: italic;
  letter-spacing: .01em;
}

.ai-notice-card {
  border-radius: 24px;
  padding: 18px 18px 16px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,248,237,.65));
  border: 1px solid rgba(255,231,176,.7);
  backdrop-filter: blur(20px);
  box-shadow: 0 12px 28px rgba(28,25,23,.04);
  animation: aiFadeUp .55s ease both;
}
.ai-notice-title {
  font-size: 12px;
  font-weight: 900;
  color: var(--revo-primary);
  letter-spacing: .04em;
}
.ai-notice-text {
  margin-top: 8px;
  font-size: 15px;
  font-weight: 750;
  color: #334155;
  line-height: 1.55;
}

.ai-guide-card {
  border-radius: 24px;
  padding: 20px;
  text-align: center;
  background: rgba(255,255,255,.62);
  border: 1px dashed rgba(255,200,87,.45);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(28,25,23,.04);
  animation: aiFadeUp .55s ease both;
}
.ai-guide-kicker {
  font-size: 11px;
  font-weight: 800;
  color: #F6A623;
  letter-spacing: .06em;
}
.ai-guide-title {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 950;
  color: #0f172a;
  letter-spacing: -.02em;
}
.ai-guide-desc {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 650;
  color: #64748b;
  line-height: 1.55;
}
.ai-guide-btn {
  margin-top: 16px;
  border-radius: 16px;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  color: var(--revo-primary);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,231,176,.9);
  box-shadow: 0 8px 18px rgba(28,25,23,.04);
}
.ai-guide-btn:active { transform: scale(.97); }

.ai-opp-advice {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(226,232,240,.7);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ai-opp-advice-label {
  font-size: 11px;
  font-weight: 800;
  color: #94a3b8;
}
.ai-opp-advice strong {
  font-size: 15px;
  font-weight: 950;
  color: #0f172a;
}
.ai-opp-detail {
  margin-top: 14px;
  width: 100%;
  border: 1px solid rgba(255,231,176,.8);
  border-radius: 14px;
  padding: 11px 14px;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  color: var(--revo-primary);
  background: rgba(255,248,237,.7);
  transition: transform .2s ease, background .2s ease;
}
.ai-opp-detail:active {
  transform: scale(.98);
  background: rgba(255,231,176,.45);
}

.ai-section {
  margin-top: 28px;
  animation: aiFadeUp .6s ease both;
}
.ai-section-last { margin-bottom: 8px; }
.ai-section-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 0 2px;
}
.ai-section-icon { font-size: 16px; }
.ai-section-title {
  flex: 1;
  font-size: 16px;
  font-weight: 950;
  color: #0f172a;
  letter-spacing: -.02em;
}
.ai-section-count {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-primary);
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  border: 1px solid rgba(255,200,87,.28);
}

.ai-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 390px) {
  .ai-stat-grid { grid-template-columns: repeat(4, 1fr); }
}
.ai-stat-card {
  border-radius: 24px;
  padding: 14px 12px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(255,255,255,.82);
  backdrop-filter: blur(20px);
  box-shadow: 0 12px 28px rgba(15,23,42,.05);
  display: flex;
  flex-direction: column;
  gap: 6px;
  animation: aiFadeUp .5s ease both;
}
.ai-stat-icon { font-size: 14px; }
.ai-stat-label { font-size: 11px; font-weight: 700; color: #94a3b8; }
.ai-stat-value { font-size: 18px; font-weight: 950; color: #0f172a; letter-spacing: -.03em; }
.ai-stat-good { border-color: rgba(16,185,129,.2); }
.ai-stat-warn { border-color: rgba(245,158,11,.22); }
.ai-stat-bad { border-color: rgba(244,63,94,.18); }
.ai-stat-heat { border-color: rgba(246,166,35,.25); }
.ai-stat-heat .ai-stat-value { color: #F6A623; }

.ai-opp-list { display: flex; flex-direction: column; gap: 12px; }
.ai-opp-card {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px;
  padding: 18px;
  background: rgba(255,255,255,.52);
  backdrop-filter: blur(22px);
  box-shadow: 0 16px 36px rgba(15,23,42,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ai-opp-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.ai-opp-name {
  font-size: 17px;
  font-weight: 950;
  color: #0f172a;
  letter-spacing: -.02em;
}
.ai-opp-badge {
  display: inline-block;
  margin-top: 8px;
  font-size: 11px;
  font-weight: 800;
  color: #b45309;
  background: rgba(255,231,176,.45);
  border: 1px solid rgba(255,200,87,.28);
  padding: 4px 10px;
  border-radius: 999px;
}
.ai-opp-score-wrap { text-align: right; flex-shrink: 0; }
.ai-opp-score-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: #94a3b8;
  margin-bottom: 2px;
}
.ai-opp-score {
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -.05em;
  background: linear-gradient(135deg, #F6A623, #FFC857);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.ai-opp-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}
.ai-opp-reason {
  font-size: 12px;
  font-weight: 700;
  color: #475569;
  background: rgba(248,250,252,.8);
  border: 1px solid rgba(226,232,240,.9);
  padding: 5px 10px;
  border-radius: 999px;
}
.ai-opp-price {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(226,232,240,.7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #64748b;
  font-weight: 600;
}
.ai-opp-price strong {
  font-size: 15px;
  font-weight: 950;
  color: #0f172a;
}

.ai-inv-list { display: flex; flex-direction: column; gap: 10px; }
.ai-inv-card {
  border-radius: 24px;
  padding: 18px;
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(255,255,255,.8);
  backdrop-filter: blur(20px);
  box-shadow: 0 14px 32px rgba(15,23,42,.05);
  animation: aiFadeUp .5s ease both;
}
.ai-inv-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.ai-inv-name { font-size: 16px; font-weight: 950; color: #0f172a; }
.ai-inv-count { margin-top: 4px; font-size: 13px; color: #64748b; font-weight: 600; }
.ai-inv-count strong { color: #0f172a; font-weight: 950; }
.ai-inv-risk {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 800;
  color: #b45309;
  background: rgba(254,243,199,.75);
  border: 1px solid rgba(251,191,36,.35);
  padding: 5px 10px;
  border-radius: 999px;
}
.ai-inv-forecast {
  margin-top: 12px;
  font-size: 13px;
  color: #64748b;
  font-weight: 600;
  line-height: 1.45;
}
.ai-inv-suggest {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 850;
  color: #F6A623;
}

.ai-ask-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,231,176,.75);
  border-radius: 24px;
  padding: 22px 20px;
  cursor: pointer;
  background:
    linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,248,237,.58));
  backdrop-filter: blur(22px);
  box-shadow:
    0 14px 32px rgba(28,25,23,.05),
    0 0 0 1px rgba(255,255,255,.55) inset;
  transition: transform .25s ease;
}
.ai-ask-card:active { transform: scale(.985); }
.ai-ask-card--top {
  padding: 18px 18px;
  border-radius: 22px;
}
.ai-section-top-entry { margin-top: 6px; }
.ai-ask-glow {
  position: absolute;
  width: 140px;
  height: 140px;
  right: -30px;
  top: -40px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,231,176,.55), transparent 70%);
  pointer-events: none;
  animation: pulse 3.5s ease-in-out infinite;
}
.ai-ask-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}
.ai-ask-kicker {
  font-size: 18px;
  font-weight: 950;
  color: #0f172a;
  letter-spacing: -.02em;
}
.ai-ask-hint {
  font-size: 12px;
  font-weight: 650;
  color: #94a3b8;
}
.ai-ask-cta {
  position: relative;
  margin-top: 14px;
  font-size: 15px;
  font-weight: 800;
  color: #A16207;
}
.ai-ask-modes {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.ai-ask-mode {
  font-size: 12px;
  font-weight: 750;
  color: #475569;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(226,232,240,.9);
  padding: 8px 12px;
  border-radius: 999px;
}

.ai-trend-card {
  border-radius: 24px;
  padding: 18px;
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(255,255,255,.8);
  backdrop-filter: blur(20px);
  box-shadow: 0 14px 32px rgba(15,23,42,.05);
}
.ai-trend-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ai-trend-chip {
  font-size: 13px;
  font-weight: 750;
  color: #334155;
  background: rgba(248,250,252,.85);
  border: 1px solid rgba(226,232,240,.9);
  padding: 8px 12px;
  border-radius: 999px;
}
.ai-trend-chip em {
  font-style: normal;
  font-weight: 950;
  margin-left: 2px;
}
.ai-trend-upup em { color: #059669; }
.ai-trend-up em { color: #10b981; }
.ai-trend-down em { color: #e11d48; }
.ai-trend-btn {
  margin-top: 14px;
  width: 100%;
  border-radius: 16px;
  padding: 13px 16px;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  color: var(--revo-primary);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(255,231,176,.9);
  box-shadow: 0 8px 18px rgba(28,25,23,.04);
  transition: transform .2s ease;
}
.ai-trend-btn:active { transform: scale(.98); }

.revo-toast {
  position: fixed;
  left: 50%;
  bottom: 110px;
  transform: translateX(-50%) translateY(12px);
  z-index: 2000;
  max-width: calc(100vw - 48px);
  padding: 12px 18px;
  border-radius: 16px;
  background: rgba(15,23,42,.88);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  backdrop-filter: blur(12px);
}
.revo-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.float-card { animation: floatCard 4s ease-in-out infinite; }
@keyframes floatCard {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes aiFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* legacy home helpers kept for compatibility */
.home-hero { text-align: center; padding: 28px 16px 24px; }
.home-section { margin-top: 8px; }

/* ── Splash Screen ── */
.splash-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: linear-gradient(165deg, #0f172a 0%, #1e3a8a 50%, #0f172a 100%);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .45s ease;
}
.splash-overlay.show { opacity: 1; }
.splash-overlay.hide { opacity: 0; pointer-events: none; }
.splash-stage { position: relative; width: 280px; height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.splash-halo {
  position: absolute; width: 200px; height: 200px; border-radius: 50%;
  border: 2px solid rgba(251,191,36,.25);
  animation: splashHaloSpin 6s linear infinite;
}
.splash-halo-2 {
  width: 240px; height: 240px; border-color: rgba(59,130,246,.2);
  animation-direction: reverse; animation-duration: 9s;
}
.splash-fragment {
  position: absolute; width: 14px; height: 14px; border-radius: 4px;
  background: linear-gradient(135deg, rgba(251,191,36,.8), rgba(59,130,246,.6));
  left: var(--fx); top: var(--fy);
  animation: splashFragmentGather 1.8s ease forwards;
  opacity: 0;
}
.splash-particles { position: absolute; inset: 0; }
.splash-dot {
  position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #fbbf24;
  left: 50%; top: 50%;
  animation: splashDotOrbit 2.4s ease-in-out infinite;
  animation-delay: calc(var(--di) * 0.15s);
  opacity: 0;
  animation-fill-mode: forwards;
}
.splash-overlay.show .splash-dot { animation: splashDotOrbit 2.4s ease-in-out infinite; opacity: 1; }
.splash-logo-core {
  position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 12px;
  animation: splashCoreReveal 1s ease .6s both;
}
.splash-sun {
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(145deg, #fbbf24, #f97316);
  box-shadow: 0 0 48px rgba(251,191,36,.65);
  animation: logoSunPulse 2s ease-in-out infinite;
}
.splash-brand {
  font-size: 36px; font-weight: 950; letter-spacing: -.04em; color: #fff;
}
.splash-motto {
  position: relative; z-index: 2; margin-top: 20px; font-size: 13px; font-weight: 600;
  color: rgba(255,255,255,.55); text-align: center; line-height: 1.5;
  animation: splashCoreReveal 1s ease 1s both;
}
@keyframes splashHaloSpin { to { transform: rotate(360deg); } }
@keyframes splashFragmentGather {
  0% { opacity: 0; transform: scale(0) translate(0, 0); }
  40% { opacity: 1; }
  100% { opacity: 0; transform: scale(1) translate(calc(50% - var(--fx)), calc(50% - var(--fy))); }
}
@keyframes splashDotOrbit {
  0% { transform: rotate(0deg) translateX(80px) rotate(0deg); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: rotate(360deg) translateX(80px) rotate(-360deg); opacity: .6; }
}
@keyframes splashCoreReveal {
  from { opacity: 0; transform: scale(.88); }
  to { opacity: 1; transform: scale(1); }
}

/* ── AI Value Result ── */
.value-result-card { text-align: center; }
.value-product-name { font-size: 22px; font-weight: 950; margin-bottom: 16px; }
.value-score-block { margin-bottom: 14px; }
.value-score-label { font-size: 11px; font-weight: 900; color: #94a3b8; letter-spacing: .06em; margin-bottom: 6px; }
.value-stars { font-size: 22px; color: #f59e0b; letter-spacing: 2px; margin-bottom: 4px; }
.value-score-num { font-size: 32px; font-weight: 950; color: #1d4ed8; letter-spacing: -.04em; }
.value-status {
  display: inline-block; margin-bottom: 18px; padding: 8px 18px; border-radius: 14px;
  font-size: 16px; font-weight: 950;
}
.value-status.buy { background: rgba(209,250,229,.55); color: #047857; border: 1px solid rgba(16,185,129,.25); }
.value-status.caution { background: rgba(254,243,199,.55); color: #b45309; }
.value-status.avoid { background: rgba(254,226,226,.55); color: #b91c1c; }
.value-metrics-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; text-align: left; margin-bottom: 14px;
}
.value-metric {
  padding: 10px 12px; border-radius: 14px; background: rgba(248,250,252,.78);
}
.value-metric label { display: block; font-size: 10px; font-weight: 900; color: #94a3b8; margin-bottom: 4px; }
.value-metric span { font-size: 14px; font-weight: 950; color: #0f172a; }
.value-metric.highlight span { color: #059669; }
.risk-simple.low { color: #047857; }
.risk-simple.mid { color: #b45309; }
.risk-simple.high { color: #b91c1c; }
.value-trend-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 14px; }
.value-trend-tag {
  font-size: 11px; font-weight: 800; padding: 5px 10px; border-radius: 999px;
  background: rgba(255,255,255,.6); border: 1px solid rgba(226,232,240,.8);
}
.value-trend-tag.up { color: #047857; background: rgba(209,250,229,.5); }
.value-trend-tag.hot { color: #c2410c; background: rgba(254,243,199,.5); }
.value-trend-tag.warn { color: #b45309; background: rgba(254,243,199,.45); }
.value-ai-advice {
  text-align: left; padding: 14px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(99,102,241,.08), rgba(37,99,235,.06));
  border: 1px solid rgba(99,102,241,.15);
}
.value-ai-label { font-size: 10px; font-weight: 900; color: #4338ca; letter-spacing: .06em; }
.value-ai-advice p { margin-top: 6px; font-size: 14px; font-weight: 700; color: #334155; line-height: 1.5; }

/* ── Industry Trend Map ── */
.trend-map { display: flex; flex-direction: column; gap: 14px; }
.trend-map-section {
  padding: 14px; border-radius: 18px;
  background: rgba(255,255,255,.45); border: 1px solid rgba(255,255,255,.7);
  backdrop-filter: blur(16px);
}
.trend-map-section.rising { border-color: rgba(16,185,129,.2); }
.trend-map-section.stable { border-color: rgba(37,99,235,.2); }
.trend-map-section.falling { border-color: rgba(239,68,68,.15); }
.trend-map-section.opportunity { border-color: rgba(139,92,246,.25); }
.trend-map-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
  font-size: 13px; font-weight: 950; color: #0f172a;
}
.trend-map-icon { font-size: 16px; font-weight: 900; }
.trend-map-items { display: flex; flex-direction: column; gap: 8px; }
.trend-map-item {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 12px; background: rgba(248,250,252,.7);
}
.trend-map-name { font-size: 13px; font-weight: 800; color: #0f172a; }
.trend-map-change { font-size: 12px; font-weight: 900; }
.trend-map-change.up { color: #047857; }
.trend-map-change.down { color: #b91c1c; }
.trend-map-change.flat { color: #64748b; }
.trend-map-item.opp { flex-direction: column; align-items: flex-start; }
.trend-map-note { font-size: 11px; font-weight: 700; color: #7c3aed; }

/* ═══ Global Sunrise Override — unify accents ═══ */
.search-kicker,
.decision-badge,
.price-range-label,
.value-ai-label,
.ai-trade-badge,
.collect-details summary { color: var(--revo-primary) !important; }

.search-input:focus {
  border-color: rgba(246,166,35,.5) !important;
  box-shadow: 0 0 0 3px rgba(246,166,35,.14) !important;
}
.search-run-btn,
.decision-action.primary,
.save-collect-btn,
.subscribe-btn {
  background: rgba(255,255,255,.92) !important;
  color: var(--revo-primary) !important;
  box-shadow: 0 8px 20px rgba(28,25,23,.05) !important;
  border: 1px solid rgba(255,231,176,.9) !important;
}
.search-hot-chip:hover {
  border-color: rgba(255,200,87,.4) !important;
  color: var(--revo-primary) !important;
}

.decision-badge,
.price-range-bar,
.value-ai-advice {
  background: linear-gradient(135deg, rgba(255,200,87,.12), rgba(246,166,35,.08)) !important;
  border-color: rgba(255,200,87,.22) !important;
  color: var(--revo-primary) !important;
}

.decision-verdict.buy,
.value-status.buy {
  background: rgba(255,200,87,.18) !important;
  color: #c2410c !important;
  border-color: rgba(246,166,35,.28) !important;
}
.decision-metric.highlight span,
.confidence-high,
.ai-trade-cell.highlight span,
.value-metric.highlight span,
.verdict.good { color: var(--revo-primary) !important; }

.risk-tag.low {
  background: rgba(255,200,87,.2) !important;
  color: var(--revo-primary) !important;
}
.risk-bar-fill.low {
  background: var(--revo-gradient) !important;
}
.risk-bar-fill.mid {
  background: linear-gradient(90deg, #FFC857, #F6A623) !important;
}

.decision-action.ghost {
  color: var(--revo-primary) !important;
  border-color: rgba(246,166,35,.28) !important;
}

.bar-fill,
.bar-fill.industry,
.bar-fill.freq,
.bar-fill.growth {
  background: linear-gradient(90deg, rgba(255,200,87,.75), rgba(246,166,35,.7)) !important;
}
.industry-bar-row.active .bar-top span:first-child,
.trend-heat,
.value-score-num { color: var(--revo-primary) !important; }
.industry-bar-row.active .bar-fill.industry {
  background: linear-gradient(90deg, rgba(255,200,87,.8), rgba(246,166,35,.72)) !important;
  box-shadow: 0 0 12px rgba(255,231,176,.35) !important;
}

.industry-hero { border-color: rgba(255,200,87,.22) !important; }
.trend-growth {
  color: var(--revo-primary) !important;
  background: rgba(255,200,87,.18) !important;
}
.nav-item.active { color: var(--revo-primary) !important; }

.collect-status { color: var(--revo-primary) !important; }
.value-trend-tag.up {
  color: var(--revo-primary) !important;
  background: rgba(255,200,87,.2) !important;
}
.trend-map-section.rising,
.trend-map-section.stable,
.trend-map-section.opportunity {
  border-color: rgba(255,200,87,.25) !important;
}
.trend-map-change.up { color: var(--revo-primary) !important; }
.trend-map-note { color: var(--revo-primary) !important; }

.ai-trend-upup em,
.ai-trend-up em { color: var(--revo-primary) !important; }

.splash-halo {
  border-color: rgba(255,200,87,.28) !important;
}
.splash-halo-2 {
  border-color: rgba(246,166,35,.2) !important;
}
.splash-sun {
  background: var(--revo-gradient) !important;
  box-shadow: 0 0 36px var(--revo-glow) !important;
}
.splash-brand {
  background: var(--revo-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.risk-simple.low { color: var(--revo-primary) !important; }
.verdict.good {
  background: rgba(255,200,87,.2) !important;
  color: var(--revo-primary) !important;
}
.ai-trade-badge {
  background: linear-gradient(135deg, rgba(255,200,87,.14), rgba(246,166,35,.1)) !important;
  color: var(--revo-primary) !important;
}
.price-hero {
  background: linear-gradient(165deg, #1c140c, #783c08) !important;
}
.price-hero .amount { color: #FFC857 !important; }

/* ═══ 库存大脑 InventoryBrain ═══ */
.inv-brain { margin-top: 28px; }
.inv-brain-card {
  border-radius: 24px;
  padding: 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.inv-brain-block + .inv-brain-block {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,224,204,.8);
}
.inv-brain-block-kicker {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 900;
  color: #3b2a1c;
}
.inv-brain-capital-hero {
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 10px;
  background: linear-gradient(145deg, rgba(255,138,61,.16), rgba(255,255,255,.7));
  border: 1px solid rgba(255,138,61,.22);
}
.inv-brain-capital-hero label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #8a6a4a;
}
.inv-brain-capital-hero strong {
  display: block;
  margin-top: 4px;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -.04em;
  color: var(--revo-orange, #FF8A3D);
  line-height: 1.1;
}
.inv-brain-capital-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
@media (min-width: 390px) {
  .inv-brain-capital-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.inv-brain-capital-chip {
  text-align: left;
  border-radius: 14px;
  padding: 12px;
  border: 1px solid rgba(255,231,176,.55);
  background: rgba(255,255,255,.82);
  cursor: pointer;
}
.inv-brain-capital-chip span {
  display: block;
  font-size: 11px;
  font-weight: 750;
  color: #8a6a4a;
}
.inv-brain-capital-chip em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 16px;
  font-weight: 900;
  color: #3b2a1c;
}
.inv-brain-capital-chip--ok em { color: #1f9d55; }
.inv-brain-capital-chip--risk {
  border-color: rgba(194,65,12,.28);
  background: rgba(255,237,230,.9);
}
.inv-brain-capital-chip--risk em { color: #c2410c; }
.inv-brain-capital-chip--release {
  cursor: default;
  border-color: rgba(255,138,61,.35);
  background: rgba(255,138,61,.1);
}
.inv-brain-capital-chip--release em { color: var(--revo-orange, #FF8A3D); }
.inv-brain-health-grid,
.inv-brain-eff-grid,
.inv-brain-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.inv-brain-stat {
  border-radius: 18px;
  padding: 12px 10px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(255,231,176,.45);
  display: flex;
  flex-direction: column;
  gap: 6px;
  animation: aiFadeUp .5s ease both;
  width: 100%;
  text-align: left;
  font: inherit;
}
button.inv-brain-stat {
  cursor: pointer;
}
.inv-brain-stat-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}
.inv-brain-stat-value {
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: var(--revo-ink);
}
.inv-brain-stat--risk .inv-brain-stat-value { color: #c2410c; }
.inv-brain-stat--profit .inv-brain-stat-value { color: #1f9d55; }
.inv-brain-stat--pending .inv-brain-stat-value { color: #A16207; }
.inv-brain-stat--score .inv-brain-stat-value { color: var(--revo-orange, #FF8A3D); }
.inv-brain-action-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.inv-brain-action-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  text-align: left;
  border: 1px solid var(--revo-border, #FFE0CC);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255,255,255,.82);
  cursor: pointer;
}
.inv-brain-action-chip strong {
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
}
.inv-brain-action-chip span {
  font-size: 12px;
  font-weight: 700;
  color: #8a6a4a;
}
.inv-brain-diag-head {
  margin: 18px 2px 10px;
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
}
.inv-brain-diag-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inv-brain-diag {
  border-radius: 18px;
  padding: 14px 14px 12px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.5);
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease;
}
.inv-brain-diag:active { transform: scale(.985); }
.inv-brain-diag--risk { border-color: rgba(251,146,60,.35); }
.inv-brain-diag--profit { border-color: rgba(255,200,87,.45); }
.inv-brain-diag--restock { border-color: rgba(255,231,176,.75); }
.inv-brain-diag--advice { border-color: rgba(255,200,87,.35); }
.inv-brain-diag-kicker {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-primary);
}
.inv-brain-diag-name {
  margin-top: 6px;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
  letter-spacing: -.02em;
}
.inv-brain-diag-meta {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.inv-brain-diag-meta span {
  font-size: 12px;
  font-weight: 700;
  color: #57534e;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,231,176,.55);
}
.inv-brain-diag-meta b { font-weight: 850; color: #8a6a4a; }
.inv-brain-diag-suggest {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 850;
  color: #A16207;
}

.inv-brain-import {
  margin-top: 14px;
  width: 100%;
  text-align: left;
  border-radius: 18px;
  padding: 16px;
  cursor: pointer;
  background: rgba(255,255,255,.88);
  border: 1px dashed rgba(255,200,87,.55);
  box-shadow: 0 8px 18px rgba(28,25,23,.03);
  backdrop-filter: blur(12px);
  transition: transform .2s ease, background .2s ease;
}
.inv-brain-import:active {
  transform: scale(.985);
  background: rgba(255,249,240,.95);
}
.inv-brain-import-title {
  display: block;
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-primary);
}
.inv-brain-import-sub {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.inv-brain-import-fields {
  display: block;
  margin-top: 10px;
  font-size: 11px;
  font-weight: 650;
  color: #a8a29e;
  line-height: 1.45;
}

/* ═══ 库存大脑独立页 InventoryPage ═══ */
.inv-page-welcome { padding-bottom: 4px; }

.inv-health-card {
  border-radius: 24px;
  padding: 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.inv-health-score-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.inv-health-score {
  flex-shrink: 0;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 26px;
  background:
    radial-gradient(closest-side, rgba(255,255,255,.94) 78%, transparent 79% 100%),
    conic-gradient(var(--revo-primary) calc(var(--score, 82) * 1%), rgba(255,231,176,.4) 0);
  box-shadow: 0 8px 20px rgba(246,166,35,.14);
}
.inv-health-score-num {
  font-size: 30px;
  font-weight: 950;
  letter-spacing: -.04em;
  color: var(--revo-primary);
  line-height: 1;
}
.inv-health-score-unit {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
  margin-left: 2px;
}
.inv-health-score-label {
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.inv-health-score-desc {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}

.inv-page-diag-list .inv-brain-diag {
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(18px);
}

.inv-action-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inv-action-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease;
}
.inv-action-row:active { transform: scale(.985); }
.inv-action-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 18px;
  background: rgba(255,249,240,.95);
  border: 1px solid rgba(255,231,176,.6);
}
.inv-action-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.inv-action-top {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.inv-action-tag {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 900;
  color: var(--revo-primary);
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  border: 1px solid rgba(255,200,87,.4);
}
.inv-action-title {
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  letter-spacing: -.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inv-action-desc {
  font-size: 12px;
  font-weight: 650;
  color: var(--revo-muted);
}
.inv-action-cta {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 850;
  color: var(--revo-primary);
}

.inv-trend-card {
  border-radius: 24px;
  padding: 6px 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.inv-trend-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  animation: aiFadeUp .5s ease both;
}
.inv-trend-row + .inv-trend-row {
  border-top: 1px solid rgba(255,231,176,.35);
}
.inv-trend-label {
  flex-shrink: 0;
  width: 64px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.inv-trend-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.inv-trend-value {
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.02em;
}
.inv-trend-value.is-good { color: var(--revo-primary); }
.inv-trend-value.is-warn { color: #c2410c; }
.inv-trend-text {
  font-size: 12px;
  font-weight: 650;
  color: var(--revo-muted);
}

/* ═══ V2 一级入口聚合页 HubPage（生意 / 市场） ═══ */
.hub-hero {
  padding: 28px 4px 20px;
  animation: aiFadeUp .5s ease both;
}
.hub-kicker {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  color: var(--revo-primary);
}
.hub-title {
  margin-top: 6px;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: var(--revo-ink);
}
.hub-subtitle {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}

.hub-entry-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hub-entry {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border-radius: 24px;
  padding: 18px 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease, background .2s ease;
}
.hub-entry:active {
  transform: scale(.985);
  background: rgba(255,249,240,.92);
}
.hub-entry[data-soon] { opacity: .68; }
.hub-entry-icon {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: rgba(255,249,240,.95);
  border: 1px solid rgba(255,231,176,.6);
}
.hub-entry-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.hub-entry-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hub-entry-title {
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.02em;
  color: var(--revo-ink);
}
.hub-entry-soon {
  font-size: 10px;
  font-weight: 900;
  color: var(--revo-primary);
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  border: 1px solid rgba(255,200,87,.4);
}
.hub-entry-desc {
  font-size: 12px;
  font-weight: 650;
  color: var(--revo-muted);
}
.hub-entry-arrow {
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 800;
  color: rgba(168,162,158,.8);
}

/* ═══ V1.5 生意驾驶舱 BusinessPage ═══ */
.biz-welcome { padding-bottom: 8px; }
.biz-health-hero {
  margin: 18px auto 0;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(closest-side, rgba(255,255,255,.95) 80%, transparent 81% 100%),
    conic-gradient(var(--revo-primary) calc(var(--score, 82) * 1%), rgba(255,231,176,.4) 0);
  box-shadow: 0 14px 34px rgba(246,166,35,.16);
  animation: aiFadeUp .6s ease both;
}
.biz-health-num {
  font-size: 40px;
  font-weight: 950;
  letter-spacing: -.04em;
  color: var(--revo-primary);
  line-height: 1;
}
.biz-health-num + .biz-health-unit {
  margin-top: 2px;
}
.biz-health-unit {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.biz-health-label {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-ink);
}

.biz-score-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 390px) {
  .biz-score-grid { grid-template-columns: repeat(4, 1fr); }
}
.biz-score-card {
  border-radius: 20px;
  padding: 14px 12px;
  text-align: left;
  cursor: pointer;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease;
}
.biz-score-card:active { transform: scale(.97); }
.biz-score-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.biz-score-value {
  font-size: 26px;
  font-weight: 950;
  letter-spacing: -.04em;
  line-height: 1;
}
.biz-score--good { color: var(--revo-primary); }
.biz-score--mid { color: #A16207; }
.biz-score--low { color: #c2410c; }
.biz-score-bar {
  height: 4px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  overflow: hidden;
}
.biz-score-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--revo-secondary), var(--revo-primary));
}

.biz-overview-card {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}

.biz-top-card {
  border-radius: 24px;
  padding: 14px 16px 8px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.biz-top-card + .biz-top-card { margin-top: 12px; }
.biz-top-head {
  font-size: 13px;
  font-weight: 900;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,231,176,.35);
}
.biz-top-head--profit { color: var(--revo-primary); }
.biz-top-head--risk { color: #c2410c; }
.biz-top-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  animation: aiFadeUp .45s ease both;
}
.biz-top-row + .biz-top-row {
  border-top: 1px solid rgba(255,231,176,.25);
}
.biz-top-rank {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
}
.biz-top-rank--profit {
  color: var(--revo-primary);
  background: rgba(255,231,176,.4);
}
.biz-top-rank--risk {
  color: #c2410c;
  background: rgba(251,146,60,.14);
}
.biz-top-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.biz-top-name {
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.biz-top-meta {
  font-size: 11px;
  font-weight: 650;
  color: var(--revo-muted);
}
.biz-top-suggest {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 850;
  padding: 3px 9px;
  border-radius: 999px;
}
.biz-top-suggest--profit {
  color: var(--revo-primary);
  background: rgba(255,231,176,.35);
  border: 1px solid rgba(255,200,87,.4);
}
.biz-top-suggest--risk {
  color: #c2410c;
  background: rgba(251,146,60,.1);
  border: 1px solid rgba(251,146,60,.28);
}

.biz-quick-row {
  display: flex;
  gap: 10px;
}
.biz-quick-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 8px;
  cursor: pointer;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 850;
  color: var(--revo-ink);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(14px);
  transition: transform .2s ease;
}
.biz-quick-btn:active { transform: scale(.97); }

/* ═══ V1.6 库存资产 InventoryPage / InventoryImport ═══ */
.inv-asset-welcome { padding-bottom: 8px; }

.inv-asset-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inv-asset-item {
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(28,25,23,.04);
  animation: aiFadeUp .45s ease both;
  transition: transform .2s ease;
}
.inv-asset-item:active { transform: scale(.985); }
.inv-asset-item--healthy { border-color: rgba(255,200,87,.4); }
.inv-asset-item--watch { border-color: rgba(251,191,36,.45); }
.inv-asset-item--risk { border-color: rgba(251,146,60,.4); }
.inv-asset-item-top {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
}
.inv-asset-item-name {
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -.02em;
  color: var(--revo-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inv-asset-item-suggest {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 850;
  color: var(--revo-primary);
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255,231,176,.35);
  border: 1px solid rgba(255,200,87,.4);
}
.inv-asset-item--risk .inv-asset-item-suggest {
  color: #c2410c;
  background: rgba(251,146,60,.1);
  border-color: rgba(251,146,60,.28);
}
.inv-asset-item-meta {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.inv-asset-item-meta span {
  font-size: 11px;
  font-weight: 700;
  color: #57534e;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,231,176,.55);
}
.inv-asset-empty {
  border-radius: 18px;
  padding: 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  background: rgba(255,255,255,.55);
  border: 1px dashed rgba(255,231,176,.55);
}

.inv-import-hero { padding: 20px 4px 8px; }
.inv-import-back {
  display: inline-flex;
  align-items: center;
  margin-bottom: 14px;
  padding: 6px 0;
  font-size: 13px;
  font-weight: 800;
  color: var(--revo-primary);
  background: none;
  border: none;
  cursor: pointer;
}
.inv-import-card {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
}
.inv-import-card-title {
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
  margin-bottom: 10px;
}
.inv-import-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.inv-import-chip {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-primary);
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,231,176,.35);
  border: 1px solid rgba(255,200,87,.4);
}

.inv-import-upload {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inv-import-upload-btn {
  width: 100%;
  text-align: center;
  cursor: pointer;
  border-radius: 24px;
  padding: 28px 16px;
  background: rgba(255,255,255,.82);
  border: 1px dashed rgba(255,200,87,.65);
  box-shadow: 0 12px 28px rgba(28,25,23,.04);
  backdrop-filter: blur(16px);
  transition: transform .2s ease, background .2s ease;
}
.inv-import-upload-btn:active {
  transform: scale(.985);
  background: rgba(255,249,240,.95);
}
.inv-import-upload-icon {
  display: block;
  font-size: 28px;
  margin-bottom: 8px;
}
.inv-import-upload-title {
  display: block;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-primary);
}
.inv-import-upload-sub {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.inv-import-demo-btn {
  width: 100%;
  padding: 12px;
  cursor: pointer;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
}
.inv-import-demo-btn:active { transform: scale(.985); }

/* —— Unified Business Data Upload V1 —— */
.ubd-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px 32px;
}
.ubd-back { margin-bottom: 8px; }
.ubd-hero { text-align: center; padding: 8px 0 20px; }
.ubd-title {
  margin: 0;
  font-size: 24px;
  font-weight: 950;
  color: var(--revo-ink);
  line-height: 1.35;
}
.ubd-sub {
  margin: 10px auto 0;
  max-width: 520px;
  font-size: 14px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.55;
}
.ubd-upload-zone {
  margin: 0 auto;
  max-width: 560px;
}
.ubd-upload-zone.is-drag .ubd-upload-inner {
  border-color: var(--revo-primary);
  background: rgba(255,249,240,.95);
}
.ubd-upload-inner {
  text-align: center;
  padding: 40px 20px 32px;
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  border: 2px dashed rgba(255,180,80,.55);
  box-shadow: 0 16px 40px rgba(255,140,60,.08);
  backdrop-filter: blur(18px);
}
.ubd-upload-main {
  margin: 0;
  font-size: 18px;
  font-weight: 950;
  color: var(--revo-primary);
  line-height: 1.45;
}
.ubd-upload-hint {
  margin: 8px 0 20px;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-upload-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  padding: 14px 28px;
  border: none;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #ff8c3a 0%, #ff6b2b 100%);
  box-shadow: 0 8px 24px rgba(255,107,43,.35);
  cursor: pointer;
}
.ubd-upload-btn:active { transform: scale(.98); }
.ubd-footnote {
  text-align: center;
  margin: 16px auto 0;
  max-width: 480px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.ubd-list-section { margin-top: 28px; }
.ubd-block--attr {
  margin-top: 20px;
}
.ubd-attr-metrics {
  margin: 12px 0 14px;
}
.ubd-attr-gate {
  padding: 12px 14px;
  border-radius: 14px;
  margin-bottom: 14px;
  font-size: 13px;
  line-height: 1.45;
}
.ubd-attr-gate strong { display: block; margin-bottom: 4px; }
.ubd-attr-gate p { margin: 0; color: var(--revo-muted); font-weight: 650; }
.ubd-attr-gate--ok {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.28);
}
.ubd-attr-gate--block {
  background: rgba(251, 191, 36, 0.18);
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: #92400e;
}
.ubd-attr-list {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ubd-attr-list li {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 231, 176, 0.5);
}
.ubd-attr-list li strong {
  display: block;
  font-size: 13px;
  font-weight: 900;
}
.ubd-attr-list li > span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-attr-group--shared {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.06);
}
.ubd-attr-group--pending {
  border-color: rgba(245, 158, 11, 0.45);
}
.ubd-attr-confirm {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  align-items: center;
}
.ubd-attr-confirm select,
.ubd-attr-confirm input {
  min-height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  padding: 4px 10px;
  font-size: 13px;
  background: #fff;
}
.ubd-attr-confirm input { min-width: 140px; flex: 1; }
.ubd-list-head {
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  margin: 0 0 10px;
}
.ubd-type-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.ubd-type-chip {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-primary);
  background: rgba(255,231,176,.35);
  border: 1px solid rgba(255,200,87,.45);
}
.ubd-file-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ubd-file-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,231,176,.5);
}
.ubd-file-main { flex: 1; min-width: 0; }
.ubd-file-main strong {
  display: block;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  word-break: break-all;
}
.ubd-file-meta, .ubd-file-detail {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-file-notes {
  margin: 6px 0 0;
  padding-left: 18px;
  color: #8a5a12;
  font-size: 13px;
}
.ubd-badge {
  flex-shrink: 0;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  color: var(--revo-primary);
  background: rgba(255,231,176,.4);
}
.ubd-badge--warn {
  color: #b45309;
  background: rgba(251,191,36,.25);
}
.ubd-ready {
  margin-top: 28px;
  padding: 20px 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(134,239,172,.45);
  box-shadow: 0 12px 32px rgba(34,197,94,.08);
}
.ubd-ready--warn {
  border-color: rgba(217, 119, 6, 0.55);
  background: #fff8ef;
  box-shadow: 0 12px 32px rgba(217, 119, 6, 0.08);
}
.ubd-ready-warn-body {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
  color: #92400e;
}
.ubd-ready-title {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ubd-ready-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 12px;
}
.ubd-ready-metrics dt {
  font-size: 11px;
  font-weight: 750;
  color: var(--revo-muted);
}
.ubd-ready-metrics dd {
  margin: 4px 0 0;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ubd-ready-note {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-primary {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #ff8c3a 0%, #ff6b2b 100%);
  cursor: pointer;
}
.ubd-ghost {
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(255,231,176,.55);
  cursor: pointer;
}
.ubd-block--current {
  margin: 0 auto 18px;
  max-width: 600px;
  text-align: left;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.06);
}
.ubd-current-metrics { margin: 8px 0 4px; }
.ubd-clear-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1.5px solid #ff8c3a;
  background: rgba(255, 255, 255, 0.92);
  color: #e86a12;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.ubd-clear-link:hover {
  background: #fff8ef;
  border-color: #ff6b2b;
  color: #c2410c;
}
.ubd-backup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.ubd-backup-btn {
  border-color: #3b82f6;
  color: #1d4ed8;
}
.ubd-backup-btn:hover {
  border-color: #2563eb;
  color: #1e40af;
  background: #eff6ff;
}
.ubd-backup-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ubd-confirm-mask {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(20,16,12,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.ubd-confirm-card {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 18px;
  padding: 22px 20px 18px;
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
}
.ubd-confirm-card h3 {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 900;
  color: var(--revo-ink);
}
.ubd-confirm-card p {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--revo-muted);
}
.ubd-clear-confirm {
  border: 0;
  border-radius: 12px;
  padding: 10px 16px;
  background: #b45309;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.ubd-panel {
  margin-top: 20px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(255,231,176,.55);
}
.ubd-panel--warn { border-color: rgba(251,191,36,.5); }
.ubd-panel h3 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 950;
}
.ubd-panel p {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ubd-type-pick[hidden] { display: none !important; }
.ubd-type-pick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.ubd-type-pick button {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,231,176,.55);
  background: #fff;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}
@media (min-width: 900px) {
  .ubd-page { max-width: 960px; }
  .ubd-drop-inner { padding: 56px 40px 44px; }
}

/* UBD V1.1 — 大型 Drop Zone + 成本入口 */
.ubd-drop-card {
  margin: 0 auto 20px;
  max-width: 600px;
  cursor: pointer;
}
.ubd-drop-card.is-drag .ubd-drop-inner {
  border-color: var(--revo-primary);
  background: rgba(255,249,240,.98);
  transform: scale(1.01);
}
.ubd-drop-inner {
  text-align: center;
  padding: 48px 24px 36px;
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  border: 2px dashed rgba(255,160,60,.5);
  box-shadow: 0 20px 48px rgba(255,140,60,.1);
  backdrop-filter: blur(20px);
  transition: border-color .2s, transform .2s;
}
.ubd-drop-icon { font-size: 48px; line-height: 1; margin-bottom: 12px; }
.ubd-drop-title {
  margin: 0;
  font-size: 20px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ubd-drop-sub {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-drop-hint {
  margin: 12px 0 24px;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-drop-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 240px;
  min-height: 50px;
  padding: 14px 32px;
  border: none;
  border-radius: 14px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
  background: linear-gradient(135deg, #ff8c3a 0%, #ff6b2b 100%);
  box-shadow: 0 10px 28px rgba(255,107,43,.38);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.revo-primary-upload.ubd-drop-btn { width: 100%; max-width: 100%; }
.ubd-drop-btn:active { transform: scale(.98); }
.ubd-block {
  max-width: 600px;
  margin: 0 auto 20px;
}
.ubd-block-title {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ubd-block-desc {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.ubd-block-tip {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 196, 72, 0.18);
  border: 1px solid rgba(232, 160, 40, 0.35);
  font-size: 13px;
  font-weight: 800;
  color: #8a5a00;
  line-height: 1.45;
}
.ubd-optional {
  font-size: 14px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-block--cost {
  padding: 18px 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.45);
}
.ubd-cost-entry {
  max-width: 600px;
  margin: 0 auto 24px;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.45);
}
.ubd-cost-title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ubd-cost-desc {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.ubd-cost-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}
.ubd-cost-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 50px;
  padding: 14px 24px;
  border-radius: 14px;
  border: 1px solid rgba(255,180,80,.55);
  background: rgba(255,252,248,.98);
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--revo-primary);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.revo-secondary-upload.ubd-cost-btn { width: 100%; max-width: 100%; }
@media (min-width: 769px) {
  .revo-primary-upload.ubd-drop-btn,
  .revo-secondary-upload.ubd-cost-btn {
    width: auto;
    min-width: 240px;
  }
}
@media (max-width: 768px) {
  .ubd-drop-inner--desktop { display: none; }
  .ubd-drop-card {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }
  .ubd-block--upload .ubd-drop-btn,
  .ubd-block--cost .ubd-cost-btn {
    width: 100%;
    min-height: 50px;
  }
}
.ubd-cost-tag {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-file-note {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #b45309;
}
.ubd-cta-primary {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 999px;
  font-size: 17px;
  font-weight: 950;
  color: #fff;
  background: linear-gradient(135deg, #ff8c3a 0%, #ff6b2b 100%);
  box-shadow: 0 10px 28px rgba(255,107,43,.38);
  cursor: pointer;
}
.ubd-cta-primary--sm {
  width: auto;
  padding: 12px 20px;
  font-size: 14px;
}
.ubd-ready-foot {
  text-align: center;
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ubd-panel--confirm { border-color: rgba(59,130,246,.35); }
.ubd-conf-field { font-size: 16px; font-weight: 900; color: var(--revo-ink); }
.ubd-conf-opts { display: flex; flex-direction: column; gap: 8px; }
.ubd-conf-opt {
  text-align: left;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.55);
  background: #fff;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

/* Business Cost Entry V1 */
.bce-page { max-width: 640px; margin: 0 auto; padding: 0 16px 32px; }
.bce-back { margin-bottom: 8px; }
.bce-hero { padding: 8px 0 16px; }
.bce-title { margin: 0; font-size: 22px; font-weight: 950; color: var(--revo-ink); line-height: 1.35; }
.bce-sub { margin: 8px 0 0; font-size: 14px; font-weight: 700; color: var(--revo-muted); line-height: 1.5; }
.bce-card {
  margin-bottom: 16px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(255,231,176,.5);
}
.bce-card--input .bce-textarea {
  width: 100%;
  min-height: 140px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,231,176,.55);
  font-size: 15px;
  font-family: inherit;
  line-height: 1.55;
  resize: vertical;
  box-sizing: border-box;
}
.bce-primary {
  width: 100%;
  margin-top: 12px;
  padding: 14px;
  border: none;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #ff8c3a, #ff6b2b);
  cursor: pointer;
}
.bce-ghost {
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,231,176,.55);
  background: #fff;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}
.bce-group-title { margin: 0 0 10px; font-size: 13px; font-weight: 900; color: var(--revo-muted); }
.bce-rule-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,231,176,.35);
}
.bce-rule-name { font-weight: 850; flex: 1; min-width: 100px; }
.bce-rule-val { font-weight: 800; color: var(--revo-primary); }
.bce-link { border: 0; background: transparent; font-size: 12px; font-weight: 800; color: var(--revo-primary); cursor: pointer; }
.bce-link--muted { color: var(--revo-muted); }
.bce-update-diff { font-size: 16px; font-weight: 900; color: var(--revo-primary); }
.bce-actions { display: grid; gap: 10px; margin-top: 8px; }
.bce-chip {
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,231,176,.55);
  background: #fff;
  font-weight: 800;
  cursor: pointer;
}
.bce-chip.is-active { background: #fff8ef; border-color: var(--revo-primary); color: var(--revo-primary); }
.bce-input {
  width: 100%;
  margin-top: 10px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.55);
  font-size: 15px;
  box-sizing: border-box;
}

.inv-import-preview {
  border-radius: 20px;
  padding: 8px 14px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
}
.inv-import-preview-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 0;
  animation: aiFadeUp .4s ease both;
}
.inv-import-preview-row + .inv-import-preview-row {
  border-top: 1px solid rgba(255,231,176,.3);
}
.inv-import-preview-name {
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inv-import-preview-meta {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}
.inv-import-more {
  padding: 8px 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  text-align: center;
}
.inv-import-confirm {
  margin-top: 12px;
  width: 100%;
  padding: 14px;
  cursor: pointer;
  border-radius: 18px;
  font-size: 15px;
  font-weight: 950;
  color: #fff;
  background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  border: none;
  box-shadow: 0 10px 22px rgba(246,166,35,.22);
}
.inv-import-confirm:active { transform: scale(.985); }

.inv-import-mode-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
.inv-import-mode-opt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 138, 61, 0.22);
  cursor: pointer;
}
.inv-import-mode-opt input { margin-top: 3px; }
.inv-import-mode-opt strong {
  display: block;
  font-size: 14px;
  color: #2a1c12;
}
.inv-import-mode-opt em {
  display: block;
  margin-top: 2px;
  font-style: normal;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.58);
}
.inv-import-diff {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 138, 61, 0.1);
  border: 1px solid rgba(255, 138, 61, 0.22);
}
.inv-import-diff-title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(60, 40, 20, 0.72);
}
.inv-import-diff-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  font-size: 13px;
  color: #2a1c12;
}
.inv-import-diff-grid strong { color: var(--revo-orange, #FF8A3D); }
.inv-import-warn {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #c45c1a;
}
.daily-empty-state {
  padding: 28px 12px;
  text-align: center;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.35);
}
.daily-empty-state p {
  margin: 0;
  font-size: 15px;
  color: rgba(60, 40, 20, 0.55);
}

.cost-model-card {
  padding: 16px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cost-model-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.cost-model-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.65);
}
.cost-model-field input {
  width: 100%;
  border: 1px solid rgba(255, 138, 61, 0.28);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 16px;
  font-weight: 700;
  color: #2a1c12;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.cost-model-field em {
  font-style: normal;
  font-size: 11px;
  color: rgba(60, 40, 20, 0.45);
}
.cost-model-daily {
  padding: 16px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 138, 61, 0.16), rgba(255, 255, 255, 0.4));
  border: 1px solid rgba(255, 138, 61, 0.28);
}
.cost-model-daily label {
  display: block;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.62);
  margin-bottom: 6px;
}
.cost-model-daily strong {
  font-size: 24px;
  color: #2a1c12;
}
.cost-model-daily-note {
  margin: 10px 0 0;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.6);
  line-height: 1.45;
}
.daily-pnl-stats--6 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.inv-import-tpl-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 12px;
}
.inv-import-tpl-link {
  font-size: 12px;
  color: var(--revo-orange, #FF8A3D);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.inv-import-pending {
  margin-left: 6px;
  font-size: 11px;
  font-style: normal;
  color: #c45c1a;
  background: rgba(255, 138, 61, 0.14);
  padding: 1px 6px;
  border-radius: 999px;
}
.inv-import-unmatched {
  margin: 10px 4px 0;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.65);
  line-height: 1.45;
}
.inv-import-success-hero {
  text-align: center;
  padding: 28px 8px 12px;
}
.inv-import-success-emoji {
  margin: 0 0 8px;
  font-size: 36px;
  line-height: 1;
}
.inv-import-success-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.inv-import-success-stat {
  padding: 14px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.inv-import-success-stat label {
  display: block;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.62);
  margin-bottom: 6px;
}
.inv-import-success-stat strong {
  font-size: 20px;
  font-weight: 700;
  color: #2a1c12;
}
.inv-import-success-stat--good strong { color: #2f7d4a; }
.inv-import-success-stat--risk strong { color: #c45c1a; }
.inv-import-ai-find {
  padding: 16px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 138, 61, 0.16), rgba(255, 255, 255, 0.4));
  border: 1px solid rgba(255, 138, 61, 0.28);
}
.inv-import-ai-find-title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(60, 40, 20, 0.72);
}
.inv-import-ai-find-line {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #2a1c12;
  line-height: 1.6;
}
.daily-inv-ai-suggest { margin-top: 12px; }
.daily-inv-ai-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.daily-inv-ai-list li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 0;
  border-top: 1px solid rgba(60, 40, 20, 0.08);
}
.daily-inv-ai-list li:first-child { border-top: 0; }
.daily-inv-ai-list strong { font-size: 14px; color: #2a1c12; }
.daily-inv-ai-list span { font-size: 12px; color: rgba(60, 40, 20, 0.65); }

.inv-import-tip {
  text-align: center;
  padding: 8px 4px 20px;
}
.inv-import-tip p {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.6;
}

/* ═══ V1.6 AI 拍照入库入口 + Capture 页 ═══ */
.inv-entry-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inv-entry-primary {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border-radius: 24px;
  padding: 18px 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,249,240,.88)),
    linear-gradient(135deg, rgba(246,166,35,.12), rgba(255,200,87,.08));
  border: 1px solid rgba(255,200,87,.55);
  box-shadow: 0 14px 32px rgba(246,166,35,.12);
  backdrop-filter: blur(18px);
  transition: transform .2s ease;
}
.inv-entry-primary:active { transform: scale(.985); }
.inv-entry-primary-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(255,231,176,.7);
}
.inv-entry-primary-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.inv-entry-primary-title {
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.02em;
  color: var(--revo-primary);
}
.inv-entry-primary-sub {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.inv-entry-secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  cursor: pointer;
  border-radius: 18px;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(255,231,176,.5);
  backdrop-filter: blur(14px);
  transition: transform .2s ease;
}
.inv-entry-secondary:active { transform: scale(.985); }
.inv-entry-secondary-hint {
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}

.ai-capture-upload {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ai-capture-upload-btn {
  width: 100%;
  text-align: center;
  cursor: pointer;
  border-radius: 24px;
  padding: 32px 16px;
  background: rgba(255,255,255,.85);
  border: 1px dashed rgba(255,200,87,.7);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
  backdrop-filter: blur(16px);
  transition: transform .2s ease, background .2s ease;
}
.ai-capture-upload-btn:active {
  transform: scale(.985);
  background: rgba(255,249,240,.95);
}
.ai-capture-upload-icon {
  display: block;
  font-size: 34px;
  margin-bottom: 10px;
}
.ai-capture-upload-title {
  display: block;
  font-size: 17px;
  font-weight: 950;
  color: var(--revo-primary);
}
.ai-capture-upload-sub {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ai-capture-demo-btn {
  width: 100%;
  padding: 12px;
  cursor: pointer;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
}

.ai-capture-loading {
  text-align: center;
  padding: 8px 4px 20px;
}
.ai-capture-loading-text {
  margin-top: 14px;
  font-size: 15px;
  font-weight: 900;
  color: var(--revo-ink);
}
.ai-capture-loading-sub {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ai-capture-preview {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid rgba(255,231,176,.55);
  background: rgba(255,249,240,.8);
}
.ai-capture-preview--sm {
  max-height: 140px;
  margin-bottom: 12px;
}
.ai-capture-preview--placeholder {
  display: grid;
  place-items: center;
  height: 160px;
  font-size: 40px;
}

.ai-capture-result {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.ai-capture-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ai-capture-badge {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-primary);
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  border: 1px solid rgba(255,200,87,.45);
}
.ai-capture-confidence {
  font-size: 11px;
  font-weight: 750;
  color: var(--revo-muted);
}
.ai-capture-product {
  margin-top: 12px;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: var(--revo-ink);
}
.ai-capture-fields {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ai-capture-field {
  border-radius: 14px;
  padding: 10px;
  background: rgba(255,249,240,.75);
  border: 1px solid rgba(255,231,176,.45);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ai-capture-field-label {
  font-size: 10px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ai-capture-field-value {
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-capture-market {
  margin-top: 14px;
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,200,87,.4);
}
.ai-capture-market-title {
  font-size: 13px;
  font-weight: 950;
  color: var(--revo-primary);
  margin-bottom: 10px;
}
.ai-capture-market-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 390px) {
  .ai-capture-market-grid { grid-template-columns: repeat(3, 1fr); }
}
.ai-capture-market-label {
  display: block;
  font-size: 11px;
  font-weight: 750;
  color: var(--revo-muted);
  margin-bottom: 3px;
}
.ai-capture-market-grid strong {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ai-capture-market-grid strong.is-profit {
  color: var(--revo-primary);
}

.ai-capture-cost-label {
  display: block;
  margin-top: 14px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ai-capture-cost-input {
  margin-top: 8px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.7);
  background: rgba(255,255,255,.95);
  font-size: 15px;
  font-weight: 800;
  color: var(--revo-ink);
  outline: none;
}
.ai-capture-cost-input:focus {
  border-color: rgba(246,166,35,.65);
  box-shadow: 0 0 0 3px rgba(255,231,176,.45);
}

.ai-capture-confirm {
  width: 100%;
  padding: 15px;
  cursor: pointer;
  border-radius: 18px;
  font-size: 15px;
  font-weight: 950;
  color: #fff;
  background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  border: none;
  box-shadow: 0 10px 22px rgba(246,166,35,.22);
}
.ai-capture-confirm:active { transform: scale(.985); }
.ai-capture-retry {
  margin-top: 10px;
  width: 100%;
  padding: 12px;
  cursor: pointer;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
}

/* ═══ TradeDecisionCard · AI 即时交易判断 ═══ */
.trade-dec-card {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
}
.trade-dec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.trade-dec-badge {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-primary);
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  border: 1px solid rgba(255,200,87,.45);
}
.trade-dec-hint {
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}
.trade-dec-kicker {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-muted);
  margin-bottom: 8px;
}
.trade-dec-product {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,231,176,.35);
}
.trade-dec-name {
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: var(--revo-ink);
}
.trade-dec-specs {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.trade-dec-specs span {
  font-size: 12px;
  font-weight: 800;
  color: #57534e;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,231,176,.55);
}
.trade-dec-market {
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,200,87,.4);
}
.trade-dec-market-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.trade-dec-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.trade-dec-metric--full { grid-column: 1 / -1; }
.trade-dec-metric-label {
  font-size: 11px;
  font-weight: 750;
  color: var(--revo-muted);
}
.trade-dec-metric strong {
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.trade-dec-metric strong.is-profit { color: var(--revo-primary); }
.trade-dec-stars {
  letter-spacing: .08em;
  color: var(--revo-primary) !important;
}
.trade-dec-advice {
  margin-top: 12px;
  border-radius: 18px;
  padding: 14px;
  border: 1px solid rgba(255,231,176,.55);
  background: rgba(255,255,255,.7);
}
.trade-dec-advice--buy {
  border-color: rgba(255,200,87,.5);
  background: rgba(255,249,240,.95);
}
.trade-dec-advice--caution {
  border-color: rgba(251,146,60,.4);
  background: rgba(255,247,237,.95);
}
.trade-dec-advice-title {
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.trade-dec-advice--caution .trade-dec-advice-title { color: #c2410c; }
.trade-dec-advice-desc {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--revo-muted);
  white-space: pre-line;
}

/* ═══ V17 今日操盘建议 AIOperationAdvice ═══ */
.op-advice-section {
  margin-top: 4px;
  margin-bottom: 4px;
}
.op-advice-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.op-advice-card {
  border-radius: 20px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 231, 176, 0.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 28px rgba(28, 25, 23, 0.04);
  cursor: pointer;
  transition: transform 0.15s ease;
}
.op-advice-card:active {
  transform: scale(0.985);
}
.op-advice-card--earn {
  border-color: rgba(255, 180, 80, 0.45);
  background: rgba(255, 252, 245, 0.92);
}
.op-advice-card--risk {
  border-color: rgba(251, 146, 60, 0.4);
  background: rgba(255, 248, 242, 0.92);
}
.op-advice-card--buy {
  border-color: rgba(255, 200, 100, 0.5);
  background: rgba(255, 250, 240, 0.95);
}
.op-advice-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  letter-spacing: 0.02em;
}
.op-advice-name {
  margin: 6px 0 0;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -0.02em;
  color: var(--revo-ink);
  line-height: 1.3;
}
.op-advice-situation {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--revo-muted);
}
.op-advice-suggest {
  margin: 10px 0 0;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  line-height: 1.45;
}
.op-advice-suggest span {
  display: inline-block;
  margin-right: 6px;
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-primary);
}
.op-advice-empty {
  border-radius: 20px;
  padding: 20px 16px;
  text-align: center;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 231, 176, 0.5);
  backdrop-filter: blur(16px);
}
.op-advice-empty p {
  margin: 0;
  font-size: 15px;
  font-weight: 900;
  color: var(--revo-ink);
}
.op-advice-empty span {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}

/* ═══ V1.7 AI 经营日报 AIDailyReport ═══ */
.daily-report {
  margin-top: 8px;
  margin-bottom: 8px;
}
.daily-report-title-row {
  margin-bottom: 4px;
}

.daily-report-greet-card {
  border-radius: 24px;
  padding: 18px 16px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
}
.daily-report-hello {
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.02em;
  color: var(--revo-ink);
}
.daily-report-health-row {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 10px;
}
.daily-report-health,
.daily-report-delta {
  border-radius: 18px;
  padding: 12px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,231,176,.5);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.daily-report-health-label,
.daily-report-delta-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.daily-report-health-num {
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -.04em;
  color: var(--revo-primary);
  line-height: 1;
}
.daily-report-health-unit {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.daily-report-delta-value {
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.daily-report-delta.is-good .daily-report-delta-value { color: var(--revo-primary); }
.daily-report-delta.is-warn .daily-report-delta-value { color: #c2410c; }
.daily-report-delta-text {
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}

.daily-report-oneliner {
  border-radius: 24px;
  padding: 18px 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,249,240,.85));
  border: 1px solid rgba(255,200,87,.5);
  box-shadow: 0 12px 28px rgba(246,166,35,.1);
  backdrop-filter: blur(18px);
  animation: aiFadeUp .55s ease both;
}
.daily-report-oneliner-kicker {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-primary);
  letter-spacing: .04em;
}
.daily-report-oneliner-text {
  margin-top: 8px;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.55;
  letter-spacing: -.02em;
  color: var(--revo-ink);
  white-space: pre-line;
}

.daily-action-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.daily-action-card {
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease;
}
.daily-action-card:active { transform: scale(.985); }
.daily-action-card--opportunity { border-color: rgba(255,200,87,.5); }
.daily-action-card--risk { border-color: rgba(251,146,60,.4); }
.daily-action-card--profit { border-color: rgba(255,231,176,.75); }
.daily-action-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.daily-action-kicker {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-primary);
}
.daily-action-card--risk .daily-action-kicker { color: #c2410c; }
.daily-action-profit {
  font-size: 12px;
  font-weight: 900;
  color: var(--revo-primary);
}
.daily-action-name {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.02em;
  color: var(--revo-ink);
}
.daily-action-reason {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}
.daily-action-suggest {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 850;
  color: #A16207;
}

.daily-history-card {
  border-radius: 24px;
  padding: 6px 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.daily-history-row {
  display: flex;
  gap: 12px;
  padding: 13px 0;
  animation: aiFadeUp .45s ease both;
}
.daily-history-row + .daily-history-row {
  border-top: 1px solid rgba(255,231,176,.3);
}
.daily-history-date {
  flex-shrink: 0;
  width: 42px;
  font-size: 12px;
  font-weight: 900;
  color: var(--revo-primary);
  padding-top: 2px;
}
.daily-history-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.daily-history-advice {
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
}
.daily-history-result {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.daily-history-result--done { color: var(--revo-primary); }
.daily-history-result--pending { color: #A16207; }

/* ═══ V1.9 我的 AI经营档案 ProfileBrain ═══ */
.profile-brain-page .inv-import-back {
  margin: 8px 0 4px;
}
.profile-hero { padding-bottom: 4px; }
.profile-archive-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.profile-archive-card {
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 28px rgba(28,25,23,.04);
  display: flex;
  flex-direction: column;
  gap: 6px;
  animation: aiFadeUp .5s ease both;
}
.profile-archive-card--wide { grid-column: 1 / -1; }
.profile-archive-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.profile-archive-value {
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -.04em;
  color: var(--revo-primary);
  line-height: 1;
}
.profile-archive-value em {
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  color: var(--revo-muted);
  margin-left: 2px;
}

.profile-portrait-card {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.profile-portrait-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
}
.profile-portrait-row + .profile-portrait-row {
  border-top: 1px solid rgba(255,231,176,.3);
}
.profile-portrait-label {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
  flex-shrink: 0;
}
.profile-portrait-row strong {
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
  text-align: right;
}
.profile-portrait-insight {
  margin-top: 12px;
  border-radius: 16px;
  padding: 12px;
  border: 1px solid rgba(255,231,176,.5);
  background: rgba(255,249,240,.9);
}
.profile-portrait-insight--good {
  border-color: rgba(255,200,87,.45);
}
.profile-portrait-insight--risk {
  border-color: rgba(251,146,60,.4);
  background: rgba(255,247,237,.95);
}
.profile-portrait-kicker {
  display: block;
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-primary);
  margin-bottom: 4px;
}
.profile-portrait-insight--risk .profile-portrait-kicker { color: #c2410c; }
.profile-portrait-insight p {
  font-size: 14px;
  font-weight: 850;
  color: var(--revo-ink);
  line-height: 1.45;
}
.profile-portrait-summary {
  margin-top: 12px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--revo-muted);
}

.profile-level-card {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.profile-level-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.profile-level-rank {
  font-size: 22px;
  font-weight: 950;
  color: var(--revo-primary);
  letter-spacing: -.03em;
}
.profile-level-name {
  margin-top: 2px;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
}
.profile-level-next {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  text-align: right;
}
.profile-level-bar {
  margin-top: 12px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,231,176,.4);
  overflow: hidden;
}
.profile-level-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--revo-secondary), var(--revo-primary));
}
.profile-level-progress {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 750;
  color: var(--revo-muted);
}
.profile-task-list { margin-top: 14px; }
.profile-task-head {
  font-size: 12px;
  font-weight: 900;
  color: var(--revo-ink);
  margin-bottom: 8px;
}
.profile-task {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,231,176,.28);
}
.profile-task-check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-muted);
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,231,176,.55);
  flex-shrink: 0;
}
.profile-task.is-done .profile-task-check {
  color: #fff;
  background: var(--revo-primary);
  border-color: var(--revo-primary);
}
.profile-task-title {
  font-size: 13px;
  font-weight: 750;
  color: var(--revo-ink);
}
.profile-task.is-done .profile-task-title {
  color: var(--revo-muted);
  text-decoration: line-through;
}

.biz-quick-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* ═══ V1.8 市场大脑 MarketBrain ═══ */
.mkt-brain-hero { padding-bottom: 8px; }
.mkt-temp-card {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 10px;
}
.mkt-temp-main,
.mkt-temp-delta {
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 28px rgba(28,25,23,.04);
  display: flex;
  flex-direction: column;
  gap: 6px;
  animation: aiFadeUp .5s ease both;
}
.mkt-temp-label,
.mkt-temp-delta-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.mkt-temp-score {
  font-size: 36px;
  font-weight: 950;
  letter-spacing: -.04em;
  color: var(--revo-primary);
  line-height: 1;
}
.mkt-temp-score em {
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  color: var(--revo-muted);
  margin-left: 2px;
}
.mkt-temp-delta-value {
  font-size: 26px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.mkt-temp-delta.is-up .mkt-temp-delta-value { color: var(--revo-primary); }
.mkt-temp-delta.is-down .mkt-temp-delta-value { color: #c2410c; }
.mkt-temp-delta-text {
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}

.mkt-cat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mkt-cat-card {
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease;
}
.mkt-cat-card:active { transform: scale(.98); }
.mkt-cat-card--down { border-color: rgba(251,146,60,.35); }
.mkt-cat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.mkt-cat-name {
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.mkt-cat-heat {
  font-size: 18px;
  font-weight: 950;
  color: var(--revo-primary);
}
.mkt-cat-trend {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #A16207;
}
.mkt-cat-card--down .mkt-cat-trend { color: #c2410c; }
.mkt-cat-judge {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--revo-muted);
}

.mkt-opp-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mkt-opp-card {
  border-radius: 20px;
  padding: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,200,87,.45);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 24px rgba(28,25,23,.04);
  animation: aiFadeUp .5s ease both;
  transition: transform .2s ease;
}
.mkt-opp-card:active { transform: scale(.985); }
.mkt-opp-name {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.mkt-opp-reasons {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mkt-opp-reasons span {
  font-size: 11px;
  font-weight: 750;
  color: #57534e;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,249,240,.9);
  border: 1px solid rgba(255,231,176,.55);
}
.mkt-opp-suggest {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 850;
  color: #A16207;
}

.mkt-price-card {
  border-radius: 24px;
  padding: 6px 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(22px);
  box-shadow: 0 14px 32px rgba(28,25,23,.04);
}
.mkt-price-row {
  padding: 13px 0;
  animation: aiFadeUp .45s ease both;
}
.mkt-price-row + .mkt-price-row {
  border-top: 1px solid rgba(255,231,176,.3);
}
.mkt-price-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mkt-price-name {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.mkt-price-range {
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-primary);
}
.mkt-price-side {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mkt-price-change {
  font-size: 12px;
  font-weight: 750;
  color: var(--revo-muted);
}
.mkt-price-judge {
  font-size: 12px;
  font-weight: 850;
  color: #A16207;
}
.mkt-price-row--warn .mkt-price-judge { color: #c2410c; }

.mkt-alert-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mkt-alert-card {
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(16px);
  animation: aiFadeUp .45s ease both;
}
.mkt-alert-title {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.mkt-alert-text {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--revo-muted);
}

/* —— SeasonTrend 品类全年淡旺季 —— */
.season-trend-section { margin-top: 4px; }
.season-trend-sub {
  margin: -4px 0 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}
.season-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  margin-bottom: 12px;
  scrollbar-width: none;
}
.season-tabs::-webkit-scrollbar { display: none; }
.season-tab {
  flex: 0 0 auto;
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(14px);
  color: var(--revo-ink);
  font-size: 13px;
  font-weight: 800;
  padding: 8px 14px;
  border-radius: 14px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.season-tab:active { transform: scale(.97); }
.season-tab.active {
  background: linear-gradient(135deg, rgba(255,140,66,.22), rgba(255,255,255,.85));
  border-color: rgba(255,140,66,.55);
  color: #c2410c;
  box-shadow: 0 4px 14px rgba(255,140,66,.12);
}
.season-summary {
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 12px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(16px);
  animation: aiFadeUp .4s ease both;
}
.season-summary-row {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 8px;
}
.season-summary-label {
  flex: 0 0 36px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.season-summary-row strong {
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  line-height: 1.4;
}
.season-summary-advice {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,231,176,.45);
}
.season-summary-kicker {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  color: #c2410c;
  margin-bottom: 4px;
}
.season-summary-advice p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: var(--revo-ink);
  line-height: 1.45;
}
.season-summary-text {
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.season-month-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.season-month-row {
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.5);
  backdrop-filter: blur(14px);
  animation: aiFadeUp .35s ease both;
}
.season-month-row--peak {
  border-color: rgba(255,140,66,.45);
  background: linear-gradient(135deg, rgba(255,140,66,.12), rgba(255,255,255,.82));
}
.season-month-row--off {
  opacity: .88;
  border-color: rgba(180,180,180,.35);
}
.season-month-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.season-month-label {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
  min-width: 32px;
}
.season-month-badge {
  font-size: 11px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,.85);
  color: var(--revo-muted);
  border: 1px solid rgba(255,231,176,.5);
}
.season-month-row--peak .season-month-badge {
  color: #c2410c;
  background: rgba(255,140,66,.15);
  border-color: rgba(255,140,66,.35);
}
.season-month-row--off .season-month-badge {
  color: #78716c;
  background: rgba(120,113,108,.08);
}
.season-month-heat {
  margin-left: auto;
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-primary);
}
.season-month-bar {
  height: 6px;
  border-radius: 99px;
  background: rgba(255,231,176,.45);
  overflow: hidden;
  margin-bottom: 8px;
}
.season-month-bar i {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #ffb06a, var(--revo-primary));
}
.season-month-row--peak .season-month-bar i {
  background: linear-gradient(90deg, #ff8c42, #e85d04);
}
.season-month-reason {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-ink);
  line-height: 1.4;
}
.season-month-suggest {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.4;
}

/* —— Industry lifecycle + SeasonCurve —— */
.analytics-card.glass-card {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.season-curve { animation: aiFadeUp .4s ease both; }
.season-curve-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
  margin-bottom: 10px;
  scrollbar-width: none;
}
.season-curve-tabs::-webkit-scrollbar { display: none; }
.season-curve-tab {
  flex: 0 0 auto;
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.75);
  color: var(--revo-ink);
  font-size: 12px;
  font-weight: 800;
  padding: 7px 12px;
  border-radius: 12px;
  cursor: pointer;
}
.season-curve-tab.active {
  background: linear-gradient(135deg, rgba(246,166,35,.22), rgba(255,255,255,.9));
  border-color: rgba(246,166,35,.55);
  color: #c2410c;
}
.season-curve-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.season-curve-meta strong {
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.season-curve-meta span {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.season-curve-svg-wrap {
  border-radius: 16px;
  padding: 6px 4px 2px;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,248,235,.35));
  border: 1px solid rgba(255,231,176,.4);
}
.season-curve-svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
}
.season-curve-grid {
  stroke: rgba(246,166,35,.12);
  stroke-width: 1;
}
.season-curve-line {
  stroke: var(--revo-primary);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.season-curve-dot {
  fill: #fff;
  stroke: var(--revo-primary);
  stroke-width: 2;
}
.season-curve-dot.is-peak {
  fill: var(--revo-primary);
  stroke: #c2410c;
}
.season-curve-xlabel {
  font-size: 9px;
  font-weight: 700;
  fill: var(--revo-muted);
}
.season-curve-legend {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-ink);
}
.season-curve-legend em {
  font-style: normal;
  color: var(--revo-primary);
  font-weight: 950;
}
.season-curve-hint {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}

.industry-tertiary-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.industry-tertiary-card {
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.5);
  backdrop-filter: blur(12px);
  animation: aiFadeUp .4s ease both;
}
.industry-tertiary-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.industry-tertiary-top strong {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.industry-tertiary-heat {
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-primary);
}
.industry-tertiary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.industry-tertiary-growth {
  font-size: 12px;
  font-weight: 900;
  color: #c2410c;
}
.industry-tertiary-season {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  padding: 2px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(255,231,176,.45);
}
.industry-tertiary-opp {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--revo-muted);
}

.industry-ai-card {
  border-radius: 16px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(246,166,35,.12), rgba(255,255,255,.85));
  border: 1px solid rgba(246,166,35,.35);
  backdrop-filter: blur(14px);
  animation: aiFadeUp .45s ease both;
}
.industry-ai-title {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.industry-ai-points {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.industry-ai-points li {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--revo-ink);
}
.industry-ai-action {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,231,176,.5);
}
.industry-ai-kicker {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  color: #c2410c;
  margin-bottom: 4px;
}
.industry-ai-action p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  color: var(--revo-ink);
}
.industry-trend-hint {
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  padding: 12px 4px;
  line-height: 1.5;
}

/* —— SeasonTrendChart 全年趋势曲线 —— */
.season-product-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
  margin-bottom: 12px;
  scrollbar-width: none;
}
.season-product-tabs::-webkit-scrollbar { display: none; }
.season-product-tab {
  flex: 0 0 auto;
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.78);
  color: var(--revo-ink);
  font-size: 13px;
  font-weight: 800;
  padding: 8px 14px;
  border-radius: 14px;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.season-product-tab:active { transform: scale(.97); }
.season-product-tab.active {
  background: linear-gradient(135deg, rgba(246,166,35,.24), rgba(255,255,255,.92));
  border-color: rgba(246,166,35,.55);
  color: #c2410c;
  box-shadow: 0 4px 14px rgba(246,166,35,.12);
}

.season-trend-chart { animation: aiFadeUp .4s ease both; }
.stc-title {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
  letter-spacing: -.01em;
}
.stc-chart-card {
  position: relative;
  border-radius: 18px;
  padding: 12px 8px 8px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.stc-y-label {
  font-size: 10px;
  font-weight: 800;
  color: var(--revo-muted);
  margin: 0 0 4px 8px;
}
.stc-svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 220px;
}
.stc-grid {
  stroke: rgba(246,166,35,.14);
  stroke-width: 1;
}
.stc-ylabel {
  font-size: 9px;
  font-weight: 700;
  fill: var(--revo-muted);
}
.stc-xlabel {
  font-size: 8px;
  font-weight: 700;
  fill: var(--revo-muted);
}
.stc-line {
  stroke: var(--revo-primary);
  stroke-width: 2.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.stc-dot {
  fill: #fff;
  stroke: var(--revo-primary);
  stroke-width: 2.25;
  cursor: pointer;
  transition: r .15s ease;
}
.stc-dot:hover,
.stc-dot:active {
  fill: var(--revo-primary);
  stroke: #c2410c;
}
.stc-tooltip {
  position: absolute;
  z-index: 5;
  min-width: 88px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(28,25,23,.92);
  color: #fff;
  pointer-events: none;
  box-shadow: 0 8px 20px rgba(28,25,23,.18);
}
.stc-tooltip strong {
  display: block;
  font-size: 13px;
  font-weight: 900;
}
.stc-tooltip span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  opacity: .9;
}
.stc-tooltip em {
  display: inline-block;
  margin-top: 4px;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  color: #F6A623;
}
.stc-empty {
  padding: 28px 12px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  border-radius: 16px;
  background: rgba(255,255,255,.55);
  border: 1px dashed rgba(255,231,176,.65);
}
.stc-insight {
  margin-top: 12px;
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(14px);
}
.stc-insight-row {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 8px;
}
.stc-insight-label {
  flex: 0 0 36px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.stc-insight-row strong {
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
}
.stc-insight-block {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,231,176,.45);
}
.stc-insight-kicker {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  color: #c2410c;
  margin-bottom: 4px;
}
.stc-insight-block p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  color: var(--revo-ink);
}

/* 隐藏旧月份卡片样式残留（不再渲染） */
.season-month-list { display: none !important; }

/* —— V1.9 库存大脑闭环 —— */
.ib-page .glass-card,
.ib-dash-page .glass-card {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 18px;
}

.ib-result-meta { padding: 14px 16px; }
.ib-result-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 6px 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ib-result-meta-row strong {
  font-weight: 950;
  color: var(--revo-ink);
}

.ib-confirm-card { padding: 16px; }
.ib-confirm-name {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ib-confirm-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.ib-confirm-specs span {
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(255,231,176,.5);
  color: var(--revo-muted);
}
.ib-confirm-market {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.ib-confirm-market > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ib-confirm-market strong {
  font-weight: 950;
  color: var(--revo-ink);
}
.ib-confirm-market .is-profit { color: var(--revo-primary); }

.ib-dash-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 14px 10px;
}
.ib-dash-stat {
  text-align: center;
  padding: 6px 4px;
}
.ib-dash-stat-label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  margin-bottom: 6px;
}
.ib-dash-stat strong {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ib-dash-stat--profit strong { color: var(--revo-primary); }

.ib-diag-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ib-diag-card {
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--revo-ink);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.5);
  animation: aiFadeUp .4s ease both;
}
.ib-diag-card--warn {
  border-color: rgba(251,146,60,.4);
  background: linear-gradient(135deg, rgba(251,146,60,.1), rgba(255,255,255,.85));
}
.ib-diag-card--good {
  border-color: rgba(246,166,35,.45);
  background: linear-gradient(135deg, rgba(246,166,35,.12), rgba(255,255,255,.85));
}
.ib-diag-card--tip { color: var(--revo-muted); }

.ib-dash-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ib-dash-item {
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.5);
  backdrop-filter: blur(12px);
  cursor: pointer;
  animation: aiFadeUp .35s ease both;
}
.ib-dash-item:active { transform: scale(.985); }
.ib-dash-item-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.ib-dash-item-top h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ib-dash-item-action {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 900;
  color: #c2410c;
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(246,166,35,.14);
}
.ib-dash-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ib-dash-item-reason {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.4;
}
.ib-dash-empty {
  padding: 18px 12px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}

.ib-detail-hero { padding: 16px; }
.ib-detail-name {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ib-detail-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ib-detail-specs span {
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(255,231,176,.5);
  color: var(--revo-muted);
}
.ib-detail-metrics {
  padding: 8px 16px 14px;
  display: flex;
  flex-direction: column;
}
.ib-detail-metric {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,231,176,.4);
}
.ib-detail-metric:last-child { border-bottom: 0; }
.ib-detail-metric span {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ib-detail-metric strong {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
  text-align: right;
}
.ib-detail-metric .is-profit { color: var(--revo-primary); }

.ib-advice-card {
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(246,166,35,.14), rgba(255,255,255,.88));
  border: 1px solid rgba(246,166,35,.4);
  backdrop-filter: blur(14px);
  animation: aiFadeUp .45s ease both;
}
.ib-advice-card--risk {
  background: linear-gradient(135deg, rgba(251,146,60,.14), rgba(255,255,255,.88));
  border-color: rgba(251,146,60,.4);
}
.ib-advice-card--wait {
  background: linear-gradient(135deg, rgba(255,231,176,.25), rgba(255,255,255,.88));
}
.ib-advice-kicker {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  color: #c2410c;
  margin-bottom: 8px;
}
.ib-advice-action {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ib-advice-reason {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 800;
  color: var(--revo-ink);
  line-height: 1.45;
}
.ib-advice-reason span { color: var(--revo-muted); font-weight: 800; }
.ib-advice-detail {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}

/* —— V2.0 今日经营提醒 + AI行动 —— */
.daily-insight-section { margin-top: 4px; }
.daily-insight-sub {
  margin: -4px 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}
.daily-insight-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.daily-insight-card {
  display: block;
  width: 100%;
  text-align: left;
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  cursor: pointer;
  animation: aiFadeUp .4s ease both;
  transition: transform .15s ease;
}
.daily-insight-card:active { transform: scale(.985); }
.daily-insight-card--opportunity {
  border-color: rgba(246,166,35,.45);
  background: linear-gradient(135deg, rgba(246,166,35,.12), rgba(255,255,255,.88));
}
.daily-insight-card--risk {
  border-color: rgba(251,146,60,.4);
  background: linear-gradient(135deg, rgba(251,146,60,.1), rgba(255,255,255,.88));
}
.daily-insight-card--sell {
  border-color: rgba(255,200,87,.5);
}
.daily-insight-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.daily-insight-icon { font-size: 15px; }
.daily-insight-label {
  font-size: 12px;
  font-weight: 900;
  color: #c2410c;
}
.daily-insight-text {
  margin: 0;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  line-height: 1.4;
}
.daily-insight-suggest {
  margin: 6px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.daily-insight-empty {
  padding: 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
}

.ib-action-label {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
}
.ib-action-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ib-action-btn {
  width: 100%;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  border: 1px solid rgba(255,231,176,.6);
  background: rgba(255,255,255,.82);
  color: var(--revo-ink);
  backdrop-filter: blur(12px);
  transition: transform .15s ease, background .2s ease;
}
.ib-action-btn:active { transform: scale(.98); }
.ib-action-btn--watch {
  border-color: rgba(246,166,35,.45);
}
.ib-action-btn--alert {
  border-color: rgba(251,146,60,.4);
  color: #c2410c;
}
.ib-action-btn--sell {
  background: linear-gradient(135deg, rgba(246,166,35,.92), rgba(232,140,40,.95));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 20px rgba(246,166,35,.28);
}

/* —— Homepage ask-first layout —— */
.ai-welcome--shifted {
  margin-top: 4px;
}
.ai-section-top-entry {
  margin-top: 2px;
  margin-bottom: 4px;
}
.ai-ask-card--top {
  padding: 20px 18px;
  border-radius: 24px;
  box-shadow:
    0 16px 34px rgba(246,166,35,.12),
    0 0 0 1px rgba(255,255,255,.58) inset;
}
.ai-ask-card--top .ai-ask-kicker {
  color: var(--revo-ink);
}
.ai-ask-card--top .ai-ask-hint {
  color: var(--revo-muted);
  font-weight: 700;
}
.ai-ask-card--top .ai-ask-cta {
  margin-top: 12px;
  color: #c2410c;
}
.ai-ask-card--top .ai-ask-mode {
  font-weight: 800;
  border-color: rgba(255,231,176,.72);
}

/* ═══ Mobile First · 375px 适配（不改视觉风格） ═══ */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body {
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  -webkit-tap-highlight-color: rgba(246,166,35,.12);
  touch-action: manipulation;
}

.container,
.home-container,
.search-container {
  width: 100%;
  max-width: 100%;
  padding-left: max(14px, env(safe-area-inset-left, 0px));
  padding-right: max(14px, env(safe-area-inset-right, 0px));
  padding-bottom: calc(118px + env(safe-area-inset-bottom, 0px));
}
.home-container {
  max-width: min(430px, 100%);
}
#page-brain .home-container {
  max-width: 100%;
}

/* 底部导航：固定 + 安全区 + 触控热区 */
.bottom-nav {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100%;
  max-width: 100%;
  z-index: 300;
  padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 24px rgba(28,25,23,.06);
}
.nav-item {
  min-height: 44px;
  min-width: 56px;
  font-size: 11px;
  font-weight: 800;
  -webkit-user-select: none;
  user-select: none;
}
.nav-item.nav-center {
  min-width: 72px;
  max-width: 80px;
}
.nav-icon { font-size: 22px; }
.nav-center-label { font-size: 12px; }

/* 触控输入：防 iOS 自动放大，保证点击热区 */
.form-input,
.form-select,
.ai-capture-cost-input,
.search-field input,
.search-field select,
input[type="text"],
input[type="number"],
input[type="search"],
textarea,
select {
  min-height: 48px;
  font-size: 16px !important;
  line-height: 1.35;
  border-radius: 14px;
  -webkit-appearance: none;
  appearance: none;
}
.form-label,
.ai-capture-cost-label {
  font-size: 13px;
  margin-bottom: 8px;
}
.form-btn,
.ai-capture-confirm,
.ai-capture-retry,
.subscribe-btn,
.ib-action-btn,
.inv-entry-primary,
.ai-ask-mode {
  min-height: 48px;
  font-size: 15px;
}

/* 卡片：小屏不挤、不横向溢出 */
.ai-ask-card,
.ai-opp-card,
.ai-notice-card,
.ai-trend-card,
.inv-brain-card,
.ib-detail-hero,
.ib-detail-metrics,
.ib-advice-card,
.daily-insight-card,
.mkt-temp-card,
.mkt-cat-card,
.mkt-opp-card,
.analytics-card,
.glass-card,
.trade-dec-card,
.season-summary,
.stc-chart-card,
.stc-insight {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.ai-ask-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.ai-ask-mode {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 6px;
  white-space: nowrap;
  font-size: 12px;
}

/* 拍照入口：摄像头 + 相册 */
.ai-capture-alt-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ai-capture-alt-btn,
.ai-capture-demo-btn {
  min-height: 48px;
  margin: 0;
  padding: 12px 10px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,231,176,.55);
  cursor: pointer;
}
.ai-capture-upload-btn {
  min-height: 140px;
  padding: 28px 14px;
}
.ai-capture-preview,
.ai-capture-preview--sm {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/* 375 断点：更紧凑、字体可读 */
@media (max-width: 390px) {
  .container,
  .home-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .ai-welcome-title,
  .dash-title,
  .ib-detail-name {
    font-size: 22px;
    line-height: 1.2;
  }
  .ai-ask-kicker { font-size: 17px; }
  .ai-ask-hint,
  .ai-welcome-sub,
  .dash-subtitle {
    font-size: 13px;
  }
  .ai-ask-cta { font-size: 14px; }

  .ai-stat-grid,
  .inv-brain-overview,
  .biz-score-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .ib-dash-stats {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .ib-dash-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding: 8px 4px;
    border-bottom: 1px solid rgba(255,231,176,.35);
  }
  .ib-dash-stat:last-child { border-bottom: 0; }
  .ib-dash-stat-label { margin-bottom: 0; font-size: 12px; }
  .ib-dash-stat strong { font-size: 17px; }

  .mkt-cat-grid,
  .season-tabs,
  .season-product-tabs,
  .season-curve-tabs,
  .category-filter-row {
    gap: 8px;
  }

  .inv-brain-stat-value,
  .biz-score-value {
    font-size: 18px;
  }
  .inv-brain-stat-label,
  .biz-score-label,
  .daily-insight-suggest,
  .mkt-cat-judge {
    font-size: 12px;
  }

  .ai-section-title { font-size: 15px; }
  .ai-opp-name,
  .daily-insight-text,
  .ib-dash-item-top h4 {
    font-size: 14px;
  }

  .page-hero,
  .dash-hero,
  .industry-hero,
  .ai-ask-card,
  .inv-brain-card {
    border-radius: 20px;
    padding: 16px 14px;
  }

  .stc-svg { max-height: 180px; }
  .stc-xlabel { font-size: 8px; }

  .ai-capture-alt-row {
    grid-template-columns: 1fr;
  }
}

/* 超小屏（SE / 窄机） */
@media (max-width: 360px) {
  .ai-ask-modes { gap: 6px; }
  .ai-ask-mode { font-size: 11px; padding: 10px 4px; }
  .nav-item { font-size: 10px; }
  .nav-item.nav-center { margin-top: -18px; }
  .nav-item.nav-center .nav-icon-wrap {
    width: 50px;
    height: 50px;
    font-size: 20px;
  }
}

/* 桌面居中时底栏仍固定 */
@media (min-width: 760px) {
  .bottom-nav {
    left: 50% !important;
    right: auto !important;
    width: 100%;
    max-width: 520px;
    transform: translateX(-50%);
  }
}

/* —— V2.0 MVP 首页英雄入口 + 首次体验 —— */
.ai-dash--mvp {
  padding-bottom: 8px;
}
.ai-ask-card--hero {
  display: block;
  width: 100%;
  text-align: left;
  padding: 22px 18px 18px;
  border-radius: 24px;
  cursor: default;
  background:
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(255,248,237,.62));
  border: 1px solid rgba(255,231,176,.75);
  box-shadow:
    0 16px 36px rgba(246,166,35,.12),
    0 0 0 1px rgba(255,255,255,.6) inset;
  backdrop-filter: blur(22px);
}
.ai-ask-hero-copy {
  margin: 10px 0 0;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.03em;
  color: var(--revo-ink);
}
.ai-ask-modes--hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 18px;
}
.ai-ask-modes--hero .ai-ask-mode {
  width: 100%;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(255,231,176,.7);
  background: rgba(255,255,255,.9);
  color: var(--revo-ink);
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .15s ease, background .2s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  padding: 14px 16px;
  text-align: left;
}
.ai-ask-modes--hero .ai-ask-mode:active {
  transform: scale(.98);
  background: rgba(255,249,240,.98);
}
.ai-ask-modes--hero .ai-ask-mode--primary,
.ai-ask-modes--hero .ai-ask-mode[data-mode="batch"] {
  background: linear-gradient(135deg, rgba(246,166,35,.95), rgba(232,140,40,.95));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 22px rgba(246,166,35,.25);
}
.ai-ask-modes--hero .ai-ask-mode-title {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.3;
}
.ai-ask-modes--hero .ai-ask-mode-sub {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  opacity: .78;
}

/* 智脑首页 · 紧凑 库存拍照上传 */
.ai-section-top-entry--compact {
  margin-top: 2px;
  margin-bottom: 4px;
}
.ai-ask-card--compact {
  border-radius: 18px;
  padding: 12px 14px 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 231, 176, 0.7);
  box-shadow: 0 10px 24px rgba(28, 25, 23, 0.04);
  backdrop-filter: blur(18px);
}
.ai-ask-compact-sub {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
  color: var(--revo-muted, #78716c);
}
.ai-ask-modes--compact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.ai-ask-modes--compact .ai-ask-mode {
  width: 100%;
  min-height: 0;
  border-radius: 14px;
  border: 1px solid rgba(255, 231, 176, 0.7);
  background: rgba(255, 255, 255, 0.92);
  color: var(--revo-ink);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  padding: 10px 12px;
  text-align: left;
  transition: transform .15s ease, background .2s ease;
}
.ai-ask-modes--compact .ai-ask-mode:active {
  transform: scale(.98);
}
.ai-ask-modes--compact .ai-ask-mode--primary,
.ai-ask-modes--compact .ai-ask-mode[data-mode="photo"] {
  background: linear-gradient(135deg, rgba(255, 138, 61, 0.95), rgba(255, 122, 47, 0.95));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 18px rgba(255, 138, 61, 0.25);
}
.ai-ask-modes--compact .ai-ask-mode-title {
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}
.ai-ask-modes--compact .ai-ask-mode-sub {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  opacity: .8;
}
@media (max-width: 360px) {
  .ai-ask-modes--compact {
    grid-template-columns: 1fr;
  }
}

.first-exp-section { margin-top: 2px; }
.fx-card {
  border-radius: 22px;
  padding: 16px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(255,231,176,.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 28px rgba(28,25,23,.04);
  animation: aiFadeUp .45s ease both;
}
.fx-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  color: #c2410c;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(246,166,35,.14);
  border: 1px solid rgba(246,166,35,.28);
}
.fx-title {
  margin: 10px 0 4px;
  font-size: 17px;
  font-weight: 950;
  color: var(--revo-ink);
}
.fx-sub {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}
.fx-demo-btn {
  width: 100%;
  margin-top: 14px;
  text-align: left;
  border: 1px dashed rgba(246,166,35,.55);
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(246,166,35,.1), rgba(255,255,255,.9));
  cursor: pointer;
  transition: transform .15s ease;
}
.fx-demo-btn:active { transform: scale(.985); }
.fx-demo-icon { display: block; font-size: 28px; margin-bottom: 8px; }
.fx-demo-name {
  display: block;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.fx-demo-hint {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.fx-result { margin-top: 12px; animation: aiFadeUp .4s ease both; }
.fx-block {
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,231,176,.45);
}
.fx-block-kicker {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 900;
  color: #c2410c;
}
.fx-product-name {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 950;
  color: var(--revo-ink);
}
.fx-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.fx-field {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.fx-field strong {
  font-weight: 900;
  color: var(--revo-ink);
}
.fx-confidence {
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-primary);
}
.fx-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.fx-metric span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  margin-bottom: 4px;
}
.fx-metric strong {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.fx-metric .is-profit { color: var(--revo-primary); }
.fx-advice {
  border-radius: 16px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(246,166,35,.14), rgba(255,255,255,.9));
  border: 1px solid rgba(246,166,35,.4);
}
.fx-advice-title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.fx-advice-desc {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--revo-muted);
}
.fx-advice-reasons {
  margin: 10px 0 0;
  padding-left: 18px;
}
.fx-advice-reasons li {
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-ink);
  line-height: 1.45;
  margin-bottom: 4px;
}
.fx-tip {
  margin: 12px 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}
.fx-cta-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fx-cta-primary,
.fx-cta-secondary {
  width: 100%;
  min-height: 50px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 950;
  cursor: pointer;
}
.fx-cta-primary {
  border: none;
  color: #fff;
  background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  box-shadow: 0 10px 22px rgba(246,166,35,.22);
}
.fx-cta-secondary {
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.88);
  color: var(--revo-ink);
}
.fx-cta-primary:active,
.fx-cta-secondary:active { transform: scale(.985); }

@media (min-width: 390px) {
  .ai-ask-modes--hero {
    grid-template-columns: 1fr;
  }
  .ai-ask-modes--hero .ai-ask-mode {
    min-height: 56px;
    font-size: 15px;
    padding: 14px 16px;
  }
  .ai-ask-hero-copy { font-size: 24px; }
}

@media (max-width: 375px) {
  .ai-ask-hero-copy { font-size: 20px; }
  .fx-fields,
  .fx-metrics { grid-template-columns: 1fr; }
  .ai-dash-header { padding: 4px 0 8px; }
  .page.active {
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
  }
}

/* —— V2.1 Onboarding · 商家 SaaS 首次进入 —— */
body.onboarding-active .bottom-nav {
  display: none !important;
}
body.onboarding-active {
  padding-bottom: 24px;
}
.onb-page {
  min-height: calc(100vh - 40px);
  padding: 8px 0 32px;
  animation: aiFadeUp .4s ease both;
}
.onb-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.onb-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #FFE7B0, #F6A623 55%, #e07a1a);
  box-shadow: 0 6px 16px rgba(246,166,35,.28);
}
.onb-brand strong {
  font-size: 18px;
  font-weight: 950;
  color: var(--revo-ink);
}
.onb-card {
  border-radius: 24px;
  padding: 22px 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,231,176,.6);
  backdrop-filter: blur(20px);
  box-shadow: 0 16px 36px rgba(28,25,23,.05);
}
.onb-kicker {
  margin: 0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  color: #c2410c;
}
.onb-title {
  margin: 10px 0 8px;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: var(--revo-ink);
  line-height: 1.25;
}
.onb-desc {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.onb-points {
  margin: 0 0 20px;
  padding-left: 18px;
}
.onb-points li {
  font-size: 14px;
  font-weight: 700;
  color: var(--revo-ink);
  line-height: 1.55;
  margin-bottom: 6px;
}
.onb-label {
  display: block;
  margin: 14px 0 8px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-muted);
}
.onb-input {
  display: block;
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.7);
  background: rgba(255,255,255,.95);
  font-size: 16px;
  font-weight: 700;
  color: var(--revo-ink);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.onb-input:focus {
  border-color: rgba(246,166,35,.7);
  box-shadow: 0 0 0 3px rgba(255,231,176,.45);
}
.onb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}
.onb-chip {
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.8);
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
  cursor: pointer;
}
.onb-chip.active {
  background: linear-gradient(135deg, rgba(246,166,35,.2), rgba(255,255,255,.92));
  border-color: rgba(246,166,35,.55);
  color: #c2410c;
}
.onb-primary,
.onb-secondary {
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 950;
  cursor: pointer;
}
.onb-primary {
  border: none;
  color: #fff;
  background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  box-shadow: 0 10px 22px rgba(246,166,35,.22);
}
.onb-secondary {
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.85);
  color: var(--revo-ink);
}
.onb-primary:active,
.onb-secondary:active { transform: scale(.985); }

/* ═══ AI智能入库 V1.0 ═══ */
.ie-kicker {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  color: var(--revo-primary);
}
.ie-back {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--revo-muted);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  text-align: left;
}
.ie-hub-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ie-hub-card {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 72px;
  text-align: left;
  cursor: pointer;
  border-radius: 22px;
  padding: 16px;
  border: 1px solid rgba(255, 200, 87, .45);
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,249,240,.88)),
    linear-gradient(135deg, rgba(246,166,35,.1), rgba(255,200,87,.06));
  box-shadow: 0 12px 28px rgba(246,166,35,.1);
  backdrop-filter: blur(16px);
  transition: transform .2s ease;
}
.ie-hub-card:active { transform: scale(.985); }
.ie-hub-card--secondary {
  min-height: 56px;
  border-color: rgba(255,231,176,.5);
  background: rgba(255,255,255,.72);
  box-shadow: none;
}
.ie-hub-card-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(255,231,176,.7);
}
.ie-hub-card-icon--sm {
  width: 40px;
  height: 40px;
  font-size: 18px;
  border-radius: 12px;
}
.ie-hub-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ie-hub-card-title {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-primary);
}
.ie-hub-card--secondary .ie-hub-card-title {
  font-size: 14px;
  color: var(--revo-ink);
}
.ie-hub-card-sub {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.4;
}
.ie-hub-card-arrow {
  font-size: 22px;
  color: var(--revo-primary);
  font-weight: 300;
}
.inv-import-hint {
  margin: 10px 0 0;
  font-size: 12px;
  color: rgba(60, 40, 20, 0.55);
  line-height: 1.45;
}

/* 销售数据类型选择 */
.sales-range-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sales-range-option {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 200, 87, 0.45);
  background: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-ink);
  cursor: pointer;
}
.sales-range-option input {
  margin: 0;
  accent-color: var(--revo-primary);
}
.sales-range-option.is-active {
  background: rgba(255, 231, 176, 0.55);
  border-color: rgba(255, 170, 40, 0.7);
  color: var(--revo-primary);
}

.inv-import-ai-msg {
  margin: 0 0 10px;
  font-size: 13px;
  color: rgba(60, 40, 20, 0.72);
}
.inv-import-chip--map {
  background: rgba(255, 140, 60, 0.12);
  border-color: rgba(255, 140, 60, 0.28);
}
.ai-ask-modes--datacenter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.ai-ask-modes--datacenter .ai-ask-mode {
  text-align: left;
  padding: 12px 14px;
}
.ai-ask-modes--datacenter .ai-ask-mode-title {
  display: block;
  font-size: 14px;
}
.ai-ask-modes--datacenter .ai-ask-mode-sub {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  opacity: 0.7;
}
/* ═══ V17.1 数据导入中心 Data Import Center ═══ */
.dic-page .ai-welcome {
  margin-bottom: 4px;
}
.dic-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dic-card {
  border-radius: 22px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 231, 176, 0.55);
  backdrop-filter: blur(18px);
  box-shadow: 0 10px 28px rgba(28, 25, 23, 0.04);
}
.dic-card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.dic-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 22px;
  background: rgba(255, 249, 240, 0.95);
  border: 1px solid rgba(255, 231, 176, 0.55);
  flex-shrink: 0;
}
.dic-card-titles {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.dic-card-title {
  margin: 0;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: -0.02em;
  color: var(--revo-ink);
}
.dic-status {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
}
.dic-status--ok {
  color: #2f7d4a;
  background: rgba(47, 125, 74, 0.1);
}
.dic-status--empty {
  color: var(--revo-muted);
  background: rgba(120, 100, 80, 0.08);
}
.dic-metrics {
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 1fr;
  gap: 8px;
}
.dic-metrics dt {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.dic-metrics dd {
  margin: 4px 0 0;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-ink);
  letter-spacing: -0.02em;
  word-break: break-all;
}
.dic-card-btn {
  margin-top: 14px;
  width: 100%;
  border: 0;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #f59e0b, #ea580c);
  box-shadow: 0 8px 18px rgba(234, 88, 12, 0.22);
  cursor: pointer;
}
.dic-card-btn:active {
  transform: scale(0.985);
}
.dic-card--sales .dic-card-btn {
  background: linear-gradient(135deg, #fbbf24, #f97316);
}
.dic-progress-list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dic-progress-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--revo-ink);
}
.dic-progress-head strong {
  font-size: 12px;
  color: var(--revo-primary);
}
.dic-progress-track {
  height: 8px;
  border-radius: 999px;
  background: rgba(120, 100, 80, 0.1);
  overflow: hidden;
}
.dic-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #fbbf24, #ea580c);
  transition: width 0.35s ease;
}
.dic-complete-note {
  margin: 12px 0 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--revo-muted);
}
.dic-status--warn {
  background: rgba(234, 88, 12, 0.12);
  color: #c2410c;
}
.dic-status--ready {
  background: rgba(47, 125, 74, 0.12);
  color: #2f7d4a;
}
.dic-status--watch {
  background: rgba(251, 191, 36, 0.15);
  color: #b45309;
}
.dic-metrics--4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 420px) {
  .dic-metrics--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.dic-card--analysis.is-ready {
  border-color: rgba(47, 125, 74, 0.25);
}
.dic-card--pending {
  border-color: rgba(234, 88, 12, 0.2);
}
.dic-unmatched-list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dic-unmatched-reason {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-ink);
}
.dic-unmatched-reason em {
  grid-column: 1 / -1;
  font-style: normal;
  font-weight: 600;
  color: var(--revo-muted);
  line-height: 1.4;
}
.dic-unmatched-reason span {
  color: #c2410c;
  font-weight: 900;
}
.dic-unmatched-rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
.dic-unmatched-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(120, 100, 80, 0.06);
}
.dic-unmatched-name {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-ink);
}
.dic-unmatched-meta {
  font-size: 11px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.4;
}
.dic-card-btn--ghost {
  background: transparent;
  border: 1px dashed rgba(120, 100, 80, 0.25);
  color: var(--revo-muted);
}
.dic-unmatched-panel {
  margin: 0 0 16px;
  padding: 0 4px;
}
.dic-unmatched-panel-inner {
  padding: 14px;
  border-radius: 20px;
  background: rgba(120, 100, 80, 0.06);
  border: 1px solid rgba(120, 100, 80, 0.1);
}
.dic-unmatched-panel-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-ink);
}
.dic-import-analysis .dic-card {
  margin: 0;
}
.dic-import-analysis .inv-import-confirm {
  width: 100%;
  margin-top: 12px;
}
.inv-import-success-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ie-hub-note {
  margin: 8px 4px 24px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}

.ie-slot-list { display: flex; flex-direction: column; gap: 12px; }
.ie-slot {
  padding: 14px;
  border-radius: 20px;
}
.ie-slot-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
}
.ie-slot-head strong {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ie-slot-head span {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ie-slot-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ie-slot-actions--center { justify-content: center; }
.ie-slot-btn {
  flex: 1;
  min-width: 120px;
  min-height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  box-shadow: 0 8px 18px rgba(246,166,35,.2);
}
.ie-slot-btn--ghost {
  color: var(--revo-ink);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(255,231,176,.65);
  box-shadow: none;
}
.ie-slot-preview {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: #f5f5f4;
}
.ie-slot-preview img {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: cover;
}
.ie-slot-preview--tall img { max-height: 260px; }
.ie-slot-clear {
  position: absolute;
  top: 8px;
  right: 8px;
  min-height: 36px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 0;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  background: rgba(28,25,23,.72);
  color: #fff;
}
.ie-sheet-upload {
  padding: 20px 16px;
  border-radius: 22px;
  border: 1px dashed rgba(255,200,87,.65);
  text-align: center;
}
.ie-sheet-hint {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ie-sheet-tips {
  margin: 0 0 16px;
  padding-left: 18px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.7;
}
.ie-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  font-weight: 850;
  color: var(--revo-ink);
}
.ie-textarea,
.ie-input {
  width: 100%;
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.7);
  background: rgba(255,255,255,.92);
  padding: 12px 14px;
  font-size: 16px;
  color: var(--revo-ink);
  box-sizing: border-box;
}
.ie-textarea { min-height: 72px; resize: vertical; }
.ie-progress {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  margin-bottom: 12px;
  border-radius: 18px;
}
.ie-progress strong {
  display: block;
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ie-progress p {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
}
.ie-progress-dot {
  width: 12px;
  height: 12px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--revo-primary);
  animation: ie-pulse 1s ease-in-out infinite;
}
@keyframes ie-pulse {
  0%, 100% { opacity: .35; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.1); }
}
.ie-error {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(248,113,113,.12);
  border: 1px solid rgba(248,113,113,.35);
  color: #b91c1c;
  font-size: 13px;
  font-weight: 800;
}
.ie-footer-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 28px;
}
.ie-primary-btn,
.ie-secondary-btn {
  width: 100%;
  min-height: 52px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 950;
  cursor: pointer;
}
.ie-primary-btn {
  border: none;
  color: #fff;
  background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  box-shadow: 0 10px 22px rgba(246,166,35,.22);
}
.ie-primary-btn:disabled,
.ie-secondary-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.ie-secondary-btn {
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.85);
  color: var(--revo-ink);
}
.ie-primary-btn:active,
.ie-secondary-btn:active { transform: scale(.985); }

.ie-review-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 16px;
}
.ie-review-card {
  padding: 14px;
  border-radius: 20px;
}
.ie-review-card-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.ie-review-card-top strong {
  font-size: 14px;
  font-weight: 950;
}
.ie-conf {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ie-row-del {
  margin-left: auto;
  min-height: 36px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(248,113,113,.35);
  background: rgba(254,226,226,.7);
  color: #b91c1c;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.ie-review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ie-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  font-weight: 850;
  color: var(--revo-muted);
}
.ie-field.is-uncertain .ie-input {
  background: rgba(255, 237, 213, .95);
  border-color: rgba(251, 146, 60, .65);
  box-shadow: inset 0 0 0 1px rgba(251, 146, 60, .15);
}
.ie-empty {
  padding: 24px 8px;
  font-size: 14px;
  font-weight: 800;
  color: var(--revo-muted);
}

@media (max-width: 375px) {
  .ie-hub-card { padding: 14px; }
  .ie-review-grid { grid-template-columns: 1fr; }
  .ie-slot-btn { min-width: 0; }
}

/* ═══════════════════════════════════════════════════
   Responsive · 手机 / 平板 / PC（同一套业务，布局切换）
   断点：≤767 · 768–1199 · ≥1200
   ═══════════════════════════════════════════════════ */

.brain-layout,
.mkt-layout {
  display: block;
}
.brain-col,
.mkt-col {
  min-width: 0;
}

/* 手机：隐藏 PC 侧栏与 PC 专用表格；生意页保留卡片 */
.pc-side-nav { display: none; }
.biz-pc-inv { display: none; }
.ib-pc-table-section { display: none; }

@media (max-width: 767px) {
  .home-container {
    max-width: min(430px, 100%);
  }
  .biz-pc-inv,
  .ib-pc-table-section {
    display: none !important;
  }
}

/* —— 平板 768–1199：两列，保留底栏 —— */
@media (min-width: 768px) and (max-width: 1199px) {
  body {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .home-container,
  .container {
    max-width: min(920px, 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .brain-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
  }
  .mkt-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 16px;
    align-items: start;
  }
  .mkt-cat-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .biz-pc-inv { display: block; }
  .biz-mobile-blocks { display: none; }
  .ib-pc-table-section { display: block; }
  .ib-dash-list { display: none; }
  .bottom-nav {
    max-width: 560px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    border-radius: 20px 20px 0 0;
  }
  .ie-hub-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .ie-hub-card--secondary {
    grid-column: 1 / -1;
  }
}

/* —— PC ≥1200：侧栏 + 最大 1280 —— */
@media (min-width: 1200px) {
  body {
    padding-bottom: 32px;
    padding-left: 220px;
  }
  body.onboarding-active {
    padding-left: 0;
  }
  body.onboarding-active .pc-side-nav {
    display: none;
  }

  .pc-side-nav {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 200px;
    z-index: 400;
    padding: 20px 14px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,249,240,.92));
    border-right: 1px solid rgba(255,231,176,.55);
    box-shadow: 8px 0 28px rgba(28,25,23,.04);
    backdrop-filter: blur(18px);
  }
  .pc-side-brand {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 24px;
    padding: 4px 8px;
  }
  .pc-side-brand strong {
    font-size: 20px;
    font-weight: 950;
    color: var(--revo-primary);
    letter-spacing: -.02em;
  }
  .pc-side-brand > span:last-child {
    font-size: 12px;
    font-weight: 700;
    color: var(--revo-muted);
  }
  .pc-side-logo {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    margin-bottom: 8px;
    background: linear-gradient(135deg, var(--revo-primary), var(--revo-secondary));
  }
  .pc-side-tabs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }
  .pc-side-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid transparent;
    background: transparent;
    font-size: 15px;
    font-weight: 850;
    color: var(--revo-ink);
    cursor: pointer;
    text-align: left;
  }
  .pc-side-item:hover {
    background: rgba(255,255,255,.8);
    border-color: rgba(255,231,176,.5);
  }
  .pc-side-item.active {
    background: linear-gradient(135deg, rgba(246,166,35,.16), rgba(255,255,255,.9));
    border-color: rgba(246,166,35,.45);
    color: #c2410c;
  }
  .pc-side-icon { font-size: 18px; }
  .pc-side-foot {
    margin: 12px 4px 0;
    font-size: 11px;
    font-weight: 700;
    color: var(--revo-muted);
    line-height: 1.4;
  }

  .bottom-nav {
    display: none !important;
  }

  .home-container,
  .container,
  .search-container {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 40px;
  }

  .brain-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 20px;
    align-items: start;
  }
  .brain-col--left,
  .brain-col--right {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .mkt-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
  }
  .mkt-cat-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mkt-season-enlarge .season-curve,
  .mkt-season-enlarge svg,
  .mkt-season-enlarge canvas {
    min-height: 220px;
  }

  .biz-pc-inv { display: block; }
  .biz-mobile-blocks { display: none; }
  .ib-pc-table-section { display: block; }
  .ib-dash-page .ib-dash-list { display: none; }

  .ie-hub-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    max-width: 880px;
  }
  .ie-hub-card--secondary { grid-column: 1 / -1; max-width: 100%; }

  .ai-welcome-title { font-size: 28px; }
  .ai-ask-hero-copy { font-size: 22px; }
  .ai-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* 库存表格（平板 / PC） */
.biz-pc-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.biz-pc-kpis > div {
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,231,176,.55);
  text-align: center;
}
.biz-pc-kpis span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  margin-bottom: 6px;
}
.biz-pc-kpis strong {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.biz-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 18px;
  border: 1px solid rgba(255,231,176,.55);
  background: rgba(255,255,255,.88);
}
.biz-inv-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 720px;
}
.biz-inv-table th,
.biz-inv-table td {
  padding: 12px 10px;
  text-align: left;
  border-bottom: 1px solid rgba(255,231,176,.45);
  vertical-align: top;
}
.biz-inv-table th {
  font-size: 11px;
  font-weight: 900;
  color: var(--revo-muted);
  background: rgba(255,249,240,.9);
  white-space: nowrap;
}
.biz-inv-table tbody tr:hover {
  background: rgba(255,247,237,.9);
}
.biz-inv-table tbody tr {
  cursor: pointer;
}
.biz-table-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(255,231,176,.6);
}
.biz-table-status--earn { color: #c2410c; border-color: rgba(246,166,35,.5); }
.biz-table-status--risk { color: #b91c1c; border-color: rgba(248,113,113,.45); }
.biz-table-status--wait { color: var(--revo-muted); }

.mkt-deep-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mkt-deep-btn {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.65);
  background: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  color: var(--revo-ink);
}
.mkt-opp-grid {
  display: grid;
  gap: 10px;
}
@media (min-width: 768px) {
  .mkt-opp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 防止任意宽度横向滚动 */
.page,
.ai-dash,
.brain-layout,
.mkt-layout,
.biz-page {
  max-width: 100%;
  overflow-x: clip;
}

/* ═══ Inventory Brain V1.5 ═══ */
.ibv-home-entry {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 64px;
  text-align: left;
  cursor: pointer;
  border-radius: 20px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 200, 87, .55);
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,249,240,.9)),
    linear-gradient(135deg, rgba(246,166,35,.14), rgba(255,200,87,.06));
  box-shadow: 0 12px 28px rgba(246,166,35,.12);
  backdrop-filter: blur(16px);
  transition: transform .2s ease;
}
.ibv-home-entry:active { transform: scale(.985); }
.ibv-home-entry-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 20px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(255,231,176,.7);
  flex-shrink: 0;
}
.ibv-home-entry-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ibv-home-entry-title {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-primary);
}
.ibv-home-entry-sub {
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.35;
}
.ibv-home-entry-arrow {
  font-size: 22px;
  color: var(--revo-primary);
  font-weight: 300;
}

.ibv-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}
.ibv-tab {
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,231,176,.55);
  background: rgba(255,255,255,.75);
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-muted);
  cursor: pointer;
}
.ibv-tab.active {
  color: #c2410c;
  border-color: rgba(246,166,35,.55);
  background: linear-gradient(135deg, rgba(246,166,35,.18), rgba(255,255,255,.92));
}

.ibv-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px 8px;
  margin-bottom: 14px;
  border-radius: 18px;
  text-align: center;
}
.ibv-summary span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
  margin-bottom: 4px;
}
.ibv-summary strong {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}

.ibv-hint {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.ibv-slots {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 12px;
}

.ibv-draft {
  margin-top: 14px;
  padding: 14px;
  border-radius: 20px;
}
.ibv-draft-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ibv-draft-head strong {
  font-size: 14px;
  color: var(--revo-ink);
}
.ibv-draft-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.ibv-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(255,231,176,.45);
}
.ibv-field span {
  font-size: 11px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ibv-field strong {
  font-size: 14px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ibv-field.is-uncertain {
  background: rgba(255, 237, 213, .95);
  border-color: rgba(251, 146, 60, .55);
}

.ibv-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ibv-item {
  padding: 14px;
  border-radius: 18px;
}
.ibv-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.ibv-item-top h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ibv-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 12px;
  font-weight: 750;
  color: var(--revo-muted);
}
.ibv-item-top strong {
  font-size: 14px;
  font-weight: 850;
  color: var(--revo-ink, #3b2a1c);
}
.ibv-advice {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--revo-ink, #5a4030);
}
.ibv-badge {
  flex-shrink: 0;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid transparent;
}
.ibv-badge--healthy {
  color: #c2410c;
  background: rgba(246,166,35,.14);
  border-color: rgba(246,166,35,.4);
}
.ibv-badge--watch {
  color: #a16207;
  background: rgba(250,204,21,.16);
  border-color: rgba(234,179,8,.4);
}
.ibv-badge--risk {
  color: #b91c1c;
  background: rgba(248,113,113,.14);
  border-color: rgba(248,113,113,.4);
}

.ibv-advice-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ibv-advice {
  padding: 14px;
  border-radius: 18px;
}
.ibv-advice-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ibv-advice-top strong {
  font-size: 16px;
  font-weight: 950;
  color: var(--revo-ink);
}
.ibv-advice-top span {
  font-size: 12px;
  font-weight: 800;
  color: var(--revo-muted);
}
.ibv-advice p {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.5;
}
.ibv-advice-count {
  font-size: 12px;
  font-weight: 900;
  color: var(--revo-primary);
  margin-bottom: 6px;
}
.ibv-advice-row {
  font-size: 12px;
  font-weight: 750;
  color: var(--revo-ink);
  padding: 4px 0;
  border-top: 1px solid rgba(255,231,176,.4);
}
.ibv-advice--healthy { border: 1px solid rgba(246,166,35,.35); }
.ibv-advice--watch { border: 1px solid rgba(234,179,8,.4); }
.ibv-advice--risk { border: 1px solid rgba(248,113,113,.4); }

.ibv-empty {
  padding: 28px 16px;
  text-align: center;
  border-radius: 18px;
}
.ibv-empty p {
  margin: 0 0 14px;
  font-weight: 850;
  color: var(--revo-muted);
}
.ibv-foot-note {
  margin: 16px 4px 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--revo-muted);
  line-height: 1.45;
}
.ibv-pc-table { display: none; margin-top: 14px; }
.inv-brain-import--ghost {
  margin-top: 10px;
  background: rgba(255,255,255,.7) !important;
  box-shadow: none !important;
}

@media (min-width: 768px) {
  .ibv-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ibv-advice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ibv-pc-table { display: block; }
  .ibv-list { display: none; }
}

@media (min-width: 1200px) {
  .ibv-page { max-width: 1080px; }
  .ibv-home-entry { max-width: 560px; }
}

/* ═══ V13 经营闭环 ═══ */
.loop-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  margin-top: 12px;
}
.loop-flow-step {
  font-size: 11px;
  font-weight: 800;
  color: #8a6a4a;
  background: rgba(255,255,255,.75);
  border-radius: 999px;
  padding: 4px 8px;
}
.loop-flow-arrow {
  font-size: 11px;
  color: #d45a12;
  font-weight: 900;
}
.loop-add-btn {
  margin-top: 10px;
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 850;
  color: #fff;
  background: linear-gradient(135deg, #ff9a4a, #ff7a2f);
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(255,122,47,.25);
}
.cockpit-rate-card {
  border-radius: 16px;
  padding: 12px 14px;
  background: linear-gradient(165deg, rgba(255,255,255,.95), rgba(255,244,232,.9));
  box-shadow: 0 8px 20px rgba(120,70,30,.08);
}
.cockpit-rate-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-weight: 850;
  color: #8a4a1c;
}
.cockpit-rate-top strong {
  font-size: 22px;
  color: #d45a12;
}
.cockpit-rate-bar {
  margin: 8px 0;
  font-size: 14px;
  letter-spacing: 1px;
  color: #ff7a2f;
  font-weight: 900;
  line-height: 1.2;
}
.cockpit-rate-tip {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 750;
  color: #8a6a4a;
}
.cockpit-rate-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 11px;
  font-weight: 750;
  color: #9a7a5c;
}
.cockpit-rate-meta b { color: #d45a12; }
.cockpit-task-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 6px 16px rgba(120,70,30,.06);
}
.cockpit-task-row.is-done {
  opacity: .72;
}
.cockpit-task-row.is-done .cockpit-task-main strong {
  text-decoration: line-through;
  color: #8a6a4a;
}
.cockpit-task-check {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: rgba(255,122,47,.12);
  color: #d45a12;
  font-weight: 900;
  font-size: 16px;
  cursor: pointer;
}
.cockpit-task-main {
  flex: 1;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0;
  cursor: pointer;
  display: grid;
  gap: 2px;
}
.cockpit-task-main strong {
  font-size: 13px;
  color: #3b2a1c;
}
.cockpit-task-main em {
  font-style: normal;
  font-size: 11px;
  font-weight: 750;
  color: #9a7a5c;
}
.cockpit-task-done-btn {
  border: 0;
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 850;
  color: #fff;
  background: #1f9d55;
  cursor: pointer;
  white-space: nowrap;
}
.cockpit-task-done-tag {
  font-size: 11px;
  font-weight: 850;
  color: #1f9d55;
}
.cockpit-task-empty {
  margin: 0;
  padding: 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 750;
  color: #9a7a5c;
  border-radius: 14px;
  background: rgba(255,255,255,.7);
}
.mkt-price-row .loop-add-btn,
.mkt-opp-card .loop-add-btn,
.mkt-alert-card .loop-add-btn,
.ib-diag-card .loop-add-btn {
  margin-top: 10px;
}
.mkt-price-row {
  flex-wrap: wrap;
}

/* ═══ V12 老板经营驾驶舱 ═══ */
.cockpit-page { padding-bottom: 12px; }
.cockpit-hero { margin-bottom: 8px; }
.cockpit-focus {
  margin: 8px 0 4px;
  font-size: 16px;
  font-weight: 850;
  color: #3b2a1c;
  line-height: 1.4;
}
.cockpit-tagline {
  margin: 0;
  font-size: 12px;
  font-weight: 750;
  color: #b06a35;
}
.cockpit-card {
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 24px rgba(120,70,30,.08);
}
.cockpit-card--muted { opacity: .92; }
.cockpit-opp-list,
.cockpit-alert-list,
.cockpit-task-list { display: grid; gap: 10px; }
.cockpit-opp-card,
.cockpit-alert,
.cockpit-task {
  width: 100%;
  border: 0;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 20px rgba(120,70,30,.07);
  cursor: pointer;
}
.cockpit-opp-icon { font-size: 18px; }
.cockpit-opp-body { flex: 1; min-width: 0; display: grid; gap: 2px; }
.cockpit-opp-body strong {
  font-size: 14px;
  font-weight: 850;
  color: #3b2a1c;
}
.cockpit-opp-body em,
.cockpit-task-lead {
  font-style: normal;
  font-size: 12px;
  font-weight: 750;
  color: #8a6a4a;
}
.cockpit-opp-arrow,
.cockpit-alert em,
.cockpit-task em {
  font-style: normal;
  color: #c48a55;
  font-weight: 900;
}
.cockpit-biz-score {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,140,66,.14);
}
.cockpit-biz-score-label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #b06a35;
  margin-bottom: 4px;
}
.cockpit-biz-score-num {
  font-size: 36px;
  line-height: 1;
  color: #d45a12;
}
.cockpit-biz-score-num em {
  font-style: normal;
  font-size: 14px;
  margin-left: 2px;
}
.cockpit-biz-score-delta span {
  display: block;
  font-size: 18px;
  font-weight: 900;
  color: #1f9d55;
  text-align: right;
}
.cockpit-biz-score-delta em {
  display: block;
  font-style: normal;
  font-size: 11px;
  font-weight: 750;
  color: #8a6a4a;
  text-align: right;
}
.cockpit-biz-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.cockpit-biz-grid label {
  display: block;
  font-size: 11px;
  font-weight: 750;
  color: #9a7a5c;
}
.cockpit-biz-grid strong {
  font-size: 15px;
  color: #3b2a1c;
}
.cockpit-alert--warn { border-left: 3px solid #f5a524; }
.cockpit-alert--info { border-left: 3px solid #ff7a2f; }
.cockpit-alert--down { border-left: 3px solid #e5484d; }
.cockpit-alert strong,
.cockpit-task strong {
  flex: 1;
  font-size: 13px;
  font-weight: 800;
  color: #3b2a1c;
}
.cockpit-task-lead { margin: 0 0 8px 4px; }
.cockpit-task-rank {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  color: #d45a12;
  background: rgba(255,122,47,.12);
}
.cockpit-soon-tag {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 850;
  color: #b06a35;
}
.cockpit-capital-safety {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,122,47,.08);
  font-weight: 800;
  color: #8a4a1c;
}
.cockpit-capital-safety strong {
  font-size: 22px;
  color: #d45a12;
}

/* ═══ V11 机会中心 / 日报利润 / 市场国内外 ═══ */
.opp-hero-kicker {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  color: #b06a35;
}
.opp-sku-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.opp-sku-list .opp-sku-card {
  width: 100%;
  flex: none;
}
.opp-sku-head {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.opp-sku-thumb {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: #d45a12;
  background: linear-gradient(145deg, rgba(255,154,74,.22), rgba(255,122,47,.1));
}
.opp-sku-thumb-img {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
  background: rgba(255,154,74,.12);
}
.opp-trend {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 800;
}
.opp-trend--up { color: #1f9d55; }
.opp-trend--down { color: #c2410c; }
.opp-trend--flat { color: #8a6a4a; }
.opp-dim-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,140,66,.12);
}
.opp-dim {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.opp-dim label {
  font-size: 11px;
  font-weight: 750;
  color: #9a7a5c;
}
.opp-dim-stars {
  font-size: 11px;
  letter-spacing: 1px;
  color: #f5a524;
  font-weight: 800;
}
.opp-sku-card--risk {
  box-shadow: 0 10px 28px rgba(196,65,12,.12);
  border: 1px solid rgba(196,65,12,.18);
}
.opp-risk-note {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 750;
  color: #c2410c;
}
.loop-add-btn--sell {
  background: var(--revo-orange);
  color: #FFFFFF;
  box-shadow: 0 8px 18px rgba(255, 138, 61, 0.25);
}
.opp-center-page .loop-add-btn,
.opp-center-page .loop-add-btn--sell {
  background: var(--revo-orange);
  color: #FFFFFF;
  box-shadow: 0 8px 18px rgba(255, 138, 61, 0.25);
}
.opp-center-page .loop-add-btn:hover,
.opp-center-page .loop-add-btn--sell:hover {
  background: var(--revo-orange-hover);
}
.daily-briefing-card {
  border-radius: 20px;
  padding: 16px;
  background: linear-gradient(165deg, rgba(255,255,255,.94), rgba(255,244,232,.9));
  box-shadow: 0 12px 30px rgba(120,70,30,.1);
}
.daily-briefing-lead {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 800;
  color: #b06a35;
}
.daily-pnl-stats--5 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.daily-stat-highlight {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(255,154,74,.18), rgba(255,122,47,.1)) !important;
}
.daily-stat-highlight strong { color: #d45a12 !important; font-size: 20px !important; }

@media (min-width: 768px) {
  .daily-pnl-stats--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-stat-highlight { grid-column: auto; }
}
.opp-mode-tabs,
.opp-sort-tabs,
.mkt-region-tabs {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.mkt-region-tab {
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  font-size: 13px;
  background: rgba(255,255,255,.72);
  color: var(--revo-muted, #8a6a4a);
  box-shadow: inset 0 0 0 1px rgba(255,140,66,.18);
  cursor: pointer;
}
.mkt-region-tab.active {
  background: linear-gradient(135deg, #ff9a4a, #ff7a2f);
  color: #fff;
  box-shadow: 0 8px 20px rgba(255,122,47,.28);
}
.opp-mode-tab,
.opp-sort-tab {
  border: 1px solid var(--revo-border);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  font-size: 13px;
  background: #FFFFFF;
  color: var(--revo-text-secondary);
  box-shadow: none;
  cursor: pointer;
}
.opp-mode-tab.active,
.opp-sort-tab.active {
  background: var(--revo-orange);
  color: #FFFFFF;
  border-color: var(--revo-orange);
  box-shadow: 0 8px 20px rgba(255, 138, 61, 0.25);
}
.opp-cat-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  -webkit-overflow-scrolling: touch;
}
.opp-cat-chip {
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 750;
  font-size: 12px;
  background: rgba(255,255,255,.78);
  color: #6b4f38;
  cursor: pointer;
}
.opp-cat-chip.active {
  background: rgba(255,122,47,.14);
  color: #d45a12;
  box-shadow: inset 0 0 0 1px rgba(255,122,47,.35);
}
.opp-list-kicker {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 750;
  color: var(--revo-muted, #8a6a4a);
}
.opp-sku-card {
  padding: 14px 14px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 28px rgba(120,70,30,.08);
  cursor: pointer;
}
.opp-sku-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.opp-sku-name {
  margin: 0;
  font-size: 15px;
  font-weight: 850;
  color: #3b2a1c;
}
.opp-sku-profit,
.opp-sku-speed,
.opp-sku-price {
  flex: 0 0 auto;
  font-weight: 900;
  color: #e5671a;
  font-size: 14px;
}
.opp-sku-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
}
.opp-sku-grid label {
  display: block;
  font-size: 11px;
  color: #9a7a5c;
  font-weight: 700;
}
.opp-sku-grid span {
  font-size: 13px;
  font-weight: 800;
  color: #4a3424;
}
.opp-risk--good { color: #1f9d55 !important; }
.opp-risk--warn { color: #d97706 !important; }
.opp-risk--bad { color: #e5484d !important; }
.opp-sku-ai {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,140,66,.12);
}
.opp-sku-stars { color: #f5a524; letter-spacing: 1px; font-size: 12px; }
.opp-empty { text-align: center; color: #9a7a5c; font-weight: 700; padding: 24px; }

.daily-pnl-card {
  border-radius: 20px;
  padding: 16px;
  background: linear-gradient(165deg, rgba(255,255,255,.92), rgba(255,244,232,.88));
  box-shadow: 0 12px 30px rgba(120,70,30,.1);
}
.daily-pnl-kicker,
.daily-pnl-subhead {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 850;
  color: #b06a35;
}
.daily-pnl-subhead { margin-top: 14px; }
.daily-pnl-stats,
.daily-cost-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.daily-pnl-stats div,
.daily-cost-grid div {
  background: rgba(255,255,255,.7);
  border-radius: 14px;
  padding: 10px;
}
.daily-pnl-stats label,
.daily-cost-grid span {
  display: block;
  font-size: 11px;
  color: #9a7a5c;
  font-weight: 700;
}
.daily-pnl-stats strong,
.daily-cost-grid em {
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
  color: #3b2a1c;
}
.daily-real-profit {
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,154,74,.18), rgba(255,122,47,.12));
}
.daily-real-profit span { font-weight: 800; color: #8a4a1c; }
.daily-real-profit strong { font-size: 24px; color: #d45a12; }
.daily-ai-summary {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: #5a4030;
  font-weight: 700;
}
.daily-ai-tip {
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 750;
  color: #5a4030;
  line-height: 1.45;
}
.daily-pnl-stats--4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.daily-pnl-stats--5 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.daily-pnl-stats--5 .daily-stat-highlight {
  grid-column: 1 / -1;
}
.daily-period-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
  flex-wrap: wrap;
}
.daily-data-provenance {
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  font-weight: 750;
  color: #8a6a4a;
  line-height: 1.4;
}
.daily-period-tab {
  border: 1px solid var(--revo-border, #FFE0CC);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
  font-size: 12px;
  background: rgba(255, 255, 255, 0.85);
  color: var(--revo-text-secondary, #6B7280);
  cursor: pointer;
  box-shadow: none;
}
.daily-period-tab.active {
  background: var(--revo-orange, #FF8A3D);
  color: #FFFFFF;
  border-color: var(--revo-orange, #FF8A3D);
  box-shadow: 0 6px 16px rgba(255, 138, 61, 0.25);
}
.daily-profit-source {
  margin-top: 14px;
  padding-top: 4px;
}
.daily-profit-source-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.daily-profit-source-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--revo-border, #FFE0CC);
}
.daily-profit-source-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.daily-profit-source-main strong {
  font-size: 13px;
  font-weight: 900;
  color: #3b2a1c;
}
.daily-profit-source-main span {
  font-size: 11px;
  font-weight: 700;
  color: #8a6a4a;
}
.daily-profit-source-side {
  text-align: right;
  flex: 0 0 auto;
}
.daily-profit-source-side em {
  display: block;
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
}
.daily-profit-source-side span {
  font-size: 11px;
  font-weight: 750;
  color: #8a6a4a;
}
.daily-pnl-stats--3 {
  grid-template-columns: 1fr;
}
.daily-pnl-stats--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ai-inv-core {
  margin-top: 4px;
}
.ai-inv-core-card {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 224, 204, 0.95);
  border-radius: 18px;
  padding: 12px;
}
.ai-inv-core-funds {
  margin-top: 8px;
}
.daily-tone-good { color: #1f9d55 !important; }
.daily-tone-warn { color: #d97706 !important; }
.daily-tone-bad { color: #c2410c !important; }
.daily-ai-reason {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 138, 61, 0.08);
  border: 1px solid rgba(255, 224, 204, 0.9);
  font-size: 13px;
  font-weight: 750;
  color: #5a4030;
  line-height: 1.5;
}
.daily-ai-reason span {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 850;
  color: #b06a35;
}
.daily-sell-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.daily-sell-name {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 900;
  color: #3b2a1c;
}
.daily-health-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.daily-health-chip {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--revo-border, #FFE0CC);
}
.daily-health-chip strong {
  flex: 0 0 auto;
  min-width: 36px;
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
}
.daily-health-chip span {
  font-size: 12px;
  font-weight: 700;
  color: #6B7280;
  line-height: 1.4;
}
.daily-boss-oneliner {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
  color: #3b2a1c;
}
.daily-boss-tips {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.daily-boss-tips li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 224, 204, 0.95);
  font-size: 13px;
  font-weight: 750;
  color: #3b2a1c;
  line-height: 1.45;
}
.daily-boss-tips li span {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  color: #fff;
  background: var(--revo-orange, #FF8A3D);
}
@media (min-width: 768px) {
  .daily-pnl-stats--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .daily-pnl-stats--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .daily-pnl-stats--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .daily-pnl-stats--5 .daily-stat-highlight,
  .daily-stat-highlight { grid-column: auto; }
}
.daily-ai-suggest { color: #d45a12; }
.daily-cost-btn,
.daily-cost-save {
  margin-top: 12px;
  width: 100%;
  border: 0;
  border-radius: 14px;
  padding: 12px;
  font-weight: 850;
  background: rgba(255,122,47,.12);
  color: #d45a12;
  cursor: pointer;
}
.daily-cost-save {
  background: linear-gradient(135deg, #ff9a4a, #ff7a2f);
  color: #fff;
}
.daily-cost-panel {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(40,24,12,.42);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}
.daily-cost-panel[hidden] { display: none !important; }
.daily-cost-panel-card {
  width: min(520px, 100%);
  max-height: 86vh;
  overflow: auto;
  border-radius: 22px 22px 18px 18px;
  background: #fffaf4;
  padding: 16px;
}
.daily-cost-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.daily-cost-close {
  border: 0;
  background: transparent;
  font-weight: 800;
  color: #9a7a5c;
  cursor: pointer;
}
.daily-cost-hint,
.daily-cost-sub { font-size: 12px; color: #8a6a4a; font-weight: 700; }
.daily-cost-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 8px 0 12px;
}
.daily-cost-form label {
  display: grid;
  gap: 4px;
  font-size: 12px;
  font-weight: 750;
  color: #6b4f38;
}
.daily-cost-form input {
  border: 0;
  border-radius: 10px;
  padding: 10px;
  background: rgba(255,255,255,.9);
  box-shadow: inset 0 0 0 1px rgba(255,140,66,.2);
}

.brain-v11-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 4px 4px 16px;
}
.brain-v11-link {
  border: 0;
  background: transparent;
  color: #d45a12;
  font-weight: 850;
  font-size: 13px;
  cursor: pointer;
  padding: 0;
}
.brain-v11-link--ghost { color: #9a7a5c; }

.mkt-domestic-summary,
.mkt-overseas-lead {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: #8a6a4a;
}
.mkt-domestic-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.mkt-domestic-card {
  border-radius: 14px;
  padding: 12px;
  background: rgba(255,255,255,.8);
}
.mkt-domestic-card span {
  display: block;
  font-size: 11px;
  color: #9a7a5c;
  font-weight: 700;
}
.mkt-domestic-card strong {
  font-size: 14px;
  color: #3b2a1c;
}
.mkt-region-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.mkt-region-chip {
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(255,255,255,.8);
  font-size: 12px;
  font-weight: 800;
  color: #6b4f38;
}
.mkt-arb-list { display: grid; gap: 12px; }
.mkt-arb-card {
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.84);
}
.mkt-arb-card h4 { margin: 0 0 10px; font-size: 15px; }
.mkt-arb-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}
.mkt-arb-grid label { display: block; font-size: 11px; color: #9a7a5c; font-weight: 700; }
.mkt-arb-grid span { font-weight: 850; color: #3b2a1c; }
.mkt-arb-spread { color: #d45a12 !important; }
.mkt-arb-card p { margin: 0; font-size: 12px; color: #8a6a4a; font-weight: 700; }

.inv-brain-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
@media (min-width: 768px) {
  .mkt-domestic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-pnl-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .inv-brain-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* —— V1 AI经营经理首页 —— */
.ai-dash--manager .mgr-section { margin-top: 12px; }
.mgr-briefing { margin-bottom: 12px !important; }
.mgr-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.mgr-value-item {
  padding: 10px 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 224, 204, 0.95);
  text-align: center;
}
.mgr-value-item span {
  display: block;
  font-size: 10px;
  font-weight: 750;
  color: #9a7a5c;
  margin-bottom: 4px;
}
.mgr-value-item strong {
  font-size: 14px;
  font-weight: 900;
  color: #3b2a1c;
}
.mgr-chip {
  margin-left: auto;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
}
.mgr-chip--ok { background: rgba(31, 157, 85, 0.12); color: #1f9d55; }
.mgr-chip--watch { background: rgba(217, 119, 6, 0.12); color: #d97706; }
.mgr-chip--risk { background: rgba(194, 65, 12, 0.12); color: #c2410c; }
.mgr-judge-card {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 224, 204, 0.95);
}
.mgr-judge-headline {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.5;
  color: #3b2a1c;
}
.mgr-problem-list {
  margin: 0 0 10px;
  padding-left: 18px;
  font-size: 13px;
  font-weight: 700;
  color: #6b5344;
  line-height: 1.5;
}
.mgr-priority {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 138, 61, 0.08);
  font-size: 13px;
  font-weight: 750;
  color: #5a4030;
  line-height: 1.45;
}
.mgr-priority span {
  display: block;
  font-size: 11px;
  font-weight: 850;
  color: #b06a35;
  margin-bottom: 4px;
}
.mgr-action-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mgr-action-card {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 224, 204, 0.95);
  cursor: pointer;
}
.mgr-action-card:active { transform: scale(0.99); }
.mgr-action--sales { border-left: 4px solid #1f9d55; }
.mgr-action--optimize { border-left: 4px solid #d97706; }
.mgr-action--inventory { border-left: 4px solid #c2410c; }
.mgr-action-type {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 850;
  color: #6b5344;
}
.mgr-action-product {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 900;
  color: #3b2a1c;
}
.mgr-action-row {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  color: #5a4030;
  line-height: 1.45;
}
.mgr-action-row span {
  display: inline-block;
  min-width: 56px;
  margin-right: 6px;
  font-size: 11px;
  font-weight: 850;
  color: #9a7a5c;
}
.mgr-action-impact {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
}
.mgr-action-impact span {
  font-size: 11px;
  font-weight: 850;
  color: #9a7a5c;
}
.mgr-action-row--product span { color: #9a7a5c; }
.mgr-action-basis {
  margin: 8px 0 4px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 248, 240, 0.9);
  border: 1px solid rgba(255, 224, 204, 0.6);
}
.mgr-action-basis-label {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 850;
  color: #9a7a5c;
}
.mgr-basis-list {
  margin: 0;
  padding: 0 0 0 16px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
  color: #5a4030;
}
.mgr-basis-list li { margin: 2px 0; }
.mgr-dim--expandable .mgr-dim-head {
  width: 100%;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.mgr-dim-hint {
  margin-left: 8px;
  font-size: 10px;
  font-weight: 800;
  color: #d97706;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(217, 119, 6, 0.1);
}
.mgr-dim--ok .mgr-dim-hint { color: #1f9d55; background: rgba(31, 157, 85, 0.1); }
.mgr-dim-reason {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed rgba(255, 224, 204, 0.9);
}
.mgr-dim-reason-label {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 850;
  color: #9a7a5c;
}
.mgr-dim-reason-text {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: #5a4030;
}
.mgr-dim.is-open {
  border-color: rgba(217, 119, 6, 0.45);
  box-shadow: 0 2px 8px rgba(120, 80, 40, 0.06);
}
.mgr-score-badge {
  margin-left: auto;
  font-size: 13px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
}
.mgr-health-summary {
  margin: 0;
  font-size: 13px;
  font-weight: 750;
  color: #6b5344;
  line-height: 1.45;
}
.mgr-health-head {
  margin-bottom: 12px;
}
.mgr-health-score-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}
.mgr-health-score-row strong {
  font-size: 28px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
  line-height: 1;
}
.mgr-health-score-row span {
  font-size: 12px;
  font-weight: 800;
  color: #9a7a5c;
}
.mgr-value-section { margin-top: 0; }
.mgr-dim-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mgr-dim-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.mgr-dim {
  padding: 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 224, 204, 0.9);
  overflow: hidden;
}
.mgr-dim--ok { border-color: rgba(31, 157, 85, 0.35); }
.mgr-dim--watch { border-color: rgba(217, 119, 6, 0.35); }
.mgr-dim--warn { border-color: rgba(194, 65, 12, 0.35); }
.mgr-dim--low { border-color: rgba(194, 65, 12, 0.45); }
.mgr-dim-row {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
}
.mgr-dim-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.mgr-dim-label {
  font-size: 13px;
  font-weight: 850;
  color: #3b2a1c;
  flex: 1;
}
.mgr-dim-score {
  font-size: 14px;
  font-weight: 900;
  color: var(--revo-orange, #FF8A3D);
}
.mgr-dim-summary {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #6b5344;
  line-height: 1.4;
}
.mgr-dim-detail-wrap {
  display: none;
  padding: 0 12px 12px;
  border-top: 1px dashed rgba(28, 25, 23, 0.1);
}
.mgr-dim.is-open .mgr-dim-detail-wrap {
  display: block;
}
.mgr-dim.is-open {
  border-color: rgba(240, 138, 42, 0.45);
  box-shadow: 0 4px 14px rgba(255, 138, 61, 0.08);
}
.mgr-empty {
  padding: 20px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px dashed rgba(255, 224, 204, 0.95);
  text-align: center;
}
.mgr-empty p {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 850;
  color: #3b2a1c;
}
.mgr-empty span {
  font-size: 12px;
  font-weight: 700;
  color: #9a7a5c;
}
.mgr-data-entry { margin-top: 8px; }

.mgr-action-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(28, 25, 23, 0.1);
}
.mgr-list-link,
.mgr-type-link {
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  color: #c2410c;
  cursor: pointer;
  text-align: left;
  padding: 0;
}
.mgr-type-link {
  margin-top: 12px;
  width: 100%;
  border-top: 1px dashed rgba(28, 25, 23, 0.12);
  padding-top: 12px;
}

.mgr-dim-detail {
  padding-top: 10px;
}
.mgr-overview-periods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.mgr-overview-period {
  border: 1px solid rgba(255, 224, 204, 0.95);
  background: rgba(255, 255, 255, 0.72);
  color: #6b5344;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
}
.mgr-overview-period.is-active {
  background: #fff7ed;
  border-color: rgba(240, 138, 42, 0.45);
  color: #c2410c;
}
.mgr-plan-block { margin-top: 0; }
.mgr-plan-block--result {
  background: linear-gradient(180deg, rgba(255, 248, 239, 0.9), rgba(255, 255, 255, 0.72));
  border-radius: 16px;
  padding: 12px;
}
.mgr-plan-dim-card {
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(28, 25, 23, 0.08);
}
.mgr-plan-dim-name {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 900;
  color: #3b2a1c;
}
.mgr-plan-dim-current,
.mgr-plan-dim-judge {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.55;
  color: #57534e;
}
.mgr-plan-dim-judge {
  margin-bottom: 0;
  font-weight: 700;
  color: #3b2a1c;
}
.mgr-diag-block {
  margin-bottom: 12px;
}
.mgr-diag-block:last-of-type {
  margin-bottom: 10px;
}
.mgr-diag-label {
  font-size: 11px;
  font-weight: 800;
  color: #9a7a5c;
  margin-bottom: 4px;
  letter-spacing: 0.04em;
}
.mgr-plan-actions {
  margin: 0;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.6;
  color: #57534e;
}
.mgr-find-list {
  display: grid;
  gap: 8px;
  margin: 8px 0 10px;
}
.mgr-find-item {
  padding: 10px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(28, 25, 23, 0.08);
}
.mgr-find-name {
  font-weight: 800;
  margin-bottom: 4px;
  color: #3b2a1c;
}
.mgr-plan-link {
  width: 100%;
  border: 1px solid rgba(240, 138, 42, 0.35);
  background: #fff7ed;
  color: #c2410c;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  text-align: left;
}

.mgr-data-overview .mgr-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
}
.mgr-data-overview .mgr-overview-grid > div {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(28, 25, 23, 0.06);
}
.mgr-data-overview dt {
  font-size: 11px;
  font-weight: 800;
  color: #9a7a5c;
  margin-bottom: 4px;
}
.mgr-data-overview dd {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: #3b2a1c;
}
.mgr-overview-wide {
  grid-column: 1 / -1;
}

.mgr-subpage { padding-bottom: 24px; }
.mgr-sub-back {
  margin-bottom: 8px;
}
.mgr-sub-hero {
  margin-bottom: 8px;
}
.mgr-plan-section-title {
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 10px;
  color: #3b2a1c;
}
.mgr-sku-plan-list {
  display: grid;
  gap: 10px;
}
.mgr-sku-plan-card {
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(28, 25, 23, 0.08);
}
.mgr-sku-plan-card h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 800;
  color: #3b2a1c;
}
.mgr-plan-metrics {
  display: grid;
  gap: 8px;
}
.mgr-plan-metric {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  background: #fff8ef;
  border: 1px solid rgba(240, 138, 42, 0.2);
}
.mgr-plan-metric span {
  font-size: 12px;
  font-weight: 700;
  color: #9a7a5c;
}
.mgr-plan-metric strong {
  font-size: 14px;
  font-weight: 800;
  color: #c2410c;
}

@media (min-width: 768px) {
  .mgr-data-overview .mgr-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* SKU Analysis V1 — 仅本页 */
.ap-secondary {
  margin-top: 8px;
  width: 100%;
  border: 1px solid rgba(217, 119, 6, 0.55);
  border-radius: 14px;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  color: #c2410c;
  background: #fffaf5;
  cursor: pointer;
}
.sku-page { padding: 8px 0 28px; }
.sku-summary--compact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(231, 229, 228, 0.9);
}
.sku-summary--compact div { margin: 0; }
.sku-summary--compact dt {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #a8a29e;
}
.sku-summary--compact dd {
  margin: 2px 0 0;
  font-size: 15px;
  font-weight: 900;
  color: #292524;
}
.sku-sub--hint { color: #a8a29e; }
.sku-upload-guide {
  margin: 8px 0 16px;
  padding: 20px 16px;
  border-radius: 16px;
  background: #fff7ed;
  border: 1px solid rgba(194, 65, 12, 0.18);
  text-align: left;
}
.sku-upload-guide-title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 900;
  color: #9a3412;
}
.sku-upload-guide-text {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.5;
  color: #78716c;
}
.sku-upload-guide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 0;
  border-radius: 12px;
  background: #ea580c;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.sku-page .brain-subnav { margin-bottom: 14px; }
.sku-back {
  border: 0;
  background: transparent;
  color: #d97706;
  font-weight: 800;
  padding: 0;
  cursor: pointer;
}
.sku-title { margin: 8px 0 4px; font-size: 22px; font-weight: 900; }
.sku-sub { margin: 0 0 12px; color: #57534e; font-size: 13px; line-height: 1.5; }
.sku-analysis-scope {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 12px;
  background: #fafaf9;
}
.sku-analysis-scope-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.sku-analysis-scope-label {
  font-size: 12px;
  font-weight: 700;
  color: #78716c;
}
.sku-analysis-scope-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sku-scope-btn {
  border: 1px solid rgba(28, 25, 23, 0.14);
  background: #fff;
  color: #44403c;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.sku-scope-btn.is-on {
  border-color: #d97706;
  background: #fff7ed;
  color: #9a3412;
}
.sku-analysis-scope-banner {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 700;
  color: #44403c;
}
.sku-analysis-scope-banner.is-pending {
  color: #9a3412;
}
.sku-analysis-scope-note {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #78716c;
}
.sku-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.sku-summary--wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .sku-summary--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.sku-summary div {
  background: #fff;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 12px;
  padding: 8px 10px;
}
.sku-summary dt { font-size: 11px; color: #78716c; }
.sku-summary dd { margin: 2px 0 0; font-size: 16px; font-weight: 900; }
.sku-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sku-search, .sku-sort select {
  border: 1px solid rgba(28, 25, 23, 0.12);
  border-radius: 10px;
  padding: 8px 10px;
  font: inherit;
  background: #fff;
}
.sku-search { flex: 1; min-width: 140px; }
.sku-sort { font-size: 12px; color: #57534e; }
.sku-export {
  border: 1px solid rgba(28, 25, 23, 0.12);
  background: #1c1917;
  color: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font: inherit;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
  white-space: nowrap;
}
.sku-actions {
  margin: 0 0 14px;
  padding: 12px;
  background: linear-gradient(180deg, #fff7ed 0%, #fff 70%);
  border: 1px solid rgba(251, 146, 60, 0.28);
  border-radius: 14px;
}
.sku-actions-head { margin-bottom: 8px; }
.sku-actions-title { margin: 0; font-size: 16px; font-weight: 900; }
.sku-actions-sub { margin: 4px 0 0; font-size: 12px; color: #78716c; }
.sku-actions-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sku-action-item {
  background: #fff;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 12px;
  padding: 10px 12px;
}
.sku-action-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.sku-action-pri { font-size: 13px; font-weight: 900; color: #9a3412; }
.sku-action-tag {
  font-size: 11px;
  font-weight: 800;
  color: #c2410c;
  background: #ffedd5;
  border-radius: 999px;
  padding: 2px 8px;
}
.sku-action-name { display: block; margin-top: 4px; font-size: 15px; }
.sku-action-spec { margin: 2px 0 0; font-size: 12px; color: #78716c; }
.sku-action-judge { margin: 6px 0 0; font-size: 12px; color: #57534e; }
.sku-action-advice { margin: 4px 0 0; font-size: 14px; font-weight: 800; color: #1c1917; }
.sku-action-why { margin: 6px 0 0; font-size: 12px; color: #78716c; line-height: 1.45; }
.sku-action-why span {
  display: inline-block;
  margin-right: 6px;
  font-weight: 800;
  color: #a8a29e;
}
.sku-advice-why { margin: 6px 0 0; font-size: 11px; color: #a8a29e; line-height: 1.4; }
.sku-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.sku-filter {
  border: 1px solid rgba(28, 25, 23, 0.1);
  background: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  cursor: pointer;
}
.sku-filter.is-on { background: #fff7ed; border-color: #fdba74; color: #c2410c; font-weight: 800; }
.sku-count { font-size: 12px; color: #78716c; }
.sku-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sku-row { background: #fff; border: 1px solid rgba(28, 25, 23, 0.08); border-radius: 14px; padding: 0; overflow: hidden; }
.sku-row-main {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 12px;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.sku-row-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.sku-badge { white-space: nowrap; font-size: 12px; font-weight: 800; }
.sku-meta { margin: 4px 0 8px; color: #78716c; font-size: 12px; }
.sku-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; margin: 0; }
.sku-metrics--core { margin-top: 4px; }
.sku-metrics dt { font-size: 11px; color: #a8a29e; }
.sku-metrics dd { margin: 0; font-weight: 700; }
.sku-row-detail {
  padding: 0 12px 12px;
  border-top: 1px solid rgba(28, 25, 23, 0.06);
}
.sku-row-detail[hidden] { display: none !important; }
.sku-empty { padding: 16px; color: #78716c; }

/* Operating Board V1 — 排行 / 筛选 / 问题 */
.sku-view-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 12px 0 8px;
}
.sku-view-tab,
.sku-rank-tab {
  border: 1px solid rgba(28, 25, 23, 0.12);
  background: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  color: #44403c;
}
.sku-view-tab.is-on,
.sku-rank-tab.is-on {
  background: #1c1917;
  color: #fff;
  border-color: #1c1917;
}
.sku-rank-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 10px;
}
@media (min-width: 720px) {
  .sku-rank-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.sku-board-filters {
  margin: 8px 0 12px;
  padding: 12px;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 14px;
  background: #fff;
}
.sku-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
@media (min-width: 720px) {
  .sku-filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.sku-filter-grid label,
.sku-dim {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  color: #78716c;
}
.sku-filter-grid select,
.sku-dim select {
  border: 1px solid rgba(28, 25, 23, 0.12);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  background: #fff;
  color: #1c1917;
}
.sku-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
  margin-top: 10px;
}
.sku-ghost {
  border: 1px solid rgba(28, 25, 23, 0.15);
  background: #fafaf9;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.sku-rank-row,
.sku-problem-row {
  background: #fff;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 14px;
  padding: 12px;
}
.sku-metrics--rank {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 720px) {
  .sku-metrics--rank { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sku-badge--problem {
  background: #fff7ed;
  color: #c2410c;
  border-radius: 999px;
  padding: 2px 8px;
}
.sku-problem-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  max-width: 220px;
}
.sku-primary-action {
  display: block;
  font-size: 13px;
  color: #9a3412;
}
.sku-condition-scope { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
.sku-price-ref {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e7e5e4;
  font-size: 12px;
  line-height: 1.5;
}
.sku-empty--traffic-contract p { margin: 0 0 8px; }
@media (max-width: 720px) {
  .sku-table--decision th:nth-child(2),
  .sku-table--decision td:nth-child(2),
  .sku-table--decision th:nth-child(6),
  .sku-table--decision td:nth-child(6) {
    display: none;
  }
}
.sku-stockout-block { margin-top: 16px; }
.sku-stockout-title { margin: 0 0 6px; font-size: 15px; font-weight: 900; }
.sku-problem-tools { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.sku-advice-why span {
  display: inline-block;
  margin-right: 6px;
  font-weight: 700;
  color: #a8a29e;
}
.mgr-v62-problems-link {
  display: inline-flex;
  margin-top: 10px;
  border: 0;
  background: transparent;
  color: #c2410c;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sku-filter-grid--multi {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 900px) {
  .sku-filter-grid--multi { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sku-multi {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  color: #78716c;
}
.sku-multi select {
  border: 1px solid rgba(28, 25, 23, 0.12);
  border-radius: 8px;
  padding: 6px;
  font-size: 12px;
  min-height: 88px;
  background: #fff;
}
.sku-condition-bar {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(28, 25, 23, 0.06);
}
.sku-condition-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 6px;
}
.sku-condition-current { font-size: 12px; color: #c2410c; font-weight: 700; }
.sku-condition-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.sku-condition-counts { margin: 0 0 8px; font-size: 11px; color: #78716c; line-height: 1.45; }
.sku-condition-warn {
  margin: 0 0 8px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.45;
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: 8px;
}
.sku-condition-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sku-chip-btn {
  border: 1px solid rgba(28, 25, 23, 0.12);
  background: #fafaf9;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  cursor: pointer;
}
.sku-chip-btn.is-on { background: #fff7ed; border-color: #fdba74; color: #c2410c; font-weight: 800; }
.sku-chip {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  background: #f5f5f4;
  font-size: 11px;
  color: #57534e;
}
.sku-channel-hint { margin: 8px 0 0; font-size: 12px; color: #78716c; line-height: 1.45; }
.sku-target-edit {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
  margin-top: 10px;
}
.sku-target-edit label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  color: #78716c;
}
.sku-target-edit input {
  border: 1px solid rgba(28, 25, 23, 0.12);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  min-width: 100px;
}
.sku-target-line { margin: 6px 0 0; font-size: 11px; color: #57534e; }

/* —— 六页签分析 —— */
.sku-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}
.sku-tool-btn {
  border: 1px solid rgba(28, 25, 23, 0.1);
  background: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  color: #57534e;
  cursor: pointer;
  white-space: nowrap;
}
.sku-tool-btn--primary {
  background: #fff7ed;
  color: #c2410c;
  border-color: rgba(194, 65, 12, 0.2);
}
.sku-meta-panel {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fafaf9;
  border: 1px solid rgba(231, 229, 228, 0.95);
  font-size: 12px;
  color: #57534e;
}
.sku-meta-list { margin: 0; padding-left: 18px; line-height: 1.55; }
.sku-sheet-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  margin: 0 0 12px;
  padding: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(231, 229, 228, 0.9);
}
.sku-sheet-tab {
  flex: 0 0 auto;
  border: 0;
  border-radius: 8px;
  padding: 9px 12px;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  color: #78716c;
  cursor: pointer;
  white-space: nowrap;
}
.sku-sheet-tab.is-on {
  background: #fff7ed;
  color: #c2410c;
}
.sku-filters-compact { margin: 0 0 12px; }
.sku-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
  margin-top: 8px;
}
.sku-compact-multi {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: #78716c;
  min-width: 0;
}
.sku-compact-select,
.sku-search--compact {
  min-width: 120px;
  max-width: 180px;
  border: 1px solid rgba(28, 25, 23, 0.12);
  border-radius: 8px;
  padding: 7px 8px;
  font-size: 13px;
  font-family: inherit;
  background: #fff;
}
.sku-compact-select[multiple] {
  height: 34px;
}
.sku-scope-line {
  margin: 8px 0 0;
  font-size: 12px;
  color: #57534e;
}
.sku-scope-line span {
  display: inline-block;
  margin-right: 6px;
  font-weight: 800;
  color: #a8a29e;
}
.sku-filter-note {
  margin: 6px 0 0;
  font-size: 12px;
  color: #b45309;
  line-height: 1.4;
}
.sku-page-summary {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fffbeb;
  border: 1px solid rgba(251, 191, 36, 0.35);
  font-size: 13px;
  line-height: 1.55;
  color: #44403c;
}
.sku-kpi-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}
@media (min-width: 720px) {
  .sku-kpi-row { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.sku-kpi-row > div {
  margin: 0;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(231, 229, 228, 0.95);
  cursor: default;
}
.sku-kpi-row > div[data-jump-tab] { cursor: pointer; }
.sku-kpi-row dt {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #a8a29e;
}
.sku-kpi-row dd {
  margin: 4px 0 0;
  font-size: 16px;
  font-weight: 900;
  color: #292524;
}
.sku-kpi-row small {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  font-weight: 700;
  color: #a8a29e;
}
.sku-panel {
  margin: 0 0 14px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(231, 229, 228, 0.9);
}
.sku-panel h2 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 900;
}
.sku-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.sku-panel-head h2 { margin: 0; }
.sku-inline-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.sku-inline-tools--wrap { margin-bottom: 10px; }
.sku-ghost.is-on {
  background: #fff7ed;
  color: #c2410c;
  border-color: rgba(194, 65, 12, 0.25);
}
.sku-hbar-legend {
  display: flex;
  gap: 12px;
  font-size: 11px;
  color: #78716c;
  margin-bottom: 6px;
}
.sku-hbar-legend span:first-child::before,
.sku-hbar-legend span:last-child::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  margin-right: 4px;
  vertical-align: -1px;
}
.sku-hbar-legend span:first-child::before { background: #fdba74; }
.sku-hbar-legend span:last-child::before { background: #fb923c; }
.sku-hbar-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr) auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 6px;
  font-size: 12px;
}
.sku-hbar-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #44403c;
}
.sku-hbar-tracks { position: relative; height: 16px; }
.sku-hbar {
  position: absolute;
  left: 0;
  height: 7px;
  border-radius: 3px;
  max-width: 100%;
}
.sku-hbar--inv { top: 0; background: #fdba74; }
.sku-hbar--sales { bottom: 0; background: #ea580c; }
.sku-hbar-vals {
  display: flex;
  gap: 8px;
  font-variant-numeric: tabular-nums;
  color: #78716c;
}
.sku-age-digest {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sku-age-chip {
  border: 1px solid rgba(28, 25, 23, 0.1);
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.sku-age-chip strong { display: block; font-size: 12px; color: #292524; }
.sku-age-chip span { font-size: 11px; color: #78716c; }
.sku-problem-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sku-problem-link {
  border: 1px solid rgba(194, 65, 12, 0.2);
  background: #fff7ed;
  border-radius: 999px;
  padding: 7px 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  color: #9a3412;
  cursor: pointer;
}
.sku-problem-link em {
  font-style: normal;
  margin-left: 4px;
  color: #c2410c;
}
.sku-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 8px;
  border-radius: 12px;
  border: 1px solid rgba(231, 229, 228, 0.95);
  background: #fff;
}
.sku-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 13px;
}
.sku-table th,
.sku-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(231, 229, 228, 0.9);
  text-align: left;
  vertical-align: top;
}
.sku-table th {
  position: sticky;
  top: 0;
  background: #fafaf9;
  font-size: 12px;
  color: #78716c;
  white-space: nowrap;
}
.sku-th-sort {
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 800;
  color: inherit;
  cursor: pointer;
  padding: 0;
}
.sku-th-sort.is-on { color: #c2410c; }
.sku-td-name { min-width: 140px; max-width: 220px; }
.sku-td-sub { font-size: 11px; color: #a8a29e; margin-top: 2px; }
.sku-linkish {
  border: 0;
  background: transparent;
  color: #c2410c;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  padding: 0 4px;
  white-space: nowrap;
}
.sku-expand-row td {
  background: #fffbeb;
  font-size: 12px;
  color: #44403c;
}
.sku-muted { color: #a8a29e; font-size: 12px; }
.sku-pager {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
}
.sku-pager-meta { font-size: 12px; color: #78716c; }
.sku-total-row td { font-weight: 800; background: #fafaf9; }
.sku-age-bar {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 48px;
  gap: 8px;
  align-items: center;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 4px 0;
  font-family: inherit;
  font-size: 12px;
  cursor: pointer;
  text-align: left;
}
.sku-age-bar-track {
  display: block;
  height: 8px;
  border-radius: 4px;
  background: #f5f5f4;
  overflow: hidden;
}
.sku-age-bar-track i {
  display: block;
  height: 100%;
  background: #ea580c;
}
.sku-trend {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 120px;
  overflow-x: auto;
  padding: 8px 0;
}
.sku-trend-col {
  flex: 0 0 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  font-size: 9px;
  color: #a8a29e;
}
.sku-trend-col i {
  display: block;
  width: 16px;
  min-height: 2px;
  border-radius: 3px 3px 0 0;
  background: #f97316;
  margin-bottom: 4px;
}
.sku-mini-list {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  color: #44403c;
}
@media (max-width: 480px) {
  .sku-sheet-tab { font-size: 12px; padding: 8px 10px; }
  .sku-kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sku-compact-select,
  .sku-search--compact { max-width: 100%; min-width: 140px; }
}

/* 结论与分析说明抽屉 */
.sku-findings {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fffbeb;
  border: 1px solid rgba(251, 191, 36, 0.4);
}
.sku-findings-head h2 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 900;
  color: #92400e;
}
.sku-findings-headline {
  margin: 0 0 10px;
  font-size: 13px;
  color: #78716c;
  line-height: 1.45;
}
.sku-findings-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.sku-finding-card {
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(231, 229, 228, 0.95);
  font-size: 13px;
  line-height: 1.5;
  color: #44403c;
}
.sku-finding-card p { margin: 0 0 6px; }
.sku-finding-card strong { color: #a8a29e; font-weight: 800; margin-right: 4px; }
.sku-finding-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  color: #292524 !important;
}
.sku-finding-title span {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #ffedd5;
  color: #c2410c;
  font-size: 12px;
}
.sku-finding-btn {
  margin-top: 4px;
  border: 0;
  border-radius: 10px;
  padding: 7px 12px;
  background: #ea580c;
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.sku-guide-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(28, 25, 23, 0.35);
  display: flex;
  justify-content: flex-end;
}
.sku-guide-backdrop[hidden] { display: none !important; }
.sku-guide-drawer {
  width: min(420px, 100%);
  height: 100%;
  background: #fffaf5;
  box-shadow: -8px 0 24px rgba(0,0,0,.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sku-guide-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(231, 229, 228, 0.95);
}
.sku-guide-head h2 { margin: 0; font-size: 16px; font-weight: 900; }
.sku-guide-body {
  padding: 12px 16px 28px;
  overflow-y: auto;
  font-size: 13px;
  line-height: 1.55;
  color: #44403c;
}
.sku-guide-sec { margin-bottom: 16px; }
.sku-guide-sec h3 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 900;
  color: #9a3412;
}
.sku-guide-sec p { margin: 0 0 8px; }
.sku-guide-details {
  margin-top: 6px;
  font-size: 12px;
  color: #78716c;
}
.sku-trend-label {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 800;
  color: #78716c;
}
.mgr-v62-shared-priorities {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(214, 211, 209, 0.9);
}
.mgr-v62-shared-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.mgr-v62-shared-list li {
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.7);
  font-size: 12px;
  line-height: 1.45;
  color: #57534e;
}
.mgr-v62-shared-list strong {
  display: block;
  margin-bottom: 2px;
  color: #292524;
  font-size: 13px;
}
.sku-focus-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #eff6ff;
  border: 1px solid rgba(37, 99, 235, 0.25);
  font-size: 13px;
  color: #1e3a8a;
}
.sku-focus-banner p { margin: 0; font-weight: 700; }
.mgr-v62-judge--compact {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.45;
  color: #292524;
}
.mgr-v62-unified-advice-act {
  display: block;
  margin-top: 4px;
  color: #44403c;
  font-weight: 600;
}



/* ===== Product Center R2 (pc-*) — scoped, no global nav drift ===== */
.pc-perspective { margin: 0 0 12px; }
.pc-perspective-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  max-width: 100%;
}
.pc-perspective-btn {
  flex: 0 0 auto;
  border: 1px solid #e7e5e4;
  background: #fff;
  color: #44403c;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.pc-perspective-btn.is-on {
  background: #fff7ed;
  border-color: #fdba74;
  color: #9a3412;
}
.pc-shortcut-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.pc-shortcut {
  border: 1px solid #e7e5e4;
  background: #fafaf9;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
}
.pc-shortcut.is-on {
  background: #fff7ed;
  border-color: #fdba74;
  color: #c2410c;
  font-weight: 700;
}
.pc-shortcut-hint { margin: 8px 0 0; font-size: 12px; }
.pc-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.pc-filter-feedback { margin: 8px 0 0; }
.pc-table .pc-sku-link {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
  color: inherit;
}
.pc-table .pc-sku-link:hover strong { color: #c2410c; text-decoration: underline; }
.pc-tag-btn { cursor: pointer; border: 0; }
.pc-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(28, 25, 23, 0.35);
  z-index: 80;
  display: flex;
  justify-content: flex-end;
}
.pc-drawer {
  width: min(480px, 100%);
  height: 100%;
  background: #fffaf5;
  box-shadow: -8px 0 24px rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.pc-drawer--mobile { width: 100%; }
.pc-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid #e7e5e4;
  background: #fff;
}
.pc-drawer-nav { display: flex; align-items: center; gap: 8px; }
.pc-drawer-body {
  padding: 14px 16px 28px;
  overflow: auto;
  flex: 1;
}
.pc-diag-block { margin: 0 0 18px; }
.pc-diag-title { margin: 0 0 6px; font-size: 18px; }
.pc-dim { margin: 0 0 10px; padding: 8px 10px; background: #fff; border-radius: 10px; border: 1px solid #f5f5f4; }
.pc-dim h4 { margin: 0 0 4px; font-size: 13px; }
.pc-dim p { margin: 0 0 4px; font-size: 13px; line-height: 1.45; }
.pc-dim-more { margin-top: 8px; font-size: 13px; }
.pc-issue {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
}
.pc-issue h4 { margin: 0 0 6px; font-size: 14px; }
.pc-issue p { margin: 0 0 4px; font-size: 13px; }
.pc-checklist { margin: 0 0 10px; padding-left: 18px; font-size: 13px; }
.pc-future { display: flex; flex-wrap: wrap; gap: 6px; }
.pc-future-chip {
  font-size: 11px;
  color: #78716c;
  background: #f5f5f4;
  border: 1px dashed #d6d3d1;
  border-radius: 8px;
  padding: 4px 8px;
}
.pc-role { margin: 8px 0 0; }
@media (max-width: 720px) {
  .pc-drawer-backdrop { justify-content: stretch; }
  .pc-table th:nth-child(n+4):nth-child(-n+5),
  .pc-table td:nth-child(n+4):nth-child(-n+5) {
    display: none;
  }
}



/* UX-R4 SKU 诊断抽屉信息层级 */
.pc-diag-hero { padding-bottom: 8px; border-bottom: 1px solid #e7e5e4; }
.pc-diag-kicker {
  margin: 10px 0 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #c2410c;
  text-transform: none;
}
.pc-diag-conclusion {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 800;
  color: #1c1917;
  line-height: 1.35;
}
.pc-diag-evidence-list {
  margin: 0 0 8px;
  padding-left: 1.1em;
  color: #44403c;
  font-size: 13px;
  line-height: 1.45;
}
.pc-diag-more { margin-top: 12px; }
.pc-diag-more > summary {
  cursor: pointer;
  font-weight: 800;
  color: #57534e;
  margin-bottom: 8px;
}
.pc-future-fold { margin-top: 10px; }
.pc-future-fold > summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: #a8a29e;
}
@media (max-width: 420px) {
  .pc-diag-title { font-size: 17px; }
  .pc-drawer-body { overflow-x: hidden; }
}
