/* Light Industrial Executive theme and Overview components. */
:root {
  --bg:#f4f7fb; --bg-gradient:#f4f7fb; --card:#fff; --card2:#f8fafc;
  --card-subtle:#fff; --card-hover:#f8fafc; --text:#0f2740;
  --text-primary:#0f2740; --text-secondary:#334e68; --muted:#66788a;
  --muted-light:#8ca0b3; --line:#dce3ea; --line-light:#edf1f5;
  --line-strong:#c8d2dc; --blue:#2563eb; --blue-hover:#1d4ed8;
  --blue-subtle:#eff6ff; --green:#16a34a; --green-subtle:#f0fdf4;
  --amber:#d97706; --amber-subtle:#fffbeb; --red:#dc2626;
  --red-subtle:#fef2f2; --shadow:0 1px 3px rgba(15,39,64,.05);
  --shadow2:0 1px 2px rgba(15,39,64,.04);
}
body { background:var(--bg); color:var(--text); }
.topbar { background:rgba(255,255,255,.98); border-color:var(--line); box-shadow:none; }
.topbar-inner { min-height:65px; padding:10px 24px; }
.app-brand { display:flex; align-items:center; gap:11px; }
.app-brand .logo-slot { width:43px; height:39px; border-radius:8px; box-shadow:none; }
.app-brand strong { display:block; margin:0; font-size:15px; line-height:1.2; color:var(--text); }
.app-brand small { display:block; margin-top:3px; color:var(--blue); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.topbar-context { color:var(--muted); font-size:12px; }
.topbar .tabs { position:static; display:flex; flex-direction:row; flex-wrap:nowrap; gap:2px; margin:0; padding:5px 24px 0; overflow-x:auto; background:#fff; border-top:1px solid var(--line); }
.topbar .tab { width:auto; flex:0 0 auto; display:inline-flex; gap:7px; align-items:center; border:0; border-bottom:2px solid transparent; border-radius:8px 8px 0 0; background:transparent; color:#526779; padding:10px 11px 9px; font-size:12px; font-weight:650; white-space:nowrap; }
.topbar .tab span { color:#8194a6; font:700 14px/1 system-ui; }
.topbar .tab:hover { background:#f4f8fe; color:#1d4ed8; }
.topbar .tab.active { background:#eff6ff; color:#1d4ed8; border-bottom-color:#2563eb; box-shadow:none; }
.topbar .tab.active span { color:#2563eb; }
.control-bar { padding:9px 24px; background:#fff; border-bottom:1px solid var(--line); }
.top-actions, .filter-group, .action-group { display:flex; align-items:center; gap:8px; }
.top-actions { width:100%; margin:0; justify-content:space-between; }
.action-group { border-left:1px solid var(--line); padding-left:12px; }
.top-actions .select, .top-actions #dateSelect, .top-actions #shiftSelect { height:40px; min-width:135px; background:#fff; color:var(--text); border:1px solid var(--line); }
.top-actions .btn { height:40px; background:#fff; color:#334e68; border:1px solid var(--line); box-shadow:none; white-space:nowrap; }
.top-actions .btn-primary { background:#2563eb; color:#fff; border-color:#2563eb; }
.refresh-status { color:var(--muted); }
.shell { padding:16px 24px 40px; }
.headline { margin:0 0 16px; align-items:center; }
.headline h1 { margin:3px 0 4px; color:var(--text); font-size:29px; letter-spacing:-.03em; }
.headline h2 { margin:0 0 5px; color:#334e68; font-size:17px; font-weight:650; letter-spacing:0; }
.headline p { font-size:12px; }
.headline-meta b { color:var(--text); }
body[data-active-view="overview"] .headline {
  position:relative; isolation:isolate; overflow:hidden; height:185px; box-sizing:border-box;
  padding:24px 28px; border:1px solid var(--line); border-radius:14px;
  background:#e5edf3; box-shadow:var(--shadow);
}
body[data-active-view="overview"] .headline:before {
  content:""; position:absolute; z-index:-1; inset:0;
  background:linear-gradient(90deg,#f8fafc 0%,rgba(248,250,252,.98) 25%,rgba(248,250,252,.83) 47%,rgba(248,250,252,.15) 78%),url('/assets/images/mining-hero.webp') center 56%/cover no-repeat;
}
body[data-active-view="overview"] .headline > div:first-child { max-width:650px; }
body[data-active-view="overview"] .headline h1 { font-size:31px; }
body[data-active-view="overview"] .headline-meta { display:none; }
.headline-facts { display:none; }
body[data-active-view="overview"] .headline-facts { display:flex; align-items:center; gap:16px; margin-top:17px; }
.headline-facts span { color:#526779; font-size:11px; white-space:nowrap; }
.headline-facts b { color:var(--text); font-size:14px; }
.card { background:#fff; border-color:var(--line); box-shadow:var(--shadow); }
.section-head h3 { color:var(--text); font-size:18px; }
.section-head small { color:var(--muted); }
.section-head .hint { background:#f6f8fa; color:var(--muted); border-color:var(--line); }
.executive-overview { display:grid; gap:16px; }
.executive-hero { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr); background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
.hero-production { padding:17px 22px; }
.hero-kicker { color:var(--blue); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hero-production h3 { margin:6px 0 4px; color:var(--text); font-size:42px; line-height:1; letter-spacing:-.04em; }
.hero-production h3 small { color:#526779; font-size:17px; letter-spacing:0; }
.hero-production>p { margin:0; color:var(--muted); font-size:12px; }
.hero-fleet { display:flex; gap:28px; margin-top:13px; }
.hero-stat { display:grid; grid-template-columns:auto auto; align-items:baseline; gap:5px; border:0; background:transparent; padding:0; color:var(--text); text-align:left; }
.hero-stat b { font-size:19px; }
.hero-stat span { color:var(--muted); font-size:11px; }
.hero-stat:hover b { color:var(--blue); }
.hero-condition { padding:15px 20px; background:#f8fafc; border-left:1px solid var(--line); }
.hero-condition-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:5px; }
.hero-condition-head>span { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.hero-condition-head strong { padding:4px 8px; border-radius:999px; font-size:10px; }
.hero-condition-head .complete { background:#dcfce7; color:#15803d; }
.hero-condition-head .partial { background:#fff7ed; color:#b45309; }
.source-health-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid #e7edf2; font-size:11px; }
.source-health-row b { display:flex; align-items:center; gap:6px; font-size:10px; }
.source-health-row i { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; font-style:normal; }
.source-health-row .available { color:#15803d; }.source-health-row .available i { background:#dcfce7; }
.source-health-row .missing { color:#b45309; }.source-health-row .missing i { background:#ffedd5; }
.hero-condition>p { margin:7px 0 0; color:var(--muted); font-size:10px; }
.overview-kpi-title { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:-1px 0 -6px; }
.overview-kpi-title h3 { margin:0; font-size:16px; color:var(--text); }
.overview-kpi-title small { color:var(--muted); font-size:11px; }
.executive-kpi-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.executive-kpi-strip .meeting-kpi .kpi { min-height:103px; padding:12px!important; background:#fff!important; color:var(--text)!important; border:1px solid var(--line)!important; border-top:3px solid var(--blue)!important; box-shadow:var(--shadow)!important; }
.executive-kpi-strip .meeting-kpi.unavailable .kpi { border-top-color:var(--amber)!important; }
.executive-kpi-strip .kpi:after { display:none!important; }
.executive-kpi-strip .kpi .label { color:var(--muted)!important; font-size:11px!important; }
.executive-kpi-strip .kpi .value { margin:8px 0 4px!important; color:var(--text)!important; font-size:24px!important; line-height:1.12!important; white-space:nowrap; }
.executive-kpi-strip .kpi .sub { color:var(--muted)!important; font-size:10px!important; }
.executive-kpi-strip .kpi:focus-visible, .hero-stat:focus-visible, .topbar .tab:focus-visible { outline:3px solid rgba(37,99,235,.3); outline-offset:2px; }
.executive-analysis-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr) minmax(205px,.64fr); gap:12px; }
.executive-analysis-grid>.card { min-height:285px; }
.executive-analysis-grid .section { padding:15px 16px; }
.executive-comparison .shift-bars { margin-top:24px; gap:15px; }
.executive-comparison .shift-track { height:11px; }
.executive-context-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr); gap:12px; }
.insight-panel ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.insight-panel li { position:relative; padding-left:18px; color:#526779; font-size:12px; line-height:1.4; }
.insight-panel li:before { content:""; position:absolute; left:1px; top:.48em; width:6px; height:6px; border-radius:50%; background:var(--blue); }
.insight-panel b { color:var(--text); }
.compact-source .section-head { margin-bottom:5px; }
.source-meta { display:grid; grid-template-columns:65px 1fr; gap:5px 8px; padding-top:9px; font-size:10px; }
.source-meta span { color:var(--muted); }.source-meta b { color:var(--text); }
.advanced-heading { display:flex; justify-content:space-between; align-items:baseline; margin-top:5px; padding-top:16px; border-top:1px solid var(--line); }
.advanced-heading span { color:var(--text); font-size:19px; font-weight:800; }
.advanced-heading small { color:var(--muted); }
.advanced-grid { margin-top:-4px!important; }
.mtd-strip { margin:0!important; grid-template-columns:1.25fr repeat(3,1fr)!important; }
.mtd-note { display:none!important; }
.network-pill { box-shadow:none; }
.network-pill.online,.network-pill.live { background:#f0fdf4; border-color:#bbf7d0; color:#15803d; }
.network-pill.cache { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.network-pill.degraded,.network-pill.warn { background:#fffbeb; border-color:#fde68a; color:#b45309; }
.network-pill.error,.network-pill.offline { background:#fef2f2; border-color:#fecaca; color:#b91c1c; }
table,.data-table { background:#fff!important; color:var(--text)!important; border-color:var(--line)!important; }
thead th { position:sticky; top:0; background:#f8fafc!important; color:#526779!important; border-color:var(--line)!important; }
tbody td { color:var(--text)!important; border-color:#edf1f5!important; }
tbody tr:hover { background:#f8fafc!important; }
body.meeting-mode .topbar .tabs { display:none; }
body.meeting-mode .control-bar .action-group .btn:not(#meetingModeBtn) { display:none; }
body.meeting-mode .topbar-inner { min-height:54px; }
body.meeting-mode .headline { margin-bottom:10px; }
body.meeting-mode .headline-meta,body.meeting-mode .advanced-heading,
body.meeting-mode .mtd-strip,body.meeting-mode .advanced-grid,
body.meeting-mode .executive-context-grid { display:none!important; }
body.meeting-mode .shell { padding-top:12px; }
body.meeting-mode .executive-overview { gap:12px; }
body.meeting-mode .executive-kpi-strip .kpi .value { font-size:29px!important; }
body.meeting-mode .executive-analysis-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
body.meeting-mode .executive-analysis-grid .compact-source { display:none; }
body.meeting-mode .executive-analysis-grid>.card { min-height:340px; }
