@font-face {
  font-family: "Volvo Centum";
  src: url("../fonts/volvo-centum/VolvoCentum_Rg.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Volvo Centum";
  src: url("../fonts/volvo-centum/VolvoCentum_SBd.ttf") format("truetype");
  font-weight: 650;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Volvo Centum";
  src: url("../fonts/volvo-centum/VolvoCentum_Bd.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #101820;
  --navy: #071927;
  --navy-2: #0d263a;
  --blue: #0B2DED;
  --blue-2: #6B6B6B;
  --steel: #647382;
  --soft: #F5F3F0;
  --line: #D7D7D7;
  --paper: #FFFFFF;
  --good: #1d7f5f;
  --warn: #FD6408;
  --bad: #b33d3d;
  --shadow: 0 16px 38px rgba(8, 28, 44, .10);
  --font-volvo: "Volvo Centum", "Noto Sans", Roboto, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html {
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  color: var(--ink);
  background: #eef3f7;
  font-family: var(--font-volvo);
  font-size: 13px;
  overflow-x: hidden;
}

.app-shell {
  min-height: 100vh;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 260px;
  gap: 16px;
  align-items: center;
  min-height: 86px;
  padding: 12px 20px;
  color: var(--ink);
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 10px 26px rgba(8, 28, 44, .10);
}

.app-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fff;
}

.brand {
  display: flex;
  align-items: center;
}

.brand-home {
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.brand-home:hover img {
  transform: translateY(-1px);
}

.brand img {
  width: 238px;
  height: 58px;
  object-fit: contain;
  object-position: left center;
  padding: 2px;
  transition: transform .18s ease;
}

.brand strong {
  display: block;
  color: #0b1f33;
  font-size: 20px;
  line-height: 1;
}

.brand span,
.header-status,
.eyebrow,
.status-card span,
.filter-head span {
  color: #607285;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.tabs {
  display: flex;
  gap: 6px;
  align-items: center;
  overflow: auto;
  padding: 4px;
  background: #eef3f7;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
}

.tab {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 8px 11px;
  color: #33485c;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.tab:hover { transform: translateY(-1px); }

.tab.is-active {
  color: #fff;
  background: var(--navy-2);
  border-color: var(--navy-2);
}

.header-status {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: right;
  text-transform: none;
  letter-spacing: 0;
}

.theme-toggle {
  min-height: 34px;
  padding: 7px 11px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.theme-toggle:hover {
  transform: translateY(-1px);
}

.logout-link {
  min-height: 34px;
  padding: 8px 11px;
  color: var(--navy);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
  line-height: 16px;
  text-decoration: none;
}

.logout-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(29, 95, 147, .16);
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #64d3a4;
  box-shadow: 0 0 0 4px rgba(100, 211, 164, .12);
}

.main {
  padding: 18px 20px 28px;
}

.hero-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}

.hero-title {
  display: flex;
  align-items: center;
  gap: 18px;
}

.hero-title img {
  width: 118px;
  height: 70px;
  object-fit: contain;
  padding: 8px 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(8, 28, 44, .08);
}

.eyebrow {
  margin: 0 0 5px;
  color: var(--blue);
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: 0;
}

.status-card {
  min-width: 250px;
  padding: 12px 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.status-card strong {
  display: block;
  margin-top: 4px;
  font-size: 14px;
}

.workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.content-area {
  min-width: 0;
}

.filter-rail {
  position: sticky;
  top: 104px;
  min-width: 0;
  max-height: calc(100vh - 118px);
}

.filter-card,
.panel,
.alert {
  background: rgba(255,255,255,.96);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.filter-card {
  padding: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(100vh - 118px);
}

.filter-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.filter-head strong {
  display: block;
  margin-top: 3px;
  font-size: 18px;
}

.filter-grid {
  display: grid;
  gap: 10px;
  min-width: 0;
}

label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #5c6a78;
  font-size: 11px;
  font-weight: 780;
}

label.is-hidden {
  display: none;
}

select,
input {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #ccd6df;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
}

.native-select-hidden {
  display: none;
}

.filter-combo {
  position: relative;
  min-width: 0;
}

.combo-button {
  width: 100%;
  min-height: 34px;
  padding: 7px 28px 7px 9px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #ccd6df;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

.combo-button::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 14px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #6d7e8e;
  border-bottom: 2px solid #6d7e8e;
  transform: rotate(45deg);
  pointer-events: none;
}

.combo-panel {
  position: fixed;
  z-index: 1000;
  padding: 8px;
  background: #fff;
  border: 1px solid #cbd8e4;
  border-radius: 8px;
  box-shadow: 0 18px 36px rgba(8, 28, 44, .18);
}

.combo-search {
  min-height: 32px;
  margin-bottom: 7px;
  background: #f7fafc;
  font-size: 12px;
}

.combo-options {
  display: grid;
  gap: 2px;
  max-height: min(320px, calc(100vh - 170px));
  overflow: auto;
}

.combo-option {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  min-height: 30px;
  padding: 7px 8px;
  color: #152536;
  background: transparent;
  border: 0;
  border-radius: 5px;
  font: inherit;
  font-size: 12px;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.combo-check {
  position: relative;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  background: #fff;
  border: 1px solid #aab8c6;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(8, 28, 44, .05);
}

.combo-label {
  min-width: 0;
}

.combo-option:hover,
.combo-option.is-selected {
  background: #e8f1f8;
}

.combo-option.is-selected::after {
  content: "✓";
  position: absolute;
  right: 9px;
  top: 7px;
  color: var(--blue);
  font-weight: 900;
}

.combo-option.is-selected::after {
  content: none;
}

.combo-option.is-selected .combo-check {
  background: var(--blue);
  border-color: var(--blue);
}

.combo-option.is-selected .combo-check::after {
  content: "\2713";
  position: absolute;
  left: 3px;
  top: -1px;
  color: #fff;
  font-weight: 900;
  font-size: 13px;
  line-height: 16px;
}

.combo-option.is-clear {
  color: #5f6f7e;
  font-weight: 800;
}

.combo-empty {
  padding: 8px;
  color: #687887;
  font-size: 12px;
}

.active-filters {
  display: grid;
  gap: 8px;
  margin: 12px 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.active-filters strong {
  color: #263746;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.active-filters > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.active-filter-chip {
  max-width: 100%;
  padding: 6px 9px;
  color: #101820;
  background: #FFFBF5;
  border: 1px solid #D9D9D9;
  border-radius: 999px;
  font: inherit;
  font-size: 11px;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
}

.active-filter-chip span {
  margin-right: 4px;
  color: #0B2DED;
  font-weight: 800;
}

.active-filter-chip::after {
  content: " ×";
  font-weight: 800;
}

.active-filter-empty {
  color: #6B6B6B;
  font-size: 11px;
  line-height: 1.35;
}

.button,
.icon-button {
  min-height: 34px;
  border-radius: 6px;
  font: inherit;
  font-weight: 780;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.button {
  padding: 8px 12px;
  color: #fff;
  background: var(--blue);
  border: 1px solid var(--blue);
}

.button.secondary,
.icon-button {
  color: var(--navy);
  background: #fff;
  border: 1px solid #cbd5df;
}

.button:hover,
.icon-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(29, 95, 147, .16);
}

.icon-button {
  width: 34px;
  padding: 0;
  font-size: 18px;
}

.export-button {
  width: 100%;
  margin-top: 12px;
}

.view {
  display: none;
}

.view.is-active {
  display: grid;
  gap: 14px;
  animation: sectionIn .22s ease-out both;
}

.executive-view.is-active {
  justify-content: center;
}

.executive-phone {
  width: min(100%, 980px);
  padding: 22px 26px 18px;
  background:
    radial-gradient(circle at 15% 0%, rgba(29, 95, 147, .09), transparent 30%),
    linear-gradient(180deg, #fff, #f8fbfd);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 22px 60px rgba(8, 28, 44, .14);
  overflow: hidden;
}

.exec-top,
.exec-title-row,
.exec-card-head,
.exec-alert,
.exec-perf-row {
  display: flex;
  align-items: center;
}

.exec-top {
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  margin: -2px -26px 22px;
  padding-left: 26px;
  padding-right: 26px;
  border-bottom: 1px solid var(--line);
}

.exec-top img {
  width: min(64vw, 360px);
  height: 74px;
  object-fit: contain;
  object-position: left center;
}

.exec-updated {
  color: #4b5565;
  font-size: 17px;
  white-space: nowrap;
}

.exec-updated span {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  background: #35a84a;
  border-radius: 50%;
  box-shadow: 0 0 0 7px rgba(53, 168, 74, .12);
  animation: pulseDot 1.8s ease-in-out infinite;
}

@keyframes pulseDot {
  0%, 100% { transform: scale(.9); opacity: .85; }
  50% { transform: scale(1.12); opacity: 1; }
}

.exec-title-row {
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.exec-title-row h2 {
  color: #061f55;
  font-size: clamp(31px, 5vw, 42px);
  line-height: 1.06;
}

.exec-title-row p {
  margin-top: 5px;
  color: #6b7280;
  font-size: clamp(19px, 3vw, 26px);
}

.exec-filter {
  width: 64px;
  height: 64px;
  color: #062a66;
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(8, 28, 44, .13);
  font-size: 34px;
  line-height: 1;
}

.exec-hero-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 150px;
  gap: 22px;
  align-items: center;
  min-height: 176px;
  margin-bottom: 26px;
  padding: 24px 32px;
  color: #fff;
  background:
    linear-gradient(135deg, #092c68, #00194c 55%, #052866),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.16), transparent 26%);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(5, 30, 78, .26);
  animation: executiveLift .42s ease-out both;
}

@keyframes executiveLift {
  from { opacity: 0; transform: translateY(12px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.exec-hero-icon {
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  border: 8px solid rgba(255,255,255,.78);
  border-right-color: rgba(255,255,255,.25);
  border-radius: 50%;
  font-size: 60px;
  font-weight: 900;
  animation: heroSpinIn .65s ease-out both;
}

@keyframes heroSpinIn {
  from { transform: rotate(-18deg) scale(.85); opacity: .3; }
  to { transform: rotate(0) scale(1); opacity: 1; }
}

.exec-hero-card strong {
  display: block;
  max-width: 520px;
  font-size: clamp(27px, 4vw, 38px);
  line-height: 1.12;
}

.exec-hero-card span {
  display: block;
  margin-top: 10px;
  max-width: 620px;
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.28;
  color: rgba(255,255,255,.90);
}

.exec-hero-trend {
  display: grid;
  place-items: center;
  width: 134px;
  height: 134px;
  justify-self: end;
  border: 5px solid rgba(255,255,255,.22);
  border-radius: 50%;
  text-align: center;
}

.exec-hero-trend b {
  color: #54d162;
  font-size: 38px;
  line-height: 1;
}

.exec-hero-trend small {
  display: block;
  max-width: 90px;
  color: #fff;
  font-size: 13px;
}

.exec-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.exec-kpi,
.exec-card {
  background: rgba(255,255,255,.96);
  border: 1px solid #dde5ee;
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(8, 28, 44, .09);
}

.exec-kpi {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 140px;
  padding: 22px;
  animation: cardIn .35s ease-out both;
}

.exec-kpi-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  color: #062a66;
  background: #f2f5f8;
  border-radius: 50%;
  box-shadow: 0 10px 18px rgba(8, 28, 44, .10);
  font-size: 30px;
}

.exec-kpi span {
  display: block;
  min-height: 34px;
  color: #2d3748;
  font-size: 16px;
}

.exec-kpi strong {
  display: block;
  color: #061f55;
  font-size: 36px;
  line-height: 1;
}

.exec-kpi small {
  display: block;
  margin-top: 15px;
  color: #6b7280;
  font-size: 14px;
}

.exec-kpi small.good { color: #22863a; }
.exec-kpi small.warn { color: #b57a00; }
.exec-kpi small.bad { color: #c2272d; }

.exec-card {
  padding: 22px;
  margin-bottom: 20px;
}

.exec-card-head {
  justify-content: space-between;
  margin-bottom: 16px;
}

.exec-card-head strong {
  color: #061f55;
  font-size: 21px;
}

.exec-card-head span {
  padding: 8px 14px;
  color: #5f6977;
  border: 1px solid #dde5ee;
  border-radius: 10px;
  font-size: 14px;
}

#chartExecutiveTrained {
  height: 250px;
  max-height: 250px;
}

.exec-performance {
  display: grid;
  gap: 10px;
}

.exec-perf-row {
  display: grid;
  grid-template-columns: 240px minmax(120px, 1fr) 120px 22px;
  gap: 18px;
  min-height: 56px;
  padding: 10px 12px;
  border: 1px solid #eef2f6;
  border-radius: 14px;
}

.perf-label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #061f55;
  font-size: 18px;
}

.perf-label b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  background: #f3f6fa;
  border-radius: 10px;
}

.perf-bar {
  position: relative;
  height: 14px;
  background: linear-gradient(90deg, #2c963e 0 33%, #7bbd49 33% 56%, #f4b431 56% 76%, #df2e35 76% 100%);
  border-radius: 999px;
  overflow: hidden;
}

.perf-bar i {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  background: rgba(255,255,255,.28);
  border-right: 3px solid rgba(255,255,255,.95);
  animation: widthIn .6s ease-out both;
}

@keyframes widthIn {
  from { width: 0; }
}

.perf-pill {
  justify-self: center;
  min-width: 104px;
  padding: 9px 14px;
  border-radius: 999px;
  text-align: center;
  font-weight: 750;
}

.perf-pill.good { color: #227a34; background: #e5f4e8; }
.perf-pill.warn { color: #b57a00; background: #fff2d2; }
.perf-pill.bad { color: #d32f37; background: #fde4e6; }

.exec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.exec-insight-body {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 18px;
  align-items: center;
}

.brain {
  display: grid;
  place-items: center;
  width: 94px;
  height: 94px;
  color: #fff;
  background: radial-gradient(circle at 30% 25%, #9fb5ff, #3151c9 72%);
  border-radius: 50%;
  box-shadow: 0 16px 28px rgba(49, 81, 201, .28);
  font-size: 28px;
  font-weight: 900;
}

.exec-insight p {
  color: #2d3748;
  font-size: 16px;
  line-height: 1.35;
}

.exec-link {
  margin-top: 16px;
  color: #0648b5;
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 800;
}

.exec-alerts {
  display: grid;
}

.exec-alert {
  justify-content: space-between;
  min-height: 48px;
  gap: 12px;
  border-bottom: 1px solid #edf1f5;
}

.exec-alert:last-child {
  border-bottom: 0;
}

.exec-alert span {
  width: 28px;
  color: #f1a51d;
  font-size: 22px;
}

.exec-alert p {
  flex: 1;
  color: #283545;
  font-size: 15px;
}

.exec-alert b {
  color: #8d98a6;
  font-size: 28px;
  font-weight: 400;
}

.exec-bottom {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-top: 6px;
  padding: 10px 18px;
  background: #fff;
  border: 1px solid #dde5ee;
  border-radius: 24px;
  box-shadow: 0 14px 32px rgba(8, 28, 44, .10);
}

.exec-bottom button {
  display: grid;
  gap: 5px;
  place-items: center;
  min-height: 70px;
  color: #747b88;
  background: transparent;
  border: 0;
  border-radius: 18px;
  font: inherit;
  font-size: 14px;
}

.exec-bottom button span {
  font-size: 25px;
}

.exec-bottom button.is-active {
  color: #fff;
  background: #062a66;
  box-shadow: 0 10px 22px rgba(6, 42, 102, .28);
}

.executive-cockpit {
  width: min(100%, 1720px);
  min-height: 860px;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  color: #e8f2fb;
  background:
    radial-gradient(circle at 50% 105%, rgba(36, 126, 255, .24), transparent 24%),
    radial-gradient(circle at 75% 0%, rgba(104, 151, 186, .16), transparent 30%),
    linear-gradient(135deg, #071018, #0c1822 45%, #071018);
  border: 1px solid rgba(146, 173, 194, .22);
  border-radius: 30px;
  box-shadow: 0 30px 80px rgba(2, 10, 18, .45);
  overflow: hidden;
}

.exec-side-nav {
  display: grid;
  grid-template-rows: 58px repeat(6, 78px) 1fr;
  gap: 8px;
  padding: 12px 8px;
  background: linear-gradient(180deg, rgba(15, 35, 50, .94), rgba(7, 18, 28, .94));
  border: 1px solid rgba(120, 153, 178, .22);
  border-radius: 22px;
}

.exec-side-nav img {
  width: 68px;
  height: 42px;
  object-fit: contain;
  align-self: center;
  justify-self: center;
}

.exec-side-nav button {
  display: grid;
  place-items: center;
  gap: 5px;
  color: #aebdca;
  background: transparent;
  border: 0;
  border-radius: 14px;
  font: inherit;
  font-size: 11px;
}

.exec-side-nav button span {
  font-size: 22px;
}

.exec-side-nav button.is-active {
  color: #fff;
  background: linear-gradient(180deg, rgba(36, 126, 255, .32), rgba(36, 126, 255, .12));
  box-shadow: inset 0 0 0 1px rgba(93, 168, 255, .22);
}

.exec-main {
  min-width: 0;
  padding: 8px 4px 4px;
}

.exec-cockpit-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: start;
  margin-bottom: 16px;
}

.exec-kicker {
  margin-bottom: 8px;
  color: #7c8997;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .38em;
}

.exec-cockpit-top h2 {
  color: #fff;
  font-size: 31px;
  line-height: 1;
}

.exec-cockpit-top span {
  display: block;
  margin-top: 5px;
  color: #9ba9b7;
  font-size: 17px;
}

.exec-date-pill {
  padding: 10px 14px;
  color: #9fb2c3;
  background: rgba(16, 33, 47, .9);
  border: 1px solid rgba(137, 164, 186, .28);
  border-radius: 12px;
}

.exec-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.exec-ai-launch {
  min-height: 38px;
  padding: 9px 13px;
  color: #f7f8f8;
  background: linear-gradient(180deg, rgba(11,45,237,.52), rgba(11,45,237,.28));
  border: 1px solid rgba(143,194,255,.34);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 26px rgba(0,0,0,.22);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.exec-ai-launch:disabled {
  opacity: .62;
  cursor: progress;
}

.exec-date-pill strong {
  display: block;
  margin-top: 2px;
  color: #fff;
}

.exec-dashboard-grid {
  display: grid;
  grid-template-columns: 1.05fr 1.8fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}

.exec-gauge-panel,
.exec-trend-panel,
.exec-ai-panel,
.exec-kpi,
.exec-card {
  background: linear-gradient(180deg, rgba(18, 36, 50, .92), rgba(8, 20, 30, .94));
  border: 1px solid rgba(120, 153, 178, .20);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 16px 36px rgba(0,0,0,.20);
}

.exec-panel-title {
  padding: 12px 14px 0;
  color: #d8e8f6;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.exec-mini-action {
  margin-left: auto;
  padding: 4px 9px;
  color: #9bc7ff;
  background: rgba(126, 182, 242, .10);
  border: 1px solid rgba(126, 182, 242, .28);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.exec-mini-action:hover,
.exec-mini-action:focus-visible {
  background: rgba(126, 182, 242, .18);
  border-color: rgba(126, 182, 242, .48);
  outline: none;
  transform: translateY(-1px);
}

.exec-gauge {
  position: relative;
  display: grid;
  place-items: center;
  height: 206px;
  text-align: center;
  align-content: center;
  padding-top: 20px;
  overflow: hidden;
}

.exec-gauge-arc {
  --gauge-angle: 0deg;
  position: absolute;
  top: 28px;
  width: 250px;
  height: 126px;
  border-radius: 250px 250px 0 0;
  background:
    repeating-conic-gradient(from 270deg at 50% 100%, rgba(255,255,255,.58) 0 1deg, transparent 1deg 12deg),
    conic-gradient(from 270deg at 50% 100%, #1b7dff 0 var(--gauge-angle), rgba(255,255,255,.18) var(--gauge-angle) 180deg, transparent 180deg 360deg);
  box-shadow:
    inset 0 0 0 2px rgba(116, 170, 218, .20),
    inset 0 -18px 28px rgba(0, 0, 0, .48),
    0 0 12px rgba(27,125,255,.70),
    0 0 26px rgba(27,125,255,.38);
  filter: drop-shadow(0 0 10px rgba(27,125,255,.48));
  overflow: hidden;
}

.exec-gauge-arc::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: -2px;
  height: 112px;
  border-radius: 210px 210px 0 0;
  background:
    radial-gradient(circle at 50% 78%, rgba(255,255,255,.08), transparent 0 15%, rgba(0,0,0,.22) 16% 24%, transparent 25%),
    radial-gradient(circle at 50% 90%, #0b1823 0 48%, #111f2a 49% 70%, transparent 71%),
    linear-gradient(180deg, rgba(255,255,255,.06), #07131d 72%);
  box-shadow: inset 0 0 35px rgba(0,0,0,.72);
}

.exec-gauge-arc::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  z-index: 2;
  width: 5px;
  height: 90px;
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.10));
  border-radius: 999px;
  transform-origin: 50% 100%;
  transform: translateX(-50%) rotate(calc(-90deg + var(--gauge-angle)));
  box-shadow: 0 0 10px rgba(124, 185, 255, .55);
}

.exec-gauge strong {
  position: relative;
  color: #fff;
  margin-top: 2px;
  font-size: 48px;
  z-index: 1;
  text-shadow: 0 0 18px rgba(255,255,255,.16);
}

.exec-gauge span,
.exec-gauge small {
  position: relative;
  z-index: 1;
  color: #c7d4df;
}

.exec-gauge small {
  padding: 4px 9px;
  margin-top: 16px;
  background: rgba(0,0,0,.22);
  border-radius: 999px;
  font-size: 11px;
}

.exec-gauge::before,
.exec-gauge::after {
  position: absolute;
  top: 82px;
  z-index: 2;
  color: rgba(214, 229, 241, .55);
  font-size: 10px;
  font-weight: 900;
}

.exec-gauge::before {
  content: "0";
  left: calc(50% - 122px);
}

.exec-gauge::after {
  content: "100";
  right: calc(50% - 132px);
}

.exec-trend-panel {
  min-height: 222px;
  padding-bottom: 10px;
}

.exec-trend-head {
  display: flex;
  align-items: end;
  gap: 12px;
  padding: 8px 16px 0;
}

.exec-trend-head strong {
  color: #5da8ff;
  font-size: 38px;
  line-height: 1;
}

.exec-trend-head span {
  color: #b8c7d4;
}

.exec-valuation-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 16px 16px;
  min-height: 170px;
  align-items: stretch;
}

.exec-valuation-summary > div {
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(146, 184, 249, .22);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(11,45,237,.16), rgba(6,12,32,.38));
  box-shadow: inset 0 0 24px rgba(11,45,237,.08);
}

.exec-valuation-summary span,
.exec-valuation-summary small {
  color: #b8c7d4;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0;
}

.exec-valuation-summary strong {
  color: #5da8ff;
  font-size: clamp(27px, 2.1vw, 38px);
  line-height: 1;
  white-space: nowrap;
}

#chartExecutiveTrained,
#chartExecutiveCompliance {
  height: 170px;
  max-height: 170px;
}

.exec-ai-panel .exec-empty-state {
  margin: 12px;
}

.exec-empty-state {
  min-height: 128px;
  display: grid;
  place-items: center;
  gap: 9px;
  padding: 18px;
  color: #93a5b5;
  background: rgba(0,0,0,.12);
  border: 1px dashed rgba(145, 171, 194, .28);
  border-radius: 12px;
  text-align: center;
}

.exec-empty-state span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #7db5ff;
  background: rgba(45, 125, 230, .12);
  border-radius: 12px;
  font-weight: 900;
}

.exec-empty-state.large {
  min-height: 190px;
}

.exec-kpis {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.exec-kpi {
  grid-template-columns: 34px 1fr;
  min-height: 118px;
  gap: 10px;
  padding: 13px;
}

.exec-kpi-icon {
  width: 36px;
  height: 36px;
  color: #dbeeff;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.14), transparent 35%),
    rgba(93, 168, 255, .13);
  border: 1px solid rgba(144, 190, 232, .18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 16px rgba(0,0,0,.14);
}

.exec-kpi-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.exec-kpi span {
  min-height: 26px;
  color: #d1deea;
  font-size: 11px;
  text-transform: uppercase;
}

.exec-kpi strong {
  color: #fff;
  font-size: 28px;
}

.exec-kpi small {
  margin-top: 10px;
  font-size: 11px;
}

.exec-lower-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 10px;
}

.exec-lower-grid .exec-card {
  margin: 0;
}

.exec-chart-card {
  min-height: 250px;
}

.exec-card-head {
  margin-bottom: 12px;
}

.exec-card-head strong {
  color: #e8f2fb;
  font-size: 15px;
  text-transform: uppercase;
}

.exec-card-head span {
  color: #69a7ff;
  background: transparent;
  border: 0;
  font-size: 12px;
}

.exec-perf-row {
  grid-template-columns: 150px minmax(120px, 1fr) 52px 92px;
  min-height: 46px;
  color: #dce8f3;
  border-color: rgba(255,255,255,.06);
}

.perf-label {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 8px;
  color: #dce8f3;
  font-size: 13px;
}

.perf-label small {
  grid-column: 2;
  color: #8798a7;
  font-size: 10px;
}

.perf-label b {
  width: 28px;
  height: 28px;
  color: #8fc3ff;
  background: rgba(93, 168, 255, .12);
}

.perf-bar {
  height: 10px;
  background: rgba(255,255,255,.08);
}

.perf-bar i {
  background: linear-gradient(90deg, #5da8ff, #2f6fe4);
  border-right: 0;
  box-shadow: 0 0 16px rgba(93,168,255,.5);
}

.perf-value {
  color: #dce8f3;
  font-weight: 800;
}

.perf-pill {
  min-width: 82px;
  padding: 6px 10px;
  font-size: 11px;
}

.exec-dealer-ranking {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.exec-dealer-ranking strong {
  display: block;
  margin-bottom: 8px;
  color: #dce8f3;
}

.exec-dealer-ranking p {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 54px;
  gap: 8px;
  align-items: center;
  min-height: 22px;
  margin: 2px 0;
  color: #aebdca;
  font-size: 12px;
}

.exec-dealer-ranking p span {
  color: #7db5ff;
}

.exec-dealer-ranking p b {
  color: #fff;
  text-align: right;
}

.exec-dealer-ranking p em {
  min-width: 0;
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-active-tab="executive"] {
  background: #050b11;
  overflow-x: hidden;
}

body[data-active-tab="executive"] .main {
  padding-top: 18px;
  background:
    radial-gradient(circle at 78% 12%, rgba(72, 142, 214, .18), transparent 28%),
    radial-gradient(circle at 50% 96%, rgba(42, 118, 255, .18), transparent 22%),
    linear-gradient(180deg, #061019, #04080d);
}

body[data-active-tab="executive"] .hero-strip,
body[data-active-tab="executive"] .filter-rail {
  display: none;
}

body[data-active-tab="executive"] .workspace {
  grid-template-columns: minmax(0, 1fr);
}

body[data-active-tab="executive"] .content-area {
  max-width: none;
}

body[data-active-tab="quality"] .filter-rail {
  display: none;
}

body[data-active-tab="quality"] .workspace {
  grid-template-columns: minmax(0, 1fr);
}

body[data-active-tab="quality"] .content-area {
  max-width: none;
}

body[data-active-tab="executive"] .view {
  animation: none;
}

.executive-view {
  display: none;
}

.executive-view.is-active {
  display: block;
}

.executive-cockpit {
  position: relative;
  isolation: isolate;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 18px 18px 22px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 10%, transparent 90%, rgba(255,255,255,.04)),
    radial-gradient(circle at 50% 101%, rgba(80, 160, 255, .36), transparent 23%),
    linear-gradient(135deg, #07111a, #0b1721 52%, #060d14);
}

.executive-cockpit.is-starting {
  animation: cockpitIgnitionHalo 1.5s cubic-bezier(.16, .84, .2, 1);
}

@keyframes cockpitIgnitionHalo {
  0% {
    border-color: rgba(123, 197, 255, .96);
    box-shadow:
      0 0 0 1px rgba(191, 228, 255, .94),
      0 0 22px rgba(72, 168, 255, .95),
      0 0 74px rgba(28, 132, 255, .80),
      0 0 156px rgba(20, 111, 232, .52),
      inset 0 0 34px rgba(78, 169, 255, .36);
  }
  34% {
    border-color: rgba(104, 183, 255, .76);
    box-shadow:
      0 0 0 1px rgba(153, 214, 255, .76),
      0 0 18px rgba(72, 168, 255, .72),
      0 0 56px rgba(28, 132, 255, .50),
      0 0 112px rgba(20, 111, 232, .32),
      inset 0 0 24px rgba(78, 169, 255, .22);
  }
  72% {
    border-color: rgba(93, 160, 224, .40);
    box-shadow:
      0 0 0 1px rgba(126, 198, 255, .30),
      0 0 14px rgba(72, 168, 255, .32),
      0 0 34px rgba(28, 132, 255, .22),
      0 0 66px rgba(20, 111, 232, .12),
      inset 0 0 12px rgba(78, 169, 255, .10);
  }
  100% {
    border-color: rgba(146, 173, 194, .22);
    box-shadow:
      0 30px 80px rgba(2, 10, 18, .45),
      0 0 0 rgba(72, 168, 255, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .executive-cockpit.is-starting {
    animation: none;
  }
}

.executive-cockpit.is-boot-primed .exec-gauge-panel,
.executive-cockpit.is-boot-primed .exec-trend-panel,
.executive-cockpit.is-boot-primed .exec-side-stack,
.executive-cockpit.is-boot-primed .exec-area-evolution,
.executive-cockpit.is-boot-primed .exec-area-performance,
.executive-cockpit.is-boot-primed .exec-area-dealers,
.executive-cockpit.is-boot-primed .exec-area-featured,
.executive-cockpit.is-boot-primed .exec-kpi,
.executive-cockpit.is-boot-primed .exec-volvo-card {
  opacity: 0;
  transform: translateY(9px);
}

.executive-cockpit.is-starting .exec-gauge-panel,
.executive-cockpit.is-starting .exec-trend-panel,
.executive-cockpit.is-starting .exec-side-stack,
.executive-cockpit.is-starting .exec-area-evolution,
.executive-cockpit.is-starting .exec-area-performance,
.executive-cockpit.is-starting .exec-area-dealers,
.executive-cockpit.is-starting .exec-area-featured,
.executive-cockpit.is-starting .exec-kpi,
.executive-cockpit.is-starting .exec-volvo-card {
  animation: cockpitModuleIgnite .38s cubic-bezier(.16, .84, .2, 1) both;
}

.executive-cockpit.is-starting .exec-gauge-panel {
  animation-delay: .35s;
}

.executive-cockpit.is-starting .exec-kpi:nth-child(1) { animation-delay: 1.00s; }
.executive-cockpit.is-starting .exec-kpi:nth-child(2) { animation-delay: 1.13s; }
.executive-cockpit.is-starting .exec-kpi:nth-child(3) { animation-delay: 1.26s; }
.executive-cockpit.is-starting .exec-kpi:nth-child(4) { animation-delay: 1.39s; }
.executive-cockpit.is-starting .exec-kpi:nth-child(5) { animation-delay: 1.52s; }
.executive-cockpit.is-starting .exec-kpi:nth-child(6) { animation-delay: 1.65s; }
.executive-cockpit.is-starting .exec-kpi:nth-child(7) { animation-delay: 1.78s; }

.executive-cockpit.is-starting .exec-trend-panel { animation-delay: 2.05s; }
.executive-cockpit.is-starting .exec-side-stack { animation-delay: 2.32s; }
.executive-cockpit.is-starting .exec-area-evolution { animation-delay: 2.62s; }
.executive-cockpit.is-starting .exec-area-performance { animation-delay: 2.88s; }
.executive-cockpit.is-starting .exec-area-dealers { animation-delay: 3.14s; }
.executive-cockpit.is-starting .exec-area-featured { animation-delay: 3.40s; }
.executive-cockpit.is-starting .exec-volvo-card { animation-delay: 3.78s; }

.executive-cockpit.is-starting .exec-volvo-core img,
.executive-cockpit.is-starting .ego-car img {
  animation: cockpitVehicleWake .52s cubic-bezier(.16, .84, .2, 1) 4.02s both;
}

@keyframes cockpitModuleIgnite {
  0% {
    opacity: 0;
    transform: translateY(9px);
    filter: brightness(.82) drop-shadow(0 0 0 rgba(93, 168, 255, 0));
  }
  60% {
    opacity: 1;
    transform: translateY(0);
    filter: brightness(1.18) drop-shadow(0 0 16px rgba(93, 168, 255, .42));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: brightness(1) drop-shadow(0 0 0 rgba(93, 168, 255, 0));
  }
}

@keyframes cockpitVehicleWake {
  0% {
    opacity: .18;
    transform: translateY(8px) scale(.985);
    filter: brightness(.72) drop-shadow(0 0 0 rgba(146, 184, 249, 0));
  }
  55% {
    opacity: 1;
    transform: translateY(0) scale(1.012);
    filter: brightness(1.22) drop-shadow(0 0 18px rgba(146, 184, 249, .48));
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: brightness(1) drop-shadow(0 0 0 rgba(146, 184, 249, 0));
  }
}

@media (prefers-reduced-motion: reduce) {
  .executive-cockpit.is-boot-primed .exec-gauge-panel,
  .executive-cockpit.is-boot-primed .exec-trend-panel,
  .executive-cockpit.is-boot-primed .exec-side-stack,
  .executive-cockpit.is-boot-primed .exec-area-evolution,
  .executive-cockpit.is-boot-primed .exec-area-performance,
  .executive-cockpit.is-boot-primed .exec-area-dealers,
  .executive-cockpit.is-boot-primed .exec-area-featured,
  .executive-cockpit.is-boot-primed .exec-kpi,
  .executive-cockpit.is-boot-primed .exec-volvo-card {
    opacity: 1;
    transform: none;
  }

  .executive-cockpit.is-starting .exec-gauge-panel,
  .executive-cockpit.is-starting .exec-trend-panel,
  .executive-cockpit.is-starting .exec-side-stack,
  .executive-cockpit.is-starting .exec-area-evolution,
  .executive-cockpit.is-starting .exec-area-performance,
  .executive-cockpit.is-starting .exec-area-dealers,
  .executive-cockpit.is-starting .exec-area-featured,
  .executive-cockpit.is-starting .exec-kpi,
  .executive-cockpit.is-starting .exec-volvo-card,
  .executive-cockpit.is-starting .exec-volvo-core img,
  .executive-cockpit.is-starting .ego-car img {
    animation: none;
  }
}

.executive-cockpit::before {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: -1;
  border: 1px solid rgba(185, 208, 226, .16);
  border-radius: 24px;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 -3px 0 rgba(82, 164, 255, .50),
    0 0 34px rgba(45, 137, 255, .18);
  pointer-events: none;
}

.executive-cockpit::after {
  content: "";
  position: absolute;
  left: 9%;
  right: 9%;
  bottom: 19px;
  height: 2px;
  z-index: 0;
  background: linear-gradient(90deg, transparent, rgba(79, 159, 255, .95), transparent);
  filter: drop-shadow(0 0 9px rgba(79,159,255,.85));
  pointer-events: none;
}

.exec-main {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-bottom: 116px;
}

.exec-cockpit-top {
  padding: 2px 4px 4px;
}

.exec-date-pill {
  min-width: 172px;
  text-align: right;
}

.exec-dashboard-grid {
  grid-template-columns: minmax(220px, .95fr) minmax(420px, 1.9fr) minmax(260px, 1fr);
}

.exec-gauge-panel,
.exec-trend-panel,
.exec-ai-panel,
.exec-kpi,
.exec-card {
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(16px);
}

.exec-gauge-panel::after,
.exec-trend-panel::after,
.exec-ai-panel::after,
.exec-kpi::after,
.exec-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.07), transparent 30%, rgba(91, 171, 255, .035));
  pointer-events: none;
}

.exec-gauge-arc {
  animation: gaugePulse 4s ease-in-out infinite;
}

@keyframes gaugePulse {
  0%, 100% { filter: drop-shadow(0 0 14px rgba(27,125,255,.38)); transform: scale(1); }
  50% { filter: drop-shadow(0 0 24px rgba(27,125,255,.62)); transform: scale(1.015); }
}

.exec-kpi {
  animation: cockpitCardIn .42s ease both;
}

.exec-kpi:nth-child(2) { animation-delay: .04s; }
.exec-kpi:nth-child(3) { animation-delay: .08s; }
.exec-kpi:nth-child(4) { animation-delay: .12s; }
.exec-kpi:nth-child(5) { animation-delay: .16s; }
.exec-kpi:nth-child(6) { animation-delay: .20s; }
.exec-kpi:nth-child(7) { animation-delay: .24s; }

@keyframes cockpitCardIn {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.exec-volvo-core {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 4;
  width: 146px;
  height: 118px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  pointer-events: none;
}

.exec-volvo-core span {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 46%, #f7fafc 0 16%, #6e7882 17% 28%, #171e25 29% 54%, #01060a 55%),
    linear-gradient(145deg, rgba(255,255,255,.24), rgba(0,0,0,.5));
  border: 2px solid rgba(210, 222, 232, .42);
  box-shadow:
    inset 0 0 22px rgba(255,255,255,.14),
    inset 0 0 0 12px rgba(0,0,0,.28),
    0 0 0 10px rgba(0,0,0,.18),
    0 0 38px rgba(91,171,255,.42);
}

.exec-volvo-core img {
  position: relative;
  z-index: 1;
  width: 82px;
  height: 82px;
  object-fit: contain;
  padding: 13px;
  background: radial-gradient(circle, #f7f8f9, #cad0d5);
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0,0,0,.45);
}

.exec-source-strip {
  position: absolute;
  left: -82px;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: 220px repeat(5, minmax(120px, 1fr)) 150px;
  gap: 0;
  align-items: stretch;
  color: #c5d2df;
  background: rgba(8, 19, 29, .88);
  border: 1px solid rgba(136, 164, 186, .25);
  border-radius: 10px;
  box-shadow: 0 -12px 34px rgba(0,0,0,.24);
  overflow: hidden;
}

.exec-source-strip > div,
.exec-source-strip button {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 10px 14px;
  border-right: 1px solid rgba(255,255,255,.10);
}

.exec-source-strip strong {
  color: #eef6ff;
  font-size: 12px;
  font-weight: 800;
}

.exec-source-strip small {
  color: #91a2b3;
  font-size: 11px;
}

.exec-source-main {
  grid-template-columns: 42px 1fr;
  align-items: center;
  text-transform: uppercase;
}

.exec-source-main span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #fff;
  border: 1px solid rgba(210, 228, 243, .42);
  border-radius: 50%;
  font-weight: 900;
}

.exec-source-strip button {
  color: #dfefff;
  background: linear-gradient(180deg, rgba(64, 139, 220, .28), rgba(35, 76, 118, .24));
  border: 0;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.exec-lower-grid {
  grid-template-columns: 1.08fr .96fr .96fr;
}

.exec-lower-grid .exec-card {
  min-height: 226px;
}

.exec-lower-grid .exec-card:nth-child(4),
.exec-lower-grid .exec-card:nth-child(5),
.exec-lower-grid .exec-card:nth-child(6) {
  min-height: 190px;
}

.exec-featured-areas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
}

.exec-area-period {
  grid-column: 1 / -1;
  margin: -4px 0 2px;
  color: #8fb7dd;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.exec-area-ring {
  --ring: #5da8ff;
  position: relative;
  display: grid;
  grid-template-rows: 86px auto auto;
  justify-items: center;
  align-content: center;
  min-height: 150px;
  color: #eaf4ff;
  text-align: center;
}

.exec-area-ring::before {
  content: "";
  width: 82px;
  height: 82px;
  grid-row: 1;
  border-radius: 50%;
  background: conic-gradient(var(--ring) calc(var(--score) * 1%), rgba(255,255,255,.10) 0);
  mask: radial-gradient(circle, transparent 55%, #000 57%);
  -webkit-mask: radial-gradient(circle, transparent 55%, #000 57%);
  filter: drop-shadow(0 0 13px color-mix(in srgb, var(--ring), transparent 60%));
}

.exec-area-ring strong,
.exec-area-ring span,
.exec-area-ring small {
  position: relative;
  z-index: 1;
}

.exec-area-ring strong {
  position: absolute;
  top: 32px;
  color: #fff;
  font-size: 18px;
}

.exec-area-ring span {
  grid-row: 2;
  color: #d1dfec;
  font-size: 12px;
  font-weight: 800;
}

.exec-area-ring small {
  grid-row: 3;
  margin-top: 3px;
  color: #7db5ff;
  font-size: 10px;
}

.exec-area-ring.good { --ring: #5da8ff; }
.exec-area-ring.neutral { --ring: #58d68d; }
.exec-area-ring.warn { --ring: #f0a642; }

.exec-mobile-nav {
  display: none;
}

@keyframes sectionIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  padding: 10px 2px 2px;
}

.section-head span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.section-head strong {
  color: #53616f;
  font-size: 13px;
  font-weight: 650;
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
}

#view-overview .kpi-grid {
  grid-template-columns: repeat(6, minmax(112px, 1fr));
  gap: 8px;
}

.kpi-card {
  position: relative;
  min-height: 90px;
  padding: 13px;
  background: linear-gradient(180deg, #fff, #f7fafc);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(8, 28, 44, .06);
  animation: cardIn .24s ease-out both;
}

#view-overview .kpi-card {
  min-height: 124px;
  padding: 10px 11px 38px;
}

@keyframes cardIn {
  from { opacity: 0; transform: scale(.985); }
  to { opacity: 1; transform: scale(1); }
}

.kpi-card span {
  display: block;
  padding-right: 40px;
  min-height: 28px;
  color: var(--steel);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

#view-overview .kpi-card span {
  min-height: 24px;
  font-size: 9px;
  line-height: 1.12;
}

.kpi-card strong {
  display: block;
  margin-top: 9px;
  font-size: 23px;
  line-height: 1;
}

#view-overview .kpi-card strong {
  margin-top: 7px;
  font-size: 21px;
}

.kpi-compare {
  display: block;
  margin-top: 9px;
  color: #7a8794;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
}

.kpi-compare.good { color: #22863a; }
.kpi-compare.warn { color: #b57a00; }

.kpi-user-total-block {
  grid-column: span 2;
}

#view-overview .kpi-user-total-block {
  min-height: 124px;
}

.kpi-user-total-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

#view-overview .kpi-user-total-items {
  gap: 6px;
  margin-top: 9px;
}

.kpi-user-total-items > div,
.kpi-user-total-items > button {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 62px;
  padding: 10px;
  color: var(--ink);
  background: rgba(11,45,237,.045);
  border: 1px solid rgba(11,45,237,.10);
  border-radius: 8px;
  text-align: left;
  font: inherit;
}

#view-overview .kpi-user-total-items > div,
#view-overview .kpi-user-total-items > button {
  min-height: 46px;
  padding: 8px;
}

.kpi-user-total-items > button {
  cursor: pointer;
}

.kpi-user-total-items em {
  color: var(--steel);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
}

.kpi-user-total-items b {
  color: var(--navy);
  font-size: 21px;
  line-height: 1;
}

#view-overview .kpi-user-total-items b {
  font-size: 18px;
}

.kpi-user-total-items .drill-cue {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 0;
  padding: 0;
  color: #0b2ded;
  font-size: 10px;
  font-weight: 850;
}

#view-overview .kpi-user-total-items .drill-cue {
  justify-self: start;
  margin-top: 1px;
}

.kpi-user-total-items .drill-cue svg {
  width: 13px;
  height: 13px;
}

.kpi-user-total-items .drill-cue i {
  font-style: normal;
}

.kpi-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-bottom: 8px;
  color: #fff;
  background: linear-gradient(135deg, var(--blue), #2d7eb7);
  border-radius: 7px;
  font-size: 15px;
}

#view-overview .kpi-icon {
  width: 24px;
  height: 24px;
  margin-bottom: 7px;
}

.kpi-info {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  color: #526273;
  background: #edf3f7;
  border: 1px solid #d5e0ea;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 900;
  cursor: help;
}

.kpi-info::after {
  content: attr(data-tip);
  position: absolute;
  right: 0;
  top: 28px;
  z-index: 15;
  width: 230px;
  padding: 9px 10px;
  color: #fff;
  background: #102a43;
  border-radius: 7px;
  box-shadow: 0 12px 28px rgba(8, 28, 44, .22);
  font-size: 11px;
  line-height: 1.35;
  font-weight: 650;
  text-transform: none;
  letter-spacing: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .15s ease, transform .15s ease;
}

.kpi-info::after {
  display: none;
}

.kpi-info:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.panel {
  min-width: 0;
  padding: 14px;
}

.panel h2 {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
  margin-bottom: 12px;
  color: #142434;
  font-size: 15px;
  line-height: 1.2;
}

.panel h2::after {
  content: attr(data-subtitle);
  max-width: 48%;
  color: #7b8996;
  font-size: 11px;
  font-weight: 600;
  text-align: right;
}

.panel canvas {
  width: 100%;
  height: 300px;
  max-height: 300px;
}

.data-subtabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 4px;
  background: #eef3f7;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
}

.data-subtab {
  min-height: 34px;
  padding: 8px 12px;
  color: #33485c;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.data-subtab.is-active {
  color: #fff;
  background: var(--navy-2);
  border-color: var(--navy-2);
}

.data-panel {
  display: none;
}

.data-panel.is-active {
  display: block;
}

.upload-form {
  display: grid;
  gap: 14px;
}

.upload-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
}

.upload-grid.single {
  grid-template-columns: minmax(220px, 420px);
}

.upload-grid label {
  display: grid;
  gap: 8px;
  min-height: 86px;
  padding: 12px;
  color: #53616f;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.upload-grid input[type="file"] {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}

.upload-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.upload-actions span,
.upload-status {
  color: #607285;
  font-size: 12px;
  line-height: 1.45;
}

.upload-status {
  padding: 12px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.upload-status.is-loading {
  color: #0B2DED;
  border-color: #92B8F9;
}

.upload-status.is-success {
  color: #1d7f5f;
  border-color: rgba(29, 127, 95, .35);
}

.upload-status.is-error {
  color: #b33d3d;
  border-color: rgba(179, 61, 61, .35);
}

.exceptions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.exception-card.wide {
  grid-column: 1 / -1;
}

.exception-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.exception-list.columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exception-list li {
  min-height: 54px;
  padding: 12px 14px;
  color: #4d5d6c;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  line-height: 1.45;
}

.exception-list strong {
  color: var(--navy);
}

.exception-list code {
  padding: 1px 5px;
  color: #0b2ded;
  background: rgba(11,45,237,.08);
  border-radius: 5px;
  font-size: .92em;
  font-weight: 750;
}

#chartContentType {
  height: 360px;
  max-height: 360px;
}

.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.table-toolbar,
.ai-controls {
  display: flex;
  gap: 10px;
  align-items: center;
}

.table-toolbar {
  justify-content: space-between;
  margin-bottom: 8px;
}

.table-pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
  color: #5d6c7b;
  font-size: 12px;
  font-weight: 700;
}

.table-pager button {
  min-height: 28px;
  padding: 5px 9px;
  color: var(--navy);
  background: #fff;
  border: 1px solid #cbd5df;
  border-radius: 6px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.table-pager button:disabled {
  opacity: .45;
  cursor: default;
}

.table-toolbar input {
  max-width: 260px;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 12px;
}

th,
td {
  padding: 8px 10px;
  border-bottom: 1px solid #edf1f5;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #405060;
  background: #f7f9fb;
  cursor: pointer;
  user-select: none;
}

tbody tr:nth-child(even) td {
  background: #f6f9fc;
}

tbody tr:nth-child(odd) td {
  background: #ffffff;
}

tbody tr:hover td,
tbody tr:nth-child(even):hover td,
tbody tr:nth-child(odd):hover td {
  background: #e4f0f8;
}

.bar-list {
  display: grid;
  gap: 8px;
}

.bar-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) 2fr 52px;
  gap: 9px;
  align-items: center;
  font-size: 12px;
}

.bar-track {
  height: 9px;
  background: #e8edf3;
  border-radius: 999px;
  overflow: hidden;
}

.bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--blue), var(--blue-2));
  animation: barGrow .45s ease-out both;
  transform-origin: left center;
}

@keyframes barGrow {
  from { transform: scaleX(.1); opacity: .55; }
  to { transform: scaleX(1); opacity: 1; }
}

.ai-panel {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.ai-panel p {
  max-width: 720px;
  margin-top: 5px;
  color: var(--steel);
  font-size: 12px;
}

.report-output {
  display: grid;
  gap: 10px;
  color: #1f2f3f;
}

.report-output h3 {
  margin: 6px 0 2px;
  font-size: 14px;
}

.report-output ul {
  margin: 0;
  padding-left: 18px;
}

.ai-report-status {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 12px;
  padding: 5px 9px;
  color: #0B2DED;
  background: rgba(11,45,237,.08);
  border: 1px solid rgba(11,45,237,.18);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.ai-insight-card {
  place-items: stretch;
  grid-template-columns: 44px minmax(0, 1fr);
  text-align: left;
  min-height: 0;
  align-content: start;
}

.ai-insight-card strong,
.ai-tip b,
.ai-report-block h3 {
  color: inherit;
}

.ai-insight-card > div {
  min-width: 0;
}

.ai-insight-card strong,
.ai-insight-card em,
.ai-insight-card p,
.ai-tip b,
.ai-tip p,
.ai-tip small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ai-insight-card strong,
.ai-insight-card em,
.ai-insight-card p,
.ai-tip p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.ai-insight-card strong,
.ai-insight-card em,
.ai-tip p {
  -webkit-line-clamp: 1;
}

.ai-insight-card p {
  -webkit-line-clamp: 2;
}

.ai-insight-card em {
  display: block;
  margin-top: 3px;
  color: #8fc2ff;
  font-style: normal;
  font-weight: 800;
}

.ai-insight-card small {
  display: block;
  margin-top: 5px;
  color: #d6e6f7;
  font-size: 10px;
  line-height: 1.18;
}

.ai-insight-card p {
  margin: 3px 0 0;
  font-size: 10px;
  line-height: 1.14;
}

.ai-expand {
  justify-self: start;
  width: fit-content;
  margin-top: 5px;
  padding: 3px 7px;
  color: #8fc2ff;
  background: rgba(143,194,255,.08);
  border: 1px solid rgba(143,194,255,.24);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.ai-expand:hover,
.ai-expand:focus-visible {
  background: rgba(143,194,255,.16);
  border-color: rgba(143,194,255,.46);
}

.ai-tone-positive span { color: #5cd284; }
.ai-tone-warning span { color: #efb136; }
.ai-tone-critical span { color: #db363a; }

.ai-tips-list {
  display: grid;
  gap: 8px;
  padding: 0;
  border: 0;
}

.ai-tip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px 8px;
  padding: 7px 9px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  border-left: 3px solid #8fc2ff;
  border-radius: 10px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.ai-tip > * {
  min-width: 0;
}

.ai-tip:hover,
.ai-tip:focus-visible {
  transform: translateY(-1px);
  background: rgba(255,255,255,.07);
  outline: none;
}

.ai-tip-high { border-left-color: #db363a; }
.ai-tip-medium { border-left-color: #efb136; }
.ai-tip-low { border-left-color: #5cd284; }

.ai-tip b {
  font-size: 11px;
}

.ai-tip p {
  grid-column: 1 / -1;
  margin: 1px 0 0;
  color: #b9c8d5;
  font-size: 10px;
  line-height: 1.22;
}

.ai-tip small,
.ai-tip em {
  color: #8fc2ff;
  font-size: 9px;
  font-style: normal;
}

.ai-tip .ai-expand {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  justify-self: end;
  margin-top: 0;
}

.ai-insight-card strong,
.ai-insight-card em,
.ai-insight-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.ai-insight-card strong,
.ai-insight-card em {
  -webkit-line-clamp: 1;
}

.ai-insight-card p {
  -webkit-line-clamp: 2;
}

.exec-card-head .exec-mini-action {
  margin-left: 0;
  flex: 0 0 auto;
}

.ai-report-block {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: rgba(11,45,237,.045);
  border: 1px solid rgba(11,45,237,.10);
  border-radius: 10px;
}

.ai-report-block p {
  margin: 0;
  color: var(--steel);
}

.ai-report-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.ai-report-cards article,
.ai-report-block ol li {
  padding: 10px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
}

.ai-report-cards span,
.ai-report-block ol span {
  display: inline-flex;
  margin-left: 8px;
  color: #0B2DED;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.ai-report-cards p,
.ai-report-block ol p {
  margin: 6px 0;
}

.ai-report-cards em {
  color: #0B2DED;
  font-style: normal;
  font-weight: 700;
}

.ai-warning,
.ai-loading {
  padding: 10px 12px;
  color: #0d2740;
  background: #fff7e5;
  border: 1px solid rgba(239,177,54,.38);
  border-radius: 8px;
}

.panel-info {
  position: static;
  display: inline-grid;
  margin-left: 6px;
  vertical-align: 2px;
}

.notice,
.alert {
  padding: 12px;
}

.notice {
  margin-bottom: 10px;
  border: 1px solid #d8e4ef;
  border-radius: 8px;
  color: #455a6e;
  background: #f7fbff;
}

.alert {
  margin-bottom: 14px;
  border-color: #e2b2b2;
  background: #fff7f7;
}

@media (max-width: 1280px) {
  .app-header { grid-template-columns: 280px minmax(0, 1fr); }
  .header-status { display: none; }
  .workspace { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); }
  .kpi-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  #view-overview .kpi-grid { grid-template-columns: repeat(5, minmax(112px, 1fr)); }
  .upload-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}

@media (max-width: 980px) {
  .app-header {
    position: static;
    grid-template-columns: 1fr;
  }
  .workspace { grid-template-columns: 1fr; }
  .filter-rail {
    position: static;
    max-height: none;
    order: -1;
  }
  .filter-card { max-height: none; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chart-grid { grid-template-columns: 1fr; }
  .executive-phone {
    width: 100%;
    padding: 14px 12px 12px;
    border-radius: 18px;
  }
  .exec-top {
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .exec-top img {
    width: min(58vw, 260px);
    height: 58px;
  }
  .exec-updated {
    font-size: 13px;
  }
  .exec-title-row h2 {
    font-size: 28px;
  }
  .exec-title-row p {
    font-size: 18px;
  }
  .exec-filter {
    width: 52px;
    height: 52px;
    font-size: 28px;
  }
  .exec-hero-card {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }
  .exec-hero-icon {
    width: 68px;
    height: 68px;
    border-width: 5px;
    font-size: 34px;
  }
  .exec-hero-card strong {
    font-size: 24px;
  }
  .exec-hero-card span {
    font-size: 15px;
  }
  .exec-hero-trend {
    grid-column: 1 / -1;
    width: auto;
    height: auto;
    justify-self: stretch;
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    border-radius: 14px;
  }
  .exec-hero-trend b {
    font-size: 26px;
  }
  .exec-kpis,
  .exec-grid {
    grid-template-columns: 1fr;
  }
  .exec-kpi {
    min-height: 116px;
    padding: 16px;
  }
  .exec-kpi strong {
    font-size: 31px;
  }
  .exec-perf-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .perf-pill {
    justify-self: start;
  }
  .exec-insight-body {
    grid-template-columns: 78px 1fr;
  }
  .brain {
    width: 72px;
    height: 72px;
  }
  .exec-bottom {
    position: sticky;
    bottom: 8px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 8px;
  }
  .exec-bottom button {
    min-height: 58px;
    font-size: 11px;
  }
  .exec-bottom button span {
    font-size: 20px;
  }
  .executive-cockpit {
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 10px;
    border-radius: 24px;
  }
  .exec-side-nav {
    display: none;
  }
  .exec-cockpit-top {
    align-items: stretch;
    flex-direction: column;
  }
  .exec-kicker {
    letter-spacing: .18em;
    font-size: 10px;
  }
  .exec-cockpit-top h2 {
    font-size: 24px;
  }
  .exec-dashboard-grid,
  .exec-lower-grid {
    grid-template-columns: 1fr;
  }
  .exec-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .exec-kpi {
    min-height: 112px;
  }
  .exec-kpi strong {
    font-size: 25px;
  }
  .exec-perf-row {
    grid-template-columns: 1fr;
  }
  .exec-dealer-ranking {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .main { padding: 14px; }
  .hero-strip,
  .section-head,
  .ai-panel {
    align-items: stretch;
    flex-direction: column;
  }
  .filter-grid,
  .kpi-grid { grid-template-columns: 1fr; }
  .kpi-user-total-block { grid-column: auto; }
  .kpi-user-total-items { grid-template-columns: 1fr; }
  .upload-grid,
  .upload-grid.single { grid-template-columns: 1fr; }
  .panel h2 { display: block; }
  .panel h2::after {
    display: block;
    max-width: none;
    margin-top: 3px;
    text-align: left;
  }
}

@media (max-width: 980px) {
  body[data-active-tab="executive"] .main {
    padding: 10px;
  }

  .executive-cockpit {
    width: min(100%, 430px);
    min-height: 0;
    padding: 12px;
    border-radius: 34px;
  }

  .executive-cockpit::before {
    inset: 6px;
    border-radius: 28px;
  }

  .executive-cockpit::after,
  .exec-source-strip,
  .exec-volvo-core {
    display: none;
  }

  .exec-main {
    padding: 10px 6px 86px;
  }

  .exec-cockpit-top {
    flex-direction: row;
    align-items: start;
    gap: 10px;
  }

  .exec-kicker {
    display: none;
  }

  .exec-cockpit-top h2 {
    font-size: 19px;
  }

  .exec-cockpit-top span {
    font-size: 12px;
  }

  .exec-date-pill {
    min-width: 114px;
    padding: 8px 10px;
    font-size: 11px;
  }

  .exec-dashboard-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .exec-gauge-panel {
    min-height: 170px;
  }

  .exec-gauge {
    height: 150px;
  }

  .exec-gauge-arc {
    top: 28px;
    width: 178px;
    height: 90px;
    border-radius: 178px 178px 0 0;
  }

  .exec-gauge strong {
    margin-top: 14px;
    font-size: 34px;
  }

  .exec-trend-panel {
    min-height: 170px;
  }

  .exec-trend-head {
    display: block;
    padding: 8px 12px 0;
  }

  .exec-trend-head strong {
    font-size: 26px;
  }

  .exec-trend-head span {
    display: block;
    font-size: 10px;
  }

  #chartExecutiveTrained {
    height: 92px;
    max-height: 92px;
  }

  .exec-ai-panel {
    grid-column: 1 / -1;
  }

  .exec-ai-panel .exec-empty-state {
    min-height: 58px;
    grid-template-columns: 34px 1fr;
    text-align: left;
  }

  .exec-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .exec-kpi {
    min-height: 98px;
    padding: 11px;
  }

  .exec-kpi strong {
    font-size: 22px;
  }

  .exec-kpi small {
    font-size: 10px;
  }

  .exec-lower-grid {
    grid-template-columns: 1fr;
  }

  .exec-lower-grid .exec-card {
    min-height: 0;
  }

  .exec-chart-card {
    min-height: 210px;
  }

  #chartExecutiveCompliance {
    height: 150px;
    max-height: 150px;
  }

  .exec-featured-areas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exec-mobile-nav {
    position: fixed;
    left: 18px;
    right: 18px;
    bottom: 12px;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    padding: 7px;
    background: rgba(8, 18, 28, .92);
    border: 1px solid rgba(143, 171, 194, .26);
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(0,0,0,.38);
    backdrop-filter: blur(18px);
  }

  .exec-mobile-nav button {
    display: grid;
    place-items: center;
    gap: 3px;
    min-height: 50px;
    color: #a9b8c6;
    background: transparent;
    border: 0;
    border-radius: 13px;
    font: inherit;
    font-size: 10px;
  }

  .exec-mobile-nav button span {
    color: #d9eaff;
    font-size: 18px;
  }

  .exec-mobile-nav button.is-active {
    color: #fff;
    background: linear-gradient(180deg, rgba(39, 124, 255, .42), rgba(19, 60, 118, .42));
  }
}

@media (max-width: 980px) {
  .executive-cockpit {
    width: 100%;
    max-width: 430px;
  }

  .exec-main {
    overflow: hidden;
  }

  .exec-dashboard-grid > *,
  .exec-kpis > *,
  .exec-lower-grid > * {
    min-width: 0;
  }

  .exec-panel-title {
    padding-left: 12px;
    padding-right: 12px;
    font-size: 10px;
  }

  .exec-empty-state {
    padding: 12px;
  }

  .exec-kpi span {
    font-size: 9px;
  }

  .exec-kpi strong {
    font-size: 21px;
    word-break: keep-all;
  }

  .exec-dealer-ranking p {
    white-space: normal;
  }
}

@media (max-width: 420px) {
  .app-header {
    padding-left: 18px;
    padding-right: 18px;
  }

  .brand img {
    width: 220px;
  }

  body[data-active-tab="executive"] .main {
    padding-left: 8px;
    padding-right: 8px;
  }

  .executive-cockpit {
    padding: 8px;
    border-radius: 28px;
  }

  .exec-dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .exec-trend-panel {
    min-height: 150px;
  }

  .exec-kpis {
    grid-template-columns: minmax(0, 1fr);
  }

  .exec-kpi {
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 86px;
  }

  .exec-kpi strong {
    font-size: 24px;
  }

  .exec-mobile-nav {
    left: 10px;
    right: 10px;
  }
}

@media (max-width: 640px) {
  body[data-active-tab="executive"] .workspace,
  body[data-active-tab="executive"] .content-area {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .executive-cockpit {
    max-width: calc(100vw - 16px);
  }

  .exec-cockpit-top {
    flex-direction: column;
  }

  .exec-date-pill {
    width: 100%;
    min-width: 0;
    text-align: left;
  }

  .exec-ai-panel .exec-empty-state {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .exec-empty-state p {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .exec-dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .exec-kpis {
    grid-template-columns: minmax(0, 1fr);
  }

  .exec-kpi {
    grid-template-columns: 32px minmax(0, 1fr);
  }
}

body[data-active-tab="executive"] .executive-cockpit {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

body[data-active-tab="executive"] .exec-side-nav,
body[data-active-tab="executive"] .exec-source-strip,
body[data-active-tab="executive"] .exec-mobile-nav {
  display: none;
}

body[data-active-tab="executive"] .exec-main {
  padding: 10px 6px 14px;
}

body[data-active-tab="executive"] .exec-cockpit-top {
  min-height: 44px;
  align-items: center;
}

body[data-active-tab="executive"] .exec-cockpit-top h2 {
  font-size: 24px;
}

body[data-active-tab="executive"] .exec-date-pill {
  min-width: 220px;
}

body[data-active-tab="executive"] .exec-lower-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(210px, .62fr) minmax(0, 1.04fr);
  align-items: stretch;
}

.exec-area-evolution { grid-column: 1; grid-row: 1; }
.exec-area-alerts { grid-column: 2; grid-row: 1; }
.exec-area-performance { grid-column: 3; grid-row: 1; }
.exec-area-dealers { grid-column: 1; grid-row: 2; }
.exec-volvo-card { grid-column: 2; grid-row: 2; }
.exec-area-featured { grid-column: 3; grid-row: 2; }

.exec-volvo-card {
  position: relative;
  min-height: 206px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.exec-volvo-card::before,
.exec-volvo-card::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 14px;
  height: 74px;
  border-bottom: 3px solid rgba(84, 164, 255, .65);
  border-radius: 0 0 120px 120px;
  filter: drop-shadow(0 0 14px rgba(74, 152, 255, .55));
  pointer-events: none;
}

.exec-volvo-card::after {
  left: 18px;
  right: 18px;
  bottom: 52px;
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, rgba(210, 230, 246, .44), transparent);
  filter: none;
}

.exec-volvo-card .exec-volvo-core {
  position: relative;
  left: auto;
  bottom: auto;
  z-index: 3;
  width: 154px;
  height: 132px;
  margin: 12px auto 0;
  transform: none;
}

.exec-volvo-card .exec-volvo-core img {
  width: 94px;
  height: 94px;
  padding: 0;
  background: transparent;
}

.exec-area-featured .exec-featured-areas {
  height: calc(100% - 28px);
  align-content: center;
}

.exec-area-featured .exec-area-period {
  align-self: end;
}

@media (max-width: 1180px) {
  body[data-active-tab="executive"] .exec-lower-grid {
    grid-template-columns: 1fr;
  }

  .exec-area-evolution,
  .exec-area-alerts,
  .exec-area-performance,
  .exec-area-dealers,
  .exec-volvo-card,
  .exec-area-featured {
    grid-column: auto;
    grid-row: auto;
  }

  .exec-volvo-card {
    min-height: 160px;
  }
}

body[data-active-tab="executive"] .exec-area-performance .exec-performance {
  gap: 8px;
}

body[data-active-tab="executive"] .exec-area-performance .exec-perf-row {
  grid-template-columns: 120px minmax(80px, 1fr) 46px;
  gap: 8px;
  min-height: 36px;
  padding: 6px 8px;
}

body[data-active-tab="executive"] .exec-area-performance .perf-label {
  grid-template-columns: 24px 1fr;
  font-size: 12px;
}

body[data-active-tab="executive"] .exec-area-performance .perf-label b {
  width: 24px;
  height: 24px;
}

body[data-active-tab="executive"] .exec-area-performance .perf-label small {
  display: none;
}

body[data-active-tab="executive"] .exec-area-performance .perf-pill {
  display: none;
}

body[data-active-tab="executive"] .exec-area-performance .perf-bar {
  height: 8px;
}

body[data-active-tab="executive"] .exec-area-evolution #chartExecutiveCompliance {
  height: 160px;
  max-height: 160px;
}

/* Cockpit refinements: Volvo core and compliance speedometer */
body[data-active-tab="executive"] .exec-gauge {
  height: 220px;
  padding-top: 0;
  align-content: normal;
  overflow: hidden;
}

body[data-active-tab="executive"] .exec-gauge-arc {
  --gauge-angle: 0deg;
  --gauge-angle-mid: 0deg;
  --gauge-color: #e64b45;
  --gauge-color-soft: #ff756f;
  --gauge-color-deep: #a9262e;
  --gauge-glow: rgba(230, 75, 69, .82);
  --gauge-glow-soft: rgba(230, 75, 69, .36);
  top: 34px;
  width: 270px;
  height: 142px;
  border-radius: 270px 270px 0 0;
  background:
    repeating-conic-gradient(from 270deg at 50% 100%, transparent 0 8deg, rgba(225, 237, 247, .54) 8deg 9.4deg, transparent 9.4deg 13deg),
    conic-gradient(from 270deg at 50% 100%, var(--gauge-color-deep) 0deg, var(--gauge-color) var(--gauge-angle-mid), var(--gauge-color-soft) var(--gauge-angle), rgba(215, 226, 236, .28) var(--gauge-angle) 180deg, transparent 180deg 360deg);
  box-shadow:
    0 0 0 1px rgba(171, 201, 226, .28),
    0 0 10px var(--gauge-glow),
    0 0 28px var(--gauge-glow-soft),
    inset 0 -24px 36px rgba(0,0,0,.62);
  filter: none;
}

body[data-active-tab="executive"] .exec-gauge-arc::after {
  left: 7px;
  right: 7px;
  bottom: -3px;
  height: 136px;
  border-radius: 248px 248px 0 0;
  background:
    radial-gradient(ellipse at 50% 100%, #07121c 0 58%, #0d1a25 59% 76%, rgba(255,255,255,.05) 77%, transparent 78%),
    linear-gradient(180deg, rgba(255,255,255,.09), #07121c 58%);
  box-shadow:
    inset 0 18px 28px rgba(255,255,255,.05),
    inset 0 0 38px rgba(0,0,0,.78);
}

body[data-active-tab="executive"] .exec-gauge-arc::before {
  bottom: -3px;
  width: 4px;
  height: 102px;
  background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.12));
  box-shadow: 0 0 10px rgba(225, 241, 255, .54);
}

body[data-active-tab="executive"] .exec-gauge strong {
  position: absolute;
  top: 76px;
  margin: 0;
  font-size: 48px;
}

body[data-active-tab="executive"] .exec-gauge span {
  position: absolute;
  top: 130px;
}

body[data-active-tab="executive"] .exec-gauge small {
  position: absolute;
  top: 184px;
  margin: 0;
}

body[data-active-tab="executive"] .exec-gauge::before,
body[data-active-tab="executive"] .exec-gauge::after {
  top: 154px;
}

body[data-active-tab="executive"] .exec-gauge::before {
  left: calc(50% - 144px);
}

body[data-active-tab="executive"] .exec-gauge::after {
  right: calc(50% - 150px);
}

/* Executive KPI traceability tooltips */
body[data-active-tab="executive"] .exec-gauge-panel,
body[data-active-tab="executive"] .exec-trend-panel,
body[data-active-tab="executive"] .exec-ai-panel,
body[data-active-tab="executive"] .exec-kpi,
body[data-active-tab="executive"] .exec-card {
  overflow: visible;
}

body[data-active-tab="executive"] .exec-panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 26px;
}

body[data-active-tab="executive"] .exec-card-head {
  gap: 10px;
}

body[data-active-tab="executive"] .exec-card-head strong {
  flex: 1 1 auto;
}

body[data-active-tab="executive"] .exec-card-head > span {
  flex: 0 0 auto;
}

body[data-active-tab="executive"] .exec-info {
  position: relative;
  z-index: 25;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(116, 174, 244, .55);
  border-radius: 999px;
  background: rgba(23, 61, 96, .72);
  color: #bde0ff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  cursor: help;
  box-shadow: 0 0 14px rgba(42, 133, 255, .22), inset 0 1px 0 rgba(255,255,255,.12);
}

body[data-active-tab="executive"] .exec-info::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(300px, calc(100vw - 44px));
  padding: 12px 13px;
  border: 1px solid rgba(117, 170, 218, .42);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(12, 28, 42, .98), rgba(5, 14, 22, .98));
  color: #eaf4ff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translateY(5px);
  transition: opacity .18s ease, transform .18s ease;
  box-shadow: 0 18px 40px rgba(0,0,0,.42), 0 0 24px rgba(42, 133, 255, .18);
}

body[data-active-tab="executive"] .exec-info::before {
  content: "";
  position: absolute;
  top: calc(100% + 5px);
  right: 6px;
  width: 10px;
  height: 10px;
  border-left: 1px solid rgba(117, 170, 218, .42);
  border-top: 1px solid rgba(117, 170, 218, .42);
  background: rgba(12, 28, 42, .98);
  opacity: 0;
  pointer-events: none;
  transform: rotate(45deg) translateY(5px);
  transition: opacity .18s ease, transform .18s ease;
}

body[data-active-tab="executive"] .exec-info:hover::after,
body[data-active-tab="executive"] .exec-info:focus-visible::after,
body[data-active-tab="executive"] .exec-info:hover::before,
body[data-active-tab="executive"] .exec-info:focus-visible::before {
  opacity: 1;
  transform: translateY(0);
}

body[data-active-tab="executive"] .exec-info:hover::before,
body[data-active-tab="executive"] .exec-info:focus-visible::before {
  transform: rotate(45deg) translateY(0);
}

body[data-active-tab="executive"] .exec-panel-title .exec-info::after,
body[data-active-tab="executive"] .exec-panel-title .exec-info::before,
body[data-active-tab="executive"] .exec-card-head .exec-info::after,
body[data-active-tab="executive"] .exec-card-head .exec-info::before {
  left: 0;
  right: auto;
}

body[data-active-tab="executive"] .exec-panel-title .exec-info::before,
body[data-active-tab="executive"] .exec-card-head .exec-info::before {
  left: 5px;
  right: auto;
}

body[data-active-tab="executive"] .exec-kpi .exec-info {
  position: absolute;
  top: 10px;
  right: 10px;
}

body[data-active-tab="executive"] .exec-info::before,
body[data-active-tab="executive"] .exec-info::after {
  display: none;
}

.exec-tooltip-fixed {
  position: fixed;
  z-index: 9999;
  box-sizing: border-box;
  padding: 13px;
  border: 1px solid rgba(126, 184, 255, .52);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(146,184,249,.10), transparent 38%),
    linear-gradient(180deg, rgba(13, 26, 38, .92), rgba(4, 12, 18, .94));
  color: #eef7ff;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
  box-shadow:
    0 22px 52px rgba(0,0,0,.52),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 34px rgba(42, 133, 255, .24);
  backdrop-filter: blur(14px);
  pointer-events: none;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .16s ease, transform .16s ease;
}

.exec-tooltip-fixed::before {
  content: "";
  position: absolute;
  top: -6px;
  left: var(--tip-arrow-left, 26px);
  width: 11px;
  height: 11px;
  background: rgba(13, 26, 38, .94);
  border-left: 1px solid rgba(126, 184, 255, .52);
  border-top: 1px solid rgba(126, 184, 255, .52);
  transform: rotate(45deg);
}

.exec-tooltip-fixed.is-above::before {
  top: auto;
  bottom: -6px;
  border: 0;
  border-right: 1px solid rgba(126, 184, 255, .52);
  border-bottom: 1px solid rgba(126, 184, 255, .52);
}

.hud-tip-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  color: #92b8f9;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hud-tip-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  border: 1px solid #92b8f9;
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(146,184,249,.62);
}

.hud-tip-grid {
  display: grid;
  gap: 8px;
}

.hud-tip-grid section {
  padding: 9px 10px;
  border: 1px solid rgba(146,184,249,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.045);
}

.hud-tip-grid span {
  display: block;
  margin-bottom: 3px;
  color: rgba(223,231,238,.72);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hud-tip-grid p {
  margin: 0;
  color: #f7f8f8;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.38;
}

body[data-theme="light"] .exec-tooltip-fixed {
  border-color: rgba(135, 153, 174, .38);
  background:
    linear-gradient(135deg, rgba(11,45,237,.05), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,252,.98));
  color: #101820;
  box-shadow:
    0 18px 44px rgba(16, 24, 32, .18),
    0 0 0 1px rgba(255,255,255,.80) inset;
}

body[data-theme="light"] .exec-tooltip-fixed::before {
  background: rgba(255,255,255,.98);
  border-left-color: rgba(135, 153, 174, .38);
  border-top-color: rgba(135, 153, 174, .38);
}

body[data-theme="light"] .exec-tooltip-fixed.is-above::before {
  border-right-color: rgba(135, 153, 174, .38);
  border-bottom-color: rgba(135, 153, 174, .38);
}

body[data-theme="light"] .hud-tip-kicker {
  color: #0B2DED;
}

body[data-theme="light"] .hud-tip-kicker::before {
  border-color: #0B2DED;
  box-shadow: 0 0 10px rgba(11,45,237,.26);
}

body[data-theme="light"] .hud-tip-grid section {
  border-color: rgba(11,45,237,.12);
  background: rgba(245,248,252,.86);
}

body[data-theme="light"] .hud-tip-grid span {
  color: #637083;
}

body[data-theme="light"] .hud-tip-grid p {
  color: #101820;
}

.exec-tooltip-fixed.is-visible {
  opacity: 1;
  transform: translateY(0);
}

body[data-active-tab="executive"] .exec-volvo-card {
  min-height: 218px;
  background:
    radial-gradient(circle at 50% 54%, rgba(72, 149, 239, .15), transparent 42%),
    linear-gradient(180deg, rgba(10, 24, 36, .40), rgba(8, 18, 28, .04));
}

body[data-active-tab="executive"] .exec-volvo-card::before {
  left: 14px;
  right: 14px;
  bottom: 9px;
  height: 78px;
  border-bottom: 2px solid rgba(85, 169, 255, .78);
  filter: drop-shadow(0 0 10px rgba(82, 161, 255, .72));
}

body[data-active-tab="executive"] .exec-volvo-card::after {
  display: none;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core {
  width: 176px;
  height: 176px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 48%, #101a22 0 56%, #070d12 57% 70%, #141d25 71% 79%, #05090d 80%),
    linear-gradient(145deg, rgba(255,255,255,.22), rgba(0,0,0,.62));
  border: 1px solid rgba(225, 233, 240, .34);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.08),
    inset 0 0 28px rgba(255,255,255,.06),
    0 0 0 8px rgba(0,0,0,.22),
    0 0 28px rgba(91,171,255,.26);
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core span {
  display: none;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  width: 132px;
  height: 132px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  filter: invert(1) brightness(1.92) contrast(.86) drop-shadow(0 1px 2px rgba(0,0,0,.76));
  opacity: .96;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core {
  display: grid;
}

/* Cockpit layout update: IA stack, compact KPI band and Road Pilot module */
body[data-active-tab="executive"] .exec-side-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) minmax(112px, auto);
  grid-auto-flow: row;
  gap: 10px;
  min-width: 0;
  width: 100%;
}

body[data-active-tab="executive"] .exec-side-stack .exec-ai-panel,
body[data-active-tab="executive"] .exec-side-stack .exec-area-alerts {
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
}

body[data-active-tab="executive"] .exec-side-stack .exec-area-alerts {
  padding: 12px;
}

body[data-active-tab="executive"] .exec-side-stack .exec-card-head {
  margin-bottom: 8px;
}

body[data-active-tab="executive"] .exec-empty-state.compact {
  min-height: 70px;
  padding: 10px;
  grid-template-columns: 34px minmax(0, 1fr);
  text-align: left;
}

body[data-active-tab="executive"] .exec-empty-state.compact span {
  width: 34px;
  height: 34px;
}

body[data-active-tab="executive"] .exec-empty-state.compact p {
  font-size: 11px;
  line-height: 1.35;
}

body[data-active-tab="executive"] .exec-area-alerts.is-legacy-hidden {
  display: none;
}

body[data-active-tab="executive"] .exec-kpis {
  width: calc((100% - 20px) * 1.9 / 3.85);
  margin-left: calc(((100% - 20px) * .95 / 3.85) + 10px);
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
}

body[data-active-tab="executive"] .exec-kpi {
  grid-template-columns: 28px minmax(0, 1fr);
  min-height: 92px;
  padding: 10px 9px;
}

body[data-active-tab="executive"] .exec-kpi-icon {
  width: 30px;
  height: 30px;
}

body[data-active-tab="executive"] .exec-kpi-icon svg {
  width: 18px;
  height: 18px;
}

body[data-active-tab="executive"] .exec-kpi span {
  min-height: 24px;
  font-size: 8px;
}

body[data-active-tab="executive"] .exec-kpi strong {
  font-size: 21px;
}

body[data-active-tab="executive"] .exec-kpi small {
  margin-top: 7px;
  font-size: 9px;
}

body[data-active-tab="executive"] .exec-kpi .exec-info {
  top: 7px;
  right: 7px;
  width: 16px;
  height: 16px;
  font-size: 10px;
}

body[data-active-tab="executive"] .exec-lower-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .62fr) minmax(0, 1.04fr);
}

body[data-active-tab="executive"] .exec-volvo-card {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 360px;
  align-content: stretch;
  grid-template-rows: 150px minmax(170px, auto);
  gap: 12px;
  padding: 10px 10px 18px;
  justify-items: stretch;
}

body[data-active-tab="executive"] .exec-volvo-card::before {
  bottom: 8px;
}

body[data-active-tab="executive"] .exec-road-pilot {
  position: relative;
  z-index: 4;
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  min-height: 150px;
  border: 1px solid rgba(143, 170, 190, .24);
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(235, 239, 242, .96) 0 10%, transparent 10% 84%, rgba(241, 244, 246, .98) 84%),
    linear-gradient(180deg, #202c34 0, #2f3b43 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 14px 32px rgba(0,0,0,.24);
  overflow: hidden;
}

body[data-active-tab="executive"] .road-lane {
  position: absolute;
  inset: 14px 0 28px;
  overflow: hidden;
  perspective: 180px;
}

body[data-active-tab="executive"] .road-lane::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -26px;
  width: 82%;
  height: 132%;
  transform: translateX(-50%) rotateX(54deg);
  transform-origin: 50% 100%;
  clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%);
  background:
    linear-gradient(90deg, rgba(255,255,255,.42) 0 1px, transparent 1px calc(100% - 1px), rgba(255,255,255,.42) calc(100% - 1px)),
    linear-gradient(180deg, #36434a, #111a20);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 -22px 28px rgba(0,0,0,.36);
}

body[data-active-tab="executive"] .lane-mark {
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 4px;
  height: 150%;
  background: repeating-linear-gradient(180deg, rgba(174,255,182,.88) 0 18px, transparent 18px 42px);
  transform-origin: 50% 100%;
  filter: drop-shadow(0 0 4px rgba(97, 255, 128, .42));
  animation: laneFlow 1.1s linear infinite;
}

body[data-active-tab="executive"] .lane-left {
  transform: translateX(-35px) perspective(120px) rotateX(58deg);
}

body[data-active-tab="executive"] .lane-right {
  transform: translateX(35px) perspective(120px) rotateX(58deg);
}

body[data-active-tab="executive"] .traffic-car,
body[data-active-tab="executive"] .ego-car {
  position: absolute;
  left: 50%;
  border-radius: 7px 7px 3px 3px;
  box-shadow: 0 5px 8px rgba(0,0,0,.35);
}

body[data-active-tab="executive"] .traffic-car::before,
body[data-active-tab="executive"] .ego-car::before {
  content: "";
  position: absolute;
  inset: 4px 5px auto;
  height: 6px;
  border-radius: 6px 6px 2px 2px;
  background: rgba(255,255,255,.35);
}

body[data-active-tab="executive"] .traffic-left {
  top: 20px;
  width: 24px;
  height: 38px;
  margin-left: -64px;
  background: linear-gradient(180deg, #8c98a1, #323a40);
  animation: trafficDrift 4.8s ease-in-out infinite;
}

body[data-active-tab="executive"] .traffic-right {
  top: 28px;
  width: 34px;
  height: 54px;
  margin-left: 45px;
  background: linear-gradient(180deg, #a6b1ba, #4a5660);
  animation: trafficDrift 5.4s ease-in-out infinite reverse;
}

body[data-active-tab="executive"] .traffic-center {
  top: 48px;
  width: 30px;
  height: 34px;
  margin-left: -15px;
  background: linear-gradient(180deg, #55dd5f, #20a437);
  animation: leadCarPulse 2.6s ease-in-out infinite;
}

body[data-active-tab="executive"] .ego-car {
  bottom: 6px;
  width: 58px;
  height: 36px;
  margin-left: -29px;
  border-radius: 13px 13px 5px 5px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.52), transparent 34%),
    linear-gradient(180deg, #d7dde1 0 18%, #212a31 19% 57%, #b6c0c8 58% 100%);
  animation: egoFloat 2.2s ease-in-out infinite;
}

body[data-active-tab="executive"] .road-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  padding: 6px 8px;
  color: #33404c;
  background: rgba(246, 248, 250, .96);
  font-size: 11px;
  font-weight: 650;
  text-align: center;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core {
  align-self: end;
}

@keyframes laneFlow {
  from { background-position-y: 0; }
  to { background-position-y: 42px; }
}

@keyframes trafficDrift {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(8px) scale(1.04); }
}

@keyframes leadCarPulse {
  0%, 100% { transform: translateY(0); filter: drop-shadow(0 0 0 rgba(76, 255, 99, 0)); }
  50% { transform: translateY(5px); filter: drop-shadow(0 0 8px rgba(76, 255, 99, .42)); }
}

@keyframes egoFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@media (max-width: 1180px) {
  body[data-active-tab="executive"] .exec-kpis {
    width: 100%;
    margin-left: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-active-tab="executive"] .exec-side-stack {
    grid-template-rows: auto auto;
  }

  body[data-active-tab="executive"] .exec-volvo-card {
    grid-column: auto;
    grid-row: auto;
    min-height: 360px;
  }
}

/* Executive cockpit composition pass: Volvo-inspired neutral palette and layout */
body[data-active-tab="executive"] {
  background: #050607;
}

body[data-active-tab="executive"] .content-shell {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.07), transparent 34%),
    linear-gradient(180deg, #050607 0%, #101315 56%, #07090a 100%);
}

body[data-active-tab="executive"] .executive-cockpit {
  background:
    linear-gradient(180deg, rgba(33, 37, 41, .72), rgba(7, 8, 9, .94)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 48%);
  border-color: rgba(218, 222, 225, .18);
}

body[data-active-tab="executive"] .exec-main {
  display: grid;
  grid-template-columns: minmax(250px, .95fr) minmax(480px, 1.9fr) minmax(280px, 1fr);
  grid-template-rows: auto 252px 112px auto;
  gap: 10px;
}

body[data-active-tab="executive"] .exec-cockpit-top {
  grid-column: 1 / -1;
  grid-row: 1;
}

body[data-active-tab="executive"] .exec-dashboard-grid {
  display: contents;
}

body[data-active-tab="executive"] .exec-gauge-panel {
  grid-column: 1;
  grid-row: 2;
}

body[data-active-tab="executive"] .exec-trend-panel {
  grid-column: 2;
  grid-row: 2;
}

body[data-active-tab="executive"] .exec-side-stack {
  grid-column: 3;
  grid-row: 2 / span 2;
  grid-template-rows: 136px 228px;
  height: 100%;
}

body[data-active-tab="executive"] .exec-side-stack .exec-ai-panel,
body[data-active-tab="executive"] .exec-side-stack .exec-area-alerts {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body[data-active-tab="executive"] .exec-side-stack .exec-ai-panel .ai-insight-card {
  flex: 1 1 auto;
  margin: 9px;
  padding: 11px;
  overflow: hidden;
}

body[data-active-tab="executive"] .exec-side-stack .exec-area-alerts .ai-tips-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  padding-right: 3px;
}

body[data-active-tab="executive"] .exec-kpis {
  grid-column: 1 / span 2;
  grid-row: 3;
  width: 100%;
  margin: 0;
  align-self: stretch;
  height: 112px;
}

body[data-active-tab="executive"] .exec-lower-grid {
  grid-column: 1 / -1;
  grid-row: 4;
}

body[data-active-tab="executive"] .exec-gauge-panel,
body[data-active-tab="executive"] .exec-trend-panel,
body[data-active-tab="executive"] .exec-ai-panel,
body[data-active-tab="executive"] .exec-kpi,
body[data-active-tab="executive"] .exec-card {
  background: linear-gradient(180deg, rgba(31, 35, 38, .94), rgba(12, 14, 16, .96));
  border-color: rgba(220, 224, 228, .16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 42px rgba(0,0,0,.30);
}

body[data-active-tab="executive"] .exec-panel-title,
body[data-active-tab="executive"] .exec-card-head strong {
  color: #f1f3f4;
}

body[data-active-tab="executive"] .exec-trend-head strong,
body[data-active-tab="executive"] .exec-card-head span {
  color: #7eb6f2;
}

body[data-active-tab="executive"] .exec-kpi strong,
body[data-active-tab="executive"] .exec-gauge strong {
  color: #f7f8f8;
}

body[data-active-tab="executive"] .exec-kpis {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

body[data-active-tab="executive"] .exec-kpi {
  min-height: 112px;
  height: 112px;
  animation: cockpitCardRise .55s ease both, cockpitSoftGlow 7s ease-in-out infinite;
}

body[data-active-tab="executive"] .exec-kpi strong {
  animation: numberSettle .9s ease both;
}

body[data-active-tab="executive"] .exec-kpi {
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 12px 10px;
}

body[data-active-tab="executive"] .exec-kpi-icon {
  width: 34px;
  height: 34px;
}

body[data-active-tab="executive"] .exec-kpi-icon svg {
  width: 20px;
  height: 20px;
}

body[data-active-tab="executive"] .exec-kpi span {
  min-height: 0;
  margin-right: 16px;
  color: #e3e8ec;
  font-size: 10px;
  line-height: 1.16;
}

body[data-active-tab="executive"] .exec-kpi strong {
  margin-top: 4px;
  font-size: 27px;
  line-height: .98;
}

body[data-active-tab="executive"] .exec-kpi small {
  margin-top: 8px;
  font-size: 10px;
  line-height: 1.22;
}

body[data-active-tab="executive"] .exec-kpi .exec-info {
  top: 8px;
  right: 8px;
}

body[data-active-tab="executive"] .exec-trend-panel,
body[data-active-tab="executive"] .exec-area-performance,
body[data-active-tab="executive"] .exec-area-evolution {
  animation: panelReveal .7s ease both;
}

body[data-active-tab="executive"] .perf-bar i {
  position: relative;
  overflow: hidden;
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #dfe3e6, #8fb7e8);
  box-shadow: 0 0 12px rgba(143, 183, 232, .32);
}

body[data-active-tab="executive"] .perf-bar i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: translateX(-120%);
  animation: barGlint 3.8s ease-in-out infinite;
}

body[data-active-tab="executive"] .exec-volvo-card {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 438px;
  grid-template-rows: minmax(300px, 1fr) minmax(118px, auto);
  padding-top: 0;
}

body[data-active-tab="executive"] .exec-road-pilot {
  min-height: 300px;
  border: 1px solid rgba(225, 228, 230, .26);
  border-radius: 15px;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(82, 246, 231, .10), transparent 0 36%),
    linear-gradient(90deg, rgba(255,255,255,.05), transparent 18% 82%, rgba(255,255,255,.05)),
    linear-gradient(180deg, #07090a 0 9%, transparent 9% 86%, #07090a 86% 100%),
    linear-gradient(180deg, rgba(220, 224, 226, .20) 9% 17%, transparent 17% 82%, rgba(232, 235, 237, .92) 82% 86%),
    linear-gradient(180deg, #303638 0, #202527 54%, #151819 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 18px 36px rgba(0,0,0,.22),
    0 18px 40px rgba(0,0,0,.36);
}

body[data-active-tab="executive"] .road-lane {
  inset: 30px 0 42px;
}

body[data-active-tab="executive"] .road-lane::before {
  width: 128%;
  height: 182%;
  bottom: -58px;
  clip-path: polygon(43% 0, 57% 0, 98% 100%, 2% 100%);
  background:
    linear-gradient(90deg, rgba(205, 213, 216, .92) 0 2px, transparent 2px calc(100% - 2px), rgba(205, 213, 216, .92) calc(100% - 2px)),
    radial-gradient(ellipse at 50% 82%, rgba(65, 220, 205, .24), transparent 0 30%, transparent 31%),
    linear-gradient(180deg, #44494a 0%, #24292a 55%, #0d1011 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 0 -35px 45px rgba(0,0,0,.46),
    0 0 42px rgba(0,0,0,.32);
}

body[data-active-tab="executive"] .traffic-car {
  display: none;
}

body[data-active-tab="executive"] .lane-mark {
  bottom: -38px;
  width: 4px;
  height: 172%;
  background: repeating-linear-gradient(180deg, rgba(91, 240, 223, .98) 0 34px, transparent 34px 78px);
  filter: drop-shadow(0 0 8px rgba(78, 234, 222, .74));
  animation-duration: .72s;
}

body[data-active-tab="executive"] .lane-left {
  transform: translateX(-54px) perspective(120px) rotateX(58deg);
}

body[data-active-tab="executive"] .lane-right {
  transform: translateX(54px) perspective(120px) rotateX(58deg);
}

body[data-active-tab="executive"] .ego-car {
  bottom: 16px;
  width: 182px;
  height: 122px;
  margin-left: -91px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: povDrive 1.65s ease-in-out infinite;
}

body[data-active-tab="executive"] .ego-car::before {
  display: none;
}

body[data-active-tab="executive"] .ego-car::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 5px;
  height: 14px;
  border-radius: 999px;
  background: rgba(0,0,0,.46);
  filter: blur(8px);
  z-index: -1;
}

body[data-active-tab="executive"] .ego-car img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.64)) saturate(.96) contrast(1.03);
}

body[data-active-tab="executive"] .road-caption {
  color: #222629;
  background: rgba(247, 248, 249, .98);
}

body[data-active-tab="executive"] .road-lane {
  background:
    linear-gradient(115deg, transparent 0 30%, rgba(255,255,255,.05) 31%, transparent 42%),
    linear-gradient(245deg, transparent 0 36%, rgba(0,0,0,.12) 37%, transparent 48%);
}

body[data-active-tab="executive"] .exec-road-pilot::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 28px;
  z-index: 6;
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(76, 239, 224, .98), transparent);
  box-shadow: 0 0 11px rgba(76,239,224,.82), 0 0 20px rgba(76,239,224,.42);
}

body[data-active-tab="executive"] .exec-road-pilot::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 52px;
  z-index: 3;
  width: 132px;
  height: 178px;
  transform: translateX(-50%) perspective(160px) rotateX(62deg);
  transform-origin: 50% 100%;
  background: linear-gradient(180deg, rgba(84, 240, 225, .30), rgba(84, 240, 225, .06) 70%, transparent);
  clip-path: polygon(45% 0, 55% 0, 100% 100%, 0 100%);
  filter: blur(.2px) drop-shadow(0 0 12px rgba(84,240,225,.40));
  animation: pilotBeam 2.2s ease-in-out infinite;
}

/* Ride Pilot rebuild: single clean road surface */
body[data-active-tab="executive"] .exec-road-pilot {
  background:
    radial-gradient(ellipse at 50% 22%, rgba(120, 132, 136, .26), transparent 0 42%),
    linear-gradient(180deg, #303638 0%, #202527 54%, #111415 100%);
}

body[data-active-tab="executive"] .exec-road-pilot::before,
body[data-active-tab="executive"] .exec-road-pilot::after {
  display: none;
}

body[data-active-tab="executive"] .road-caption {
  display: none;
}

body[data-active-tab="executive"] .road-lane {
  inset: 0;
  perspective: none;
  background: none;
}

body[data-active-tab="executive"] .road-lane::before {
  left: 50%;
  bottom: 0;
  width: 118%;
  height: 104%;
  transform: translateX(-50%);
  clip-path: polygon(36% 0, 64% 0, 98% 100%, 2% 100%);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0 3px,
      transparent 3px calc(100% - 3px),
      rgba(255,255,255,.96) calc(100% - 3px) 100%),
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 16% 84%, rgba(255,255,255,.06)),
    linear-gradient(180deg, #343a3c 0%, #1d2223 46%, #090c0d 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 -42px 48px rgba(0,0,0,.52);
}

body[data-active-tab="executive"] .road-lane::after {
  display: none;
}

body[data-active-tab="executive"] .lane-left,
body[data-active-tab="executive"] .lane-right {
  display: block;
  z-index: 7;
  width: 4px;
  height: 112%;
  bottom: 2px;
  background: linear-gradient(180deg, rgba(255,255,255,.64), rgba(255,255,255,.96));
  filter: drop-shadow(0 0 4px rgba(255,255,255,.32));
  transform-origin: 50% 100%;
  animation: none;
}

body[data-active-tab="executive"] .lane-left,
body[data-active-tab="executive"] .lane-right {
  display: none;
}

body[data-active-tab="executive"] .center-line {
  display: none;
}

body[data-active-tab="executive"] .center-line-far {
  top: -18px;
  bottom: 135px;
}

body[data-active-tab="executive"] .center-line-near {
  display: none;
}

body[data-active-tab="executive"] .lane-left {
  transform: translateX(-78px) perspective(180px) rotateX(58deg) rotateZ(-12deg);
}

body[data-active-tab="executive"] .lane-right {
  transform: translateX(78px) perspective(180px) rotateX(58deg) rotateZ(12deg);
}

body[data-active-tab="executive"] .lane-mark {
  left: 50%;
}

body[data-active-tab="executive"] .ego-car {
  z-index: 8;
}

body[data-active-tab="executive"] .lane-guide {
  position: absolute;
  left: 50%;
  top: 20px;
  bottom: 34px;
  z-index: 4;
  width: 4px;
  height: auto;
  border-radius: 999px;
  overflow: hidden;
  background: transparent;
  filter: drop-shadow(0 0 7px rgba(48, 226, 92, .62));
  transform-origin: 50% 100%;
  pointer-events: none;
  animation: laneGuidePulse 2.1s ease-in-out infinite;
}

body[data-active-tab="executive"] .lane-guide-left {
  transform: translateX(-91px) rotateZ(12deg);
}

body[data-active-tab="executive"] .lane-guide-right {
  transform: translateX(91px) rotateZ(-12deg);
}

body[data-active-tab="executive"] .lane-guide::after {
  content: "";
  position: absolute;
  inset: -68px 0 0;
  border-radius: inherit;
  background: repeating-linear-gradient(180deg, rgba(65, 238, 104, .98) 0 18px, transparent 18px 34px);
  will-change: transform;
  animation: laneGuideSlide 1.15s linear infinite;
}

@keyframes pilotLinesFlow {
  from { transform: translateX(-50%) translateY(-10px); opacity: .72; }
  to { transform: translateX(-50%) translateY(18px); opacity: 1; }
}

@keyframes centerLaneFlow {
  from { background-position-y: 0; }
  to { background-position-y: 74px; }
}

@keyframes laneGuideFlow {
  from { background-position-y: 0; }
  to { background-position-y: 54px; }
}

@keyframes laneGuidePulse {
  0%, 100% { opacity: .84; }
  50% { opacity: 1; }
}

@keyframes laneGuideSlide {
  from { transform: translate3d(0, -34px, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@keyframes cockpitCardRise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes cockpitSoftGlow {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 34px rgba(0,0,0,.24); }
  50% { box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 38px rgba(126,182,242,.11); }
}

@keyframes numberSettle {
  from { opacity: .3; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes panelReveal {
  from { opacity: 0; filter: blur(5px); }
  to { opacity: 1; filter: blur(0); }
}

@keyframes barGlint {
  0%, 46% { transform: translateX(-120%); }
  72%, 100% { transform: translateX(120%); }
}

@keyframes povDrive {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.015); }
}

@keyframes pilotBeam {
  0%, 100% { opacity: .52; }
  50% { opacity: .86; }
}

body[data-active-tab="executive"] .exec-volvo-card {
  grid-template-rows: minmax(174px, auto) minmax(300px, 1fr);
  padding-top: 8px;
  align-items: stretch;
}

body[data-active-tab="executive"] .exec-volvo-card::before {
  display: none;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core {
  grid-row: 1;
  align-self: center;
  justify-self: center;
  margin: 0 auto;
}

body[data-active-tab="executive"] .exec-road-pilot {
  grid-row: 2;
  align-self: stretch;
}

body[data-active-tab="executive"] .exec-kpi strong {
  font-size: 24px;
  letter-spacing: -.01em;
  white-space: nowrap;
}

body[data-active-tab="executive"] .exec-area-ring strong {
  left: 50%;
  top: 41px;
  width: 82px;
  line-height: 1;
  text-align: center;
  transform: translate(-50%, -50%);
}

body[data-active-tab="executive"] .exec-area-featured .exec-featured-areas {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
}

body[data-active-tab="executive"] .exec-content-volume {
  display: grid;
  gap: 8px;
}

body[data-active-tab="executive"] .exec-content-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label value"
    "bar bar"
    "meta meta";
  gap: 3px 12px;
  align-items: center;
}

body[data-active-tab="executive"] .exec-content-row span {
  grid-area: label;
  min-width: 0;
  overflow: hidden;
  color: #edf1f3;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  text-transform: capitalize;
  white-space: nowrap;
}

body[data-active-tab="executive"] .exec-content-row b {
  grid-area: value;
  color: #f7f8f8;
  font-size: 15px;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

body[data-active-tab="executive"] .exec-content-row i {
  grid-area: bar;
  position: relative;
  display: block;
  height: 8px;
  overflow: hidden;
  background: rgba(255,255,255,.09);
  border-radius: 999px;
}

body[data-active-tab="executive"] .exec-content-row i em {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #dfe3e6, #8fb7e8 58%, #f5f7f8);
  border-radius: inherit;
  box-shadow: 0 0 12px rgba(143,183,232,.34);
  animation: contentBarGrow .9s cubic-bezier(.2,.8,.2,1) both;
  transform-origin: left center;
}

body[data-active-tab="executive"] .exec-content-row small {
  grid-area: meta;
  color: #8fb7dd;
  font-size: 11px;
  line-height: 1.2;
}

body[data-active-tab="executive"] .lane-guide {
  top: 36px;
  bottom: 54px;
}

body[data-active-tab="executive"] .lane-guide-left {
  transform: translateX(-108px) rotateZ(10deg);
}

body[data-active-tab="executive"] .lane-guide-right {
  transform: translateX(108px) rotateZ(-10deg);
}

@keyframes contentBarGrow {
  from { transform: scaleX(.08); opacity: .5; }
  to { transform: scaleX(1); opacity: 1; }
}

body[data-active-tab="executive"] .exec-cockpit-top {
  min-height: 34px;
  margin-bottom: 8px;
  padding: 0 4px;
  align-items: center;
}

body[data-active-tab="executive"] .exec-cockpit-top h2 {
  font-size: 24px;
  line-height: .95;
}

body[data-active-tab="executive"] .exec-date-pill {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  padding: 8px 14px;
  line-height: 1;
  white-space: nowrap;
}

body[data-active-tab="executive"] .exec-date-pill strong {
  display: inline;
  margin-top: 0;
}

body[data-active-tab="executive"] .exec-top-actions {
  justify-content: flex-end;
}

@media (max-width: 1180px) {
  body[data-active-tab="executive"] .exec-main {
    display: block;
  }

  body[data-active-tab="executive"] .exec-dashboard-grid {
    display: grid;
  }

  body[data-active-tab="executive"] .exec-gauge-panel,
  body[data-active-tab="executive"] .exec-trend-panel,
  body[data-active-tab="executive"] .exec-side-stack,
  body[data-active-tab="executive"] .exec-kpis,
  body[data-active-tab="executive"] .exec-lower-grid {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Volvo Cars 2026 brand pass: Spread Word Mark, Volvo Centum and light/dark themes */
.volvo-wordmark-logo {
  width: 104px;
  height: 18px;
  object-fit: contain;
  object-position: left center;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core {
  width: min(76%, 280px);
  height: 82px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core::before,
body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core::after,
body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core span {
  display: none;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  width: 100%;
  height: auto;
  max-height: 40px;
  object-fit: contain;
  filter: invert(1) brightness(1.05) drop-shadow(0 8px 22px rgba(255,255,255,.10));
  opacity: 1;
}

body[data-theme="light"] {
  --ink: #000000;
  --navy: #101820;
  --navy-2: #000000;
  --blue: #0B2DED;
  --blue-2: #5E5E5E;
  --steel: #6B6B6B;
  --soft: #F5F3F0;
  --line: #D9D9D9;
  --paper: #FFFFFF;
  color: #000;
  background: #F5F3F0;
}

body[data-theme="dark"] {
  --ink: #FFFFFF;
  --navy: #000000;
  --navy-2: #111111;
  --blue: #0B2DED;
  --blue-2: #C7C7C7;
  --steel: #B5B5B5;
  --soft: #101010;
  --line: #2B2B2B;
  --paper: #151515;
  color: #F7F7F7;
  background: #000;
}

body[data-theme="dark"] .app-header,
body[data-theme="dark"] .app-header::before {
  color: #fff;
  background: #000;
  border-color: #2B2B2B;
}

body[data-theme="dark"] .brand img {
  filter: invert(1);
}

body[data-theme="dark"] .volvo-wordmark-logo {
  filter: invert(1);
}

body[data-theme="dark"] .app-header,
body[data-theme="dark"] .app-header::before {
  color: #101820;
  background: #fff;
  border-color: #D9D9D9;
}

body[data-theme="dark"] .brand img {
  filter: none;
}

body[data-theme="dark"] .tabs {
  background: #F5F3F0;
  border-color: #D9D9D9;
}

body[data-theme="dark"] .tab {
  color: #101820;
}

body[data-theme="dark"] .tab.is-active {
  color: #fff;
  background: #000;
  border-color: #000;
}

body[data-theme="dark"] .theme-toggle {
  color: #101820;
  background: #fff;
  border-color: #D9D9D9;
}

/* EOF cockpit logo contrast override. */
body[data-theme="light"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img,
body[data-theme="dark"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: brightness(0) invert(1) drop-shadow(0 0 20px rgba(255,255,255,.22)) !important;
}

/* Left navigation rail: replaces the former top header to recover vertical space. */
:root {
  --side-rail-width: 258px;
}

body.nav-collapsed {
  --side-rail-width: 82px;
}

.app-shell {
  display: grid;
  grid-template-columns: var(--side-rail-width) minmax(0, 1fr);
  transition: grid-template-columns .24s ease;
}

.app-header {
  position: sticky;
  top: 0;
  grid-column: 1;
  z-index: 40;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  width: var(--side-rail-width);
  height: 100vh;
  min-height: 100vh;
  padding: 16px 14px;
  border-right: 1px solid var(--line);
  border-bottom: 0;
  overflow: hidden;
  transition: width .24s ease, padding .24s ease;
}

.main {
  grid-column: 2;
  min-width: 0;
  padding-top: 12px;
}

.nav-toggle {
  display: grid;
  place-items: center;
  align-self: flex-end;
  width: 38px;
  height: 34px;
  padding: 0;
  color: #101820;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.nav-toggle span {
  display: block;
  width: 15px;
  height: 2px;
  margin: 2px 0;
  background: currentColor;
  border-radius: 2px;
}

.brand-home {
  width: 100%;
  min-height: 64px;
  overflow: hidden;
}

.brand img {
  width: 220px;
  max-width: 100%;
  height: 56px;
}

.tabs {
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.tab {
  width: 100%;
  min-height: 38px;
  text-align: left;
  padding: 9px 12px;
  border-color: rgba(16,24,32,.08);
  background: rgba(245,243,240,.74);
}

.header-status {
  justify-self: auto;
  width: 100%;
  margin-top: auto;
  flex-wrap: wrap;
  justify-content: flex-start;
  text-align: left;
}

body.nav-collapsed .app-header {
  align-items: center;
  padding: 14px 10px;
}

body.nav-collapsed .nav-toggle {
  align-self: center;
}

body.nav-collapsed .brand-home {
  width: 54px;
}

body.nav-collapsed .brand img {
  max-width: none;
  width: 198px;
  height: 48px;
  object-position: left center;
}

body.nav-collapsed .tabs {
  width: 100%;
}

body.nav-collapsed .tab {
  display: grid;
  place-items: center;
  padding: 9px 0;
  font-size: 0;
}

body.nav-collapsed .tab::before {
  content: attr(data-initial);
  font-size: 13px;
  font-weight: 800;
}

body.nav-collapsed .header-status {
  justify-content: center;
}

body.nav-collapsed .header-status .dot,
body.nav-collapsed .header-status #cacheState {
  display: none;
}

body.nav-collapsed .theme-toggle {
  width: 42px;
  min-width: 42px;
  padding: 0;
  overflow: hidden;
  font-size: 0;
}

body.nav-collapsed .theme-toggle::before {
  content: attr(data-short-label);
  font-size: 12px;
}

/* Cockpit lower-row alignment and Road Pilot perspective correction. */
body[data-active-tab="executive"] .exec-lower-grid {
  --exec-lower-panel-height: clamp(342px, 21vw, 390px);
  grid-template-rows: minmax(270px, auto) var(--exec-lower-panel-height);
  align-items: stretch;
}

body[data-active-tab="executive"] .exec-area-dealers,
body[data-active-tab="executive"] .exec-area-featured,
body[data-active-tab="executive"] .exec-road-pilot {
  min-height: var(--exec-lower-panel-height);
  height: var(--exec-lower-panel-height);
  overflow: hidden;
}

body[data-active-tab="executive"] .exec-volvo-card {
  grid-template-rows: minmax(0, 1fr) var(--exec-lower-panel-height);
  min-height: calc(var(--exec-lower-panel-height) + 185px);
}

body[data-active-tab="executive"] .exec-area-dealers,
body[data-active-tab="executive"] .exec-area-featured {
  display: flex;
  flex-direction: column;
}

body[data-active-tab="executive"] .exec-dealer-ranking,
body[data-active-tab="executive"] .exec-area-featured .exec-featured-areas {
  flex: 1 1 auto;
  min-height: 0;
}

body[data-active-tab="executive"] .exec-dealer-ranking {
  align-content: start;
  gap: 22px;
}

body[data-active-tab="executive"] .exec-dealer-ranking p {
  min-height: 20px;
  margin: 0;
}

body[data-active-tab="executive"] .exec-area-featured .exec-featured-areas {
  justify-content: start;
  gap: 12px;
  padding-top: 8px;
}

body[data-active-tab="executive"] .exec-content-row {
  row-gap: 6px;
}

body[data-active-tab="executive"] .road-lane::before {
  clip-path: polygon(32% 0, 68% 0, 95% 100%, 5% 100%);
}

body[data-active-tab="executive"] .lane-guide {
  top: 22px;
  bottom: 42px;
  width: 5px;
  z-index: 4;
  transform-origin: 50% 50%;
}

body[data-active-tab="executive"] .lane-guide-left {
  left: 17%;
  transform: rotateZ(9deg);
}

body[data-active-tab="executive"] .lane-guide-right {
  left: auto;
  right: 17%;
  transform: rotateZ(-9deg);
}

body[data-active-tab="executive"] .lane-guide::after {
  inset: -90px 0 0;
  background: repeating-linear-gradient(180deg, rgba(65, 238, 104, .98) 0 20px, transparent 20px 38px);
  animation: laneFlowSmooth 1.05s linear infinite;
}

@keyframes laneFlowSmooth {
  from { transform: translateY(-38px); }
  to { transform: translateY(0); }
}

@media (max-width: 980px) {
  .app-shell {
    display: block;
  }

  .app-header {
    position: sticky;
    width: 100%;
    height: auto;
    min-height: 0;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .brand-home {
    flex: 0 0 auto;
    width: 180px;
    min-height: 48px;
  }

  .brand img {
    width: 176px;
    height: 46px;
  }

  .tabs {
    flex: 0 0 auto;
    flex-direction: row;
    width: auto;
  }

  .header-status {
    flex: 0 0 auto;
    width: auto;
    margin-top: 0;
  }

  body.nav-collapsed .app-header,
  body.nav-collapsed .brand-home,
  body.nav-collapsed .tabs,
  body.nav-collapsed .header-status {
    width: auto;
  }

  body.nav-collapsed .tab {
    font-size: 12px;
    padding: 9px 12px;
  }

  body.nav-collapsed .tab::before {
    content: none;
  }
}

body[data-theme="light"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img,
body[data-theme="dark"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: invert(1) brightness(1.35) drop-shadow(0 0 20px rgba(255,255,255,.22)) !important;
}

/* EOF cockpit logo contrast override. */
body[data-theme="light"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img,
body[data-theme="dark"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: invert(1) brightness(1.35) drop-shadow(0 0 20px rgba(255,255,255,.22)) !important;
}

/* Final override for the cockpit ignition order. Keep this at the end. */
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-kpis,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-featured,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-kpis,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-featured {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  filter: brightness(.68) drop-shadow(0 0 0 rgba(146,184,249,0));
  animation: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-volvo-card {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  animation: none !important;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card,
body[data-active-tab="executive"] .executive-cockpit.is-starting:not(.stage-panels) .exec-volvo-card {
  position: absolute !important;
  left: 50%;
  top: 50%;
  z-index: 20;
  width: min(340px, 54vw);
  min-height: 120px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  grid-template-rows: 1fr;
  transform: translate(-50%, -50%) !important;
  pointer-events: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card .exec-volvo-core,
body[data-active-tab="executive"] .executive-cockpit.is-starting:not(.stage-panels) .exec-volvo-card .exec-volvo-core {
  width: min(320px, 52vw);
  height: 100%;
  min-height: 120px;
  filter: drop-shadow(0 0 30px rgba(146,184,249,.28));
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card .exec-volvo-core img,
body[data-active-tab="executive"] .executive-cockpit.is-starting:not(.stage-panels) .exec-volvo-card .exec-volvo-core img,
body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: invert(1) brightness(1.2) drop-shadow(0 0 18px rgba(255,255,255,.16)) !important;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-road-pilot,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-road-pilot {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  animation: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-gauge .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpis,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-featured,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-road-pilot {
  visibility: visible;
  animation: cockpitModuleIgnite .58s cubic-bezier(.16,.84,.2,1) both;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi {
  visibility: visible;
  animation: cockpitModuleIgnite .52s cubic-bezier(.16,.84,.2,1) both;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(1) { animation-delay: .00s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(2) { animation-delay: .18s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(3) { animation-delay: .36s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(4) { animation-delay: .54s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(5) { animation-delay: .72s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(6) { animation-delay: .90s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(7) { animation-delay: 1.08s; }

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-trend-panel { animation-delay: .00s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-side-stack { animation-delay: .24s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-evolution { animation-delay: .48s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-performance { animation-delay: .72s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-dealers { animation-delay: .96s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-featured { animation-delay: 1.20s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-road-pilot { animation-delay: 1.44s; }

body[data-theme="light"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img,
body[data-theme="dark"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: invert(1) brightness(1.22) drop-shadow(0 0 18px rgba(255,255,255,.16)) !important;
}

/* Cockpit ignition sequence: first paint is frame + central Volvo only. */
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-kpis,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-area-featured,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-kpis,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-featured {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  filter: brightness(.68) drop-shadow(0 0 0 rgba(146,184,249,0));
  animation: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-volvo-card {
  opacity: 1;
  visibility: visible;
  transform: none;
  filter: none;
  animation: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card,
body[data-active-tab="executive"] .executive-cockpit.is-starting:not(.stage-panels) .exec-volvo-card {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 20;
  width: min(340px, 54vw);
  min-height: 120px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  grid-template-rows: 1fr;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-volvo-card .exec-volvo-core,
body[data-active-tab="executive"] .executive-cockpit.is-starting:not(.stage-panels) .exec-volvo-card .exec-volvo-core {
  width: min(320px, 52vw);
  height: 100%;
  min-height: 120px;
  filter: drop-shadow(0 0 30px rgba(146,184,249,.28));
}

body[data-active-tab="executive"] .executive-cockpit.is-boot-primed .exec-road-pilot,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-road-pilot {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  animation: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-gauge .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpis,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-featured,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-road-pilot {
  visibility: visible;
  animation: cockpitModuleIgnite .58s cubic-bezier(.16,.84,.2,1) both;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi {
  visibility: visible;
  animation: cockpitModuleIgnite .52s cubic-bezier(.16,.84,.2,1) both;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(1) { animation-delay: .00s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(2) { animation-delay: .18s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(3) { animation-delay: .36s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(4) { animation-delay: .54s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(5) { animation-delay: .72s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(6) { animation-delay: .90s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(7) { animation-delay: 1.08s; }

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-trend-panel { animation-delay: .00s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-side-stack { animation-delay: .24s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-evolution { animation-delay: .48s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-performance { animation-delay: .72s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-dealers { animation-delay: .96s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-featured { animation-delay: 1.20s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-road-pilot { animation-delay: 1.44s; }

/* Cockpit center module: align Ride Pilot with the lower side panels. */
body[data-active-tab="executive"] .exec-lower-grid {
  --exec-lower-panel-height: clamp(248px, 17vw, 292px);
  grid-template-rows: minmax(250px, auto) var(--exec-lower-panel-height);
}

body[data-active-tab="executive"] .exec-area-dealers,
body[data-active-tab="executive"] .exec-area-featured {
  min-height: var(--exec-lower-panel-height);
}

body[data-active-tab="executive"] .exec-volvo-card {
  grid-template-rows: minmax(0, 1fr) var(--exec-lower-panel-height);
  min-height: calc(var(--exec-lower-panel-height) + 170px);
  padding-top: 0;
}

body[data-active-tab="executive"] .exec-volvo-card .exec-volvo-core {
  grid-row: 1;
  align-self: stretch;
  justify-self: center;
  display: grid;
  place-items: center;
  width: min(78%, 310px);
  height: 100%;
  margin: 0 auto;
}

body[data-active-tab="executive"] .exec-road-pilot {
  grid-row: 2;
  align-self: stretch;
  height: 100%;
  min-height: 0;
}

@media (max-width: 1180px) {
  body[data-active-tab="executive"] .exec-lower-grid {
    grid-template-rows: none;
  }

  body[data-active-tab="executive"] .exec-area-dealers,
  body[data-active-tab="executive"] .exec-area-featured {
    min-height: 0;
  }

  body[data-active-tab="executive"] .exec-volvo-card {
    grid-template-rows: 120px minmax(240px, 1fr);
    min-height: 380px;
  }
}

/* Contrast and Volvo-style functional icon pass */
.kpi-icon svg,
.exec-kpi-icon svg {
  width: 19px;
  height: 19px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.panel h2,
.chart-card h2,
.table-card h2 {
  display: flex;
  gap: 8px;
  align-items: center;
}

.panel h2::before,
.chart-card h2::before,
.table-card h2::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Cpath d='M14 17h7M14 21h7'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Cpath d='M14 17h7M14 21h7'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

body[data-theme="dark"]:not([data-active-tab="executive"]) {
  color: #F7F7F7;
}

body[data-theme="dark"]:not([data-active-tab="executive"]) .hero-title h1,
body[data-theme="dark"]:not([data-active-tab="executive"]) .view h2,
body[data-theme="dark"]:not([data-active-tab="executive"]) .panel h2,
body[data-theme="dark"]:not([data-active-tab="executive"]) .kpi-card strong,
body[data-theme="dark"]:not([data-active-tab="executive"]) .status-card strong {
  color: #FFFFFF;
}

body[data-theme="dark"]:not([data-active-tab="executive"]) .kpi-card span,
body[data-theme="dark"]:not([data-active-tab="executive"]) .panel h2::after,
body[data-theme="dark"]:not([data-active-tab="executive"]) .table-pager,
body[data-theme="dark"]:not([data-active-tab="executive"]) .notice,
body[data-theme="dark"]:not([data-active-tab="executive"]) .muted {
  color: #C7C7C7;
}

body[data-theme="dark"]:not([data-active-tab="executive"]) .kpi-icon {
  color: #FFFFFF;
  background: #0B2DED;
  box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 10px 22px rgba(11,45,237,.22);
}

body[data-theme="dark"]:not([data-active-tab="executive"]) .table-toolbar input,
body[data-theme="dark"]:not([data-active-tab="executive"]) .table-toolbar button,
body[data-theme="dark"]:not([data-active-tab="executive"]) .table-pager button {
  color: #FFFFFF;
  background: #1E1E1E;
  border-color: #3A3A3A;
}

body[data-theme="dark"]:not([data-active-tab="executive"]) tbody tr:hover {
  background: rgba(11,45,237,.16);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge span,
body[data-theme="light"][data-active-tab="executive"] .exec-gauge small,
body[data-theme="light"][data-active-tab="executive"] .exec-trend-head span,
body[data-theme="light"][data-active-tab="executive"] .exec-kpi small,
body[data-theme="light"][data-active-tab="executive"] .exec-empty-state p,
body[data-theme="light"][data-active-tab="executive"] .perf-label small,
body[data-theme="light"][data-active-tab="executive"] .exec-dealer-ranking p,
body[data-theme="light"][data-active-tab="executive"] .exec-content-row small {
  color: #5E5E5E;
}

body[data-theme="light"][data-active-tab="executive"] .exec-trend-head strong,
body[data-theme="light"][data-active-tab="executive"] .exec-card-head span,
body[data-theme="light"][data-active-tab="executive"] .exec-area-period {
  color: #0B2DED;
}

body[data-theme="light"][data-active-tab="executive"] .exec-content-row b,
body[data-theme="light"][data-active-tab="executive"] .perf-value,
body[data-theme="light"][data-active-tab="executive"] .exec-dealer-ranking p b {
  color: #000000;
}

body[data-theme="light"][data-active-tab="executive"] .exec-kpi-icon {
  color: #0B2DED;
  background: #FFFFFF;
  border-color: rgba(11,45,237,.18);
}

body[data-theme="light"][data-active-tab="executive"] .exec-info {
  color: #0B2DED;
  background: rgba(11,45,237,.08);
  border-color: rgba(11,45,237,.28);
}

.panel h2,
.chart-card h2,
.table-card h2 {
  display: block;
}

.panel h2::before,
.chart-card h2::before,
.table-card h2::before {
  display: inline-block;
  margin-right: 8px;
  vertical-align: -3px;
}

/* Final dark table contrast guard: wins over generic zebra table rules. */
body[data-theme="dark"] .panel table,
body[data-theme="dark"] .panel thead,
body[data-theme="dark"] .panel tbody,
body[data-theme="dark"] .panel tr,
body[data-theme="dark"] .panel td,
body[data-theme="dark"] .panel th,
body[data-theme="dark"] .table-wrap table,
body[data-theme="dark"] .table-wrap thead,
body[data-theme="dark"] .table-wrap tbody,
body[data-theme="dark"] .table-wrap tr,
body[data-theme="dark"] .table-wrap td,
body[data-theme="dark"] .table-wrap th {
  color: #F7F7F7;
}

body[data-theme="dark"] .table-wrap,
body[data-theme="dark"] .table-wrap table {
  background: #101010;
  border-color: #2B2B2B;
}

body[data-theme="dark"] .panel th,
body[data-theme="dark"] .table-wrap th {
  color: #FFFFFF;
  background: #202020;
  border-bottom-color: #3A3A3A;
}

body[data-theme="dark"] .panel tbody tr:nth-child(odd) td,
body[data-theme="dark"] .table-wrap tbody tr:nth-child(odd) td {
  color: #F7F7F7;
  background: #101010;
  border-bottom-color: #2B2B2B;
}

body[data-theme="dark"] .panel tbody tr:nth-child(even) td,
body[data-theme="dark"] .table-wrap tbody tr:nth-child(even) td {
  color: #F7F7F7;
  background: #181818;
  border-bottom-color: #2B2B2B;
}

body[data-theme="dark"] .panel tbody tr:hover td,
body[data-theme="dark"] .panel tbody tr:nth-child(even):hover td,
body[data-theme="dark"] .panel tbody tr:nth-child(odd):hover td,
body[data-theme="dark"] .table-wrap tbody tr:hover td,
body[data-theme="dark"] .table-wrap tbody tr:nth-child(even):hover td,
body[data-theme="dark"] .table-wrap tbody tr:nth-child(odd):hover td {
  color: #FFFFFF;
  background: rgba(11,45,237,.24);
}

body[data-theme="dark"] .table-toolbar input,
body[data-theme="dark"] .table-toolbar button,
body[data-theme="dark"] .table-pager button {
  color: #FFFFFF;
  background: #151515;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .table-pager {
  color: #C7C7C7;
}

body[data-theme="dark"] .ai-report-status {
  color: #8fc2ff;
  background: rgba(143,194,255,.10);
  border-color: rgba(143,194,255,.22);
}

body[data-theme="dark"] .report-output,
body[data-theme="dark"] .ai-report-block h3,
body[data-theme="dark"] .ai-report-cards strong,
body[data-theme="dark"] .ai-report-block ol strong {
  color: #F7F7F7;
}

body[data-theme="dark"] .ai-report-block {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.10);
}

body[data-theme="dark"] .ai-report-block p,
body[data-theme="dark"] .ai-report-block li {
  color: #C7C7C7;
}

body[data-theme="dark"] .ai-report-cards article,
body[data-theme="dark"] .ai-report-block ol li {
  background: #1E1E1E;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .ai-warning,
body[data-theme="dark"] .ai-loading {
  color: #F7F7F7;
  background: rgba(239,177,54,.12);
  border-color: rgba(239,177,54,.32);
}

/* Filter rail final layout guard */
.main,
.workspace,
.content-area,
.view {
  min-width: 0;
}

.filter-rail,
.filter-card,
.filter-grid,
.filter-combo,
.combo-button {
  max-width: 100%;
}

.filter-card {
  scrollbar-gutter: stable;
}

body:not([data-active-tab="executive"]) .workspace {
  overflow: visible;
}

body[data-active-tab="executive"] .exec-dealer-ranking {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
}

body[data-active-tab="executive"] .exec-dealer-ranking > div + div {
  padding-left: 22px;
  border-left: 1px solid rgba(199,199,199,.22);
}

body[data-active-tab="executive"] .exec-dealer-ranking strong {
  margin-bottom: 7px;
}

body[data-active-tab="executive"] .exec-dealer-ranking p {
  grid-template-columns: 20px minmax(0, 1fr) 58px;
  min-height: 18px;
  margin: 1px 0;
  font-size: 11px;
  line-height: 1.18;
}

body[data-theme="light"][data-active-tab="executive"] .exec-dealer-ranking > div + div {
  border-left-color: rgba(0,0,0,.14);
}

/* Panel title/subtitle rhythm after adding functional icons. */
.panel h2,
.chart-card h2,
.table-card h2 {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 3px 8px;
  align-items: center;
}

.panel h2::before,
.chart-card h2::before,
.table-card h2::before {
  grid-column: 1;
  grid-row: 1;
  margin-right: 0;
  vertical-align: 0;
}

.panel h2::after,
.chart-card h2::after,
.table-card h2::after {
  grid-column: 2;
  grid-row: 2;
  display: block;
  max-width: none;
  margin-top: 0;
  text-align: left;
}

body[data-theme="dark"] .header-status {
  color: #607285;
}

/* Volvo palette refinement from Brand Guidelines pages 31 and 37 */
body[data-theme="light"] {
  --paper: #FFFFFF;
  --soft: #FFFBF5;
  --line: #D9D9D9;
  --blue: #0B2DED;
  --warn: #FD6408;
  --beige: #ECD9B9;
  background: #FFFFFF;
}

body[data-theme="light"] .main {
  background:
    linear-gradient(180deg, #FFFFFF 0%, #FFFBF5 54%, #F5F3F0 100%);
}

body[data-theme="light"] .hero-strip,
body[data-theme="light"] .filter-rail,
body[data-theme="light"] .view,
body[data-theme="light"] .kpi-card,
body[data-theme="light"] .chart-card,
body[data-theme="light"] .table-card,
body[data-theme="light"] .panel,
body[data-theme="light"] .status-card {
  background: #FFFFFF;
  border-color: rgba(0,0,0,.10);
}

body[data-theme="light"] .tabs {
  background: #FFFBF5;
}

body[data-theme="light"] .tab.is-active {
  background: #000;
  border-color: #000;
}

body[data-theme="light"] .filter-rail,
body[data-theme="light"] .status-card {
  box-shadow: 0 16px 34px rgba(0,0,0,.07);
}

body[data-theme="light"] .kpi-card::before,
body[data-theme="light"] .chart-card::before,
body[data-theme="light"] .table-card::before {
  background: linear-gradient(90deg, #0B2DED, #FD6408);
}

body[data-theme="light"] .bar-fill,
body[data-theme="dark"] .bar-fill {
  background: linear-gradient(90deg, #0B2DED 0%, #0B2DED 68%, #FD6408 100%);
}

body[data-active-tab="executive"] .perf-bar i,
body[data-active-tab="executive"] .exec-content-row i em {
  background: linear-gradient(90deg, #0B2DED 0%, #0B2DED 70%, #FD6408 100%);
  box-shadow: 0 0 14px rgba(11,45,237,.28);
}

body[data-active-tab="executive"] .exec-trend-head strong,
body[data-active-tab="executive"] .exec-card-head span,
body[data-active-tab="executive"] .exec-area-period,
body[data-active-tab="executive"] .exec-content-row small {
  color: #92B8F9;
}

body[data-theme="light"][data-active-tab="executive"] .main {
  background:
    radial-gradient(circle at 82% 12%, rgba(236,217,185,.32), transparent 26%),
    linear-gradient(180deg, #FFFFFF 0%, #FFFBF5 62%, #F5F3F0 100%);
}

body[data-theme="light"][data-active-tab="executive"] .executive-cockpit {
  background:
    linear-gradient(90deg, rgba(236,217,185,.18), transparent 14%, transparent 86%, rgba(236,217,185,.18)),
    linear-gradient(135deg, #FFFFFF, #FFFBF5 58%, #F5F3F0);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge-panel,
body[data-theme="light"][data-active-tab="executive"] .exec-trend-panel,
body[data-theme="light"][data-active-tab="executive"] .exec-ai-panel,
body[data-theme="light"][data-active-tab="executive"] .exec-kpi,
body[data-theme="light"][data-active-tab="executive"] .exec-card {
  background: linear-gradient(180deg, #FFFFFF, #FFFBF5);
  border-color: rgba(0,0,0,.11);
}

body[data-theme="dark"] {
  --blue: #0B2DED;
  --warn: #FD6408;
  --beige: #ECD9B9;
}

body[data-theme="dark"] .tabs {
  background: #151515;
  border-color: #2B2B2B;
}

body[data-theme="dark"] .tab {
  color: #D7D7D7;
}

body[data-theme="dark"] .tab.is-active {
  color: #000;
  background: #fff;
  border-color: #fff;
}

body[data-theme="dark"] .theme-toggle {
  color: #fff;
  background: #151515;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .header-status,
body[data-theme="dark"] .eyebrow,
body[data-theme="dark"] .status-card span,
body[data-theme="dark"] .filter-head span {
  color: #B5B5B5;
}

body[data-theme="dark"] .main {
  background:
    radial-gradient(circle at 82% 12%, rgba(11,45,237,.12), transparent 30%),
    linear-gradient(180deg, #050505, #000);
}

body[data-theme="dark"]:not([data-active-tab="executive"]) .hero-strip,
body[data-theme="dark"] .filter-rail,
body[data-theme="dark"] .view,
body[data-theme="dark"] .kpi-card,
body[data-theme="dark"] .chart-card,
body[data-theme="dark"] .table-card,
body[data-theme="dark"] .panel,
body[data-theme="dark"] .status-card {
  color: #F7F7F7;
  background: #151515;
  border-color: #2B2B2B;
  box-shadow: 0 18px 36px rgba(0,0,0,.26);
}

body[data-theme="dark"] table,
body[data-theme="dark"] .table-wrap {
  color: #F7F7F7;
  background: #101010;
}

body[data-theme="dark"] th {
  color: #FFFFFF;
  background: #1E1E1E;
}

body[data-theme="dark"] td {
  border-color: #2B2B2B;
}

body[data-theme="dark"] tbody tr:nth-child(even) {
  background: #181818;
}

body[data-theme="dark"] input,
body[data-theme="dark"] select,
body[data-theme="dark"] textarea {
  color: #fff;
  background: #111;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .filter-card {
  color: #F7F7F7;
  background: #151515;
  border-color: #2B2B2B;
}

body[data-theme="dark"] label,
body[data-theme="dark"] .filter-head strong,
body[data-theme="dark"] .active-filters strong {
  color: #F7F7F7;
}

body[data-theme="dark"] .combo-button {
  color: #FFFFFF;
  background: #101010;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .combo-button::after {
  border-color: #C7C7C7;
}

body[data-theme="dark"] .combo-panel {
  color: #F7F7F7;
  background: #151515;
  border-color: #3A3A3A;
  box-shadow: 0 18px 42px rgba(0,0,0,.50);
}

body[data-theme="dark"] .combo-search {
  color: #FFFFFF;
  background: #101010;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .combo-option {
  color: #F7F7F7;
}

body[data-theme="dark"] .combo-option:hover,
body[data-theme="dark"] .combo-option.is-selected {
  color: #FFFFFF;
  background: rgba(11,45,237,.32);
}

body[data-theme="dark"] .combo-option.is-selected::after {
  content: none;
}

body[data-theme="dark"] .combo-check {
  background: #101010;
  border-color: #5A5A5A;
}

body[data-theme="dark"] .combo-option.is-selected .combo-check {
  background: #92B8F9;
  border-color: #92B8F9;
}

body[data-theme="dark"] .combo-option.is-selected .combo-check::after {
  color: #00103F;
}

body[data-theme="dark"] .combo-option.is-clear {
  color: #C7C7C7;
}

body[data-theme="dark"] .combo-empty,
body[data-theme="dark"] .active-filter-empty {
  color: #C7C7C7;
}

body[data-theme="dark"] .active-filter-chip {
  color: #FFFFFF;
  background: #101010;
  border-color: #3A3A3A;
}

body[data-theme="dark"] .active-filter-chip span {
  color: #92B8F9;
}

body[data-theme="light"][data-active-tab="executive"] {
  background: #F5F3F0;
}

body[data-theme="light"][data-active-tab="executive"] .main {
  background:
    radial-gradient(circle at 78% 12%, rgba(11,45,237,.05), transparent 30%),
    linear-gradient(180deg, #FFFFFF, #F5F3F0);
}

body[data-theme="light"][data-active-tab="executive"] .executive-cockpit {
  background:
    linear-gradient(90deg, rgba(0,0,0,.025), transparent 12%, transparent 88%, rgba(0,0,0,.025)),
    linear-gradient(135deg, #FFFFFF, #F5F3F0 58%, #ECEAE7);
  border-color: rgba(0,0,0,.12);
}

body[data-theme="light"][data-active-tab="executive"] .executive-cockpit::before {
  border-color: rgba(0,0,0,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.76), 0 20px 44px rgba(0,0,0,.08);
}

body[data-theme="light"][data-active-tab="executive"] .executive-cockpit::after {
  background: linear-gradient(90deg, transparent, rgba(11,45,237,.38), transparent);
  filter: none;
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge-panel,
body[data-theme="light"][data-active-tab="executive"] .exec-trend-panel,
body[data-theme="light"][data-active-tab="executive"] .exec-ai-panel,
body[data-theme="light"][data-active-tab="executive"] .exec-kpi,
body[data-theme="light"][data-active-tab="executive"] .exec-card {
  color: #000;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,243,240,.96));
  border-color: rgba(0,0,0,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 34px rgba(0,0,0,.08);
}

body[data-theme="light"][data-active-tab="executive"] .exec-mini-action,
body[data-theme="light"][data-active-tab="executive"] .ai-expand {
  color: #0B2DED;
  background: rgba(11,45,237,.07);
  border-color: rgba(11,45,237,.20);
}

body[data-theme="light"][data-active-tab="executive"] .exec-panel-title,
body[data-theme="light"][data-active-tab="executive"] .exec-card-head strong,
body[data-theme="light"][data-active-tab="executive"] .exec-cockpit-top h2,
body[data-theme="light"][data-active-tab="executive"] .exec-kpi strong,
body[data-theme="light"][data-active-tab="executive"] .exec-gauge strong {
  color: #000;
}

body[data-theme="light"][data-active-tab="executive"] .exec-kpi span,
body[data-theme="light"][data-active-tab="executive"] .exec-content-row span,
body[data-theme="light"][data-active-tab="executive"] .exec-trend-head span {
  color: #5E5E5E;
}

body[data-theme="light"][data-active-tab="executive"] .exec-ai-launch {
  color: #0B2DED;
  background: #FFFFFF;
  border-color: rgba(11,45,237,.22);
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
}

/* KPI drill-down modal */
.kpi-card.is-drillable,
.exec-kpi.is-drillable {
  cursor: pointer;
}

.drill-cue {
  position: absolute;
  right: 12px;
  bottom: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: calc(100% - 24px);
  padding: 4px 7px;
  color: #0B2DED;
  background: rgba(11,45,237,.08);
  border: 1px solid rgba(11,45,237,.22);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .03em;
  pointer-events: none;
}

#view-overview .kpi-card .drill-cue {
  right: 10px;
  bottom: 9px;
  max-width: calc(100% - 20px);
  padding: 4px 8px;
}

#view-overview .kpi-user-total-items .drill-cue {
  position: static;
  justify-self: start;
  max-width: 100%;
  margin-top: 1px;
  padding: 0;
  background: transparent;
  border: 0;
  pointer-events: auto;
}

.drill-cue svg {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

body[data-active-tab="executive"] .exec-kpi .drill-cue {
  right: 9px;
  bottom: 8px;
  color: #8fc2ff;
  background: rgba(143,194,255,.10);
  border-color: rgba(143,194,255,.26);
  font-size: 9px;
}

body[data-active-tab="executive"] .exec-kpi .drill-cue svg {
  width: 12px;
  height: 12px;
}

body[data-theme="dark"] .kpi-card .drill-cue {
  color: #8fc2ff;
  background: rgba(143,194,255,.10);
  border-color: rgba(143,194,255,.26);
}

body[data-theme="light"][data-active-tab="executive"] .exec-kpi .drill-cue {
  color: #0B2DED;
  background: rgba(11,45,237,.08);
  border-color: rgba(11,45,237,.20);
}

.kpi-card.is-drillable:hover,
.exec-kpi.is-drillable:hover {
  border-color: rgba(11,45,237,.42);
  box-shadow: 0 16px 34px rgba(11,45,237,.12);
}

.kpi-card.is-drillable:focus-visible,
.exec-kpi.is-drillable:focus-visible {
  outline: 2px solid #0B2DED;
  outline-offset: 3px;
}

.drill-modal[hidden] {
  display: none;
}

.drill-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.drill-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(8px);
}

.drill-dialog {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  overflow: hidden;
  color: #F7F7F7;
  background: linear-gradient(180deg, #1E1E1E, #101010);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  box-shadow: 0 34px 90px rgba(0,0,0,.48);
}

.drill-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.drill-header span {
  display: block;
  margin-bottom: 5px;
  color: #8fc2ff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.drill-header h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
}

.drill-close {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: inherit;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  cursor: pointer;
}

.drill-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 22px;
}

.drill-toolbar input {
  width: min(420px, 100%);
  color: #F7F7F7;
  background: #151515;
  border: 1px solid #3A3A3A;
  border-radius: 10px;
}

.drill-summary {
  padding: 0 22px 12px;
  color: #C7C7C7;
  font-size: 13px;
}

.drill-table-wrap {
  min-height: 0;
  overflow: auto;
  border-top: 1px solid rgba(255,255,255,.10);
}

.drill-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  color: #F7F7F7;
  background: #101010;
  font-size: 12px;
}

.drill-table-wrap th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #FFFFFF;
  background: #202020;
  border-bottom: 1px solid #3A3A3A;
}

.drill-table-wrap td,
.drill-table-wrap th {
  padding: 10px 12px;
  text-align: left;
  white-space: nowrap;
}

.drill-table-wrap td {
  max-width: 460px;
  white-space: normal;
  vertical-align: top;
}

.drill-table-wrap tbody tr:nth-child(odd) td {
  background: #101010;
}

.drill-table-wrap tbody tr:nth-child(even) td {
  background: #181818;
}

.drill-table-wrap tbody tr:hover td {
  background: rgba(11,45,237,.24);
}

body[data-theme="light"] .drill-dialog {
  color: #000;
  background: linear-gradient(180deg, #FFFFFF, #F5F3F0);
  border-color: rgba(0,0,0,.12);
}

body[data-theme="light"] .drill-header {
  border-bottom-color: rgba(0,0,0,.10);
}

body[data-theme="light"] .drill-close,
body[data-theme="light"] .drill-toolbar input {
  color: #000;
  background: #FFFFFF;
  border-color: rgba(0,0,0,.16);
}

body[data-theme="light"] .drill-summary {
  color: #5E5E5E;
}

body[data-theme="light"] .drill-table-wrap table {
  color: #000;
  background: #FFFFFF;
}

body[data-theme="light"] .drill-table-wrap th {
  color: #000;
  background: #EFECE7;
  border-bottom-color: rgba(0,0,0,.12);
}

body[data-theme="light"] .drill-table-wrap tbody tr:nth-child(odd) td {
  background: #FFFFFF;
}

body[data-theme="light"] .drill-table-wrap tbody tr:nth-child(even) td {
  background: #F7F5F1;
}

body[data-theme="light"] .drill-table-wrap tbody tr:hover td {
  background: rgba(11,45,237,.10);
}

@media (max-width: 720px) {
  .drill-modal {
    padding: 10px;
  }
  .drill-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 14px;
  }
  .drill-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .drill-toolbar input {
    width: 100%;
  }
}

body[data-theme="light"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: none;
}

/* Cockpit boot polish: subtle road-display texture and live KPI response */
body[data-active-tab="executive"] .main {
  position: relative;
}

body[data-active-tab="executive"] .main::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .06;
  background-image:
    linear-gradient(rgba(255,255,255,.92) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.92) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: radial-gradient(circle at 50% 46%, #000 0%, rgba(0,0,0,.68) 46%, transparent 82%);
}

body[data-theme="light"][data-active-tab="executive"] .main::before {
  opacity: .055;
  background-image:
    linear-gradient(rgba(0,0,0,.70) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.70) 1px, transparent 1px);
}

body[data-active-tab="executive"] .workspace,
body[data-active-tab="executive"] .content-area {
  position: relative;
  z-index: 1;
}

body[data-active-tab="executive"] .exec-kpi {
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    filter .22s ease,
    background .22s ease;
}

body[data-active-tab="executive"] .exec-kpi-icon,
body[data-active-tab="executive"] .exec-kpi strong {
  transition: filter .22s ease, text-shadow .22s ease, transform .22s ease, box-shadow .22s ease;
}

body[data-active-tab="executive"] .exec-kpi:hover {
  border-color: rgba(146, 184, 249, .56);
  box-shadow:
    0 18px 34px rgba(0,0,0,.28),
    0 0 0 1px rgba(146,184,249,.16),
    0 0 24px rgba(11,45,237,.18);
  filter: brightness(1.045);
}

body[data-active-tab="executive"] .exec-kpi:hover .exec-kpi-icon {
  animation: cockpitIconPulse .62s ease-out 1;
  box-shadow:
    0 0 0 1px rgba(146,184,249,.28),
    0 0 18px rgba(11,45,237,.20);
  filter: brightness(1.14);
}

body[data-active-tab="executive"] .exec-kpi:hover strong {
  filter: brightness(1.18);
  text-shadow: 0 0 14px rgba(146,184,249,.34);
}

body[data-active-tab="executive"] .executive-cockpit.has-started .exec-kpi {
  animation: cockpitSoftGlow 7s ease-in-out infinite;
}

body[data-active-tab="executive"] .executive-cockpit.has-started .exec-kpi strong {
  animation: none;
}

body[data-theme="light"][data-active-tab="executive"] .exec-kpi:hover {
  border-color: rgba(11,45,237,.30);
  box-shadow:
    0 18px 34px rgba(0,0,0,.12),
    0 0 0 1px rgba(11,45,237,.08),
    0 0 22px rgba(11,45,237,.12);
}

@keyframes cockpitIconPulse {
  0% { transform: scale(1); }
  42% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* Living instrument rows */
body[data-active-tab="executive"] .exec-perf-row,
body[data-active-tab="executive"] .exec-content-row {
  position: relative;
  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

body[data-active-tab="executive"] .exec-perf-row:hover,
body[data-active-tab="executive"] .exec-content-row:hover {
  z-index: 2;
  background: rgba(146,184,249,.075);
  border-color: rgba(146,184,249,.28);
  box-shadow:
    0 0 0 1px rgba(146,184,249,.10) inset,
    0 0 22px rgba(11,45,237,.14);
  filter: brightness(1.08);
}

body[data-active-tab="executive"] .exec-perf-row::after {
  content: attr(data-detail);
  position: absolute;
  left: 40px;
  bottom: -15px;
  z-index: 3;
  padding: 3px 7px;
  color: #dfe7ee;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  border: 1px solid rgba(146,184,249,.24);
  border-radius: 999px;
  background: rgba(7, 13, 19, .88);
  box-shadow: 0 0 14px rgba(11,45,237,.16);
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

body[data-active-tab="executive"] .exec-perf-row:hover::after {
  opacity: 1;
  transform: translateY(0);
}

body[data-active-tab="executive"] .exec-perf-row:hover .perf-bar,
body[data-active-tab="executive"] .exec-content-row:hover i {
  background: rgba(255,255,255,.13);
  box-shadow: inset 0 0 0 1px rgba(146,184,249,.18);
}

body[data-active-tab="executive"] .exec-perf-row:hover .perf-bar i,
body[data-active-tab="executive"] .exec-content-row:hover i em {
  filter: brightness(1.22) saturate(1.12);
  box-shadow:
    0 0 10px rgba(146,184,249,.46),
    0 0 24px rgba(11,45,237,.24);
}

body[data-active-tab="executive"] .exec-content-row:hover small {
  color: #dfe7ee;
  text-shadow: 0 0 12px rgba(146,184,249,.34);
}

body[data-active-tab="executive"] .exec-content-row:hover b,
body[data-active-tab="executive"] .exec-perf-row:hover .perf-value {
  color: #fff;
  text-shadow: 0 0 12px rgba(146,184,249,.36);
}

body[data-theme="light"][data-active-tab="executive"] .exec-perf-row:hover,
body[data-theme="light"][data-active-tab="executive"] .exec-content-row:hover {
  background: rgba(11,45,237,.045);
  border-color: rgba(11,45,237,.18);
  box-shadow:
    0 0 0 1px rgba(11,45,237,.06) inset,
    0 10px 22px rgba(0,0,0,.07);
}

body[data-theme="light"][data-active-tab="executive"] .exec-perf-row::after {
  color: #0a1724;
  background: rgba(255,255,255,.94);
  border-color: rgba(11,45,237,.18);
}

/* Deterministic cockpit boot sequence */
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-area-featured,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-kpi,
body[data-active-tab="executive"] .executive-cockpit.is-starting .exec-volvo-card {
  opacity: 0;
  transform: translateY(10px);
  filter: brightness(.74) drop-shadow(0 0 0 rgba(146,184,249,0));
  animation: none;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-gauge .exec-gauge-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-trend-panel,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-side-stack,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-evolution,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-performance,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-dealers,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-featured,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-car .exec-volvo-card {
  animation: cockpitModuleIgnite .46s cubic-bezier(.16,.84,.2,1) both;
}

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(2) { animation-delay: .12s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(3) { animation-delay: .24s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(4) { animation-delay: .36s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(5) { animation-delay: .48s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(6) { animation-delay: .60s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-kpis .exec-kpi:nth-child(7) { animation-delay: .72s; }

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-side-stack { animation-delay: .16s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-evolution { animation-delay: .32s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-performance { animation-delay: .48s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-dealers { animation-delay: .64s; }
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-panels .exec-area-featured { animation-delay: .80s; }

body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-car .exec-volvo-core img,
body[data-active-tab="executive"] .executive-cockpit.is-starting.stage-car .ego-car img {
  animation: cockpitVehicleWake .56s cubic-bezier(.16,.84,.2,1) .22s both;
}

/* Keep the application header light so the Visionar bitmap remains brand-clean. */
body[data-theme="dark"] .app-header,
body[data-theme="dark"] .app-header::before {
  color: #101820;
  background: #fff;
  border-color: #D9D9D9;
}

body[data-theme="dark"] .brand img {
  filter: none;
}

body[data-theme="dark"] .tabs {
  background: #F5F3F0;
  border-color: #D9D9D9;
}

body[data-theme="dark"] .tab {
  color: #101820;
}

body[data-theme="dark"] .tab.is-active {
  color: #fff;
  background: #000;
  border-color: #000;
}

body[data-theme="dark"] .theme-toggle {
  color: #101820;
  background: #fff;
  border-color: #D9D9D9;
}

/* EOF cockpit logo contrast override. */
body[data-theme="light"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img,
body[data-theme="dark"][data-active-tab="executive"] .exec-volvo-card .exec-volvo-core img {
  filter: invert(1) brightness(1.35) drop-shadow(0 0 20px rgba(255,255,255,.22)) !important;
}

/* Final layout pass: side navigation and complete lower cockpit row. */
.app-shell {
  display: grid;
  grid-template-columns: var(--side-rail-width, 258px) minmax(0, 1fr);
}

.app-header {
  position: sticky;
  top: 0;
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: var(--side-rail-width, 258px);
  height: 100vh;
  min-height: 100vh;
  gap: 14px;
  padding: 16px 14px;
  border-right: 1px solid #D9D9D9;
  border-bottom: 0;
  overflow: hidden;
}

.main {
  grid-column: 2;
  min-width: 0;
  padding-top: 12px;
}

.nav-toggle {
  display: grid;
}

.tabs,
body[data-theme="dark"] .tabs {
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  overflow: visible;
  padding: 0;
  background: transparent;
  border: 0;
}

.tab,
body[data-theme="dark"] .tab {
  width: 100%;
  min-height: 38px;
  padding: 9px 12px;
  color: #101820;
  text-align: left;
  background: rgba(245,243,240,.76);
  border-color: rgba(16,24,32,.08);
}

.header-status {
  width: 100%;
  margin-top: auto;
  justify-content: flex-start;
  text-align: left;
}

body.nav-collapsed {
  --side-rail-width: 82px;
}

body.nav-collapsed .app-header {
  align-items: center;
  padding: 14px 10px;
}

body.nav-collapsed .brand-home {
  width: 54px;
}

body.nav-collapsed .tab {
  display: grid;
  place-items: center;
  padding: 9px 0;
  font-size: 0;
}

body.nav-collapsed .tab::before {
  content: attr(data-initial);
  font-size: 13px;
  font-weight: 800;
}

body.nav-collapsed .header-status .dot,
body.nav-collapsed .header-status #cacheState {
  display: none;
}

body[data-active-tab="executive"] .exec-lower-grid {
  --exec-lower-panel-height: clamp(392px, 24vw, 440px);
  grid-template-rows: minmax(270px, auto) var(--exec-lower-panel-height) !important;
  align-items: stretch;
}

body[data-active-tab="executive"] .exec-area-dealers,
body[data-active-tab="executive"] .exec-area-featured,
body[data-active-tab="executive"] .exec-road-pilot {
  min-height: var(--exec-lower-panel-height) !important;
  height: var(--exec-lower-panel-height) !important;
  overflow: hidden;
}

body[data-active-tab="executive"] .exec-volvo-card {
  grid-template-rows: minmax(0, 1fr) var(--exec-lower-panel-height) !important;
  min-height: calc(var(--exec-lower-panel-height) + 185px) !important;
  overflow: visible;
}

body[data-active-tab="executive"] .exec-road-pilot {
  transform: translateY(16px);
}

body[data-active-tab="executive"] .exec-area-dealers,
body[data-active-tab="executive"] .exec-area-featured {
  display: flex;
  flex-direction: column;
}

body[data-active-tab="executive"] .exec-dealer-ranking,
body[data-active-tab="executive"] .exec-area-featured .exec-featured-areas {
  flex: 1 1 auto;
  min-height: 0;
}

body[data-active-tab="executive"] .exec-area-featured .exec-featured-areas {
  justify-content: start;
  gap: 10px;
  padding-top: 8px;
}

body[data-active-tab="executive"] .exec-content-row {
  row-gap: 5px;
}

body[data-active-tab="executive"] .exec-content-row span {
  font-size: 12px;
}

body[data-active-tab="executive"] .exec-content-row b {
  font-size: 14px;
}

body[data-active-tab="executive"] .exec-content-row small {
  font-size: 10px;
}

body[data-active-tab="executive"] .exec-content-row i {
  height: 7px;
}

body[data-active-tab="executive"] .road-lane::before {
  clip-path: polygon(32% 0, 68% 0, 95% 100%, 5% 100%) !important;
}

body[data-active-tab="executive"] .lane-guide {
  top: 22px !important;
  bottom: 42px !important;
  width: 5px;
  transform-origin: 50% 50%;
}

body[data-active-tab="executive"] .lane-guide-left {
  left: 17%;
  transform: rotateZ(9deg) !important;
}

body[data-active-tab="executive"] .lane-guide-right {
  left: auto;
  right: 17%;
  transform: rotateZ(-9deg) !important;
}

body[data-active-tab="executive"] .lane-guide::after {
  inset: -90px 0 0;
  background: repeating-linear-gradient(180deg, rgba(65, 238, 104, .98) 0 20px, transparent 20px 38px);
  animation: laneFlowSmooth 1.05s linear infinite;
}

/* Side rail iconography polish. */
.nav-toggle {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.96), rgba(245,243,240,.94)),
    linear-gradient(180deg, #fff, #F5F3F0);
  border: 1px solid rgba(16,24,32,.12);
  box-shadow:
    0 12px 28px rgba(0,0,0,.10),
    inset 0 0 0 1px rgba(255,255,255,.60);
  color: #101820;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nav-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(11,45,237,.28);
  box-shadow:
    0 14px 30px rgba(0,0,0,.14),
    0 0 18px rgba(11,45,237,.12),
    inset 0 0 0 1px rgba(255,255,255,.70);
}

.nav-toggle span {
  width: 17px;
  height: 2px;
  margin: 2px 0;
  background: currentColor;
}

body.nav-collapsed .nav-toggle span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

body.nav-collapsed .nav-toggle span:nth-child(2) {
  opacity: 0;
}

body.nav-collapsed .nav-toggle span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.brand-home {
  justify-content: center;
}

body.nav-collapsed .brand-home {
  display: grid;
  place-items: center;
  width: 56px;
  min-height: 58px;
  margin-inline: auto;
}

body.nav-collapsed .brand img {
  width: 168px;
  height: 52px;
  max-width: none;
  object-position: 0 center;
  justify-self: start;
  transform: translateX(2px) scale(1.08);
}

.tab {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tab-icon {
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #101820;
  border-radius: 9px;
  background: rgba(255,255,255,.62);
  box-shadow: inset 0 0 0 1px rgba(16,24,32,.08);
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tab-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tab-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tab:hover .tab-icon,
.tab.is-active .tab-icon {
  color: #fff;
  background: #101820;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 0 14px rgba(11,45,237,.16);
  transform: translateY(-1px);
}

body.nav-collapsed .tab {
  width: 48px;
  min-height: 48px;
  justify-content: center;
  padding: 0;
  margin-inline: auto;
  font-size: 0;
}

body.nav-collapsed .tab::before {
  content: none;
}

body.nav-collapsed .tab-label {
  display: none;
}

body.nav-collapsed .tab-icon {
  flex-basis: 28px;
  width: 28px;
  height: 28px;
}

body.nav-collapsed .tab-icon svg {
  width: 17px;
  height: 17px;
}

/* Final light cockpit gauge polish and KPI fit guard. */
body[data-theme="light"][data-active-tab="executive"] .exec-gauge-panel {
  background:
    radial-gradient(circle at 50% 28%, rgba(11,45,237,.08), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,243,240,.96));
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge-arc {
  box-shadow:
    0 0 0 1px rgba(16,24,32,.10),
    0 0 8px var(--gauge-glow-soft),
    0 0 24px color-mix(in srgb, var(--gauge-glow-soft), transparent 18%),
    inset 0 -18px 30px rgba(16,24,32,.14);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge-arc::after {
  background:
    radial-gradient(ellipse at 50% 100%, #e9edf0 0 54%, #d9e0e5 55% 72%, rgba(255,255,255,.74) 73%, transparent 76%),
    linear-gradient(180deg, rgba(255,255,255,.82), #dfe5e9 58%);
  box-shadow:
    inset 0 14px 26px rgba(255,255,255,.82),
    inset 0 -18px 34px rgba(16,24,32,.10);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge-arc::before {
  background: linear-gradient(180deg, rgba(16,24,32,.78), rgba(16,24,32,.24));
  box-shadow: 0 0 8px rgba(16,24,32,.22);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge strong {
  color: #101820;
  text-shadow: 0 1px 0 rgba(255,255,255,.88);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge span {
  color: #4A5560;
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge small {
  color: #4A5560;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(16,24,32,.10);
  box-shadow: 0 8px 18px rgba(16,24,32,.10);
}

body[data-theme="light"][data-active-tab="executive"] .exec-gauge::before,
body[data-theme="light"][data-active-tab="executive"] .exec-gauge::after {
  color: rgba(16,24,32,.34);
}

body[data-active-tab="executive"] .exec-kpi {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  padding-inline: 10px;
}

body[data-active-tab="executive"] .exec-kpi strong {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  font-size: clamp(18px, 1.16vw, 20px);
  letter-spacing: 0;
}

body[data-active-tab="executive"] .exec-kpi span {
  font-size: 8.5px;
}

body[data-active-tab="executive"] .exec-kpi small {
  line-height: 1.18;
}

/* Final navigation toggle alignment and finish. */
.app-header .nav-toggle,
body.nav-collapsed .app-header .nav-toggle {
  align-self: center;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 46px;
  height: 46px;
  margin: 0 auto 10px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.98), rgba(245,243,240,.92) 58%, rgba(231,229,226,.92)),
    linear-gradient(180deg, #fff, #F5F3F0);
  border: 1px solid rgba(16,24,32,.13);
  box-shadow:
    0 10px 24px rgba(16,24,32,.08),
    inset 0 0 0 1px rgba(255,255,255,.68);
}

.app-header .nav-toggle::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.62);
  pointer-events: none;
}

.app-header .nav-toggle span,
body.nav-collapsed .app-header .nav-toggle span:nth-child(1),
body.nav-collapsed .app-header .nav-toggle span:nth-child(2),
body.nav-collapsed .app-header .nav-toggle span:nth-child(3) {
  width: 18px;
  height: 2px;
  margin: 0;
  opacity: 1;
  transform: none;
  background: #101820;
  border-radius: 999px;
  transition: width .18s ease, background .18s ease, transform .18s ease;
}

.app-header .nav-toggle:hover span:nth-child(2) {
  width: 12px;
}

.app-header .nav-toggle:hover {
  border-color: rgba(11,45,237,.28);
  box-shadow:
    0 14px 30px rgba(16,24,32,.12),
    0 0 18px rgba(11,45,237,.10),
    inset 0 0 0 1px rgba(255,255,255,.74);
}

body.nav-collapsed .brand-home {
  margin-top: 4px;
  justify-content: flex-start;
  overflow: hidden;
}

body.nav-collapsed .brand-home img {
  flex: 0 0 auto;
  transform: translateX(0) scale(1.04);
}

/* AI operating state: cockpit-style analysis and system message reveal. */
.exec-ai-launch,
.button#generateAi {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.exec-ai-launch.is-ai-running,
.button#generateAi.is-ai-running {
  color: #fff;
  background:
    linear-gradient(100deg, rgba(11,45,237,.92), rgba(100,74,255,.82), rgba(11,45,237,.92));
  background-size: 220% 100%;
  border-color: rgba(170,194,255,.64);
  box-shadow:
    0 0 0 1px rgba(144,182,255,.18),
    0 0 22px rgba(11,45,237,.42),
    0 0 36px rgba(119,74,255,.26),
    inset 0 1px 0 rgba(255,255,255,.20);
  cursor: progress;
  animation: aiButtonGlow 1.25s ease-in-out infinite, aiButtonGradient 2.2s linear infinite;
}

.exec-ai-launch.is-ai-running::before,
.button#generateAi.is-ai-running::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 8px;
  vertical-align: -2px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.34);
  border-top-color: #fff;
  animation: aiSpinner .78s linear infinite;
}

.exec-ai-launch.is-ai-running::after,
.button#generateAi.is-ai-running::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 6px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.92), transparent);
  opacity: .72;
  transform: translateX(-85%);
  animation: aiLinearScan 1.05s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

body.ai-analyzing[data-active-tab="executive"] .exec-side-stack .exec-ai-panel,
body.ai-analyzing[data-active-tab="executive"] .exec-side-stack .exec-area-alerts {
  border-color: rgba(143,194,255,.40);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(11,45,237,.11),
    0 0 26px rgba(11,45,237,.18);
}

body.ai-analyzing[data-active-tab="executive"] .exec-side-stack .exec-ai-panel::before,
body.ai-analyzing[data-active-tab="executive"] .exec-side-stack .exec-area-alerts::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, transparent 0 22%, rgba(143,194,255,.34) 23%, rgba(143,194,255,.06) 25%, transparent 35%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.05), transparent);
  transform: translateY(-100%);
  animation: aiPanelScanner 1.9s cubic-bezier(.45,0,.2,1) infinite;
  pointer-events: none;
}

.ai-skeleton-panel,
.ai-skeleton-list {
  position: relative;
  overflow: hidden;
}

.ai-skeleton-panel::after,
.ai-skeleton-list::after,
.ai-skeleton-tip::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0 32%, rgba(143,194,255,.16) 46%, transparent 62% 100%);
  transform: translateX(-115%);
  animation: aiSkeletonShimmer 1.35s ease-in-out infinite;
  pointer-events: none;
}

.ai-skeleton-orb {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 45%, rgba(143,194,255,.58), transparent 34%),
    rgba(143,194,255,.12);
  box-shadow: 0 0 18px rgba(11,45,237,.22);
}

.ai-skeleton-line {
  display: block;
  height: 9px;
  margin: 0 0 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.10), rgba(143,194,255,.22), rgba(255,255,255,.08));
}

.ai-skeleton-line.w-88 { width: 88%; }
.ai-skeleton-line.w-86 { width: 86%; }
.ai-skeleton-line.w-78 { width: 78%; }
.ai-skeleton-line.w-72 { width: 72%; }
.ai-skeleton-line.w-60 { width: 60%; }
.ai-skeleton-line.w-54 { width: 54%; }
.ai-skeleton-line.w-48 { width: 48%; }
.ai-skeleton-line.w-42 { width: 42%; }
.ai-skeleton-line.w-38 { width: 38%; }
.ai-skeleton-line.w-34 { width: 34%; }

.ai-skeleton-tip {
  position: relative;
  min-height: 62px;
  padding: 10px 11px;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(143,194,255,.12);
}

.ai-insight-card.is-ai-result,
.ai-tips-list.is-ai-result .ai-tip {
  animation: aiResultShell .62s cubic-bezier(.16,.84,.2,1) both, aiResultBorder 1.15s ease-out 1;
}

.ai-insight-card.is-ai-result > span {
  animation: aiResultPart .34s cubic-bezier(.16,.84,.2,1) both .08s;
}

.ai-insight-card.is-ai-result strong {
  animation: aiResultPart .34s cubic-bezier(.16,.84,.2,1) both .18s;
}

.ai-insight-card.is-ai-result em {
  animation: aiResultPart .34s cubic-bezier(.16,.84,.2,1) both .31s;
}

.ai-insight-card.is-ai-result p,
.ai-insight-card.is-ai-result .ai-expand {
  animation: aiResultPart .34s cubic-bezier(.16,.84,.2,1) both .44s;
}

.ai-tips-list.is-ai-result .ai-tip:nth-child(2) {
  animation-delay: .10s, .10s;
}

body[data-theme="light"] .ai-skeleton-line,
body[data-theme="light"] .ai-skeleton-tip {
  background: linear-gradient(90deg, rgba(16,24,32,.06), rgba(11,45,237,.12), rgba(16,24,32,.05));
}

body[data-theme="light"] .ai-skeleton-tip {
  border-color: rgba(11,45,237,.14);
}

@keyframes aiButtonGlow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.18); }
}

@keyframes aiButtonGradient {
  from { background-position: 0% 50%; }
  to { background-position: 220% 50%; }
}

@keyframes aiSpinner {
  to { transform: rotate(360deg); }
}

@keyframes aiLinearScan {
  0% { transform: translateX(-90%); opacity: .20; }
  35%, 65% { opacity: .82; }
  100% { transform: translateX(90%); opacity: .20; }
}

@keyframes aiPanelScanner {
  0% { transform: translateY(-105%); opacity: 0; }
  18% { opacity: .95; }
  72% { opacity: .76; }
  100% { transform: translateY(105%); opacity: 0; }
}

@keyframes aiSkeletonShimmer {
  to { transform: translateX(115%); }
}

@keyframes aiResultShell {
  from { opacity: 0; transform: translateY(7px); filter: brightness(1.35); }
  to { opacity: 1; transform: translateY(0); filter: brightness(1); }
}

@keyframes aiResultPart {
  from { opacity: 0; transform: translateY(5px); filter: blur(1px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes aiResultBorder {
  0% { box-shadow: 0 0 0 1px rgba(143,194,255,.68), 0 0 26px rgba(11,45,237,.38); }
  100% { box-shadow: none; }
}

/* Ride Pilot EX90 HUD rebuild: perspective road, animated lanes and integrated rear car. */
body[data-active-tab="executive"] .executive-cockpit.has-started .exec-road-pilot {
  transform: none;
}

body[data-active-tab="executive"] .exec-road-pilot {
  isolation: isolate;
  border-radius: 18px;
  border: 1px solid rgba(143, 194, 255, .34);
  background:
    radial-gradient(ellipse at 50% 82%, rgba(11, 45, 237, .22), transparent 0 24%),
    radial-gradient(ellipse at 50% 18%, rgba(98, 190, 255, .18), transparent 0 42%),
    linear-gradient(180deg, #07111c 0%, #08131d 42%, #05090d 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.045),
    inset 0 0 42px rgba(11,45,237,.16),
    0 0 24px rgba(11,45,237,.20);
}

body[data-active-tab="executive"] .exec-road-pilot::before {
  display: block;
  content: "";
  position: absolute;
  inset: 7px;
  z-index: 16;
  border-radius: 14px;
  pointer-events: none;
  background:
    linear-gradient(#8fc2ff, #8fc2ff) left top / 22px 1px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) left top / 1px 22px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) right top / 22px 1px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) right top / 1px 22px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) left bottom / 22px 1px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) left bottom / 1px 22px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) right bottom / 22px 1px no-repeat,
    linear-gradient(#8fc2ff, #8fc2ff) right bottom / 1px 22px no-repeat;
  opacity: .76;
  filter: drop-shadow(0 0 6px rgba(143,194,255,.55));
}

body[data-active-tab="executive"] .exec-road-pilot::after {
  display: block;
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 9px;
  z-index: 16;
  height: 16px;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(143,194,255,.68), transparent) center 8px / 160px 1px no-repeat,
    repeating-linear-gradient(90deg, transparent 0 8px, rgba(143,194,255,.62) 8px 10px, transparent 10px 18px);
  opacity: .55;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 65%, transparent);
}

body[data-active-tab="executive"] .road-lane {
  inset: 10px;
  border-radius: 14px;
  overflow: hidden;
  perspective: none;
  background:
    radial-gradient(ellipse at 50% 10%, rgba(143,194,255,.16), transparent 0 34%),
    linear-gradient(90deg, rgba(143,194,255,.04), transparent 18% 82%, rgba(143,194,255,.04));
}

body[data-active-tab="executive"] .road-lane::before,
body[data-active-tab="executive"] .road-lane::after {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(36% 0, 64% 0, 96% 100%, 4% 100%);
}

body[data-active-tab="executive"] .road-lane::before {
  z-index: 1;
  background:
    radial-gradient(ellipse at 50% 72%, rgba(11,45,237,.18), transparent 0 26%),
    linear-gradient(90deg, rgba(61,148,225,.18), transparent 18% 82%, rgba(61,148,225,.18)),
    linear-gradient(180deg, rgba(22,40,52,.74) 0%, rgba(12,25,35,.88) 42%, rgba(6,12,17,.98) 100%);
  box-shadow:
    inset 32px 0 38px rgba(82,170,255,.09),
    inset -32px 0 38px rgba(82,170,255,.09);
}

body[data-active-tab="executive"] .road-lane::after {
  z-index: 2;
  opacity: .58;
  background:
    radial-gradient(circle, rgba(143,194,255,.22) 0 1px, transparent 1.25px) 0 0 / 13px 13px,
    repeating-linear-gradient(0deg, rgba(143,194,255,.08) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(90deg, rgba(143,194,255,.055) 0 1px, transparent 1px 18px);
  animation: roadGridFlow 3.4s linear infinite;
}

body[data-active-tab="executive"] .traffic-left,
body[data-active-tab="executive"] .traffic-right {
  display: none !important;
}

body[data-active-tab="executive"] .traffic-center {
  display: block !important;
  position: absolute;
  left: 50%;
  top: 5px;
  bottom: 18px;
  z-index: 5;
  width: 2px;
  height: auto;
  margin-left: -1px;
  border-radius: 999px;
  background: repeating-linear-gradient(180deg, rgba(143,194,255,.78) 0 14px, transparent 14px 29px);
  box-shadow: 0 0 10px rgba(143,194,255,.48);
  animation: centerLaneFlow 1.55s linear infinite;
}

body[data-active-tab="executive"] .lane-left,
body[data-active-tab="executive"] .lane-right {
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 4;
  width: auto;
  height: auto;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(93,190,255,.22), rgba(93,190,255,.96), rgba(93,190,255,.38));
  box-shadow:
    0 0 8px rgba(93,190,255,.65),
    0 0 20px rgba(11,45,237,.28);
}

body[data-active-tab="executive"] .lane-left {
  left: 0;
  transform: none;
  clip-path: polygon(35.8% 0, 36.4% 0, 7.4% 100%, 6.6% 100%);
}

body[data-active-tab="executive"] .lane-right {
  right: 0;
  transform: none;
  clip-path: polygon(63.6% 0, 64.2% 0, 93.4% 100%, 92.6% 100%);
}

body[data-active-tab="executive"] .lane-guide {
  position: absolute;
  top: 8px !important;
  bottom: 28px !important;
  z-index: 7;
  width: 5px;
  height: auto;
  border-radius: 999px;
  background: none !important;
  filter:
    drop-shadow(0 0 7px rgba(86,255,124,.68))
    drop-shadow(0 0 17px rgba(86,255,124,.28));
  overflow: hidden;
}

body[data-active-tab="executive"] .lane-guide-left {
  left: 28% !important;
  right: auto !important;
  transform: rotateZ(9deg) !important;
}

body[data-active-tab="executive"] .lane-guide-right {
  left: auto !important;
  right: 28% !important;
  transform: rotateZ(-9deg) !important;
}

body[data-active-tab="executive"] .lane-guide::after {
  inset: -84px 0 0 !important;
  background: repeating-linear-gradient(180deg, rgba(88,255,126,.98) 0 18px, transparent 18px 35px) !important;
  animation: ex90LaneFlow 1.18s linear infinite !important;
}

body[data-active-tab="executive"] .ego-car {
  left: 50%;
  bottom: 10px;
  z-index: 12;
  width: clamp(136px, 42%, 188px);
  height: clamp(96px, 34%, 134px);
  margin-left: 0;
  transform: translateX(-50%);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: povDrive 1.9s ease-in-out infinite;
}

body[data-active-tab="executive"] .ego-car::before {
  display: block;
  content: "";
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 5%;
  height: 18%;
  border-radius: 50%;
  background: rgba(0,0,0,.62);
  filter: blur(13px);
  transform: scaleX(1.26);
  z-index: 0;
}

body[data-active-tab="executive"] .ego-car::after {
  content: "";
  position: absolute;
  left: 21%;
  right: 21%;
  bottom: -1%;
  z-index: 1;
  height: 36%;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(11,45,237,.46), rgba(63,177,255,.20) 38%, transparent 72%);
  filter: blur(7px);
  animation: carBlueHalo 2.2s ease-in-out infinite;
}

body[data-active-tab="executive"] .ego-car img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter:
    drop-shadow(0 18px 20px rgba(0,0,0,.68))
    drop-shadow(0 0 14px rgba(84,172,255,.14))
    saturate(.98)
    contrast(1.04);
}

@keyframes roadGridFlow {
  from { background-position: 0 -26px, 0 -36px, 0 0; }
  to { background-position: 0 26px, 0 36px, 0 0; }
}

@keyframes centerLaneFlow {
  from { background-position-y: -29px; }
  to { background-position-y: 0; }
}

@keyframes ex90LaneFlow {
  from { transform: translateY(-35px); }
  to { transform: translateY(0); }
}

@keyframes carBlueHalo {
  0%, 100% { opacity: .62; transform: scaleX(1); }
  50% { opacity: .92; transform: scaleX(1.08); }
}

/* Ride Pilot final tuning against EX90 reference. */
body[data-active-tab="executive"] .exec-road-pilot {
  background:
    radial-gradient(ellipse at 50% 92%, rgba(11,45,237,.34), transparent 0 30%),
    radial-gradient(ellipse at 0% 62%, rgba(82,170,255,.18), transparent 0 44%),
    radial-gradient(ellipse at 100% 62%, rgba(82,170,255,.18), transparent 0 44%),
    radial-gradient(ellipse at 50% 14%, rgba(98,190,255,.22), transparent 0 42%),
    linear-gradient(90deg, rgba(8,38,60,.52), transparent 23% 77%, rgba(8,38,60,.52)),
    linear-gradient(180deg, #07111c 0%, #08131d 42%, #05090d 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 0 38px rgba(82,170,255,.17),
    inset 0 0 86px rgba(11,45,237,.15),
    0 0 22px rgba(82,170,255,.26),
    0 0 40px rgba(11,45,237,.20);
}

body[data-active-tab="executive"] .road-lane {
  inset: 8px;
  background:
    radial-gradient(ellipse at 50% 94%, rgba(11,45,237,.32), transparent 0 28%),
    radial-gradient(ellipse at 16% 54%, rgba(82,170,255,.12), transparent 0 34%),
    radial-gradient(ellipse at 84% 54%, rgba(82,170,255,.12), transparent 0 34%),
    linear-gradient(90deg, rgba(143,194,255,.09), transparent 22% 78%, rgba(143,194,255,.09));
}

body[data-active-tab="executive"] .road-lane::before,
body[data-active-tab="executive"] .road-lane::after {
  clip-path: polygon(24% 0, 76% 0, 100% 100%, 0 100%);
}

body[data-active-tab="executive"] .road-lane::before {
  background:
    radial-gradient(ellipse at 50% 78%, rgba(11,45,237,.20), transparent 0 28%),
    radial-gradient(ellipse at 50% 24%, rgba(143,194,255,.08), transparent 0 44%),
    linear-gradient(90deg, rgba(61,148,225,.20), transparent 13% 87%, rgba(61,148,225,.20)),
    linear-gradient(180deg, rgba(18,35,48,.82) 0%, rgba(11,25,35,.92) 42%, rgba(5,10,15,.99) 100%);
  box-shadow:
    inset 20px 0 42px rgba(82,170,255,.14),
    inset -20px 0 42px rgba(82,170,255,.14),
    inset 4px 0 18px rgba(95,205,255,.16),
    inset -4px 0 18px rgba(95,205,255,.16);
}

body[data-active-tab="executive"] .road-lane::after {
  opacity: .38;
  background:
    radial-gradient(circle, rgba(143,194,255,.30) 0 .8px, transparent 1px) 0 0 / 8px 8px,
    repeating-linear-gradient(0deg, rgba(143,194,255,.070) 0 1px, transparent 1px 10px),
    repeating-linear-gradient(90deg, rgba(143,194,255,.050) 0 1px, transparent 1px 10px);
  animation-duration: 2.8s;
}

body[data-active-tab="executive"] .lane-left {
  clip-path: polygon(23.2% 0, 24.1% 0, 1.2% 100%, 0% 100%);
}

body[data-active-tab="executive"] .lane-right {
  clip-path: polygon(75.9% 0, 76.8% 0, 100% 100%, 98.8% 100%);
}

body[data-active-tab="executive"] .lane-left,
body[data-active-tab="executive"] .lane-right {
  background:
    linear-gradient(180deg, rgba(143,194,255,.14), rgba(83,198,255,.95) 46%, rgba(53,143,225,.28));
  filter:
    drop-shadow(0 0 5px rgba(83,198,255,.94))
    drop-shadow(0 0 19px rgba(83,198,255,.50))
    drop-shadow(0 0 34px rgba(11,45,237,.28));
}

body[data-active-tab="executive"] .lane-guide-left {
  left: 27% !important;
  transform: rotateZ(7deg) !important;
}

body[data-active-tab="executive"] .lane-guide-right {
  right: 27% !important;
  transform: rotateZ(-7deg) !important;
}

body[data-active-tab="executive"] .lane-guide {
  width: 5px;
  filter:
    drop-shadow(0 0 5px rgba(108,255,141,.95))
    drop-shadow(0 0 17px rgba(88,255,126,.54))
    drop-shadow(0 0 30px rgba(88,255,126,.26));
}

body[data-active-tab="executive"] .lane-guide::after {
  background: repeating-linear-gradient(180deg, rgba(112,255,145,1) 0 18px, transparent 18px 35px) !important;
}

body[data-active-tab="executive"] .traffic-center {
  background: repeating-linear-gradient(180deg, rgba(143,194,255,.92) 0 13px, transparent 13px 27px);
  box-shadow:
    0 0 6px rgba(143,194,255,.82),
    0 0 18px rgba(82,170,255,.34);
}

body[data-active-tab="executive"] .ego-car {
  left: 50%;
  bottom: 8px;
  width: clamp(123px, 43.2%, 174px);
  height: clamp(86px, 32%, 122px);
  transform: translateX(-50%);
}

body[data-active-tab="executive"] .exec-road-pilot::after {
  left: 50%;
  right: auto;
  width: 176px;
  transform: translateX(-50%);
  background:
    linear-gradient(90deg, transparent, rgba(143,194,255,.72), transparent) center 8px / 154px 1px no-repeat,
    repeating-linear-gradient(90deg, transparent 0 8px, rgba(143,194,255,.68) 8px 10px, transparent 10px 18px);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

body[data-active-tab="executive"] .ego-car::before {
  left: 9%;
  right: 9%;
  bottom: 1%;
  height: 24%;
  background: rgba(0,0,0,.76);
  filter: blur(15px);
  transform: scaleX(1.30);
}

body[data-active-tab="executive"] .ego-car::after {
  left: 8%;
  right: 8%;
  bottom: -4%;
  height: 52%;
  background:
    radial-gradient(ellipse at 50% 52%, rgba(14,91,255,.72), rgba(68,189,255,.40) 34%, rgba(14,91,255,.16) 60%, transparent 78%);
  filter: blur(11px);
}

@keyframes povDrive {
  0%, 100% { transform: translateX(-50%) translateY(0) scale(1); }
  50% { transform: translateX(-50%) translateY(-5px) scale(1.012); }
}

@media (max-width: 980px) {
  .app-shell { display: block; }
  .app-header {
    position: sticky;
    width: 100%;
    height: auto;
    min-height: 0;
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid #D9D9D9;
  }
  .tabs,
  body[data-theme="dark"] .tabs {
    flex: 0 0 auto;
    flex-direction: row;
  }
  body.nav-collapsed .tab {
    font-size: 12px;
    padding: 9px 12px;
  }
  body.nav-collapsed .tab::before { content: none; }
}

/* Volvo push-to-start gate: shown only before the first cockpit ignition in the session. */
.volvo-start-screen[hidden] {
  display: none !important;
}

body.start-screen-active {
  overflow: hidden;
}

.volvo-start-screen {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(82,170,255,.18), transparent 0 28%),
    radial-gradient(circle at 50% 52%, rgba(11,45,237,.16), transparent 0 42%),
    linear-gradient(180deg, #06090d 0%, #090d11 46%, #020407 100%);
  transition: opacity .48s ease, visibility .48s ease;
}

.volvo-start-screen::before {
  content: "";
  position: absolute;
  inset: -2px;
  opacity: .18;
  background:
    linear-gradient(rgba(143,194,255,.14) 1px, transparent 1px) 0 0 / 38px 38px,
    linear-gradient(90deg, rgba(143,194,255,.14) 1px, transparent 1px) 0 0 / 38px 38px;
  mask-image: radial-gradient(circle at 50% 52%, #000, transparent 72%);
  animation: startGridDrift 8s linear infinite;
}

.volvo-start-screen::after {
  content: "";
  position: absolute;
  width: min(74vw, 680px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle, transparent 0 43%, rgba(82,170,255,.22) 44%, transparent 48%),
    radial-gradient(circle, rgba(82,170,255,.16), transparent 58%);
  filter: blur(2px);
  opacity: .78;
  animation: startHaloIdle 2.8s ease-in-out infinite;
}

.volvo-start-screen.is-igniting::after {
  animation: startHaloPress .72s cubic-bezier(.16,.84,.2,1) both;
}

.volvo-start-screen.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.volvo-start-button {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 16px;
  width: min(58vw, 360px);
  min-width: 210px;
  padding: 0;
  border: 0;
  color: rgba(255,255,255,.82);
  background: transparent;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .22em;
  font: 700 12px/1 var(--font-main, Arial, sans-serif);
  transition: transform .22s ease, filter .22s ease;
}

.volvo-start-button::before {
  content: "";
  position: absolute;
  inset: 14% 7% 22%;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(82,170,255,.34), transparent 0 62%);
  filter: blur(24px);
  opacity: .84;
  transform: scale(.88);
  transition: opacity .22s ease, transform .22s ease;
}

.volvo-start-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.volvo-start-button:hover::before {
  opacity: 1;
  transform: scale(1);
}

.volvo-start-button.is-pressed {
  animation: startButtonPress .72s cubic-bezier(.16,.84,.2,1) both;
  pointer-events: none;
}

.volvo-start-button.is-pressed::before {
  animation: startButtonGlow .72s cubic-bezier(.16,.84,.2,1) both;
}

.volvo-start-button img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 50%;
  filter:
    drop-shadow(0 24px 34px rgba(0,0,0,.68))
    drop-shadow(0 0 22px rgba(82,170,255,.42));
  user-select: none;
  -webkit-user-drag: none;
}

.volvo-start-button span {
  position: relative;
  z-index: 1;
  opacity: .74;
  text-shadow: 0 0 14px rgba(82,170,255,.54);
}

.volvo-start-auth {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.volvo-start-login-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(58vw, 360px);
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.volvo-start-login-core:hover {
  transform: translate(-50%, calc(-50% - 2px));
}

.volvo-start-login-core:focus-visible {
  outline: 2px solid rgba(143, 194, 255, .72);
  outline-offset: 8px;
}

.start-login-panel {
  position: absolute;
  left: 50%;
  top: clamp(24px, 9vh, 92px);
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 12px;
  width: min(86vw, 390px);
  transform: translateX(-50%);
  pointer-events: auto;
}

.start-login-logo {
  width: min(72vw, 270px);
  height: 66px;
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.46));
}

.start-login-fields {
  display: grid;
  gap: 10px;
  width: 100%;
  padding: 14px;
  background: rgba(5, 12, 18, .62);
  border: 1px solid rgba(143, 194, 255, .24);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 34px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}

.start-login-fields label {
  color: rgba(225, 238, 250, .74);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.start-login-fields input {
  min-height: 38px;
  color: #f7fbff;
  background: rgba(255,255,255,.08);
  border-color: rgba(143, 194, 255, .24);
}

.start-login-fields input:focus {
  outline: 2px solid rgba(143, 194, 255, .58);
  outline-offset: 2px;
}

.start-login-error {
  width: 100%;
  padding: 9px 11px;
  color: #ffd9d9;
  background: rgba(179, 61, 61, .22);
  border: 1px solid rgba(255, 147, 147, .34);
  border-radius: 8px;
  font-size: 12px;
  text-align: center;
}

@media (max-height: 720px) {
  .start-login-panel {
    top: 18px;
  }

  .start-login-logo {
    height: 48px;
  }

  .start-login-fields {
    padding: 11px;
  }

  .volvo-start-login-core {
    width: min(52vw, 300px);
  }
}

@keyframes startGridDrift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 38px, 38px 0; }
}

@keyframes startHaloIdle {
  0%, 100% { transform: scale(.96); opacity: .54; }
  50% { transform: scale(1.02); opacity: .92; }
}

@keyframes startHaloPress {
  0% { transform: scale(.94); opacity: .74; filter: blur(2px); }
  45% { transform: scale(1.2); opacity: 1; filter: blur(0); }
  100% { transform: scale(1.75); opacity: 0; filter: blur(12px); }
}

@keyframes startButtonPress {
  0% { transform: scale(1); filter: brightness(1); }
  30% { transform: scale(.94); filter: brightness(1.18); }
  62% { transform: scale(1.035); filter: brightness(1.36); }
  100% { transform: scale(1); filter: brightness(1.1); }
}

@keyframes startButtonGlow {
  0% { opacity: .84; transform: scale(.9); }
  45% { opacity: 1; transform: scale(1.28); }
  100% { opacity: 0; transform: scale(2.1); }
}
