/* Shared UI2 theme foundation. Loaded only by /ui/; /pre/ remains frozen. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --ma-bg: #0a0c0e;
  --ma-surface: #16181b;
  --ma-surface-soft: #1d2124;
  --ma-border: #30383d;
  --ma-text: #e6ecf5;
  --ma-muted: #9aa5ad;
  --ma-green: #67e0ab;
  --ma-green-dark: #3dbf86;
  --ma-blue: #38bdf8;
  --ma-purple: #b69cff;
  --ma-amber: #fbbf24;
  --ma-red: #f87171;
  --ma-positive-text: #67e0ab;
  --ma-negative-text: #ff8a8a;
  --ma-focus-ring: 3px rgba(7,130,93,.16);

  --bg-0: var(--ma-bg);
  --bg-1: var(--ma-surface);
  --bg-2: var(--ma-surface-soft);
  --card: rgba(255,255,255,.035);
  --card-strong: rgba(255,255,255,.06);
  --border: var(--ma-border);
  --border-strong: #48545b;
  --fg: var(--ma-text);
  --fg-mute: var(--ma-muted);
  --fg-dim: #6f7b82;
  --accent: var(--ma-green);
  --accent-rgb: 103,224,171;
  --accent-2: var(--ma-blue);
  --accent-2-rgb: 56,189,248;
  --warn: var(--ma-amber);
  --warn-rgb: 251,191,36;
  --danger: var(--ma-red);
  --danger-rgb: 248,113,113;
  --danger-2: #ef4444;
  --danger-2-rgb: 239,68,68;
  --glass-surface: rgba(22,24,27,.92);
  --glass-surface-strong: rgba(29,33,36,.97);
  --glass-surface-dim: rgba(29,33,36,.78);
  --glass-border: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px -22px rgba(0,0,0,.75);
  --glass-border-strong: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 36px -22px rgba(0,0,0,.8);
  --input-bg: #111517;
  --input-bg-focus: #161d1e;
  --row-hover: rgba(255,255,255,.04);
}

/* UI5 Scan Compare keeps selection controls stable while result regions update. */
#view-profit .profit-compare-shell { display:grid; gap:var(--sp-4, 20px); }
#view-profit .profit-compare-heading,
#view-profit .profit-compare-section-head { align-items:flex-start; display:flex; gap:16px; justify-content:space-between; }
#view-profit .profit-compare-heading p,
#view-profit .profit-compare-section-head h3,
#view-profit .profit-compare-control-panel h3,
#view-profit .profit-compare-fieldset,
#view-profit .profit-compare-status { margin:0; }
#view-profit .profit-compare-layout { display:grid; gap:20px; grid-template-columns:minmax(280px,1.2fr) minmax(280px,.8fr); }
#view-profit .profit-compare-record-panel,
#view-profit .profit-compare-control-panel,
#view-profit .profit-compare-detail,
#view-profit .profit-compare-metric { background:var(--ma-surface,#fff); border:1px solid var(--ma-border,#d9e3de); border-radius:12px; min-width:0; padding:16px; }
#view-profit .profit-compare-record-panel,
#view-profit .profit-compare-control-panel { display:grid; gap:14px; }
#view-profit .profit-compare-records { display:grid; gap:8px; max-height:430px; overflow:auto; padding:2px; }
#view-profit .profit-compare-record { align-items:flex-start; border:1px solid var(--ma-border,#d9e3de); border-radius:10px; cursor:pointer; display:flex; gap:12px; padding:12px; }
#view-profit .profit-compare-record:has(input:checked) { background:var(--ma-green-soft,#e9f7f1); border-color:var(--ma-green,#07825d); }
#view-profit .profit-compare-record-body,
#view-profit .profit-compare-selected,
#view-profit .profit-compare-detail-list,
#view-profit .profit-compare-series { display:grid; gap:4px; min-width:0; }
#view-profit .profit-compare-record-id,
#view-profit .profit-compare-record-meta,
#view-profit .profit-compare-series-delta,
#view-profit .profit-compare-delta { color:var(--ma-muted,#607069); font-size:12px; overflow-wrap:anywhere; }
#view-profit .profit-compare-selected-row { align-items:center; background:var(--ma-bg,#f3f7f5); border-radius:8px; display:flex; gap:10px; justify-content:space-between; padding:8px 10px; }
#view-profit .profit-compare-selection-summary { font-weight:700; margin:0; }
#view-profit .profit-compare-fieldset { border:1px solid var(--ma-border,#d9e3de); border-radius:10px; display:flex; flex-wrap:wrap; gap:12px 18px; padding:12px; }
#view-profit .profit-compare-fieldset legend { font-weight:700; padding:0 5px; }
#view-profit .profit-compare-fieldset label { align-items:center; display:inline-flex; gap:7px; }
#view-profit .profit-compare-warning { background:#fff7dc; border:1px solid #d6a62a; border-radius:10px; color:#5f4510; padding:12px 14px; }
#view-profit .profit-compare-charts { display:grid; gap:14px; min-width:0; }
#view-profit .profit-compare-legend { align-items:center; display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; }
#view-profit .profit-compare-overlay,
#view-profit .profit-compare-heatmap { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); min-width:0; }
#view-profit .profit-compare-heatmap { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
#view-profit .profit-compare-metric h3 { margin:0 0 12px; }
#view-profit .profit-compare-series { grid-template-columns:minmax(90px,.8fr) minmax(70px,1fr) auto; margin-top:9px; }
#view-profit .profit-compare-series.is-baseline { font-weight:700; }
#view-profit .profit-compare-series-bar { align-self:center; background:var(--ma-green,#07825d); border-radius:999px; display:block; height:8px; max-width:100%; width:var(--compare-value,0%); }
#view-profit .profit-compare-series-delta { grid-column:1 / -1; }
#view-profit .profit-compare-series.negative .profit-compare-series-bar { background:#a53a3a; }
#view-profit .positive { color:var(--ma-positive-text); }
#view-profit .negative { color:var(--ma-negative-text); }
#view-profit .neutral { color:var(--ma-text,#17231e); }
#view-profit .baseline { font-weight:700; text-decoration:underline; }
#view-profit .profit-compare-table-wrap { max-width:100%; overflow-x:auto; }
#view-profit .profit-compare-table { border-collapse:collapse; min-width:760px; width:100%; }
#view-profit .profit-compare-table caption { font-weight:700; padding:8px; text-align:left; }
#view-profit .profit-compare-table th,
#view-profit .profit-compare-table td { border:1px solid var(--ma-border,#d9e3de); padding:10px; text-align:left; vertical-align:top; }
#view-profit .profit-compare-table td strong,
#view-profit .profit-compare-table td span { display:block; }
#view-profit .profit-compare-table tr.is-baseline { background:var(--ma-green-soft,#e9f7f1); }
#view-profit .profit-compare-detail-list { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
#view-profit .profit-compare-detail-list dt { color:var(--ma-muted,#607069); font-size:12px; }
#view-profit .profit-compare-detail-list dd { margin:3px 0 0; }
@media (max-width:820px) {
  #view-profit .profit-compare-layout { grid-template-columns:minmax(0,1fr); }
  #view-profit .profit-compare-heading { align-items:stretch; flex-direction:column; }
  #view-profit .profit-compare-series { grid-template-columns:minmax(80px,1fr) minmax(60px,1fr); }
  #view-profit .profit-compare-series strong { grid-column:1 / -1; }
}

