/* Executive dashboard — single, self-contained layer on top of corporate.css tokens. */
.executive{display:grid;gap:18px;color:var(--c-ink,#0F1E36)}
.exec-svg{width:18px;height:18px;flex:none;display:block}

/* Header */
.exec-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:4px}
.exec-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--c-gold,#C9A54C)}
.exec-title h1{margin:2px 0 4px}
.exec-title p{margin:0;color:var(--c-muted,#66758C);font-size:13.5px;line-height:1.7}
.exec-freshness{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12.5px;font-weight:600;
  color:var(--c-ink-2,#33425B);background:var(--c-surface,#fff);border:1px solid var(--c-line,#E4E8EF);padding:7px 12px;border-radius:999px}
.exec-freshness i{width:7px;height:7px;border-radius:50%;background:var(--c-success,#137A4E);box-shadow:0 0 0 3px rgba(19,122,78,.14)}

/* Filters toolbar */
.exec-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:14px 16px;background:var(--c-surface,#fff);
  border:1px solid var(--c-line,#E4E8EF);border-radius:var(--r-lg,14px);box-shadow:var(--sh-1);position:relative;z-index:5}
.exec-field{flex:1 1 150px;min-width:0;display:grid;gap:6px}
.exec-field-plant{flex-basis:200px}
.exec-filters .report-multiselect{flex:1 1 200px}
.exec-filters :is(select,input){width:100%;height:40px}
.enterprise-shell .executive .exec-presets{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--c-line-strong,#CFD6E1);border-radius:var(--r-md,10px);background:var(--c-subtle,#F8F9FB)}
.enterprise-shell .executive .exec-presets button{background:transparent;border:0;color:var(--c-ink-2,#33425B);padding:6px 12px;font-size:12.5px;font-weight:600;border-radius:7px;min-height:32px}
.enterprise-shell .executive .exec-presets button:hover{background:#fff;border:0}
.enterprise-shell .executive .exec-presets button[aria-pressed=true]{background:#fff;color:var(--c-primary,#1C4F9C);box-shadow:var(--sh-1)}
.enterprise-shell .executive .exec-apply{height:40px;padding:0 20px}

#exec-results{display:grid;gap:18px;transition:opacity .2s ease}
#exec-results[aria-busy=true]{opacity:.55}

/* Loading skeleton */
.exec-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.exec-skeleton span{height:132px;border-radius:var(--r-lg,14px);border:1px solid var(--c-line,#E4E8EF);
  background:linear-gradient(90deg,#fff 0%,#F2F4F8 50%,#fff 100%) 0 0/200% 100%;animation:exec-shimmer 1.3s linear infinite}
@keyframes exec-shimmer{to{background-position:-200% 0}}

/* Period line */
.exec-period{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--c-ink-2,#33425B)}
.exec-period>span{display:inline-flex;align-items:center;gap:7px}
.exec-period>span+span{padding-inline-start:18px;border-inline-start:1px solid var(--c-line-strong,#CFD6E1)}
.exec-period .exec-svg{color:var(--c-muted,#66758C);width:16px;height:16px}
.exec-period b{font-weight:700;color:var(--c-ink,#0F1E36)}
.exec-period-warn{color:var(--c-warn,#A85F00);font-weight:600}

/* KPI cards */
.exec-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.exec-kpi{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:18px 20px 14px;background:var(--c-surface,#fff);
  border:1px solid var(--c-line,#E4E8EF);border-radius:var(--r-lg,14px);box-shadow:var(--sh-1);overflow:hidden}
.exec-kpi::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--metric)}
.exec-kpi-head{display:flex;align-items:center;gap:10px}
.exec-kpi-head h2{margin:0;font-size:13px;font-weight:600;color:var(--c-muted,#66758C)}
.exec-kpi-icon,.exec-panel-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;flex:none;
  color:var(--metric,var(--c-primary));background:color-mix(in srgb,var(--metric,#1C4F9C) 10%,white)}
.exec-panel-icon{width:28px;height:28px;border-radius:8px}
.exec-panel-icon .exec-svg{width:16px;height:16px}
.exec-kpi-value{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.exec-kpi-value strong{font-size:clamp(24px,2.3vw,32px);font-weight:700;letter-spacing:-.6px;color:var(--c-ink,#0F1E36);
  font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;line-height:1.15}
.exec-kpi-value bdi{font-size:12.5px;font-weight:600;color:var(--c-muted,#66758C)}
.exec-kpi-value+.exec-kpi-value strong{font-size:18px}
.exec-kpi-empty{color:var(--c-muted,#66758C);font-size:13px}
.exec-kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid #EEF1F5}
.exec-kpi-note{font-size:11.5px;color:var(--c-warn,#A85F00)}

/* Text links */
.enterprise-shell .executive .exec-link{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:4px 0;min-height:0;
  color:var(--c-primary,#1C4F9C);font-size:12.5px;font-weight:600;border-radius:4px;white-space:nowrap}
.enterprise-shell .executive .exec-link:hover{background:none;color:var(--c-primary-hover,#163F7E);text-decoration:underline;text-underline-offset:3px}
.exec-link .exec-svg{width:14px;height:14px}

/* Panels */
.exec-panel{min-width:0;padding:18px 20px;background:var(--c-surface,#fff);border:1px solid var(--c-line,#E4E8EF);
  border-radius:var(--r-lg,14px);box-shadow:var(--sh-1)}
.exec-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.exec-panel-head h2,.exec-panel-head h3{margin:0;display:flex;align-items:center;gap:9px}
.exec-panel-head h2{font-size:17px}
.exec-panel-head h3{font-size:15px}
.exec-caption{display:block;margin-bottom:3px;font-size:11.5px;font-weight:600;color:var(--c-muted,#66758C)}
.exec-unit{width:auto!important;min-width:70px;min-height:32px!important;height:32px;padding:4px 10px;border-radius:8px;font-size:12px;
  background:var(--c-subtle,#F8F9FB);color:var(--c-ink-2,#33425B);border:1px solid var(--c-line,#E4E8EF);display:inline-flex;align-items:center}

/* Chart + status row */
.exec-main-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:16px;align-items:start}
.exec-tabs{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;margin:14px 0 6px;border:1px solid var(--c-line,#E4E8EF);
  border-radius:var(--r-md,10px);background:var(--c-subtle,#F8F9FB)}
.enterprise-shell .executive .exec-tabs button{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--c-ink-2,#33425B);
  font-size:12.5px;font-weight:600;padding:6px 12px;min-height:32px;border-radius:7px}
.enterprise-shell .executive .exec-tabs button:hover{background:#fff;border:0}
.enterprise-shell .executive .exec-tabs button[aria-pressed=true]{background:#fff;color:var(--c-ink,#0F1E36);box-shadow:var(--sh-1)}
.exec-tabs i{width:8px;height:8px;border-radius:2px;background:var(--metric)}
.exec-chart{direction:ltr;min-width:0;margin-top:6px}
.exec-chart svg{display:block;width:100%;height:auto;min-height:150px;max-height:280px;overflow:visible}
.exec-chart text{font-size:11px;fill:#8291A6;font-family:Cairo,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.exec-chart line.grid{stroke:#EDF0F5;stroke-dasharray:3 4}
.exec-chart line.axis{stroke:#CFD6E1}
.exec-chart rect.hit{fill:transparent}
.exec-chart rect.bar{fill:var(--metric);opacity:.88;transition:opacity .15s ease}
.exec-chart rect.bar.negative{fill:var(--c-danger,#B3261E);opacity:.7}
.exec-chart .exec-bar-group:hover rect.hit{fill:#F3F5F9}
.exec-chart .exec-bar-group:hover rect.bar,.exec-chart rect.bar:focus{opacity:1}
.exec-chart rect.bar:focus-visible{outline:2px solid var(--c-navy-900,#0A1E3F);outline-offset:2px}

.exec-status{display:grid;gap:10px}
.exec-status .exec-panel-head{margin-bottom:4px}
.enterprise-shell .executive .exec-status-row{display:flex;align-items:center;gap:12px;width:100%;text-align:start;padding:12px 14px;min-height:0;
  background:var(--c-surface,#fff);border:1px solid var(--c-line,#E4E8EF);border-radius:var(--r-md,10px);color:var(--c-ink,#0F1E36);font-weight:400}
.enterprise-shell .executive .exec-status-row:hover{background:var(--c-subtle,#F8F9FB);border-color:var(--c-line-strong,#CFD6E1)}
.exec-status-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;flex:none}
.exec-status-text{display:grid;gap:1px;flex:1;min-width:0}
.exec-status-text b{font-size:13.5px;font-weight:700}
.exec-status-text small{font-size:11.5px;color:var(--c-muted,#66758C)}
.exec-status-row strong{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.exec-status-row.is-danger .exec-status-icon{background:var(--c-danger-soft,#FBEAE9);color:var(--c-danger,#B3261E)}
.exec-status-row.is-danger strong{color:var(--c-danger,#B3261E)}
.exec-status-row.is-warn .exec-status-icon{background:var(--c-warn-soft,#FBF1E1);color:var(--c-warn,#A85F00)}
.exec-status-row.is-warn strong{color:var(--c-warn,#A85F00)}
.exec-status-row.is-ok .exec-status-icon{background:var(--c-success-soft,#E7F4EE);color:var(--c-success,#137A4E)}
.exec-status-row.is-ok strong{color:var(--c-muted,#66758C)}
.exec-facts{margin:2px 0 0;display:grid;gap:0;border-top:1px solid #EEF1F5}
.exec-facts div{display:flex;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid #EEF1F5;font-size:12.5px}
.exec-facts dt{color:var(--c-muted,#66758C)}
.exec-facts dd{margin:0;font-weight:600;color:var(--c-ink,#0F1E36);unicode-bidi:plaintext;text-align:end}
.enterprise-shell .executive .exec-ghost{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;
  background:var(--c-surface,#fff);color:var(--c-ink-2,#33425B);border:1px solid var(--c-line-strong,#CFD6E1);font-size:13px}
.enterprise-shell .executive .exec-ghost:hover{background:var(--c-subtle,#F8F9FB);border-color:#B9C3D2}
.exec-ghost .exec-svg{width:16px;height:16px}

/* Rankings */
.exec-ranks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.exec-rank{display:flex;flex-direction:column;position:relative}
.exec-rank:focus-within,.exec-rank:has(details[open]){z-index:6}
.exec-group-filter{display:grid;gap:6px;margin-top:14px}
.exec-group-filter>span{font-size:12px;color:var(--c-muted,#66758C)}
.exec-rank-list{padding:0;margin:14px 0 8px;list-style:none;display:grid;gap:12px}
.exec-rank-list li{display:flex;gap:10px;align-items:flex-start}
.exec-position{display:grid;place-items:center;min-width:22px;height:22px;margin-top:1px;border-radius:6px;font-size:11px;font-weight:700;
  background:var(--c-subtle,#F8F9FB);color:var(--c-ink-2,#33425B);border:1px solid var(--c-line,#E4E8EF)}
.exec-rank-list li:first-child .exec-position{background:color-mix(in srgb,var(--metric) 12%,white);color:var(--metric);border-color:transparent}
.exec-item{flex:1;min-width:0;display:grid;gap:6px}
.exec-item-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.exec-item-row b{font-size:13px;font-weight:600;color:var(--c-ink,#0F1E36);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exec-item-row strong{flex:none;font-size:13px;font-weight:700;color:var(--c-ink-2,#33425B);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.exec-item small{font-size:11px;color:var(--c-muted,#66758C)}
.exec-bar{height:6px;background:#EEF1F5;border-radius:999px;overflow:hidden}
.exec-bar span{display:block;height:100%;border-radius:999px;background:var(--metric);opacity:.85}
.exec-rank-link{margin-top:auto;align-self:flex-start;padding-top:10px!important}
.exec-empty{color:var(--c-muted,#66758C);padding:22px 0;margin:0;font-size:13px}
.exec-footnote{margin:0;font-size:11.5px;line-height:1.8;color:var(--c-muted,#66758C)}

@media(max-width:1180px){.exec-main-row{grid-template-columns:1fr}.exec-status{grid-template-columns:repeat(2,minmax(0,1fr))}
  .exec-status .exec-panel-head,.exec-facts,.exec-status .exec-ghost{grid-column:1/-1}}
@media(max-width:1050px){.exec-ranks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .executive,#exec-results{gap:14px}
  .exec-header{flex-direction:column;align-items:flex-start;gap:10px}
  .exec-kpis,.exec-ranks,.exec-skeleton{grid-template-columns:1fr}
  .exec-status{grid-template-columns:1fr}
  .exec-filters{padding:12px;gap:10px}
  .exec-field{flex-basis:calc(50% - 5px)}
  .exec-field-plant{flex-basis:100%}
  .enterprise-shell .executive .exec-presets{flex:1 1 auto}
  .enterprise-shell .executive .exec-presets button{flex:1}
  .enterprise-shell .executive .exec-apply{flex:1 1 100%}
  .exec-kpi,.exec-panel{padding:14px 16px}
  .exec-period>span+span{padding-inline-start:0;border:0}
}
@media(prefers-reduced-motion:reduce){.exec-skeleton span{animation:none}}
@media print{.exec-filters,.exec-link,.exec-ghost{display:none!important}}
