.overview-primary-stack { display:grid; gap:14px; }
.overview-brief { min-height:0; overflow:visible; }
.overview-brief .status-list { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.overview-brief .status-row { display:grid; align-content:start; gap:6px; padding:10px; }
.overview-brief .status-row span { color:var(--muted); font-size:9px; }
.overview-brief .status-row b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.overview-chart-panel .dashboard-chart { height:320px; }
.overview-chart-panel { min-height:850px; overflow:hidden; }
.overview-tv-chart { height:clamp(740px,78vh,980px); min-height:740px; overflow:hidden; background:#fff; border-radius:14px; }
.overview-panel-head,.overview-brief-head,.overview-subhead { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.overview-panel-head h2,.overview-brief-head h2 { margin:0; }
.overview-panel-head p { margin:4px 0 0; }
.overview-timeframes { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:12px 0 9px; }
.overview-timeframes button { min-width:42px; padding:7px 10px; color:var(--text); background:#0e1829; border:1px solid rgba(148,163,184,.18); border-radius:8px; cursor:pointer; }
.overview-timeframes button:hover,.overview-timeframes button:disabled { color:#041016; background:var(--cyan); border-color:var(--cyan); }
.overview-timeframes small { margin-left:auto; color:var(--muted); }
.overview-brief-head { margin-bottom:10px; }
.overview-brief-head small { color:var(--muted); font-size:9px; }
.overview-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; margin-top:8px; }
.ai-context-grid { grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); }
.ai-provider-note { display:flex; align-items:center; gap:12px; }
.ai-provider-note p { margin:0; }
.overview-signal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.overview-signal-panel { min-width:0; }
.overview-ranked-list { display:grid; gap:4px; }
.overview-ranked-list > button { width:100%; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; color:var(--text); background:#0e1829; border:1px solid transparent; border-radius:9px; text-align:left; }
.overview-ranked-list > button:hover { border-color:rgba(53,208,230,.28); background:rgba(53,208,230,.07); }
.overview-ranked-list span:nth-child(2) { display:grid; min-width:0; }
.overview-ranked-list small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.overview-ranked-list strong { color:var(--cyan); font-size:10px; text-align:right; }
.overview-rank { color:var(--muted); font-size:9px; }
.overview-intelligence-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:14px; }
.overview-feed,.overview-event-list { display:grid; }
.overview-feed > a { display:grid; grid-template-columns:82px minmax(0,1fr) 40px; align-items:center; gap:10px; padding:10px 4px; color:var(--text); border-bottom:1px solid rgba(148,163,184,.1); text-decoration:none; }
.overview-feed > a:hover { color:var(--cyan); }
.overview-feed time,.overview-event-list time { color:var(--muted); font-size:9px; }
.overview-feed span,.overview-event-list span { display:grid; min-width:0; gap:3px; }
.overview-feed b,.overview-event-list b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.overview-feed small,.overview-event-list small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.overview-feed strong { color:var(--cyan); text-align:right; }
.overview-subhead { margin:12px 0 5px; padding-top:8px; border-top:1px solid rgba(148,163,184,.1); font-size:10px; }
.overview-event-list > button { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:center; gap:8px; padding:8px 3px; color:var(--text); background:transparent; border:0; border-bottom:1px solid rgba(148,163,184,.08); text-align:left; }
.overview-event-list > button:hover b { color:var(--cyan); }
.overview-resource-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.overview-resource-grid > div { display:grid; grid-template-columns:1fr auto; gap:7px; padding:12px; background:#0e1829; border-radius:10px; }
.overview-resource-grid span,.overview-resource-grid small { color:var(--muted); font-size:9px; }
.overview-resource-grid i { grid-column:1/-1; height:5px; overflow:hidden; background:#08101d; border-radius:99px; }
.overview-resource-grid u { display:block; height:100%; max-width:100%; background:var(--cyan); text-decoration:none; }
@media (max-width:1100px) {
  .overview-intelligence-grid,.ai-context-grid { grid-template-columns:1fr; }
  .overview-brief .status-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .overview-signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .overview-signal-grid,.overview-resource-grid { grid-template-columns:1fr; }
  .overview-brief .status-list { grid-template-columns:1fr; }
  .overview-actions { justify-content:flex-start; }
  .overview-chart-panel .dashboard-chart { height:250px; }
  .overview-chart-panel { min-height:680px; }
  .overview-tv-chart { height:620px; min-height:600px; }
  .overview-feed > a { grid-template-columns:64px minmax(0,1fr); }
  .overview-feed > a > strong { display:none; }
}

/* Emerald–Amber cockpit layout */
.overview-kpi-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.overview-kpi { min-height:142px; display:grid; align-content:start; gap:7px; }
.overview-kpi small { color:var(--muted); font-weight:800; letter-spacing:.05em; }
.overview-kpi strong { margin:4px 0; font-size:28px; letter-spacing:-.03em; }
.overview-kpi span { color:var(--muted); font-size:10px; }
.overview-kpi.green::before { background:linear-gradient(90deg,#078c63,#43c897); }
.overview-kpi.emerald::before { background:linear-gradient(90deg,#0b9b68,#8ed8b5); }
.overview-kpi.amber::before { background:linear-gradient(90deg,#e99a13,#f6c35b); }
.overview-kpi.blue::before { background:linear-gradient(90deg,#3284d6,#78b7ea); }
.overview-market-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,360px);
  align-items:stretch;
  gap:14px;
}
.overview-market-grid > .panel { margin-bottom:14px; }
.overview-market-grid .overview-chart-panel { min-width:0; }
.overview-section-kicker { display:block; margin-bottom:5px; color:var(--amber); font-size:9px; font-weight:900; letter-spacing:.1em; }
.overview-momentum { min-height:850px; display:flex; flex-direction:column; overflow:hidden; border-color:#efd49f; }
.overview-momentum .overview-panel-head { padding-bottom:12px; border-bottom:1px solid var(--line); }
.overview-momentum-head,
.overview-momentum-list > button {
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 76px 44px;
  align-items:center;
  gap:8px;
}
.overview-momentum-head { padding:11px 5px 7px; color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.overview-momentum-list { flex:1; }
.overview-momentum-list > button {
  width:100%; min-height:75px; padding:10px 5px; color:var(--text); background:transparent;
  border:0; border-bottom:1px solid var(--line); text-align:left; cursor:pointer;
}
.overview-momentum-list > button:hover { background:#f5fbf7; }
.overview-momentum-list > button > span:nth-child(2) { display:grid; min-width:0; gap:4px; }
.overview-momentum-list small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.overview-momentum-list strong { text-align:right; font-size:10px; }
.overview-momentum-list em { padding:5px 3px; color:#08754f; background:#e7f7ef; border:1px solid #b9e6d0; border-radius:6px; font-size:10px; font-style:normal; font-weight:900; text-align:center; }
.overview-momentum footer { display:flex; gap:14px; padding-top:12px; color:var(--muted); font-size:9px; }
.overview-momentum footer span { display:flex; align-items:center; gap:5px; }
.overview-momentum .dot { width:8px; height:8px; display:inline-block; border-radius:50%; }
.overview-momentum .dot.green { background:#10b981; }
.overview-momentum .dot.amber { background:#e99a13; }
.overview-lower-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr) minmax(0,1.15fr);
  gap:14px;
  align-items:stretch;
}
.overview-lower-grid > .panel { min-width:0; min-height:340px; }
.overview-lower-grid .overview-brief .status-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.overview-lower-grid .overview-brief .overview-actions { justify-content:flex-start; }
.overview-lower-grid .overview-feed > a { grid-template-columns:68px minmax(0,1fr) 34px; }
.overview-watch-list { display:grid; }
.overview-watch-list > button { display:grid; grid-template-columns:minmax(0,1fr) 72px 42px; align-items:center; gap:7px; min-height:45px; padding:8px 3px; color:var(--text); background:transparent; border:0; border-bottom:1px solid var(--line); text-align:left; cursor:pointer; }
.overview-watch-list > button:hover { background:#f5fbf7; }
.overview-watch-list > button span { display:grid; min-width:0; }
.overview-watch-list small { overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.overview-watch-list strong { text-align:right; }
.overview-watch-list em { color:var(--green); font-size:9px; font-style:normal; text-align:right; }
.overview-secondary-grid { margin-top:0; }
@media (max-width:1280px) {
  .overview-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .overview-market-grid { grid-template-columns:minmax(0,1fr) 310px; }
  .overview-lower-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .overview-lower-grid .overview-news { grid-column:1/-1; }
}
@media (max-width:980px) {
  .overview-market-grid,.overview-lower-grid { grid-template-columns:1fr; }
  .overview-momentum { min-height:auto; }
  .overview-lower-grid .overview-news { grid-column:auto; }
}
@media (max-width:680px) {
  .overview-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .overview-kpi { min-height:112px; padding:12px; }
  .overview-kpi strong { font-size:20px; }
  .overview-market-grid { gap:10px; }
  .overview-lower-grid { gap:10px; }
  .overview-lower-grid .overview-brief .status-list { grid-template-columns:1fr; }
  .overview-momentum-list > button { min-height:64px; }
}

/* Full-width market chart refinement */
.overview-kpi-grid { gap:10px; margin-bottom:12px; }
.overview-kpi { min-height:88px; padding:12px 14px; gap:3px; }
.overview-kpi strong { margin:1px 0; font-size:21px; }
.overview-kpi span { font-size:9px; }
.overview-market-grid { display:block; }
.overview-market-grid .overview-chart-panel { width:100%; min-height:900px; }
.overview-market-grid .overview-tv-chart { height:clamp(800px,82vh,1060px); min-height:800px; }
.overview-momentum-row { margin-bottom:14px; }
.overview-momentum-row .overview-momentum { min-height:auto; margin-bottom:0; }
.overview-momentum-row .overview-momentum-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.overview-momentum-row .overview-momentum-head { display:none; }
.overview-momentum-row .overview-momentum-list > button { min-height:62px; }
@media (max-width:980px) {
  .overview-market-grid .overview-chart-panel { min-height:780px; }
  .overview-market-grid .overview-tv-chart { height:700px; min-height:680px; }
}
@media (max-width:680px) {
  .overview-kpi { min-height:86px; }
  .overview-market-grid .overview-chart-panel { min-height:690px; }
  .overview-market-grid .overview-tv-chart { height:610px; min-height:590px; }
  .overview-momentum-row .overview-momentum-list { grid-template-columns:1fr; }
}

/* Native intraday chart sourced from StockSaku VPS */
.overview-native-wrap { display:grid; gap:10px; }
.overview-native-canvas { display:block; width:100%; height:clamp(600px,68vh,820px); background:#fff; border:1px solid var(--line); border-radius:12px; }
.overview-chart-notice { padding:9px 12px; color:#8a5a08; background:#fff6df; border:1px solid #efd49f; border-radius:9px; font-size:10px; }
.overview-indicator-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.overview-indicator-strip > span { padding:10px 12px; background:#f7fbf8; border:1px solid #dcebe3; border-radius:10px; }
.overview-indicator-strip small,.overview-indicator-strip b { display:block; }
.overview-indicator-strip small { color:var(--muted); font-size:8px; text-transform:uppercase; }
.overview-indicator-strip b { margin-top:5px; font-size:13px; }
@media (max-width:680px) {
  .overview-native-canvas { height:470px; }
  .overview-indicator-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .overview-indicator-strip > span:last-child { grid-column:1/-1; }
}

/* Keep the third-party TradingView iframe at the full chart height. */
.overview-tv-chart {
  display:grid !important;
  grid-template-rows:minmax(0,1fr) 24px !important;
  align-items:stretch !important;
}
.overview-tv-chart > .tradingview-widget-container__widget {
  grid-row:1;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden;
}
.overview-tv-chart > .tradingview-widget-container__widget iframe,
.overview-tv-chart iframe {
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
}
.overview-tv-chart > .tradingview-widget-copyright {
  grid-row:2;
  height:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  overflow:hidden;
  line-height:24px;
}
@media (max-width:680px) {
  .overview-tv-chart > .tradingview-widget-container__widget,
  .overview-tv-chart > .tradingview-widget-container__widget iframe,
  .overview-tv-chart iframe { min-height:0 !important; }
}