:root[data-theme="light"] {
  color-scheme: light;
  --ma-bg: #f3f7f5;
  --ma-surface: #ffffff;
  --ma-surface-soft: #f8faf9;
  --ma-border: #d5e1db;
  --ma-text: #17231e;
  --ma-muted: #607168;
  --ma-green: #07825d;
  --ma-green-dark: #075f47;
  --ma-blue: #2f77b8;
  --ma-purple: #7452b5;
  --ma-amber: #a76510;
  --ma-red: #b83c4a;
  --ma-positive-text: #075f47;
  --ma-negative-text: #8b2929;
  --ma-focus-ring: 3px rgba(7,130,93,.16);

  --bg-0: var(--ma-bg);
  --bg-1: var(--ma-surface);
  --bg-2: var(--ma-surface-soft);
  --card: #ffffff;
  --card-strong: #f8faf9;
  --border: var(--ma-border);
  --border-strong: #b8cbc1;
  --fg: var(--ma-text);
  --fg-mute: var(--ma-muted);
  --fg-dim: #718178;
  --accent: var(--ma-green);
  --accent-rgb: 7,130,93;
  --accent-2: var(--ma-blue);
  --accent-2-rgb: 47,119,184;
  --warn: var(--ma-amber);
  --warn-rgb: 167,101,16;
  --danger: var(--ma-red);
  --danger-rgb: 184,60,74;
  --danger-2: #9e2637;
  --danger-2-rgb: 158,38,55;
  --glass-surface: rgba(255,255,255,.94);
  --glass-surface-strong: #ffffff;
  --glass-surface-dim: #f8faf9;
  --glass-border: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 24px -22px rgba(23,35,30,.25);
  --glass-border-strong: inset 0 1px 0 #ffffff, 0 16px 32px -22px rgba(23,35,30,.3);
  --input-bg: #ffffff;
  --input-bg-focus: #ffffff;
  --row-hover: #f1f7f3;
}

body { background: var(--ma-bg); color: var(--ma-text); }

input:not([type]),
input[type="text"], input[type="number"], input[type="password"],
input[type="email"], input[type="tel"], input[type="search"],
input[type="date"], input[type="datetime-local"], input[type="time"],
textarea, select {
  background-color: var(--input-bg);
  border-color: var(--ma-border);
  box-shadow: none;
  color: var(--ma-text);
}

select,
select option {
  background-color: var(--ma-surface);
  color: var(--ma-text);
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--ma-green);
}

input[type="date"],
input[type="datetime-local"],
input[type="time"] {
  color-scheme: inherit;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
  opacity: .8;
}

.profit-calendar {
  background: var(--ma-surface);
  border: 1px solid var(--ma-border);
  color: var(--ma-text);
}

dialog.app-dialog,
.app-dialog-card {
  color: var(--ma-text);
}

.app-dialog-card {
  background: var(--ma-surface);
  border-color: var(--ma-border);
  box-shadow: 0 24px 64px -16px rgba(23,35,30,.28);
}

dialog.app-dialog::backdrop {
  background: rgba(23,35,30,.42);
}

input:disabled,
select:disabled,
textarea:disabled,
button:disabled {
  background: var(--ma-surface-soft);
  border-color: var(--ma-border);
  color: var(--ma-muted);
  cursor: not-allowed;
  opacity: .62;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
  outline: 2px solid var(--ma-green-dark) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 var(--ma-focus-ring) !important;
}

/* Buttons retain their hover feedback; calm Profit cards and rows do not. */
.btn:hover { filter: brightness(1.03); }

#view-profit .card:hover {
  background: var(--glass-surface);
  border-color: transparent;
  box-shadow: var(--glass-border);
  transform: none;
}

#view-profit table.profit-tbl tr:hover td,
#view-profit .hit-row:hover {
  background: transparent;
}

/* Footlocker and NikeUS share one predictable secondary workspace hierarchy. */
#view-profit [hidden] {
  display: none !important;
}

