:root {
  --ltx-bg: #07111e;
  --ltx-panel: rgba(9, 23, 41, 0.92);
  --ltx-panel-2: rgba(10, 28, 49, 0.92);
  --ltx-border: rgba(77, 174, 255, 0.18);
  --ltx-border-strong: rgba(77, 174, 255, 0.35);
  --ltx-glow: 0 18px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255,255,255,.03);
  --ltx-text: #e9f5ff;
  --ltx-muted: #8fb1cb;
  --ltx-accent: #21d4fd;
  --ltx-accent-2: #29f3b2;
  --ltx-warning: #ffb340;
  --ltx-danger: #ff5c7c;
  --ltx-purple: #7d72ff;
  --ltx-good: #36e17d;
  --ltx-sidebar-offset: 230px;
  --ltx-radius: 18px;
}

#ltx-executive-overlay {
  position: fixed;
  z-index: 9998;
  inset: 0 0 0 var(--ltx-sidebar-offset);
  background:
    radial-gradient(circle at top right, rgba(33, 212, 253, 0.14), transparent 26%),
    radial-gradient(circle at 12% 10%, rgba(41, 243, 178, 0.12), transparent 28%),
    linear-gradient(180deg, #050d18 0%, #07111e 100%);
  color: var(--ltx-text);
  display: none;
  overflow: auto;
}
#ltx-executive-overlay.ltx-open { display: block; }
#ltx-executive-overlay * { box-sizing: border-box; }

