:root {
  --bg: #f5f6f7;
  --surface: #ffffff;
  --surface-2: #f8f9fa;
  --ink: #202124;
  --muted: #6f7378;
  --line: #e4e6e8;
  --line-strong: #d2d5d8;
  --orange: #ff5a1f;
  --orange-soft: #fff0e9;
  --green: #18855b;
  --green-soft: #e9f6f0;
  --red: #cc3d3d;
  --red-soft: #fff0f0;
  --blue: #2878c7;
  --blue-soft: #edf5fd;
  --purple: #7b61c9;
  --yellow: #a26b00;
  --yellow-soft: #fff8df;
  --shadow: 0 8px 28px rgba(32, 33, 36, 0.08);
}

.nav-badge { min-width: 24px !important; height: 18px !important; border-radius: 4px !important; background: #e7f5ee !important; color: #18855b !important; font-size: 12px !important; }
.market-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; background: linear-gradient(110deg,#fffaf5,#fff); }
.market-hero h2 { margin:6px 0; font-size:20px; }
.market-hero p { margin:0; color:var(--muted); font-size: 15px; }
.market-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.signal-card { padding:16px; border:1px solid var(--line); border-radius:8px; background:#fff; min-height:126px; }
.signal-card.green { border-top:3px solid #18855b; }.signal-card.blue { border-top:3px solid #2878c7; }.signal-card.orange { border-top:3px solid #ff7a22; }.signal-card.purple { border-top:3px solid #7a64b3; }
.signal-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }.signal-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:6px; background:#f3f4f5; }.signal-icon svg { width:16px; }
.signal-card > strong { display:block; font-size:13px; }.signal-value { margin-top:8px; font-size:22px; font-weight:700; }.signal-card small { color:var(--muted); font-size: 14px; }
.keyword-list,.competitor-list { padding:8px 18px 14px; }.keyword-row,.competitor-row { display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); }.keyword-row:last-child,.competitor-row:last-child { border-bottom:0; }.keyword-row > span { width:18px; color:var(--muted); font-size: 14px; }.keyword-row strong { flex:1; font-size:13px; }.keyword-row em { color:var(--green); font-style:normal; font-size: 14px; }.keyword-row .text-button { font-size: 14px; }.competitor-row > div { flex:1; min-width:0; }.competitor-row strong,.competitor-row small { display:block; }.competitor-row strong { font-size: 15px; }.competitor-row small { margin-top:4px; color:var(--muted); font-size: 14px; }
.signal-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:12px; padding:18px; }.signal-flow div { padding:12px; background:#f7f8f8; border-radius:6px; }.signal-flow b,.signal-flow span { display:block; }.signal-flow b { font-size: 15px; }.signal-flow span { margin-top:4px; color:var(--muted); font-size: 14px; }.signal-flow svg { width:16px; color:var(--muted); }
.ops-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; }
.ops-head h2 { margin:6px 0; font-size:20px; }.ops-head p { margin:0; color:var(--muted); font-size: 15px; }
.ops-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.approval-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; }.approval-head h2 { margin:6px 0; font-size:20px; }.approval-head p { margin:0; color:var(--muted); font-size: 15px; }.approval-score { min-width:120px; text-align:right; }.approval-score strong,.approval-score span { display:block; }.approval-score strong { font-size:28px; }.approval-score span { color:var(--muted); font-size: 14px; }
.ai-approval-console { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(420px,1.3fr); gap:16px 24px; align-items:center; padding:17px; border-left:3px solid var(--blue); }.ai-console-main { display:flex; align-items:center; gap:11px; }.ai-console-main strong,.ai-console-main small { display:block; }.ai-console-main strong { font-size:13px; }.ai-console-main small { margin-top:4px; color:var(--muted); font-size: 13px; }.ai-mark { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:6px; color:var(--blue); background:var(--blue-soft); }.ai-console-controls { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:center; gap:9px; }.approval-toggle { min-height:36px; display:flex; align-items:center; gap:7px; padding:0 10px; border:1px solid var(--line); border-radius:5px; font-size: 13px; white-space:nowrap; }.approval-toggle input { width:15px; min-height:15px; }.ai-flow { grid-column:1/-1; display:flex; align-items:center; gap:9px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size: 13px; }.ai-flow span { padding:6px 9px; background:var(--surface-2); border-radius:4px; }.ai-flow svg { width:13px; }
.approval-progress { height:7px; overflow:hidden; border-radius:4px; background:#e6e8ea; }.approval-progress i { display:block; height:100%; border-radius:4px; background:var(--green); transition:width .25s ease; }
.gate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.gate-card { display:flex; flex-direction:column; min-height:310px; padding:17px; border:1px solid var(--line); border-top:3px solid #a26b00; border-radius:8px; background:#fff; }.gate-card.passed { border-top-color:var(--green); }.gate-card.rejected { border-top-color:var(--red); }.gate-card-head { display:flex; align-items:center; gap:10px; }.gate-card-head > div { flex:1; }.gate-card-head h3 { margin:0; font-size:14px; }.gate-card-head small { color:var(--muted); font-size: 13px; }.gate-index { color:var(--muted); font-size: 14px; font-weight:700; }.gate-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:6px; background:#f3f4f5; }.gate-icon svg { width:16px; }
.ai-score-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin:14px 0 2px; }.ai-score-row strong { font-size: 14px; }.ai-score-row > span { height:5px; overflow:hidden; border-radius:3px; background:#e8eaec; }.ai-score-row > span i { display:block; height:100%; border-radius:3px; background:var(--blue); }.ai-score-row small { color:var(--muted); font-size: 12px; }.gate-note ul { margin:7px 0 0; padding-left:17px; color:var(--red); font-size: 13px; line-height:1.55; }
@media (max-width:900px) { .ai-approval-console { grid-template-columns:1fr; }.ai-console-controls { grid-template-columns:1fr; }.ai-flow { overflow:auto; }.gate-grid { grid-template-columns:1fr; } }
.marketing-hero { min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; border-left:3px solid var(--orange); }.marketing-hero h2 { margin:6px 0; font-size:20px; }.marketing-hero p { margin:0; color:var(--muted); font-size: 14px; }.marketing-toolbar { display:grid; grid-template-columns:minmax(210px,1fr) auto; gap:9px; min-width:min(520px,48%); }.marketing-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }.marketing-kpi { min-height:105px; padding:15px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }.marketing-kpi > span { color:var(--muted); font-size: 13px; }.marketing-kpi > strong:not(.status) { display:block; margin-top:10px; font-size:20px; }.marketing-kpi .status { margin-top:10px; }.marketing-kpi small { display:block; margin-top:8px; color:var(--muted); font-size: 12px; }.marketing-guard { display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:12px; padding:14px 16px; background:#fffdf8; border-color:#eadfbf; }.guard-icon { width:38px; height:38px; display:grid; place-items:center; color:#8b6814; background:#f6ebc7; border-radius:6px; }.marketing-guard strong { font-size: 15px; }.marketing-guard p { margin:4px 0 0; color:#716443; font-size: 13px; line-height:1.55; }.marketing-legend { display:flex; align-items:center; gap:6px; color:var(--muted); font-size: 12px; }.marketing-legend i { width:7px; height:7px; border-radius:50%; background:var(--orange); }.marketing-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }.marketing-tool { min-height:285px; display:flex; flex-direction:column; padding:17px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; }.marketing-tool:nth-child(3n) { border-right:0; }.marketing-tool:nth-child(n+4) { border-bottom:0; }.marketing-tool.recommended::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--orange); }.marketing-tool.active { background:#fbfdfc; box-shadow:inset 0 0 0 1px #b7dccb; }.marketing-tool-head { display:flex; align-items:center; gap:10px; }.marketing-tool-head > span { width:34px; height:34px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:6px; }.marketing-tool-head > span svg { width:16px; }.marketing-tool-head > div { flex:1; }.marketing-tool h3 { margin:0; font-size:13px; }.marketing-tool-head small { color:var(--muted); font-size: 12px; }.marketing-tool-head b { padding:3px 6px; color:#b44518; background:var(--orange-soft); border-radius:4px; font-size: 11px; }.marketing-tool > strong { margin-top:15px; font-size: 14px; }.marketing-tool > p { margin:6px 0; color:var(--muted); font-size: 13px; line-height:1.55; }.tool-risk { display:flex; align-items:flex-start; gap:6px; margin:4px 0 14px; padding:8px; color:#765b19; background:#fff8df; border-radius:5px; font-size: 12px; line-height:1.45; }.tool-risk svg { width:12px; height:12px; flex:0 0 auto; }.marketing-tool > button { margin-top:auto; width:100%; }.marketing-bottom-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr); gap:12px; align-items:stretch; }.marketing-timeline { display:grid; grid-template-columns:repeat(4,1fr); padding:18px; }.marketing-timeline > div { min-height:116px; padding:4px 15px; border-left:2px solid var(--line); }.marketing-timeline > div:first-child { border-left-color:var(--orange); }.marketing-timeline span { color:var(--orange); font-size: 12px; font-weight:700; }.marketing-timeline strong { display:block; margin-top:9px; font-size: 15px; }.marketing-timeline p { margin:6px 0 0; color:var(--muted); font-size: 12px; line-height:1.55; }.marketing-approval { padding:18px; }.marketing-approval h3 { margin:6px 0; font-size:15px; }.marketing-approval > p { min-height:44px; margin:0 0 12px; color:var(--muted); font-size: 13px; line-height:1.55; }.approval-checkline { display:flex; align-items:center; gap:7px; padding:6px 0; font-size: 13px; }.approval-checkline svg { width:14px; color:var(--green); }.marketing-approval button { margin-top:12px; }
.marketing-agent { display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:13px 22px; padding:16px; border-left:3px solid #777; }.marketing-agent.running { border-left-color:var(--green); }.agent-state { display:flex; align-items:center; gap:11px; }.agent-state strong,.agent-state small { display:block; }.agent-state strong { margin-top:3px; font-size:13px; }.agent-state small { margin-top:3px; color:var(--muted); font-size: 12px; }.agent-orbit { width:40px; height:40px; display:grid; place-items:center; flex:0 0 auto; color:#62676b; background:#eff1f2; border-radius:50%; }.marketing-agent.running .agent-orbit { color:var(--green); background:var(--green-soft); box-shadow:0 0 0 5px rgba(38,150,100,.08); }.agent-controls { display:flex; align-items:end; gap:8px; }.agent-controls label { min-width:130px; }.agent-controls label span { display:block; margin-bottom:4px; color:var(--muted); font-size: 11px; }.agent-boundary { grid-column:1/-1; display:flex; align-items:center; gap:7px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size: 12px; }.agent-boundary svg { width:13px; color:var(--green); }.automation-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }.automation-action { min-height:88px; display:grid; grid-template-columns:28px 1fr auto; grid-template-rows:1fr auto; gap:4px 10px; align-items:center; padding:13px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.automation-action:nth-child(2n) { border-right:0; }.automation-action > span { grid-row:1/3; width:27px; height:27px; display:grid; place-items:center; border-radius:5px; color:var(--blue); background:var(--blue-soft); font-size: 12px; }.automation-action.warn > span { color:var(--yellow); background:var(--yellow-soft); }.automation-action.bad > span { color:var(--red); background:var(--red-soft); }.automation-action.good > span { color:var(--green); background:var(--green-soft); }.automation-action strong { font-size: 14px; }.automation-action p { margin:3px 0 0; color:var(--muted); font-size: 12px; }.automation-action small { color:var(--muted); font-size: 11px; }.automation-action b { justify-self:end; padding:3px 6px; border-radius:4px; color:#8a6415; background:var(--yellow-soft); font-size: 11px; }.tool-parameter { margin:6px 0; padding:9px; border-left:2px solid var(--blue); background:var(--blue-soft); border-radius:4px; }.tool-parameter span,.tool-parameter strong { display:block; }.tool-parameter span { color:var(--blue); font-size: 11px; }.tool-parameter strong { margin-top:3px; font-size: 13px; }.approval-timeline { gap:0; padding:0; }.approval-stage { min-width:0; min-height:310px; display:flex; flex-direction:column; padding:15px; border-right:1px solid var(--line); border-top:3px solid #d2aa51; }.approval-stage:last-child { border-right:0; }.approval-stage.passed { border-top-color:var(--green); background:#fbfdfc; }.approval-stage.rejected { border-top-color:var(--red); background:#fffafa; }.approval-stage.locked { border-top-color:#c9cccf; opacity:.68; }.approval-stage-top { display:flex; align-items:center; justify-content:space-between; gap:6px; }.approval-stage-top > span { color:var(--orange); font-size: 12px; font-weight:700; }.approval-stage > strong { margin-top:12px; font-size: 15px; }.approval-stage > p { color:var(--muted); font-size: 12px; }.stage-score { height:4px; margin:12px 0; overflow:hidden; border-radius:2px; background:#e9ebec; }.stage-score i { display:block; height:100%; background:var(--green); }.stage-checks { display:grid; gap:7px; }.stage-checks > div { display:flex; align-items:flex-start; gap:5px; color:var(--muted); font-size: 11px; line-height:1.4; }.stage-checks svg { width:11px; height:11px; flex:0 0 auto; }.stage-checks .ok svg { color:var(--green); }.stage-checks .fail svg { color:var(--red); }.approval-stage > small { display:block; margin-top:auto; padding-top:12px; color:var(--muted); font-size: 11px; line-height:1.45; }.approval-stage .text-button { align-self:flex-start; margin-top:6px; font-size: 12px; }
.smart-strategy-list { display:grid; }.smart-strategy { min-height:78px; display:grid; grid-template-columns:38px minmax(150px,.55fr) minmax(260px,1.45fr) auto; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--line); }.smart-strategy:last-child { border-bottom:0; }.smart-strategy.configured { background:#fbfdfc; }.smart-strategy-icon { width:36px; height:36px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:6px; }.smart-strategy-icon svg { width:16px; }.smart-strategy-main strong,.smart-strategy-main p,.smart-strategy-result span,.smart-strategy-result small { display:block; }.smart-strategy-main strong { font-size: 15px; }.smart-strategy-main p { margin:4px 0 0; color:var(--muted); font-size: 12px; }.smart-strategy-result span { color:#4d5358; font-size: 13px; line-height:1.45; }.smart-strategy-result small { margin-top:3px; color:var(--muted); font-size: 11px; }.smart-strategy-note { min-height:42px; display:flex; align-items:center; gap:7px; padding:0 18px; color:#5f6b65; background:var(--green-soft); font-size: 12px; }.smart-strategy-note svg { width:13px; color:var(--green); }
.niu-ai-hero { min-height:122px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px; border-left:3px solid var(--blue); }.niu-ai-hero h2 { margin:6px 0; font-size:20px; }.niu-ai-hero p { margin:0; color:var(--muted); font-size: 14px; }.niu-ai-controls { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:9px; min-width:min(520px,48%); }.niu-ai-result { min-height:112px; display:grid; grid-template-columns:50px 1fr 90px; align-items:center; gap:14px; padding:18px; border-left:3px solid #c9a03e; }.niu-ai-result.green { border-left-color:var(--green); background:#fbfdfc; }.niu-ai-result.red { border-left-color:var(--red); background:#fffafa; }.niu-result-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; color:#9b751a; background:var(--yellow-soft); }.niu-ai-result.green .niu-result-icon { color:var(--green); background:var(--green-soft); }.niu-ai-result.red .niu-result-icon { color:var(--red); background:var(--red-soft); }.niu-ai-result small { color:var(--muted); font-size: 12px; }.niu-ai-result > div > strong { display:block; margin-top:3px; font-size:19px; }.niu-ai-result p { margin:5px 0 0; color:var(--muted); font-size: 13px; }.niu-score { text-align:center; border-left:1px solid var(--line); }.niu-score strong,.niu-score span { display:block; }.niu-score strong { font-size:27px; }.niu-score span { margin-top:3px; color:var(--muted); font-size: 11px; }.niu-gate-list { display:grid; }.niu-gate-row { min-height:70px; display:grid; grid-template-columns:36px 1fr auto auto; align-items:center; gap:12px; padding:10px 18px; border-bottom:1px solid var(--line); }.niu-gate-row:last-child { border-bottom:0; }.niu-gate-icon { width:34px; height:34px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:6px; }.niu-gate-icon svg { width:15px; }.niu-gate-row > div strong,.niu-gate-row > div small { display:block; }.niu-gate-row > div strong { font-size: 14px; }.niu-gate-row > div small { margin-top:4px; color:var(--muted); font-size: 12px; line-height:1.45; }.niu-gate-row > b { color:#555b60; font-size: 14px; }.niu-plan { display:grid; grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr); align-items:center; gap:20px; padding:18px; }.niu-plan h3 { margin:5px 0; font-size:14px; }.niu-plan p { margin:0; color:var(--muted); font-size: 12px; }.niu-plan-params { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }.niu-plan-params > span { min-height:60px; padding:8px 14px; border-left:1px solid var(--line); }.niu-plan-params small,.niu-plan-params strong { display:block; }.niu-plan-params small { color:var(--muted); font-size: 11px; }.niu-plan-params strong { margin-top:8px; font-size:13px; }
.niu-task-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.niu-task { min-height:92px; display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:11px; padding:13px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.niu-task:nth-child(2n) { border-right:0; }.niu-task:nth-child(n+3) { border-bottom:0; }.niu-task > span { width:34px; height:34px; display:grid; place-items:center; color:var(--green); background:var(--green-soft); border-radius:6px; }.niu-task > span svg { width:15px; }.niu-task > div small { color:var(--orange); font-size: 11px; }.niu-task > div strong { display:block; margin-top:2px; font-size: 14px; }.niu-task > div p { margin:4px 0 0; color:var(--muted); font-size: 12px; line-height:1.45; }.niu-task > b { align-self:start; margin-top:3px; }
.niu-scale { min-height:112px; display:grid; grid-template-columns:minmax(190px,.65fr) minmax(360px,1.35fr) auto; align-items:center; gap:14px 22px; padding:16px; border-left:3px solid #bd9336; }.niu-scale.green { border-left-color:var(--green); }.niu-scale.red { border-left-color:var(--red); }.niu-scale-title { display:flex; align-items:center; gap:10px; }.niu-scale-title > span { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; color:var(--green); background:var(--green-soft); border-radius:6px; }.niu-scale-title small,.niu-scale-title strong,.niu-scale-title p { display:block; }.niu-scale-title small { color:var(--orange); font-size: 11px; font-weight:700; }.niu-scale-title strong { margin-top:2px; font-size:13px; }.niu-scale-title p { margin:3px 0 0; color:var(--muted); font-size: 11px; }.niu-scale-flow { display:grid; grid-template-columns:1fr 16px 1fr auto 1.15fr; align-items:center; gap:8px; }.niu-scale-flow > span { min-width:0; padding:7px 9px; background:var(--surface-2); border-radius:5px; }.niu-scale-flow small,.niu-scale-flow strong { display:block; }.niu-scale-flow small { color:var(--muted); font-size: 11px; }.niu-scale-flow strong { margin-top:4px; font-size: 15px; white-space:nowrap; }.niu-scale-flow svg { width:13px; color:var(--muted); }.niu-scale-flow > b { padding:5px 7px; color:var(--green); background:var(--green-soft); border-radius:4px; font-size: 13px; white-space:nowrap; }.niu-scale-guards { grid-column:1/3; display:flex; align-items:center; gap:15px; padding-top:10px; border-top:1px solid var(--line); }.niu-scale-guards span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size: 11px; }.niu-scale-guards svg { width:11px; color:var(--green); }.niu-scale > em { grid-row:1; grid-column:3; font-style:normal; }
.global-approval-modal { width:min(920px,calc(100vw - 32px)); }.global-approval-shell { padding:22px; }.global-approval-shell .modal-head p { margin:5px 0 0; color:var(--muted); font-size: 13px; }.global-approval-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) auto; align-items:end; gap:10px; margin-bottom:14px; padding:12px; background:var(--surface-2); border-radius:6px; }.global-approval-toolbar label { color:var(--muted); font-size: 12px; }.global-approval-toolbar select { margin-top:5px; }.global-source-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.global-source-strip > div { min-height:62px; display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:8px; padding:9px; border:1px solid var(--line); border-radius:6px; }.global-source-strip > div > span { width:28px; height:28px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:5px; }.global-source-strip svg { width:14px; }.global-source-strip p { margin:0; min-width:0; }.global-source-strip strong,.global-source-strip small { display:block; }.global-source-strip strong { font-size: 13px; }.global-source-strip small { margin-top:3px; color:var(--muted); font-size: 11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.global-result { min-height:96px; display:grid; grid-template-columns:46px 1fr 78px; align-items:center; gap:13px; margin-top:12px; padding:15px; border:1px solid #ebdcae; border-left:3px solid #b68b2e; border-radius:6px; background:#fffdf7; }.global-result.green { border-color:#bfe1d1; border-left-color:var(--green); background:#fbfdfc; }.global-result.red { border-color:#ecc8c8; border-left-color:var(--red); background:#fffafa; }.global-result > span { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#97721b; background:var(--yellow-soft); }.global-result.green > span { color:var(--green); background:var(--green-soft); }.global-result.red > span { color:var(--red); background:var(--red-soft); }.global-result > div small,.global-result > div strong { display:block; }.global-result > div small { color:var(--muted); font-size: 11px; }.global-result > div strong { margin-top:3px; font-size:17px; }.global-result p { margin:4px 0 0; color:var(--muted); font-size: 12px; }.global-result > b { text-align:center; font-size:23px; }.global-result > b small { display:block; margin-top:3px; color:var(--muted); font-size: 11px; font-weight:400; }.global-module-list { margin-top:12px; border:1px solid var(--line); border-radius:6px; overflow:hidden; }.global-module-list article { min-height:62px; display:grid; grid-template-columns:32px 1fr auto auto; align-items:center; gap:10px; padding:9px 12px; border-bottom:1px solid var(--line); }.global-module-list article:last-child { border-bottom:0; }.global-module-list article > span { width:30px; height:30px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:5px; }.global-module-list svg { width:14px; }.global-module-list strong,.global-module-list small { display:block; }.global-module-list strong { font-size: 13px; }.global-module-list small { margin-top:3px; color:var(--muted); font-size: 11px; }.global-module-list article > b { color:#555a5e; font-size: 13px; }.global-module-list em { font-style:normal; }.global-data-note { display:flex; align-items:center; gap:7px; margin-top:10px; padding:9px 10px; color:#5b6368; background:var(--blue-soft); border-radius:5px; font-size: 12px; }.global-data-note svg { width:13px; color:var(--blue); }
.link-ai-hero { min-height:122px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px; border-left:3px solid #d62b93; }.link-ai-hero h2 { margin:6px 0; font-size:20px; }.link-ai-hero p { margin:0; color:var(--muted); font-size: 14px; }.link-ai-controls { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:9px; min-width:min(520px,48%); }.link-source-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.link-source-row > div { min-height:60px; display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:9px; padding:9px 11px; border:1px solid var(--line); border-radius:6px; background:var(--surface); }.link-source-row > div > span { width:30px; height:30px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:5px; }.link-source-row svg { width:14px; }.link-source-row strong,.link-source-row small { display:block; }.link-source-row strong { font-size: 13px; }.link-source-row small { margin-top:3px; color:var(--muted); font-size: 11px; }.link-ai-result { min-height:108px; display:grid; grid-template-columns:48px 1fr 84px; align-items:center; gap:13px; padding:17px; border-left:3px solid #b58c2e; }.link-ai-result.green { border-left-color:var(--green); background:#fbfdfc; }.link-ai-result.red { border-left-color:var(--red); background:#fffafa; }.link-ai-result > span { width:46px; height:46px; display:grid; place-items:center; color:#97721b; background:var(--yellow-soft); border-radius:50%; }.link-ai-result.green > span { color:var(--green); background:var(--green-soft); }.link-ai-result.red > span { color:var(--red); background:var(--red-soft); }.link-ai-result > div small,.link-ai-result > div strong { display:block; }.link-ai-result > div small { color:var(--muted); font-size: 11px; }.link-ai-result > div strong { margin-top:3px; font-size:18px; }.link-ai-result p { margin:4px 0 0; color:var(--muted); font-size: 12px; }.link-ai-result > b { text-align:center; font-size:25px; }.link-ai-result > b small { display:block; color:var(--muted); font-size: 11px; font-weight:400; }.link-funnel-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }.link-funnel-card { min-height:202px; padding:15px; border-right:1px solid var(--line); border-top:3px solid #d1a748; }.link-funnel-card:last-child { border-right:0; }.link-funnel-card.passed { border-top-color:var(--green); background:#fbfdfc; }.link-funnel-card > div { display:flex; align-items:center; justify-content:space-between; gap:7px; }.link-funnel-card > div > span { width:30px; height:30px; display:grid; place-items:center; color:var(--blue); background:var(--blue-soft); border-radius:5px; }.link-funnel-card svg { width:14px; }.link-funnel-card > strong,.link-funnel-card > em,.link-funnel-card > small { display:block; }.link-funnel-card > strong { margin-top:13px; font-size: 14px; }.link-funnel-card > em { margin-top:8px; font-size:15px; font-style:normal; font-weight:700; }.link-funnel-card > small { margin-top:4px; color:var(--muted); font-size: 11px; }.link-funnel-card > p { margin:12px 0 0; padding-top:10px; border-top:1px solid var(--line); color:#555b60; font-size: 12px; line-height:1.5; }.link-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.link-detail-grid article { min-height:92px; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; padding:12px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.link-detail-grid article:nth-child(2n) { border-right:0; }.link-detail-grid article:nth-child(n+5) { border-bottom:0; }.link-detail-grid article > span { width:32px; height:32px; display:grid; place-items:center; color:#a02679; background:#fdebf7; border-radius:5px; }.link-detail-grid svg { width:14px; }.link-detail-grid strong,.link-detail-grid small { display:block; }.link-detail-grid strong { font-size: 13px; }.link-detail-grid small { margin-top:3px; color:var(--muted); font-size: 11px; }.link-detail-grid p { margin:5px 0 0; color:#565c60; font-size: 11px; line-height:1.4; }.link-action-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.link-action-list article { min-height:72px; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:9px; padding:10px 15px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.link-action-list article:nth-child(2n) { border-right:0; }.link-action-list article > span { width:26px; height:26px; display:grid; place-items:center; color:#a02679; background:#fdebf7; border-radius:5px; font-size: 11px; }.link-action-list strong,.link-action-list small { display:block; }.link-action-list strong { font-size: 12px; }.link-action-list small { margin-top:3px; color:var(--muted); font-size: 11px; }.link-action-list article > b { padding:3px 6px; color:#846013; background:var(--yellow-soft); border-radius:4px; font-size: 11px; }.link-compliance-note { display:flex; align-items:center; gap:7px; min-height:42px; padding:0 16px; color:#4e665b; background:var(--green-soft); font-size: 12px; }.link-compliance-note svg { width:13px; color:var(--green); }
@media (max-width:1100px) { .link-funnel-grid { grid-template-columns:repeat(2,1fr); }.link-funnel-card:nth-child(2) { border-right:0; }.link-funnel-card:nth-child(-n+2) { border-bottom:1px solid var(--line); } }
@media (max-width:760px) { .link-ai-hero { align-items:flex-start; flex-direction:column; }.link-ai-controls { min-width:0; width:100%; grid-template-columns:1fr; }.link-source-row { grid-template-columns:1fr; }.link-ai-result { grid-template-columns:44px 1fr; }.link-ai-result > b { grid-column:2; text-align:left; }.link-funnel-grid,.link-detail-grid,.link-action-list { grid-template-columns:1fr; }.link-funnel-card,.link-funnel-card:nth-child(2),.link-funnel-card:nth-child(-n+2),.link-detail-grid article,.link-detail-grid article:nth-child(2n),.link-detail-grid article:nth-child(n+5),.link-action-list article,.link-action-list article:nth-child(2n) { border-right:0; border-bottom:1px solid var(--line); }.link-detail-grid article:last-child,.link-action-list article:last-child,.link-funnel-card:last-child { border-bottom:0; } }
@media (max-width:1100px) { .marketing-summary { grid-template-columns:repeat(3,1fr); }.marketing-tool-grid { grid-template-columns:repeat(2,1fr); }.marketing-tool:nth-child(3n) { border-right:1px solid var(--line); }.marketing-tool:nth-child(2n) { border-right:0; }.marketing-tool:nth-child(n+4) { border-bottom:1px solid var(--line); }.marketing-tool:nth-child(n+5) { border-bottom:0; }.approval-timeline { grid-template-columns:repeat(2,1fr); }.approval-stage:nth-child(2) { border-right:0; }.approval-stage:nth-child(-n+2) { border-bottom:1px solid var(--line); } }
@media (max-width:760px) { .marketing-hero,.niu-ai-hero { align-items:flex-start; flex-direction:column; }.marketing-toolbar,.niu-ai-controls { min-width:0; width:100%; grid-template-columns:1fr; }.marketing-agent { grid-template-columns:1fr; }.agent-controls { align-items:stretch; flex-direction:column; }.agent-boundary { grid-column:1; }.marketing-summary { grid-template-columns:repeat(2,1fr); }.automation-action-grid { grid-template-columns:1fr; }.automation-action { border-right:0; }.smart-strategy { grid-template-columns:36px 1fr auto; }.smart-strategy-result { grid-column:2/4; }.marketing-tool-grid { grid-template-columns:1fr; }.marketing-tool,.marketing-tool:nth-child(2n),.marketing-tool:nth-child(3n),.marketing-tool:nth-child(n+5) { border-right:0; border-bottom:1px solid var(--line); }.marketing-tool:last-child { border-bottom:0; }.marketing-bottom-grid { grid-template-columns:1fr; }.marketing-timeline { grid-template-columns:repeat(2,1fr); gap:16px 0; }.approval-timeline { gap:0; }.approval-stage { min-height:260px; }.marketing-guard { grid-template-columns:40px 1fr; }.marketing-guard > .status { grid-column:2; justify-self:start; }.niu-ai-result { grid-template-columns:44px 1fr; }.niu-score { grid-column:2; border:0; text-align:left; }.niu-score strong,.niu-score span { display:inline; }.niu-gate-row { grid-template-columns:34px 1fr auto; }.niu-gate-row > b { display:none; }.niu-gate-row > .status { grid-column:3; }.niu-plan { grid-template-columns:1fr; }.niu-plan-params { grid-template-columns:repeat(2,1fr); }.niu-plan-params > span { border:1px solid var(--line); }.niu-task-grid { grid-template-columns:1fr; }.niu-task,.niu-task:nth-child(2n),.niu-task:nth-child(n+3) { border-right:0; border-bottom:1px solid var(--line); }.niu-task:last-child { border-bottom:0; }.niu-scale { grid-template-columns:1fr; }.niu-scale-flow { grid-template-columns:1fr 14px 1fr; }.niu-scale-flow > b { grid-column:1/4; justify-self:start; }.niu-scale-flow > span:last-child { grid-column:1/4; }.niu-scale-guards { grid-column:1; align-items:flex-start; flex-direction:column; gap:6px; }.niu-scale > em { grid-row:auto; grid-column:1; justify-self:start; }.global-approval-toolbar { grid-template-columns:1fr; }.global-source-strip { grid-template-columns:1fr; }.global-module-list article { grid-template-columns:30px 1fr auto; }.global-module-list article > b { display:none; }.global-result { grid-template-columns:42px 1fr; }.global-result > b { grid-column:2; text-align:left; }.global-result > b small { display:inline; margin-left:4px; }.today { display:none; } }
.gate-checks { display:grid; gap:9px; margin:16px 0; }.gate-checks label { display:grid; grid-template-columns:16px 1fr; gap:8px; align-items:start; font-size: 15px; line-height:1.5; }.gate-checks input { margin:3px 0 0; accent-color:var(--green); }.gate-note { min-height:52px; margin-top:auto; padding:10px; border-radius:6px; background:#f7f8f8; font-size: 14px; }.gate-note strong,.gate-note span,.gate-note small { display:block; }.gate-note small,.gate-note > span { color:var(--muted); }.gate-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }.gate-actions button { height:34px; }
.listing-release { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px; }.listing-release strong,.listing-release span { display:block; }.listing-release span { margin-top:4px; color:var(--muted); font-size: 14px; }.listing-release button:disabled { opacity:.45; cursor:not-allowed; }
@media (max-width: 980px) { .market-grid { grid-template-columns:repeat(2,1fr); }.signal-flow { grid-template-columns:1fr 1fr; }.signal-flow svg { display:none; } }

* { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-size: 14px; letter-spacing: 0; }
button, input, select { font: inherit; letter-spacing: 0; }
button { cursor: pointer; }
svg { width: 18px; height: 18px; stroke-width: 1.8; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; background: #171819; color: #fff; padding: 22px 14px 18px; display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 9px 24px; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; background: var(--orange); color: #fff; border-radius: 7px; font-size: 17px; font-weight: 700; }
.brand strong { display: block; font-size: 15px; white-space: nowrap; }
.brand span { display: block; color: #8e9297; font-size: 14px; margin-top: 2px; }
.main-nav { min-height: 0; display: grid; align-content: start; gap: 4px; overflow-y: auto; scrollbar-width: thin; }
.nav-item { width: 100%; min-height: 42px; border: 0; border-radius: 6px; padding: 0 11px; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 10px; color: #aeb2b6; background: transparent; text-align: left; }
.nav-item:hover { color: #fff; background: #252729; }
.nav-item.active { color: #fff; background: #303234; }
.nav-item.active svg { color: var(--orange); }
.nav-item b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 10px; background: #414346; color: #d7d9db; font-size: 13px; }
.nav-bottom { margin-top: auto; display: grid; gap: 14px; }
.data-state { border-top: 1px solid #2c2e30; padding: 16px 10px 0; display: flex; align-items: center; gap: 10px; }
.data-state .pulse { width: 8px; height: 8px; border-radius: 50%; background: #42c88a; box-shadow: 0 0 0 4px rgba(66,200,138,.12); }
.data-state strong, .data-state small { display: block; }
.data-state strong { font-size: 14px; color: #c7c9cc; font-weight: 500; }
.data-state small { font-size: 13px; color: #72767a; margin-top: 2px; }

.main-area { min-width: 0; }
.topbar { height: 86px; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; background: rgba(245,246,247,.96); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 15; backdrop-filter: blur(10px); }
.topbar h1 { margin: 0; font-size: 21px; line-height: 1.2; }
.topbar p { margin: 5px 0 0; color: var(--muted); font-size: 15px; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.today { color: var(--muted); font-size: 15px; padding: 0 4px; }
.primary-button, .secondary-button, .icon-button, .danger-text { border-radius: 6px; min-height: 40px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 15px; font-weight: 500; }
.primary-button { color: #fff; background: var(--orange); }
.primary-button:hover { background: #e94a10; }
.secondary-button { color: var(--ink); background: #fff; border-color: var(--line-strong); }
.secondary-button:hover, .icon-button:hover { background: #f0f1f2; }
.icon-button { width: 40px; padding: 0; color: #54585c; background: #fff; border-color: var(--line); }
.danger-text { color: var(--red); background: transparent; padding-left: 0; }
.danger-text:hover { color: #a72b2b; }

.page { display: none; padding: 26px 32px 50px; max-width: 1600px; margin: 0 auto; }
.page.active { display: block; }
.stack { display: grid; gap: 18px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kpi-grid.kpi-six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.kpi { min-height: 126px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; padding: 18px; position: relative; overflow: hidden; }
.kpi::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent, var(--orange)); }
.kpi-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 15px; }
.kpi-icon { width: 30px; height: 30px; display: grid; place-items: center; color: var(--accent, var(--orange)); background: var(--soft, var(--orange-soft)); border-radius: 6px; }
.kpi strong { display: block; margin-top: 14px; font-size: 27px; line-height: 1; }
.kpi small { display: block; color: var(--muted); margin-top: 10px; font-size: 14px; }
.kpi small em { color: var(--green); font-style: normal; font-weight: 600; }

.overview-bar { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.shop-state, .overview-controls { display: flex; align-items: center; gap: 10px; }
.shop-state-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: var(--yellow); background: var(--yellow-soft); border-radius: 6px; }
.shop-state-icon.connected { color: var(--green); background: var(--green-soft); }
.shop-state strong, .shop-state small { display: block; }
.shop-state strong { font-size: 15px; }
.shop-state small { color: var(--muted); font-size: 13px; margin-top: 3px; }
.segmented { display: inline-flex; padding: 3px; background: #eceeef; border-radius: 6px; }
.segmented button { min-height: 29px; padding: 0 10px; border: 0; border-radius: 4px; color: var(--muted); background: transparent; font-size: 13px; }
.segmented button.active { color: var(--ink); background: #fff; box-shadow: 0 1px 4px rgba(32,33,36,.10); font-weight: 600; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); gap: 14px; align-items: start; }
.analysis-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .65fr); gap: 14px; align-items: stretch; }
.dashboard-grid > *, .sop-layout > *, .settings-grid > *, .panel, .table-wrap { min-width: 0; max-width: 100%; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.panel-head { min-height: 66px; padding: 8px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 16px; }
.panel-head p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.text-button { color: var(--blue); border: 0; background: transparent; padding: 5px 0; font-size: 15px; }
.panel-body { padding: 17px 18px; }
.panel-body.no-pad { padding: 0; }
.chart-legend { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 13px; }
.chart-legend span::before { content: ""; display: inline-block; width: 8px; height: 2px; margin-right: 5px; vertical-align: middle; background: var(--legend); }
.chart-wrap { width: 100%; height: 250px; }
.chart-wrap canvas { width: 100%; height: 100%; display: block; }
.source-status-list { display: grid; }
.source-status-row { min-height: 50px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 9px; border-bottom: 1px solid var(--line); }
.source-status-row:last-child { border-bottom: 0; }
.source-status-icon { width: 28px; height: 28px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 5px; }
.source-status-icon svg { width: 14px; height: 14px; }
.source-status-row strong, .source-status-row small { display: block; }
.source-status-row strong { font-size: 14px; }
.source-status-row small { color: var(--muted); font-size: 12px; margin-top: 2px; }
.source-connect { margin-top: 10px; }

.pipeline { display: grid; grid-template-columns: repeat(5, minmax(100px, 1fr)); gap: 8px; }
.pipeline-step { background: var(--surface-2); border: 1px solid var(--line); border-radius: 6px; padding: 13px; }
.pipeline-step span { color: var(--muted); font-size: 14px; }
.pipeline-step strong { display: block; font-size: 22px; margin-top: 4px; }
.pipeline-step .mini-bar { height: 4px; margin-top: 12px; background: #e8eaec; border-radius: 2px; overflow: hidden; }
.pipeline-step .mini-bar i { display: block; height: 100%; background: var(--bar, var(--orange)); border-radius: 2px; }

.round-funnel { display: grid; gap: 10px; }
.funnel-row { display: grid; grid-template-columns: 76px 1fr 44px; align-items: center; gap: 10px; }
.funnel-row > span { color: #555a5e; font-size: 14px; }
.funnel-row > small { color: var(--muted); text-align: right; font-size: 13px; }
.funnel-track { height: 30px; background: #f0f1f2; border-radius: 5px; overflow: hidden; }
.funnel-track i { height: 100%; min-width: 42px; display: flex; align-items: center; justify-content: flex-end; padding-right: 10px; color: #fff; background: var(--funnel); border-radius: 5px; font-style: normal; font-size: 14px; font-weight: 600; transition: width .2s ease; }

.action-list { display: grid; gap: 9px; }
.action-item { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 6px; }
.action-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 6px; background: var(--blue-soft); color: var(--blue); }
.action-item.risk .action-icon { background: var(--red-soft); color: var(--red); }
.action-item.win .action-icon { background: var(--green-soft); color: var(--green); }
.action-item strong { display: block; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.action-item small { color: var(--muted); font-size: 13px; }

.toolbar { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.search-box { min-width: 240px; position: relative; }
.search-box svg { position: absolute; left: 11px; top: 9px; color: #95999d; width: 16px; }
.search-box input { width: 100%; padding-left: 34px; }
input, select, textarea { min-height: 40px; width: 100%; color: var(--ink); background: #fff; border: 1px solid var(--line-strong); border-radius: 5px; padding: 8px 11px; outline: none; }
textarea { resize: vertical; line-height: 1.55; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(40,120,199,.10); }
.toolbar select { width: auto; min-width: 122px; }

.table-wrap { width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; min-width: 860px; }
th { height: 48px; padding: 0 14px; text-align: left; color: #777b7f; background: #fafafa; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 500; white-space: nowrap; }
td { height: 60px; padding: 9px 14px; border-bottom: 1px solid #eceeef; vertical-align: middle; }
tbody tr:hover { background: #fafbfb; }
tbody tr:last-child td { border-bottom: 0; }
.product-cell { display: flex; align-items: center; gap: 10px; min-width: 180px; }
.product-thumb { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 6px; color: #fff; font-weight: 700; background: var(--thumb, #65696d); }
.product-cell strong { display: block; font-size: 15px; max-width: 210px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-cell small { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
.numeric { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.status { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 9px; border-radius: 4px; font-size: 13px; white-space: nowrap; background: #eff1f2; color: #5d6267; }
.status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status.green { color: var(--green); background: var(--green-soft); }
.status.orange { color: #be4b1e; background: var(--orange-soft); }
.status.red { color: var(--red); background: var(--red-soft); }
.status.blue { color: var(--blue); background: var(--blue-soft); }
.status.yellow { color: var(--yellow); background: var(--yellow-soft); }
.score { display: flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.score-track { width: 54px; height: 5px; border-radius: 3px; background: #e8eaeb; overflow: hidden; }
.score-track i { height: 100%; display: block; border-radius: 3px; background: var(--score-color, var(--green)); }
.row-action { width: 30px; height: 30px; border: 0; color: #73777b; background: transparent; border-radius: 5px; display: grid; place-items: center; }
.row-action:hover { background: #eceeef; color: var(--ink); }

.decision-callout { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; white-space: nowrap; }
.decision-callout i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.decision-callout.good { color: var(--green); }
.decision-callout.warn { color: var(--yellow); }
.decision-callout.bad { color: var(--red); }
.decision-callout.info { color: var(--blue); }

.empty-state { padding: 54px 20px; text-align: center; color: var(--muted); }
.empty-state svg { width: 28px; height: 28px; margin-bottom: 8px; }
.empty-state strong { display: block; color: var(--ink); }
.empty-state span { display: block; font-size: 14px; margin-top: 4px; }

.creative-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.creative-workspace-bar { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; min-height: 66px; padding: 9px 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.workspace-tabs { display: inline-flex; gap: 3px; padding: 3px; background: #eceeef; border-radius: 6px; }
.workspace-tabs button { min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; color: var(--muted); background: transparent; border: 0; border-radius: 4px; font-size: 14px; }
.workspace-tabs button.active { color: var(--ink); background: #fff; box-shadow: 0 1px 4px rgba(32,33,36,.10); font-weight: 600; }
.workspace-tabs svg { width: 15px; height: 15px; }
.workspace-action { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.workspace-action > div { text-align: right; }
.workspace-action strong, .workspace-action small { display: block; }
.workspace-action strong { font-size: 14px; }
.workspace-action small { color: var(--muted); font-size: 12px; margin-top: 2px; }
.summary-strip { border-left: 3px solid var(--accent, var(--orange)); background: var(--surface); border-top: 1px solid var(--line); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 5px; padding: 15px; }
.summary-strip span { color: var(--muted); font-size: 14px; }
.summary-strip strong { display: block; font-size: 20px; margin-top: 5px; }
.hook-grid { display: grid; gap: 11px; }
.hook-row { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(180px,1.6fr) 64px 82px; align-items: center; gap: 14px; }
.hook-row > div:first-child strong, .hook-row > div:first-child small { display: block; }
.hook-row > div:first-child strong { font-size: 14px; }
.hook-row > div:first-child small, .hook-row > span { color: var(--muted); font-size: 12px; margin-top: 2px; }
.hook-row > strong { font-size: 15px; text-align: right; }
.hook-bar { height: 7px; background: #eceeef; border-radius: 4px; overflow: hidden; }
.hook-bar i { height: 100%; display: block; background: var(--hook); border-radius: 4px; }
.factory-flow { display: grid; grid-template-columns: repeat(6,minmax(90px,1fr)); gap: 8px; }
.factory-flow > div { min-height: 76px; position: relative; display: grid; justify-items: center; align-content: center; gap: 5px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 5px; }
.factory-flow > div > span { position: absolute; top: 6px; left: 7px; color: #969a9e; font-size: 11px; }
.factory-flow svg { color: var(--blue); width: 17px; height: 17px; }
.factory-flow strong { font-size: 13px; font-weight: 500; }
.factory-note { display: flex; align-items: flex-start; gap: 7px; margin-top: 12px; padding: 10px; color: #555a5e; background: var(--blue-soft); border-radius: 5px; font-size: 13px; line-height: 1.55; }
.factory-note svg { width: 14px; height: 14px; flex: 0 0 auto; color: var(--blue); }
.table-actions { display: flex; align-items: center; gap: 2px; white-space: nowrap; }
.truncate-cell { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #555a5e; font-size: 14px; }

.sop-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; align-items: start; }
.sop-steps { padding: 4px 18px 20px; }
.sop-step { position: relative; display: grid; grid-template-columns: 36px 150px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.sop-step:last-child { border-bottom: 0; }
.sop-number { width: 30px; height: 30px; display: grid; place-items: center; background: #232527; color: #fff; border-radius: 6px; font-size: 14px; font-weight: 600; }
.sop-stage strong { display: block; font-size: 13px; }
.sop-stage small { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; }
.check-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px 14px; }
.check-line { display: flex; align-items: flex-start; gap: 7px; color: #4f5357; font-size: 14px; line-height: 1.5; }
.check-line svg { width: 14px; height: 14px; flex: 0 0 auto; margin-top: 1px; color: var(--green); }
.rule-list { display: grid; gap: 10px; }
.rule-item { padding: 11px 12px; background: var(--surface-2); border-left: 3px solid var(--rule, var(--blue)); border-radius: 4px; }
.rule-item strong { display: block; font-size: 14px; }
.rule-item span { display: block; color: var(--muted); font-size: 13px; line-height: 1.5; margin-top: 3px; }
.compliance { color: #6b4b08; background: var(--yellow-soft); border: 1px solid #f2dfa2; border-radius: 6px; padding: 13px; font-size: 14px; line-height: 1.6; }
.compliance strong { display: block; color: #4f3605; margin-bottom: 3px; }

.settings-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 14px; align-items: start; }
.setting-row { display: grid; grid-template-columns: minmax(180px,1fr) 140px; align-items: center; gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.setting-row:last-child { border-bottom: 0; }
.setting-row strong { display: block; font-size: 15px; }
.setting-row span { display: block; color: var(--muted); font-size: 13px; margin-top: 3px; }
.source-list { display: grid; gap: 11px; }
.source-item { padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.source-item:last-child { border: 0; padding-bottom: 0; }
.source-item strong { font-size: 14px; display: block; }
.source-item p { color: var(--muted); font-size: 13px; line-height: 1.55; margin: 4px 0; }
.source-item a { color: var(--blue); font-size: 13px; text-decoration: none; }
.market-number { color: var(--orange); }
.integration-summary { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; margin-bottom: 14px; }
.integration-logo { width: 38px; height: 38px; display: grid; place-items: center; color: var(--orange); background: var(--orange-soft); border-radius: 6px; }
.integration-summary strong, .integration-summary small { display: block; }
.integration-summary strong { font-size: 15px; }
.integration-summary small { color: var(--muted); font-size: 13px; line-height: 1.5; margin-top: 3px; }
.full-button { width: 100%; }

.modal { width: min(860px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 8px; box-shadow: var(--shadow); color: var(--ink); overflow: auto; }
.modal.compact { width: min(660px, calc(100vw - 32px)); }
.modal::backdrop { background: rgba(20,21,22,.52); backdrop-filter: blur(2px); }
.modal form { padding: 22px; }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; }
.modal-head h2 { margin: 3px 0 0; font-size: 18px; }
.eyebrow { color: var(--orange); font-size: 12px; font-weight: 700; }
.connect-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 20px; }
.connect-steps > div { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-2); }
.connect-steps span { width: 20px; height: 20px; display: grid; place-items: center; color: #fff; background: #343638; border-radius: 4px; font-size: 12px; }
.connect-steps strong, .connect-steps small { display: block; }
.connect-steps strong { font-size: 13px; margin-top: 7px; }
.connect-steps small { color: var(--muted); font-size: 11px; margin-top: 2px; }
.security-note { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0; padding: 10px; color: #37654f; background: var(--green-soft); border-radius: 5px; font-size: 13px; line-height: 1.5; }
.security-note svg { width: 15px; height: 15px; flex: 0 0 auto; }
.link-button { color: var(--ink); text-decoration: none; }
.model-state { min-height: 56px; display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 10px 12px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 5px; }
.model-state strong, .model-state small { display: block; }
.model-state strong { font-size: 14px; }
.model-state small { color: var(--muted); font-size: 12px; margin-top: 3px; }
.option-section { margin: 16px 0; padding: 12px; border: 1px solid var(--line); border-radius: 5px; }
.option-section legend { padding: 0 5px; color: #61656a; font-size: 13px; }
.option-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.option-grid label { min-height: 36px; display: flex; align-items: center; gap: 7px; padding: 0 9px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 4px; color: #555a5e; font-size: 13px; }
.option-grid input, .review-check input { width: 14px; min-height: 14px; height: 14px; padding: 0; accent-color: var(--orange); box-shadow: none; }
.review-modal { width: min(1050px, calc(100vw - 32px)); }
.review-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 14px; }
.review-summary > div { padding: 10px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 5px; }
.review-summary span, .review-summary strong { display: block; }
.review-summary span { color: var(--muted); font-size: 12px; }
.review-summary strong { margin-top: 3px; font-size: 16px; }
.risk-text { color: var(--red); }
.good-text { color: var(--green); }
.script-review-list { display: grid; gap: 10px; max-height: 58vh; overflow: auto; padding-right: 4px; }
.script-review-item { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.script-review-item > label { color: #61656a; font-size: 12px; }
.script-review-item > label input, .script-review-item > label textarea { margin-top: 5px; }
.script-review-head { display: flex; align-items: center; gap: 7px; }
.review-check { display: flex; align-items: center; gap: 6px; margin-right: 4px; font-size: 13px; font-weight: 600; }
.script-index { margin-left: auto; color: var(--muted); font-size: 12px; }
.storyboard { display: grid; grid-template-columns: 56px repeat(4,1fr); gap: 6px; align-items: stretch; }
.storyboard strong { align-self: center; font-size: 13px; }
.storyboard span { padding: 7px; color: #555a5e; background: var(--surface-2); border-radius: 4px; font-size: 12px; line-height: 1.4; }
.risk-scan { display: flex; align-items: center; gap: 6px; color: var(--green); font-size: 12px; }
.risk-scan.has-risk { color: var(--red); }
.risk-scan svg { width: 14px; height: 14px; }
.form-section { padding: 16px 0; border-top: 1px solid var(--line); }
.form-section h3 { margin: 0 0 12px; font-size: 15px; }
.section-title-row { display: flex; justify-content: space-between; align-items: center; }
.section-title-row span { color: var(--muted); font-size: 13px; }
.form-grid { display: grid; gap: 12px; }
.form-grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.form-grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.form-grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.form-grid label, .score-inputs label { color: #61656a; font-size: 13px; }
.form-grid label input, .form-grid label select, .form-grid label textarea { margin-top: 6px; }
.span-2 { grid-column: span 2; }
.live-metric { min-height: 58px; padding: 9px 11px; border-radius: 5px; background: var(--surface-2); border: 1px solid var(--line); }
.live-metric span { color: var(--muted); font-size: 12px; }
.live-metric strong { display: block; font-size: 17px; margin-top: 3px; }
.score-inputs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px 20px; }
.score-inputs label { display: grid; grid-template-columns: 1fr 25px; align-items: center; gap: 3px 7px; }
.score-inputs input { grid-column: 1; min-height: 20px; padding: 0; accent-color: var(--orange); }
.score-inputs output { grid-column: 2; grid-row: 1 / span 2; width: 25px; height: 25px; display: grid; place-items: center; color: #fff; background: #2f3133; border-radius: 4px; font-size: 13px; }
.modal-actions { display: flex; align-items: center; gap: 8px; padding-top: 18px; border-top: 1px solid var(--line); }
.spacer { flex: 1; }
.hidden { display: none !important; }

.toast-stack { position: fixed; right: 20px; bottom: 20px; z-index: 100; display: grid; gap: 8px; }
.toast { min-width: 240px; display: flex; align-items: center; gap: 9px; padding: 12px 14px; color: #fff; background: #26282a; border-radius: 6px; box-shadow: var(--shadow); animation: toast-in .2s ease; }
.toast svg { color: #65d49d; }
@keyframes toast-in { from { transform: translateY(8px); opacity: 0; } }

@media (max-width: 1100px) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .kpi-grid.kpi-six { grid-template-columns: repeat(3, 1fr); }
  .dashboard-grid, .analysis-grid, .sop-layout, .settings-grid { grid-template-columns: 1fr; }
  .form-grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .app-shell { display: block; padding-bottom: 74px; }
  .sidebar { position: fixed; top: auto; bottom: 0; width: 100%; height: 74px; padding: 6px 7px; flex-direction: row; z-index: 40; }
  .brand, .data-state { display: none; }
  .main-nav { width: 100%; grid-template-columns: repeat(6, 1fr); gap: 2px; }
  .nav-item { min-height: 62px; grid-template-columns: 1fr; grid-template-rows: 24px auto; justify-items: center; align-content: center; gap: 2px; padding: 4px 3px; text-align: center; font-size: 12px; line-height: 1.25; }
  .nav-item b { display: none; }
  .topbar { height: 74px; padding: 0 16px; }
  .topbar h1 { font-size: 18px; }
  .today, .topbar p, #exportBtn { display: none; }
  .page { padding: 17px 14px 30px; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .kpi-grid.kpi-six { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .kpi { min-height: 112px; padding: 14px; }
  .kpi strong { font-size: 22px; }
  .pipeline { grid-template-columns: repeat(5, 120px); overflow-x: auto; padding-bottom: 5px; }
  .overview-bar { align-items: stretch; flex-direction: column; }
  .overview-controls { justify-content: space-between; }
  .chart-wrap { height: 220px; }
  .creative-summary { grid-template-columns: repeat(2, 1fr); }
  .creative-workspace-bar { grid-template-columns: 1fr; gap: 9px; }
  .workspace-tabs { width: 100%; display: grid; grid-template-columns: repeat(3,1fr); }
  .workspace-tabs button { justify-content: center; padding: 0 4px; }
  .workspace-action { justify-content: space-between; }
  .workspace-action > div { text-align: left; }
  .hook-row { grid-template-columns: minmax(120px,1fr) 58px; gap: 7px 10px; }
  .hook-bar { grid-column: 1 / span 2; grid-row: 2; }
  .hook-row > span { display: none; }
  .connect-steps { grid-template-columns: repeat(2,1fr); }
  .factory-flow { grid-template-columns: repeat(3,1fr); }
  .option-grid { grid-template-columns: repeat(2,1fr); }
  .review-summary { grid-template-columns: repeat(2,1fr); }
  .storyboard { grid-template-columns: 1fr 1fr; }
  .storyboard strong { grid-column: 1 / span 2; }
  .sop-step { grid-template-columns: 32px 1fr; }
  .sop-checks { grid-column: 2; }
  .check-grid { grid-template-columns: 1fr; }
  .form-grid.cols-3, .form-grid.cols-2, .form-grid.cols-4, .score-inputs { grid-template-columns: 1fr; }
  .span-2 { grid-column: span 1; }
  .score-inputs label { grid-template-columns: 1fr 25px; }
  .modal form { padding: 17px; }
  .search-box { min-width: 100%; }
}

@media (max-width: 400px) {
  .primary-button { padding: 0 10px; }
  .topbar { padding: 0 10px; }
  .topbar h1 { font-size: 17px; white-space: nowrap; }
  .header-actions { gap: 6px; }
  .header-actions .ai-global-button, .header-actions #addProductBtn { width: 40px; padding: 0; font-size: 0; }
  .header-actions .ai-global-button svg, .header-actions #addProductBtn svg { width: 18px; height: 18px; }
}

/* AI content production chain */
.main-nav { min-height: 0; overflow-y: auto; padding-right: 2px; scrollbar-width: thin; scrollbar-color: #45484b transparent; }
.studio-hero { min-height: 122px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px; border-left: 3px solid var(--orange); }
.studio-hero h2 { margin: 6px 0; font-size: 20px; }
.studio-hero p { max-width: 720px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.studio-controls { min-width: min(540px, 48%); display: grid; grid-template-columns: minmax(220px, 1fr) auto; align-items: end; gap: 9px; }
.studio-controls label { color: var(--muted); font-size: 12px; }
.studio-controls select { margin-top: 5px; }
.studio-automation { overflow: hidden; border-top: 3px solid var(--green); }
.automation-main { min-height: 98px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 14px; padding: 16px 18px; }
.automation-main h2 { margin: 4px 0; font-size: 17px; }
.automation-main p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.automation-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--green); background: var(--green-soft); border-radius: 7px; }
.automation-icon svg { width: 19px; }
.automation-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.automation-steps > div { min-height: 82px; position: relative; display: grid; align-content: center; gap: 4px; padding: 12px 14px; border-right: 1px solid var(--line); background: var(--surface-2); }
.automation-steps > div:last-child { border-right: 0; }
.automation-steps > div > span { color: #9a9ea2; font-size: 11px; }
.automation-steps > div > strong { font-size: 13px; }
.automation-steps > div > small { color: var(--muted); font-size: 11px; }
.automation-steps > div > i { position: absolute; top: 10px; right: 10px; width: 13px; color: #b0b4b7; }
.automation-steps > div.done { background: #fbfdfc; }
.automation-steps > div.done > i { color: var(--green); }
.automation-steps > div.warn > i { color: var(--yellow); }
.automation-foot { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 18px; color: #4d6359; background: var(--green-soft); font-size: 11px; }
.automation-foot span { display: flex; align-items: center; gap: 6px; }
.automation-foot svg { width: 13px; }
.automation-foot b { color: var(--green); }
.studio-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.studio-summary > div { min-height: 84px; padding: 15px; background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--summary-color, var(--orange)); border-radius: 7px; }
.studio-summary > div:nth-child(2) { --summary-color: #2878c7; }
.studio-summary > div:nth-child(3) { --summary-color: #18855b; }
.studio-summary > div:nth-child(4) { --summary-color: #845a8d; }
.studio-summary span, .studio-summary strong { display: block; }
.studio-summary span { color: var(--muted); font-size: 12px; }
.studio-summary strong { margin-top: 9px; font-size: 16px; overflow-wrap: anywhere; }
.studio-source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.studio-source-grid > div { min-height: 82px; display: grid; grid-template-columns: 32px 1fr; grid-template-rows: 1fr 1fr; align-items: end; gap: 0 10px; padding: 14px 18px; border-right: 1px solid var(--line); }
.studio-source-grid > div:last-child { border-right: 0; }
.studio-source-grid > div > span { grid-row: 1 / 3; width: 32px; height: 32px; display: grid; place-items: center; align-self: center; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.studio-source-grid > div:nth-child(2) > span { color: var(--green); background: var(--green-soft); }
.studio-source-grid > div:nth-child(3) > span { color: #845a8d; background: #f5edf7; }
.studio-source-grid > div:nth-child(4) > span { color: var(--yellow); background: var(--yellow-soft); }
.studio-source-grid svg { width: 15px; }
.studio-source-grid strong { align-self: end; font-size: 14px; }
.studio-source-grid small { align-self: start; color: var(--muted); font-size: 11px; }
.studio-topic-list, .studio-asset-list, .studio-script-list { display: grid; }
.studio-topic-list article { min-height: 70px; display: grid; grid-template-columns: 78px minmax(280px, 1fr) 92px 58px auto; align-items: center; gap: 12px; padding: 10px 18px; border-bottom: 1px solid var(--line); }
.studio-topic-list article:last-child, .studio-asset-list article:last-child, .studio-script-list article:last-child { border-bottom: 0; }
.topic-source { display: inline-flex; width: max-content; max-width: 100%; align-items: center; min-height: 22px; padding: 0 7px; color: #9f431f; background: var(--orange-soft); border-radius: 4px; font-size: 11px; white-space: nowrap; }
.studio-topic-list article > div strong, .studio-topic-list article > div small { display: block; }
.studio-topic-list article > div strong { font-size: 14px; line-height: 1.45; }
.studio-topic-list article > div small { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.studio-topic-list article > em { color: #555b60; font-size: 12px; font-style: normal; }
.studio-topic-list article > b { color: var(--green); font-size: 14px; }
.topic-intelligence-page { --topic-orange: #f15b32; --topic-blue: #2878c7; --topic-green: #18855b; --topic-purple: #845a8d; }
.topic-pipeline-panel { overflow: hidden; }
.topic-intelligence-flow { display: grid; grid-template-columns: repeat(9, minmax(92px, 1fr)); overflow-x: auto; border-top: 1px solid var(--line); }
.topic-intelligence-flow > div { min-height: 102px; position: relative; display: grid; align-content: center; gap: 3px; padding: 13px 12px; border-right: 1px solid var(--line); background: var(--surface-2); }
.topic-intelligence-flow > div:last-child { border-right: 0; }
.topic-intelligence-flow > div > span { color: #999da1; font-size: 11px; }
.topic-intelligence-flow > div > strong { font-size: 13px; }
.topic-intelligence-flow > div > b { color: #6f757a; font-size: 18px; }
.topic-intelligence-flow > div > small { color: var(--muted); font-size: 10px; }
.topic-intelligence-flow > div.done { background: #f8fcfa; }
.topic-intelligence-flow > div.done::after { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--topic-green); }
.topic-intelligence-flow > div.done > b { color: var(--topic-green); }
.topic-source-matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.topic-source-matrix > article { min-height: 126px; position: relative; display: grid; grid-template-columns: 38px 1fr 56px 56px; align-items: center; gap: 12px; padding: 16px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.topic-source-matrix > article:nth-child(2n) { border-right: 0; }
.topic-source-matrix > article:nth-last-child(-n+2) { border-bottom: 0; }
.topic-source-matrix > article > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--topic-blue); background: var(--blue-soft); border-radius: 6px; }
.topic-source-matrix > article:nth-child(2) > span { color: var(--topic-green); background: var(--green-soft); }
.topic-source-matrix > article:nth-child(3) > span { color: var(--topic-purple); background: #f5edf7; }
.topic-source-matrix > article:nth-child(4) > span { color: #9a6800; background: var(--yellow-soft); }
.topic-source-matrix svg { width: 18px; }
.topic-source-matrix article > div { min-width: 0; }
.topic-source-matrix article > div small, .topic-source-matrix article > div strong, .topic-source-matrix article > div p, .topic-source-matrix article > div em { display: block; }
.topic-source-matrix article > div small { color: var(--muted); font-size: 10px; }
.topic-source-matrix article > div strong { margin-top: 3px; font-size: 15px; }
.topic-source-matrix article > div p { margin: 5px 0 0; color: #4e555b; font-size: 11px; line-height: 1.4; }
.topic-source-matrix article > div em { margin-top: 3px; color: var(--muted); font-size: 10px; font-style: normal; line-height: 1.4; }
.topic-source-matrix article > b { display: grid; justify-items: center; color: #343a3f; font-size: 20px; }
.topic-source-matrix article > b small { margin-top: 2px; color: var(--muted); font-size: 10px; font-weight: 400; }
.topic-source-matrix article > i.status { position: absolute; top: 12px; right: 14px; font-style: normal; }
.topic-scoring-strip { display: grid; grid-template-columns: 1.15fr 1fr; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.topic-scoring-strip > div { min-height: 72px; display: grid; align-content: center; gap: 5px; padding: 13px 18px; border-right: 1px solid var(--line); }
.topic-scoring-strip > div:last-child { border-right: 0; }
.topic-scoring-strip span { color: var(--muted); font-size: 11px; }
.topic-scoring-strip strong { font-size: 12px; line-height: 1.5; }
.topic-opportunity-list { display: grid; }
.topic-opportunity-card { min-width: 0; display: grid; grid-template-columns: 116px 1fr; border-bottom: 1px solid var(--line); }
.topic-opportunity-card:last-child { border-bottom: 0; }
.topic-opportunity-card.high-risk { box-shadow: inset 3px 0 var(--yellow); }
.topic-opportunity-score { display: grid; justify-items: center; align-content: center; gap: 5px; padding: 18px 12px; color: #293137; background: var(--surface-2); border-right: 1px solid var(--line); }
.topic-opportunity-score > strong { font-size: 34px; line-height: 1; }
.topic-opportunity-score > span { color: var(--muted); font-size: 11px; }
.topic-opportunity-score > em { margin-top: 5px; font-style: normal; }
.topic-opportunity-score > i { color: #5c6870; font-size: 9px; font-style: normal; text-align: center; line-height: 1.35; }
.topic-opportunity-score > small { color: var(--green); font-size: 10px; }
.topic-opportunity-main { min-width: 0; padding: 17px 18px; }
.topic-opportunity-main > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.topic-opportunity-main > header > div { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.topic-opportunity-main > h2 { margin: 12px 0 0; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.topic-opportunity-main > p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.topic-card-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 13px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.topic-card-fields > span { min-height: 70px; padding: 10px 11px; color: #424a50; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.topic-card-fields > span:nth-child(3n) { border-right: 0; }
.topic-card-fields > span:nth-last-child(-n+3) { border-bottom: 0; }
.topic-card-fields small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.topic-card-fields .risk-field { color: #805411; background: #fffaf0; }
.topic-score-breakdown { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 5px; margin-top: 11px; }
.topic-score-breakdown > span { min-width: 0; display: grid; justify-items: center; gap: 2px; padding: 6px 3px; background: var(--surface-2); border-radius: 4px; }
.topic-score-breakdown small { color: var(--muted); font-size: 9px; }
.topic-score-breakdown b { font-size: 11px; }
.topic-score-breakdown .risk { color: var(--red); background: var(--red-soft); }
.topic-feedback-result { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 9px; margin-top: 11px; padding: 9px 11px; color: #315e4c; background: var(--green-soft); border-radius: 5px; font-size: 11px; line-height: 1.45; }
.topic-feedback-result > i { width: 17px; }
.topic-feedback-result strong { display: block; margin-bottom: 2px; font-size: 11px; }
.topic-opportunity-main > footer { min-height: 48px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); }
.topic-opportunity-main > footer > div:first-child { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.topic-opportunity-main > footer > div:first-child span { padding: 4px 7px; color: #56616a; background: var(--surface-2); border-radius: 4px; font-size: 10px; }
.topic-card-actions { display: flex; align-items: center; gap: 7px; }
.topic-card-actions button { min-height: 34px; }
.topic-feedback-baseline { min-height: 48px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 9px 13px; color: #3d5f51; background: var(--green-soft); border-radius: 5px; font-size: 11px; }
.topic-feedback-baseline span { margin-right: auto; font-weight: 700; }
.topic-feedback-baseline b { padding: 4px 6px; background: rgba(255,255,255,.7); border-radius: 4px; }
.topic-channel-formulas > div:last-child { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.topic-channel-formulas > div:last-child > span { min-height: 76px; display: grid; align-content: center; gap: 5px; padding: 12px 15px; border-right: 1px solid var(--line); }
.topic-channel-formulas > div:last-child > span:last-child { border-right: 0; }
.topic-channel-formulas b { font-size: 13px; }
.topic-channel-formulas small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.topic-feedback-check { min-height: 44px; display: flex !important; align-items: center; flex-direction: row !important; gap: 9px; padding: 0 11px; background: var(--surface-2); border-radius: 5px; }
.topic-feedback-check input { width: 17px; height: 17px; margin: 0; }
.topic-feedback-check span { font-size: 12px; }
.studio-head-stats { display: flex; align-items: center; gap: 6px; }
.studio-head-stats span { padding: 5px 8px; color: var(--muted); background: var(--surface-2); border-radius: 4px; font-size: 11px; }
.studio-asset-list article { min-height: 76px; display: grid; grid-template-columns: 48px minmax(260px, 1fr) minmax(130px, .45fr) auto auto; align-items: center; gap: 12px; padding: 10px 18px; border-bottom: 1px solid var(--line); }
.asset-thumb { width: 46px; height: 46px; position: relative; display: grid; place-items: center; color: #fff; background: #31404e; border-radius: 6px; }
.asset-thumb.tone-1, .video-preview.tone-1 { background: #294437; }
.asset-thumb.tone-2, .video-preview.tone-2 { background: #53394d; }
.asset-thumb.tone-3, .video-preview.tone-3 { background: #5a462e; }
.asset-thumb svg { width: 16px; }
.asset-thumb > span { position: absolute; right: 3px; bottom: 2px; font-size: 11px; }
.studio-asset-list article > div:nth-child(2) strong, .studio-asset-list article > div:nth-child(2) small, .studio-asset-list article > div:nth-child(3) strong, .studio-asset-list article > div:nth-child(3) small { display: block; }
.studio-asset-list article > div:nth-child(2) strong { margin-top: 5px; font-size: 14px; line-height: 1.4; }
.studio-asset-list article > div:nth-child(2) small, .studio-asset-list article > div:nth-child(3) small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.studio-asset-list article > div:nth-child(3) strong { margin-top: 4px; font-size: 12px; }
.studio-next { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 18px; color: var(--muted); background: var(--surface-2); border-top: 1px solid var(--line); font-size: 12px; }
.studio-script-list article { min-height: 180px; display: grid; grid-template-columns: 58px 1fr; gap: 14px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.script-rank { display: grid; justify-items: center; align-content: start; gap: 8px; padding-top: 2px; }
.script-rank > span { color: var(--muted); font-size: 12px; }
.risk-grade { width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 5px; color: var(--green); background: var(--green-soft); font-size: 15px; font-weight: 700; }
.risk-grade.grade-b { color: var(--yellow); background: var(--yellow-soft); }
.risk-grade.grade-c, .risk-grade.grade-d { color: var(--red); background: var(--red-soft); }
.script-main > div:first-child { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.script-main > div:first-child strong { font-size: 15px; }
.script-main > div:first-child small { color: var(--muted); font-size: 11px; }
.script-main > p { margin: 10px 0; color: #4e5459; font-size: 13px; line-height: 1.65; }
.script-reference { min-height: 32px; display: flex; align-items: center; gap: 7px; margin-top: 9px; padding: 7px 9px; color: #4d6171; background: var(--blue-soft); border-radius: 5px; font-size: 11px; line-height: 1.45; }
.script-reference svg { width: 13px; flex: 0 0 auto; color: var(--blue); }
.script-field-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
.script-field-grid.detailed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.script-field-grid.detailed > span:nth-child(3n) { border-right: 0; }
.script-field-grid.detailed > span:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
.script-field-grid > span { min-height: 58px; padding: 9px 10px; border-right: 1px solid var(--line); color: #4f555a; font-size: 12px; line-height: 1.45; }
.script-field-grid > span:last-child { border-right: 0; }
.script-field-grid small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 11px; }
.studio-production-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.studio-production-flow > div { min-height: 94px; position: relative; display: grid; justify-items: center; align-content: center; gap: 5px; color: #777c80; border-right: 1px solid var(--line); }
.studio-production-flow > div:last-child { border-right: 0; }
.studio-production-flow > div > span { position: absolute; top: 9px; left: 11px; font-size: 11px; }
.studio-production-flow > div > i { width: 18px; }
.studio-production-flow > div > strong { font-size: 13px; font-weight: 500; }
.studio-production-flow > div.done { color: var(--green); background: #fbfdfc; }
.studio-production-flow > div > b { position: absolute; right: -8px; z-index: 1; width: 16px; height: 16px; display: grid; place-items: center; color: #8e9296; background: #fff; border: 1px solid var(--line); border-radius: 50%; }
.studio-production-flow > div > b svg { width: 9px; }
.video-output-section { display: grid; gap: 14px; }
.section-line { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.section-line h2 { margin: 0; font-size: 16px; }
.section-line p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.studio-output-actions { display: flex; align-items: center; gap: 8px; }
.video-output-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.video-output { min-width: 0; display: grid; grid-template-columns: 150px 1fr; min-height: 286px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.video-preview { width: 128px; min-height: 284px; position: relative; display: grid; align-content: center; justify-items: center; gap: 9px; padding: 26px 12px 14px; color: #fff; background: #31404e; text-align: center; }
.video-preview > i { width: 28px; height: 28px; padding: 7px; color: #1d2429; background: #fff; border-radius: 50%; }
.video-preview > strong { width: 100%; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.video-preview > small { color: rgba(255,255,255,.72); font-size: 11px; }
.video-version { position: absolute; top: 9px; left: 9px; right: 9px; min-height: 21px; display: grid; place-items: center; color: #fff; background: rgba(0,0,0,.25); border-radius: 4px; font-size: 11px; }
.batch-video-player { width: 150px; aspect-ratio: 9 / 16; min-height: 0; position: relative; align-self: start; overflow: hidden; color: #fff; background: #31404e; }
.batch-video-player.tone-1 { background: #294437; }
.batch-video-player.tone-2 { background: #53394d; }
.batch-video-player.tone-3 { background: #5a462e; }
.batch-video-player video { width: 100%; height: 100%; min-height: 0; display: none; background: #0d1117; object-fit: contain; }
.batch-video-player.is-ready video { display: block; }
.batch-video-generate { width: 100%; height: 100%; min-height: 0; position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 9px; padding: 38px 12px 16px; color: #fff; background: transparent; border: 0; text-align: center; cursor: pointer; }
.batch-video-generate[hidden], [data-batch-video-download][hidden], .batch-video-player.is-ready .batch-video-generate { display: none !important; }
.batch-video-generate:hover { background: rgba(255,255,255,.07); }
.batch-video-generate > i { width: 34px; height: 34px; padding: 8px; color: #20272d; background: #fff; border-radius: 50%; transition: transform .18s ease; }
.batch-video-generate:hover > i { transform: scale(1.08); }
.batch-video-generate > strong { width: 100%; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.batch-video-generate > small { color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.4; }
.batch-video-generate > em { padding: 5px 8px; color: #fff; background: rgba(0,0,0,.28); border-radius: 4px; font-size: 11px; font-style: normal; }
.batch-video-generate.is-rendering > i { animation: batch-video-pulse 1s ease-in-out infinite; }
@keyframes batch-video-pulse { 50% { transform: scale(.86); opacity: .58; } }
.video-output-body { min-width: 0; display: flex; flex-direction: column; padding: 14px; }
.video-output-body > div { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.video-output-body .risk-grade { width: 26px; height: 26px; }
.video-output-body > strong { margin-top: 18px; font-size: 14px; line-height: 1.5; }
.video-output-body > small { margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.video-timeline { display: grid !important; align-items: stretch !important; justify-content: stretch !important; gap: 3px !important; margin-top: 10px; }
.video-timeline > span { padding: 4px 6px; color: #5f666b; background: var(--surface-2); border-left: 2px solid var(--blue); font-size: 11px; line-height: 1.35; }
.batch-video-file { margin-top: 10px; display: flex !important; justify-content: flex-start !important; }
.batch-video-file .icon-button { width: 30px; height: 30px; margin-left: auto; color: var(--blue); background: var(--blue-soft); }
.batch-video-file .icon-button svg { width: 15px; }
.video-output-body > p { margin: auto 0 0; padding-top: 10px; color: #868a8e; border-top: 1px solid var(--line); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.studio-render-note { min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 10px 13px; color: #4d6359; background: var(--green-soft); border-radius: 6px; font-size: 12px; line-height: 1.5; }
.studio-render-note svg { width: 14px; flex: 0 0 auto; color: var(--green); }
.result-grade-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.result-grade-flow > div { min-height: 98px; display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; align-content: center; gap: 3px 10px; padding: 14px 18px; border-right: 1px solid var(--line); }
.result-grade-flow > div:last-child { border-right: 0; }
.result-grade-flow .risk-grade { grid-row: 1 / 3; align-self: center; }
.result-grade-flow strong { align-self: end; font-size: 14px; }
.result-grade-flow small { align-self: start; color: var(--muted); font-size: 11px; }
.result-grade-flow .status { grid-column: 2; width: max-content; margin-top: 5px; }
.result-output-list { display: grid; }
.result-output-list article { min-height: 196px; display: grid; grid-template-columns: 108px minmax(250px, 1fr) 34px 112px 112px minmax(210px, .7fr); align-items: center; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.result-output-list article:last-child { border-bottom: 0; }
.result-video-player { width: 108px; aspect-ratio: 9 / 16; position: relative; align-self: start; overflow: hidden; color: #fff; background: #31404e; border-radius: 6px; }
.result-video-player.tone-1 { background: #294437; }
.result-video-player.tone-2 { background: #53394d; }
.result-video-player.tone-3 { background: #5a462e; }
.result-video-player video { width: 100%; height: 100%; display: none; background: #0d1117; object-fit: contain; }
.result-video-player.is-ready video { display: block; }
.result-video-generate { position: absolute; inset: 0; width: 100%; height: 100%; display: grid; place-items: center; align-content: center; gap: 8px; padding: 12px 8px; color: #fff; background: transparent; border: 0; cursor: pointer; }
.result-video-generate:hover:not(:disabled) { background: rgba(255,255,255,.08); }
.result-video-generate:disabled { cursor: not-allowed; opacity: .62; }
.result-video-generate > i { width: 28px; height: 28px; padding: 7px; color: #20272d; background: #fff; border-radius: 50%; }
.result-video-generate > span { font-size: 12px; font-weight: 600; }
.result-video-generate > small { color: rgba(255,255,255,.72); font-size: 11px; }
.result-video-generate.is-rendering > i { animation: batch-video-pulse 1s ease-in-out infinite; }
.result-video-generate[hidden], [data-result-video-download][hidden], .result-video-player.is-ready .result-video-generate { display: none !important; }
.result-main { min-width: 0; }
.result-main > strong, .result-main > small { display: block; }
.result-main > strong { margin-top: 5px; font-size: 14px; line-height: 1.45; }
.result-main > small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.result-main > p { margin: 6px 0 0; color: #555b60; font-size: 11px; line-height: 1.45; }
.result-media-state { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.result-media-state .icon-button { width: 30px; height: 30px; color: var(--blue); background: var(--blue-soft); }
.result-media-state .icon-button svg { width: 15px; }
.result-state small, .result-action small, .result-action strong, .result-action p { display: block; }
.result-state small, .result-action small { margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.result-action strong { font-size: 12px; line-height: 1.45; }
.result-action p { margin: 4px 0 0; color: #8b8f93; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.market-category-tags { min-height: 54px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; padding: 9px 18px; border-bottom: 1px solid var(--line); }
.market-category-tags strong { margin-right: 4px; font-size: 12px; }
.market-category-tags span { padding: 5px 8px; color: #4e5962; background: #eef2f4; border-radius: 4px; font-size: 11px; }
.market-category-tags > small { margin-left: auto; color: var(--muted); font-size: 11px; }
.market-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.market-source-grid > div { min-height: 82px; display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; padding: 12px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.market-source-grid > div:last-child { border-right: 0; }
.market-source-grid > div > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.market-source-grid > div:nth-child(2) > span { color: #845a8d; background: #f5edf7; }
.market-source-grid > div:nth-child(3) > span { color: var(--green); background: var(--green-soft); }
.market-source-grid svg { width: 16px; }
.market-source-grid strong, .market-source-grid small, .market-source-grid b { display: block; }
.market-source-grid strong { font-size: 14px; }
.market-source-grid small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.market-source-grid b { color: #3f454a; font-size: 16px; text-align: right; }
.market-source-grid b small { font-size: 11px; font-weight: 400; }
.shop-video-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.shop-video-kpis > div { min-height: 66px; padding: 11px 14px; border-right: 1px solid var(--line); }
.shop-video-kpis > div:last-child { border-right: 0; }
.shop-video-kpis span, .shop-video-kpis strong { display: block; }
.shop-video-kpis span { color: var(--muted); font-size: 11px; }
.shop-video-kpis strong { margin-top: 7px; font-size: 13px; }
.market-match-list { display: grid; }
.market-match-list article { min-height: 104px; display: grid; grid-template-columns: 58px minmax(260px, 1fr) 132px 62px minmax(220px, .75fr); align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--line); }
.market-match-list article:last-child { border-bottom: 0; }
.market-video-thumb { width: 56px; height: 76px; position: relative; display: grid; place-items: center; color: #fff; background: #31404e; border-radius: 6px; }
.market-video-thumb.tone-1 { background: #294437; }
.market-video-thumb.tone-2 { background: #53394d; }
.market-video-thumb.tone-3 { background: #5a462e; }
.market-video-thumb svg { width: 20px; height: 20px; padding: 5px; color: #20272c; background: #fff; border-radius: 50%; }
.market-video-thumb > span { position: absolute; right: 4px; bottom: 3px; font-size: 11px; }
.market-match-main { min-width: 0; }
.market-match-main > div { display: flex; align-items: center; gap: 8px; }
.market-match-main strong { min-width: 0; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.market-match-main > small, .market-match-main > p { display: block; }
.market-match-main > small { margin-top: 5px; color: var(--muted); font-size: 11px; }
.market-match-main > p { margin: 5px 0 0; color: #4f5d65; font-size: 11px; line-height: 1.45; }
.market-performance small, .market-performance strong { display: block; }
.market-performance small { color: var(--muted); font-size: 11px; }
.market-performance strong { margin-top: 6px; font-size: 13px; line-height: 1.45; }
.match-score { display: grid; justify-items: center; }
.match-score > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--green); background: var(--green-soft); border-radius: 50%; font-size: 15px; font-weight: 700; }
.match-score > small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.market-match-action { min-width: 0; }
.market-match-action > strong, .market-match-action > small { display: block; }
.market-match-action > strong { margin-top: 7px; font-size: 12px; line-height: 1.45; }
.market-match-action > small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.market-rights-note { min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 10px 18px; color: #4d6359; background: var(--green-soft); border-top: 1px solid #d6ecdf; font-size: 12px; line-height: 1.5; }
.market-rights-note svg { width: 14px; flex: 0 0 auto; color: var(--green); }

@media (max-width: 1380px) {
  .video-output-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
  .topic-intelligence-flow { grid-template-columns: repeat(9, 112px); }
  .topic-card-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-card-fields > span, .topic-card-fields > span:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .topic-card-fields > span:nth-child(2n) { border-right: 0; }
  .topic-card-fields > span:nth-last-child(-n+2) { border-bottom: 0; }
  .topic-score-breakdown { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .topic-channel-formulas > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-channel-formulas > div:last-child > span:nth-child(2) { border-right: 0; }
  .topic-channel-formulas > div:last-child > span:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .topic-opportunity-main > footer { align-items: flex-start; flex-direction: column; }
  .automation-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .automation-steps > div:nth-child(3n) { border-right: 0; }
  .automation-steps > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .shop-video-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shop-video-kpis > div:nth-child(3) { border-right: 0; }
  .shop-video-kpis > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .market-match-list article { grid-template-columns: 58px minmax(230px, 1fr) 62px minmax(210px, .75fr); }
  .market-performance { display: none; }
  .video-output-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-grade-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-grade-flow > div:nth-child(2) { border-right: 0; }
  .result-grade-flow > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .result-output-list article { grid-template-columns: 100px minmax(220px, 1fr) 34px 104px 104px; }
  .result-video-player { width: 100px; }
  .result-action { grid-column: 2 / 6; padding-top: 8px; border-top: 1px solid var(--line); }
  .studio-topic-list article { grid-template-columns: 72px minmax(240px, 1fr) 74px auto; }
  .studio-topic-list article > b { display: none; }
  .studio-asset-list article { grid-template-columns: 48px minmax(220px, 1fr) auto auto; }
  .studio-asset-list article > div:nth-child(3) { display: none; }
  .script-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .script-field-grid.detailed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .script-field-grid.detailed > span:nth-child(3n) { border-right: 1px solid var(--line); }
  .script-field-grid.detailed > span:nth-child(2n) { border-right: 0; }
  .script-field-grid.detailed > span:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .script-field-grid > span:nth-child(2) { border-right: 0; }
  .script-field-grid > span:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .sidebar { overflow: hidden; }
  .main-nav { display: flex; overflow-x: auto; overflow-y: hidden; gap: 2px; }
  .nav-item { flex: 0 0 78px; }
  .studio-hero { align-items: flex-start; flex-direction: column; }
  .studio-controls { min-width: 0; width: 100%; grid-template-columns: 1fr; }
  .automation-main { grid-template-columns: 38px 1fr; }
  .automation-main > .primary-button { grid-column: 1 / 3; width: 100%; }
  .automation-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .automation-steps > div, .automation-steps > div:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .automation-steps > div:nth-child(2n) { border-right: 0; }
  .automation-steps > div:nth-last-child(-n+2) { border-bottom: 0; }
  .studio-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-source-grid { grid-template-columns: 1fr; }
  .market-category-tags > small { width: 100%; margin-left: 0; line-height: 1.45; }
  .market-source-grid > div, .market-source-grid > div:last-child { border-right: 0; }
  .shop-video-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-video-kpis > div, .shop-video-kpis > div:nth-child(3) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .shop-video-kpis > div:nth-child(2n) { border-right: 0; }
  .shop-video-kpis > div:nth-last-child(-n+2) { border-bottom: 0; }
  .market-match-list article { grid-template-columns: 48px 1fr 48px; align-items: start; padding: 12px; }
  .market-video-thumb { width: 46px; height: 66px; }
  .market-match-main { grid-column: 2; }
  .match-score { grid-column: 3; grid-row: 1; }
  .match-score > span { width: 38px; height: 38px; }
  .market-match-action { grid-column: 2 / 4; padding-top: 8px; border-top: 1px solid var(--line); }
  .studio-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-source-grid > div:nth-child(2) { border-right: 0; }
  .studio-source-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .topic-source-matrix { grid-template-columns: 1fr; }
  .topic-source-matrix > article, .topic-source-matrix > article:nth-child(2n), .topic-source-matrix > article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .topic-source-matrix > article:last-child { border-bottom: 0; }
  .topic-scoring-strip { grid-template-columns: 1fr; }
  .topic-scoring-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .topic-scoring-strip > div:last-child { border-bottom: 0; }
  .topic-opportunity-card { grid-template-columns: 74px 1fr; }
  .topic-opportunity-score { padding: 14px 7px; }
  .topic-opportunity-score > strong { font-size: 26px; }
  .topic-opportunity-score > em { max-width: 64px; text-align: center; white-space: normal; }
  .topic-opportunity-main { padding: 14px 12px; }
  .topic-opportunity-main > h2 { font-size: 15px; }
  .topic-card-fields { grid-template-columns: 1fr; }
  .topic-card-fields > span, .topic-card-fields > span:nth-child(2n), .topic-card-fields > span:nth-child(3n), .topic-card-fields > span:nth-last-child(-n+2), .topic-card-fields > span:nth-last-child(-n+3) { border-right: 0; border-bottom: 1px solid var(--line); }
  .topic-card-fields > span:last-child { border-bottom: 0; }
  .topic-score-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-channel-formulas > div:last-child { grid-template-columns: 1fr; }
  .topic-channel-formulas > div:last-child > span, .topic-channel-formulas > div:last-child > span:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .topic-channel-formulas > div:last-child > span:last-child { border-bottom: 0; }
  .topic-card-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .topic-card-actions button { width: 100%; }
  .studio-topic-list article { grid-template-columns: 74px 1fr auto; align-items: start; }
  .studio-topic-list article > em, .studio-topic-list article > b { display: none; }
  .studio-topic-list article > .status { grid-column: 3; }
  .studio-asset-list article { grid-template-columns: 46px 1fr auto; align-items: start; }
  .studio-asset-list article > div:nth-child(3), .studio-asset-list article > .status:last-child { display: none; }
  .studio-next { align-items: flex-start; flex-direction: column; }
  .studio-script-list article { grid-template-columns: 42px 1fr; padding: 14px 12px; }
  .script-main > div:first-child { grid-template-columns: 1fr auto; }
  .script-main > div:first-child > .topic-source { grid-column: 1 / 3; }
  .script-main > div:first-child > small { display: none; }
  .script-field-grid { grid-template-columns: 1fr; }
  .script-field-grid.detailed { grid-template-columns: 1fr; }
  .script-field-grid.detailed > span, .script-field-grid.detailed > span:nth-child(2n), .script-field-grid.detailed > span:nth-child(3n) { border-right: 0; border-bottom: 1px solid var(--line); }
  .script-field-grid.detailed > span:last-child { border-bottom: 0; }
  .script-field-grid > span, .script-field-grid > span:nth-child(2), .script-field-grid > span:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .script-field-grid > span:last-child { border-bottom: 0; }
  .studio-production-flow { grid-template-columns: repeat(5, 110px); overflow-x: auto; }
  .video-output-grid { grid-template-columns: 1fr; }
  .video-output { grid-template-columns: 128px 1fr; }
  .video-preview { width: 112px; }
  .batch-video-player { width: 128px; }
  .section-line { align-items: flex-start; flex-direction: column; }
  .studio-output-actions { width: 100%; justify-content: space-between; }
  .result-grade-flow { grid-template-columns: 1fr; }
  .result-grade-flow > div, .result-grade-flow > div:nth-child(2), .result-grade-flow > div:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .result-grade-flow > div:last-child { border-bottom: 0; }
  .result-output-list article { grid-template-columns: 88px 1fr 30px; align-items: start; padding: 12px; }
  .result-video-player { width: 88px; }
  .result-main { grid-column: 2; }
  .result-state { grid-column: 2; }
  .result-state + .result-state { grid-column: 3; grid-row: 2; }
  .result-action { grid-column: 2 / 4; }
}

/* Review management */
.review-hero { min-height: 126px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px; border-left: 3px solid var(--blue); }
.review-hero h2 { margin: 6px 0; font-size: 22px; }
.review-hero p { max-width: 720px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.review-hero-controls { min-width: min(590px, 50%); display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 9px; }
.review-hero-controls label { color: var(--muted); font-size: 12px; }
.review-hero-controls select { margin-top: 5px; }
.review-source-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.review-source-strip > div { min-height: 84px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 13px 16px; border-right: 1px solid var(--line); }
.review-source-strip > div:last-child { border-right: 0; }
.review-source-strip > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.review-source-strip > div:nth-child(2) > span { color: #845a8d; background: #f5edf7; }
.review-source-strip > div:nth-child(3) > span { color: var(--green); background: var(--green-soft); }
.review-source-strip svg { width: 17px; }
.review-source-strip p { margin: 0; }
.review-source-strip strong, .review-source-strip small { display: block; }
.review-source-strip strong { font-size: 14px; }
.review-source-strip small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.review-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.review-kpis > div { min-height: 92px; display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 12px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--review-accent); border-radius: 7px; }
.review-kpis > div > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--review-accent); background: var(--surface-2); border-radius: 6px; }
.review-kpis svg { width: 18px; }
.review-kpis small, .review-kpis strong { display: block; }
.review-kpis small { color: var(--muted); font-size: 12px; }
.review-kpis strong { margin-top: 5px; font-size: 21px; }
.review-kpis.experience-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.review-kpis em { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-style: normal; line-height: 1.35; }
.review-priority-board { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); align-items: start; gap: 12px; }
.review-priority-list { display: grid; }
.review-priority-list article { min-height: 94px; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--line); box-shadow: inset 3px 0 0 var(--priority, var(--blue)); }
.review-priority-list article:last-child { border-bottom: 0; }
.review-priority-list article.red { --priority: var(--red); background: #fffdfd; }
.review-priority-list article.yellow { --priority: #c18b24; background: #fffefa; }
.review-priority-list article.blue { --priority: var(--blue); }
.review-priority-list article > b { width: 36px; height: 36px; display: grid; place-items: center; color: var(--priority); background: var(--surface-2); border: 1px solid var(--line); border-radius: 6px; font-size: 13px; }
.review-priority-list strong, .review-priority-list small { display: block; }
.review-priority-list strong { font-size: 14px; }
.review-priority-list small { margin-top: 4px; color: var(--priority); font-size: 12px; font-weight: 600; }
.review-priority-list p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.review-refund-list { display: grid; }
.review-refund-list article { min-height: 72px; display: grid; grid-template-columns: 28px 1fr 58px; align-items: center; gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--line); }
.review-refund-list article:last-child { border-bottom: 0; }
.review-refund-list article > span { color: #9a7a32; font-size: 11px; }
.review-refund-list strong, .review-refund-list small { display: block; }
.review-refund-list strong { font-size: 13px; line-height: 1.4; }
.review-refund-list small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.review-refund-list i { height: 5px; display: block; margin-top: 8px; overflow: hidden; background: #f0f1f2; border-radius: 3px; }
.review-refund-list i b { height: 100%; display: block; background: #d39a31; border-radius: 3px; }
.review-refund-list em { color: var(--yellow); font-size: 12px; font-style: normal; font-weight: 600; text-align: right; }
.review-agent { overflow: hidden; border-top: 3px solid var(--green); }
.review-agent-head { min-height: 78px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 12px 18px; }
.review-agent-head > span { width: 40px; height: 40px; display: grid; place-items: center; color: var(--green); background: var(--green-soft); border-radius: 7px; }
.review-agent-head strong, .review-agent-head small { display: block; }
.review-agent-head strong { font-size: 16px; }
.review-agent-head small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.review-agent-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.review-agent-steps > div { min-height: 76px; position: relative; display: grid; align-content: center; gap: 4px; padding: 12px 16px; background: #fbfdfc; border-right: 1px solid var(--line); }
.review-agent-steps > div:last-child { border-right: 0; }
.review-agent-steps span { color: #9a9ea2; font-size: 11px; }
.review-agent-steps strong { font-size: 13px; }
.review-agent-steps small { color: var(--muted); font-size: 11px; }
.review-agent-steps > div > i { position: absolute; top: 12px; right: 12px; width: 14px; color: var(--green); }
.review-workspace { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); align-items: start; gap: 12px; }
.review-filter { display: inline-flex; gap: 3px; padding: 3px; background: #eceeef; border-radius: 6px; }
.review-filter button { min-height: 34px; padding: 0 10px; color: var(--muted); background: transparent; border: 0; border-radius: 4px; font-size: 12px; }
.review-filter button.active { color: var(--ink); background: #fff; box-shadow: 0 1px 4px rgba(32,33,36,.10); font-weight: 600; }
.review-list { display: grid; }
.review-item { min-width: 0; display: grid; grid-template-columns: 140px minmax(260px, 1fr) 150px; align-items: start; gap: 16px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.review-item:last-child { border-bottom: 0; }
.review-item.risk { box-shadow: inset 3px 0 0 var(--red); background: #fffdfd; }
.review-rating strong, .review-rating small { display: block; }
.review-rating strong { color: #e09a1a; font-size: 16px; letter-spacing: 0; white-space: nowrap; }
.review-rating small { margin-top: 6px; color: var(--muted); font-size: 11px; }
.review-content { min-width: 0; }
.review-content > div:first-child { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.review-content > p { margin: 10px 0 6px; color: #3f454a; font-size: 14px; line-height: 1.65; }
.review-content > small { color: var(--muted); font-size: 11px; }
.review-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.review-tags span { padding: 4px 7px; color: #596269; background: #eef2f4; border-radius: 4px; font-size: 11px; }
.review-reply { display: grid !important; grid-template-columns: 28px 1fr; align-items: start !important; gap: 8px !important; margin-top: 10px; padding: 9px 10px; color: #475d52; background: var(--green-soft); border-radius: 5px; }
.review-reply > i { width: 16px; margin: 2px 0 0 5px; color: var(--green); }
.review-reply small { color: var(--green); font-size: 11px; }
.review-reply p { margin: 3px 0 0; font-size: 12px; line-height: 1.55; }
.review-actions { display: grid; justify-items: stretch; gap: 7px; }
.review-actions > .status { justify-self: start; }
.review-actions button { width: 100%; }
.review-issue-list { display: grid; }
.review-issue-list article { min-height: 82px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.review-issue-list article:last-child { border-bottom: 0; }
.review-issue-list article > span { width: 28px; height: 28px; display: grid; place-items: center; color: var(--yellow); background: var(--yellow-soft); border-radius: 5px; font-size: 11px; }
.review-issue-list strong, .review-issue-list small { display: block; }
.review-issue-list strong { font-size: 14px; }
.review-issue-list small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.review-issue-list b { color: var(--red); font-size: 12px; white-space: nowrap; }
.review-compliance { min-height: 54px; display: flex; align-items: flex-start; gap: 8px; padding: 11px 16px; color: #6d581f; background: var(--yellow-soft); border-top: 1px solid #efdfa8; font-size: 12px; line-height: 1.55; }
.review-compliance svg { width: 15px; flex: 0 0 auto; margin-top: 1px; }
.review-link-table { min-width: 980px; }

@media (max-width: 1120px) {
  .review-kpis.experience-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .review-priority-board { grid-template-columns: 1fr; }
  .review-source-strip { grid-template-columns: 1fr; }
  .review-source-strip > div, .review-source-strip > div:last-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .review-source-strip > div:last-child { border-bottom: 0; }
  .review-workspace { grid-template-columns: 1fr; }
  .review-agent-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-agent-steps > div:nth-child(2) { border-right: 0; }
  .review-agent-steps > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .review-hero { align-items: flex-start; flex-direction: column; }
  .review-hero-controls { min-width: 0; width: 100%; grid-template-columns: 1fr; }
  .review-kpis, .review-kpis.experience-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-agent-head { grid-template-columns: 38px 1fr; }
  .review-agent-head > button { grid-column: 1 / 3; width: 100%; }
  .review-agent-steps { grid-template-columns: 1fr; }
  .review-agent-steps > div, .review-agent-steps > div:nth-child(2), .review-agent-steps > div:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .review-agent-steps > div:last-child { border-bottom: 0; }
  .review-queue .panel-head { align-items: flex-start; flex-direction: column; }
  .review-filter { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); }
  .review-filter button { padding: 0 4px; }
  .review-item { grid-template-columns: 1fr; gap: 11px; padding: 14px; }
  .review-priority-list article { grid-template-columns: 36px 1fr; }
  .review-priority-list article > .status { grid-column: 2; justify-self: start; }
  .review-actions { grid-template-columns: 1fr 1fr; }
  .review-actions > .status { grid-column: 1 / 3; }
  .review-actions > .text-button { grid-column: 1 / 3; }
}

/* AI decision cockpit */
.decision-dashboard { --decision-green: #18855b; --decision-blue: #2878c7; --decision-yellow: #a26b00; --decision-red: #cc3d3d; }
.dashboard-platform-toolbar { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 16px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.dashboard-platform-toolbar > div:first-child { display: grid; gap: 3px; }
.dashboard-platform-toolbar > div:first-child > span { display: flex; align-items: center; gap: 7px; color: #30353a; font-size: 14px; font-weight: 700; }
.dashboard-platform-toolbar > div:first-child svg { width: 17px; color: var(--orange); }
.dashboard-platform-toolbar > div:first-child small { color: var(--muted); font-size: 11px; }
.dashboard-time-controls { display: flex; align-items: center; gap: 9px; }
.official-time-segmented { min-width: 296px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.official-time-segmented button { min-width: 68px; }
.dashboard-time-controls select { min-width: 152px; height: 38px; }
.decision-time-note { min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 9px 14px; color: #6d581f; background: #fff8df; border: 1px solid #efdfa8; border-radius: 6px; font-size: 12px; line-height: 1.5; }
.decision-time-note svg { width: 16px; flex: 0 0 auto; }
.field-sync-note { display: block; margin-top: 5px; color: #18855b; font-size: 11px; font-weight: 500; line-height: 1.35; }
.decision-ai-hero { min-height: 142px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 24px; border-top: 3px solid var(--orange); }
.decision-ai-copy h2 { margin: 4px 0 6px; font-size: 26px; }
.decision-ai-copy > p { margin: 0; color: var(--muted); font-size: 14px; }
.decision-source-line { min-height: 28px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.decision-source-line > span { display: inline-flex; align-items: center; gap: 6px; color: #42474c; font-size: 13px; font-weight: 600; }
.decision-source-line svg { width: 16px; }
.decision-source-line small { color: var(--muted); font-size: 12px; }
.decision-ai-buttons { display: flex; gap: 10px; flex: 0 0 auto; }
.decision-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.decision-kpi { min-height: 126px; padding: 17px; background: #fff; border: 1px solid var(--line); border-top: 3px solid #8a8f94; border-radius: 7px; }
.decision-kpi.green { border-top-color: var(--decision-green); }
.decision-kpi.yellow { border-top-color: var(--decision-yellow); }
.decision-kpi.blue { border-top-color: var(--decision-blue); }
.decision-kpi.red { border-top-color: var(--decision-red); }
.decision-kpi.purple { border-top-color: #805fa0; }
.decision-kpi > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.decision-kpi small { color: var(--muted); font-size: 13px; }
.decision-kpi div span { width: 30px; height: 30px; display: grid; place-items: center; color: #6e7378; background: #f3f4f5; border-radius: 6px; }
.decision-kpi div svg { width: 16px; }
.decision-kpi strong { display: block; margin-top: 12px; font-size: 27px; line-height: 1; }
.decision-kpi em { display: block; margin-top: 10px; color: var(--decision-green); font-size: 12px; font-style: normal; }
.decision-kpi.red em { color: var(--decision-red); }
.decision-summary { min-height: 156px; display: grid; grid-template-columns: 170px minmax(0, 1fr) 310px; align-items: center; gap: 22px; padding: 20px 24px; border-left: 3px solid var(--orange); }
.decision-summary-score { display: flex; align-items: center; gap: 12px; }
.decision-summary-score > span { width: 48px; height: 48px; display: grid; place-items: center; color: var(--orange); background: var(--orange-soft); border-radius: 7px; }
.decision-summary-score svg { width: 23px; }
.decision-summary-score small, .decision-summary-score strong { display: block; }
.decision-summary-score small { color: var(--muted); font-size: 12px; }
.decision-summary-score strong { margin-top: 4px; font-size: 30px; }
.decision-summary-score strong em { color: var(--muted); font-size: 12px; font-style: normal; }
.decision-summary-copy h2 { margin: 9px 0 6px; font-size: 18px; line-height: 1.45; }
.decision-summary-copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.decision-summary-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--line); }
.decision-summary-facts span { min-width: 0; padding: 8px 12px; text-align: center; border-right: 1px solid var(--line); }
.decision-summary-facts span:last-child { border-right: 0; }
.decision-summary-facts b, .decision-summary-facts small { display: block; }
.decision-summary-facts b { font-size: 19px; }
.decision-summary-facts small { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.decision-action-panel { overflow: hidden; }
.decision-action-list { display: grid; }
.decision-action-list article { min-height: 104px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 18px; border-top: 1px solid var(--line); }
.decision-action-list article > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--decision-blue); background: #edf5fd; border-radius: 6px; }
.decision-action-list article.green > span { color: var(--decision-green); background: #e9f6f0; }
.decision-action-list article.yellow > span { color: var(--decision-yellow); background: #fff8df; }
.decision-action-list article.red > span { color: var(--decision-red); background: #fff0f0; }
.decision-action-list article svg { width: 19px; }
.decision-action-list article > div > div { display: flex; align-items: center; gap: 9px; }
.decision-action-list strong { font-size: 15px; }
.decision-action-list small { display: block; margin-top: 5px; color: #4e555b; font-size: 12px; font-weight: 600; }
.decision-action-list p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.decision-action-list button { min-width: 84px; }
.decision-funnel { display: grid; grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr); align-items: center; gap: 8px; }
.decision-funnel > article { min-height: 108px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--decision-blue); border-radius: 6px; }
.decision-funnel > article.risk { border-left-color: var(--decision-red); }
.decision-funnel > article small, .decision-funnel > article strong, .decision-funnel > article em { display: block; }
.decision-funnel > article small { color: var(--muted); font-size: 12px; }
.decision-funnel > article strong { margin-top: 7px; font-size: 24px; }
.decision-funnel > article em { margin-top: 7px; color: var(--decision-green); font-size: 12px; font-style: normal; }
.decision-funnel > article.risk em { color: var(--decision-red); }
.decision-funnel > svg { width: 18px; color: #aeb2b6; }
.decision-channel-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; align-items: stretch; }
.decision-channel-bars { padding: 6px 18px 15px; }
.decision-channel-bars article { padding: 11px 0; border-bottom: 1px solid var(--line); }
.decision-channel-bars article:last-child { border-bottom: 0; }
.decision-channel-bars article > div { display: grid; grid-template-columns: 90px 1fr 58px; align-items: center; gap: 10px; }
.decision-channel-bars strong { font-size: 14px; }
.decision-channel-bars small { color: var(--muted); font-size: 12px; }
.decision-channel-bars em { color: #34393e; font-size: 13px; font-style: normal; font-weight: 700; text-align: right; }
.decision-channel-bars article > span { height: 7px; display: block; margin-top: 8px; overflow: hidden; background: #eef0f1; border-radius: 4px; }
.decision-channel-bars article > span i { height: 100%; display: block; background: var(--decision-blue); border-radius: 4px; }
.decision-channel-bars article > span i.green { background: var(--decision-green); }
.decision-channel-bars article > span i.yellow { background: #d39a31; }
.decision-channel-bars article > span i.purple { background: #805fa0; }
.decision-channel-table { padding: 4px 18px 14px; }
.decision-channel-table > div { min-height: 54px; display: grid; grid-template-columns: 1.1fr .8fr .8fr .9fr; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); }
.decision-channel-table > div:last-child { border-bottom: 0; }
.decision-channel-table > div.head { min-height: 36px; color: var(--muted); font-size: 12px; }
.decision-channel-table strong { font-size: 13px; }
.decision-channel-table span { font-size: 13px; font-weight: 600; }
.decision-channel-table span small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; }
.decision-channel-table em { justify-self: start; }
.decision-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: 12px; align-items: stretch; }
.decision-spotlight-title { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; padding: 16px 20px; border-top: 1px solid var(--line); }
.decision-spotlight-title > span { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: #9b6280; border-radius: 6px; font-weight: 700; }
.decision-spotlight-title strong, .decision-spotlight-title small { display: block; }
.decision-spotlight-title strong { font-size: 15px; }
.decision-spotlight-title small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.decision-benchmark-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 20px; border: 1px solid var(--line); border-radius: 6px; }
.decision-benchmark-grid > div { padding: 13px 14px; border-right: 1px solid var(--line); }
.decision-benchmark-grid > div:last-child { border-right: 0; }
.decision-benchmark-grid small, .decision-benchmark-grid strong, .decision-benchmark-grid span { display: block; }
.decision-benchmark-grid small { color: var(--muted); font-size: 11px; }
.decision-benchmark-grid strong { margin-top: 5px; font-size: 18px; }
.decision-benchmark-grid span { margin-top: 5px; color: var(--decision-red); font-size: 11px; }
.decision-spotlight-conclusion { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; margin: 14px 20px 18px; padding: 12px 14px; background: #fff8df; border: 1px solid #efdfa8; border-radius: 6px; }
.decision-spotlight-conclusion > svg { color: var(--decision-yellow); }
.decision-spotlight-conclusion strong { font-size: 14px; }
.decision-spotlight-conclusion p { margin: 4px 0 0; color: #6d581f; font-size: 12px; line-height: 1.5; }
.decision-source-list { padding: 4px 18px 12px; }
.decision-source-list > div { min-height: 62px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.decision-source-list > div:last-child { border-bottom: 0; }
.decision-source-list > div > span { width: 30px; height: 30px; display: grid; place-items: center; color: var(--decision-blue); background: #edf5fd; border-radius: 5px; }
.decision-source-list svg { width: 16px; }
.decision-source-list strong, .decision-source-list small { display: block; }
.decision-source-list strong { font-size: 13px; }
.decision-source-list small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.decision-live-note { display: flex; align-items: flex-start; gap: 8px; padding: 12px 18px; color: #5b6065; background: #f6f7f8; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.5; }
.decision-live-note svg { width: 16px; flex: 0 0 auto; margin-top: 1px; }
.decision-local-section { padding-top: 4px; border-top: 1px solid var(--line); }
.module-ai-task-banner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; padding: 14px 18px; border-left: 3px solid var(--orange); }
.module-ai-task-banner > div { min-width: 0; display: flex; align-items: center; gap: 12px; }
.module-ai-task-banner > div > span { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; color: var(--orange); background: var(--orange-soft); border-radius: 6px; }
.module-ai-task-banner svg { width: 19px; }
.module-ai-task-banner small, .module-ai-task-banner strong, .module-ai-task-banner p { display: block; }
.module-ai-task-banner small { color: var(--muted); font-size: 12px; }
.module-ai-task-banner strong { margin-top: 3px; font-size: 15px; }
.module-ai-task-banner p { margin: 4px 0 0; color: #5e6368; font-size: 12px; line-height: 1.45; }
.module-ai-task-banner > button { flex: 0 0 auto; }

@media (max-width: 1180px) {
  .decision-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .decision-summary { grid-template-columns: 160px minmax(0, 1fr); }
  .decision-summary-facts { grid-column: 1 / 3; border-top: 1px solid var(--line); border-left: 0; padding-top: 12px; }
  .decision-channel-grid, .decision-bottom-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .dashboard-platform-toolbar { align-items: flex-start; flex-direction: column; }
  .dashboard-time-controls { width: 100%; align-items: stretch; flex-direction: column; }
  .official-time-segmented { min-width: 0; width: 100%; }
  .dashboard-time-controls select { width: 100%; }
  .decision-ai-hero { align-items: flex-start; flex-direction: column; }
  .decision-ai-buttons { width: 100%; display: grid; grid-template-columns: 1fr; }
  .decision-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-summary { grid-template-columns: 1fr; }
  .decision-summary-facts { grid-column: 1; grid-template-columns: 1fr; border-top: 1px solid var(--line); }
  .decision-summary-facts span { border-right: 0; border-bottom: 1px solid var(--line); }
  .decision-summary-facts span:last-child { border-bottom: 0; }
  .decision-action-list article { grid-template-columns: 38px 1fr; }
  .decision-action-list article > button { grid-column: 2; justify-self: start; }
  .decision-funnel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-funnel > svg { display: none; }
  .decision-channel-table { overflow-x: auto; }
  .decision-channel-table > div { min-width: 560px; }
  .decision-benchmark-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-benchmark-grid > div:nth-child(2) { border-right: 0; }
  .decision-benchmark-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .decision-spotlight-conclusion { grid-template-columns: 30px 1fr; }
  .decision-spotlight-conclusion button { grid-column: 2; justify-self: start; }
  .module-ai-task-banner { align-items: flex-start; flex-direction: column; }
  .module-ai-task-banner > button { width: 100%; }
}

/* Kuaishou metric selector and real product pool */
.dashboard-metric-config-button { flex: 0 0 auto; }
.metric-config-modal { width: min(960px, calc(100vw - 32px)); padding: 22px; overflow: hidden; }
.metric-config-modal .modal-head { margin-bottom: 14px; }
.metric-config-modal .modal-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.metric-config-summary { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; background: var(--surface-2); border-radius: 6px; }
.metric-config-summary span { color: #4f555a; font-size: 13px; }
.metric-config-summary strong { color: var(--orange); font-size: 16px; }
.metric-config-groups { max-height: min(560px, 58vh); margin-top: 12px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; }
.metric-config-groups section { display: grid; grid-template-columns: 132px minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.metric-config-groups section:last-child { border-bottom: 0; }
.metric-config-groups h3 { margin: 0; padding: 14px; background: #f7f8f8; font-size: 14px; }
.metric-config-groups h3 small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 400; }
.metric-config-groups section > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 10px; }
.metric-config-groups label { min-height: 38px; display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 5px; color: #4c5257; font-size: 12px; line-height: 1.35; cursor: pointer; }
.metric-config-groups label:has(input:checked) { border-color: #8bb5db; background: #f2f8fd; color: #245f94; }
.metric-config-groups input { width: 15px; height: 15px; margin: 0; accent-color: var(--blue); }
.metric-config-modal .modal-actions { padding-top: 14px; }
.metric-config-note { min-width: 0; display: flex; align-items: center; gap: 6px; margin-right: auto; color: var(--muted); font-size: 12px; }
.metric-config-note svg { width: 14px; color: var(--blue); }

.pool-source-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.pool-source-strip > div { min-height: 82px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 16px; border-right: 1px solid var(--line); }
.pool-source-strip > div:last-child { border-right: 0; }
.pool-source-strip > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.pool-source-strip > div:nth-child(2) > span { color: var(--green); background: var(--green-soft); }
.pool-source-strip > div:nth-child(3) > span { color: var(--orange); background: var(--orange-soft); }
.pool-source-strip svg { width: 17px; }
.pool-source-strip p { min-width: 0; margin: 0; }
.pool-source-strip strong, .pool-source-strip small { display: block; }
.pool-source-strip strong { font-size: 14px; }
.pool-source-strip small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.pool-source-strip > div:nth-child(2) > b { color: #353b40; font-size: 16px; }
.pool-source-strip button { white-space: nowrap; }
.pool-panel-head { min-height: 82px; }
.pool-panel-head > div:first-child { min-width: 0; }
.pool-source-tabs { width: max-content; max-width: 100%; }
.pool-source-tabs button { min-width: 150px; }
.pool-source-tabs b { margin-left: 5px; color: inherit; font-size: 11px; }
.pool-panel-head .toolbar { justify-content: flex-end; }
.pool-panel-head select { min-width: 146px; }
.platform-product-table table { min-width: 1240px; }
.platform-product-cell { min-width: 330px; }
.platform-product-cell strong { max-width: 360px; }
.platform-category { display: block; max-width: 210px; overflow: hidden; color: #50565b; font-size: 12px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.platform-product-table td.numeric strong, .platform-product-table td.numeric small { display: block; }
.platform-product-table td.numeric small { margin-top: 4px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.platform-ai-decision { min-width: 220px; }
.platform-ai-decision small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.ranking-product-table table { min-width: 1180px; }
.ranking-product-table th:first-child, .ranking-product-table td:first-child { width: 64px; text-align: center; }
.ranking-number { width: 30px; height: 30px; display: inline-grid; place-items: center; color: #575d62; background: #eef0f1; border-radius: 5px; font-size: 13px; font-weight: 700; }
.ranking-number.rank-1 { color: #9a6414; background: #fff1c9; }
.ranking-number.rank-2 { color: #5e6a75; background: #e9edf0; }
.ranking-number.rank-3 { color: #8d5b42; background: #f6e7df; }
.ranking-product-cell { min-width: 320px; }
.ranking-product-cell strong { max-width: 360px; }
.ranking-shop { min-width: 180px; }
.ranking-shop strong, .ranking-shop small { display: block; }
.ranking-shop strong { max-width: 220px; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.ranking-shop small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.pool-data-note { min-height: 44px; display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px; color: #4e6259; background: var(--green-soft); border: 1px solid #cbe3d7; border-radius: 6px; font-size: 12px; line-height: 1.55; }
.pool-data-note svg { width: 16px; flex: 0 0 auto; margin-top: 1px; color: var(--green); }

@media (max-width: 1380px) and (min-width: 1181px) {
  .pool-source-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pool-source-strip > div:nth-child(2) { border-right: 0; }
  .pool-source-strip > div:nth-child(3) { grid-column: 1 / 3; border-top: 1px solid var(--line); }
}

@media (max-width: 1180px) {
  .pool-source-strip { grid-template-columns: 1fr; }
  .pool-source-strip > div, .pool-source-strip > div:last-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .pool-source-strip > div:last-child { border-bottom: 0; }
  .pool-panel-head { align-items: flex-start; flex-direction: column; }
  .pool-panel-head .toolbar { width: 100%; justify-content: flex-start; }
}

@media (max-width: 760px) {
  .metric-config-modal { padding: 16px; }
  .metric-config-groups section { grid-template-columns: 1fr; }
  .metric-config-groups h3 { padding: 10px 12px; }
  .metric-config-groups h3 small { display: inline; margin-left: 6px; }
  .metric-config-groups section > div { grid-template-columns: 1fr; }
  .metric-config-modal .modal-actions { align-items: stretch; flex-direction: column; }
  .metric-config-note { margin-right: 0; }
  .metric-config-modal .modal-actions button { width: 100%; }
  .pool-source-strip > div { grid-template-columns: 36px minmax(0, 1fr); }
  .pool-source-strip > div > b, .pool-source-strip > div > button { grid-column: 2; justify-self: start; }
  .pool-panel-head .toolbar { display: grid; grid-template-columns: 1fr; }
  .pool-panel-head .search-box, .pool-panel-head select { width: 100%; min-width: 0; }
  .pool-source-tabs { width: 100%; }
  .pool-source-tabs button { min-width: 0; flex: 1; padding: 0 6px; }
}

/* Store-category market intelligence */
.market-source-strip { display: grid; grid-template-columns: 1.05fr 1.25fr 1.35fr; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.market-source-strip > div { min-height: 82px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 16px; border-right: 1px solid var(--line); }
.market-source-strip > div:last-child { border-right: 0; }
.market-source-strip > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.market-source-strip > div:nth-child(2) > span { color: var(--green); background: var(--green-soft); }
.market-source-strip > div:nth-child(3) > span { color: var(--orange); background: var(--orange-soft); }
.market-source-strip p { min-width: 0; margin: 0; }
.market-source-strip strong, .market-source-strip small { display: block; }
.market-source-strip strong { font-size: 14px; }
.market-source-strip small { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.market-source-strip em { font-style: normal; }
.market-source-strip button { white-space: nowrap; }
.market-category-panel { overflow: hidden; }
.market-category-head { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 18px; border-bottom: 1px solid var(--line); }
.market-category-head h2 { margin: 0; font-size: 16px; }
.market-category-head p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.market-category-tabs { max-width: 100%; display: flex; gap: 4px; padding: 3px; overflow-x: auto; background: #eceeef; border-radius: 6px; }
.market-category-tabs button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 0 0 auto; padding: 0 12px; border: 0; border-radius: 4px; color: var(--muted); background: transparent; white-space: nowrap; }
.market-category-tabs button.active { color: var(--ink); background: #fff; box-shadow: 0 1px 4px rgba(32,33,36,.10); font-weight: 600; }
.market-category-tabs b { min-width: 19px; height: 19px; display: inline-grid; place-items: center; padding: 0 5px; color: #676c70; background: #dfe2e4; border-radius: 10px; font-size: 11px; }
.market-category-tabs button.active b { color: #fff; background: var(--orange); }
.market-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.market-kpi { min-height: 118px; position: relative; padding: 18px; border-right: 1px solid var(--line); background: #fff; }
.market-kpi:last-child { border-right: 0; }
.market-kpi::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--market-accent); }
.market-kpi > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 13px; }
.market-kpi svg { width: 17px; color: var(--market-accent); }
.market-kpi strong { display: block; margin-top: 13px; font-size: 23px; line-height: 1.1; }
.market-kpi small { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
.market-ranking-table table { min-width: 1320px; }
.market-ranking-table th:first-child, .market-ranking-table td:first-child { width: 62px; text-align: center; }
.market-product-cell { min-width: 330px; }
.market-product-cell strong { display: block; max-width: 400px; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.market-product-cell small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.market-growth { color: var(--muted); white-space: nowrap; }
.market-growth.up { color: var(--green); font-weight: 600; }
.market-growth.down { color: var(--red); font-weight: 600; }
.market-ranking-table .text-button { max-width: 170px; text-align: left; white-space: normal; line-height: 1.35; }
.market-insight-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; }
.market-keywords { padding: 6px 18px 12px; }
.market-keywords > div { min-height: 52px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.market-keywords > div:last-child { border-bottom: 0; }
.market-keywords > div > span { color: var(--muted); font-size: 13px; }
.market-keywords strong { font-size: 14px; }
.market-ai-summary { display: grid; }
.market-ai-summary article { min-height: 78px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.market-ai-summary article:last-child { border-bottom: 0; }
.market-ai-summary article > svg { width: 30px; height: 30px; padding: 7px; color: var(--green); background: var(--green-soft); border-radius: 6px; }
.market-ai-summary article.risk > svg { color: var(--yellow); background: var(--yellow-soft); }
.market-ai-summary strong { display: block; font-size: 14px; }
.market-ai-summary p { margin: 5px 0 0; color: #555b60; font-size: 13px; line-height: 1.55; }
.market-data-note { min-height: 44px; display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px; color: #4e6259; background: var(--green-soft); border: 1px solid #cbe3d7; border-radius: 6px; font-size: 12px; line-height: 1.55; }
.market-data-note svg { width: 16px; flex: 0 0 auto; margin-top: 1px; color: var(--green); }

@media (max-width: 1180px) {
  .market-source-strip { grid-template-columns: 1fr; }
  .market-source-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .market-source-strip > div:last-child { border-bottom: 0; }
  .market-category-head { align-items: flex-start; flex-direction: column; }
  .market-category-tabs { width: 100%; }
  .market-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-kpi:nth-child(2) { border-right: 0; }
  .market-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .market-source-strip > div { grid-template-columns: 36px minmax(0, 1fr); }
  .market-source-strip > div > em, .market-source-strip > div > button { grid-column: 2; justify-self: start; }
  .market-hero { align-items: flex-start; flex-direction: column; }
  .market-hero button { width: 100%; }
  .market-category-tabs button { padding: 0 9px; }
  .market-kpi-grid { grid-template-columns: 1fr; }
  .market-kpi, .market-kpi:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .market-kpi:last-child { border-bottom: 0; }
  .market-insight-grid { grid-template-columns: 1fr; }
}

/* Kuaishou store product testing */
.test-source-strip { display: grid; grid-template-columns: 1.05fr 1.15fr 1.35fr; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.test-source-strip > div { min-height: 82px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 16px; border-right: 1px solid var(--line); }
.test-source-strip > div:last-child { border-right: 0; }
.test-source-strip > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.test-source-strip > div:nth-child(2) > span { color: var(--green); background: var(--green-soft); }
.test-source-strip > div:nth-child(3) > span { color: var(--orange); background: var(--orange-soft); }
.test-source-strip p { min-width: 0; margin: 0; }
.test-source-strip strong, .test-source-strip small { display: block; }
.test-source-strip strong { font-size: 14px; }
.test-source-strip small { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.test-source-strip > div > b { font-size: 15px; white-space: nowrap; }
.test-source-strip button { white-space: nowrap; }
.store-test-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); overflow: hidden; }
.store-test-selector { min-width: 0; padding: 22px; }
.store-test-selector h2 { margin: 6px 0; font-size: 20px; }
.store-test-selector > p { margin: 0; color: var(--muted); font-size: 14px; }
.store-test-selector label { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 10px; margin-top: 18px; color: #555b60; font-size: 13px; }
.store-test-selector select { min-width: 0; }
.store-test-result { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 13px; padding: 20px; border-left: 1px solid var(--line); background: #fbfcfc; }
.store-test-result > span { width: 44px; height: 44px; display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); border-radius: 50%; }
.store-test-result.green > span { color: var(--green); background: var(--green-soft); }
.store-test-result.red > span { color: var(--red); background: var(--red-soft); }
.store-test-result.yellow > span { color: var(--yellow); background: var(--yellow-soft); }
.store-test-result small, .store-test-result strong { display: block; }
.store-test-result small { color: var(--muted); font-size: 12px; }
.store-test-result strong { margin-top: 3px; font-size: 19px; }
.store-test-result p { margin: 4px 0 0; color: #555b60; font-size: 12px; line-height: 1.5; }
.store-test-result button { grid-column: 2; justify-self: start; margin-top: 10px; }
.store-test-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.store-test-metric-grid article { min-height: 118px; position: relative; padding: 17px; border-right: 1px solid var(--line); }
.store-test-metric-grid article:last-child { border-right: 0; }
.store-test-metric-grid article::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--test-accent); }
.store-test-metric-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 13px; }
.store-test-metric-grid svg { width: 17px; color: var(--test-accent); }
.store-test-metric-grid strong { display: block; margin-top: 13px; font-size: 23px; }
.store-test-metric-grid small { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; }
.store-test-analysis-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); gap: 14px; align-items: stretch; }
.store-test-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.store-test-checklist article { min-height: 92px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 10px; padding: 14px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.store-test-checklist article:nth-child(2n) { border-right: 0; }
.store-test-checklist article:nth-child(n+3) { border-bottom: 0; }
.store-test-checklist svg { width: 30px; height: 30px; padding: 7px; color: var(--blue); background: var(--blue-soft); border-radius: 6px; }
.store-test-checklist strong { display: block; font-size: 13px; }
.store-test-checklist p { margin: 5px 0 0; color: #555b60; font-size: 12px; line-height: 1.5; }
.store-test-table-head { min-height: 76px; }
.store-test-table-head .toolbar { justify-content: flex-end; }
.store-test-table-head select { min-width: 138px; }
.store-test-table table { min-width: 1480px; }
.store-test-product-cell { min-width: 340px; }
.store-test-product-cell strong { max-width: 390px; }
.store-test-table td.numeric strong, .store-test-table td.numeric small { display: block; }
.store-test-table td.numeric small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.store-test-paid { min-width: 128px; }
.store-test-paid strong, .store-test-paid small { display: block; }
.store-test-paid strong { font-size: 12px; }
.store-test-paid small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.store-test-paid .text-button { display: block; margin-top: 3px; font-size: 12px; }
.store-test-data-note, .test-modal-note { min-height: 44px; display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px; color: #4e6259; background: var(--green-soft); border: 1px solid #cbe3d7; border-radius: 6px; font-size: 12px; line-height: 1.55; }
.store-test-data-note svg, .test-modal-note svg { width: 16px; flex: 0 0 auto; margin-top: 1px; color: var(--green); }
.test-modal-note { margin-bottom: 14px; }

@media (max-width: 1180px) {
  .test-source-strip { grid-template-columns: 1fr; }
  .test-source-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .test-source-strip > div:last-child { border-bottom: 0; }
  .store-test-hero { grid-template-columns: 1fr; }
  .store-test-result { border-top: 1px solid var(--line); border-left: 0; }
  .store-test-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .store-test-metric-grid article:nth-child(3) { border-right: 0; }
  .store-test-metric-grid article:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .store-test-analysis-grid { grid-template-columns: 1fr; }
  .store-test-table-head { align-items: flex-start; flex-direction: column; }
  .store-test-table-head .toolbar { width: 100%; justify-content: flex-start; }
}

@media (max-width: 760px) {
  .test-source-strip > div { grid-template-columns: 36px minmax(0, 1fr); }
  .test-source-strip > div > b, .test-source-strip > div > button { grid-column: 2; justify-self: start; }
  .store-test-selector { padding: 18px; }
  .store-test-selector label { grid-template-columns: 1fr; }
  .store-test-result { grid-template-columns: 42px minmax(0, 1fr); padding: 18px; }
  .store-test-result button { grid-column: 1 / 3; width: 100%; }
  .store-test-metric-grid { grid-template-columns: 1fr; }
  .store-test-metric-grid article, .store-test-metric-grid article:nth-child(3) { border-right: 0; border-bottom: 1px solid var(--line); }
  .store-test-metric-grid article:last-child { border-bottom: 0; }
  .store-test-checklist { grid-template-columns: 1fr; }
  .store-test-checklist article, .store-test-checklist article:nth-child(2n), .store-test-checklist article:nth-child(n+3) { border-right: 0; border-bottom: 1px solid var(--line); }
  .store-test-checklist article:last-child { border-bottom: 0; }
  .store-test-table-head .toolbar { display: grid; grid-template-columns: 1fr; }
  .store-test-table-head .search-box, .store-test-table-head select { width: 100%; min-width: 0; }
}

/* Decision data audit */
.decision-data-audit { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--surface); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.decision-data-audit > div { min-height:74px; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 16px; border-right:1px solid var(--line); }
.decision-data-audit > div:last-child { border-right:0; }
.decision-data-audit svg { width:32px; height:32px; padding:8px; color:var(--blue); background:var(--blue-soft); border-radius:6px; }
.decision-data-audit span,.decision-data-audit strong,.decision-data-audit small { display:block; }
.decision-data-audit strong { font-size:14px; }
.decision-data-audit small { margin-top:4px; color:var(--muted); font-size:12px; }
.dashboard-store-product-table td.numeric strong,.dashboard-store-product-table td.numeric small { display:block; }
.dashboard-store-product-table td.numeric small { margin-top:4px; color:var(--muted); font-size:12px; }

/* Short-video operations and influencer commerce */
.module-source-bar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 18px; background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.module-source-bar > div { min-width:0; display:flex; align-items:center; gap:11px; }
.module-source-bar > div > svg { width:36px; height:36px; flex:0 0 auto; padding:8px; color:var(--orange); background:var(--orange-soft); border-radius:6px; }
.module-source-bar strong,.module-source-bar small { display:block; }
.module-source-bar strong { font-size:15px; }
.module-source-bar small { margin-top:4px; color:var(--muted); font-size:13px; }
.ops-module-tabs { display:flex; align-items:center; gap:4px; padding:4px; overflow-x:auto; background:#e9ebed; border-radius:7px; }
.ops-module-tabs button { min-height:38px; display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:0 0 auto; padding:0 14px; border:0; border-radius:5px; color:var(--muted); background:transparent; white-space:nowrap; }
.ops-module-tabs button.active { color:var(--ink); background:#fff; box-shadow:0 1px 4px rgba(32,33,36,.11); font-weight:600; }
.ops-module-tabs svg { width:16px; height:16px; }
.video-ops-kpis,.influencer-funnel-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--surface); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.video-ops-kpis article,.influencer-funnel-kpis article { min-height:112px; padding:17px; border-right:1px solid var(--line); }
.video-ops-kpis article:last-child,.influencer-funnel-kpis article:last-child { border-right:0; }
.video-ops-kpis small,.video-ops-kpis strong,.video-ops-kpis span,.influencer-funnel-kpis small,.influencer-funnel-kpis strong,.influencer-funnel-kpis span { display:block; }
.video-ops-kpis small,.influencer-funnel-kpis small { color:var(--muted); font-size:13px; }
.video-ops-kpis strong,.influencer-funnel-kpis strong { margin-top:11px; font-size:25px; }
.video-ops-kpis strong em { color:var(--muted); font-size:14px; font-style:normal; }
.video-ops-kpis span,.influencer-funnel-kpis span { margin-top:8px; color:var(--muted); font-size:12px; }
.video-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.video-flow article { min-height:156px; position:relative; padding:18px; border-right:1px solid var(--line); }
.video-flow article:last-child { border-right:0; }
.video-flow article > span { position:absolute; top:14px; right:14px; color:#c5c8ca; font-size:20px; font-weight:700; }
.video-flow small,.video-flow strong { display:block; }
.video-flow small { color:var(--orange); font-size:12px; font-weight:600; }
.video-flow strong { margin-top:20px; font-size:16px; }
.video-flow p { margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.video-flow.compact article { min-height:140px; }
.video-ops-overview,.video-sop-grid,.influencer-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.video-mix-list { padding:10px 18px 18px; }
.video-mix-list > div { min-height:48px; display:grid; grid-template-columns:84px minmax(0,1fr) 44px; align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.video-mix-list > div:last-child { border-bottom:0; }
.video-mix-list span { font-size:13px; }
.video-mix-list > div > div { height:7px; overflow:hidden; background:#eceeef; border-radius:4px; }
.video-mix-list i { display:block; height:100%; border-radius:4px; }
.video-mix-list strong { text-align:right; font-size:13px; }
.video-week-list,.influencer-day-plan { padding:7px 18px 14px; }
.video-week-list > div,.influencer-day-plan > div { min-height:48px; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.video-week-list > div:last-child,.influencer-day-plan > div:last-child { border-bottom:0; }
.video-week-list b,.influencer-day-plan b { color:var(--orange); font-size:13px; }
.video-week-list strong,.video-week-list small,.influencer-day-plan strong,.influencer-day-plan small { display:block; }
.video-week-list strong,.influencer-day-plan strong { font-size:13px; }
.video-week-list small,.influencer-day-plan small { margin-top:3px; color:var(--muted); font-size:12px; }
.video-schedule-table table { min-width:1500px; }
.video-schedule-table td:first-child strong,.video-schedule-table td:first-child small,.video-plan-cell strong,.video-plan-cell small { display:block; }
.video-schedule-table td:first-child small,.video-plan-cell small { margin-top:4px; color:var(--muted); font-size:12px; }
.video-plan-cell { min-width:190px; }
.video-plan-cell strong { max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.video-status-button { border:0; cursor:pointer; }
.video-template-list { display:grid; }
.video-template-list article { min-height:78px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; padding:14px 18px; border-bottom:1px solid var(--line); }
.video-template-list article:last-child { border-bottom:0; }
.video-template-list svg { width:32px; height:32px; padding:7px; color:var(--blue); background:var(--blue-soft); border-radius:6px; }
.video-template-list strong { display:block; font-size:14px; }
.video-template-list p { margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.video-check-list { display:grid; padding:8px 18px 16px; }
.video-check-list label { min-height:48px; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:9px; border-bottom:1px solid var(--line); font-size:13px; line-height:1.45; }
.video-check-list label:last-child { border-bottom:0; }
.video-check-list input { width:16px; min-height:16px; margin:0; accent-color:var(--green); }
.video-topic-head .toolbar { justify-content:flex-end; }
.video-review-table table { min-width:1040px; }
.ops-record-modal { width:min(920px,calc(100vw - 28px)); }
.ops-record-modal form { max-height:calc(100vh - 40px); overflow:auto; }

.influencer-stage-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.influencer-stage-flow article { min-height:118px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:start; gap:8px; padding:16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.influencer-stage-flow article:nth-child(5n) { border-right:0; }
.influencer-stage-flow article:nth-child(n+6) { border-bottom:0; }
.influencer-stage-flow article > span { color:var(--orange); font-size:12px; font-weight:700; }
.influencer-stage-flow strong { display:block; font-size:14px; }
.influencer-stage-flow p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.influencer-stage-flow article > b { min-width:22px; height:22px; display:grid; place-items:center; color:#5d6267; background:#eef0f1; border-radius:11px; font-size:12px; }
.influencer-script-preview { padding:18px; }
.influencer-script-preview p { margin:12px 0 16px; color:#4f555a; font-size:13px; line-height:1.8; }
.influencer-project-table table,.influencer-release-table table { min-width:1180px; }
.influencer-project-table td.numeric strong,.influencer-project-table td.numeric small,.influencer-release-table td.numeric strong,.influencer-release-table td.numeric small { display:block; }
.influencer-project-table td.numeric small,.influencer-release-table td.numeric small { margin-top:4px; color:var(--muted); font-size:12px; }
.influencer-sync-strip { min-height:82px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr) auto; align-items:center; gap:18px; padding:13px 18px; background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.influencer-sync-strip > div:first-child { min-width:0; display:flex; align-items:center; gap:11px; }
.influencer-sync-strip svg { width:36px; height:36px; flex:0 0 auto; padding:8px; color:var(--green); background:var(--green-soft); border-radius:6px; }
.influencer-sync-strip strong,.influencer-sync-strip small { display:block; }
.influencer-sync-strip strong { font-size:14px; }
.influencer-sync-strip small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }
.influencer-pool-table table { min-width:1020px; }
.influencer-name-cell { min-width:210px; }
.influencer-pool-table td > small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.influencer-signal { min-width:150px; }
.influencer-signal strong,.influencer-signal small { display:block; }
.influencer-signal strong { font-size:13px; }
.influencer-signal small { max-width:200px; margin-top:5px; overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.influencer-sync-note { min-height:44px; display:flex; align-items:flex-start; gap:8px; padding:10px 14px; color:#4e6259; background:var(--green-soft); border:1px solid #cbe3d7; border-radius:6px; font-size:12px; line-height:1.55; }
.influencer-sync-note svg { width:16px; flex:0 0 auto; margin-top:1px; color:var(--green); }
.influencer-view-tabs { overflow-x:auto; }
.influencer-view-tabs button { min-width:116px; flex:1 0 auto; }
.influencer-koc-hero { min-height:148px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border-top:3px solid var(--orange); background:#fffaf7; }
.influencer-koc-hero h2,.influencer-enablement-hero h2 { margin:7px 0; font-size:24px; }
.influencer-koc-hero p,.influencer-enablement-hero p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.influencer-stage-flow.koc-eight { grid-template-columns:repeat(4,minmax(0,1fr)); }
.influencer-stage-flow.koc-eight article { min-height:112px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.influencer-stage-flow.koc-eight article:nth-child(4n) { border-right:0; }
.influencer-stage-flow.koc-eight article:nth-child(n+5) { border-bottom:0; }
.influencer-ai-task-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.influencer-ai-task-list article { min-height:126px; display:grid; justify-items:center; align-content:center; gap:9px; padding:14px 10px; border-right:1px solid var(--line); text-align:center; }
.influencer-ai-task-list article:last-child { border-right:0; }
.influencer-ai-task-list svg { width:34px; height:34px; padding:8px; color:var(--blue); background:var(--blue-soft); border-radius:7px; }
.influencer-ai-task-list small,.influencer-ai-task-list strong { display:block; }
.influencer-ai-task-list small { color:var(--muted); font-size:12px; }
.influencer-ai-task-list strong { margin-top:4px; font-size:18px; }
.influencer-formula-mini { padding:8px 18px 14px; }
.influencer-formula-mini article { min-height:63px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.influencer-formula-mini article:last-child { border-bottom:0; }
.influencer-formula-mini svg { width:32px; height:32px; padding:7px; color:var(--orange); background:var(--orange-soft); border-radius:6px; }
.influencer-formula-mini strong,.influencer-formula-mini small { display:block; }
.influencer-formula-mini strong { font-size:14px; }
.influencer-formula-mini small { margin-top:3px; color:var(--muted); font-size:12px; line-height:1.4; }
.influencer-pool-head .toolbar { flex-wrap:nowrap; justify-content:flex-end; }
.influencer-pool-head .search-box { min-width:240px; }
.influencer-pool-table.upgraded table { min-width:1340px; }
.creator-segment { width:max-content; display:block; margin-top:7px; padding:4px 7px; color:#7b5220; background:#fff3de; border-radius:4px; font-size:12px; }
.creator-capability { min-width:220px; display:flex; flex-wrap:wrap; gap:5px; }
.creator-capability span { min-height:26px; display:inline-flex; align-items:center; gap:3px; padding:0 7px; color:#687589; background:#f0f3f7; border-radius:4px; font-size:11px; }
.creator-capability span.verified { color:#087554; background:#e7f7f0; }
.creator-capability svg { width:12px; }
.influencer-row-actions { min-width:128px; display:grid; align-items:start; justify-items:start; gap:4px; }
.influencer-row-actions .text-button { min-height:28px; padding:0; }
.influencer-ai-outreach { border-top:3px solid var(--blue); }
.influencer-outreach-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:18px 20px; border-bottom:1px solid var(--line); }
.influencer-outreach-controls label,.influencer-enable-controls label { color:#536176; font-size:13px; }
.influencer-outreach-controls select,.influencer-enable-controls select { margin-top:6px; }
.influencer-generated-script { min-height:112px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:15px; padding:18px 20px; background:#f8fbff; }
.influencer-generated-script > svg { width:38px; height:38px; padding:9px; color:var(--blue); background:var(--blue-soft); border-radius:7px; }
.influencer-generated-script p { margin:0; color:#344257; font-size:15px; line-height:1.75; }
.influencer-follow-radar { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.influencer-follow-radar article { min-height:145px; position:relative; display:grid; justify-items:center; align-content:center; gap:7px; padding:18px 10px; border-right:1px solid var(--line); text-align:center; }
.influencer-follow-radar article:last-child { border-right:0; }
.influencer-follow-radar article > span { position:absolute; top:10px; left:12px; color:#a0a9b6; font-size:11px; font-weight:700; }
.influencer-follow-radar svg { width:31px; height:31px; padding:7px; color:var(--orange); background:var(--orange-soft); border-radius:50%; }
.influencer-follow-radar strong { font-size:14px; }
.influencer-follow-radar b { min-width:24px; height:22px; display:grid; place-items:center; padding:0 6px; color:#fff; background:var(--orange); border-radius:11px; font-size:11px; }
.influencer-follow-radar small { color:var(--muted); font-size:11px; line-height:1.4; }
.influencer-project-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 6px 18px rgba(35,64,104,.055); }
.influencer-project-kpis article { min-height:106px; padding:16px; border-right:1px solid var(--line); }
.influencer-project-kpis article:last-child { border-right:0; }
.influencer-project-kpis small,.influencer-project-kpis strong,.influencer-project-kpis span { display:block; }
.influencer-project-kpis small { color:var(--muted); font-size:12px; }
.influencer-project-kpis strong { margin-top:7px; font-size:24px; }
.influencer-project-kpis span { margin-top:5px; color:#667388; font-size:11px; line-height:1.4; }
.influencer-project-table.upgraded table { min-width:1240px; }
.influencer-project-table.upgraded td > strong,.influencer-project-table.upgraded td > small { display:block; }
.influencer-project-table.upgraded td > small { margin-top:4px; color:var(--muted); font-size:12px; }
.project-stage-progress { min-width:180px; position:relative; padding-top:12px; }
.project-stage-progress::before,.project-stage-progress > span { content:""; position:absolute; top:0; left:0; height:6px; border-radius:3px; }
.project-stage-progress::before { width:100%; background:#e8edf3; }
.project-stage-progress > span { width:var(--progress); background:var(--green); }
.project-stage-progress strong,.project-stage-progress small { display:inline-block; }
.project-stage-progress small { margin-left:7px; color:var(--muted); }
.secondary-button.compact { min-height:36px; padding:0 11px; font-size:12px; }
.influencer-enablement-hero { min-height:190px; display:grid; grid-template-columns:minmax(0,1fr) 160px; align-items:center; gap:24px; padding:24px; border-top:3px solid var(--purple); background:#fbf9ff; }
.influencer-enable-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:10px; margin-top:18px; }
.enablement-score { min-height:136px; display:grid; place-items:center; align-content:center; padding:14px; background:#fff; border:1px solid #ded8eb; border-radius:8px; text-align:center; }
.enablement-score strong,.enablement-score span,.enablement-score small { display:block; }
.enablement-score strong { color:var(--purple); font-size:38px; }
.enablement-score span { margin-top:4px; color:#525c6d; font-size:13px; }
.enablement-score small { margin-top:6px; color:var(--muted); font-size:10px; line-height:1.4; }
.influencer-formula-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.influencer-formula-grid article { min-height:168px; position:relative; padding:20px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--formula-accent,var(--orange)); border-radius:8px; box-shadow:0 6px 18px rgba(35,64,104,.05); }
.influencer-formula-grid article:nth-child(2) { --formula-accent:var(--blue); }
.influencer-formula-grid article:nth-child(3) { --formula-accent:var(--yellow); }
.influencer-formula-grid article:nth-child(4) { --formula-accent:var(--green); }
.influencer-formula-grid article > span { width:38px; height:38px; display:grid; place-items:center; color:var(--formula-accent); background:#f0f4f8; border-radius:7px; }
.influencer-formula-grid svg { width:18px; }
.influencer-formula-grid article > small { position:absolute; top:20px; right:18px; color:#a1a9b5; font-size:12px; font-weight:700; }
.influencer-formula-grid strong { display:block; margin-top:13px; font-size:16px; }
.influencer-formula-grid p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.enablement-output-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.enablement-output-grid article { min-height:210px; padding:20px; border-right:1px solid var(--line); }
.enablement-output-grid article:last-child { border-right:0; }
.enablement-output-grid strong { display:block; margin-top:14px; font-size:17px; line-height:1.6; }
.enablement-output-grid p,.enablement-output-grid li { color:#536176; font-size:13px; line-height:1.65; }
.enablement-output-grid ol,.enablement-output-grid ul { margin:14px 0 0; padding-left:20px; }

@media (max-width:1180px) {
  .decision-data-audit,.video-ops-kpis,.influencer-funnel-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .decision-data-audit > div:nth-child(2),.video-ops-kpis article:nth-child(2),.influencer-funnel-kpis article:nth-child(2) { border-right:0; }
  .decision-data-audit > div:nth-child(-n+2),.video-ops-kpis article:nth-child(-n+2),.influencer-funnel-kpis article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .video-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .video-flow article:nth-child(3) { border-right:0; }
  .video-flow article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .influencer-stage-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .influencer-stage-flow article,.influencer-stage-flow article:nth-child(5n),.influencer-stage-flow article:nth-child(n+6) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .influencer-stage-flow article:nth-child(2n) { border-right:0; }
  .influencer-stage-flow article:nth-child(n+9) { border-bottom:0; }
  .influencer-sync-strip { grid-template-columns:1fr auto; }
  .influencer-sync-strip > div:nth-child(2) { grid-column:1; }
  .influencer-sync-strip > button { grid-row:1/3; grid-column:2; }
  .influencer-stage-flow.koc-eight { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .influencer-stage-flow.koc-eight article,.influencer-stage-flow.koc-eight article:nth-child(4n),.influencer-stage-flow.koc-eight article:nth-child(n+5) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .influencer-stage-flow.koc-eight article:nth-child(2n) { border-right:0; }
  .influencer-stage-flow.koc-eight article:nth-child(n+7) { border-bottom:0; }
  .influencer-ai-task-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .influencer-ai-task-list article:nth-child(3) { border-right:0; }
  .influencer-ai-task-list article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .influencer-follow-radar,.influencer-project-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .influencer-follow-radar article:nth-child(3n),.influencer-project-kpis article:nth-child(3n) { border-right:0; }
  .influencer-follow-radar article:nth-child(-n+3),.influencer-project-kpis article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .influencer-formula-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .influencer-pool-head { align-items:flex-start; flex-direction:column; }
  .influencer-pool-head .toolbar { width:100%; justify-content:flex-start; }
}

@media (max-width:760px) {
  .module-source-bar { align-items:flex-start; flex-direction:column; }
  .ops-module-tabs { width:100%; }
  .decision-data-audit,.video-ops-kpis,.influencer-funnel-kpis,.video-ops-overview,.video-sop-grid,.influencer-overview-grid,.video-flow,.influencer-stage-flow { grid-template-columns:1fr; }
  .decision-data-audit > div,.decision-data-audit > div:nth-child(2),.video-ops-kpis article,.video-ops-kpis article:nth-child(2),.influencer-funnel-kpis article,.influencer-funnel-kpis article:nth-child(2),.video-flow article,.video-flow article:nth-child(3),.video-flow article:nth-child(-n+3),.influencer-stage-flow article,.influencer-stage-flow article:nth-child(2n),.influencer-stage-flow article:nth-child(5n),.influencer-stage-flow article:nth-child(n+6),.influencer-stage-flow article:nth-child(n+9) { border-right:0; border-bottom:1px solid var(--line); }
  .decision-data-audit > div:last-child,.video-ops-kpis article:last-child,.influencer-funnel-kpis article:last-child,.video-flow article:last-child,.influencer-stage-flow article:last-child { border-bottom:0; }
  .video-topic-head { align-items:flex-start; flex-direction:column; }
  .video-topic-head .toolbar { width:100%; display:grid; grid-template-columns:1fr; }
  .influencer-sync-strip { grid-template-columns:1fr; }
  .influencer-sync-strip > div:nth-child(2),.influencer-sync-strip > button { grid-row:auto; grid-column:1; }
  .influencer-sync-strip > button { width:100%; }
  .influencer-pool-head { align-items:flex-start; flex-direction:column; }
  .influencer-koc-hero { align-items:flex-start; flex-direction:column; }
  .influencer-koc-hero > button { width:100%; }
  .influencer-stage-flow.koc-eight,.influencer-ai-task-list,.influencer-follow-radar,.influencer-project-kpis,.influencer-formula-grid,.enablement-output-grid { grid-template-columns:1fr; }
  .influencer-stage-flow.koc-eight article,.influencer-stage-flow.koc-eight article:nth-child(2n),.influencer-stage-flow.koc-eight article:nth-child(4n),.influencer-stage-flow.koc-eight article:nth-child(n+5),.influencer-stage-flow.koc-eight article:nth-child(n+7),.influencer-ai-task-list article,.influencer-ai-task-list article:nth-child(3),.influencer-ai-task-list article:nth-child(-n+3),.influencer-follow-radar article,.influencer-follow-radar article:nth-child(3n),.influencer-follow-radar article:nth-child(-n+3),.influencer-project-kpis article,.influencer-project-kpis article:nth-child(3n),.influencer-project-kpis article:nth-child(-n+3),.enablement-output-grid article { border-right:0; border-bottom:1px solid var(--line); }
  .influencer-stage-flow.koc-eight article:last-child,.influencer-ai-task-list article:last-child,.influencer-follow-radar article:last-child,.influencer-project-kpis article:last-child,.enablement-output-grid article:last-child { border-bottom:0; }
  .influencer-pool-head .toolbar,.influencer-outreach-controls,.influencer-enable-controls { width:100%; display:grid; grid-template-columns:1fr; }
  .influencer-pool-head .search-box,.influencer-pool-head select { width:100%; min-width:0; }
  .influencer-generated-script { grid-template-columns:36px minmax(0,1fr); }
  .influencer-generated-script button { grid-column:1/3; width:100%; }
  .influencer-enablement-hero { grid-template-columns:1fr; }
  .enablement-score { min-height:112px; }
}

/* Vivid workspace refresh */
:root {
  --bg:#edf3fb;
  --surface:#ffffff;
  --surface-2:#f4f8fd;
  --ink:#162033;
  --muted:#5b687a;
  --line:#d9e2ee;
  --line-strong:#c5d1df;
  --orange:#ff4f1f;
  --orange-soft:#fff0e8;
  --green:#078a61;
  --green-soft:#e7f8f1;
  --red:#dd3f4a;
  --red-soft:#fff0f2;
  --blue:#196fdb;
  --blue-soft:#eaf3ff;
  --yellow:#a96900;
  --yellow-soft:#fff5d8;
  --shadow:0 10px 30px rgba(35,64,104,.09);
}
body { background:var(--bg); color:var(--ink); font-size:15px; }
.app-shell { grid-template-columns:246px minmax(0,1fr); }
.main-area { background:var(--bg); }
.sidebar { padding:23px 15px 18px; background:#151a23; border-right:1px solid #273142; box-shadow:8px 0 26px rgba(20,28,42,.12); }
.brand { gap:12px; padding:0 9px 25px; }
.brand-mark { width:40px; height:40px; border-radius:8px; background:var(--orange); box-shadow:0 8px 18px rgba(255,79,31,.27); font-size:20px; }
.brand strong { font-size:17px; }
.brand span { margin-top:3px; color:#98a3b3; font-size:14px; }
.main-nav { gap:5px; padding-right:3px; }
.nav-item { min-height:46px; border-radius:7px; padding:0 12px; gap:11px; color:#b8c0cc; font-size:15px; font-weight:500; }
.nav-item:hover { color:#fff; background:#242c39; }
.nav-item.active { color:#fff; background:var(--orange); box-shadow:0 8px 18px rgba(255,79,31,.22); }
.nav-item.active svg { color:#fff; }
.nav-item b { min-width:22px; height:22px; color:#e9edf3; background:#3a4351; font-size:13px; }
.nav-item.active b { color:#fff; background:rgba(255,255,255,.22); }
.nav-badge { background:#dff8ed !important; color:#067953 !important; font-size:13px !important; }
.data-state strong { color:#d5dbe4; font-size:15px; }
.data-state small { color:#8d98a7; font-size:13px; }
.topbar { height:94px; padding:0 34px; background:rgba(248,251,255,.97); border-bottom-color:#d7e1ed; box-shadow:0 4px 16px rgba(40,64,96,.06); }
.topbar h1 { font-size:24px; }
.topbar p { margin-top:6px; color:#617084; font-size:16px; }
.today { font-size:16px; }
.header-actions { gap:11px; }
.primary-button,.secondary-button,.icon-button,.danger-text { min-height:44px; border-radius:7px; padding:0 17px; font-size:15px; }
.primary-button { box-shadow:0 7px 16px rgba(255,79,31,.18); }
.secondary-button,.icon-button { background:#fff; border-color:#cbd6e3; }
.page { max-width:1680px; padding:29px 34px 56px; }
.stack { gap:20px; }
.panel,.overview-bar,.creative-workspace-bar,.module-source-bar,.influencer-sync-strip,.market-source-strip,.test-source-strip,.pool-source-strip,.dashboard-platform-toolbar { border-color:var(--line); border-radius:8px; box-shadow:0 6px 20px rgba(35,64,104,.055); }
.panel-head { min-height:72px; padding:10px 20px; background:#fbfdff; border-bottom-color:var(--line); }
.panel-head h2 { font-size:18px; }
.panel-head p { margin-top:4px; color:var(--muted); font-size:14px; }
.panel-body { padding:19px 20px; }
.market-hero { background:#fff7f1; }
.decision-ai-hero { border-top:3px solid var(--orange); background:#fffdfa; }
.market-category-panel { border-top:3px solid var(--green); }
.store-test-hero { border-top:3px solid var(--blue); }
#videoopsPage .module-source-bar { border-left:4px solid var(--orange); background:#fffaf7; }
#influencerPage .module-source-bar { border-left:4px solid #7b61c9; background:#fbf9ff; }
.ops-module-tabs,.segmented,.workspace-tabs,.pool-source-tabs,.market-category-tabs { background:#e5ebf4; }
.ops-module-tabs button,.workspace-tabs button,.segmented button { font-size:14px; }
.ops-module-tabs button.active,.workspace-tabs button.active,.segmented button.active { color:#e84513; box-shadow:0 3px 10px rgba(39,63,96,.11); }
.kpi,.decision-kpi,.video-ops-kpis,.influencer-funnel-kpis,.store-test-metric-grid { border-color:var(--line); box-shadow:0 6px 18px rgba(35,64,104,.055); }
.kpi { min-height:138px; padding:20px; }
.kpi-top { font-size:15px; }
.kpi strong { font-size:29px; }
.kpi small { font-size:14px; }
input,select,textarea { min-height:44px; border-color:var(--line-strong); border-radius:6px; padding:9px 12px; font-size:15px; }
.form-grid label,.score-inputs label { color:#4f5d70; font-size:14px; }
table { font-size:15px; }
th { height:54px; padding:0 15px; color:#43536a; background:#edf4fc; border-bottom-color:#d4dfec; font-size:15px; font-weight:600; }
td { height:68px; padding:10px 15px; border-bottom-color:#e3e9f1; }
tbody tr:nth-child(even) { background:#fbfdff; }
tbody tr:hover { background:#fff6f0; }
.product-thumb { width:38px; height:38px; border-radius:7px; font-size:15px; }
.product-cell strong { font-size:16px; }
.product-cell small,.video-plan-cell small,.influencer-signal small,.influencer-pool-table td > small { color:#647287; font-size:13px; }
.status { min-height:30px; padding:0 10px; border-radius:5px; font-size:14px; font-weight:500; }
.text-button { font-size:15px; font-weight:600; }
.eyebrow { font-size:13px; }
.empty-state strong { font-size:17px; }
.empty-state span { font-size:14px; }
.module-source-bar { min-height:78px; padding:14px 20px; }
.module-source-bar strong { font-size:16px; }
.module-source-bar small,.influencer-sync-strip small { font-size:13px; }
.influencer-sync-strip { min-height:88px; padding:14px 20px; }
.influencer-sync-strip strong { font-size:15px; }
.influencer-signal strong { font-size:14px; }
.video-flow strong,.influencer-stage-flow strong { font-size:15px; }
.video-flow p,.influencer-stage-flow p,.video-template-list p,.influencer-script-preview p { font-size:14px; }
.video-week-list strong,.influencer-day-plan strong,.video-mix-list span { font-size:14px; }
.video-week-list small,.influencer-day-plan small { font-size:13px; }
.toast { min-width:270px; padding:14px 16px; background:#1d2735; font-size:15px; }
.market-source-strip > div,.test-source-strip > div { min-height:104px; grid-template-columns:38px minmax(0,1fr); align-content:center; }
.market-source-strip > div > em,.market-source-strip > div > button,.test-source-strip > div > b,.test-source-strip > div > button { grid-column:2; justify-self:start; }
.market-source-strip strong,.test-source-strip strong { font-size:15px; word-break:keep-all; }
.market-source-strip small,.test-source-strip small { font-size:13px; }

@media (max-width:1100px) and (min-width:761px) {
  .app-shell { grid-template-columns:226px minmax(0,1fr); }
  .page { padding-right:24px; padding-left:24px; }
  .topbar { padding:0 24px; }
}

@media (max-width:760px) {
  body { font-size:15px; }
  .app-shell { display:block; padding-bottom:82px; }
  .sidebar { top:auto; bottom:0; width:100%; height:82px; padding:7px; border-right:0; border-top:1px solid #2d3746; box-shadow:0 -8px 22px rgba(20,28,42,.18); }
  .main-nav { grid-template-columns:repeat(6,1fr); padding-right:0; }
  .nav-item { min-height:66px; padding:4px 3px; font-size:13px; }
  .topbar { height:78px; padding:0 15px; }
  .topbar h1 { font-size:21px; }
  .header-actions { gap:7px; }
  .primary-button,.secondary-button,.icon-button { min-height:42px; padding:0 12px; font-size:14px; }
  .icon-button { width:42px; padding:0; }
  .page { padding:19px 14px 34px; }
  .panel-head { min-height:68px; padding:10px 16px; }
  .panel-head h2 { font-size:17px; }
  th { font-size:14px; }
  td { font-size:14px; }
}

/* AI short-video factory */
.video-ai-console { min-height:220px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); align-items:center; gap:28px; padding:24px; border-top:3px solid var(--orange); background:#fffaf7; }
.video-ai-console-copy h2 { margin:7px 0; font-size:24px; }
.video-ai-console-copy > p { max-width:720px; margin:0; color:var(--muted); font-size:15px; line-height:1.7; }
.video-ai-source-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.video-ai-source-tags span { min-height:34px; display:inline-flex; align-items:center; gap:6px; padding:0 10px; color:#41516a; background:#fff; border:1px solid #d8e1ed; border-radius:6px; font-size:13px; }
.video-ai-source-tags svg { width:15px; color:var(--blue); }
.video-ai-controls { display:grid; gap:12px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 22px rgba(35,64,104,.08); }
.video-ai-controls label { color:#536176; font-size:14px; }
.video-ai-controls label select { margin-top:7px; }
.video-ai-params { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.video-ai-params span { min-height:58px; display:grid; align-content:center; padding:8px 11px; border-right:1px solid var(--line); }
.video-ai-params span:last-child { border-right:0; }
.video-ai-params small,.video-ai-params strong { display:block; }
.video-ai-params small { color:var(--muted); font-size:12px; }
.video-ai-params strong { margin-top:4px; font-size:14px; }
.video-ai-controls > button { width:100%; }
.video-ai-pipeline { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.video-ai-pipeline article { min-height:122px; position:relative; display:grid; justify-items:center; align-content:center; gap:7px; padding:16px 10px; border-right:1px solid var(--line); }
.video-ai-pipeline article:last-child { border-right:0; }
.video-ai-pipeline article > span { position:absolute; top:10px; left:12px; color:#a1aab6; font-size:12px; font-weight:700; }
.video-ai-pipeline article > i { width:32px; height:32px; padding:7px; color:#7b8798; background:#eff3f8; border-radius:50%; }
.video-ai-pipeline article.done > i { color:var(--green); background:var(--green-soft); }
.video-ai-pipeline article.warn > i { color:var(--yellow); background:var(--yellow-soft); }
.video-ai-pipeline strong { font-size:14px; }
.video-ai-pipeline small { color:var(--muted); font-size:12px; text-align:center; }
.video-ai-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 6px 20px rgba(35,64,104,.055); overflow:hidden; }
.video-ai-kpis article { min-height:112px; padding:17px; border-right:1px solid var(--line); }
.video-ai-kpis article:last-child { border-right:0; }
.video-ai-kpis small,.video-ai-kpis strong,.video-ai-kpis span { display:block; }
.video-ai-kpis small { color:var(--muted); font-size:13px; }
.video-ai-kpis strong { margin-top:9px; font-size:25px; }
.video-ai-kpis span { margin-top:7px; color:#647287; font-size:12px; }
.video-ai-output-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.video-ai-output-grid article { min-height:250px; display:grid; grid-template-columns:170px minmax(0,1fr); gap:16px; padding:18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.video-ai-output-grid article:nth-child(2n) { border-right:0; }
.video-ai-output-grid article:nth-child(n+3) { border-bottom:0; }
.video-ai-preview { position:relative; min-height:210px; overflow:hidden; color:#fff; background:#2368b5; border-radius:7px; text-align:center; }
.video-ai-preview.tone-1 { background:#8a5a2b; }
.video-ai-preview.tone-2 { background:#287a61; }
.video-ai-preview.tone-3 { background:#7556a8; }
.video-ai-preview video { width:100%; height:100%; min-height:210px; position:absolute; inset:0; display:none; object-fit:cover; background:#101722; }
.video-ai-preview.is-ready video { display:block; }
.video-ai-preview-trigger { width:100%; min-height:210px; display:grid; place-items:center; align-content:center; gap:10px; padding:16px; color:#fff; background:transparent; border:0; border-radius:7px; text-align:center; cursor:pointer; }
.video-ai-preview-trigger[hidden] { display:none; }
.video-ai-preview-trigger:hover { background:rgba(0,0,0,.1); }
.video-ai-preview-trigger:focus-visible { outline:3px solid rgba(255,255,255,.85); outline-offset:-5px; }
.video-ai-preview-trigger > span { align-self:start; padding:4px 7px; background:rgba(255,255,255,.16); border-radius:4px; font-size:11px; }
.video-ai-preview-trigger > i { width:38px; height:38px; padding:9px; color:#fff; background:rgba(255,255,255,.18); border-radius:50%; }
.video-ai-preview-trigger strong { font-size:15px; line-height:1.45; }
.video-ai-preview-trigger small { color:rgba(255,255,255,.82); font-size:12px; }
.video-ai-preview-trigger em { color:rgba(255,255,255,.88); font-size:11px; font-style:normal; }
.video-ai-preview-trigger.is-rendering > i { animation:spin 1s linear infinite; }
.video-ai-output-grid article > div:last-child > strong,.video-ai-output-grid article > div:last-child > small { display:block; }
.video-ai-output-grid article > div:last-child > strong { margin-top:12px; font-size:16px; line-height:1.5; }
.video-ai-output-grid article > div:last-child > small { margin-top:6px; color:var(--muted); font-size:13px; }
.video-ai-output-grid article p { margin:13px 0 0; color:#526076; font-size:13px; line-height:1.65; }
.video-ai-render-note { min-height:48px; display:flex; align-items:flex-start; gap:8px; padding:12px 18px; color:#4b6258; background:var(--green-soft); border-top:1px solid #cce6da; font-size:13px; line-height:1.6; }
.video-ai-render-note svg { width:16px; flex:0 0 auto; margin-top:2px; color:var(--green); }

@media (max-width:1180px) {
  .video-ai-console { grid-template-columns:1fr; }
  .video-ai-pipeline { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .video-ai-pipeline article:nth-child(3) { border-right:0; }
  .video-ai-pipeline article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .video-ai-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .video-ai-kpis article:nth-child(3) { border-right:0; }
  .video-ai-kpis article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .video-ai-output-grid { grid-template-columns:1fr; }
  .video-ai-output-grid article,.video-ai-output-grid article:nth-child(2n),.video-ai-output-grid article:nth-child(n+3) { border-right:0; border-bottom:1px solid var(--line); }
  .video-ai-output-grid article:last-child { border-bottom:0; }
}

@media (max-width:760px) {
  .video-ai-console { padding:18px; }
  .video-ai-console-copy h2 { font-size:21px; }
  .video-ai-pipeline,.video-ai-kpis { grid-template-columns:1fr; }
  .video-ai-pipeline article,.video-ai-pipeline article:nth-child(3),.video-ai-pipeline article:nth-child(-n+3),.video-ai-kpis article,.video-ai-kpis article:nth-child(3),.video-ai-kpis article:nth-child(-n+3) { border-right:0; border-bottom:1px solid var(--line); }
  .video-ai-pipeline article:last-child,.video-ai-kpis article:last-child { border-bottom:0; }
  .video-ai-output-grid article { grid-template-columns:1fr; }
  .video-ai-preview,.video-ai-preview video,.video-ai-preview-trigger { min-height:250px; }
}

/* Category-wide material factory */
.asset-factory-hero { min-height:180px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr); align-items:center; gap:28px; padding:24px; border-top:3px solid var(--blue); background:#f8fbff; }
.asset-factory-hero h2 { margin:7px 0; font-size:24px; }
.asset-factory-hero > div:first-child > p { max-width:720px; margin:0; color:var(--muted); font-size:15px; line-height:1.7; }
.asset-factory-source { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.asset-factory-source span { min-height:34px; display:inline-flex; align-items:center; gap:6px; padding:0 10px; color:#41516a; background:#fff; border:1px solid var(--line); border-radius:6px; font-size:13px; }
.asset-factory-source svg { width:15px; color:var(--blue); }
.asset-factory-controls { display:grid; grid-template-columns:1fr 130px; gap:10px; padding:17px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 8px 22px rgba(35,64,104,.08); }
.asset-factory-controls label { color:#536176; font-size:13px; }
.asset-factory-controls label select { margin-top:6px; }
.asset-factory-controls button { grid-column:1/3; width:100%; }
.asset-category-tabs { display:flex; gap:5px; padding:5px; overflow-x:auto; background:#e4ebf5; border-radius:8px; }
.asset-category-tabs button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:1 0 auto; padding:0 13px; border:0; border-radius:6px; color:#55647a; background:transparent; font-size:14px; white-space:nowrap; }
.asset-category-tabs button.active { color:#fff; background:var(--blue); box-shadow:0 7px 16px rgba(25,111,219,.2); font-weight:600; }
.asset-category-tabs b { min-width:24px; height:22px; display:grid; place-items:center; padding:0 6px; color:#506078; background:rgba(255,255,255,.7); border-radius:11px; font-size:12px; }
.asset-category-tabs button.active b { color:var(--blue); background:#fff; }
.asset-factory-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 6px 20px rgba(35,64,104,.055); overflow:hidden; }
.asset-factory-kpis article { min-height:112px; padding:17px; border-right:1px solid var(--line); }
.asset-factory-kpis article:last-child { border-right:0; }
.asset-factory-kpis small,.asset-factory-kpis strong,.asset-factory-kpis span { display:block; }
.asset-factory-kpis small { color:var(--muted); font-size:13px; }
.asset-factory-kpis strong { margin-top:9px; font-size:26px; }
.asset-factory-kpis span { margin-top:7px; color:#647287; font-size:12px; }
.asset-type-matrix { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.asset-type-matrix article { min-height:126px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; padding:16px; border-right:1px solid var(--line); border-top:3px solid var(--asset-accent); }
.asset-type-matrix article:last-child { border-right:0; }
.asset-type-matrix article > span { width:34px; height:34px; display:grid; place-items:center; color:var(--asset-accent); background:#f0f4f8; border-radius:6px; }
.asset-type-matrix svg { width:16px; }
.asset-type-matrix small,.asset-type-matrix strong { display:block; }
.asset-type-matrix small { color:var(--muted); font-size:12px; }
.asset-type-matrix strong { margin-top:4px; font-size:23px; }
.asset-type-matrix p { margin:5px 0 0; color:#687588; font-size:11px; line-height:1.45; }
.asset-library-head .toolbar { justify-content:flex-end; }
.asset-library-head .search-box { min-width:210px; }
.asset-table-summary { min-height:46px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; color:#56657a; background:#f8fbff; border-bottom:1px solid var(--line); font-size:13px; }
.asset-table-summary strong { color:var(--ink); }
.asset-table-summary small { color:var(--muted); }
.category-asset-table table { min-width:1180px; }
.category-asset-name { min-width:330px; display:flex; align-items:center; gap:11px; }
.category-asset-name > span { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; color:#fff; background:var(--asset-color); border-radius:7px; }
.category-asset-name svg { width:17px; }
.category-asset-name strong,.category-asset-name small,.category-asset-table td > strong,.category-asset-table td > small { display:block; }
.category-asset-name strong { max-width:390px; overflow:hidden; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.category-asset-name small,.category-asset-table td > small { margin-top:4px; color:var(--muted); font-size:12px; }
.muted-cell { color:var(--muted); font-size:13px; }
.asset-factory-note { min-height:48px; display:flex; align-items:flex-start; gap:8px; padding:12px 16px; color:#4c6259; background:var(--green-soft); border:1px solid #cce4d9; border-radius:7px; font-size:13px; line-height:1.6; }
.asset-factory-note svg { width:16px; flex:0 0 auto; margin-top:2px; color:var(--green); }
.category-output-section { border-top:3px solid var(--green); }
.category-output-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.category-output-grid > article { min-height:390px; display:grid; grid-template-columns:210px minmax(0,1fr); gap:20px; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.category-output-grid > article:nth-child(2n) { border-right:0; }
.category-video-shell { position:relative; min-height:350px; overflow:hidden; background:#101722; border-radius:7px; }
.category-video-shell video { width:100%; height:100%; position:absolute; inset:0; display:block; object-fit:cover; background:#101722; }
.category-output-missing { position:absolute; inset:0; display:grid; place-items:center; padding:24px; color:#fff; background:#101722; text-align:center; font-size:14px; line-height:1.6; }
.category-output-missing[hidden] { display:none; }
.category-output-body { min-width:0; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; }
.category-output-body > strong { margin-top:14px; font-size:19px; line-height:1.45; }
.category-output-body > small { margin-top:7px; color:var(--muted); font-size:13px; }
.category-output-body > p { margin:16px 0 18px; color:#526176; font-size:14px; line-height:1.65; }
.category-output-body > a { min-width:132px; justify-content:center; }

@media (max-width:1180px) {
  .asset-factory-hero { grid-template-columns:1fr; }
  .asset-factory-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .asset-factory-kpis article:nth-child(3) { border-right:0; }
  .asset-factory-kpis article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .asset-type-matrix { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .asset-type-matrix article:nth-child(3n) { border-right:0; }
  .asset-type-matrix article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .asset-library-head { align-items:flex-start; flex-direction:column; }
  .asset-library-head .toolbar { width:100%; justify-content:flex-start; }
  .category-output-grid { grid-template-columns:1fr; }
  .category-output-grid > article,.category-output-grid > article:nth-child(2n) { border-right:0; }
}

@media (max-width:760px) {
  .asset-factory-hero { padding:18px; }
  .asset-factory-hero h2 { font-size:21px; }
  .asset-factory-controls { grid-template-columns:1fr; }
  .asset-factory-controls button { grid-column:1; }
  .asset-factory-kpis,.asset-type-matrix { grid-template-columns:1fr; }
  .asset-factory-kpis article,.asset-factory-kpis article:nth-child(3),.asset-factory-kpis article:nth-child(-n+3),.asset-type-matrix article,.asset-type-matrix article:nth-child(3n),.asset-type-matrix article:nth-child(-n+3) { border-right:0; border-bottom:1px solid var(--line); }
  .asset-factory-kpis article:last-child,.asset-type-matrix article:last-child { border-bottom:0; }
  .asset-library-head .toolbar { display:grid; grid-template-columns:1fr; }
  .asset-library-head .search-box,.asset-library-head select { width:100%; min-width:0; }
  .category-output-grid > article { grid-template-columns:1fr; }
  .category-video-shell { min-height:520px; }
}

/* System-wide data reliability audit */
.module-data-audit-banner { --audit:#2878c7; min-height:86px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.8fr) auto; align-items:center; gap:18px; margin-bottom:16px; padding:14px 18px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--audit); border-radius:7px; box-shadow:0 5px 16px rgba(30,51,82,.05); }
.module-data-audit-banner.yellow { --audit:#b47a00; }
.module-data-audit-banner.red { --audit:#d64545; }
.module-data-audit-banner.purple { --audit:#7a64b3; }
.module-data-audit-banner.green { --audit:#18855b; }
.module-data-audit-status { min-width:0; display:flex; align-items:center; gap:12px; }
.module-data-audit-status > span { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; color:var(--audit); background:#f2f5f8; border-radius:7px; }
.module-data-audit-status svg { width:18px; }
.module-data-audit-status small,.module-data-audit-status strong,.module-data-audit-status p,.module-data-audit-boundary small,.module-data-audit-boundary strong { display:block; }
.module-data-audit-status small,.module-data-audit-boundary small { color:var(--muted); font-size:12px; }
.module-data-audit-status strong { margin-top:3px; font-size:15px; line-height:1.4; }
.module-data-audit-status p { margin:4px 0 0; overflow:hidden; color:#657286; font-size:12px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.module-data-audit-boundary { min-width:0; padding-left:18px; border-left:1px solid var(--line); }
.module-data-audit-boundary strong { margin-top:5px; color:#37465b; font-size:13px; line-height:1.5; }
.module-data-audit-banner > button { white-space:nowrap; }
.system-data-audit-panel { overflow:hidden; border-top:3px solid #d64545; }
.system-data-audit-head { align-items:center; }
.system-data-audit-head .eyebrow { color:#d64545; }
.system-data-audit-head h2 { margin-top:4px; }
.system-data-audit-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.system-data-audit-summary article { --summary:#2878c7; min-height:105px; padding:16px 18px; border-right:1px solid var(--line); border-top:3px solid var(--summary); }
.system-data-audit-summary article:last-child { border-right:0; }
.system-data-audit-summary article.red { --summary:#d64545; }
.system-data-audit-summary article.yellow { --summary:#b47a00; }
.system-data-audit-summary article.purple { --summary:#7a64b3; }
.system-data-audit-summary small,.system-data-audit-summary strong,.system-data-audit-summary span { display:block; }
.system-data-audit-summary small { color:var(--muted); font-size:12px; }
.system-data-audit-summary strong { margin-top:6px; color:var(--summary); font-size:25px; }
.system-data-audit-summary span { margin-top:5px; color:#657286; font-size:12px; line-height:1.4; }
.system-data-audit-table-wrap { max-height:560px; overflow:auto; }
.system-data-audit-table { width:100%; min-width:1180px; border-collapse:collapse; table-layout:fixed; }
.system-data-audit-table th { position:sticky; top:0; z-index:1; padding:12px 15px; color:#687588; background:#f5f7fa; border-bottom:1px solid var(--line); font-size:12px; text-align:left; }
.system-data-audit-table th:nth-child(1) { width:170px; }
.system-data-audit-table th:nth-child(2) { width:260px; }
.system-data-audit-table th:nth-child(3),.system-data-audit-table th:nth-child(4) { width:220px; }
.system-data-audit-table td { padding:13px 15px; color:#46556a; border-bottom:1px solid var(--line); font-size:12px; line-height:1.55; vertical-align:top; }
.system-data-audit-table tr:last-child td { border-bottom:0; }
.system-data-audit-table td:first-child strong,.system-data-audit-table td:nth-child(2) strong,.system-data-audit-table td:nth-child(2) small { display:block; }
.system-data-audit-table td:first-child > .status { margin-top:7px; }
.system-data-audit-table td:nth-child(2) strong { color:var(--ink); font-size:13px; }
.system-data-audit-table td:nth-child(2) small { margin-top:4px; color:var(--muted); }
.system-data-audit-warning { min-height:58px; display:flex; align-items:flex-start; gap:10px; padding:13px 18px; color:#704d00; background:#fff8e5; border-top:1px solid #f0d48a; font-size:13px; line-height:1.6; }
.system-data-audit-warning svg { width:18px; flex:0 0 auto; margin-top:2px; color:#b47a00; }

@media (max-width:1180px) {
  .module-data-audit-banner { grid-template-columns:minmax(0,1fr) auto; }
  .module-data-audit-boundary { grid-column:1/3; padding:11px 0 0; border-top:1px solid var(--line); border-left:0; }
  .system-data-audit-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .system-data-audit-summary article:nth-child(3) { border-right:0; }
  .system-data-audit-summary article:nth-child(-n+3) { border-bottom:1px solid var(--line); }
}

@media (max-width:760px) {
  .module-data-audit-banner { grid-template-columns:1fr; gap:12px; padding:14px; }
  .module-data-audit-boundary { grid-column:1; }
  .module-data-audit-status { align-items:flex-start; }
  .module-data-audit-status p { white-space:normal; }
  .module-data-audit-banner > button { width:100%; justify-content:flex-start; }
  .system-data-audit-head { align-items:flex-start; flex-direction:column; }
  .system-data-audit-head > button { width:100%; }
  .system-data-audit-summary { grid-template-columns:1fr; }
  .system-data-audit-summary article,.system-data-audit-summary article:nth-child(3),.system-data-audit-summary article:nth-child(-n+3) { border-right:0; border-bottom:1px solid var(--line); }
  .system-data-audit-summary article:last-child { border-bottom:0; }
  .system-data-audit-table-wrap { max-height:500px; }
}