/* Merchant rate controls keep the brand and its value visually coupled. */
#view-profit .merchant-gc-grid,
#view-profit .merchant-discount-grid {
  display:grid;
  gap:10px 12px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
#view-profit .merchant-rate-control {
  align-items:center;
  background:var(--ma-surface-soft,var(--card));
  border:1px solid var(--ma-border,var(--border));
  border-radius:10px;
  display:grid;
  gap:6px;
  grid-template-columns:96px minmax(64px,78px) auto;
  justify-content:start;
  min-width:0;
  padding:8px 10px;
}
#view-profit .merchant-rate-logo {
  background:#fff;
  border-radius:6px;
  box-sizing:border-box;
  height:30px;
  max-width:96px;
  object-fit:contain;
  padding:3px 6px;
  width:96px;
}
#view-profit .merchant-rate-control input { margin:0; width:78px; }
#view-profit .merchant-rate-unit { color:var(--ma-muted,var(--fg-mute)); margin-left:-3px; }
#view-profit .merchant-rate-auto {
  background:transparent;
  border:0;
  color:var(--ma-green,var(--accent));
  cursor:pointer;
  font:inherit;
  padding:4px;
}
#view-profit .merchant-rate-auto,
#view-profit .merchant-rate-control small { display:none; }
#view-profit .merchant-rate-control small {
  color:var(--ma-muted,var(--fg-mute));
  font-size:11px;
  grid-column:1 / -1;
  min-height:14px;
  overflow-wrap:anywhere;
}
#view-profit .merchant-rate-toolbar {
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:space-between;
  margin-bottom:10px;
}

/* Historical single-scan report. */
/* ---------- Scan Report 重设计（v0.31）：Hero + 统计瓷砖 + 生长条形图 + AI 面板 ---------- */
#view-profit .profit-report-shell { display:grid; gap:18px; }

/* Hero 头部：图标章 + 标题，右侧刷新。 */
#view-profit .profit-report-hero {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
#view-profit .profit-report-hero-main { display:flex; align-items:center; gap:14px; min-width:0; }
#view-profit .profit-report-hero-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; flex:none;
  border-radius:12px;
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);
}
#view-profit .profit-report-hero-icon svg { width:24px; height:24px; }
#view-profit .profit-report-hero h2 { margin:0; font-size:19px; letter-spacing:-0.01em; }
#view-profit .profit-report-hero p { margin:2px 0 0; }

#view-profit .profit-report-picker { align-items:end; display:grid; gap:8px 12px; grid-template-columns:auto minmax(260px,520px) 1fr; }
#view-profit .profit-report-picker label { font-weight:700; }
#view-profit .profit-report-picker time { color:var(--ma-muted,var(--fg-mute)); font-size:12px; }

/* KPI 统计瓷砖：顶部渐变提示线 + 大号数字，加载时数字滚动到位。 */
#view-profit .profit-report-kpis { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); margin:0; }
#view-profit .profit-report-kpis > div {
  position:relative; overflow:hidden;
  background:var(--glass-surface, var(--ma-surface));
  border:1px solid transparent;
  box-shadow:var(--glass-border);
  border-radius:14px;
  min-width:0;
  padding:15px 16px;
}
#view-profit .profit-report-kpis > div::before {
  content:""; position:absolute; inset:0 auto auto 0; width:100%; height:2px;
  background:linear-gradient(90deg, rgba(var(--accent-rgb),.6), rgba(var(--accent-2-rgb),.35), transparent 88%);
  opacity:.6;
}
#view-profit .profit-report-kpis dt { color:var(--ma-muted,var(--fg-mute)); font-size:12px; letter-spacing:.02em; }
#view-profit .profit-report-kpis dd { font-family:var(--mono); font-size:26px; font-weight:700; letter-spacing:-0.02em; margin:6px 0 0; }

