/* Broad module home pages share the workstation's colors and readable, scrolling layout. */
.mpo-overview { display:flex; flex-direction:column; gap:14px; min-width:0; }
.overview-head { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.overview-head h2, .overview-head h3, .overview-card h2, .overview-card h3 { margin:0 0 6px; font-size:15px; letter-spacing:.02em; }
.mpo-overview p, .overview-note { margin:0; font-size:13px; line-height:1.55; white-space:normal; }
.overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; align-items:stretch; }
.overview-card { padding:14px; border:1px solid rgba(138,170,196,.28); border-radius:9px; background:rgba(116,149,175,.065); min-width:0; }
.overview-card > * + * { margin-top:9px; }
.overview-card .g-row { padding-left:0; padding-right:0; }
.overview-list { display:flex; flex-direction:column; gap:9px; margin:0; padding:0; list-style:none; }
.overview-list li { display:flex; justify-content:space-between; gap:12px; line-height:1.5; }
.overview-list li > div { min-width:0; flex:1; }
.overview-list small { display:block; font-size:12px; line-height:1.5; opacity:.8; }
.overview-list li > span { text-align:right; overflow-wrap:anywhere; }
.overview-note { padding:11px 13px; border-left:3px solid rgba(130,191,217,.65); background:rgba(112,156,185,.075); border-radius:0 7px 7px 0; }
.overview-nav { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.overview-nav button, .overview-nav a { min-height:34px; padding:7px 11px; font-size:12px; line-height:1.3; cursor:pointer; }
.overview-nav button:focus-visible, .overview-nav a:focus-visible { outline:2px solid #74d2ff; outline-offset:3px; }
.mpo-overview .g-row { align-items:flex-start; gap:9px; flex-wrap:wrap; }
.mpo-overview .g-name { flex:1 1 130px; white-space:normal; overflow:visible; }
.mpo-overview .g-meta { flex:1 1 180px; white-space:normal; }
.mpo-overview .g-fig { margin-left:auto; max-width:100%; white-space:normal; }
.mpo-overview .g-row-name, .mpo-overview .g-row-sub, .mpo-overview .g-hero-sub { white-space:normal; overflow:visible; text-overflow:clip; }
.mpo-overview .g-rows { min-width:0; }
.glancepane:has(.mpo-overview) .glance { height:auto; min-height:100%; }
.g-visual:has(.mpo-overview) { flex:none; min-height:0; }
.g-scroll:has(.mpo-overview), .mpo-overview.g-scroll { overflow:visible; max-height:none; flex:none; }
.overview-card .core-lcd { flex-wrap:wrap; }
/* Live charts occupy the opening screen; explanations stay one click away. */
.live-overview { gap:10px; }
.live-overview .overview-head { gap:8px; align-items:center; }
.live-overview .overview-head p { font-size:12px; }
.glance:has(.live-overview) { gap:8px; }
.glance:has(.live-overview) .g-hero { padding:9px 13px; }
.glance:has(.live-overview) .g-hero-val { font-size:36px; }
.glance:has(.live-overview) .g-stat b { font-size:18px; }
.glance .live-overview .mpo-viz { background:#081922ef !important; border-color:#86c8c74d !important; box-shadow:inset 0 1px #d3f6ff0c,0 3px 12px #05132326; }
.glance .live-overview .mpo-viz__title { color:#a9c6d3; padding:6px 9px 2px; }
.live-chart-grid > section { min-width:0; }
.live-metric > label { display:block; color:#b7cbd8; font-size:11px; }
.live-metrics.crypto-quote-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.crypto-quote-grid .live-metric { padding:7px 10px; }
.crypto-quote-grid .live-metric > b { font-size:21px; }
.live-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:8px; }
.live-metric { min-width:0; padding:10px 12px; border:1px solid #77b6ca40; border-radius:7px; background:linear-gradient(145deg,#091720e8,#112732c4); box-shadow:inset 0 1px #b8ecff14; }
.live-metric > span, .live-metric > small { display:block; font-size:11px; line-height:1.4; color:#b7cbd8; }
.live-metric > strong, .live-metric > b { display:block; margin:4px 0; color:#e3f9ff; font:600 25px/1.1 'Consolas',monospace; font-variant-numeric:tabular-nums; letter-spacing:-.8px; text-shadow:0 0 18px #77d9ff30; }
.live-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; }
.live-main-chart { position:relative; min-width:0; padding:12px; border:1px solid #82b3c747; border-radius:8px; background:linear-gradient(165deg,#081923f2,#0b131eed); box-shadow:inset 0 1px #dbf7ff12,0 5px 18px #05121f1a; color:#d1e4ee; }
.live-main-chart h3, .live-main-chart h4 { margin:0 0 8px; font-size:12px; letter-spacing:.04em; color:#cfeaf6; }
.live-main-chart canvas { display:block; width:100%; height:170px; min-height:130px; }
.live-main-chart small, .live-main-chart p { color:#9db3c5; font-size:11px; line-height:1.45; }
.live-main-chart .mpo-viz { min-height:150px; }
.live-chart { min-width:0; padding:10px; border:1px solid #82b3c747; border-radius:8px; background:#0b1b27eb; color:#d1e4ee; }
.live-chart h3 { margin:0 0 8px; font-size:12px; color:#d7ecf5; }
.live-chart canvas { height:170px !important; }
.live-chart .overview-note { padding:6px 8px; margin-top:7px; font-size:11px; color:#a9c2d2; }
.live-legend { display:flex; flex-wrap:wrap; gap:5px 10px; font-size:10px; margin:7px 0 2px; }
.live-legend span { border-left:3px solid var(--series,#8cd6dc); padding-left:5px; }
.live-legend b { font-variant-numeric:tabular-nums; }
.live-overview .overview-card { padding:10px 12px; }
.live-overview .overview-list { gap:6px; }
.live-overview .overview-nav { gap:6px; }
.live-overview .overview-nav button { min-height:30px; padding:5px 9px; }
.overview-help { border:1px solid #92abc333; border-radius:7px; padding:10px 12px; background:#18304409; }
.overview-help summary { cursor:pointer; font-size:12px; font-weight:600; color:inherit; }
.overview-help[open] summary { margin-bottom:10px; }
.overview-help p, .overview-help .overview-list { font-size:12px; }
.live-overview .g-hero { flex:none; }
@media (min-width:1100px) {
  .live-chart-grid:has(> :nth-child(3)) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .overview-grid { grid-template-columns:1fr; }
  .overview-card { padding:12px; }
  .overview-nav button, .overview-nav a { min-height:40px; flex:1 1 140px; }
  .live-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-metric > strong, .live-metric > b { font-size:21px; }
  .live-chart-grid { grid-template-columns:1fr; }
  .live-main-chart canvas { height:160px; }
}
