/* Canonical dashboard UI contract: loaded last by the production template. */
:root {
  --ui-font: Arial, "KaiTi", "STKaiti", "Kaiti SC", "楷体", sans-serif;
  --ui-green: #168a47;
  --ui-red: #b42318;
  --ui-blue: #2f75b5;
  --ui-border: #d8e0e7;
  --ui-radius: 10px;
  --ui-shadow: 0 1px 3px rgba(16, 24, 40, .08);
}

body,
button,
input,
select,
option,
textarea,
.app-shell,
.dashboard-main,
.section-nav {
  font-family: var(--ui-font) !important;
}

.js-plotly-plot text,
.plot-container text,
.rotation-plot text,
.fm-plot text,
.plot-frame text {
  font-family: var(--ui-font) !important;
  font-size: 11px !important;
}

.page-heading h1,
.dashboard-main h1 { font-size: 20px !important; }
.section-heading h2,
.dashboard-main h2,
.fm-section-head h2 { font-size: 17.6px !important; }
.panel-header h3,
.dashboard-main h3,
.dashboard-main h4 { font-size: 14px !important; }

body.is-authenticated .dashboard-main :where(
  div, section, article, header, footer, p, small, em, label, dt, dd, li, time, summary, a, button,
  input, select, option, textarea, th, td, code, pre, span, strong, b
) { font-size: 14px !important; }

.control-card,
.chart-panel,
.table-panel,
.summary-card,
.kpi-card,
.workbench-panel,
.fl2-section,
.fl2-kpi,
.fl2-chart,
.ix-card,
.rotation-status-card {
  border-color: var(--ui-border) !important;
  border-radius: var(--ui-radius) !important;
  box-shadow: var(--ui-shadow) !important;
}

/* Status dots have only three product meanings. */
.nav-item i { background: var(--ui-green) !important; }
.nav-item[data-status="ok"] i { background: var(--ui-green) !important; }
.nav-item[data-status="running"] i { background: var(--ui-blue) !important; }
.nav-item[data-status="failed"] i { background: var(--ui-red) !important; }

.nav-group-toggle::before {
  position: absolute;
  right: 34px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ui-green);
  content: "";
}
.nav-group[data-status="ok"] > .nav-group-toggle::before { background: var(--ui-green); }
.nav-group[data-status="running"] > .nav-group-toggle::before { background: var(--ui-blue); }
.nav-group[data-status="failed"] > .nav-group-toggle::before { background: var(--ui-red); }

.service-badge.partial::before,
.service-badge.warning::before,
.service-badge.failed::before,
.service-badge.unknown::before { background: var(--ui-red) !important; }
.service-badge.running::before { background: var(--ui-blue) !important; }
.service-badge.ok::before { background: var(--ui-green) !important; }

.nav-item.is-loading { cursor: progress; }
.nav-item.is-loading i { background: var(--ui-blue) !important; }

@media (max-width: 780px) {
  .app-shell {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  .sidebar {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-height: 42vh;
    overflow-y: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ui-border);
  }
  .dashboard-main {
    width: 100% !important;
    min-width: 0 !important;
  }
  .topbar { flex-wrap: wrap; }
  .panel-grid,
  .rotation-chart-grid,
  .liquidity-chart-grid,
  .fl2-grid { grid-template-columns: 1fr !important; }
}
body.is-authenticated .app-shell table,
body.is-authenticated .app-shell thead,
body.is-authenticated .app-shell tbody,
body.is-authenticated .app-shell tfoot,
body.is-authenticated .app-shell tr {
  font-family: Arial, "KaiTi", "STKaiti", "Kaiti SC", "楷体", sans-serif !important;
  font-size: 14px !important;
}