#view-profit .profit-report-qualification {
  background:linear-gradient(135deg,var(--ma-green-soft,#e9f7f1),transparent);
  border:1px solid var(--border); border-radius:14px; padding:16px;
}
#view-profit .profit-report-qualification[hidden] { display:none; }
#view-profit .profit-report-qualification-head { align-items:center; display:flex; gap:12px; justify-content:space-between; }
#view-profit .profit-report-qualification-head h3 { margin:0; font-size:14px; }
#view-profit .profit-report-qualification-metrics { display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); margin:14px 0 0; }
#view-profit .profit-report-qualification-metrics > div { background:var(--card-bg,var(--surface)); border:1px solid var(--border); border-radius:10px; padding:10px 12px; }
#view-profit .profit-report-qualification-metrics dt { color:var(--fg-mute); font-size:11px; }
#view-profit .profit-report-qualification-metrics dd { font-family:var(--mono); font-size:14px; font-weight:700; margin:5px 0 0; overflow-wrap:anywhere; }

#view-profit .profit-report-charts { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
#view-profit .profit-report-chart {
  background:var(--glass-surface, var(--ma-surface));
  border:1px solid transparent;
  box-shadow:var(--glass-border);
  border-radius:14px; min-width:0; padding:16px;
}
#view-profit .profit-report-chart h3 { margin:0 0 14px; font-size:var(--text-sm,13px); }
#view-profit .profit-report-bars { display:grid; gap:11px; }
#view-profit .profit-report-bar-row { display:grid; gap:5px; grid-template-columns:minmax(92px,1fr) 2fr auto; align-items:center; }
#view-profit .profit-report-bar-track { align-self:center; background:var(--input-bg, var(--ma-bg)); border-radius:999px; height:10px; overflow:hidden; }
#view-profit .profit-report-bar {
  border-radius:inherit; display:block; height:100%; min-width:3px;
  background:linear-gradient(90deg, var(--ma-green-dark, #087457), var(--ma-green, var(--accent)));
  transform-origin:left center;
  animation:profitReportBarGrow .7s cubic-bezier(.25,1,.5,1) both;
}
@keyframes profitReportBarGrow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
#view-profit .profit-report-bar-label { font-size:12px; overflow-wrap:anywhere; }
#view-profit .profit-report-bar-value { font-family:var(--mono); font-size:12px; font-weight:700; }

/* AI 摘要面板：左侧强调条 + 发现/动作两栏。 */
#view-profit .profit-report-ai {
  display:grid; gap:12px;
  position:relative;
  background:var(--glass-surface-dim, var(--ma-surface));
  border:1px solid var(--ma-border);
  border-left:3px solid var(--accent-2);
  border-radius:14px; padding:16px 18px;
}
#view-profit .profit-report-ai-head { align-items:center; display:flex; gap:14px; justify-content:space-between; flex-wrap:wrap; }
#view-profit .profit-report-ai h3 { margin:0; display:inline-flex; align-items:center; gap:7px; font-size:var(--text-base,14px); }
#view-profit .profit-report-ai h4 { margin:0; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--fg-dim); }
#view-profit .profit-report-ai-spark { color:var(--accent-2); animation:profitAiSpark 2.4s ease-in-out infinite; }
@keyframes profitAiSpark { 0%,100% { opacity:.5; transform:scale(.9); } 50% { opacity:1; transform:scale(1.15); } }
#view-profit #profit-report-ai-headline { font-size:16px; font-weight:650; }
#view-profit .profit-report-ai-columns { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
#view-profit .profit-report-ai-col {
  background:var(--card, rgba(255,255,255,.03));
  border:1px solid var(--ma-border);
  border-radius:10px; padding:12px 14px;
}
#view-profit .profit-report-ai-columns ul { margin:9px 0 0; padding-left:18px; display:grid; gap:6px; }
#view-profit .profit-report-ai-findings-col ul li::marker { color:var(--warn); }
#view-profit .profit-report-ai-actions-col ul li::marker { color:var(--accent); }

@media (max-width:720px) {
  #view-profit .merchant-rate-control { grid-template-columns:88px minmax(58px,76px) auto; }
  #view-profit .merchant-rate-logo { width:88px; }
  #view-profit .profit-report-picker { align-items:stretch; grid-template-columns:1fr; }
  #view-profit .profit-report-ai-columns { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  #view-profit .profit-report-bar,
  #view-profit .profit-report-ai-spark,
  #view-profit .profit-chart-pulse { animation:none; }
}

#view-checkout [hidden] {
  display: none !important;
}

/* 第三层导航：比主 Tab / 商家子 Tab 更小更轻，避免视觉层级倒挂。 */
#view-profit .profit-mode-nav {
  display: flex;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  padding: 4px;
  overflow-x: auto;
  background: var(--ma-surface-soft);
  border: 1px solid var(--ma-border);
  border-radius: 9px;
}

#view-profit .profit-mode-nav button {
  min-height: 30px;
  padding: 5px 12px;
  color: var(--ma-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

#view-profit .profit-mode-nav button.active {
  color: var(--ma-green-dark);
  background: var(--ma-surface);
  border-color: var(--ma-border);
  box-shadow: 0 5px 14px -12px rgba(23,35,30,.55);
}

#view-profit .profit-workspace-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-4);
  width: 100%;
  min-width: 0;
}

#view-profit .profit-full,
#view-profit #profit-scan-card,
#view-profit #profit-results-card,
#view-profit #profit-overview-card,
#view-profit #profit-chart-grid {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

#view-profit #profit-scan-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-4);
}

#view-profit .profit-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-4);
}

#view-profit .profit-chart-grid .card,
#view-profit .profit-placeholder {
  min-height: 132px;
}

#view-profit .profit-overview .card-head {
  margin-bottom: var(--sp-3);
}

#view-profit .profit-overview .card-head h2,
#view-profit .profit-overview .card-head p,
#view-profit .profit-chart-card h3 {
  margin: 0;
}

#view-profit .profit-scan-meta,
#view-profit .profit-stage-grid,
#view-profit .profit-aggregate-grid,
#view-profit .profit-observed-grid {
  display: grid;
  gap: var(--sp-3);
}

#view-profit .profit-scan-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 var(--sp-3);
}

#view-profit .profit-scan-meta > div,
#view-profit .profit-stage-grid > div,
#view-profit .profit-aggregate-grid > section,
#view-profit .profit-observed-grid > div {
  min-width: 0;
  padding: 10px 12px;
  background: var(--ma-surface-soft);
  border: 1px solid var(--ma-border);
  border-radius: 8px;
}

#view-profit .profit-scan-meta dt,
#view-profit .profit-aggregate-grid dt,
#view-profit .profit-stage-grid span,
#view-profit .profit-observed-grid span {
  color: var(--ma-muted);
  font-size: 12px;
}

#view-profit .profit-scan-meta dd,
#view-profit .profit-aggregate-grid dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--ma-text);
  font-weight: 700;
}

#view-profit .profit-overview-progress-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sp-3);
  align-items: center;
  margin-bottom: var(--sp-3);
}

#view-profit #profit-progress {
  height: 18px;
  overflow: hidden;
  background: var(--ma-surface-soft);
  border: 1px solid var(--ma-border);
  border-radius: 999px;
}

#view-profit #profit-liquid-fill {
  width: 0;
  height: 100%;
  background-image:
    linear-gradient(110deg, transparent 0 82px, rgba(255,255,255,.70) 126px, transparent 174px 300px),
    linear-gradient(90deg, #087457 0, #24b487 75px, #0b7f74 150px, #39c99a 225px, #087457 300px);
  background-size: 300px 100%, 300px 100%;
  background-repeat: repeat-x;
  animation: liquidFlowContinuous 5.6s linear infinite;
  transition: width .25s ease;
}