.ltx-overlay-inner { padding: 18px 20px 28px; min-height: 100%; }
.ltx-topbar {
  position: sticky; top: 0; z-index: 3;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 10px 0 16px;
  backdrop-filter: blur(10px);
}
.ltx-page-title { display: flex; flex-direction: column; gap: 4px; }
.ltx-page-title h1 { margin: 0; font-size: 34px; line-height: 1.1; letter-spacing: -.02em; }
.ltx-page-title p { margin: 0; color: var(--ltx-muted); font-size: 14px; }
.ltx-pill-row, .ltx-filter-row { display:flex; gap:10px; flex-wrap: wrap; align-items:center; }
.ltx-pill, .ltx-filter, .ltx-action-btn {
  display:inline-flex; align-items:center; gap:8px; min-height: 42px;
  padding: 10px 14px; border-radius: 14px;
  color: var(--ltx-text); border: 1px solid var(--ltx-border);
  background: linear-gradient(180deg, rgba(15,35,63,.94), rgba(8,23,41,.96));
  box-shadow: var(--ltx-glow);
}
.ltx-pill strong { color: white; }
.ltx-filter label { display:flex; flex-direction:column; gap:4px; font-size: 11px; color: var(--ltx-muted); text-transform: uppercase; letter-spacing: .08em; }
.ltx-filter select, .ltx-filter input {
  background: transparent; border: 0; outline: none; color: var(--ltx-text);
  min-width: 120px; font-size: 14px;
}
.ltx-filter select option { color: #111; }
.ltx-action-btn { cursor:pointer; font-weight:600; }
.ltx-action-btn:hover { border-color: var(--ltx-border-strong); transform: translateY(-1px); }

.ltx-grid-8 { display:grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.ltx-grid-main { display:grid; grid-template-columns: 2fr 1.1fr 1.3fr 1.3fr; gap: 14px; margin-bottom: 14px; }
.ltx-grid-bottom { display:grid; grid-template-columns: 1.1fr 1fr 1fr 1fr .8fr; gap: 14px; margin-bottom: 14px; }
.ltx-grid-footer { display:grid; grid-template-columns: 1.4fr .9fr .9fr; gap: 14px; }
.ltx-card {
  position: relative;
  background: linear-gradient(180deg, rgba(12,31,55,.95), rgba(8,20,37,.97));
  border: 1px solid var(--ltx-border); border-radius: var(--ltx-radius);
  box-shadow: var(--ltx-glow); overflow: hidden;
}
.ltx-card::before {
  content: ''; position:absolute; inset:0 auto auto 0; width: 100%; height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.15), transparent 45%);
}
.ltx-card-pad { padding: 16px; }
.ltx-card-title { display:flex; align-items:center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ltx-card-title h3 { margin:0; font-size: 18px; letter-spacing: -.01em; }
.ltx-card-title small, .ltx-subtle, .ltx-metric-foot { color: var(--ltx-muted); }

.ltx-kpi { padding: 14px 14px 12px; min-height: 126px; }
.ltx-kpi-top { display:flex; align-items:center; justify-content: space-between; gap:10px; margin-bottom: 8px; }
.ltx-kpi-label { font-size: 13px; color: var(--ltx-muted); }
.ltx-icon-badge {
  width: 38px; height: 38px; border-radius: 12px; display:grid; place-items:center;
  font-size: 18px; background: radial-gradient(circle at top left, rgba(255,255,255,.15), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
}
.ltx-kpi-value { font-size: 38px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.ltx-kpi-trend { display:flex; align-items:center; gap:8px; font-size: 13px; color: var(--ltx-muted); margin-top: 10px; }
.ltx-trend-up { color: var(--ltx-good); }
.ltx-trend-down { color: var(--ltx-danger); }
.ltx-spark { width:100%; height: 34px; display:block; margin-top: 8px; }

.ltx-chart-box { padding: 16px; min-height: 340px; }
.ltx-line-meta { display:flex; align-items:center; justify-content: space-between; gap:10px; margin-bottom: 8px; }
.ltx-toggle-row { display:flex; gap: 8px; flex-wrap:wrap; }
.ltx-toggle {
  padding: 6px 10px; border-radius: 10px; font-size: 12px; cursor:pointer;
  border: 1px solid rgba(255,255,255,.08); color: var(--ltx-muted);
  background: rgba(255,255,255,.03);
}
.ltx-toggle.active { color: white; background: rgba(33,212,253,.18); border-color: rgba(33,212,253,.32); }
.ltx-line-chart { width:100%; height:230px; display:block; }
.ltx-legend { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color: var(--ltx-muted); margin: 6px 0 0; }
.ltx-dot { width:10px; height:10px; border-radius:999px; display:inline-block; margin-right: 6px; }

.ltx-donut-wrap { display:flex; gap: 14px; align-items:center; }
.ltx-donut {
  width: 210px; height: 210px; border-radius: 50%; flex: 0 0 auto;
  position: relative; border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 0 24px rgba(0,0,0,.25);
}
.ltx-donut::after {
  content: ''; position:absolute; inset: 24px; background: #0b1625; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.06); box-shadow: inset 0 0 20px rgba(0,0,0,.25);
}
.ltx-donut-center {
  position:absolute; inset:0; display:grid; place-items:center; z-index:1; text-align:center; padding:0 48px;
}
.ltx-donut-center strong { display:block; font-size: 34px; line-height:1; }
.ltx-list { display:flex; flex-direction:column; gap:10px; width:100%; }
.ltx-list-item { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:13px; color: var(--ltx-muted); }
.ltx-list-item strong { color: var(--ltx-text); }

.ltx-bar-list { display:flex; flex-direction:column; gap: 11px; }
.ltx-bar-row { display:grid; grid-template-columns: 1.1fr 2.1fr auto; gap: 10px; align-items:center; font-size: 13px; }
.ltx-bar-track {
  width:100%; height: 14px; border-radius: 999px; background: rgba(255,255,255,.06); overflow:hidden; position:relative;
}
.ltx-bar-seg { height:100%; float:left; }
.ltx-bar-pct { font-weight:700; color: white; }

.ltx-mini-cards { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.ltx-mini-card { padding: 12px; border-radius: 14px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
.ltx-mini-card .label { font-size: 12px; color: var(--ltx-muted); }
.ltx-mini-card .value { font-size: 32px; font-weight: 800; line-height:1.1; margin-top: 6px; }

.ltx-table { width:100%; border-collapse: collapse; font-size: 13px; }
.ltx-table th, .ltx-table td { padding: 10px 8px; text-align:left; border-bottom: 1px solid rgba(255,255,255,.06); vertical-align: top; }
.ltx-table th { color: var(--ltx-muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.ltx-table td strong { display:block; font-size:14px; }
.ltx-badge { display:inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .03em; }
.ltx-badge-danger { background: rgba(255,92,124,.16); color: #ff8ca0; }
.ltx-badge-warning { background: rgba(255,179,64,.16); color: #ffd187; }
.ltx-badge-good { background: rgba(54,225,125,.15); color: #92f0b6; }
.ltx-badge-info { background: rgba(33,212,253,.15); color: #95ebff; }

.ltx-timeline { display:flex; gap: 10px; overflow:auto; padding-bottom: 4px; }
.ltx-timeline-day {
  min-width: 130px; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
}
.ltx-timeline-day strong { display:block; font-size: 15px; margin-bottom: 6px; }
.ltx-timeline-day .count { font-size: 30px; font-weight: 800; }
.ltx-timeline-day .meta { font-size: 12px; color: var(--ltx-muted); }

.ltx-insight-list { display:flex; flex-direction:column; gap: 12px; }
.ltx-insight-item {
  padding: 14px; border-radius: 16px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
}
.ltx-insight-item h4 { margin:0 0 6px; font-size: 15px; }
.ltx-insight-item .num { font-size: 34px; font-weight: 800; line-height:1; margin-bottom:6px; }

.ltx-empty, .ltx-loading, .ltx-error {
  padding: 42px 24px; text-align:center; color: var(--ltx-muted);
}
.ltx-loading-spinner {
  width: 48px; height: 48px; border-radius: 50%; border: 3px solid rgba(255,255,255,.12);
  border-top-color: var(--ltx-accent); margin: 0 auto 12px; animation: ltxspin 0.9s linear infinite;
}
@keyframes ltxspin { to { transform: rotate(360deg);} }

.ltx-sidebar-shortcut-active { position: relative; }
.ltx-sidebar-shortcut-active::after {
  content: ''; position:absolute; inset: 0; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(33,212,253,.45), 0 0 22px rgba(33,212,253,.16);
  pointer-events:none;
}

@media (max-width: 1400px) {
  .ltx-grid-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ltx-grid-main { grid-template-columns: 1fr 1fr; }
  .ltx-grid-bottom { grid-template-columns: 1fr 1fr; }
  .ltx-grid-footer { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  #ltx-executive-overlay { inset: 0; }
  .ltx-grid-8, .ltx-grid-main, .ltx-grid-bottom { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 780px) {
  .ltx-overlay-inner { padding: 14px 12px 86px; }
  .ltx-topbar { position: static; flex-direction: column; align-items: stretch; }
  .ltx-page-title h1 { font-size: 28px; }
  .ltx-grid-8, .ltx-grid-main, .ltx-grid-bottom, .ltx-grid-footer { grid-template-columns: 1fr; }
  .ltx-donut-wrap { flex-direction: column; align-items: flex-start; }
  .ltx-donut { width: 180px; height: 180px; }
  .ltx-mini-cards { grid-template-columns: 1fr 1fr; }
}


/* V224 readability + full-screen overlay hardening */
#ltx-executive-overlay {
  inset: 0 !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(34, 211, 238, 0.24), transparent 28%),
    radial-gradient(circle at 96% 12%, rgba(59, 130, 246, 0.24), transparent 24%),
    linear-gradient(180deg, #081a2d 0%, #0a1626 48%, #08111f 100%) !important;
  color: #f4fbff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
#ltx-executive-overlay, #ltx-executive-overlay * { color-scheme: dark; }
#ltx-executive-overlay h1,
#ltx-executive-overlay h2,
#ltx-executive-overlay h3,
#ltx-executive-overlay h4,
#ltx-executive-overlay strong,
#ltx-executive-overlay .ltx-kpi-value,
#ltx-executive-overlay .ltx-mini-card .value,
#ltx-executive-overlay .ltx-insight-item .num {
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
}
#ltx-executive-overlay p,
#ltx-executive-overlay td,
#ltx-executive-overlay th,
#ltx-executive-overlay span,
#ltx-executive-overlay div,
#ltx-executive-overlay label {
  color: inherit;
}
#ltx-executive-overlay .ltx-subtle,
#ltx-executive-overlay .ltx-metric-foot,
#ltx-executive-overlay .ltx-kpi-label,
#ltx-executive-overlay .ltx-card-title small,
#ltx-executive-overlay .ltx-list-item,
#ltx-executive-overlay .ltx-table th,
#ltx-executive-overlay .ltx-timeline-day .meta,
#ltx-executive-overlay .ltx-mini-card .label {
  color: #b8d3ea !important;
}
#ltx-executive-overlay .ltx-card {
  background: linear-gradient(180deg, rgba(17, 45, 77, .96), rgba(8, 25, 46, .98)) !important;
  border-color: rgba(104, 205, 255, .34) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
#ltx-executive-overlay .ltx-topbar {
  background: linear-gradient(180deg, rgba(7, 20, 36, .96), rgba(7,20,36,.82)) !important;
  padding-left: 6px;
  padding-right: 6px;
}
#ltx-executive-overlay .ltx-filter,
#ltx-executive-overlay .ltx-action-btn,
#ltx-executive-overlay .ltx-pill {
  background: linear-gradient(180deg, rgba(24, 60, 101, .98), rgba(10, 30, 55, .98)) !important;
  border-color: rgba(117, 213, 255, .36) !important;
  color: #f5fbff !important;
}
#ltx-executive-overlay .ltx-filter select,
#ltx-executive-overlay .ltx-filter input {
  color: #ffffff !important;
  background: rgba(3, 12, 24, .68) !important;
  border: 1px solid rgba(128, 215, 255, .26) !important;
  border-radius: 10px !important;
  padding: 7px 9px !important;
  min-height: 32px;
}
#ltx-executive-overlay .ltx-filter option { color: #101828 !important; background: #ffffff !important; }
#ltx-executive-overlay .ltx-table th {
  background: rgba(205, 231, 255, .12) !important;
  color: #d9f1ff !important;
}
#ltx-executive-overlay .ltx-table td { color: #eaf7ff !important; }
#ltx-executive-overlay .ltx-bar-row,
#ltx-executive-overlay .ltx-list-item { color: #e9f7ff !important; }
#ltx-executive-overlay .ltx-kpi-trend { color: #b8d3ea !important; }
#ltx-executive-overlay .ltx-action-btn { color: #ffffff !important; }
#ltx-executive-overlay .ltx-action-btn:hover { background: linear-gradient(180deg, rgba(36, 90, 145, .98), rgba(14, 45, 80, .98)) !important; }
#ltx-executive-overlay .ltx-grid-bottom { grid-template-columns: 1.25fr 1.25fr 1.1fr 1.25fr .95fr; }
#ltx-executive-overlay .ltx-card-title { color: #ffffff !important; }
#ltx-executive-overlay .ltx-badge-danger { color: #ffc0ca !important; }
#ltx-executive-overlay .ltx-badge-warning { color: #ffe2aa !important; }
#ltx-executive-overlay .ltx-badge-good { color: #bcffd4 !important; }
#ltx-executive-overlay .ltx-badge-info { color: #c3f3ff !important; }
#ltx-executive-overlay .ltx-data-accuracy {
  border: 1px solid rgba(41, 243, 178, .28) !important;
  background: linear-gradient(180deg, rgba(14, 56, 58, .42), rgba(9, 32, 48, .75)) !important;
}
#ltx-executive-overlay .ltx-accuracy-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
#ltx-executive-overlay .ltx-accuracy-box { padding: 12px; border-radius: 14px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); }
#ltx-executive-overlay .ltx-accuracy-box div:first-child { color:#b8d3ea!important; font-size: 12px; margin-bottom: 5px; }
#ltx-executive-overlay .ltx-accuracy-box strong { font-size: 21px; }
@media (max-width: 1100px) { #ltx-executive-overlay .ltx-grid-bottom { grid-template-columns: 1fr 1fr; } }
@media (max-width: 780px) { #ltx-executive-overlay .ltx-accuracy-grid { grid-template-columns: 1fr 1fr; } }
#ltx-executive-overlay .ltx-grid-footer { grid-template-columns: 1.5fr 1.1fr .9fr .9fr !important; }
@media (max-width: 1400px) { #ltx-executive-overlay .ltx-grid-footer { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 780px) { #ltx-executive-overlay .ltx-grid-footer { grid-template-columns: 1fr !important; } }

/* V227 SAFE FIX: Executive Dashboard Data Accuracy Check overflow + premium responsive layout */
#ltx-executive-overlay .ltx-data-accuracy {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(45, 245, 196, .38) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
#ltx-executive-overlay .ltx-data-accuracy::before {
  content: "";
  position: absolute;
  inset: -120px auto auto -90px;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(33,212,253,.22), rgba(33,212,253,0) 68%);
  pointer-events: none;
}
#ltx-executive-overlay .ltx-data-accuracy::after {
  content: "";
  position: absolute;
  inset: auto -100px -120px auto;
  width: 300px;
  height: 300px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(45,245,196,.18), rgba(45,245,196,0) 70%);
  pointer-events: none;
}
#ltx-executive-overlay .ltx-data-accuracy > * {
  position: relative;
  z-index: 1;
}
#ltx-executive-overlay .ltx-data-accuracy .ltx-card-title {
  align-items: flex-start !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
#ltx-executive-overlay .ltx-data-accuracy .ltx-card-title h3 {
  letter-spacing: -.02em !important;
}
#ltx-executive-overlay .ltx-data-accuracy .ltx-card-title small {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: right !important;
}
#ltx-executive-overlay .ltx-accuracy-grid {
  grid-template-columns: repeat(4, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}
#ltx-executive-overlay .ltx-accuracy-box {
  min-width: 0 !important;
  min-height: 104px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 14px 15px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(185, 230, 255, .16) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.028)),
    radial-gradient(circle at 100% 0%, rgba(55, 147, 255, .18), transparent 42%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 12px 28px rgba(0,0,0,.16) !important;
  overflow: hidden !important;
}
#ltx-executive-overlay .ltx-accuracy-box div:first-child {
  color: #c9e6fb !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#ltx-executive-overlay .ltx-accuracy-box strong {
  display: block !important;
  width: 100% !important;
  color: #ffffff !important;
  font-size: clamp(24px, 2.1vw, 34px) !important;
  line-height: .95 !important;
  letter-spacing: -.045em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-shadow: 0 10px 24px rgba(33,212,253,.18) !important;
}
#ltx-executive-overlay .ltx-accuracy-box .ltx-subtle {
  display: block !important;
  width: 100% !important;
  color: #d8efff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  opacity: .9 !important;
}
@media (max-width: 1400px) {
  #ltx-executive-overlay .ltx-accuracy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 780px) {
  #ltx-executive-overlay .ltx-data-accuracy .ltx-card-title small { text-align: left !important; }
  #ltx-executive-overlay .ltx-accuracy-grid { grid-template-columns: 1fr !important; }
  #ltx-executive-overlay .ltx-accuracy-box { min-height: 96px !important; }
}