/* 2026-08-18 data dashboard and topic tracking integration r44.11. */
/* Trump index full research integration v3. */
.trump-v3-dashboard { display: grid; gap: 16px; }
.trump-v3-status {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; align-items: end; gap: 14px;
  padding: 15px 17px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius);
  background: #fff; box-shadow: var(--ui-shadow);
}
.trump-v3-status > div { display: grid; gap: 5px; }
.trump-v3-status span { color: var(--muted); }
.trump-v3-status strong.is-ok { color: var(--ui-green); }
.trump-v3-status strong.is-warning { color: var(--ui-blue); }
.trump-index-emphasis { color: var(--ui-red); }
.trump-v3-section {
  scroll-margin-top: 138px; min-width: 0; padding: 18px; border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius); background: #fff; box-shadow: var(--ui-shadow);
}
.trump-v3-section > header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;
  margin-bottom: 13px; border-bottom: 1px solid var(--soft-border); padding-bottom: 11px;
}
.trump-v3-section > header small { color: var(--ui-red); font: 800 10px/1.2 Arial,"KaiTi",serif; letter-spacing: .1em; }
.trump-v3-section > header h2 { margin: 5px 0 4px; color: var(--ink); }
.trump-v3-section > header p { margin: 0; color: var(--muted); line-height: 1.65; }
.trump-v3-section > header > span { color: var(--muted); white-space: nowrap; }
.trump-v3-chart { min-height: 350px; min-width: 0; border: 1px solid var(--soft-border); border-radius: 8px; overflow: hidden; }
.trump-v3-factors { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.trump-v3-factors article {
  display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; gap: 5px 7px;
  min-width: 0; padding: 11px; border: 1px solid var(--soft-border); border-radius: 7px; background: #fbfcfd;
}
.trump-v3-factors i { width: 8px; height: 8px; border-radius: 50%; }
.trump-v3-factors span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trump-v3-factors strong { font: 800 13px/1 Arial,sans-serif; }
.trump-v3-factors small { grid-column: 2/4; color: var(--muted); }
.trump-v3-note { margin: 12px 0 0; color: var(--muted); line-height: 1.7; }
.trump-v3-taco-list { display: grid; gap: 8px; }
.trump-v3-taco { border: 1px solid var(--soft-border); border-left: 4px solid var(--ui-red); border-radius: 8px; overflow: hidden; }
.trump-v3-taco summary {
  display: grid; grid-template-columns: 150px 46px minmax(0,1fr) auto; gap: 10px; align-items: center;
  min-height: 54px; padding: 10px 13px; cursor: pointer; list-style: none;
}
.trump-v3-taco summary::-webkit-details-marker { display: none; }
.trump-v3-taco summary:hover { background: #fbfcfd; }
.trump-v3-taco time { color: var(--muted); font: 700 11px/1.2 Arial,sans-serif; }
.trump-v3-taco summary strong { color: var(--ink); }
.trump-v3-taco summary em { color: var(--ui-red); font-style: normal; }
.strength { display: inline-grid; min-width: 38px; place-items: center; border-radius: 999px; padding: 5px 7px; color:#fff; background:var(--ui-blue); font-weight:800; }
.strength-中强 { background:#c46a08; }
.strength-强,.strength-最强 { background:var(--ui-red); }
.trump-v3-tabs,.trump-v3-filter { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.trump-v3-tabs button,.trump-v3-filter button,.trump-v3-truth-controls button {
  border:1px solid var(--ui-border); border-radius:999px; padding:7px 11px; color:var(--muted); background:#fff; cursor:pointer;
}
.trump-v3-tabs button.is-active,.trump-v3-filter button.is-active,.trump-v3-truth-controls button.is-active { border-color:var(--ui-red); color:#fff; background:var(--ui-red); }
.trump-v3-approval-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:9px; }
.trump-v3-approval-summary span { padding:10px 12px; border:1px solid var(--soft-border); border-radius:6px; color:var(--muted); background:#fbfcfd; }
.trump-v3-approval-summary strong { margin-left:6px; color:var(--ink); }
.trump-v3-ranking { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:620px; overflow:auto; }
.trump-v3-ranking article { display:grid; gap:7px; padding:11px 12px; border:1px solid var(--soft-border); border-radius:7px; background:#fbfcfd; }
.trump-v3-ranking header { display:flex; justify-content:space-between; gap:10px; }
.trump-v3-ranking article>div { height:5px; border-radius:999px; background:#e9edf1; overflow:hidden; }
.trump-v3-ranking article>div i { display:block; height:100%; border-radius:inherit; }
.trump-v3-ranking i.negative { margin-left:auto; background:var(--ui-red); }
.trump-v3-ranking i.positive { background:var(--ui-green); }
.trump-v3-ranking small { color:var(--muted); }
.trump-v3-truth-controls { display:grid; grid-template-columns:minmax(260px,1fr) 180px auto; gap:10px; align-items:end; margin-bottom:10px; }
.trump-v3-truth-controls label { display:grid; gap:5px; color:var(--muted); }
.trump-v3-truth-controls input,.trump-v3-truth-controls select { min-height:40px; border:1px solid var(--ui-border); border-radius:6px; padding:0 11px; background:#fff; }
.trump-v3-truth-controls>div { display:grid; grid-template-columns:repeat(2,auto); gap:6px; }
.trump-v3-truth-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.trump-v3-truth-list article { min-width:0; border:1px solid var(--ui-border); border-left:4px solid var(--ui-red); border-radius:8px; padding:13px 14px; }
.trump-v3-truth-list article>header,.trump-v3-truth-list article>footer { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.trump-v3-truth-list article>header { justify-content:space-between; }
.trump-v3-truth-list article>header>div { display:flex; gap:6px; }
.trump-v3-truth-list article>header span { border-radius:999px; padding:4px 7px; color:var(--ui-red); background:var(--brand-soft); }
.trump-v3-truth-list time { color:var(--muted); }
.trump-v3-truth-list h3 { margin:9px 0 6px; line-height:1.5; }
.trump-v3-truth-list h3 a { color:var(--ink); text-decoration:none; }
.trump-v3-truth-list p { display:-webkit-box; min-height:72px; margin:0 0 10px; overflow:hidden; color:var(--muted); line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.trump-v3-truth-list article>footer { border-top:1px solid var(--soft-border); padding-top:9px; color:var(--muted); }
.trump-v3-truth-list footer a { margin-left:auto; color:var(--ui-red); font-weight:800; text-decoration:none; }
.trump-v3-loading { grid-column:1/-1; padding:28px; text-align:center; color:var(--muted); }
.trump-v3-load-more { display:flex; justify-content:center; padding:14px 0 2px; }
.trump-v3-audits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.trump-v3-audit { padding:11px; border:1px solid var(--soft-border); border-top:3px solid var(--ui-blue); border-radius:7px; background:#fbfcfd; }
.trump-v3-audit.audit-pass { border-top-color:var(--ui-green); }
.trump-v3-audit.audit-fail { border-top-color:var(--ui-red); }
.trump-v3-audit header { display:flex; align-items:center; gap:7px; }
.trump-v3-audit header i { width:8px; height:8px; border-radius:50%; background:var(--ui-blue); }
.trump-v3-audit.audit-pass header i { background:var(--ui-green); }
.trump-v3-audit.audit-fail header i { background:var(--ui-red); }
.trump-v3-audit p { display:grid; grid-template-columns:70px minmax(0,1fr); margin:8px 0 0; color:var(--ink); }
.trump-v3-audit p span,.trump-v3-audit small { color:var(--muted); }
.trump-v3-sources { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:10px; }
.trump-v3-sources article { display:flex; align-items:flex-start; gap:8px; padding:11px; border:1px solid var(--soft-border); border-radius:7px; background:#fbfcfd; }
.trump-v3-sources article>i { flex:0 0 8px; width:8px; height:8px; margin-top:5px; border-radius:50%; background:var(--ui-blue); }
.trump-v3-sources article.is-ok>i { background:var(--ui-green); }
.trump-v3-sources article>div { display:grid; gap:4px; min-width:0; }
.trump-v3-sources span,.trump-v3-sources p { margin:0; color:var(--muted); line-height:1.5; }
.trump-v3-sources a { color:var(--ui-red); font-weight:800; text-decoration:none; }
.trump-v3-method { margin-top:12px; border-left:4px solid var(--ui-blue); border-radius:7px; padding:12px 14px; background:#eef5fb; }
.trump-v3-method p { margin:5px 0 0; color:var(--muted); line-height:1.7; }
@media (max-width:1180px){
  .trump-v3-factors{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trump-v3-audits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trump-v3-sources{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trump-v3-truth-list{grid-template-columns:1fr}
}
@media (max-width:720px){
  .trump-v3-factors,.trump-v3-audits,.trump-v3-sources{grid-template-columns:1fr}
  .trump-v3-taco summary{grid-template-columns:1fr auto}
  .trump-v3-taco summary strong{grid-column:1/3}
  .trump-v3-taco summary em{display:none}
}

/* 2026-08-18 data dashboard and topic tracking integration r44.11. */
.data-table td.is-conditional { position: relative; color: var(--ink); background-clip: padding-box; }
.data-table td.is-conditional::before {
  position: absolute;
  inset: 2px 4px;
  width: var(--bar, 0%);
  max-width: calc(100% - 8px);
  border-radius: 2px;
  opacity: .86;
  content: "";
  pointer-events: none;
}
.data-table td.is-conditional.cond-positive::before,
.data-table td.is-conditional.r44-red::before { background: linear-gradient(90deg, rgba(192,0,0,.58), rgba(192,0,0,.20)); }
.data-table td.is-conditional.cond-negative::before,
.data-table td.is-conditional.r44-green::before { background: linear-gradient(90deg, rgba(0,176,80,.54), rgba(0,176,80,.18)); }
.data-table td.is-conditional.cond-blue::before,
.data-table td.is-conditional.r44-blue::before { background: linear-gradient(90deg, rgba(47,117,181,.48), rgba(47,117,181,.16)); }
.data-table td.is-conditional.cond-positive { box-shadow: none; }
.data-table td.is-conditional.cond-negative { box-shadow: none; }
.data-table td.is-conditional.cond-blue { box-shadow: none; }
.data-table td.is-conditional > span { position: relative; z-index: 1; font-weight: 400; }
.ai-dual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 10px 0; }
.ai-dual-grid > section { min-width: 0; border: 1px solid var(--ui-border); border-radius: 8px; padding: 12px; background: #fff; box-shadow: var(--ui-shadow); }
.ai-dual-grid h3 { margin: 0 0 8px; color: var(--ink); }
.domestic-dashboard { display: grid; gap: 12px; }
.domestic-image-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.domestic-image-card { min-width: 0; border: 1px solid var(--ui-border); border-radius: 8px; padding: 12px; background: #fff; box-shadow: var(--ui-shadow); }
.domestic-image-card h3 { margin: 0 0 8px; color: var(--ink); }
.domestic-image-card img { display: block; width: 100%; height: auto; border: 1px solid var(--soft-border); border-radius: 6px; background: #fff; }
body[data-workspace-route="data:topic_tracking"][data-workspace-section="ai-monitor"] .conclusion-card, body[data-workspace-route="data:topic_tracking"][data-workspace-section="ai-monitor"] .ai-monitor-status { display: none !important; }
@media (max-width: 920px) {
  .ai-dual-grid,
  .domestic-image-grid { grid-template-columns: 1fr; }
}

.news-source-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; }
.news-source-row span { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border: 1px solid var(--line); border-left: 3px solid var(--brand); border-radius: 7px; background: #fff; color: var(--muted); font-size: 13px; font-weight: 700; }

/* 2026-08-18 r44 liquidity weekly brief */
.liquidity-brief {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}
.liquidity-brief > div,
.liquidity-brief .liquidity-warning {
  border: 1px solid var(--line, #d0d5dd);
  border-left: 4px solid var(--accent, #a52a1f);
  border-radius: 8px;
  background: #fff;
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(16, 24, 40, .08);
}
.liquidity-brief span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted, #667085);
  font-size: 14px;
  font-weight: 700;
}
.liquidity-brief p {
  margin: 0;
  color: var(--ink, #101828);
  line-height: 1.75;
}
.liquidity-brief strong { color: var(--accent, #a52a1f); }
.liquidity-brief .liquidity-warning {
  grid-column: 1 / -1;
  border-left-color: #b54708;
  background: #fffbf3;
  color: #7a2e0e;
}
@media (max-width: 900px) {
  .liquidity-brief { grid-template-columns: 1fr; }
}




/* r44.13 visual corrections */
.data-table td.is-conditional.cond-positive::before,
.data-table td.is-conditional.r44-red::before {
  background: linear-gradient(90deg, rgba(192,0,0,.78), rgba(248,203,206,.42)) !important;
}
.data-table td.is-conditional.cond-negative::before,
.data-table td.is-conditional.r44-green::before {
  background: linear-gradient(90deg, rgba(0,176,80,.78), rgba(198,239,206,.48)) !important;
}
.data-table td.is-conditional.cond-blue::before,
.data-table td.is-conditional.r44-blue::before {
  background: linear-gradient(90deg, rgba(192,0,0,.78), rgba(248,203,206,.42)) !important;
}
.data-table td.is-conditional.cond-positive { box-shadow: inset 0 0 0 999px rgba(192,0,0,.035) !important; }
.data-table td.is-conditional.cond-negative { box-shadow: inset 0 0 0 999px rgba(0,176,80,.035) !important; }
.data-table td.is-conditional.cond-blue { box-shadow: inset 0 0 0 999px rgba(192,0,0,.035) !important; }
.compact-multi-card { padding: 10px 12px !important; }
.compact-multi-grid { display: grid; grid-template-columns: minmax(260px, 1fr) 180px 180px; gap: 12px; align-items: end; }
.compact-multi-grid > label { display: grid; gap: 6px; margin: 0; color: var(--muted); font-weight: 700; }
.compact-multi { position: relative; min-width: 0; }
.compact-multi-trigger { width: 100%; min-height: 38px; border: 1px solid var(--ui-border); border-radius: 7px; padding: 0 34px 0 11px; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); background: #fff; cursor: pointer; }
.compact-multi-trigger::after { position: absolute; right: 12px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: translateY(-70%) rotate(45deg); content: ""; }
.compact-multi-menu { position: absolute; z-index: 80; left: 0; right: 0; top: calc(100% + 6px); max-height: 320px; overflow: auto; border: 1px solid var(--ui-border); border-radius: 8px; padding: 6px; background: #fff; box-shadow: 0 14px 30px rgba(16,24,40,.14); }
.compact-multi-menu label { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 5px 7px; border-radius: 6px; color: var(--ink); font-weight: 600; cursor: pointer; }
.compact-multi-menu label:hover { background: #f6f8fa; }
.compact-multi-menu input { width: 15px; height: 15px; accent-color: var(--ui-red); }
.liquidity-top-row { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 12px; align-items: stretch; margin: 0 0 14px; }
.liquidity-control-card { display: grid; align-content: start; margin: 0 !important; padding: 14px !important; }
.liquidity-control-card label { display: grid; gap: 7px; color: var(--muted); font-weight: 700; }
.liquidity-control-card select { min-height: 40px; border: 1px solid var(--ui-border); border-radius: 7px; padding: 0 10px; background: #fff; color: var(--ink); }
.liquidity-top-row .liquidity-brief { margin: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.liquidity-top-row .liquidity-brief > div { min-height: 100%; padding: 12px 14px; }
.liquidity-brief span { margin-bottom: 8px !important; }
.liquidity-brief p { margin: 0 0 7px !important; line-height: 1.65 !important; }
.taco-timeline-chart { min-height: 330px !important; }
.trump-v3-status,
.trump-v3-kpis { display: none !important; }
.trump-v3-section > header #trump-v3-refresh { align-self: center; }
@media (max-width: 1000px) {
  .compact-multi-grid,
  .liquidity-top-row,
  .liquidity-top-row .liquidity-brief { grid-template-columns: 1fr; }
}
/* r45.1 data dashboard interaction fixes */
.compact-multi-trigger { position: relative; }
.compact-multi-trigger:focus-visible { outline: 2px solid rgba(180,35,24,.22); outline-offset: 2px; }
.compact-multi-menu { position: fixed !important; right: auto !important; z-index: 2147483000 !important; overflow: auto !important; background: #fff !important; }
.compact-multi-menu[hidden] { display: none !important; }
.compact-multi.is-open .compact-multi-trigger { border-color: var(--ui-red); box-shadow: 0 0 0 2px rgba(180,35,24,.10); }
.taco-timeline-chart { min-height: 430px !important; }
.trump-v3-section > header small { display: none !important; }
.liquidity-top-row { grid-template-columns: 260px minmax(0, 1fr) !important; }
.liquidity-top-row .liquidity-brief { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) {
  .liquidity-top-row,
  .liquidity-top-row .liquidity-brief { grid-template-columns: 1fr !important; }
}

/* r45.3 final dashboard refinements */
.control-card,
.compact-multi-card,
.compact-multi-grid,
.compact-multi { overflow: visible !important; }
.compact-multi-menu {
  position: fixed !important;
  z-index: 2147483000 !important;
  min-width: 260px !important;
  max-height: min(360px, calc(100vh - 20px)) !important;
  background: #fff !important;
}
.trump-v3-truth-controls { grid-template-columns: minmax(260px, 1fr) 180px !important; }
.trump-v3-truth-controls > div { display: none !important; }
.trump-v3-chart.taco-timeline-chart { min-height: 430px !important; }
.trump-v3-section#trump-index-taco .plot-container,
.trump-v3-section#trump-index-taco .svg-container { overflow: visible !important; }
.liquidity-top-row { grid-template-columns: 240px minmax(0, 1fr) !important; align-items: start !important; }
.liquidity-control-card { align-self: start !important; min-height: 0 !important; }
.liquidity-top-row .liquidity-brief { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-items: stretch !important; }
.liquidity-top-row .liquidity-brief > div { min-height: 0 !important; }
@media (max-width: 1000px) {
  .liquidity-top-row,
  .liquidity-top-row .liquidity-brief,
  .trump-v3-truth-controls { grid-template-columns: 1fr !important; }
}
/* r45.11 conditional-format bars only */
.data-table td.is-conditional,
.data-table td.is-conditional.cond-positive,
.data-table td.is-conditional.cond-negative,
.data-table td.is-conditional.cond-blue,
.data-table td.is-conditional.r44-red,
.data-table td.is-conditional.r44-green,
.data-table td.is-conditional.r44-blue {
  color: var(--subtle-ink) !important;
  box-shadow: none !important;
}
.data-table td.is-conditional > span {
  position: relative;
  z-index: 1;
  font-weight: inherit !important;
}
/* r45.12 Excel-style signed data bars: positive grows right, negative grows left. */
.data-table td.is-conditional::before {
  inset: auto !important;
  top: 2px !important;
  bottom: 2px !important;
  left: var(--bar-left, 0%) !important;
  width: var(--bar-width, var(--bar, 0%)) !important;
  max-width: 100% !important;
}
.data-table td.is-conditional.cond-positive::before,
.data-table td.is-conditional.r44-red::before {
  background: linear-gradient(90deg, rgba(255,0,0,.86), rgba(255,199,206,.56)) !important;
}
.data-table td.is-conditional.cond-negative::before,
.data-table td.is-conditional.r44-green::before {
  background: linear-gradient(90deg, rgba(198,239,206,.58), rgba(0,176,80,.92)) !important;
}

/* r45.16 Excel RGB conditional-format data bars. */
.data-table td.is-conditional.cond-positive::before,
.data-table td.is-conditional.r44-red::before {
  background: linear-gradient(90deg, rgb(255,0,0) 0%, rgb(255,199,206) 100%) !important;
  border: 1px solid rgb(255,0,0) !important;
}
.data-table td.is-conditional.cond-negative::before,
.data-table td.is-conditional.r44-green::before {
  background: linear-gradient(270deg, rgb(0,176,80) 0%, rgb(198,239,206) 100%) !important;
  border: 1px solid rgb(0,176,80) !important;
}
.data-table td.is-conditional::before { opacity: 1 !important; box-sizing: border-box !important; }
.data-table td.is-conditional > span { font-weight: 400 !important; }
.data-table td.is-conditional.has-zero-axis::after {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: var(--bar-zero, 0%);
  width: 1px;
  background: #000;
  content: "";
  pointer-events: none;
  transform: translateX(-.5px);
}


/* r64 asset-allocation hard override: keep Excel-style data bars only.
   No whole-cell tint and no bold numbers in conditional-format cells. */
.data-table td.is-conditional,
.data-table td.is-conditional.cond-positive,
.data-table td.is-conditional.cond-negative,
.data-table td.is-conditional.cond-blue,
.data-table td.is-conditional.r44-red,
.data-table td.is-conditional.r44-green,
.data-table td.is-conditional.r44-blue {
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}
.data-table td.is-conditional > span {
  font-weight: 400 !important;
}
/* data_dashboard_table_report_v1: scoped table skin for Data Dashboard only. */
body[data-workspace-route^="data:"] .table-panel {
  border-color: #d8e0e7 !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(16, 24, 40, .08) !important;
}
body[data-workspace-route^="data:"] .table-scroll {
  border: 1px solid #e2e6eb !important;
  border-radius: 6px !important;
  background: #fff !important;
}
body[data-workspace-route^="data:"] .data-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
body[data-workspace-route^="data:"] .data-table thead th {
  background: #c00000 !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-right: 1px solid rgba(255, 255, 255, .62) !important;
  border-bottom: 1px solid #c00000 !important;
}
body[data-workspace-route^="data:"] .data-table thead th:first-child {
  border-top-left-radius: 4px !important;
}
body[data-workspace-route^="data:"] .data-table thead th:last-child {
  border-right: 0 !important;
  border-top-right-radius: 4px !important;
}
body[data-workspace-route^="data:"] .data-table tbody tr:nth-child(odd) td {
  background: #e8e8e8 !important;
}
body[data-workspace-route^="data:"] .data-table tbody tr:nth-child(even) td {
  background: #f6f6f6 !important;
}
body[data-workspace-route^="data:"] .data-table tbody td {
  border-right: 1px solid #fff !important;
  border-bottom: 1px solid #fff !important;
}
body[data-workspace-route^="data:"] .data-table tbody td:first-child {
  background: #f2ece6 !important;
}
body[data-workspace-route^="data:"] .data-table tbody tr:hover td {
  background: #efeae5 !important;
}
body[data-workspace-route^="data:"] .data-table tbody tr:hover td:first-child {
  background: #eee4dc !important;
}
body[data-workspace-route^="data:"] .data-table td.is-conditional {
  box-shadow: none !important;
  font-weight: 400 !important;
}
body[data-workspace-route^="data:"] .data-table td.is-conditional > span {
  font-weight: 400 !important;
}

/* data_dashboard_stock_report_panel_v1: latest research reports match the news frame. */
body[data-workspace-route^="data:"] .stock-report-panel .panel-header {
  margin-bottom: 7px !important;
}
body[data-workspace-route^="data:"] .stock-report-ticker {
  height: 320px !important;
  overflow: auto !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  background: #fff !important;
  box-shadow: var(--shadow) !important;
}
body[data-workspace-route^="data:"] .stock-report-list {
  display: grid !important;
  gap: 0 !important;
}
body[data-workspace-route^="data:"] .stock-report-item {
  display: block !important;
  min-height: 74px !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--soft-border) !important;
  color: var(--subtle-ink) !important;
  text-decoration: none !important;
}
body[data-workspace-route^="data:"] .stock-report-item:hover {
  background: #fafbfc !important;
}
body[data-workspace-route^="data:"] .stock-report-title {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--ink) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}
body[data-workspace-route^="data:"] .stock-report-summary {
  margin: 0 0 7px !important;
  color: var(--muted) !important;
  line-height: 1.65 !important;
}
body[data-workspace-route^="data:"] .stock-report-meta,
body[data-workspace-route^="data:"] .stock-report-empty {
  color: var(--muted) !important;
}
body[data-workspace-route^="data:"] .stock-report-empty {
  padding: 14px !important;
}


/* data_dashboard_table_first_col_v1: keep the first data-dashboard table column in the reference neutral band. */
body[data-workspace-route^="data:"] .data-table tbody tr > td:first-child:not(.is-conditional) {
  background: #f2ece6 !important;
}
body[data-workspace-route^="data:"] .data-table tbody tr:hover > td:first-child:not(.is-conditional) {
  background: #eee5dc !important;
}

/* r66 liquidity overview: left rail chart + narrower narrative cards. */
.liquidity-left-rail {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  min-width: 0 !important;
  align-self: start !important;
}
.liquidity-top-row {
  grid-template-columns: minmax(420px, 42%) minmax(0, 58%) !important;
  align-items: start !important;
}
.liquidity-overview-card {
  margin: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.liquidity-overview-card .plot-frame {
  min-height: 320px !important;
  height: 320px !important;
}
.liquidity-top-row .liquidity-brief {
  grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  gap: 12px !important;
}
.liquidity-top-row .liquidity-brief > div {
  min-height: 0 !important;
  padding: 12px 14px !important;
}
@media (max-width: 1000px) {
  .liquidity-top-row,
  .liquidity-top-row .liquidity-brief {
    grid-template-columns: 1fr !important;
  }
  .liquidity-overview-card .plot-frame {
    min-height: 280px !important;
    height: 280px !important;
  }
}