:root[data-theme="light"] #view-profit #profit-liquid-fill {
  background-image:
    linear-gradient(110deg, transparent 0 82px, rgba(255,255,255,.82) 126px, transparent 174px 300px),
    linear-gradient(90deg, #087457 0, #31bd8d 75px, #0b7f74 150px, #52d6aa 225px, #087457 300px);
}

@keyframes liquidFlowContinuous {
  from { background-position: 0 0, 0 0; }
  to { background-position: 300px 0, 300px 0; }
}

#view-profit .profit-stage-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: var(--sp-3);
}

#view-profit .profit-stage-grid strong {
  display: block;
  margin-top: 3px;
  font-size: 18px;
}

#view-profit .profit-aggregate-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#view-profit .profit-observed-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: var(--sp-3);
}

#view-profit .profit-observed-grid strong {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

#view-profit .profit-observed-wide {
  grid-column: 1 / -1;
}

#view-profit .profit-aggregate-grid h3 {
  margin: 0 0 8px;
  font-size: 13px;
}

#view-profit .profit-aggregate-grid dl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0;
}

#view-profit .profit-chart-card {
  min-width: 0;
}

#view-profit .profit-chart {
  min-height: 150px;
  margin-top: var(--sp-3);
}

#view-profit .profit-chart svg {
  display: block;
  width: 100%;
  max-height: 190px;
  overflow: visible;
}

#view-profit .profit-chart-track { fill: var(--ma-surface-soft); }
#view-profit .profit-chart-bar { fill: var(--ma-green-dark); color: var(--ma-green); }
#view-profit .profit-chart-bar-purple { fill: var(--ma-purple); color: var(--ma-purple); }
#view-profit .profit-chart-label,
#view-profit .profit-chart-value {
  fill: var(--ma-text);
  font-size: 12px;
}
#view-profit .profit-chart-value { font-weight: 700; }

#view-profit .profit-chart-grid-line {
  stroke: var(--ma-border);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

#view-profit .profit-chart-line {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

/* 每个系列同时设 color，供面积渐变 / 末端点的 currentColor 取用。 */
#view-profit .profit-chart-line-traffic { stroke: #39c99a; color: #39c99a; }
#view-profit .profit-chart-line-discovered { stroke: #a78bfa; color: #a78bfa; }
#view-profit .profit-chart-line-fetched { stroke: #38bdf8; color: #38bdf8; }
#view-profit .profit-chart-line-parsed { stroke: #fbbf24; color: #fbbf24; }
#view-profit .profit-chart-line-evaluated { stroke: #34d399; color: #34d399; }

/* 面积填充（渐变）、末端实心点与呼吸光环。 */
#view-profit .profit-chart-area { stroke: none; }
#view-profit .profit-chart-dot { fill: currentColor; stroke: var(--ma-surface); stroke-width: 1.5; }
#view-profit .profit-chart-pulse {
  fill: currentColor;
  transform-box: fill-box;
  transform-origin: center;
  animation: profitChartPulse 1.8s ease-out infinite;
}
@keyframes profitChartPulse {
  0%   { transform: scale(1);   opacity: .55; }
  70%  { transform: scale(3.2); opacity: 0; }
  100% { transform: scale(3.2); opacity: 0; }
}

#view-profit .profit-chart-axis-label,
#view-profit .profit-chart-legend {
  fill: var(--ma-muted);
  font-size: 10px;
}

#view-profit .profit-chart-axis-y,
#view-profit .profit-chart-axis-x-end { text-anchor: end; }
#view-profit .profit-chart-legend { font-weight: 700; }
#view-profit text.profit-chart-line-traffic { fill: #39c99a; stroke: none; }
#view-profit text.profit-chart-line-discovered { fill: #a78bfa; stroke: none; }
#view-profit text.profit-chart-line-fetched { fill: #38bdf8; stroke: none; }
#view-profit text.profit-chart-line-parsed { fill: #fbbf24; stroke: none; }
#view-profit text.profit-chart-line-evaluated { fill: #34d399; stroke: none; }

#view-profit .profit-chart-empty {
  display: grid;
  min-height: 140px;
  margin: 0;
  place-items: center;
  color: var(--ma-muted);
  text-align: center;
}

#view-profit .profit-select-all-label {
  display: inline-flex;
  align-items: center;
}

#view-profit .profit-bulk-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding: 10px 14px;
  border-top: 1px solid var(--ma-border);
  border-bottom: 1px solid var(--ma-border);
  background: var(--ma-surface-soft);
}

#view-profit .profit-bulk-toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#view-profit #profit-checkout-selected { margin-left: auto; }

.profit-preflight-drawer {
  width: min(720px, calc(100vw - 24px));
  max-width: 720px;
}

.profit-preflight-totals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.profit-preflight-totals div,
.profit-preflight-item {
  padding: 10px;
  border: 1px solid var(--ma-border);
  border-radius: var(--radius-sm);
  background: var(--ma-surface-soft);
}

.profit-preflight-totals dt { color: var(--ma-muted); font-size: 12px; }
.profit-preflight-totals dd { margin: 4px 0 0; font-weight: 700; }
.profit-preflight-items { display: grid; gap: 8px; max-height: 42vh; overflow: auto; }
.profit-preflight-item strong, .profit-preflight-item span { display: block; }
.profit-preflight-item span { margin-top: 4px; color: var(--ma-muted); font-size: 12px; }
.profit-preflight-actions { justify-content: flex-end; margin-top: 14px; }

