.history-range { flex: 0 0 auto; border-bottom: 1px solid var(--border); font-size: 12px; }
.history-range summary { padding: 8px 12px; color: var(--accent-strong); cursor: pointer; line-height: 1.6; }
.history-range summary span { color: var(--muted); margin-left: 8px; font-variant-numeric: tabular-nums; }
.history-range-body { padding: 2px 12px 10px; background: var(--surface); }
.history-range-fields, .history-date-fields { display: flex; align-items: end; flex-wrap: wrap; gap: 9px; }
.history-range-fields label, .macd-scan-filters label { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: var(--muted); font-size: 12px; }
.history-range input, .history-range select, .macd-scan-filters input, .macd-scan-filters select { min-width: 0; max-width: 100%; border: 1px solid var(--border); background: var(--panel); color: var(--ink); border-radius: 5px; padding: 7px 8px; font-size: 12px; }
.history-range input[type="date"] { width: 152px; }
.history-range-fields .primary { padding: 8px 12px; }
.history-range-fields .research-link { margin: 0; padding: 7px 0; }
.history-range p { margin: 7px 0 0; line-height: 1.7; overflow-wrap: anywhere; }
.chart-col:has(.history-range) { overflow-y: auto; }
.chart-col:has(.history-range) .price-panel { flex-shrink: 0; }
.chart-col:has(.history-range) .canvas-wrap { min-height: 220px; }
.chart-col:has(.history-range[open]) .price-panel { flex: 0 0 auto; }
.chart-col:has(.history-range[open]) .canvas-wrap { flex: 0 0 auto; height: clamp(220px,30dvh,330px); }
.data-center { padding: 20px; }
.data-center-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.data-center h2 { margin: 6px 0 0; font-size: 20px; }
.data-center p { line-height: 1.7; }
.data-status { padding: 10px 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 5px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.data-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.data-summary-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; border: 1px solid var(--border); padding: 15px; border-radius: 5px; background: var(--panel); }
.data-summary-card span, .data-summary-card small { color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.data-summary-card strong { color: var(--ink); font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.data-note { font-size: 12px; color: var(--muted); margin: 12px 0; }
.data-table-wrap { max-width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: 5px; }
.data-table { border-collapse: collapse; width: 100%; min-width: 720px; font-size: 12px; }
.data-table th, .data-table td { border-bottom: 1px solid var(--border); padding: 11px 10px; text-align: left; line-height: 1.6; font-variant-numeric: tabular-nums; }
.data-table th { color: var(--muted); background: var(--surface); font-weight: 500; white-space: nowrap; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td:nth-child(4) { min-width: 174px; }
.data-table td:nth-child(6) { min-width: 165px; }
.data-sync { margin: 16px 0; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); padding: 12px; }
.data-sync > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.data-sync strong, .data-sync span { font-size: 12px; }
.data-sync span { color: var(--muted); }
.data-sync progress { width: 100%; height: 8px; margin: 12px 0 2px; accent-color: var(--accent-strong); }
.data-sync p { margin-bottom: 0; }
.data-errors { font-size: 12px; color: var(--muted); }
.data-errors summary { cursor: pointer; padding: 3px 0; }
.data-errors ul { padding-left: 20px; line-height: 1.8; overflow-wrap: anywhere; }
.data-center-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.scan-mode-switch { flex-wrap: wrap; padding: 0 0 12px; border-bottom: 1px solid var(--border); margin-bottom: 14px; }
.scan-mode-switch button { min-height: 34px; font-size: 13px; padding: 8px 12px; }
.macd-scan-filters { display: grid; grid-template-columns: minmax(160px,1fr) minmax(90px,.65fr) minmax(170px,1.2fr); gap: 10px; }
.macd-coverage { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.macd-coverage span { padding: 6px 9px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.macd-scan-table { min-width: 700px; }
.macd-scan-table td:first-child { min-width: 172px; }
.macd-scan-table td:nth-child(2) { min-width: 135px; max-width: 220px; }
.macd-add-research { padding: 4px 7px; font-size: 12px; margin-top: 5px; }
.macd-result-date { display: block; font-variant-numeric: tabular-nums; }
.macd-row-source { display: block; font-size: 12px; color: var(--muted); line-height: 1.5; margin-top: 3px; white-space: normal; overflow-wrap: anywhere; }
.macd-stale { display: inline-block; margin-top: 3px; padding: 2px 5px; color: var(--ink); border: 1px solid var(--border); border-radius: 3px; font-size: 12px; }
.macd-empty { color: var(--muted); text-align: left; padding: 22px 12px!important; white-space: normal; }
#macdScanPage { padding: 6px 8px; color: var(--muted); font-size: 12px; }
#macdScreener .scan-pagination { align-items: center; flex-wrap: wrap; }
#macdScanStatus { overflow-wrap: anywhere; }
@media (max-width: 1100px) and (min-width: 1050px) { .macd-scan-filters { grid-template-columns: 1fr 1fr; } .macd-scan-filters label:last-child { grid-column: 1 / -1; } }
@media (max-width: 820px) {
  .data-center { padding: 13px; }
  .data-summary-grid { grid-template-columns: 1fr; }
  .data-summary-card { padding: 12px; gap: 5px; }
  .data-summary-card strong { font-size: 19px; }
  .history-range summary span { display: block; margin-left: 14px; }
  .history-range-fields > label { flex: 1 1 180px; }
  .history-date-fields { width: 100%; }
  .history-date-fields label { flex: 1 1 135px; }
  .history-range input[type="date"] { width: 100%; }
  .macd-scan-filters { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .macd-scan-filters label:last-child { grid-column: 1 / -1; }
  .macd-scan-filters input { width: 100%; }
  .scan-mode-switch button { padding: 8px 9px; font-size: 12px; }
}
@media (max-width: 360px) { .macd-scan-filters { grid-template-columns: minmax(0,1fr); } .macd-scan-filters label:last-child { grid-column: auto; } }


/* Market Fieldbook — a warm-paper research terminal with restrained jade accents.
   Palette: porcelain #F3F1EA, paper #FFFEFA, ink #1D2A27, jade #35685D,
   market red #C84C3A, market green #26745E, brass #B8863B. */
/* LMN Finance market newsroom palette */
:root {
  --bg:#f5f5f6; --panel:#fff; --surface:#f2f3f5; --border:#e2e3e6; --line:var(--border);
  --text:#25242b; --ink:#25242b; --muted:#70717a; --label:var(--muted);
  --accent:#c73635; --brand:var(--accent); --blue:var(--accent); --accent-strong:#aa292b;
  --accent-pressed:#852326; --accent-soft:#f9e9e9; --on-accent:#fff;
  --up:#cc3434; --down:#16835f; --positive:#c52e32; --negative:#16805d;
  --success:#16805d; --success-bg:#eef8f3; --warning:#a16207; --warning-bg:#fffbeb;
  --layer:var(--panel); --scrim:rgba(15,23,42,.28); --shadow-sm:0 3px 12px rgba(25,25,35,.05);
  --shadow-dialog:0 12px 32px rgba(15,23,42,.12); --chart-grid:var(--line); --chart-label:var(--muted);
  --chart-ma5:#b45309; --chart-ma20:var(--accent-strong); --chart-band:#7c3aed; --chart-band-bg:#f5f3ff;
  --chart-crosshair:#94a3b8; --chart-bubble:var(--accent-soft); --chart-bubble-text:var(--ink);
  --chart-series-1:var(--accent-strong); --chart-series-2:var(--chart-ma5); --chart-series-3:var(--chart-band);
  --chart-series-4:var(--success); --chart-series-5:#be1239; color-scheme:light;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px; line-height:1.5; color:var(--ink); background:var(--bg); font-synthesis:none;
}
html { background:var(--bg); }
body { background:var(--bg); color:var(--ink); letter-spacing:.005em; }
button,input,select,textarea { border-radius:3px; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible { outline:2px solid #b8863b; outline-offset:3px; }
.sidebar { background:#1d2a27; border-color:#34423d; color:#f3f1ea; }
.brand { color:#fffefa; } .brand strong { color:#fffefa; letter-spacing:-.025em; }
.brand small { color:#b8c4bb; letter-spacing:.12em; }
.brand-icon { color:#1d2a27; background:#d6b879; border-radius:2px; }
.side-nav .nav { color:#c5cec8; transition:color .16s ease,background .16s ease; }
.side-nav .nav:hover { color:#fffefa; background:rgba(255,254,250,.08); }
.side-nav .nav.active { color:#fffefa; background:rgba(255,254,250,.075); box-shadow:inset 0 -2px 0 #d6b879; }
.topbar { background:#fffefa; color:#68746d; border-color:#d9ddd3; }
.crumb { color:#68746d; letter-spacing:.13em; } .crumb span { color:#b8863b; }
.top-dot { background:#26745e; box-shadow:0 0 0 3px #e5eee9; }
.global-quick input { background:#f3f1ea; border:1px solid #d9ddd3; border-radius:3px; }
.main { background:var(--bg); }
.page-heading { border-bottom:1px solid #cfd5cb; padding-bottom:18px; margin-bottom:20px; }
.eyebrow { color:#8b6e3d; letter-spacing:.16em; font-size:10px; font-weight:700; }
.page-heading h1,.home-heading h2 { color:#1d2a27; letter-spacing:-.04em; }
.page-heading p,.home-heading p { color:#68746d; }
.panel { border:1px solid #d9ddd3; border-radius:3px; background:#fffefa; box-shadow:0 1px 2px rgba(29,42,39,.035); }
.market-overview { background:#fffefa; border-top:2px solid #35685d; }
.market-head h2,.home-view .market-head h2,.home-panel-heading h2,.home-table-heading h2 { border-left-color:#b8863b; color:#1d2a27; }
.home-view #overview { border-radius:3px; }
.home-view .index-tile { background:transparent; }
.home-view .index-tile strong,.home-research-metrics strong { color:#1d2a27; font-variant-numeric:tabular-nums lining-nums; letter-spacing:-.035em; }
.home-panels { gap:12px; }
.home-panel { border-radius:3px; background:#fffefa; }
.home-panel-link,.home-panel-heading a { color:#28594e; }
.home-active-row meter::-webkit-meter-optimum-value { background:#35685d; }
.home-active-row meter::-moz-meter-bar { background:#35685d; }
.home-table th { background:#eeede6; color:#68746d; border-color:#d9ddd3; letter-spacing:.045em; }
.home-table td { border-color:#e7e7df; }
.home-table tbody tr:hover { background:#f2f4ee; }
.home-stock:hover strong,.home-table th[aria-sort=ascending] button,.home-table th[aria-sort=descending] button { color:#28594e; }
.home-shortcuts a { border-top:1px solid #d9ddd3; padding-top:10px; color:#28594e; }
.primary { background:#35685d; border-color:#35685d; color:#fffefa; }
.primary:hover { background:#28594e; border-color:#28594e; }
.outline,.ghost,.side-action,.side-secondary { border-radius:3px; }
.outline { color:#28594e; border-color:#aebbb2; background:transparent; }
.outline:hover,.ghost:hover { background:#e5eee9; border-color:#91a69a; }
input,select,textarea { border-color:#cfd5cb; background:#fffefa; color:#1d2a27; }
input::placeholder,textarea::placeholder { color:#89938c; }
.nav-mark { color:#d6b879; }
.positive,.up,.index-change.positive { color:#c84c3a; }
.negative,.down,.index-change.negative { color:#26745e; }
.market-asof,.subtle,.muted { color:#68746d; }
.home-quotes,.home-view .market-overview,.home-panel { box-shadow:none; }
::selection { background:#dce8df; color:#1d2a27; }
@media (max-width:820px) {
  .sidebar { background:#1d2a27; }
  .mobile-nav { background:#1d2a27; border-color:#34423d; }
  .mobile-nav a { color:#c5cec8; }
  .mobile-nav a.active { color:#fffefa; border-color:#d6b879; }
  .main { background:var(--bg); }
  .page-heading { padding-bottom:14px; margin-bottom:15px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }


/* Editorial finish: give the market dashboard the cadence of a printed market sheet,
   not a wall of interchangeable product cards. */
main h1, main h2, .home-heading h2 {
  font-family:"Songti SC","Noto Serif CJK SC","STSong","SimSun",serif;
  font-weight:600;
  letter-spacing:-.025em;
}
.brand-icon {
  width:34px; height:34px;
  display:grid; place-items:center;
  font-family:"Times New Roman",serif;
  font-size:14px; font-weight:700; letter-spacing:-.08em;
}
.home-heading { margin:4px 0 18px; align-items:flex-end; }
.home-heading h2 { font-size:30px; line-height:1.15; }
.home-heading p { font-size:13px; letter-spacing:.01em; }
.home-heading-meta { border-left:1px solid #b8c0b6; padding-left:14px; }
.home-view #overview {
  border:0; border-top:1px solid #89958b; border-bottom:1px solid #cfd5cb;
  border-radius:0; background:transparent; box-shadow:none;
  padding:15px 0 12px; margin-bottom:18px;
}
.home-view .market-head { margin-bottom:10px; }
.home-view .market-head h2 {
  border:0; padding:0; font-family:inherit; font-size:17px; font-weight:600;
}
.home-view .index-tile { background:transparent; padding-top:4px; padding-bottom:5px; }
.home-view .index-tile strong {
  font-family:"Times New Roman","Songti SC",serif;
  font-size:29px; font-weight:500; letter-spacing:-.035em;
}
.home-panels {
  grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(230px,.78fr);
  gap:0; margin-bottom:21px;
}
.home-panel {
  min-height:250px; padding:13px 18px 11px 0;
  border:0; border-top:1px solid #aeb8ae; border-radius:0;
  background:transparent; box-shadow:none;
}
.home-panel + .home-panel {
  border-left:1px solid #d2d7ce; padding-left:18px;
}
.home-panel-heading {
  min-height:28px; margin-bottom:13px; padding-bottom:9px;
  border-bottom:1px solid #e0e2d9;
}
.home-panel-heading h2,.home-table-heading h2 {
  border:0; padding:0; font-family:inherit; font-size:16px; font-weight:600;
}
.home-panel-heading > span,.home-panel-heading a { font-size:11px; letter-spacing:.025em; }
.home-breadth-summary { justify-content:flex-start; gap:24px; }
.home-breadth-summary strong { font-family:"Times New Roman",serif; font-weight:500; }
.home-distribution { min-height:132px; }
.home-panel-link { border-top:1px solid #d9ddd3; padding-top:9px; }
.home-research-metrics { margin-top:4px; }
.home-research-metrics a { text-align:left; padding:0 7px; }
.home-research-metrics a:first-child { padding-left:0; }
.home-research-metrics strong { font-family:"Times New Roman",serif; font-size:28px; font-weight:500; }
.home-journal { line-height:1.7; }
.home-quotes {
  border:0; border-top:2px solid #1d2a27; border-radius:0;
  background:transparent; box-shadow:none;
}
.home-table-heading { padding:15px 0 13px; }
.home-table-heading h2 { font-size:18px; }
.home-table-heading p { margin-left:0; }
.home-table th { background:#eeede6; }
.home-table td { padding-top:13px; padding-bottom:13px; }
.home-shortcuts {
  margin-top:17px; padding:0; gap:0;
  border-top:1px solid #cfd5cb;
}
.home-shortcuts a {
  min-height:56px; padding:11px 14px 6px 0; border-top:0;
}
.home-shortcuts a + a { border-left:1px solid #d9ddd3; padding-left:16px; }
@media (max-width:1049px) and (min-width:821px) {
  .home-panels { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .home-panel:nth-child(3) { grid-column:1 / -1; border-left:0; padding-left:0; }
}
@media (max-width:820px) {
  main h1, main h2, .home-heading h2 { letter-spacing:-.015em; }
  .home-heading h2 { font-size:25px; }
  .home-heading-meta { padding-left:10px; }
  .home-view #overview { padding:12px 0 10px; }
  .home-panels { grid-template-columns:minmax(0,1fr); gap:0; }
  .home-panel { min-height:0; padding:14px 0; }
  .home-panel + .home-panel { border-left:0; padding-left:0; }
  .home-shortcuts { grid-template-columns:1fr; }
  .home-shortcuts a { min-height:46px; }
  .home-shortcuts a + a { border-left:0; border-top:1px solid #e0e2d9; padding-left:0; }
}

/* CLS-like editorial shell; LMN identity and market colors remain distinct. */
.sidebar { background:#fff !important; border-color:#e2e3e6 !important; color:#25242b !important; }
.brand,.brand strong { color:#25242b !important; }
.brand small { color:#70717a !important; }
.brand-icon { color:#fff !important; background:#c73635 !important; border-color:#c73635 !important; }
.side-nav .nav { color:#55545c !important; }
.side-nav .nav:hover { color:#aa292b !important; background:#f7f7f8 !important; }
.side-nav .nav.active { color:#aa292b !important; background:#fff !important; box-shadow:inset 0 -3px #c73635 !important; }
.nav-mark { color:#aa292b !important; }
.topbar { background:#fff !important; border-color:#e2e3e6 !important; }
.topbar .crumb,.topbar .crumb #viewTitle { color:#25242b !important; }
.page-heading h1,.home-heading h2 { color:#25242b !important; }
.page-heading p,.home-heading p { color:#70717a !important; }
.panel,.home-panel,.market-overview { border-color:#e2e3e6 !important; background:#fff !important; box-shadow:0 1px 2px rgba(20,20,28,.035) !important; }
.market-head h2,.home-panel-heading h2,.home-table-heading h2 { border-left-color:#c73635 !important; color:#25242b !important; }
.home-panel-link,.home-panel-heading a { color:#aa292b !important; }
.home-channel-bar { background:#302d3d !important; }
.home-channel-bar a:hover,.home-channel-bar a.selected { box-shadow:inset 0 -3px #c73635 !important; }
.home-quotes { border-top-color:#302d3d !important; background:transparent !important; }
.home-table th { background:#f2f3f5 !important; }
input,select,textarea { border-color:#e2e3e6; background:#fff; color:#25242b; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible { outline-color:#c73635; }
@media (max-width:820px) { .sidebar { background:#fff !important; } }
