/* Daily-report presentation. Data, collection and alert policy stay independent. */
:root {
  color-scheme: light;
  --page: #edf2f7; --page-raised: #f6f8fb; --panel: #fff; --panel-raised: #f2f6fa;
  --line: #d9e3ec; --line-soft: #e5ecf2; --text: #182e43; --muted: #687c8e; --muted-strong: #4f6578;
  --orange: #b68a36; --orange-soft: #f9f3e6; --positive: #178578; --positive-soft: #edf7f4;
  --negative: #c34e70; --negative-soft: #fbf0f3; --warning: #916810;
  --fund-1: #b78c3c; --fund-2: #218b78; --fund-3: #447fab; --fund-4: #8662af;
  --fund-5: #3096a4; --fund-6: #bb648a; --fund-7: #7e8e50; --fund-8: #718699;
  --radius: 10px; --radius-small: 8px; --shadow: 0 2px 5px #18344e03;
}
body { background: var(--page); font-variant-numeric: tabular-nums; }
.shell { width: min(1440px, calc(100% - 48px)); }
.site-header { background: #10283f; color: #fff; border: 0; position: relative; }
.header-inner { min-height: 66px; }
.brand-mark { background: transparent; color: #e0bd70; border-color: #bfa365; border-radius: 50%; box-shadow: none; }
.brand small, .site-header .text-link { color: #b6c7d7; }
.site-header .text-link:hover { color: #fff; }
.site-header .refresh-button, .site-header .export-trigger { color: #f4f8fb; background: #ffffff0b; border-color: #456077; }
.export-options, .export-status { background: #fff; color: var(--text); border-color: var(--line); box-shadow: 0 10px 40px #18344e26; }
.export-options button:hover { background: var(--page); }
.snapshot-bar { min-height: 52px; padding: 10px 0; gap: 16px; }
.snapshot-bar-copy { display: block; }
.snapshot-bar-copy .eyebrow { font-size: 10px; letter-spacing: .12em; }
.snapshot-bar-copy > p:last-child { margin-top: 3px; font-size: 11px; }
.snapshot-meta { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; font-size: 11px; }
#autoRefreshNote { display: none; }
.status-pill { font-size: 11px; padding: 3px 8px; }
.asset-navigation { margin: 13px 0 10px; align-items: center; }
.asset-tabs { padding: 3px; background: #e1e9f1; border: 0; gap: 3px; border-radius: 9px; }
.asset-tab { padding: 8px 19px; min-height: 40px; gap: 9px; border-radius: 6px; }
.asset-tab.is-active { background: #fff; color: var(--text); border-color: transparent; box-shadow: 0 1px 5px #29435912; }
.asset-tab:hover { background: #ffffffb0; }
.asset-tab-symbol { color: #ab843e; }
.asset-tab-note { font-size: 11px; }
.workspace-nav { gap: 16px; margin: 0 0 13px; }
.workspace-nav button { padding: 3px 0; min-height: 30px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; font-size: 12px; }
.workspace-nav button:hover, .workspace-nav button:focus-visible { border-color: var(--orange); }
.asset-detail-heading { margin-bottom: 12px; }
.asset-detail-heading > div { gap: 10px; }
.asset-detail-heading h2 { font-size: 21px; letter-spacing: -.025em; }
.asset-detail-heading .section-index { font-size: 9px; margin: 0 0 3px; letter-spacing: .12em; }
.asset-detail-symbol { width: 37px; height: 37px; font-size: 24px; border-radius: 50%; background: #10283f; color: #e0bd70; }
.method-badge { border-color: var(--line); color: var(--muted-strong); font-size: 12px; }
.metric-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.metric-card, .panel, .source-card { background: var(--panel); border-color: #e0e8ef; box-shadow: var(--shadow); }
.metric-card { min-height: 112px; padding: 14px 13px; }
.metric-heading { font-size: 12px; gap: 6px; }
.metric-heading .source-tag { font-size: 9px; padding: 0; border: 0; }
.metric-value, .metric-value-small { margin: 10px 0 6px; font-size: clamp(20px, 2vw, 29px); font-weight: 680; line-height: 1.2; letter-spacing: -.045em; white-space: nowrap; }
.metric-footer { margin-top: auto; padding-top: 12px; gap: 3px; font-size: 10px; line-height: 1.5; flex-wrap: wrap; }
.metric-card-holdings { background: #122c44; color: #fff; border-color: #29475f; }
.metric-card-holdings .metric-heading, .metric-card-holdings .metric-footer { color: #baccda; }
.metric-card-holdings .source-tag { color: #e0bd70; }
.metric-card-holdings .metric-value { font-size: clamp(16px, 1.65vw, 24px); letter-spacing: -.025em; }
.metric-card-featured { background: #fffdf7; border-color: #e5dcc7; }
.latest-context { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 9px 12px; border: 0; background: #e5edf5; }
.quality-strip { gap: 4px 10px; font-size: 11px; }
.quality-source { flex-basis: auto; }
.relative-strength { gap: 18px; }
.relative-strength span { gap: 7px; }
.relative-strength small, .relative-strength strong { font-size: 11px; }
.market-context-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; padding: 10px 12px; margin: 0 0 16px; background: #e7eef5; border: 0; border-radius: 7px; }
.market-context-copy { display: block; margin-right: auto; }
.market-context-copy .panel-label { display: none; }
.market-context-copy strong { font-size: 12px; }
.market-context-copy small { display: block; font-size: 10px; }
.market-context-metric { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 9px; }
.market-context-metric > span, .market-context-metric small { font-size: 10px; }
.market-context-metric strong { font-size: 15px; }
.market-context-time { font-size: 10px; }
.section-block { margin-top: 26px; }
.report-flow-section { margin-top: 0; }
.section-heading { margin-bottom: 12px; gap: 12px; align-items: center; }
.section-heading h2 { font-size: 18px; }
.section-heading p { margin-top: 5px; font-size: 12px; }
.report-period { display: flex; flex: 0 0 auto; padding: 3px; background: #dfe8f0; border-radius: 6px; gap: 3px; }
.report-period button { min-height: 32px; padding: 5px 11px; font-size: 12px; border: 0; border-radius: 4px; color: var(--muted-strong); background: transparent; cursor: pointer; }
.report-period button[aria-pressed="true"] { background: #fff; color: var(--text); box-shadow: 0 1px 3px #19344f0f; }
.report-period button:focus-visible { outline: 2px solid #427fad; }
.report-comparison { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; margin-bottom: 10px; background: #e2ebf3; border-radius: 6px; font-size: 11px; color: var(--muted-strong); }
.report-comparison strong { margin-left: 10px; }
.report-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
#dailyReportPanels { display: contents; }
.report-grid .panel { padding: 14px; }
.report-grid .panel-heading { margin-bottom: 12px; gap: 8px; }
.report-grid .panel-heading .panel-label { font-size: 13px; font-weight: 650; color: var(--text); border-left: 3px solid #c6a056; padding-left: 7px; }
.report-grid .panel-heading strong { font-size: 14px; }
.report-grid .panel-meta { font-size: 10px; max-width: 110px; text-align: right; }
.report-grid .flow-chart { min-height: 0; overflow: visible; }
.report-grid .chart-key { font-size: 10px; gap: 8px 14px; margin: 0 0 6px; }
.report-grid .chart-method-note { font-size: 10px; margin: 9px 0 0; line-height: 1.7; }
.report-grid .data-details { font-size: 11px; margin-top: 8px; }
.report-grid .data-details summary { font-size: 11px; padding-block: 3px; }
.report-footnote { color: var(--muted); font-size: 11px; margin: 10px 2px 0; line-height: 1.8; }
.research-drawer { background: #ffffff70; margin: 22px 0; padding: 0 16px; }
.research-drawer > summary { padding: 13px 0; font-size: 14px; }
.research-drawer > summary small { font-size: 12px; }
.report-advanced { margin: 14px 0 24px; }
.report-advanced .panel { margin-bottom: 15px; }
.observation-card { padding: 18px; }
.chart-grid-line { stroke: #e4ebf1; }
.chart-zero-line { stroke: #a4b4c2; }
.cumulative-line, .cumulative-dot { stroke: #4b82ad; }
.cumulative-area { fill: #4b82ad0d; }
.chart-tooltip, .research-tooltip { background: #fff; border-color: #adbecd; color: var(--text); box-shadow: 0 8px 28px #102b4224; }
.research-tooltip-band { color: #846321; }
.notice-warning { background: #fff8e9; color: #806019; }
.chart-axis-label, .research-axis-label { fill: #657c8f; }
.research-rainbow-svg line[stroke="#29333b"], .zec-trend-svg line[stroke="#29333b"], .zec-chart line[stroke="#26343c"] { stroke: #dfe7ed; }
.research-rainbow-svg path[stroke="#f2f4f2"], .zec-price-series { stroke: #163d60; }
.research-rainbow-svg circle[fill="#f2f4f2"] { fill: #163d60; stroke: #fff; }
.research-sparkline path { stroke: #a88131; }
.zec-line-legend i { border-color: #163d60; }
.zec-ma-series { stroke: #b0893c; }
.zec-multiple-series { stroke: #387fae; }
.zec-chart rect[fill="#49d49c"] { fill: var(--positive); }
.zec-chart rect[fill="#ff6974"] { fill: var(--negative); }
.zec-chart path[stroke="#f5a524"] { stroke: #4b82ad; }
.zec-metrics, .zec-research-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.zec-number { font-size: 28px; }
.zec-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zec-charts > .section-heading, .zec-charts > .data-details, .zec-charts > .chart-method-note { grid-column: 1 / -1; }
.zec-charts .chart-panel + .chart-panel { margin-top: 0; }
.site-footer { background: #e2eaf2; border-color: var(--line); }
/* Export shares this palette, while keeping explicit fixed-width layouts. */
.export-view, .export-sheet { background: var(--page); color: var(--text); }
.export-heading { padding: 20px; background: #10283f; border: 0; border-radius: 10px; color: #fff; }
.export-kicker { color: #e0bd70; }
.export-meta { color: #baccda; }
.export-disclaimer { color: var(--muted); border-color: var(--line); }
.export-view .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.export-view .metric-card { padding: 15px; min-height: 116px; }
.export-view .metric-value { font-size: 28px; }
.export-view .report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.export-view .report-grid .panel-meta { font-size: 11px; }
.export-view .snapshot-bar { margin-bottom: 10px; }
.export-view .report-period { display: none; }
.export-view .zec-metrics, .export-view .zec-research-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1120px) {
  .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-value { font-size: 26px; }
  .latest-context { grid-template-columns: 1fr; }
  .relative-strength { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .shell { width: calc(100% - 28px); }
  .header-inner { min-height: 60px; }
  .snapshot-bar { align-items: flex-start; }
  .snapshot-meta { font-size: 10px; gap: 3px; }
  .snapshot-bar-copy > p:last-child { max-width: 230px; }
  .asset-navigation { gap: 9px; margin-top: 12px; }
  .asset-tab-note { display: none; }
  .asset-tab { padding: 8px 13px; }
  .asset-detail-heading h2 { font-size: 18px; }
  .report-grid { grid-template-columns: minmax(0, 1fr); }
  .report-grid .panel-meta { max-width: none; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-card { min-height: 112px; }
  .metric-value { font-size: 25px; }
  .market-context-row { gap: 10px 18px; }
  .market-context-copy { flex-basis: 100%; }
  .market-context-time { flex-basis: 100%; }
  .report-flow-section .section-heading { align-items: flex-start; }
  .report-flow-section .section-heading h2 { font-size: 16px; }
  .report-comparison { flex-wrap: wrap; }
  .zec-metrics, .zec-research-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zec-charts { grid-template-columns: minmax(0, 1fr); }
  .workspace-nav { gap: 15px; }
  .workspace-nav button { flex: 0 0 auto; }
}
@media (max-width: 380px) {
  .snapshot-bar { flex-wrap: wrap; }
  .snapshot-meta { justify-content: flex-start; }
  .metric-value { font-size: 22px; }
  .asset-detail-heading { gap: 6px; }
  .asset-detail-heading h2 { font-size: 16px; }
  .asset-detail-symbol { display: none; }
  .report-flow-section .section-heading { flex-wrap: wrap; }
}