@media (max-width: 640px) {
  .profit-preflight-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-profit #profit-checkout-selected { width: 100%; margin-left: 0; }
}

#view-profit .profit-value-updated {
  animation: profitValueUpdated .72s ease-out;
}

/* 扫描完成的一次性节拍：进度条发光脉冲 + 结果计数弹跳。 */
#view-profit #profit-progress.scan-complete-pulse {
  animation: profitScanComplete 1.4s ease-out;
}
@keyframes profitScanComplete {
  0%   { box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .55); }
  60%  { box-shadow: 0 0 0 14px rgba(var(--accent-rgb), 0); }
  100% { box-shadow: 0 0 0 0 rgba(var(--accent-rgb), 0); }
}
#view-profit .profit-count-pop {
  display: inline-block;
  animation: profitCountPop .8s cubic-bezier(.34,1.56,.64,1);
}
@keyframes profitCountPop {
  35% { transform: scale(1.18); color: var(--accent); }
}

@keyframes profitValueUpdated {
  from { color: var(--ma-green); text-shadow: 0 0 12px rgba(var(--accent-rgb), .55); }
  to { color: inherit; text-shadow: none; }
}

#view-profit .profit-placeholder h2,
#view-profit .profit-placeholder h3 {
  margin: 0 0 var(--sp-2);
}

/* UI6 merchant-isolated Checkout Lab. Cards flow naturally without clipped heights. */
#view-checkout .profit-lab-workspace,
#view-checkout .profit-lab-merchant {
  min-width: 0;
}

#view-checkout .profit-lab-merchant {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-4);
  align-items: start;
}

#view-checkout .profit-lab-merchant > .card {
  width: 100%;
  min-width: 0;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

#view-checkout .profit-lab-capability,
#view-checkout [data-lab-merchant="footlocker"] .checkout-sessions-card {
  grid-column: 1 / -1;
}

#view-checkout .profit-lab-heading {
  align-items: flex-start;
  gap: var(--sp-3);
}

#view-checkout .profit-lab-heading h2,
#view-checkout .profit-lab-heading p {
  margin: 0;
}

#view-checkout .profit-lab-heading p {
  margin-top: var(--sp-2);
}

#view-checkout .profit-lab-status {
  flex: 0 0 auto;
  padding: 5px 9px;
  color: var(--ma-muted);
  background: var(--ma-surface-soft);
  border: 1px solid var(--ma-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

#view-checkout .profit-lab-actions {
  justify-content: flex-end;
  margin-top: var(--sp-3);
}

#view-profit .profit-advanced-settings {
  margin-top: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--ma-border);
}

#view-profit .profit-advanced-settings summary {
  color: var(--ma-text);
  cursor: pointer;
  font-weight: 650;
}

#view-profit .profit-advanced-settings p {
  margin: var(--sp-2) 0 0;
}

#view-profit .profit-scanner-section > h3 {
  margin: 0 0 var(--sp-3);
  font-size: var(--text-sm);
}

#view-profit .profit-settings-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: var(--sp-3);
  align-items: end;
}

#view-profit .profit-settings-grid .profit-field {
  min-width: 0;
}

#view-profit .profit-settings-grid input,
#view-profit .profit-settings-grid select,
#view-profit .profit-proxy-button {
  width: 100% !important;
  min-width: 0;
}

#view-profit .profit-field > .profit-field-label {
  font-size: var(--text-xs);
  color: var(--fg-mute);
  text-transform: uppercase;
  letter-spacing: .05em;
}

#view-profit .profit-checkbox-control {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: var(--input-bg);
  color: var(--fg);
  font-size: var(--text-sm);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

#view-profit .profit-checkbox-control input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px !important;
  height: 16px;
  min-height: 0;
  margin: 0;
  padding: 0;
}

#view-profit .profit-field.is-invalid input:not([type="checkbox"]),
#view-profit .profit-field.is-invalid select {
  border-color: var(--danger, #ff5d69) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--danger, #ff5d69) 24%, transparent) !important;
}

#view-profit .profit-field-error {
  color: var(--danger, #ff5d69);
  font-size: var(--text-xs);
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
}

#view-profit .profit-scan-status.is-error {
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--danger, #ff5d69) 58%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--danger, #ff5d69) 10%, transparent);
  color: var(--danger, #ff5d69);
}

#view-profit .profit-field-wide {
  grid-column: 1 / -1;
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime {
  display: grid;
  grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--sp-3);
  min-height: 54px;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--border-strong) 72%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--glass-surface) 86%, var(--bg-0));
}

:is(#view-profit, #view-checkout) .profit-stockx-runner-start {
  justify-self: end;
  /* 按内容自适应，不再固定 184px 宽；连接前后文案长度不一也不撑大卡片。 */
  min-width: 0;
  padding: 6px 14px;
  font-size: 12px;
  border-color: color-mix(in srgb, var(--accent) 46%, var(--border));
  white-space: nowrap;
}

