.dashboard-page { color: var(--text); }
.dash-shell { max-width: 1540px; margin: 0 auto; padding: 20px 10px 55px; }
.dash-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.dash-kicker { margin: 0 0 7px; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.dash-header h1 { margin: 0 0 8px; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.045em; line-height: 1; }
.dash-header p:last-child { margin: 0; color: var(--text-meta); font-size: 13px; }
.dash-market { display: flex; flex: none; gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--panel); }
.dash-market button { padding: 9px 13px; border: 0; border-radius: 8px; background: transparent; color: var(--text-meta); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.dash-market button.is-active { background: var(--accent); color: var(--md-sys-color-on-primary); }
.dash-market button:focus-visible, .dash-panel-head button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.dash-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 24px; border-block: 1px solid var(--border); }
.dash-metric { display: grid; align-content: space-between; gap: 8px; min-height: 94px; padding: 15px 19px; border: 0; border-right: 1px solid var(--border); border-radius: 0; background: transparent; }
.dash-metric:last-child { border-right: 0; }
.dash-metric span { color: var(--text-meta); font-size: 11px; font-weight: 700; }
.dash-metric strong { font-size: clamp(26px, 3vw, 39px); font-variant-numeric: tabular-nums; letter-spacing: -.04em; line-height: 1; }
.dash-metric small { color: var(--text-meta); font-size: 11px; }
.dash-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dash-more { min-width: 0; margin-top: 10px; border-top: 1px solid var(--border); }
.dash-more summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; min-height: 56px; cursor: pointer; font-size: 15px; font-weight: 700; list-style: none; }
.dash-more summary::-webkit-details-marker { display: none; }
.dash-more summary span { color: var(--text-meta); font-size: 11px; font-weight: 400; }
.dash-more summary::after { content: '+'; margin-left: auto; color: var(--text-meta); font-size: 22px; font-weight: 400; }
.dash-more[open] summary::after { content: '−'; }
.dash-more summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.dash-more > .dash-grid { margin-top: 12px; }
.dash-panel { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--panel); }
.dash-panel--wide { grid-column: 1 / -1; }
.dash-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.dash-panel-head h2 { margin: 0; font-size: clamp(17px, 2vw, 22px); letter-spacing: -.025em; }
.dash-panel-head > span { color: var(--text-meta); font-size: 11px; text-align: right; }
.dash-panel-head button { padding: 5px 0; border: 0; background: transparent; color: var(--accent); font: inherit; font-size: 11px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.dash-trend-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr); gap: 20px; align-items: stretch; }
.dash-impact-chart { display: block; width: 100%; min-height: 190px; }
.dash-impact-chart text { fill: var(--text-meta); font-size: 11px; }
.dash-gridline { stroke: var(--border); stroke-width: 1; }
.dash-observed-dot { fill: var(--accent); stroke: var(--panel); stroke-width: 2; }
.dash-trend-controls .dash-mode-toggle {display:flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:transparent;color:var(--text-meta);font:inherit;font-size:11px;text-align:left;cursor:pointer}
.dash-switch-track {position:relative;display:block;flex-shrink:0;width:36px;height:20px;border:1px solid var(--border);border-radius:20px;background:var(--panel-2)}
.dash-switch-track::before {content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-meta)}
.dash-mode-toggle[aria-checked="true"] .dash-switch-track {background:var(--accent)}
.dash-mode-toggle[aria-checked="true"] .dash-switch-track::before {transform:translateX(16px);background:var(--panel)}
.dash-mode-toggle:focus-visible {outline:2px solid var(--accent);outline-offset:3px;border-radius:5px}
.dash-fit { fill: none; stroke-width: 2; stroke-dasharray: 7 5; }
.dash-fit--linear { stroke: color-mix(in srgb, var(--text) 30%, #8cbdad); }
.dash-fit--logarithmic { stroke: color-mix(in srgb, var(--text) 30%, #d1b17c); }
.dash-fit--exponential { stroke: color-mix(in srgb, var(--text) 30%, #87b8c9); }
.dash-fit--best { stroke: var(--accent); stroke-width: 3; stroke-dasharray: none; }
.dash-fit--projection { stroke-dasharray: 4 4; }
.dash-confidence { fill: var(--accent); fill-opacity: .12; }
.dash-prediction { fill: var(--accent); fill-opacity: .2; stroke: var(--accent); stroke-opacity: .35; stroke-dasharray: 3 3; }
.dash-forecast-zone { fill: var(--accent); fill-opacity: .04; }
.dash-forecast-divider { stroke: var(--text-meta); stroke-width: 1; stroke-dasharray: 2 4; }
.dash-projection-dot { fill: var(--panel); stroke: var(--accent); stroke-width: 2; }
.dash-chart-key, .dash-coverage-key { display: flex; flex-wrap: wrap; gap: 10px 18px; color: var(--text-meta); font-size: 11px; }
.dash-chart-key span, .dash-coverage-key span { display: inline-flex; align-items: center; gap: 6px; }
.dash-chart-key i, .dash-coverage-key i { display: inline-block; width: 16px; height: 3px; background: var(--accent); }
.dash-chart-key .dash-key-fit { background: var(--text-meta); }
.dash-chart-key .dash-key-observed { width: 7px; height: 7px; border-radius: 50%; }
.dash-chart-key .dash-key-model--linear { background: color-mix(in srgb, var(--text) 30%, #8cbdad); }
.dash-chart-key .dash-key-model--logarithmic { background: color-mix(in srgb, var(--text) 30%, #d1b17c); }
.dash-chart-key .dash-key-model--exponential { background: color-mix(in srgb, var(--text) 30%, #87b8c9); }
.dash-chart-key .dash-key-best { background: var(--accent); }
.dash-chart-key .dash-key-confidence { height: 9px; opacity: .25; }
.dash-chart-key .dash-key-projection { height: 0; background: none; border-top: 2px dashed var(--accent); }
.dash-chart-key .dash-key-prediction { height: 9px; opacity: .45; border: 1px dashed var(--text); }
.dash-trend-readout .dash-projection-readout { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel); }
.dash-projection-readout > strong { font-size: 25px; font-variant-numeric: tabular-nums; }
.dash-projection-readout > span { font-size: 11px; line-height: 1.7; }
.dash-projection-readout .dash-kicker { margin: 0; }
.dash-trend-controls { display: grid; gap: 6px; width: min(280px, 100%); flex-shrink: 0; }
.dash-trend-panel > .dash-panel-head { flex-wrap: wrap; }
@media (max-width: 600px) {
  .dash-trend-controls { width: 100%; }
  .dash-trend-controls select { font-size: 16px; }
  .dash-show-fits input { min-height: 16px; padding: 0; }
}
.dash-trend-controls > label:first-child { font-size: 11px; font-weight: 600; color: var(--text-meta); }
.dash-trend-controls select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--border); border-radius: 10px; padding: 9px 12px; background: var(--panel-2); color: var(--text); font: inherit; font-size: 14px; }
.dash-show-fits { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 11px; color: var(--text-meta); cursor: pointer; }
.dash-show-fits input { width: 16px; height: 16px; accent-color: var(--accent); }
.dash-trend-controls :is(select, input):focus-visible { outline: 2px solid var(--text-meta); outline-offset: 3px; }
.dash-trend-scope { color: var(--text-meta); font-size: 11px; margin: 8px 0 0; }
.dash-model-comparison { width: 100%; border-collapse: collapse; font-size: 10px; }
.dash-model-comparison caption { text-align: left; color: var(--text-meta); padding: 8px 0; }
.dash-model-comparison :is(th, td) { padding: 8px 0; border-top: 1px solid var(--border); text-align: left; font-weight: 400; }
.dash-model-comparison td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dash-model-comparison .is-best th { font-weight: 700; }
.dash-model-comparison th span { display: inline-block; color: var(--text-meta); font-size: 9px; margin-left: 3px; }
.dash-trend-readout { display: grid; align-content: start; gap: 10px; padding: 18px; border: 1px solid var(--border); border-radius: 13px; background: var(--panel-2); }
.dash-trend-readout > strong { font-size: 27px; letter-spacing: -.04em; }
.dash-direction--rising { color: var(--up); }
.dash-direction--falling { color: var(--down); }
.dash-trend-readout > span { font-size: 12px; font-variant-numeric: tabular-nums; }
.dash-trend-readout > div { display: grid; gap: 2px; margin-top: 6px; font-size: 15px; }
.dash-trend-readout small, .dash-trend-readout > p:last-child { margin: 0; color: var(--text-meta); font-size: 11px; line-height: 1.45; }
.dash-coverage-key { margin-bottom: 10px; }
.dash-coverage-key .dash-key-stories { background: var(--accent); }
.dash-coverage-key .dash-key-sources { background: var(--up); }
.dash-coverage-chart { display: flex; align-items: end; gap: 5px; height: 184px; overflow-x: auto; padding-bottom: 2px; }
.dash-coverage-day { display: grid; grid-template-rows: 150px 22px; justify-items: center; align-items: end; flex: 1 0 31px; min-width: 31px; color: var(--text-meta); }
.dash-coverage-bars { display: flex; align-items: end; justify-content: center; gap: 2px; width: 100%; height: 145px; border-bottom: 1px solid var(--border); }
.dash-coverage-bars i { display: block; width: 9px; border-radius: 3px 3px 0 0; }
.dash-story-bar { background: var(--accent); }
.dash-source-bar { background: var(--up); }
.dash-coverage-day small { font-size: 9px; white-space: nowrap; }
.dash-distribution { display: grid; gap: 15px; padding: 8px 0; }
.dash-distribution > div { display: grid; grid-template-columns: 105px minmax(0, 1fr) 26px; align-items: center; gap: 10px; font-size: 11px; }
.dash-distribution-track { height: 16px; border-radius: 5px; background: var(--panel-2); overflow: hidden; }
.dash-distribution-bar { display: block; height: 100%; border-radius: 5px; }
.dash-distribution-bar--positive { background: var(--up); }
.dash-distribution-bar--negative { background: var(--down); }
.dash-distribution-bar--neutral { background: var(--text-meta); }
.dash-distribution strong { text-align: right; font-variant-numeric: tabular-nums; }
.dash-balance { display: grid; gap: 10px; }
.dash-day { display: grid; grid-template-columns: 62px 1fr 86px; align-items: center; gap: 12px; font-size: 11px; }
.dash-day time { color: var(--text-meta); }
.dash-day b { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.dash-day i { color: var(--text-meta); font-style: normal; }
.dash-bar { display: flex; gap: 3px; height: 15px; border-radius: 5px; background: var(--panel-2); overflow: hidden; }
.dash-bar-up { background: var(--up); }
.dash-bar-down { background: var(--down); }
.dash-footnote { margin: 14px 0 0; color: var(--text-meta); font-size: 11px; line-height: 1.45; }
.dash-sources { display: grid; gap: 1px; }
.dash-sources div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
.dash-sources span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dash-sources strong { color: var(--accent); font-variant-numeric: tabular-nums; }
.dash-list { display: grid; gap: 2px; }
.dash-list-row { display: grid; grid-template-columns: 55px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 57px; padding: 8px 0; border-top: 1px solid var(--border); }
.dash-list-row > div { min-width: 0; }
.dash-list-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.dash-list-row small { display: block; margin-top: 4px; color: var(--text-meta); font-size: 10px; }
.dash-score { display: inline-grid; place-items: center; min-width: 42px; min-height: 34px; padding: 2px 5px; border: 1px solid currentColor; border-radius: 9px; font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dash-score--positive { color: var(--up); }
.dash-score--negative { color: var(--down); }
.dash-score--neutral { color: var(--text-meta); }
.dash-ticker { display: inline-grid; place-items: center; min-height: 30px; padding: 3px 5px; border: 1px solid var(--border); border-radius: 7px; color: var(--accent); font-size: 11px; font-weight: 800; }
.dash-delta { color: var(--text-meta); font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dash-shifts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.dash-empty, .dash-loading, .dash-error { padding: 32px; border: 1px solid var(--border); border-radius: 14px; background: var(--panel); color: var(--text-meta); }
.dash-error { color: var(--down); }
@media (max-width: 900px) { .dash-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dash-metric:nth-child(2) { border-right: 0; } .dash-metric:nth-child(-n+2) { border-bottom: 1px solid var(--border); } .dash-grid { grid-template-columns: 1fr; } .dash-panel--wide { grid-column: auto; } .dash-trend-layout { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .dash-shell { padding: 16px 3px 40px; } .dash-header { align-items: stretch; flex-direction: column; gap: 16px; } .dash-market { width: max-content; } .dash-panel { padding: 16px; } .dash-shifts { grid-template-columns: 1fr; } .dash-day { grid-template-columns: 48px 1fr 72px; gap: 7px; } .dash-metric { padding: 13px; min-height: 105px; } .dash-metric strong { font-size: 26px; } }

.dash-personal { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:16px; margin-bottom:18px; }
.dash-personal > .dash-panel { min-width:0; }
.dash-watch-scope { margin:0 0 14px; color:var(--text-meta); font-size:11px; line-height:1.6; }
.dash-watch-list { display:grid; gap:12px; }
.dash-watch-stock { min-width:0; padding-bottom:12px; border-bottom:1px solid var(--border); }
.dash-watch-stock-head { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; font-size:11px; }
.dash-watch-stock-head .dash-score { display:inline; min-width:0; min-height:0; padding:0; border:0; font-size:11px; }
.dash-watch-stock-head > strong { font-size:13px; }
.dash-watch-stock-head > span:not(.dash-score) { color:var(--text-meta); }
.dash-watch-stock-head > span.dash-watch-price--positive { color:var(--up); }
.dash-watch-stock-head > span.dash-watch-price--negative { color:var(--down); }
.dash-watch-stock p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:8px 0 5px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.dash-watch-stock a { color:var(--text); text-decoration:none; }
.dash-watch-stock a:hover { text-decoration:underline; }
.dash-watch-stock small { color:var(--text-meta); font-size:10px; }
.dash-network-panel { padding:0; overflow:hidden; }
.dash-network-preview { display:block; height:100%; padding:20px; color:var(--text); text-decoration:none; border-radius:inherit; }
.dash-network-preview:hover { background:color-mix(in srgb,var(--text) 3%,transparent); }
.dash-network-preview:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; }
.dash-network-preview .dash-panel-head { margin-bottom:0; }
.dash-network-svg { display:block; width:100%; max-height:244px; }
.dash-network-svg line { stroke:var(--cx-edge); stroke-opacity:.45; stroke-width:1; }
.dash-network-svg .dash-network-default { stroke-dasharray:4 4; }
.dash-network-svg text { fill:var(--text-meta); font-size:11px; }
.dash-network-cluster { fill:var(--cx-cluster); }
.dash-network-story { fill:var(--cx-news); }
.dash-network-center { fill:var(--cx-stock); stroke:var(--cx-stock); stroke-width:1.5; }
.dash-network-svg .dash-network-symbol { fill:light-dark(#ffffff,#21152e); font-size:18px; font-weight:700; }
.dash-network-preview p { margin:0 0 10px; font-size:12px; color:var(--text-meta); }
.dash-network-open { display:block; font-size:12px; font-weight:600; }
.dash-network-preview > small { display:block; margin-top:8px; color:var(--text-meta); font-size:10px; line-height:1.5; }
.dash-watch-empty { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.dash-watch-empty h2 { margin:0; font-size:19px; }
@media(max-width:760px) {
  .dash-personal { grid-template-columns:minmax(0,1fr); gap:12px; }
  .dash-network-preview { padding:16px; }
  .dash-network-svg { max-height:220px; }
  .dash-watch-empty { flex-direction:column; align-items:flex-start; }
}

.dash-personal > .dash-panel:only-child { grid-column:1 / -1; }

.dash-personal .dash-panel-head button { min-height:32px; }
.dash-watch-setup { min-height:40px; padding:8px 12px; border:1px solid var(--border); border-radius:8px; background:var(--panel-2); color:var(--text); font:inherit; font-size:12px; cursor:pointer; }
.dash-watch-setup:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:760px) { .dash-network-svg text { font-size:14px; } }

.dash-network-layout { display:grid; grid-template-columns:minmax(0,1fr) 120px; height:100%; }
.dash-network-preview { min-width:0; }
.dash-network-watchlist { min-width:0; padding:20px 10px; border-left:1px solid var(--border); }
.dash-network-watchlist h3 { margin:0 0 5px; font-size:12px; }
.dash-network-watchlist > small { display:block; margin-bottom:12px; color:var(--text-meta); font-size:10px; }
.dash-network-stock-list { display:grid; gap:3px; max-height:320px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.dash-network-stock-list button { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; min-height:36px; padding:6px 8px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--text-meta); font:inherit; text-align:left; font-size:11px; cursor:pointer; }
.dash-network-stock-list button strong { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.dash-network-stock-list button span { font-variant-numeric:tabular-nums; font-size:10px; }
.dash-network-stock-list button[aria-pressed="true"] { background:color-mix(in srgb,var(--cx-stock) 12%,var(--panel)); border-color:color-mix(in srgb,var(--cx-stock) 35%,transparent); color:var(--text); }
.dash-network-stock-list button:focus-visible { outline:2px solid var(--cx-stock); outline-offset:-2px; }
.dash-network-stock-list button:disabled { opacity:.45; cursor:default; }
@media(max-width:760px) {
  .dash-network-layout { grid-template-columns:minmax(0,1fr); }
  .dash-network-watchlist { padding:14px 16px; border-left:0; border-top:1px solid var(--border); }
  .dash-network-stock-list { display:flex; max-height:none; overflow-x:auto; }
  .dash-network-stock-list button { flex:0 0 auto; min-height:40px; gap:10px; }
}

.dash-selected-stock-metrics { margin-bottom:12px; }

.dash-overall-trend{margin-bottom:14px}
.dash-overall-trend svg{display:block;width:100%;max-height:190px}
.dash-overall-trend svg path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}
.dash-overall-trend svg circle{fill:var(--accent)}
.dash-overall-trend svg text{fill:var(--text-meta);font-size:12px}
.dash-overall-readout{text-align:right;font-variant-numeric:tabular-nums}
.dash-overall-readout strong{display:block;font-size:24px}
.dash-overall-readout small{color:var(--text-meta);font-size:11px}
@media(max-width:600px){.dash-overall-trend svg{min-height:110px}.dash-overall-readout small{max-width:120px;display:block}.dash-overall-trend .dash-panel-head{gap:8px}.dash-overall-trend h2{font-size:17px}}

/* Advanced overview: reorderable cards, with the complete Simple data retained. */
.dw-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:16px; }
.dw-toolbar p,.dw-toolbar [role="status"] { margin:4px 0; font-size:11px; color:var(--text-meta); }
.dw-toolbar>button { margin-left:auto; }
.dw-toolbar button,.dw-card-tools button { border:1px solid var(--border); border-radius:7px; padding:6px 9px; background:var(--panel); color:var(--text); font:inherit; font-size:11px; cursor:pointer; min-height:32px; }
.dw-toolbar [role="status"] { width:100%; }
.dw-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.dw-board>.dw-card { grid-column:auto; min-width:0; margin:0; padding:16px; }
.dw-board>.dw-wide { grid-column:span 3; }
.dw-board>.dash-simple-balance { display:block; }
.dw-board .dash-panel h2,.dw-card h2 { font-size:17px; line-height:1.3; margin-top:0; }
.dw-card-tools { display:flex; gap:4px; align-items:center; margin:-4px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.dw-card-tools .dw-handle { margin-right:auto; cursor:grab; touch-action:none; }
.dw-handle:active { cursor:grabbing; }
.dw-card.dw-dragging { outline:2px solid var(--accent); opacity:.7; }
.dw-card :is(button,a):focus-visible,.dw-toolbar button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.dw-bars { display:grid; gap:9px; max-height:340px; overflow:auto; margin:16px 0; }
.dw-bar-row { display:grid; grid-template-columns:minmax(72px,1.1fr) minmax(50px,1fr) minmax(28px,auto); align-items:center; gap:9px; font-size:11px; }
.dw-bar-row>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dw-bar-row b { font-size:11px; text-align:right; font-variant-numeric:tabular-nums; }
.dw-track { position:relative; height:6px; background:color-mix(in srgb,var(--text) 7%,transparent); border-radius:3px; }
.dw-track--signed:after { content:''; position:absolute; left:50%; top:-3px; height:12px; border-left:1px solid var(--text-meta); }
.dw-fill { position:absolute; height:100%; background:var(--up,var(--accent)); border-radius:3px; }
.dw-fill--down { background:var(--down,#f08080); }
.dw-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.dw-totals strong { display:block; font-size:26px; }.dw-totals span { font-size:11px; color:var(--text-meta); }
.dw-minis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.dw-minis>div { border:1px solid var(--border); border-radius:8px; padding:10px; min-width:0; }.dw-minis h3 { font-size:12px; margin:0; }.dw-minis small { font-size:10px; color:var(--text-meta); }
.dw-line { display:block; width:100%; height:auto; }.dw-line line { stroke:var(--border); }.dw-line path { fill:none; stroke:var(--accent); stroke-width:2; }.dw-line circle { fill:var(--accent); }
.dash-ticker-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.8fr); gap:16px; margin:10px 0; align-items:center; }
.dash-ticker-company { font-size:12px; margin:0 0 10px; color:var(--text-meta); }
.dash-ticker-data { display:flex; flex-wrap:wrap; gap:12px 18px; }.dash-ticker-data small { display:block; font-size:10px; color:var(--text-meta); }.dash-ticker-data strong { display:block; font-size:20px; font-variant-numeric:tabular-nums; }
.dash-stock-stamp,.dash-stock-range { font-size:10px; color:var(--text-meta); line-height:1.5; }.dash-stock-spark { width:100%; height:auto; max-height:85px; }.dash-stock-spark path { fill:none; stroke:var(--accent); stroke-width:2; }
.dash-watch-list--compact { max-height:300px; overflow:auto; }.dash-watch-list--compact .dash-watch-stock { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:8px; padding:9px 0; }.dash-watch-list--compact .dash-watch-stock p { margin:0 0 4px; font-size:12px; line-height:1.4; }.dash-watch-list--compact .dash-watch-stock small { font-size:10px; }.dash-watch-list--compact .dash-watch-stock>span { font-size:12px; font-weight:600; }
.dw-board .dash-ticker-summary { grid-template-columns:1fr; }.dw-board .dash-ticker-summary>div:last-child { max-width:100%; }.dw-board .dash-network-watchlist { padding:10px; }.dw-board .dash-network-layout { grid-template-columns:minmax(0,1fr) 90px; }
@media(max-width:1150px){.dw-board{grid-template-columns:repeat(2,minmax(0,1fr));}.dw-board>.dw-wide{grid-column:span 2;}.dw-minis{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.dw-board{grid-template-columns:minmax(0,1fr);}.dw-board>.dw-wide{grid-column:auto;}.dw-minis{grid-template-columns:repeat(2,minmax(0,1fr));}.dash-ticker-summary{grid-template-columns:1fr;}.dw-toolbar>button{margin-left:0;}.dw-card-tools button{min-height:40px;}}

.dw-board>.dw-two { grid-column:span 2; }
.dw-board [data-card-id="watch-news"] .dash-ticker-summary { grid-template-columns:minmax(0,1fr) minmax(150px,.75fr); }
.dw-board [data-card-id="watch-news"] .dash-watch-scope { display:none; }
.dw-board [data-card-id="watch-news"] .dash-watch-list--compact { max-height:240px; }
@media(max-width:700px){.dw-board>.dw-two{grid-column:auto;}.dw-board [data-card-id="watch-news"] .dash-ticker-summary{grid-template-columns:1fr;}}

.dash-watch-list--compact { gap:0; }
.dw-heatmap { overflow:auto; margin:16px 0; font-size:10px; }
.dw-heat-row,.dw-heat-head { display:grid; grid-template-columns:150px repeat(var(--days),minmax(38px,1fr)); gap:3px; min-width:max-content; align-items:center; margin-bottom:3px; }
.dw-heat-row>span { padding:9px 4px; text-align:center; border-radius:3px; }
.dw-heat-row>strong { max-width:150px; overflow:hidden; text-overflow:ellipsis; font-weight:500; }
.dw-cell--up { background:color-mix(in srgb,var(--up) var(--strength),transparent); }.dw-cell--down { background:color-mix(in srgb,var(--down) var(--strength),transparent); }.dw-cell--zero { background:var(--panel-2); }.dw-cell--missing { background:transparent; color:var(--text-meta); border:1px dashed var(--border); }
.dw-scatter { display:block; width:100%; max-height:240px; }.dw-scatter line { stroke:var(--border); }.dw-scatter text { fill:var(--text-meta); font-size:10px; }.dw-scatter circle { fill:var(--up,var(--accent)); opacity:.75; stroke:var(--panel); }.dw-scatter circle.dw-scatter-down { fill:var(--down); }

.dash-news-columns { display:flex; justify-content:space-between; gap:12px; margin:12px 0 2px; font-size:10px; color:var(--text-meta); }

/* GridStack handles packing and dragging; card content determines its height. */
html[data-view-mode="advanced"] .dash-shell { max-width:none; }
.dw-board.grid-stack { display:block; gap:0; margin:0 -6px; }
.dw-board.grid-stack>.grid-stack-item { padding:0; min-width:0; }
.dw-board.grid-stack .dw-card.grid-stack-item-content { padding:0; margin:0; overflow:auto; container-type:inline-size; }
.dw-card-body { padding:16px; min-width:0; }
.dw-widths { display:flex; gap:2px; }
.dw-widths button[aria-pressed="true"] { background:var(--text); color:var(--bg); }
.dw-handle { user-select:none; }
.grid-stack-placeholder>.placeholder-content { border:2px dashed var(--accent); border-radius:14px; background:color-mix(in srgb,var(--accent) 8%,transparent); }
.dw-board .grid-stack-item.ui-draggable-dragging { z-index:1000; }
.dw-watch-layout { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(0,2fr); gap:20px; }
.dw-watch-layout>.dash-panel { padding:0; margin:0; border:0; background:none; box-shadow:none; min-width:0; }
.dw-watch-layout>.dash-network-panel { border-right:1px solid var(--border); padding-right:16px; }
.dw-watch-layout .dash-watch-scope { display:none; }
.dw-watch-layout .dash-ticker-summary { grid-template-columns:minmax(0,1fr) minmax(140px,.85fr); }
.dw-watch-layout .dash-watch-list--compact { max-height:240px; }
@container (max-width:700px) { .dw-watch-layout{grid-template-columns:1fr;}.dw-watch-layout>.dash-network-panel{border-right:0;border-bottom:1px solid var(--border);padding:0 0 12px;}.dw-watch-layout .dash-ticker-summary{grid-template-columns:1fr;}.dw-minis{grid-template-columns:repeat(2,minmax(0,1fr));} }
@container (max-width:380px) { .dw-card-tools{flex-wrap:wrap;}.dw-card-tools .dw-handle{margin-right:0;}.dw-widths{margin-left:auto;}.dw-minis{grid-template-columns:1fr;}.dw-board .dash-network-layout{grid-template-columns:1fr;} }
@media(max-width:700px){.dw-widths{display:none;}.dw-card-body{padding:12px;}}

.dw-board .dw-card.dash-simple-balance { display:block; }

.dw-board.grid-stack:not(.dw-editing) .dw-card-tools { display:none; }
.dw-toolbar [data-dw-edit] { margin-left:auto; }
.dw-toolbar [data-dw-edit][aria-pressed="true"] { background:var(--accent); color:var(--bg); border-color:var(--accent); }
.dw-board .ui-resizable-se { opacity:.8; }
.dw-board .ui-resizable-se::after { content:''; position:absolute; bottom:8px; right:8px; width:9px; height:9px; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent); }
.dw-board .grid-stack-item-content { overscroll-behavior:contain; }
.dw-board .dw-card-body { box-sizing:border-box; }

.dw-board.grid-stack > .grid-stack-item[data-manual-size="true"] > .dw-card.grid-stack-item-content { overflow:auto; }