:is(#view-profit, #view-checkout) .profit-stockx-runner-start:disabled {
  cursor: wait;
  opacity: .72;
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

:is(#view-profit, #view-checkout) .profit-stockx-runner-start.is-connected:disabled {
  color: var(--ma-green-dark);
  background: color-mix(in srgb, var(--accent) 14%, var(--ma-surface));
  border-color: color-mix(in srgb, var(--accent) 54%, var(--border));
  cursor: default;
  opacity: 1;
}

:is(#view-profit, #view-checkout) .profit-stockx-runner-start.is-connected::before {
  content: '✓';
  margin-right: 7px;
  font-weight: 900;
}

:is(#view-profit, #view-checkout) .profit-stockx-runner-install {
  color: var(--ma-red);
  border-color: color-mix(in srgb, var(--ma-red) 42%, var(--border));
  text-decoration: none;
  white-space: nowrap;
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime-head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
  font-size: var(--text-sm);
  font-weight: 700;
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime-badge {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 2px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--fg-dim);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime-detail {
  min-width: 0;
  color: var(--fg-dim);
  font-size: 12px;
  line-height: 1.45;
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime.is-ready {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
  background: color-mix(in srgb, var(--accent) 7%, var(--glass-surface));
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime.is-ready .profit-stockx-runtime-badge {
  color: var(--accent);
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime.is-unavailable {
  border-color: color-mix(in srgb, var(--danger) 52%, var(--border));
  background: color-mix(in srgb, var(--danger) 7%, var(--glass-surface));
}

:is(#view-profit, #view-checkout) .profit-stockx-runtime.is-unavailable .profit-stockx-runtime-badge {
  color: var(--danger);
}

#view-profit .profit-catalog-runtime {
  position: relative;
  display: grid;
  grid-template-columns: minmax(250px, 1.25fr) minmax(330px, 1fr) auto;
  align-items: center;
  gap: var(--sp-3);
  min-height: 72px;
  padding: 13px 14px 13px 18px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent-2) 32%, var(--border));
  border-radius: 12px;
  background:
    linear-gradient(105deg, color-mix(in srgb, var(--accent-2) 7%, transparent), transparent 42%),
    color-mix(in srgb, var(--glass-surface) 88%, var(--bg-0));
}

#view-profit .profit-catalog-runtime::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  content: '';
  background: var(--accent-2);
}

#view-profit .profit-catalog-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

#view-profit .profit-catalog-head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--text-sm);
  font-weight: 750;
}

#view-profit .profit-catalog-badge {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 2px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--accent-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#view-profit .profit-catalog-detail {
  color: var(--fg-dim);
  font-size: 12px;
  line-height: 1.45;
}

#view-profit .profit-catalog-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(64px, 1fr));
  gap: 7px;
}

#view-profit .profit-catalog-metrics span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  border-radius: 8px;
  color: var(--fg-dim);
  font-size: 10px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#view-profit .profit-catalog-metrics strong {
  color: var(--ma-text);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

#view-profit .profit-catalog-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

#view-profit .profit-catalog-runtime.is-invalid {
  border-color: color-mix(in srgb, var(--warn) 52%, var(--border));
}

#view-profit .profit-catalog-runtime.is-invalid::before {
  background: var(--warn);
}

#view-profit .profit-catalog-runtime.is-invalid .profit-catalog-badge {
  color: var(--warn);
}

#view-profit .cashback-rate-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: var(--sp-2);
  color: var(--ma-muted);
  font-size: var(--text-xs);
}

#view-profit .profit-toggle-field {
  display: flex;
  gap: 8px;
  min-height: 38px;
  align-items: center;
  color: var(--ma-text);
}

/* UI3 Nike legacy-layout reset */
#view-profit .profit-workspace.profit-workspace-nike {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  width: 100%;
}

#view-profit .profit-workspace.profit-workspace-nike > *,
#view-profit .profit-workspace.profit-workspace-nike .profit-workspace-panel,
#view-profit .profit-workspace.profit-workspace-nike #profit-scan-card,
#view-profit .profit-workspace.profit-workspace-nike #profit-overview-card,
#view-profit .profit-workspace.profit-workspace-nike #profit-chart-grid,
#view-profit .profit-workspace.profit-workspace-nike #profit-results-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0;
}

#view-profit .profit-workspace.profit-workspace-nike .nike-equal-card,
#view-profit .profit-workspace.profit-workspace-nike #nike-profit-settings-card,
#view-profit .profit-workspace.profit-workspace-nike [data-checkout-merchant="nike"],
#view-profit .profit-workspace.profit-workspace-nike #nike-lab-dashboard-card,
#view-profit .profit-workspace.profit-workspace-nike #nike-diagnostic-card {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

@media (max-width: 1200px) {
  #view-profit .profit-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-profit .profit-catalog-runtime {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #view-profit .profit-catalog-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  #view-profit .profit-settings-grid,
  #view-profit .profit-chart-grid,
  #view-checkout .profit-lab-merchant {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(#view-profit, #view-checkout) .profit-stockx-runtime {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  #view-profit .profit-catalog-runtime,
  #view-profit .profit-catalog-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-profit .profit-catalog-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-profit .profit-catalog-actions .btn {
    flex: 1 1 auto;
  }

  :is(#view-profit, #view-checkout) .profit-stockx-runner-start {
    justify-self: stretch;
    width: 100%;
  }

  :is(#view-profit, #view-checkout) .profit-stockx-runtime-actions,
  :is(#view-profit, #view-checkout) .profit-stockx-runner-install {
    width: 100%;
  }

  :is(#view-profit, #view-checkout) .profit-stockx-runtime-actions {
    justify-content: stretch;
  }

  #view-checkout .profit-lab-actions {
    align-items: stretch;
    flex-direction: column;
  }

  #view-checkout .profit-lab-actions .btn {
    width: 100%;
  }

  #view-profit .profit-mode-nav button {
    flex: 1 0 auto;
  }

  #view-profit .profit-subtabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #view-profit .profit-scan-meta,
  #view-profit .profit-stage-grid,
  #view-profit .profit-aggregate-grid,
  #view-profit .profit-observed-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  #view-profit #profit-liquid-fill {
    animation: none;
    transition: none;
  }

  #view-profit .profit-value-updated {
    animation: none;
  }
}
/* Profit advanced settings grouped layout */
#view-profit .profit-advanced-settings summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  min-height: 34px;
  list-style: none;
}

#view-profit .profit-advanced-settings summary::-webkit-details-marker {
  display: none;
}

#view-profit .profit-advanced-settings summary::after {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--ma-border);
  border-radius: 7px;
  color: var(--ma-muted);
  content: '+';
  font-family: var(--mono);
  font-size: 15px;
  line-height: 1;
}

#view-profit .profit-advanced-settings[open] summary::after {
  content: '\2212';
}

#view-profit .profit-cashback-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--sp-3);
}

#view-profit .profit-cashback-field > label {
  margin: 0;
  white-space: nowrap;
}

#view-profit .profit-cashback-field .cashback-options {
  min-width: 0;
}

#view-profit .profit-advanced-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
  margin-top: var(--sp-3);
}

#view-profit .profit-advanced-group {
  display: grid;
  align-content: start;
  gap: var(--sp-3);
  min-width: 0;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--ma-border) 86%, transparent);
  border-radius: 11px;
  background: color-mix(in srgb, var(--ma-surface-soft) 76%, transparent);
}

#view-profit .profit-advanced-group-wide {
  grid-column: 1 / -1;
}

#view-profit .profit-cashback-matrix-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
}

#view-profit .profit-cashback-provider-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

#view-profit .profit-cashback-provider-toggles .cashback-option {
  flex: 0 1 auto;
}

#view-profit .profit-cashback-matrix {
  min-width: 0;
  overflow-x: auto;
  border: 1px solid color-mix(in srgb, var(--ma-border) 86%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg-0) 32%, transparent);
}

#view-profit .profit-cashback-matrix-table {
  min-width: 620px;
}

#view-profit .profit-cashback-matrix-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(160px, 1fr));
  align-items: center;
  min-height: 46px;
  border-bottom: 1px solid color-mix(in srgb, var(--ma-border) 70%, transparent);
}

#view-profit .profit-cashback-matrix-row:last-child {
  border-bottom: 0;
}

#view-profit .profit-cashback-matrix-row > * {
  min-width: 0;
  padding: 9px 12px;
}

#view-profit .profit-cashback-matrix-head {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 40px;
  color: var(--ma-muted);
  background: color-mix(in srgb, var(--ma-surface-soft) 94%, var(--bg-0));
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

#view-profit .profit-cashback-matrix-row output {
  color: var(--ma-muted);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
}

#view-profit .profit-cashback-matrix-row output.is-live {
  color: var(--ma-text);
}

#view-profit .profit-cashback-matrix-row output.is-best {
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 13%, transparent);
  box-shadow: inset 3px 0 0 var(--accent);
  font-weight: 900;
}

#view-profit .profit-cashback-matrix-row output.is-best::after {
  content: '最高';
  display: inline-block;
  margin-left: 8px;
  padding: 2px 6px;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, transparent);
  border-radius: 999px;
  color: var(--accent);
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
}

#view-profit .profit-cashback-matrix-row output.is-error,
#view-profit #profit-cashback-matrix-status.is-error {
  color: var(--danger);
}

#view-profit .profit-cashback-merchant {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ma-text);
  font-size: 12px;
  font-weight: 700;
}

#view-profit .profit-cashback-merchant .merchant-rate-logo {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 7px;
  object-fit: contain;
  background: #fff;
}

#view-profit #profit-cashback-matrix-status {
  font-size: 11px;
}

#view-profit .profit-advanced-group-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sp-3);
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--ma-border) 78%, transparent);
}

#view-profit .profit-advanced-group-header > div {
  display: grid;
  gap: 3px;
}

#view-profit .profit-advanced-group-header span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#view-profit .profit-advanced-group-header h4 {
  margin: 0;
  color: var(--ma-text);
  font-size: var(--text-sm);
  line-height: 1.25;
}

#view-profit .profit-advanced-group-header p {
  max-width: 260px;
  margin: 0;
  color: var(--ma-muted);
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
}

#view-profit .profit-advanced-grid,
#view-profit .profit-toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#view-profit .profit-advanced-grid .profit-field {
  min-width: 0;
}

#view-profit .profit-advanced-grid input,
#view-profit .profit-advanced-grid select,
#view-profit .profit-advanced-score input {
  width: 100% !important;
  min-width: 0;
}

#view-profit .profit-advanced-score {
  display: grid;
  grid-template-columns: minmax(130px, .42fr) minmax(0, 1fr);
  align-items: end;
  gap: var(--sp-3);
}

#view-profit .profit-advanced-score .muted {
  margin: 0 0 6px;
  font-size: 11px;
  line-height: 1.45;
}

#view-profit .profit-toggle-field {
  align-items: flex-start;
  gap: 10px;
  min-height: 72px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--ma-border) 86%, transparent);
  border-radius: 9px;
  background: color-mix(in srgb, var(--bg-0) 38%, transparent);
  cursor: pointer;
}

#view-profit .profit-toggle-field input {
  flex: 0 0 auto;
  margin-top: 2px;
}

#view-profit .profit-toggle-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

#view-profit .profit-toggle-copy strong {
  font-size: 12px;
  line-height: 1.35;
}

#view-profit .profit-toggle-copy small {
  color: var(--ma-muted);
  font-size: 10px;
  line-height: 1.45;
}

@media (max-width: 1200px) {
  #view-profit .profit-advanced-panel {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  #view-profit .profit-cashback-field,
  #view-profit .profit-advanced-grid,
  #view-profit .profit-toggle-grid,
  #view-profit .profit-advanced-score {
    grid-template-columns: minmax(0, 1fr);
  }

  #view-profit .profit-advanced-group-header {
    align-items: flex-start;
    flex-direction: column;
  }

  #view-profit .profit-advanced-group-header p {
    max-width: none;
    text-align: left;
  }

  #view-profit .profit-cashback-matrix-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
}
