/* Pilotage Bakingo — langage visuel commun aux analyses, prévisions et imports. */
:root {
  --bi-accent: #d95708;
  --bi-accent-soft: #fff1e7;
  --bi-ink: #211d1a;
  --bi-muted: #746b65;
  --bi-border: #e8e2dd;
  --bi-canvas: #f7f5f2;
  --bi-card: #fff;
  --bi-surface: var(--bi-card);
  --bi-surface-soft: #faf8f6;
  --bi-positive: #23804a;
  --bi-success: var(--bi-positive);
  --bi-positive-soft: #edf8f1;
  --bi-warning: #a86508;
  --bi-warning-soft: #fff7e7;
  --bi-negative: #b43d35;
  --bi-negative-soft: #fff1ef;
  --bi-blue: #3474b9;
  --bi-radius: 18px;
  --bi-shadow: 0 12px 34px rgba(46, 35, 27, .055);
}

body.pilotage-active { background: var(--bi-canvas); }
body.pilotage-active .main-content { background: var(--bi-canvas); }
.pilotage-analytics-view,
.pilotage-forecast-view,
.pilotage-import-view {
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--bi-canvas);
  padding: 22px clamp(18px, 3vw, 46px) 64px;
  color: var(--bi-ink);
}
.pilotage-analytics-view > *,
.pilotage-forecast-view > *,
.pilotage-import-view > * { width: min(1460px, 100%); margin-right: auto; margin-left: auto; }

/* Navigation produit */
.pilotage-side-nav { gap: 8px; padding: 10px 4px; }
.pilotage-side-nav > p { display: flex; align-items: center; justify-content: space-between; margin: 4px 10px 9px; }
.pilotage-side-nav > p small { color: #b0a69f; font-size: 9px; font-weight: 650; letter-spacing: 0; text-transform: none; }
.pilotage-side-nav button { position: relative; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; min-height: 58px; border: 1px solid transparent; border-radius: 13px; padding: 9px 10px; }
.pilotage-side-nav button > .pilotage-nav-icon { width: 36px; height: 36px; border-radius: 10px; background: #f2efec; }
.pilotage-nav-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pilotage-side-nav button > i { color: #b4aaa2; font-size: 19px; font-style: normal; }
.pilotage-side-nav button > span:nth-child(2) { display: grid; min-width: 0; gap: 1px; }
.pilotage-side-nav button b { font-size: 13px; letter-spacing: -.1px; }
.pilotage-side-nav button small { margin-top: 2px; font-size: 10px; }
.pilotage-side-nav button:hover { border-color: #eee7e1; background: #fbfaf8; }
.pilotage-side-nav button.active { border-color: #f0c7ad; background: #fff7f1; color: #963e08; box-shadow: 0 7px 20px rgba(153, 64, 8, .06); }
.pilotage-side-nav button.active::before { position: absolute; top: 13px; bottom: 13px; left: -5px; width: 3px; border-radius: 9px; background: var(--bi-accent); content: ''; }
.pilotage-side-nav button.active > .pilotage-nav-icon { background: #ffe4d1; }

/* En-têtes, panneaux et filtres */
.pilotage-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 12px 2px 26px; }
.pilotage-page-head h1 { margin: 5px 0 7px; font-size: clamp(30px, 4vw, 48px); font-weight: 650; letter-spacing: -1.6px; line-height: 1.04; }
.pilotage-page-head > div > p:last-child { max-width: 690px; margin: 0; color: var(--bi-muted); font-size: 14px; line-height: 1.55; }
.pilotage-store-chip { flex: none; border: 1px solid var(--bi-border); border-radius: 999px; background: rgba(255, 255, 255, .76); padding: 8px 12px; color: var(--bi-muted); font-size: 10px; font-weight: 750; }
.home-kicker { color: var(--bi-accent); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pilotage-analytics-panel,
.forecast-day-section,
.forecast-products-section,
.forecast-quality-section,
.forecast-problems-section,
.forecast-factors-section,
.forecast-known-orders-section,
.forecast-promotions-section,
.forecast-engine,
.pilotage-calendar-section,
.pilotage-selected-day,
.pilotage-drop-section,
.pilotage-history-section,
.pilotage-actionable-section,
.pilotage-deposits-section {
  border: 1px solid var(--bi-border);
  border-radius: var(--bi-radius);
  background: var(--bi-card);
  box-shadow: var(--bi-shadow);
}
.pilotage-analytics-panel,
.forecast-day-section,
.forecast-products-section,
.forecast-quality-section,
.forecast-problems-section,
.forecast-factors-section { padding: clamp(16px, 2vw, 24px); }
.pilotage-section-title h2,
.pilotage-analytics-panel h2 { color: var(--bi-ink); font-weight: 650; letter-spacing: -.45px; }
.pilotage-analytics-panel > header > span,
.pilotage-section-title small { color: var(--bi-muted); }

.pilotage-analytics-controls { position: sticky; z-index: 15; top: 0; grid-template-columns: auto minmax(280px, 1fr) minmax(210px, auto); align-items: center; gap: 14px; margin-bottom: 16px; border-color: var(--bi-border); border-radius: 15px; background: rgba(255, 255, 255, .94); padding: 10px; box-shadow: 0 8px 26px rgba(41, 31, 24, .06); backdrop-filter: blur(12px); }
.pilotage-period-switch { padding: 3px; border-radius: 11px; background: #f2efec; }
.pilotage-period-switch button { min-height: 38px; border: 0; border-radius: 8px; padding: 0 16px; }
.pilotage-period-switch button.active { background: #fff; color: #8f3907; box-shadow: 0 2px 8px rgba(44, 33, 26, .1); }
.pilotage-analytics-date { justify-self: center; }
.pilotage-analytics-date button { width: 40px; height: 40px; border-radius: 10px; font-size: 18px; }
.pilotage-analytics-date label { min-width: 170px; }
.pilotage-period-context { display: grid; justify-items: end; gap: 5px; }
.pilotage-period-context b { color: var(--bi-ink); font-size: 11px; text-align: right; }
.pilotage-period-context button { border: 0; background: transparent; padding: 2px; color: var(--bi-accent); font-size: 10px; font-weight: 750; }

/* Analyse */
.pilotage-analytics-coverage { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; margin-bottom: 12px; border: 1px solid var(--bi-border); border-radius: 14px; background: #fff; padding: 11px 13px; }
.pilotage-coverage-score { display: flex; align-items: center; gap: 9px; }
.pilotage-coverage-score > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--bi-warning-soft); color: var(--bi-warning); font-weight: 900; }
.pilotage-analytics-coverage.complete .pilotage-coverage-score > span { background: var(--bi-positive-soft); color: var(--bi-positive); }
.pilotage-coverage-score > div { display: grid; gap: 1px; }
.pilotage-coverage-score b { font-size: 12px; }
.pilotage-coverage-score small,
.pilotage-coverage-detail { color: var(--bi-muted); font-size: 9.5px; }
.pilotage-coverage-detail { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pilotage-analytics-coverage > button { min-height: 34px; border: 0; border-radius: 9px; background: var(--bi-accent-soft); padding: 0 12px; color: #923a06; font-size: 10px; font-weight: 800; }
.pilotage-coverage-missing-days { display: flex; gap: 4px; }
.pilotage-coverage-missing-days button { border-color: #e8c59c; background: #fffaf4; }

.pilotage-analysis-nav { display: flex; gap: 5px; overflow-x: auto; margin-bottom: 18px; border: 0; border-radius: 13px; background: #ebe7e3; padding: 4px; scrollbar-width: none; }
.pilotage-analysis-nav button { flex: 1 0 150px; min-height: 46px; border-radius: 9px; padding: 7px 12px; text-align: center; }
.pilotage-analysis-nav button span { font-size: 11px; }
.pilotage-analysis-nav button small { margin-top: 1px; font-size: 8px; }
.pilotage-analysis-nav button[aria-current="page"] { background: #fff; color: #8f3907; box-shadow: 0 2px 9px rgba(44, 33, 26, .12); }
.pilotage-analysis-body { gap: 18px; }

.pilotage-performance-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pilotage-performance-kpi { position: relative; display: grid; align-content: start; min-width: 0; min-height: 330px; overflow: hidden; border: 1px solid var(--bi-border); border-radius: 17px; background: #fff; padding: 19px 20px 16px; color: var(--bi-ink); text-align: left; box-shadow: var(--bi-shadow); }
.pilotage-performance-kpi::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: #b7afa8; content: ''; }
.pilotage-performance-kpi.positive::before { background: var(--bi-positive); }
.pilotage-performance-kpi.negative::before { background: var(--bi-negative); }
.pilotage-performance-kpi:hover { border-color: #d9cfc7; transform: translateY(-1px); }
.pilotage-kpi-label { color: var(--bi-muted); font-size: 11px; font-weight: 750; }
.pilotage-kpi-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pilotage-kpi-heading > small { border-radius: 999px; background: var(--bi-accent-soft); padding: 4px 7px; color: #8f3907; font-size: 7.5px; font-weight: 800; }
.pilotage-performance-kpi > strong { margin: 10px 0 0; font-size: clamp(30px, 3vw, 42px); font-weight: 720; letter-spacing: -1.35px; white-space: nowrap; }
.pilotage-kpi-current-period { margin: 2px 0 13px; color: var(--bi-muted); font-size: 8.5px; }
.pilotage-kpi-change { display: grid; align-content: start; gap: 2px; min-height: 36px; }
.pilotage-kpi-change > span { font-size: 11px; font-weight: 800; }
.pilotage-kpi-change small { color: var(--bi-muted); font-size: 9px; }
.pilotage-kpi-reference-table { overflow: hidden; border: 1px solid #ebe5df; border-radius: 12px; background: #fcfbfa; }
.pilotage-kpi-reference-head,
.pilotage-kpi-reference-row { display: grid; grid-template-columns: minmax(150px, 1.35fr) minmax(82px, .65fr) minmax(120px, .9fr); align-items: center; gap: 10px; }
.pilotage-kpi-reference-head { border-bottom: 1px solid #ebe5df; background: #f6f3f0; padding: 6px 10px; color: #8f8680; font-size: 7px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.pilotage-kpi-reference-head span:nth-child(n+2) { text-align: right; }
.pilotage-kpi-reference-row { min-height: 52px; border-bottom: 1px solid #eee9e5; padding: 7px 10px; }
.pilotage-kpi-reference-row:last-child { border-bottom: 0; }
.pilotage-kpi-reference-row > span:first-child { display: grid; min-width: 0; gap: 2px; }
.pilotage-kpi-reference-row > span:first-child b { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-kpi-reference-row > span:first-child small { overflow: hidden; color: var(--bi-muted); font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-kpi-reference-row > strong { font-size: 11px; text-align: right; white-space: nowrap; }
.pilotage-kpi-reference-delta { justify-self: end; font-size: 8px; font-weight: 850; text-align: right; white-space: nowrap; }
.pilotage-performance-kpi > em { align-self: end; display: flex; gap: 5px; margin-top: 9px; color: #9a918a; font-size: 7.5px; font-style: normal; }
.pilotage-performance-kpi > em b { color: #756c66; font-size: inherit; text-transform: uppercase; }
.pilotage-comparison-positive { color: var(--bi-positive); }
.pilotage-comparison-negative { color: var(--bi-negative); }
.pilotage-comparison-neutral { color: var(--bi-muted); }
.bi-sparkline { position: absolute; right: 14px; bottom: 36px; width: 106px; height: 34px; opacity: .8; }
.bi-sparkline polyline { fill: none; stroke: #918880; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.bi-sparkline-positive polyline { stroke: var(--bi-positive); }
.bi-sparkline-negative polyline { stroke: var(--bi-negative); }

.pilotage-comparison-board { overflow: hidden; border: 1px solid var(--bi-border); border-radius: var(--bi-radius); background: #fff; box-shadow: var(--bi-shadow); }
.pilotage-comparison-board > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 18px 20px 13px; }
.pilotage-comparison-board h2 { margin: 4px 0 0; font-size: 20px; }
.pilotage-comparison-board > header > span { color: var(--bi-muted); font-size: 9.5px; }
.pilotage-comparison-board > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--bi-border); }
.pilotage-comparison-board article { display: grid; grid-template-columns: minmax(135px, .7fr) minmax(0, 1.5fr); min-width: 0; border-right: 1px solid var(--bi-border); border-bottom: 1px solid var(--bi-border); }
.pilotage-comparison-board article:nth-child(2n) { border-right: 0; }
.pilotage-comparison-current { display: grid; align-content: center; gap: 3px; background: #fbfaf8; padding: 15px; }
.pilotage-comparison-current span { color: var(--bi-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pilotage-comparison-current strong { font-size: 19px; }
.pilotage-comparison-current small { color: #9b928b; font-size: 8px; }
.pilotage-comparison-references { display: grid; }
.pilotage-comparison-references > div { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(110px, auto); align-items: center; gap: 8px; border-bottom: 1px solid #f0ece8; padding: 9px 11px; }
.pilotage-comparison-references > div:last-child { border-bottom: 0; }
.pilotage-comparison-references span:first-child { display: grid; min-width: 0; gap: 1px; }
.pilotage-comparison-references span:first-child b { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-comparison-references span:first-child small { overflow: hidden; color: var(--bi-muted); font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-comparison-references > div > strong { font-size: 10px; }
.pilotage-comparison-references > div > span:last-child { font-size: 8.5px; font-weight: 800; text-align: right; }

.bi-line-chart { min-width: 0; overflow: hidden; }
.bi-line-chart svg { display: block; width: 100%; min-width: 560px; }
.bi-chart-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 5px 0 10px; color: var(--bi-muted); font-size: 9px; }
.bi-chart-legend span { display: flex; align-items: center; gap: 6px; }
.bi-chart-legend i { width: 18px; height: 3px; border-radius: 999px; background: var(--bi-accent); }
.bi-chart-legend .bi-series-previous { background: var(--bi-blue); }
.bi-chart-legend .bi-series-year { background: #99918b; }
.bi-chart-legend .bi-series-forecast { background: var(--bi-accent); }
.bi-chart-legend .bi-series-actual { background: var(--bi-blue); }
.bi-chart-legend .bi-series-error { background: var(--bi-negative); }
.bi-grid { stroke: #eeeae6; stroke-width: 1; }
.bi-axis { stroke: #cfc7c0; stroke-width: 1; }
.bi-line { fill: none; stroke: var(--bi-accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.bi-line.bi-series-previous { stroke: var(--bi-blue); stroke-width: 2; }
.bi-line.bi-series-year { stroke: #99918b; stroke-width: 2; stroke-dasharray: 7 6; }
.bi-line.bi-series-actual { stroke: var(--bi-blue); }
.bi-line.bi-series-error { stroke: var(--bi-negative); }
.bi-dot { fill: #fff; stroke: var(--bi-accent); stroke-width: 2.5; }
.bi-dot.bi-series-previous,
.bi-dot.bi-series-actual { stroke: var(--bi-blue); }
.bi-dot.bi-series-year { stroke: #99918b; }
.bi-dot.bi-series-error { stroke: var(--bi-negative); }
.bi-axis-label { fill: #867c75; font-size: 10px; }
.bi-axis-title { fill: #5f5752; font-size: 9px; font-weight: 750; }
.pilotage-month-trends { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pilotage-month-trends > article { min-width: 0; overflow: hidden; border: 1px solid var(--bi-border); border-radius: 13px; padding: 13px; }
.pilotage-month-trends h3 { margin: 0; font-size: 14px; }
.pilotage-month-trends p { margin: 3px 0 8px; color: var(--bi-muted); font-size: 8.5px; }
.pilotage-year-evolution { overflow: hidden; border-color: #e5d7cd; background: linear-gradient(145deg, #fff, #fffcf9); }
.pilotage-year-evolution > header { align-items: flex-start; }
.pilotage-year-evolution > header > div:first-child { display: grid; gap: 3px; }
.pilotage-year-evolution > header > div:first-child > span { max-width: 680px; color: var(--bi-muted); font-size: 9.5px; line-height: 1.45; }
.pilotage-year-metric-switch { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; border-radius: 11px; background: #f1ece8; padding: 4px; }
.pilotage-year-metric-switch button { min-height: 34px; border: 0; border-radius: 8px; background: transparent; padding: 0 11px; color: var(--bi-muted); font-size: 9px; font-weight: 800; }
.pilotage-year-metric-switch button:hover { color: var(--bi-ink); }
.pilotage-year-metric-switch button[aria-pressed="true"] { background: #fff; color: #8f3907; box-shadow: 0 2px 8px rgba(44, 33, 26, .1); }
.pilotage-year-evolution > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; border-top: 1px solid #eee6e0; padding-top: 10px; color: var(--bi-muted); font-size: 8.5px; }
.pilotage-year-evolution > footer strong { border-radius: 999px; background: var(--bi-warning-soft); padding: 5px 8px; color: var(--bi-warning); font-size: 8px; white-space: nowrap; }
.bi-waterfall svg { display: block; width: 100%; min-width: 560px; }
.bi-waterfall rect { fill: #6f777f; }
.bi-waterfall-positive rect { fill: var(--bi-positive); }
.bi-waterfall-negative rect { fill: var(--bi-negative); }
.bi-waterfall-value { fill: var(--bi-ink); font-size: 9px; font-weight: 800; }
.bi-waterfall-label { fill: var(--bi-muted); font-size: 9px; }
.bi-connector { stroke: #aaa19a; stroke-width: 1; stroke-dasharray: 3 3; }
.pilotage-waterfall-summary { display: flex; justify-content: space-between; border-top: 1px solid var(--bi-border); padding-top: 10px; font-size: 11px; }

.pilotage-action-plan { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pilotage-action-card { grid-template-columns: 30px minmax(0, 1fr); min-height: 138px; border-color: var(--bi-border); border-left: 4px solid var(--bi-blue); background: #fff; padding: 14px; box-shadow: none; }
.pilotage-action-card.warning { border-left-color: var(--bi-warning); background: var(--bi-warning-soft); }
.pilotage-action-card.success { border-left-color: var(--bi-positive); background: var(--bi-positive-soft); }
.pilotage-action-card > span { width: 27px; height: 27px; background: var(--bi-blue); }
.pilotage-action-card.warning > span { background: var(--bi-warning); }
.pilotage-action-card.success > span { background: var(--bi-positive); }
.pilotage-action-card h3 { margin: 3px 0 6px; font-size: 13px; }
.pilotage-action-card strong { font-size: 17px; }
.pilotage-action-card p { margin: 4px 0 8px; color: var(--bi-muted); font-size: 9.5px; line-height: 1.45; }
.pilotage-action-card button { min-height: 32px; border: 1px solid #e3c49f; border-radius: 8px; background: #fff; padding: 0 9px; color: #81450a; font-size: 9px; font-weight: 750; }

/* Prévisions */
.forecast-tomorrow-priority { border-color: #e6b99c; background: linear-gradient(145deg, #fff, #fffaf6); box-shadow: 0 16px 40px rgba(163, 72, 13, .08); }
.forecast-day-section,
.forecast-products-section,
.forecast-quality-section,
.forecast-problems-section,
.forecast-factors-section,
.forecast-known-orders-section,
.forecast-promotions-section,
.forecast-engine { margin-bottom: 18px; }
.forecast-day-cards { grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 12px; }
.forecast-day-cards > article { min-height: 185px; border-color: var(--bi-border); background: #fff; padding: 17px; }
.forecast-day-cards article > strong { font-size: clamp(26px, 3.2vw, 39px); }
.forecast-main-card { border-color: #e6b99c !important; }
.forecast-range { margin-top: 5px; }
.forecast-range > div { position: relative; height: 7px; border-radius: 999px; background: #ece7e3; }
.forecast-range > div > span { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #f5c6a8, var(--bi-accent)); opacity: .75; }
.forecast-range > div > i { position: absolute; top: -4px; width: 3px; height: 15px; border-radius: 3px; background: #7d3104; transform: translateX(-50%); }
.forecast-range p { display: flex; justify-content: space-between; margin: 7px 0 0; }
.forecast-range p span { display: grid; gap: 1px; }
.forecast-range p span:nth-child(2) { text-align: center; }
.forecast-range p span:last-child { text-align: right; }
.forecast-range small { color: #9a918a; font-size: 7px; }
.forecast-range b { font-size: 9px; }
.forecast-reliability-indicator { align-self: end; justify-self: start; border-radius: 999px; background: var(--bi-warning-soft); padding: 5px 8px; color: var(--bi-warning); font-size: 8px; font-style: normal; font-weight: 800; }
.forecast-reliability-indicator.high { background: var(--bi-positive-soft); color: var(--bi-positive); }
.forecast-live-comparison { display: grid; grid-template-columns: minmax(180px, .65fr) repeat(2, minmax(260px, 1fr)); gap: 8px; margin-top: 12px; border: 1px solid var(--bi-border); border-radius: 13px; background: #fbfaf8; padding: 11px; }
.forecast-live-comparison header { display: grid; align-content: center; }
.forecast-live-comparison header div { display: grid; gap: 3px; }
.forecast-live-comparison header b { font-size: 11px; }
.forecast-live-comparison header small { color: var(--bi-muted); font-size: 8px; line-height: 1.4; }
.forecast-live-comparison article { display: grid; grid-template-columns: auto 1fr 1fr auto; align-items: center; gap: 9px; border-left: 1px solid var(--bi-border); padding-left: 11px; }
.forecast-live-comparison article > b { font-size: 10px; }
.forecast-live-comparison article span { display: grid; gap: 2px; }
.forecast-live-comparison article small { color: var(--bi-muted); font-size: 7px; }
.forecast-live-comparison article strong { font-size: 14px; }
.forecast-live-comparison article em { color: var(--bi-accent); font-size: 9px; font-style: normal; font-weight: 800; }

.forecast-history-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 12px; margin: 15px 0; }
.forecast-history-grid > article { min-width: 0; overflow: hidden; border: 1px solid var(--bi-border); border-radius: 14px; padding: 14px; }
.forecast-history-grid header { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.forecast-history-grid h3 { margin: 3px 0 0; font-size: 16px; }
.forecast-history-grid header > span { color: var(--bi-muted); font-size: 8.5px; }
.forecast-quality-cards { grid-template-columns: repeat(3, 1fr); }
.forecast-model-comparison { grid-template-columns: minmax(140px, .7fr) minmax(260px, 1.3fr) 90px; gap: 12px; }
.forecast-model-bars { display: grid; gap: 8px; }
.forecast-model-bars > span { display: grid; grid-template-columns: 90px minmax(80px, 1fr) 45px; align-items: center; gap: 8px; }
.forecast-model-bars small { overflow: hidden; color: var(--bi-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.forecast-model-bars i { height: 8px; overflow: hidden; border-radius: 999px; background: #eeeae6; }
.forecast-model-bars i b { display: block; height: 100%; border-radius: inherit; background: var(--bi-accent); }
.forecast-model-bars > span:nth-child(2) i b { background: #9f9892; }
.forecast-model-bars strong { font-size: 9px; text-align: right; }
.forecast-model-comparison > aside { display: grid; align-content: center; justify-items: center; border-left: 1px solid var(--bi-border); }
.forecast-model-comparison > aside b { color: var(--bi-positive); font-size: 16px; }
.forecast-model-comparison > aside small { color: var(--bi-muted); font-size: 8px; }
.forecast-model-comparison > footer { display: flex; gap: 12px; grid-column: 2 / -1; color: var(--bi-muted); font-size: 8px; }
.forecast-product-filters { display: flex; gap: 8px; }
.forecast-product-search input { min-width: 190px; height: 36px; border: 1px solid var(--bi-border); border-radius: 10px; background: #fff; padding: 0 10px; color: var(--bi-ink); font: inherit; font-size: 11px; text-transform: none; }
.forecast-manage-products { align-self: end; min-height: 36px; border: 1px solid #e3c49f; border-radius: 10px; background: #fff8f1; padding: 0 11px; color: #81450a; font: inherit; font-size: 9px; font-weight: 800; }
.forecast-product-count { margin: 0 0 7px; color: var(--bi-muted); font-size: 8.5px; }
.forecast-product-decisions .forecast-product-row { grid-template-columns: minmax(170px, 1.05fr) minmax(145px, .9fr) minmax(115px, .65fr) minmax(115px, .7fr) minmax(145px, .85fr) minmax(95px, .55fr); }
.forecast-product-name { position: relative; }
.forecast-product-name button { justify-self: start; border: 0; background: transparent; padding: 1px 0; color: var(--bi-accent); font: inherit; font-size: 8px; font-weight: 800; }
.forecast-stockout-potential { display: grid; align-content: center; gap: 2px; border-radius: 9px; background: var(--bi-warning-soft); padding: 7px; color: var(--bi-warning); }
.forecast-stockout-potential.good { background: var(--bi-positive-soft); color: var(--bi-positive); }
.forecast-stockout-potential.none { background: transparent; padding: 0; color: var(--bi-muted); }
.forecast-stockout-potential small { color: inherit; font-size: 7px; font-weight: 650; line-height: 1.35; }
.forecast-stockout-inline-note { margin: 10px 0 0; border-radius: 10px; background: #f3f0ed; padding: 9px 11px; color: var(--bi-muted); font-size: 8.5px; line-height: 1.45; }
.forecast-preparation-legend { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 4px 0 12px; border: 1px solid #e8c59f; border-radius: 12px; background: #fff8f1; padding: 11px 13px; }
.forecast-preparation-legend > div { display: grid; gap: 2px; }
.forecast-preparation-legend b { color: #803c0b; font-size: 11px; }
.forecast-preparation-legend span,
.forecast-preparation-legend small { color: var(--bi-muted); font-size: 8.5px; line-height: 1.45; }
.forecast-preparation-legend > small { max-width: 420px; text-align: right; }
.forecast-preparation-legend.observation { border-color: #d48b80; background: #fff1ef; }
.forecast-preparation-legend.observation b { color: #922f27; }
.forecast-shrinkage-alert { display: grid; gap: 3px; margin: -3px 0 11px; border: 1px solid #e1a79f; border-radius: 11px; background: #fff4f2; padding: 10px 12px; }
.forecast-shrinkage-alert b { color: #922f27; font-size: 10px; }
.forecast-shrinkage-alert span { color: #755d59; font-size: 8.5px; line-height: 1.45; }
.forecast-product-demand,
.forecast-preparation-objective { display: grid; align-content: center; gap: 2px; }
.forecast-product-demand small,
.forecast-preparation-objective small,
.forecast-product-signals > small,
.forecast-reliability small { color: var(--bi-muted); font-size: 7px; font-weight: 650; line-height: 1.35; }
.forecast-preparation-objective { border-radius: 10px; background: #fff0e4; padding: 9px; color: #7d3104; font-size: 18px; }
.forecast-preparation-objective.observation { border: 1px solid #e4c7c2; background: #fff7f5; color: #8e3930; font-size: 10px; }
.forecast-preparation-objective.observation > span { font-weight: 850; }
.forecast-preparation-objective.validated { border: 1px solid #d5b07d; }
.forecast-not-production { color: #94372f !important; font-weight: 800 !important; }
.forecast-model-agreement,
.forecast-product-adjustments { display: grid; align-content: center; gap: 3px; }
.forecast-model-agreement { border-radius: 9px; background: #f2f0ee; padding: 8px; }
.forecast-model-agreement b { font-size: 10px; }
.forecast-model-agreement small,
.forecast-product-adjustments small { color: var(--bi-muted); font-size: 7px; font-weight: 650; line-height: 1.35; }
.forecast-model-agreement.high { background: var(--bi-positive-soft); color: var(--bi-positive); }
.forecast-model-agreement.medium { background: var(--bi-warning-soft); color: var(--bi-warning); }
.forecast-model-agreement.low { background: #fff0ee; color: #96362d; }
.forecast-product-adjustments b { color: #7d3104; font-size: 9px; }
.forecast-product-model-detail { grid-column: 1 / -1; border-top: 1px solid var(--bi-border); padding-top: 6px; }
.forecast-product-model-detail > summary { cursor: pointer; color: var(--bi-accent); font-size: 8px; font-weight: 800; list-style-position: inside; }
.forecast-product-model-detail-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px; margin-top: 9px; }
.forecast-product-model-detail-grid section { display: grid; align-content: start; gap: 6px; border-radius: 10px; background: var(--bi-surface-soft); padding: 10px; }
.forecast-product-model-detail-grid h4 { margin: 0; color: var(--bi-ink); font-size: 9px; }
.forecast-product-model-detail-grid section > span { display: grid; grid-template-columns: minmax(80px, .8fr) auto minmax(150px, 1.2fr) auto; align-items: center; gap: 7px; border-bottom: 1px solid var(--bi-border); padding-bottom: 5px; font-size: 8px; }
.forecast-product-model-detail-grid section > span:last-of-type { border-bottom: 0; }
.forecast-product-model-detail-grid section > span strong { font-size: 12px; }
.forecast-product-model-detail-grid section > span small,
.forecast-product-model-detail-grid p,
.forecast-product-model-detail-grid li { margin: 0; color: var(--bi-muted); font-size: 7.5px; line-height: 1.45; }
.forecast-product-model-detail-grid section > span em { color: var(--bi-accent); font-size: 7px; font-style: normal; font-weight: 750; }
.forecast-product-model-detail-grid section > span.ensemble { border-radius: 8px; background: #fff0e4; padding: 7px; }
.forecast-product-model-detail-grid ul { margin: 2px 0 0; padding-left: 16px; }
.forecast-product-signals { display: flex; align-content: center; flex-wrap: wrap; gap: 5px; }
.forecast-product-signals > small { flex-basis: 100%; }
.forecast-signal { border-radius: 999px; background: #f1eeeb; padding: 5px 7px; color: #675f59; font-size: 7.5px; font-style: normal; font-weight: 800; }
.forecast-signal.rupture { background: var(--bi-warning-soft); color: var(--bi-warning); }
.forecast-signal.annual { background: #eaf2fb; color: #285f92; }
.forecast-signal.promotion { background: #f0e9fa; color: #694496; }
.forecast-signal.weather { background: #e8f4f5; color: #276974; }
.forecast-signal.shrinkage { background: #ffebe8; color: #96362d; }
.forecast-signal.blocked { background: #f1f1f2; color: #595d63; }
.forecast-product-catalog-modal .known-order-modal-card { width: min(760px, 100%); }
.forecast-catalog-intro { margin: 0 0 13px; color: var(--bi-muted); font-size: 10px; line-height: 1.5; }
.forecast-catalog-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 10px; }
.forecast-catalog-toolbar label { display: grid; gap: 5px; color: var(--bi-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.forecast-catalog-toolbar input,
.forecast-catalog-toolbar select { width: 100%; height: 40px; border: 1px solid var(--bi-border); border-radius: 10px; background: #fff; padding: 0 10px; color: var(--bi-ink); font: inherit; font-size: 11px; text-transform: none; }
.forecast-catalog-summary { display: flex; justify-content: space-between; gap: 15px; margin: 13px 0 8px; color: var(--bi-muted); font-size: 9px; }
.forecast-catalog-summary b { color: var(--bi-ink); }
.forecast-product-catalog-list { display: grid; gap: 7px; max-height: 52vh; overflow-y: auto; padding-right: 3px; }
.forecast-catalog-product { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; border: 1px solid var(--bi-border); border-radius: 11px; background: #fff; padding: 10px; }
.forecast-catalog-product > div { display: grid; gap: 2px; }
.forecast-catalog-product small { color: var(--bi-muted); font-size: 8px; }
.forecast-catalog-product button,
.forecast-catalog-back { border: 1px solid var(--bi-border); border-radius: 8px; background: #fff; padding: 7px 9px; color: var(--bi-ink); font: inherit; font-size: 9px; font-weight: 750; }
.forecast-catalog-status { border-radius: 999px; background: var(--bi-positive-soft); padding: 5px 8px; color: var(--bi-positive); font-size: 8px; font-weight: 800; }
.forecast-catalog-product.inactive { background: #f7f5f3; opacity: .82; }
.forecast-catalog-product.inactive .forecast-catalog-status { background: #ece8e4; color: var(--bi-muted); }
.forecast-product-editor h3 { margin: 13px 0 6px; font-size: 20px; }
.forecast-product-aliases { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 16px; }
.forecast-product-aliases span { border-radius: 999px; background: #f2efec; padding: 5px 8px; color: var(--bi-muted); font-size: 8px; }
.forecast-factor-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.forecast-factor-summary article { display: grid; align-content: start; gap: 8px; border: 1px solid var(--bi-border); border-radius: 13px; background: #fff; padding: 13px; }
.forecast-factor-summary h3 { margin: 0 0 2px; font-size: 12px; }
.forecast-factor-summary article > span,
.forecast-unavailable-factors div > span { display: grid; gap: 2px; border-top: 1px solid #f0ece8; padding-top: 7px; }
.forecast-factor-summary article > span b,
.forecast-unavailable-factors b { font-size: 9px; }
.forecast-factor-summary article > span small,
.forecast-unavailable-factors small { color: var(--bi-muted); font-size: 8px; line-height: 1.45; }
.forecast-factor-mode { justify-self: start; margin: 0; border-radius: 999px; padding: 4px 7px; font-size: 7.5px; font-weight: 800; }
.forecast-factor-mode.used { background: var(--bi-positive-soft); color: var(--bi-positive); }
.forecast-factor-mode.informative { background: var(--bi-warning-soft); color: var(--bi-warning); }
.forecast-factor-note,
.forecast-factor-ollama { margin: 10px 0 0; border-radius: 10px; background: var(--bi-accent-soft); padding: 9px 11px; color: #75421f; font-size: 9px; line-height: 1.45; }
.forecast-unavailable-factors { margin-top: 10px; border: 1px solid var(--bi-border); border-radius: 11px; background: #fbfaf8; }
.forecast-unavailable-factors summary { padding: 10px 12px; cursor: pointer; color: var(--bi-muted); font-size: 9px; font-weight: 800; }
.forecast-unavailable-factors div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; border-top: 1px solid var(--bi-border); padding: 11px; }
.forecast-ml-ready { display: grid; gap: 3px; margin-top: 11px; border-radius: 11px; background: var(--bi-positive-soft); padding: 10px 12px; color: var(--bi-positive); }
.forecast-ml-ready b { font-size: 10px; }
.forecast-ml-ready span { font-size: 8.5px; line-height: 1.45; }
.forecast-known-orders-section,
.forecast-promotions-section,
.forecast-engine { padding: 0; }
.forecast-known-orders-section > summary,
.forecast-promotions-section > summary,
.forecast-engine > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; cursor: pointer; list-style: none; }
.forecast-known-orders-section > summary::-webkit-details-marker,
.forecast-promotions-section > summary::-webkit-details-marker,
.forecast-engine > summary::-webkit-details-marker { display: none; }
.forecast-known-orders-section > summary > span,
.forecast-promotions-section > summary > span,
.forecast-engine > summary > span { display: flex; align-items: center; gap: 9px; }
.forecast-known-orders-section > summary span span,
.forecast-known-orders-section > summary span,
.forecast-promotions-section > summary span span,
.forecast-promotions-section > summary span,
.forecast-engine > summary span { min-width: 0; }
.forecast-known-orders-section > summary b,
.forecast-promotions-section > summary b,
.forecast-engine > summary b { font-size: 13px; }
.forecast-known-orders-section > summary small,
.forecast-promotions-section > summary small,
.forecast-engine > summary small { color: var(--bi-muted); font-size: 9px; }
.forecast-known-orders-section > summary em,
.forecast-promotions-section > summary em,
.forecast-engine > summary em { color: var(--bi-accent); font-size: 9px; font-style: normal; font-weight: 800; }
.forecast-known-orders-content,
.forecast-promotions-content,
.forecast-engine-content { border-top: 1px solid var(--bi-border); padding: 18px; }
.forecast-promotion-list { display: grid; gap: 8px; margin-top: 12px; }
.forecast-promotion-card { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(180px, 1fr) auto auto; align-items: center; gap: 12px; border: 1px solid var(--bi-border); border-radius: 12px; background: #fff; padding: 11px; }
.forecast-promotion-card > div { display: grid; gap: 2px; }
.forecast-promotion-card > div b { font-size: 11px; }
.forecast-promotion-card > div small,
.forecast-promotion-card > div span { color: var(--bi-muted); font-size: 8px; }
.forecast-promotion-card p { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.forecast-promotion-card p em { border-radius: 999px; background: #f1eeeb; padding: 4px 6px; color: var(--bi-muted); font-size: 7.5px; font-style: normal; }
.forecast-promotion-card aside { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.forecast-promotion-card aside button { min-height: 31px; border: 1px solid var(--bi-border); border-radius: 8px; background: #fff; padding: 0 8px; font: inherit; font-size: 8px; font-weight: 750; }
.forecast-promotion-card aside button.primary { border-color: #e5ae86; background: var(--bi-accent-soft); color: #813905; }
.forecast-promotion-card aside button.danger { color: var(--bi-negative); }
.forecast-promotion-product-field { position: relative; display: grid; gap: 8px; margin-top: 12px; }
.forecast-promotion-product-field > label { position: relative; display: grid; gap: 5px; color: var(--bi-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.forecast-promotion-product-field input { height: 40px; border: 1px solid var(--bi-border); border-radius: 10px; padding: 0 10px; font: inherit; }
.forecast-promotion-product-field .known-order-product-results { top: 62px; right: 0; left: 0; }
.forecast-promotion-selected-products { display: flex; flex-wrap: wrap; gap: 5px; }
.forecast-promotion-selected-products > span { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; background: #f1eeeb; padding: 5px 6px 5px 9px; font-size: 8px; font-weight: 750; }
.forecast-promotion-selected-products button { width: 20px; height: 20px; border: 0; border-radius: 50%; background: #fff; color: var(--bi-muted); }
.forecast-engine-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Imports */
.pilotage-import-overview-grid { display: grid; grid-template-columns: minmax(460px, .9fr) minmax(520px, 1.1fr); gap: 16px; margin-bottom: 18px; }
.pilotage-calendar-section,
.pilotage-selected-day,
.pilotage-drop-section,
.pilotage-history-section,
.pilotage-actionable-section,
.pilotage-missing-section,
.pilotage-deposits-section { padding: 20px; }
.pilotage-date-navigation { justify-content: flex-start; margin-bottom: 14px; }
.pilotage-calendar > header { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.pilotage-calendar h2 { margin: 4px 0 0; font-size: 21px; text-transform: capitalize; }
.pilotage-calendar-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 9px; color: var(--bi-muted); font-size: 7.5px; }
.pilotage-calendar-legend span::before { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 2px; background: #d8d3cf; content: ''; }
.pilotage-calendar-legend .complete::before { background: var(--bi-positive); }
.pilotage-calendar-legend .incomplete::before { background: var(--bi-warning); }
.pilotage-calendar-legend .error::before { background: var(--bi-negative); }
.pilotage-calendar-weekdays,
.pilotage-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.pilotage-calendar-weekdays { margin-bottom: 5px; }
.pilotage-calendar-weekdays b { color: #988f88; font-size: 8px; text-align: center; }
.pilotage-calendar-day,
.pilotage-calendar-empty { aspect-ratio: 1 / .82; min-width: 0; }
.pilotage-calendar-day { position: relative; display: grid; align-content: center; justify-items: center; gap: 2px; overflow: hidden; border: 1px solid var(--bi-border); border-radius: 9px; background: #f8f7f5; color: var(--bi-ink); }
.pilotage-calendar-day::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: #d3ceca; content: ''; }
.pilotage-calendar-day.complete::before { background: var(--bi-positive); }
.pilotage-calendar-day.incomplete::before,
.pilotage-calendar-day.validate::before { background: var(--bi-warning); }
.pilotage-calendar-day.error::before { background: var(--bi-negative); }
.pilotage-calendar-day b { font-size: 12px; }
.pilotage-calendar-day small { width: 90%; overflow: hidden; color: var(--bi-muted); font-size: 6.5px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-calendar-day.selected { border-color: var(--bi-accent); background: var(--bi-accent-soft); box-shadow: inset 0 0 0 1px var(--bi-accent); }
.pilotage-calendar-day.future { opacity: .45; }
.pilotage-selected-day .pilotage-section-title { margin-bottom: 10px; }
.pilotage-day-summary { margin-bottom: 12px; box-shadow: none; }
.pilotage-report-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.pilotage-report-slot { min-width: 0; border: 1px solid var(--bi-border); border-radius: 13px; padding: 11px; }
.pilotage-report-slot > header { padding-bottom: 8px; }
.pilotage-report-slot > header > div > span { width: 26px; height: 26px; }
.pilotage-report-slot h3 { font-size: 11px; }
.pilotage-report-slot > header b { font-size: 8px; }
.pilotage-slot-document { margin-top: 2px; border: 0; padding: 0; }
.pilotage-slot-preview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--bi-border); border-radius: 9px; background: var(--bi-border); }
.pilotage-slot-preview span { display: grid; gap: 2px; min-width: 0; background: #fbfaf8; padding: 8px; color: var(--bi-muted); font-size: 7px; }
.pilotage-slot-preview b { overflow: hidden; color: var(--bi-ink); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-slot-actions { display: flex; gap: 5px; margin-top: 7px; }
.pilotage-slot-actions button { min-height: 32px; border-radius: 8px; font-size: 8px; }
.pilotage-slot-technical { margin-top: 6px; }
.pilotage-slot-technical > summary { color: var(--bi-muted); cursor: pointer; font-size: 8px; }
.pilotage-slot-technical > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; margin-top: 7px; border-top: 1px solid var(--bi-border); padding-top: 7px; }
.pilotage-slot-technical p { display: grid; margin: 0; }
.pilotage-slot-technical p b { font-size: 8px; }
.pilotage-slot-technical p small { color: var(--bi-muted); font-size: 7px; }

.pilotage-drop-section { margin-bottom: 18px; padding: 0; overflow: hidden; }
.pilotage-drop { min-height: 170px; border: 2px dashed #e0b694; border-radius: var(--bi-radius); background: linear-gradient(135deg, #fff, #fff8f2); padding: 25px 28px; }
.pilotage-drop:hover,
.pilotage-drop.dragover { border-color: var(--bi-accent); background: var(--bi-accent-soft); }
.pilotage-drop-icon { width: 52px; height: 52px; border-radius: 15px; background: #ffe4d1; color: var(--bi-accent); }
.pilotage-drop-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pilotage-drop-copy h2 { margin-bottom: 5px; font-size: 21px; }
.pilotage-drop-copy > p { font-size: 10px; }
.pilotage-drop-copy details { margin-top: 9px; color: var(--bi-muted); font-size: 8px; }
.pilotage-drop-copy details > summary { cursor: pointer; font-weight: 750; }
.pilotage-drop button { min-height: 44px; border-radius: 11px; padding: 0 18px; }
.pilotage-upload-progress { margin: 0; border: 0; border-top: 1px solid var(--bi-border); border-radius: 0; padding: 15px 20px 18px; }
.pilotage-upload-meter { height: 8px; overflow: hidden; margin: 10px 0; border-radius: 999px; background: #eeeae6; }
.pilotage-upload-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ee8c4e, var(--bi-accent)); transition: width .25s ease; }

.pilotage-history-section { margin-bottom: 18px; }
.pilotage-missing-section { margin: 18px 0; }
.pilotage-missing-toolbar { display: grid; grid-template-columns: minmax(190px,1fr) 180px 180px auto auto; align-items: end; gap: 9px; margin-bottom: 12px; }
.pilotage-missing-toolbar > div { display: grid; gap: 2px; }
.pilotage-missing-toolbar > div b { font-size: 12px; }
.pilotage-missing-toolbar small { color: var(--bi-muted); font-size: 8px; }
.pilotage-missing-toolbar label { display: grid; gap: 4px; color: var(--bi-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.pilotage-missing-toolbar select,
.pilotage-missing-toolbar input { height: 36px; min-width: 0; border: 1px solid var(--bi-border); border-radius: 9px; background: #fff; padding: 0 9px; font: inherit; font-size: 9px; }
.pilotage-missing-toolbar button,
.pilotage-missing-row button { min-height: 36px; border: 1px solid var(--bi-border); border-radius: 9px; background: #fff; padding: 0 10px; color: var(--bi-ink); font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.pilotage-missing-table { max-height: 520px; overflow: auto; border: 1px solid var(--bi-border); border-radius: 12px; }
.pilotage-missing-row { display: grid; grid-template-columns: 145px minmax(220px,1fr) minmax(250px,1.2fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--bi-border); padding: 9px 11px; }
.pilotage-missing-row:last-child { border-bottom: 0; }
.pilotage-missing-row.head { position: sticky; top: 0; z-index: 1; background: #f5f2ef; color: var(--bi-muted); font-size: 8px; text-transform: uppercase; }
.pilotage-missing-row > span { display: grid; gap: 2px; }
.pilotage-missing-row > span b { font-size: 9px; }
.pilotage-missing-row > span small { color: var(--bi-muted); font-size: 7px; }
.pilotage-missing-row code { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-missing-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 11px; }
.pilotage-missing-pagination button { min-height: 34px; border: 1px solid var(--bi-border); border-radius: 9px; background: #fff; padding: 0 11px; color: var(--bi-ink); font: inherit; font-size: 8px; font-weight: 800; }
.pilotage-missing-pagination button:disabled { opacity: .45; }
.pilotage-missing-pagination span { color: var(--bi-muted); font-size: 8px; }
.pilotage-history-main { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.pilotage-history-main h2 { margin: 4px 0 3px; font-size: 23px; }
.pilotage-history-main span { color: var(--bi-muted); font-size: 10px; }
.pilotage-history-main > strong { font-size: 32px; letter-spacing: -1px; }
.pilotage-progress { height: 12px; overflow: hidden; margin: 15px 0; border-radius: 999px; background: #ece8e4; }
.pilotage-progress i { display: block; height: 100%; border-radius: inherit; background: var(--bi-positive); }
.pilotage-report-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pilotage-report-progress > div { display: grid; grid-template-columns: minmax(0, 1fr) 45px; gap: 7px; }
.pilotage-report-progress > div > span { display: grid; grid-column: 1 / -1; gap: 2px; }
.pilotage-report-progress b { font-size: 9px; }
.pilotage-report-progress small { color: var(--bi-muted); font-size: 7.5px; }
.pilotage-report-progress i { height: 6px; overflow: hidden; border-radius: 99px; background: #ede9e5; }
.pilotage-report-progress i b { display: block; height: 100%; border-radius: inherit; background: var(--bi-blue); }
.pilotage-report-progress > div > strong { font-size: 9px; text-align: right; }
.pilotage-actionable-section,
.pilotage-deposits-section { margin-bottom: 18px; }
.pilotage-actionable > button { grid-template-columns: minmax(0, 1fr) auto auto; min-height: 58px; }
.pilotage-actionable > button > strong { color: var(--bi-accent); font-size: 9px; }

/* Responsive — vrais composants mobiles, sans grands tableaux horizontaux. */
@media (max-width: 1180px) {
  .pilotage-performance-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pilotage-comparison-board > div { grid-template-columns: 1fr; }
  .pilotage-comparison-board article { border-right: 0; }
  .forecast-history-grid { grid-template-columns: 1fr; }
  .pilotage-month-trends { grid-template-columns: 1fr; }
  .pilotage-import-overview-grid { grid-template-columns: 1fr; }
  .pilotage-report-progress { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .pilotage-analytics-view,
  .pilotage-forecast-view,
  .pilotage-import-view { padding: 12px 16px 46px; }
  .pilotage-page-head { align-items: flex-start; flex-direction: column; gap: 12px; padding-bottom: 18px; }
  .pilotage-page-head h1 { font-size: 33px; }
  .pilotage-page-head > div > p:last-child { font-size: 12px; }
  .pilotage-analytics-controls { position: static; grid-template-columns: 1fr; }
  .pilotage-period-switch { display: grid; grid-template-columns: repeat(3, 1fr); }
  .pilotage-analytics-date { justify-self: stretch; }
  .pilotage-analytics-date label { flex: 1; }
  .pilotage-period-context { justify-items: center; }
  .pilotage-analytics-coverage { grid-template-columns: 1fr auto; }
  .pilotage-coverage-detail { grid-column: 1 / -1; grid-row: 2; }
  .pilotage-performance-kpis { grid-template-columns: 1fr; }
  .pilotage-year-evolution > header { align-items: stretch; flex-direction: column; }
  .pilotage-year-metric-switch { justify-content: stretch; }
  .pilotage-year-metric-switch button { flex: 1 1 120px; }
  .pilotage-comparison-board article { grid-template-columns: 125px minmax(0, 1fr); }
  .pilotage-action-plan { grid-template-columns: 1fr; }
  .pilotage-action-card { min-height: 0; }
  .forecast-day-cards { grid-template-columns: repeat(2, 1fr); }
  .forecast-live-comparison { grid-template-columns: 1fr; }
  .forecast-live-comparison article { border-top: 1px solid var(--bi-border); border-left: 0; padding-top: 9px; padding-left: 0; }
  .forecast-factor-summary { grid-template-columns: 1fr; }
  .forecast-model-comparison { grid-template-columns: 1fr 80px; }
  .forecast-model-comparison > div:first-child,
  .forecast-model-bars { grid-column: 1; }
  .forecast-model-comparison > aside { grid-column: 2; grid-row: 1 / 3; }
  .forecast-model-comparison > footer { grid-column: 1 / -1; }
  .forecast-product-filters { flex-direction: column; }
  .forecast-product-search input,
  .forecast-family-filter select,
  .forecast-manage-products { width: 100%; min-width: 0; }
  .forecast-product-table { display: grid; gap: 9px; overflow: visible; border: 0; }
  .forecast-product-row.head { display: none; }
  .forecast-product-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: 10px; border: 1px solid var(--bi-border); border-radius: 13px; background: #fff; padding: 13px; }
  .forecast-product-decisions .forecast-product-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forecast-product-name { grid-column: 1 / -1; border-bottom: 1px solid var(--bi-border); padding-bottom: 9px; }
  .forecast-product-signals { grid-column: 1 / -1; }
  .forecast-product-model-detail-grid { grid-template-columns: 1fr; }
  .forecast-product-model-detail-grid section > span { grid-template-columns: 1fr auto; }
  .forecast-product-model-detail-grid section > span small,
  .forecast-product-model-detail-grid section > span em { grid-column: 1 / -1; }
  .forecast-product-row > [data-label]::before { display: block; margin-bottom: 3px; color: var(--bi-muted); content: attr(data-label); font-size: 7px; font-weight: 800; text-transform: uppercase; }
  .forecast-product-total { border-radius: 9px; background: var(--bi-accent-soft); padding: 8px; }
  .forecast-reliability { justify-self: start; }
  .forecast-engine-grid { grid-template-columns: repeat(2, 1fr); }
  .forecast-catalog-toolbar { grid-template-columns: 1fr; }
  .forecast-catalog-product { grid-template-columns: minmax(0, 1fr) auto; }
  .forecast-catalog-product button { grid-column: 1 / -1; width: 100%; min-height: 36px; }
  .forecast-promotion-card { grid-template-columns: minmax(0, 1fr) auto; }
  .forecast-promotion-card > p,
  .forecast-promotion-card > aside { grid-column: 1 / -1; }
  .forecast-promotion-card aside { justify-content: flex-start; }
  .pilotage-missing-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pilotage-missing-toolbar > div { grid-column: 1 / -1; }
  .pilotage-missing-toolbar button { width: 100%; }
  .pilotage-missing-row { grid-template-columns: 120px minmax(180px, 1fr) auto; }
  .pilotage-missing-row > code,
  .pilotage-missing-row.head > b:nth-child(3) { display: none; }
}

@media (max-width: 520px) {
  .pilotage-analytics-view,
  .pilotage-forecast-view,
  .pilotage-import-view { padding: 8px 10px 38px; }
  .pilotage-page-head { padding: 8px 2px 15px; }
  .pilotage-page-head h1 { font-size: 29px; letter-spacing: -1px; }
  .pilotage-store-chip { padding: 6px 9px; }
  .pilotage-missing-toolbar { grid-template-columns: 1fr; }
  .pilotage-missing-toolbar > div { grid-column: auto; }
  .pilotage-missing-row { grid-template-columns: 1fr auto; }
  .pilotage-missing-row > span:nth-child(2) { grid-column: 1 / -1; }
  .pilotage-missing-row.head { display: none; }
  .pilotage-analysis-nav button { flex-basis: 128px; }
  .pilotage-analytics-coverage { gap: 8px; padding: 9px; }
  .pilotage-coverage-detail { display: grid; }
  .pilotage-performance-kpis { gap: 8px; }
  .pilotage-performance-kpi { min-height: 0; padding: 15px 14px 13px; }
  .pilotage-performance-kpi > strong { font-size: 30px; }
  .pilotage-kpi-reference-head { display: none; }
  .pilotage-kpi-reference-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 9px; }
  .pilotage-kpi-reference-delta { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .pilotage-year-evolution { padding: 13px; }
  .pilotage-year-metric-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pilotage-year-evolution > footer { align-items: flex-start; flex-direction: column; }
  .bi-sparkline { right: 9px; bottom: 29px; width: 72px; }
  .pilotage-comparison-board > header { align-items: flex-start; flex-direction: column; gap: 4px; padding: 14px; }
  .pilotage-comparison-board article { grid-template-columns: 1fr; }
  .pilotage-comparison-current { grid-template-columns: 1fr auto; align-items: center; }
  .pilotage-comparison-current small { grid-column: 1 / -1; }
  .pilotage-comparison-references > div { grid-template-columns: minmax(0, 1fr) auto; }
  .pilotage-comparison-references > div > span:last-child { grid-column: 1 / -1; text-align: left; }
  .bi-line-chart,
  .bi-waterfall { margin-right: -10px; overflow-x: auto; padding-bottom: 4px; }
  .bi-line-chart svg,
  .bi-waterfall svg { width: 620px; }
  .forecast-day-section,
  .forecast-products-section,
  .forecast-quality-section,
  .forecast-problems-section { padding: 13px; }
  .forecast-factors-section { padding: 13px; }
  .forecast-preparation-legend { align-items: flex-start; flex-direction: column; gap: 7px; }
  .forecast-preparation-legend > small { text-align: left; }
  .forecast-day-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
  .forecast-day-cards > article { min-height: 165px; padding: 12px; }
  .forecast-day-cards article > strong { font-size: 24px; }
  .forecast-date-nav input { width: 115px; }
  .forecast-period-tabs { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; }
  .forecast-catalog-summary { align-items: flex-start; flex-direction: column; }
  .forecast-product-catalog-list { max-height: 48vh; }
  .forecast-history-grid > article { padding: 10px; }
  .forecast-model-comparison { grid-template-columns: 1fr; }
  .forecast-model-comparison > aside { grid-column: 1; grid-row: auto; justify-items: start; border-top: 1px solid var(--bi-border); border-left: 0; padding-top: 8px; }
  .forecast-model-bars > span { grid-template-columns: 72px minmax(65px, 1fr) 40px; }
  .forecast-live-comparison article { grid-template-columns: 1fr 1fr; }
  .forecast-live-comparison article > b,
  .forecast-live-comparison article > em { grid-column: 1 / -1; }
  .forecast-unavailable-factors div { grid-template-columns: 1fr; }
  .forecast-known-orders-section > summary,
  .forecast-promotions-section > summary,
  .forecast-engine > summary { padding: 14px; }
  .forecast-known-orders-content,
  .forecast-promotions-content,
  .forecast-engine-content { padding: 13px; }
  .forecast-engine-grid { grid-template-columns: 1fr; }
  .pilotage-calendar-section,
  .pilotage-selected-day,
  .pilotage-history-section,
  .pilotage-actionable-section,
  .pilotage-deposits-section { padding: 13px; }
  .pilotage-calendar > header { align-items: flex-start; flex-direction: column; }
  .pilotage-calendar-legend { justify-content: flex-start; }
  .pilotage-calendar-day { aspect-ratio: 1 / 1; }
  .pilotage-calendar-day small { display: none; }
  .pilotage-calendar-day b { font-size: 11px; }
  .pilotage-report-slots { grid-template-columns: 1fr; }
  .pilotage-drop { grid-template-columns: 1fr; padding: 20px 15px; text-align: center; }
  .pilotage-drop-icon { margin: auto; }
  .pilotage-drop button { width: 100%; }
  .pilotage-history-main { align-items: flex-start; }
  .pilotage-history-main h2 { font-size: 19px; }
  .pilotage-history-main > strong { font-size: 25px; }
  .pilotage-report-progress { grid-template-columns: 1fr; }
  .pilotage-actionable > button { grid-template-columns: 1fr auto; }
  .pilotage-actionable > button > strong { grid-column: 2; }
}

.forecast-confidence { display: grid; gap: 8px; margin-top: 10px; }
.forecast-confidence > span { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 10px; border: 1px solid var(--bi-border); border-radius: 10px; background: var(--bi-surface-soft); }
.forecast-confidence > span b { font-size: 18px; }
.forecast-confidence > span small { text-align: right; }
.forecast-confidence > em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--bi-success); }
.forecast-confidence.uncertain > em { color: var(--bi-warning); }
.forecast-benchmark-section,
.forecast-explanation-section { padding: 18px; border: 1px solid var(--bi-border); border-radius: 18px; background: var(--bi-surface); }
.forecast-benchmark-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.forecast-benchmark-summary > span { display: grid; gap: 4px; padding: 12px; border-radius: 12px; background: var(--bi-surface-soft); }
.forecast-benchmark-targets { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 12px; }
.forecast-benchmark-targets article { border: 1px solid var(--bi-border); border-radius: 12px; padding: 12px; }
.forecast-benchmark-targets header,
.forecast-benchmark-targets article > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.forecast-benchmark-targets article > span { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--bi-border); flex-wrap: wrap; }
.forecast-benchmark-targets article > span em { width: 100%; font-style: normal; font-size: 12px; color: var(--bi-muted); }
.forecast-weight-list { display: grid; gap: 12px; margin-top: 12px; }
.forecast-weight-list section { display: grid; gap: 6px; }
.forecast-weight-list span { display: flex; justify-content: space-between; gap: 12px; }
.forecast-explanation-card { display: grid; gap: 10px; padding: 16px; border-radius: 14px; border-left: 4px solid var(--bi-success); background: var(--bi-surface-soft); }
.forecast-explanation-card.fallback { border-left-color: var(--bi-warning); }
.forecast-explanation-card > div { display: flex; justify-content: space-between; gap: 12px; }
.forecast-explanation-card p { margin: 0; line-height: 1.55; }
.forecast-explanation-fallback { color: var(--bi-muted); }
.forecast-governance-section { border: 1px solid var(--bi-border); border-radius: 16px; background: var(--bi-surface); }
.forecast-governance-section > summary { display: flex; justify-content: space-between; align-items: center; padding: 15px 18px; cursor: pointer; }
.forecast-governance-section > summary span { display: grid; gap: 3px; }
.forecast-governance-content { padding: 0 18px 18px; }
.forecast-event-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.forecast-event-form label { display: grid; gap: 5px; }
.forecast-event-form input,
.forecast-event-form select,
.forecast-quality-row input,
.forecast-quality-row select { min-height: 40px; border: 1px solid var(--bi-border); border-radius: 9px; padding: 7px 9px; background: var(--bi-surface); color: inherit; }
.forecast-governance-row,
.forecast-quality-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--bi-border); }
.forecast-governance-row > div,
.forecast-quality-row > div { display: grid; gap: 3px; }
.forecast-quality-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.forecast-quality-toolbar > small { color: var(--bi-muted); text-align: right; }
.forecast-quality-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.forecast-quality-filters button { border: 1px solid var(--bi-border); border-radius: 999px; background: var(--bi-surface); padding: 7px 10px; color: var(--bi-muted); font-weight: 700; }
.forecast-quality-filters button.active { border-color: var(--bi-accent); background: var(--bi-accent-soft); color: var(--bi-accent); }
.forecast-quality-list { display: grid; }
.forecast-quality-row { grid-template-columns: minmax(180px, 1fr) auto; }
.forecast-quality-row > button { align-self: center; }
.forecast-quality-day > span { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.forecast-quality-day em { border-radius: 999px; background: var(--bi-surface-soft); padding: 4px 7px; color: var(--bi-muted); font-size: 10px; font-style: normal; font-weight: 800; }
.forecast-quality-day em.special { background: #fff4df; color: #8b5b09; }
.forecast-quality-day em.partial { background: #fff0e6; color: #99531c; }
.forecast-quality-day em.excluded { background: #f5e9e8; color: #8c3932; }
.forecast-quality-manual { color: var(--bi-accent); font-weight: 700; }
.forecast-quality-editor { grid-column: 1 / -1; display: grid !important; grid-template-columns: minmax(180px, .8fr) minmax(220px, 1.4fr) auto; align-items: end; gap: 10px !important; border-radius: 11px; background: var(--bi-surface-soft); padding: 11px; }
.forecast-quality-editor label { display: grid; gap: 5px; }
.forecast-quality-editor label > span { color: var(--bi-muted); font-size: 11px; font-weight: 700; }
.forecast-quality-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; }
.forecast-quality-pagination span { color: var(--bi-muted); font-size: 12px; }
.forecast-quality-pagination button:disabled { cursor: default; opacity: .45; }
.forecast-trace-list { display: grid; gap: 8px; }
.forecast-trace-list article { display: grid; grid-template-columns: 90px 1fr; gap: 10px; align-items: start; padding: 10px; background: var(--bi-surface-soft); border-radius: 10px; }
.forecast-trace-list article > div { display: grid; gap: 3px; }
.forecast-trace-list code { font-size: 11px; }
.forecast-trace-list .degraded { color: var(--bi-warning); font-weight: 800; }
.forecast-trace-list .ready { color: var(--bi-success); font-weight: 800; }
.forecast-trace-ok { color: var(--bi-success); font-weight: 700; }
#forecastRunDiff pre { max-height: 320px; overflow: auto; padding: 10px; border-radius: 10px; background: #101827; color: #eef3fb; font-size: 11px; }

@media (max-width: 760px) {
  .forecast-benchmark-summary,
  .forecast-event-form { grid-template-columns: 1fr; }
  .forecast-quality-row,
  .forecast-governance-row { grid-template-columns: 1fr; align-items: stretch; }
  .forecast-quality-toolbar { align-items: stretch; flex-direction: column; }
  .forecast-quality-toolbar > small { text-align: left; }
  .forecast-quality-editor { grid-column: 1; grid-template-columns: 1fr; }
}

/* Refonte décisionnelle 2026 — hiérarchie forte, surfaces calmes et données lisibles. */
.pilotage-analytics-view,
.pilotage-forecast-view {
  --decision-ink: #241e1a;
  --decision-muted: #756b63;
  --decision-line: #e7e0da;
  --decision-soft: #f5f1ed;
  --decision-orange: #e8620c;
  --decision-orange-soft: #fff1e7;
  --decision-shadow: 0 18px 45px rgba(47, 36, 28, .07);
  color: var(--decision-ink);
}
.pilotage-analytics-view { max-width: 1480px; margin: 0 auto; padding-bottom: 64px; }
.pilotage-analytics-view .pilotage-page-head,
.pilotage-forecast-view .pilotage-page-head { align-items: center; gap: 18px; border-bottom: 0; padding-bottom: 10px; }
.pilotage-analytics-view .pilotage-page-head h1,
.pilotage-forecast-view .pilotage-page-head h1 { max-width: 780px; margin: 3px 0 6px; font-size: clamp(30px, 3vw, 46px); font-weight: 760; letter-spacing: -.045em; line-height: 1.02; }
.pilotage-analytics-view .pilotage-page-head > div > p:last-child,
.pilotage-forecast-view .pilotage-page-head > div > p:last-child { max-width: 720px; color: var(--decision-muted); font-size: 15px; line-height: 1.5; }
.pilotage-analytics-view .home-kicker,
.pilotage-forecast-view .home-kicker { color: #a44811; font-size: 12px; font-weight: 850; letter-spacing: .095em; }
.pilotage-analytics-view small,
.pilotage-forecast-view small { line-height: 1.45; }
.pilotage-analytics-controls { position: relative; z-index: 4; align-items: center; margin: 12px 0 18px; border: 1px solid var(--decision-line); border-radius: 16px; background: rgba(255,255,255,.88); padding: 10px; box-shadow: 0 7px 24px rgba(47,36,28,.045); backdrop-filter: blur(12px); }
.pilotage-analysis-nav { gap: 5px; overflow-x: auto; border: 0; border-radius: 14px; background: #ebe6e1; padding: 5px; scrollbar-width: none; }
.pilotage-analysis-nav::-webkit-scrollbar { display: none; }
.pilotage-analysis-nav button { min-width: max-content; border: 0; border-radius: 10px; padding: 10px 14px; }
.pilotage-analysis-nav button[aria-current="page"] { background: #fff; color: var(--decision-ink); box-shadow: 0 4px 14px rgba(42,31,24,.08); }
.pilotage-analysis-nav button span { font-size: 13px; }
.pilotage-analysis-nav button small { font-size: 12px; }
.pilotage-analysis-body { display: grid; gap: 18px; }
.pilotage-decision-hero { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(330px, .62fr); gap: 14px; }
.pilotage-revenue-hero { position: relative; display: grid; align-content: start; min-width: 0; overflow: hidden; border-radius: 24px; background: var(--decision-ink); padding: clamp(24px, 3vw, 38px); color: #fff; box-shadow: 0 22px 50px rgba(31,24,20,.18); }
.pilotage-revenue-hero::after { position: absolute; top: -90px; right: -70px; width: 270px; height: 270px; border-radius: 50%; background: radial-gradient(circle, rgba(232,98,12,.38), rgba(232,98,12,0) 68%); content: ''; pointer-events: none; }
.pilotage-revenue-hero-heading { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pilotage-revenue-hero-heading h2 { margin: 3px 0 0; font-size: 18px; font-weight: 650; }
.pilotage-revenue-hero-heading > span { border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.07); padding: 7px 10px; color: #d9d0ca; font-size: 12px; font-weight: 700; }
.pilotage-revenue-hero.atypical .pilotage-revenue-hero-heading > span { border-color: #f2b487; background: #fff0e4; color: #8c3c0c; }
.pilotage-revenue-hero > strong { position: relative; z-index: 1; margin-top: 20px; font-size: clamp(43px, 5vw, 68px); font-variant-numeric: tabular-nums; font-weight: 760; letter-spacing: -.055em; line-height: .95; }
.pilotage-revenue-hero > small { position: relative; z-index: 1; margin-top: 11px; color: #cfc6c0; font-size: 13px; }
.pilotage-revenue-references { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.12); }
.pilotage-revenue-references article { display: grid; align-content: start; min-width: 0; gap: 5px; background: rgba(255,255,255,.055); padding: 14px; }
.pilotage-revenue-references article > span:first-child { min-height: 34px; color: #cfc6c0; font-size: 12px; line-height: 1.35; }
.pilotage-revenue-references article > b { overflow: hidden; font-size: 20px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-revenue-references article > small,
.pilotage-revenue-references article > i { color: #cfc6c0; font-size: 12px; font-style: normal; }
.pilotage-revenue-references [class^="pilotage-comparison-"] { color: #fff; font-size: 12px; font-weight: 750; }
.pilotage-revenue-hero > footer { position: relative; z-index: 1; margin-top: 15px; color: #aaa099; font-size: 12px; line-height: 1.45; }
.pilotage-decision-secondary { display: grid; gap: 10px; }
.pilotage-decision-mini-kpi { display: grid; min-width: 0; border: 1px solid var(--decision-line); border-radius: 18px; background: #fff; padding: 17px 18px; box-shadow: 0 8px 25px rgba(47,36,28,.045); }
.pilotage-decision-mini-kpi > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pilotage-decision-mini-kpi > header > span { color: var(--decision-muted); font-size: 13px; font-weight: 760; }
.pilotage-decision-mini-kpi > header em { border-radius: 999px; background: #fff0e7; padding: 4px 7px; color: #9a3f0a; font-size: 11px; font-style: normal; font-weight: 800; }
.pilotage-decision-mini-kpi > strong { margin: 4px 0 12px; font-size: clamp(27px, 2.5vw, 36px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.pilotage-decision-mini-kpi > div { display: grid; gap: 6px; }
.pilotage-decision-mini-kpi > div > span { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 3px 10px; }
.pilotage-decision-mini-kpi > div small { overflow: hidden; color: var(--decision-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-decision-mini-kpi > div b { font-size: 13px; font-variant-numeric: tabular-nums; }
.pilotage-decision-mini-kpi > div [class^="pilotage-comparison-"] { grid-column: 1 / -1; color: #625850; font-size: 12px; font-weight: 700; }
.pilotage-decision-mini-kpi > div > span > i { grid-column: 1 / -1; color: #9a918a; font-size: 12px; font-style: normal; }
.pilotage-decision-mini-kpi > footer { margin-top: 10px; color: #9a918a; font-size: 12px; }
.pilotage-analytics-panel { border-color: var(--decision-line); border-radius: 20px; box-shadow: var(--decision-shadow); }
.pilotage-analytics-panel > header { padding: 20px 22px 15px; }
.pilotage-analytics-panel > header h2 { font-size: clamp(18px, 2vw, 23px); letter-spacing: -.025em; }
.pilotage-analytics-panel > header > span { color: var(--decision-muted); font-size: 12px; }
.pilotage-decision-summary { background: #fff; }
.pilotage-decision-summary .pilotage-insights { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--decision-line); }
.pilotage-decision-summary .pilotage-insights > * { min-width: 0; border: 0; border-right: 1px solid var(--decision-line); border-radius: 0; padding: 19px 22px; background: transparent; }
.pilotage-decision-summary .pilotage-insights > *:last-child { border-right: 0; }
.pilotage-overview-visual-grid { grid-template-columns: minmax(0, 1.55fr) minmax(310px, .45fr); }
.pilotage-line-chart,
.pilotage-line-chart svg { width: 100%; max-width: 100%; overflow: hidden; }
.pilotage-forecast-performance { overflow: hidden; }
.pilotage-forecast-score-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--decision-line); border-bottom: 1px solid var(--decision-line); background: #faf8f6; }
.pilotage-forecast-score-strip > span { display: grid; min-width: 0; gap: 4px; border-right: 1px solid var(--decision-line); padding: 17px 22px; }
.pilotage-forecast-score-strip > span:last-child { border-right: 0; }
.pilotage-forecast-score-strip small { color: var(--decision-muted); font-size: 12px; }
.pilotage-forecast-score-strip b { font-size: 24px; font-variant-numeric: tabular-nums; }
.pilotage-forecast-score-strip em { color: #8d837b; font-size: 12px; font-style: normal; }
.pilotage-forecast-performance-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 18px; padding: 20px 22px; }
.pilotage-forecast-performance-grid > article { min-width: 0; }
.pilotage-forecast-performance-grid h3 { margin: 4px 0; font-size: 16px; }
.pilotage-forecast-performance-grid p { margin: 0 0 16px; color: var(--decision-muted); font-size: 12px; }
.pilotage-signed-error-bars { display: grid; gap: 7px; }
.pilotage-signed-error-bars i { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; font-style: normal; }
.pilotage-signed-error-bars i::before { width: var(--error); max-width: 100%; height: 7px; grid-column: 2; grid-row: 1; border-radius: 99px; background: #a69c95; content: ''; }
.pilotage-signed-error-bars i.over::before { background: #d98349; }
.pilotage-signed-error-bars i.under::before { background: #6f8fa7; }
.pilotage-signed-error-bars span { grid-column: 1; grid-row: 1; color: var(--decision-muted); font-size: 11px; }
.pilotage-signed-error-bars b { grid-column: 3; grid-row: 1; font-size: 11px; font-variant-numeric: tabular-nums; }
.pilotage-forecast-performance > details { border-top: 1px solid var(--decision-line); }
.pilotage-forecast-performance > details > summary { padding: 14px 22px; font-size: 13px; font-weight: 760; }
.pilotage-forecast-worst-days { display: grid; gap: 1px; border-top: 1px solid var(--decision-line); background: var(--decision-line); }
.pilotage-forecast-worst-days > span { display: grid; grid-template-columns: 160px minmax(0,1fr) auto; gap: 12px; background: #fff; padding: 12px 22px; }
.pilotage-forecast-worst-days b,
.pilotage-forecast-worst-days strong { font-size: 13px; font-variant-numeric: tabular-nums; }
.pilotage-forecast-worst-days small { color: var(--decision-muted); font-size: 12px; }

@media (max-width: 1080px) {
  .pilotage-decision-hero { grid-template-columns: 1fr; }
  .pilotage-decision-secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pilotage-overview-visual-grid,
  .pilotage-forecast-performance-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .pilotage-analytics-view .pilotage-page-head,
  .pilotage-forecast-view .pilotage-page-head { display: grid; }
  .pilotage-analytics-view .pilotage-page-head h1,
  .pilotage-forecast-view .pilotage-page-head h1 { font-size: 31px; }
  .pilotage-store-chip { justify-self: start; }
  .pilotage-analytics-controls { padding: 8px; }
  .pilotage-decision-hero { gap: 10px; }
  .pilotage-revenue-hero { border-radius: 20px; padding: 21px 18px; }
  .pilotage-revenue-hero-heading > span { max-width: 120px; text-align: center; }
  .pilotage-revenue-hero > strong { margin-top: 18px; font-size: clamp(40px, 13vw, 54px); }
  .pilotage-revenue-references { grid-template-columns: 1fr; margin-top: 23px; }
  .pilotage-revenue-references article { grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 4px 10px; padding: 12px 13px; }
  .pilotage-revenue-references article > span:first-child { min-height: 0; }
  .pilotage-revenue-references article > b { font-size: 16px; }
  .pilotage-revenue-references article > [class^="pilotage-comparison-"],
  .pilotage-revenue-references article > i,
  .pilotage-revenue-references article > small { grid-column: 1 / -1; }
  .pilotage-decision-secondary { grid-template-columns: 1fr; }
  .pilotage-decision-mini-kpi { border-radius: 16px; padding: 15px 16px; }
  .pilotage-decision-mini-kpi > strong { font-size: 30px; }
  .pilotage-decision-summary .pilotage-insights { grid-template-columns: 1fr; }
  .pilotage-decision-summary .pilotage-insights > * { border-right: 0; border-bottom: 1px solid var(--decision-line); }
  .pilotage-decision-summary .pilotage-insights > *:last-child { border-bottom: 0; }
  .pilotage-forecast-score-strip { grid-template-columns: 1fr; }
  .pilotage-forecast-score-strip > span { grid-template-columns: minmax(0,1fr) auto; align-items: baseline; border-right: 0; border-bottom: 1px solid var(--decision-line); padding: 13px 16px; }
  .pilotage-forecast-score-strip > span:last-child { border-bottom: 0; }
  .pilotage-forecast-score-strip em { grid-column: 1 / -1; }
  .pilotage-forecast-performance-grid { padding: 15px 16px; }
  .pilotage-forecast-worst-days > span { grid-template-columns: 1fr auto; padding: 12px 16px; }
  .pilotage-forecast-worst-days small { grid-column: 1 / -1; }
}

/* Prévisions — hiérarchie de lecture : décider, préparer, mesurer, administrer. */
.forecast-workspace-section { margin-bottom: 38px; }
.forecast-workspace-heading { display: flex; align-items: flex-start; gap: 13px; margin: 0 2px 14px; }
.forecast-workspace-heading > span { display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; border: 1px solid #ead8cb; border-radius: 11px; background: #fff7f1; color: #a84509; font-size: 10px; font-weight: 850; }
.forecast-workspace-heading > div { display: grid; gap: 2px; }
.forecast-workspace-heading p,
.forecast-workspace-heading h2 { margin: 0; }
.forecast-workspace-heading h2 { font-size: clamp(19px, 2vw, 25px); font-weight: 680; letter-spacing: -.55px; }
.forecast-workspace-heading small { max-width: 760px; color: var(--bi-muted); font-size: 10px; line-height: 1.5; }

.forecast-engine-top { margin-bottom: 30px; border-radius: 14px; box-shadow: 0 7px 22px rgba(46, 35, 27, .04); }
.forecast-engine-top > summary { min-height: 54px; padding: 11px 16px; }
.forecast-engine-top > summary > span { flex-wrap: wrap; }
.forecast-engine-top > summary small { font-size: 9.5px; }
.forecast-engine-top[open] { box-shadow: var(--bi-shadow); }

.forecast-workspace-section .forecast-day-section,
.forecast-workspace-section .forecast-products-section,
.forecast-workspace-section .forecast-quality-section,
.forecast-workspace-section .forecast-problems-section,
.forecast-workspace-section .forecast-factors-section,
.forecast-workspace-section .forecast-known-orders-section,
.forecast-workspace-section .forecast-promotions-section { margin-bottom: 0; }

.forecast-context-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: start; gap: 14px; margin-top: 14px; }
.forecast-explanation-section { min-width: 0; min-height: 100%; padding: 20px; border-color: var(--bi-border); background: var(--bi-card); box-shadow: 0 8px 24px rgba(46, 35, 27, .035); }
.forecast-explanation-section .pilotage-section-title { margin-bottom: 13px; }
.forecast-explanation-section .forecast-explanation-card { padding: 14px; }
.forecast-explanation-section .forecast-explanation-card p { font-size: 11px; }

.forecast-secondary-disclosure { overflow: hidden; border: 1px solid var(--bi-border); border-radius: var(--bi-radius); background: var(--bi-card); box-shadow: 0 8px 24px rgba(46, 35, 27, .035); }
.forecast-secondary-disclosure > summary,
.forecast-history-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.forecast-secondary-disclosure > summary { min-height: 88px; padding: 16px 18px; }
.forecast-secondary-disclosure > summary::-webkit-details-marker,
.forecast-history-disclosure > summary::-webkit-details-marker { display: none; }
.forecast-secondary-disclosure > summary > span,
.forecast-history-disclosure > summary > span { display: grid; min-width: 0; gap: 3px; }
.forecast-secondary-disclosure > summary p { margin: 0; }
.forecast-secondary-disclosure > summary b { color: var(--bi-ink); font-size: 14px; }
.forecast-secondary-disclosure > summary small,
.forecast-history-disclosure > summary small { color: var(--bi-muted); font-size: 9px; line-height: 1.45; }
.forecast-secondary-disclosure > summary em,
.forecast-history-disclosure > summary em { flex: none; color: var(--bi-accent); font-size: 9px; font-style: normal; font-weight: 800; }
.forecast-secondary-disclosure[open] > summary,
.forecast-history-disclosure[open] > summary { background: #fdfbf9; }
.forecast-factors-content,
.forecast-problems-content,
.forecast-benchmark-content { border-top: 1px solid var(--bi-border); padding: 18px; }
.forecast-factor-summary { grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); margin-top: 0; }

.forecast-operational-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; margin-bottom: 14px; }
.forecast-operational-tools > details { min-width: 0; box-shadow: 0 7px 22px rgba(46, 35, 27, .035); }
.forecast-operational-tools > details[open] { grid-column: 1 / -1; }
.forecast-operational-tools > details > summary { min-height: 58px; }

.forecast-products-section { box-shadow: 0 12px 32px rgba(46, 35, 27, .05); }
.forecast-products-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.forecast-products-heading > div:first-child { display: grid; max-width: 760px; gap: 2px; }
.forecast-products-heading h2,
.forecast-products-heading p { margin-top: 0; }
.forecast-product-filters { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(155px, .55fr) minmax(175px, .62fr) auto; align-items: end; width: 100%; gap: 9px; border-top: 1px solid var(--bi-border); padding-top: 14px; }
.forecast-product-search input,
.forecast-family-filter select { width: 100%; min-width: 0; }
.forecast-manage-products { min-width: 132px; white-space: nowrap; }
.forecast-problems-section { margin-top: 12px; }
.forecast-problems-content #forecastProblems { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 8px; }
.forecast-problems-content #forecastProblems > article { border: 1px solid var(--bi-border); border-radius: 12px; background: var(--bi-surface-soft); }

.forecast-quality-section { padding: clamp(17px, 2vw, 23px); box-shadow: 0 12px 32px rgba(46, 35, 27, .05); }
.forecast-quality-section #forecastMetrics { margin-top: 14px; }
.forecast-history-disclosure { margin-top: 16px; overflow: hidden; border: 1px solid var(--bi-border); border-radius: 13px; background: var(--bi-surface-soft); }
.forecast-history-disclosure > summary { min-height: 58px; padding: 12px 14px; }
.forecast-history-disclosure > summary b { font-size: 11px; }
.forecast-history-content { border-top: 1px solid var(--bi-border); background: var(--bi-card); padding: 1px 14px 14px; }
.forecast-history-grid { margin-bottom: 0; }
.forecast-benchmark-section { margin-top: 12px; padding: 0; }

.forecast-admin-workspace { margin-bottom: 8px; }
.forecast-admin-panel { overflow: hidden; border: 1px solid var(--bi-border); border-radius: var(--bi-radius); background: var(--bi-card); box-shadow: 0 8px 24px rgba(46, 35, 27, .035); }
.forecast-admin-panel .forecast-governance-section { border: 0; border-bottom: 1px solid var(--bi-border); border-radius: 0; background: transparent; }
.forecast-admin-panel .forecast-governance-section:last-child { border-bottom: 0; }
.forecast-admin-panel .forecast-governance-section > summary { min-height: 62px; padding: 14px 18px; }
.forecast-admin-panel .forecast-governance-section[open] > summary { background: #fdfbf9; }
.forecast-admin-panel .forecast-governance-section > summary b { font-size: 12px; }
.forecast-admin-panel .forecast-governance-section > summary small { font-size: 9px; }
.forecast-admin-panel .forecast-governance-section > summary em { color: var(--bi-accent); font-size: 9px; font-style: normal; font-weight: 800; }
.forecast-admin-panel .forecast-governance-content { border-top: 1px solid var(--bi-border); padding-top: 18px; }

@media (max-width: 1080px) {
  .forecast-context-grid { grid-template-columns: 1fr; }
  .forecast-product-filters { grid-template-columns: minmax(210px, 1fr) repeat(2, minmax(150px, .7fr)); }
  .forecast-manage-products { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 760px) {
  .forecast-workspace-section { margin-bottom: 30px; }
  .forecast-workspace-heading { gap: 10px; margin-bottom: 11px; }
  .forecast-workspace-heading > span { width: 30px; height: 30px; }
  .forecast-workspace-heading h2 { font-size: 20px; }
  .forecast-engine-top { margin-bottom: 24px; }
  .forecast-context-grid { gap: 10px; margin-top: 10px; }
  .forecast-operational-tools { grid-template-columns: 1fr; gap: 9px; }
  .forecast-operational-tools > details[open] { grid-column: 1; }
  .forecast-product-filters { grid-template-columns: 1fr; }
  .forecast-manage-products { grid-column: 1; }
  .forecast-secondary-disclosure > summary { min-height: 76px; padding: 14px; }
  .forecast-factors-content,
  .forecast-problems-content,
  .forecast-benchmark-content { padding: 13px; }
  .forecast-explanation-section { padding: 14px; }
  .forecast-admin-panel .forecast-governance-section > summary { align-items: flex-start; padding: 14px; }
}

/* Analyse — lecture visuelle des tendances, comparaisons et moments de vente. */
.pilotage-analytics-controls { position: static; margin-bottom: 12px; }
.pilotage-analysis-nav { margin-bottom: 14px; }
.pilotage-analysis-body { gap: 14px; }
.pilotage-performance-kpi { scroll-margin-top: 120px; }
.pilotage-performance-kpi .bi-sparkline { right: 15px; bottom: 35px; width: 112px; height: 38px; opacity: .9; }

.pilotage-overview-visual-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); align-items: stretch; gap: 14px; }
.pilotage-overview-visual-grid > article { min-width: 0; margin: 0; }
.pilotage-overview-visual-grid #pilotagePrimaryTrend { display: grid; align-content: start; }
.pilotage-daypart-panel { display: grid; align-content: start; }
.pilotage-daypart-chart { display: grid; gap: 14px; margin-top: 7px; }
.pilotage-daypart-stack { display: flex; height: 22px; overflow: hidden; border-radius: 999px; background: #eee9e5; box-shadow: inset 0 0 0 1px rgba(65, 48, 37, .05); }
.pilotage-daypart-stack > i { position: relative; flex: 0 0 var(--daypart-share); min-width: 3px; background: var(--daypart-color); }
.pilotage-daypart-stack > i + i { box-shadow: -2px 0 0 #fff; }
.pilotage-daypart-stack > i span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pilotage-daypart-legend { display: grid; gap: 7px; }
.pilotage-daypart-legend article { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 8px; border-bottom: 1px solid #f0ece8; padding-bottom: 7px; }
.pilotage-daypart-legend article > i { width: 8px; height: 8px; border-radius: 3px; }
.pilotage-daypart-legend article > span { display: grid; gap: 1px; }
.pilotage-daypart-legend article b { font-size: 10px; }
.pilotage-daypart-legend article small { color: var(--bi-muted); font-size: 8px; }
.pilotage-daypart-legend article strong { font-size: 12px; }
.pilotage-daypart-legend article em { grid-column: 2 / -1; margin-top: -5px; color: var(--bi-muted); font-size: 8px; font-style: normal; }
.pilotage-daypart-chart footer { display: grid; gap: 2px; border-radius: 11px; background: var(--bi-accent-soft); padding: 10px 11px; color: #7d3a0e; }
.pilotage-daypart-chart footer span { font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.pilotage-daypart-chart footer b { font-size: 11px; }
.pilotage-daypart-chart > p { margin: -5px 0 0; color: var(--bi-muted); font-size: 8px; line-height: 1.45; }

.pilotage-comparison-visual-board > header { align-items: flex-start; padding-bottom: 16px; }
.pilotage-comparison-visual-board > header > div > p:not(.home-kicker) { max-width: 650px; margin: 5px 0 0; color: var(--bi-muted); font-size: 9px; line-height: 1.45; }
.pilotage-comparison-visual-board > .pilotage-comparison-visuals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--bi-border); }
.pilotage-comparison-visual-board .pilotage-comparison-visuals > article { display: grid; grid-template-columns: 1fr; min-width: 0; border-right: 1px solid var(--bi-border); border-bottom: 0; padding: 15px; }
.pilotage-comparison-visual-board .pilotage-comparison-visuals > article:last-child { border-right: 0; }
.pilotage-comparison-visuals > article > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.pilotage-comparison-visuals > article > header span { color: var(--bi-muted); font-size: 9px; font-weight: 750; }
.pilotage-comparison-visuals > article > header strong { font-size: 16px; }
.pilotage-comparison-visuals .pilotage-comparison-columns { grid-template-columns: repeat(var(--comparison-count, 4), minmax(0, 1fr)); min-height: 196px; gap: 4px; }
.pilotage-comparison-visuals .pilotage-comparison-column { grid-template-rows: 28px 102px auto auto; }
.pilotage-comparison-visuals .pilotage-comparison-column > strong { overflow: visible; font-size: 10px; letter-spacing: -.15px; white-space: nowrap; }
.pilotage-comparison-visuals .pilotage-comparison-column > div { min-width: 0; }
.pilotage-comparison-visuals .pilotage-comparison-column i { width: min(36px, 68%); }
.pilotage-comparison-visuals .pilotage-comparison-column > b { font-size: 7.5px; }
.pilotage-comparison-visuals .pilotage-comparison-column > small { font-size: 7px; }
.pilotage-comparison-comparable i { background: #d39a28; }
.pilotage-comparison-month i { background: #2d936c; }

@media (max-width: 1180px) {
  .pilotage-overview-visual-grid { grid-template-columns: 1fr; }
  .pilotage-comparison-visual-board > .pilotage-comparison-visuals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pilotage-comparison-visual-board .pilotage-comparison-visuals > article:nth-child(2) { border-right: 0; }
  .pilotage-comparison-visual-board .pilotage-comparison-visuals > article:nth-child(-n+2) { border-bottom: 1px solid var(--bi-border); }
}

@media (max-width: 760px) {
  .pilotage-performance-kpi { min-height: 0; }
  .pilotage-performance-kpi .bi-sparkline { right: 10px; bottom: 31px; width: 78px; }
  .pilotage-comparison-visual-board > header { gap: 6px; }
  .pilotage-comparison-visual-board > .pilotage-comparison-visuals { grid-template-columns: 1fr; }
  .pilotage-comparison-visual-board .pilotage-comparison-visuals > article,
  .pilotage-comparison-visual-board .pilotage-comparison-visuals > article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--bi-border); }
  .pilotage-comparison-visual-board .pilotage-comparison-visuals > article:last-child { border-bottom: 0; }
  .pilotage-daypart-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pilotage-daypart-legend article { align-content: start; grid-template-columns: 9px minmax(0, 1fr); }
  .pilotage-daypart-legend article strong,
  .pilotage-daypart-legend article em { grid-column: 2; }
}
.pilotage-year-reference-switch { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border: 1px solid #eadfd7; border-radius: 15px; background: #fffaf6; }
.pilotage-year-reference-switch > div:first-child { display: grid; gap: 3px; }
.pilotage-year-reference-switch small { color: #71645b; }
.pilotage-year-reference-switch > div:last-child { display: inline-flex; gap: 5px; padding: 4px; border-radius: 999px; background: #f1e8e1; }
.pilotage-year-reference-switch button { border: 0; border-radius: 999px; padding: 8px 11px; background: transparent; color: #65574e; font-weight: 750; }
.pilotage-year-reference-switch button[aria-pressed="true"] { background: #fff; color: #a44710; box-shadow: 0 2px 8px rgba(71,43,25,.12); }
.pilotage-equivalent-hours { margin: 8px 0 0; color: #8b4d24; font-size: 12px; font-weight: 700; }

@media (max-width: 620px) {
  .pilotage-year-reference-switch { align-items: stretch; flex-direction: column; }
  .pilotage-year-reference-switch > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Correctifs finaux après les variantes jour/semaine. */
.forecast-activity-profile i > span { font-size: 12px; }
.forecast-activity-profile i > em { opacity: 0; font-size: 12px; pointer-events: none; }
.forecast-activity-profile i:focus > em,
.forecast-activity-profile i:hover > em { opacity: 1; }
.forecast-product-simple-table .forecast-product-row.head,
.forecast-signed-history > i > span,
.forecast-signed-history > i > strong,
.pilotage-signed-error-bars span,
.pilotage-signed-error-bars b,
.forecast-day-models article > header em,
.forecast-week-products-table thead th { font-size: 12px; }

@media (max-width: 1180px) and (min-width: 761px) {
  .pilotage-analytics-controls { grid-template-columns: auto minmax(0, 1fr); gap: 7px 12px; }
  .pilotage-analytics-controls .pilotage-period-context { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
}

@media (max-width: 760px) {
  .pilotage-analytics-view .assistant-drawer-trigger,
  .pilotage-forecast-view .assistant-drawer-trigger { overflow: hidden; color: transparent; font-size: 0; }
  .pilotage-analytics-view .assistant-drawer-trigger > span,
  .pilotage-forecast-view .assistant-drawer-trigger > span { color: #e8620c; font-size: 18px; }
  .forecast-view-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-bottom: 12px; }
  .forecast-view-switch button { min-width: 0; padding: 9px 7px; text-align: center; }
  .forecast-view-switch button small { display: none; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title { display: grid; grid-template-columns: 1fr; gap: 9px; align-items: start; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title h2 { font-size: 19px; line-height: 1.2; }
  .forecast-date-nav { justify-content: space-between; }
  .forecast-date-nav input { width: min(190px, calc(100% - 88px)); }
}

/* Finition UI — premier écran décisionnel, navigation nette et densité maîtrisée. */
.pilotage-analytics-view .pilotage-page-head,
.pilotage-forecast-view .pilotage-page-head { min-height: 88px; padding: 8px 2px 6px; }
.pilotage-analytics-view .pilotage-page-head h1,
.pilotage-forecast-view .pilotage-page-head h1 { font-size: clamp(32px, 2.7vw, 43px); }
.pilotage-analytics-controls { margin: 6px 0 9px; padding: 7px 8px; }
.pilotage-analytics-view #pilotageAnalyticsContent { gap: 10px; }
.pilotage-analytics-coverage { min-height: 52px; margin-bottom: 0; padding: 7px 11px; }
.pilotage-analytics-coverage > .pilotage-coverage-score { display: flex; }
.pilotage-analytics-coverage .pilotage-coverage-score > span { width: 30px; height: 30px; }
.pilotage-analysis-nav { min-height: 50px; margin-bottom: 0; padding: 4px; }
.pilotage-analysis-nav button { min-height: 42px; padding: 6px 12px; }
.pilotage-analysis-body { gap: 13px; }
.pilotage-decision-secondary { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.pilotage-decision-mini-kpi { padding: 12px 14px; }
.pilotage-decision-mini-kpi > strong { margin: 2px 0 6px; font-size: clamp(26px, 2.2vw, 32px); }
.pilotage-decision-mini-kpi > div { gap: 3px; }
.pilotage-decision-mini-kpi > div > span { grid-template-columns: minmax(0, 1fr) auto auto; gap: 3px 7px; }
.pilotage-decision-mini-kpi > div [class^="pilotage-comparison-"] { grid-column: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pilotage-decision-mini-kpi > footer { display: none; }
.pilotage-revenue-hero { min-height: 390px; padding: clamp(23px, 2.7vw, 34px); }
.pilotage-revenue-hero > strong { margin-top: 16px; }
.pilotage-revenue-references { margin-top: 23px; }
.pilotage-year-reference-switch { padding: 11px 14px; }
.pilotage-year-reference-switch .home-kicker { font-size: 12px; }
.pilotage-comparison-visuals .pilotage-comparison-column > b,
.pilotage-comparison-visuals .pilotage-comparison-column > small,
.pilotage-comparison-visuals .pilotage-comparison-column > strong { font-size: 12px; }
.pilotage-comparison-visuals > article > header span { font-size: 12px; }
.pilotage-comparison-line svg text,
.pilotage-line-chart svg text { font-size: 12px; }

.forecast-view-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin: 8px 0 13px; border-radius: 14px; background: #ebe6e1; padding: 5px; }
.forecast-view-switch button { display: grid; min-width: 0; gap: 2px; border: 0; border-radius: 10px; background: transparent; padding: 9px 13px; color: var(--decision-muted); text-align: left; }
.forecast-view-switch button b { font-size: 13px; }
.forecast-view-switch button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forecast-view-switch button.active { background: #fff; color: var(--decision-ink); box-shadow: 0 4px 14px rgba(42,31,24,.08); }
.pilotage-forecast-view .forecast-decision-workspace { margin-bottom: 38px; }
.pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title { margin-bottom: 10px; }
.pilotage-forecast-view .forecast-date-strip { margin: 14px 0 0; }
.forecast-engine-secondary { margin: 0; border: 1px solid var(--decision-line); border-radius: 16px; background: #fff; box-shadow: none; }
.forecast-engine-secondary > summary { min-height: 55px; padding: 12px 16px; }
.forecast-activity-profile i > span { font-size: 12px; }
.forecast-activity-profile i > em { opacity: 0; font-size: 12px; pointer-events: none; }
.forecast-activity-profile i:focus > em,
.forecast-activity-profile i:hover > em { opacity: 1; }
.forecast-activity-profile i:nth-child(even) > span { visibility: hidden; }
.forecast-product-simple-table .forecast-product-row.head,
.forecast-signed-history > i > span,
.forecast-signed-history > i > strong,
.pilotage-signed-error-bars span,
.pilotage-signed-error-bars b { font-size: 12px; }

@media (max-width: 1080px) and (min-width: 761px) {
  .pilotage-decision-secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; }
  .pilotage-decision-mini-kpi > div > span { grid-template-columns: minmax(0, 1fr) auto; }
  .pilotage-decision-mini-kpi > div [class^="pilotage-comparison-"] { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .pilotage-analytics-view,
  .pilotage-forecast-view { padding-top: 4px; }
  .pilotage-analytics-view .pilotage-page-head,
  .pilotage-forecast-view .pilotage-page-head { display: block; min-height: 0; padding: 3px 2px 7px; }
  .pilotage-analytics-view .pilotage-page-head h1,
  .pilotage-forecast-view .pilotage-page-head h1 { margin: 2px 0 0; font-size: 28px; line-height: 1.05; }
  .pilotage-analytics-view .pilotage-page-head > div > p:last-child,
  .pilotage-forecast-view .pilotage-page-head > div > p:last-child,
  .pilotage-analytics-view .pilotage-store-chip,
  .pilotage-forecast-view .pilotage-store-chip { display: none; }
  .pilotage-analytics-controls { grid-template-columns: 1fr; gap: 7px; margin: 3px 0 7px; padding: 6px; }
  .pilotage-analytics-controls .pilotage-period-context b { display: none; }
  .pilotage-analytics-controls .pilotage-period-context { min-height: 0; }
  .pilotage-analytics-coverage { grid-template-columns: minmax(0, 1fr) auto; min-height: 48px; gap: 7px; padding: 6px 8px; }
  .pilotage-analytics-coverage .pilotage-coverage-detail { display: none; }
  .pilotage-analysis-nav { display: flex; min-height: 46px; overflow-x: auto; }
  .pilotage-analysis-nav button,
  .pilotage-analysis-nav button:last-child { flex: 0 0 auto; grid-column: auto; min-height: 38px; padding: 6px 12px; }
  .pilotage-analysis-nav button small { display: none; }
  .pilotage-revenue-hero { min-height: 0; }
  .pilotage-decision-mini-kpi > div > span { grid-template-columns: minmax(0, 1fr) auto; }
  .pilotage-decision-mini-kpi > div [class^="pilotage-comparison-"] { grid-column: 1 / -1; }
  .pilotage-year-reference-switch { padding: 11px 12px; }
  .forecast-view-switch { margin: 4px 0 9px; }
  .forecast-view-switch button { padding: 7px 9px; text-align: center; }
  .forecast-view-switch button small { display: none; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title { align-items: center; margin-bottom: 8px; padding: 8px 10px; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title h2 { font-size: 18px; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title .home-kicker { font-size: 10px; }
  .forecast-date-nav input { width: 116px; }
  .forecast-revenue-hero > strong { margin: 16px 0 20px; }
  .forecast-confidence-card { min-height: 0; }
  .forecast-date-strip { grid-auto-columns: minmax(135px, 1fr); }
  .forecast-activity-profile i:nth-child(3n + 2) > span,
  .forecast-activity-profile i:nth-child(3n) > span { visibility: hidden; }
}

/* Prévisions jour / semaine. */
.forecast-view-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 28px; border: 1px solid var(--decision-line); border-radius: 18px; background: #eee9e5; padding: 6px; }
.forecast-view-switch button { display: grid; gap: 3px; border: 0; border-radius: 13px; background: transparent; padding: 13px 16px; color: var(--decision-muted); text-align: left; }
.forecast-view-switch button b { font-size: 15px; }
.forecast-view-switch button small { color: inherit; }
.forecast-view-switch button.active { background: #fff; color: var(--decision-ink); box-shadow: 0 5px 16px rgba(51,38,29,.08); }
.forecast-view-switch button.active b { color: #9b4210; }
.forecast-day-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 13px; }
.forecast-day-kpis article { display: grid; align-content: start; gap: 5px; min-width: 0; border: 1px solid var(--decision-line); border-radius: 16px; background: #fff; padding: 16px; }
.forecast-day-kpis small,
.forecast-day-kpis span { color: var(--decision-muted); }
.forecast-day-kpis strong { overflow-wrap: anywhere; font-size: clamp(22px, 2.4vw, 31px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.forecast-day-models { margin-top: 13px; border: 1px solid var(--decision-line); border-radius: 20px; background: #fff; padding: 20px 22px; }
.forecast-day-models > header h3 { margin: 3px 0 0; font-size: 19px; }
.forecast-model-explanation { margin: 11px 0 14px; border-left: 3px solid #d16a28; border-radius: 0 10px 10px 0; background: #fff7f0; padding: 10px 12px; color: #66594f; font-size: 12px; line-height: 1.55; }
.forecast-day-models > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.forecast-day-models > div > article { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; border: 1px solid var(--decision-line); border-radius: 14px; padding: 14px; }
.forecast-day-models article > header,
.forecast-day-models article > footer { grid-column: 1 / -1; }
.forecast-day-models article > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.forecast-day-models article > header em { border-radius: 999px; background: #f2ece7; padding: 4px 7px; color: #6f5c4f; font-size: 10px; font-style: normal; }
.forecast-day-models article > span { display: grid; gap: 4px; border-radius: 10px; background: var(--decision-soft); padding: 10px; }
.forecast-day-models article > span strong { font-size: 21px; font-variant-numeric: tabular-nums; }
.forecast-day-models article > footer { color: #6c5d53; font-size: 12px; line-height: 1.45; }
.forecast-problems-section { border: 1px solid var(--decision-line); border-radius: 20px; background: #fff; padding: 18px; box-shadow: var(--decision-shadow); }
.forecast-problem-toolbar { display: grid; grid-template-columns: minmax(180px,1fr) minmax(180px,.65fr) auto; align-items: end; gap: 10px; margin-bottom: 12px; }
.forecast-problem-toolbar label,
.forecast-week-product-toolbar label { display: grid; gap: 5px; color: var(--decision-muted); font-size: 11px; font-weight: 760; }
.forecast-problem-toolbar input,
.forecast-problem-toolbar select,
.forecast-week-product-toolbar input,
.forecast-week-product-toolbar select { min-width: 0; min-height: 40px; border: 1px solid var(--decision-line); border-radius: 10px; background: #fff; padding: 8px 10px; color: var(--decision-ink); }
.forecast-problem-toolbar > small { align-self: center; color: var(--decision-muted); text-align: right; }
.forecast-problem-list { display: grid; gap: 7px; }
.forecast-problem-list article { display: grid; grid-template-columns: 28px minmax(180px,1fr) auto minmax(150px,.55fr); align-items: center; gap: 11px; border-top: 1px solid var(--decision-line); padding: 11px 3px; }
.forecast-problem-list article > em { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #f4ece6; color: #96502a; font-size: 11px; font-style: normal; font-weight: 800; }
.forecast-problem-list article > div { display: grid; gap: 2px; }
.forecast-problem-list article > div small,
.forecast-problem-list article > span { color: var(--decision-muted); }
.forecast-problem-list article > strong { font-variant-numeric: tabular-nums; }
.forecast-backtest-disclosure { margin-top: 14px !important; border-top: 1px solid var(--decision-line); padding-top: 12px; }
.forecast-backtest-disclosure > summary { cursor: pointer; font-size: 13px; font-weight: 800; }
.forecast-backtest-help { margin: 12px 0; border-radius: 11px; background: var(--decision-soft); padding: 11px 12px; color: var(--decision-muted); font-size: 12px; line-height: 1.5; }
.forecast-backtests { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px,1fr)); gap: 10px; }
.forecast-backtests > section { border: 1px solid var(--decision-line); border-radius: 13px; padding: 11px; }
.forecast-backtests > section > header { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--decision-line); padding-bottom: 8px; }
.forecast-backtests > section > header span { display: inline; border: 0; border-radius: 0; padding: 0; color: var(--decision-muted); }
.forecast-backtests article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 10px; padding: 10px 2px 4px; }
.forecast-backtests article + article { border-top: 1px dashed var(--decision-line); }
.forecast-backtests article > div { display: flex; align-items: center; gap: 6px; }
.forecast-backtests article em { border-radius: 999px; background: #eee7e2; padding: 2px 6px; color: #75675d; font-size: 9px; font-style: normal; text-transform: uppercase; }
.forecast-backtests article.active em { background: #e5f2e7; color: #2e6e38; }
.forecast-backtests article > small { grid-column: 1 / -1; color: var(--decision-muted); }
.forecast-week-workspace { border: 1px solid var(--decision-line); border-radius: 22px; background: #fff; padding: clamp(16px, 2.5vw, 28px); box-shadow: var(--decision-shadow); }
.forecast-week-heading { margin-bottom: 18px; }
.forecast-week-summary { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 9px; }
.forecast-week-summary article { display: grid; align-content: start; gap: 5px; min-width: 0; border: 1px solid var(--decision-line); border-radius: 15px; background: #fff; padding: 15px; }
.forecast-week-summary article small,
.forecast-week-summary article span { color: var(--decision-muted); }
.forecast-week-summary article strong { overflow-wrap: anywhere; font-size: clamp(20px, 2.2vw, 29px); font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.forecast-week-days { margin-top: 24px; }
.forecast-week-days > header h2,
.forecast-week-production-boundary h2 { margin: 3px 0 0; font-size: 21px; }
.forecast-week-days > div { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.forecast-week-days article { display: grid; gap: 6px; border: 1px solid var(--decision-line); border-radius: 14px; padding: 14px; }
.forecast-week-days article > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.forecast-week-days article > header em { border-radius: 999px; background: #e9f3ea; padding: 4px 7px; color: #33703b; font-size: 9px; font-style: normal; text-transform: uppercase; }
.forecast-week-days article.missing > header em { background: #fff2e7; color: #99521d; }
.forecast-week-days article.closed { opacity: .68; background: #f5f2ef; }
.forecast-week-days article > strong { font-size: 23px; font-variant-numeric: tabular-nums; }
.forecast-week-days article > span,
.forecast-week-days article > small,
.forecast-week-days article > footer { color: var(--decision-muted); }
.forecast-week-days article > footer { margin-top: 5px; border-top: 1px solid var(--decision-line); padding-top: 8px; font-size: 11px; line-height: 1.4; }
.forecast-week-production-boundary { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(300px,1fr); align-items: center; gap: 18px; margin: 25px 0 13px; border-radius: 15px; background: #fff5ed; padding: 16px 18px; }
.forecast-week-production-boundary > p { margin: 0; color: #70482d; font-size: 12px; line-height: 1.55; }
.forecast-week-product-toolbar { display: grid; grid-template-columns: minmax(180px,1fr) minmax(170px,.65fr) minmax(190px,.65fr) auto; align-items: end; gap: 9px; margin: 14px 0 10px; }
.forecast-week-product-toolbar > small { align-self: center; color: var(--decision-muted); text-align: right; }
.forecast-week-table-scroll { overflow-x: auto; border: 1px solid var(--decision-line); border-radius: 14px; }
.forecast-week-products-table { width: 100%; min-width: 1020px; border-collapse: collapse; background: #fff; }
.forecast-week-products-table th,
.forecast-week-products-table td { border-bottom: 1px solid var(--decision-line); padding: 10px 9px; font-size: 12px; text-align: right; vertical-align: middle; }
.forecast-week-products-table thead th { position: sticky; top: 0; background: #f3efec; color: var(--decision-muted); font-size: 10px; text-transform: uppercase; }
.forecast-week-products-table th:first-child { position: sticky; left: 0; z-index: 1; min-width: 220px; background: #fff; text-align: left; }
.forecast-week-products-table thead th:first-child { z-index: 2; background: #f3efec; }
.forecast-week-products-table tbody tr:hover { background: #fffaf6; }
.forecast-week-products-table tbody tr:hover th:first-child { background: #fffaf6; }
.forecast-week-products-table th > b,
.forecast-week-products-table th > small,
.forecast-week-products-table td > b,
.forecast-week-products-table td > small,
.forecast-week-products-table td > strong { display: block; }
.forecast-week-products-table th > small,
.forecast-week-products-table td > small { margin-top: 2px; color: var(--decision-muted); font-weight: 500; }
.forecast-week-products-table td > b,
.forecast-week-products-table td > strong { font-variant-numeric: tabular-nums; }

@media (max-width: 1080px) {
  .forecast-day-kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .forecast-week-summary { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .forecast-week-product-toolbar { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .forecast-view-switch,
  .forecast-day-kpis,
  .forecast-day-models > div,
  .forecast-week-summary,
  .forecast-week-days > div,
  .forecast-week-production-boundary,
  .forecast-problem-toolbar,
  .forecast-week-product-toolbar { grid-template-columns: 1fr; }
  .forecast-view-switch button { padding: 11px 12px; }
  .forecast-day-models,
  .forecast-week-workspace { border-radius: 17px; padding: 15px; }
  .forecast-day-models > div > article { grid-template-columns: 1fr; }
  .forecast-day-models article > header,
  .forecast-day-models article > footer { grid-column: auto; }
  .forecast-problem-toolbar > small,
  .forecast-week-product-toolbar > small { text-align: left; }
  .forecast-problem-list article { grid-template-columns: 28px minmax(0,1fr) auto; }
  .forecast-problem-list article > span { grid-column: 2 / -1; }
  .forecast-week-heading { display: grid; }
}

/* Prévisions — surface de décision prioritaire (placée en dernier pour neutraliser les anciens styles). */
.pilotage-analytics-view small,
.pilotage-forecast-view small { font-size: 12px !important; }
.pilotage-analytics-view :is(button, input, select, textarea),
.pilotage-forecast-view :is(button, input, select, textarea) { font-size: 13px; }
.pilotage-forecast-view { max-width: 1480px; margin: 0 auto; padding-bottom: 70px; }
.pilotage-forecast-view .forecast-engine-top { margin: 8px 0 20px; border: 1px solid var(--decision-line); border-radius: 13px; background: rgba(255,255,255,.72); box-shadow: none; }
.pilotage-forecast-view .forecast-workspace-section { margin-bottom: 48px; }
.pilotage-forecast-view .forecast-workspace-heading { margin-bottom: 14px; }
.pilotage-forecast-view .forecast-workspace-heading > span { background: var(--decision-ink); color: #fff; }
.pilotage-forecast-view .forecast-workspace-heading h2 { font-size: clamp(23px, 2.5vw, 31px); letter-spacing: -.035em; }
.pilotage-forecast-view .forecast-day-section { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title { margin-bottom: 11px; border: 1px solid var(--decision-line); border-radius: 16px; background: #fff; padding: 12px 15px; }
.pilotage-forecast-view .forecast-date-strip { margin-bottom: 13px; padding: 4px 0 7px; }
.pilotage-forecast-view .forecast-date-strip button { min-width: 150px; border-color: var(--decision-line); border-radius: 13px; background: #fff; padding: 10px 12px; }
.pilotage-forecast-view .forecast-date-strip button.active { border-color: #f0a979; background: var(--decision-orange-soft); box-shadow: none; }
.forecast-decision-hero { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(310px, .58fr); gap: 13px; }
.forecast-revenue-hero { position: relative; min-width: 0; overflow: hidden; border-radius: 24px; background: var(--decision-ink); padding: clamp(24px, 3vw, 38px); color: #fff; box-shadow: 0 22px 50px rgba(31,24,20,.17); }
.forecast-revenue-hero::after { position: absolute; top: -80px; right: -50px; width: 250px; height: 250px; border-radius: 50%; background: radial-gradient(circle, rgba(232,98,12,.42), rgba(232,98,12,0) 70%); content: ''; pointer-events: none; }
.forecast-revenue-label { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.forecast-revenue-label > span { color: #d4cbc5; font-size: 13px; font-weight: 780; }
.forecast-revenue-label > em { border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(255,255,255,.07); padding: 6px 9px; color: #d4cbc5; font-size: 12px; font-style: normal; }
.forecast-revenue-hero > strong { position: relative; z-index: 1; display: block; margin: 20px 0 25px; font-size: clamp(45px, 5.2vw, 70px); font-variant-numeric: tabular-nums; font-weight: 760; letter-spacing: -.06em; line-height: .95; }
.forecast-interval { position: relative; z-index: 1; display: grid; gap: 11px; }
.forecast-interval > span { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.forecast-interval small { color: #c8bfb9; }
.forecast-interval > span b { font-size: 17px; font-variant-numeric: tabular-nums; }
.forecast-interval > i { position: relative; display: block; height: 9px; border-radius: 99px; background: rgba(255,255,255,.13); }
.forecast-interval > i > b { position: absolute; inset-block: 0; border-radius: inherit; background: linear-gradient(90deg, #f1a36c, #f36f1c); }
.forecast-interval > i > em { position: absolute; top: -4px; width: 3px; height: 17px; border-radius: 3px; background: #fff; transform: translateX(-50%); }
.forecast-business-references { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin-top: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.12); }
.forecast-business-references article { display: grid; min-width: 0; gap: 5px; background: rgba(255,255,255,.05); padding: 14px; }
.forecast-business-references article > span:first-child { color: #c8bfb9; font-size: 12px; }
.forecast-business-references article > b { overflow: hidden; font-size: 19px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.forecast-business-references [class^="pilotage-comparison-"] { color: #fff; font-size: 12px; font-weight: 760; }
.forecast-business-references article > small { color: #c8bfb9; }
.forecast-revenue-hero > footer { position: relative; z-index: 1; margin-top: 14px; color: #aaa099; font-size: 12px; line-height: 1.45; }
.forecast-decision-side { display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 10px; }
.forecast-confidence-card { display: grid; align-content: start; border: 1px solid var(--decision-line); border-radius: 20px; background: #fff; padding: 21px; box-shadow: 0 10px 28px rgba(47,36,28,.055); }
.forecast-confidence-card > span { color: var(--decision-muted); font-size: 13px; font-weight: 760; }
.forecast-confidence-card > strong { margin: 7px 0 3px; font-size: clamp(35px, 4vw, 49px); font-variant-numeric: tabular-nums; letter-spacing: -.05em; }
.forecast-confidence-card > small { color: var(--decision-muted); line-height: 1.45; }
.forecast-confidence-card > div { display: grid; gap: 3px; margin-top: auto; border-top: 1px solid var(--decision-line); padding-top: 17px; }
.forecast-confidence-card > div b { font-size: 14px; }
.forecast-confidence-card > div span { color: var(--decision-muted); font-size: 12px; }
.forecast-secondary-metrics { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.forecast-secondary-metrics > span { display: grid; gap: 5px; min-width: 0; border: 1px solid var(--decision-line); border-radius: 16px; background: #fff; padding: 15px; }
.forecast-secondary-metrics small { color: var(--decision-muted); }
.forecast-secondary-metrics b { overflow: hidden; font-size: 23px; font-variant-numeric: tabular-nums; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.forecast-decision-reading { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(310px, .58fr); gap: 13px; margin-top: 13px; }
.forecast-decision-reading > article,
.forecast-decision-reading > aside { min-width: 0; border: 1px solid var(--decision-line); border-radius: 20px; background: #fff; padding: 20px 22px; box-shadow: 0 10px 28px rgba(47,36,28,.045); }
.forecast-decision-reading > article > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.forecast-decision-reading h3 { margin: 3px 0 14px; font-size: 18px; letter-spacing: -.02em; }
.forecast-decision-reading > article > header > span { color: var(--decision-muted); font-size: 12px; }
.forecast-activity-profile { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(31px, 1fr); align-items: end; gap: 5px; min-width: 0; height: 170px; overflow-x: auto; border-bottom: 1px solid var(--decision-line); padding: 12px 2px 0; scrollbar-width: thin; }
.forecast-activity-profile i { display: grid; grid-template-rows: minmax(0,1fr) 18px 18px; align-items: end; justify-items: center; height: 100%; font-style: normal; }
.forecast-activity-profile i > b { width: min(22px, 76%); height: var(--activity); min-height: 3px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #f27a2c, #e8620c); }
.forecast-activity-profile i > span,
.forecast-activity-profile i > em { color: var(--decision-muted); font-size: 10px; font-style: normal; white-space: nowrap; }
.forecast-peak-periods { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.forecast-peak-periods > span { display: grid; gap: 2px; border-radius: 11px; background: var(--decision-orange-soft); padding: 9px 11px; color: #81390e; }
.forecast-peak-periods b { font-size: 13px; }
.forecast-profile-method { margin: 12px 0 0; color: var(--decision-muted); font-size: 12px; line-height: 1.45; }
.forecast-activity-empty { border-radius: 12px; background: var(--decision-soft); padding: 18px; color: var(--decision-muted); font-size: 13px; line-height: 1.5; }
.forecast-decision-reading > aside > div { display: grid; gap: 8px; }
.forecast-decision-reading > aside > div > span { display: grid; gap: 3px; border-left: 3px solid #aaa19a; border-radius: 0 11px 11px 0; background: var(--decision-soft); padding: 10px 11px; }
.forecast-decision-reading > aside > div > span.risk { border-left-color: #df782f; background: #fff3e9; }
.forecast-decision-reading > aside b { font-size: 13px; }
.forecast-decision-reading > aside small { color: var(--decision-muted); line-height: 1.45; }
.pilotage-forecast-view .forecast-issued { margin: 11px 3px 0; color: var(--decision-muted); font-size: 12px; }
.pilotage-forecast-view .forecast-context-grid { margin-top: 13px; }
.forecast-product-simple-table { overflow: hidden; border: 1px solid var(--decision-line); border-radius: 15px; }
.forecast-product-simple-table .forecast-product-row { grid-template-columns: minmax(220px,1.25fr) minmax(155px,.78fr) minmax(115px,.55fr) minmax(175px,.85fr) minmax(125px,.62fr); min-width: 0; gap: 14px; padding: 13px 15px; font-size: 13px; }
.forecast-product-simple-table .forecast-product-row.head { min-height: 42px; color: var(--decision-muted); font-size: 11px; letter-spacing: .04em; }
.forecast-product-simple-table .forecast-product-name b { font-size: 14px; }
.forecast-product-simple-table .forecast-product-year { display: grid; gap: 3px; }
.forecast-product-simple-table .forecast-product-year b { font-size: 15px; font-variant-numeric: tabular-nums; }
.forecast-product-simple-table .forecast-product-model-detail { grid-column: 1 / -1; }
.forecast-products-more { display: block; width: min(100%, 340px); margin: 14px auto 0; border: 1px solid #e2b18e; border-radius: 11px; background: #fff8f2; padding: 11px 16px; color: #8c3d0c; font-size: 13px; font-weight: 800; }
.forecast-signed-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 4px 14px 12px; color: var(--decision-muted); font-size: 12px; }
.forecast-signed-legend span { display: inline-flex; align-items: center; gap: 6px; }
.forecast-signed-legend i { width: 10px; height: 10px; border-radius: 3px; background: #6f8fa7; }
.forecast-signed-legend span:last-child i { background: #d98349; }
.forecast-signed-history { display: grid; gap: 7px; max-height: 315px; overflow-y: auto; padding: 0 14px 14px; }
.forecast-signed-history > i { display: grid; grid-template-columns: 47px minmax(0,1fr) 65px; align-items: center; gap: 8px; min-width: 0; font-style: normal; }
.forecast-signed-history > i > span { color: var(--decision-muted); font-size: 11px; }
.forecast-signed-history > i > b { position: relative; display: block; height: 8px; border-radius: 99px; background: linear-gradient(90deg, #f0eeec 49.5%, #cfc8c3 49.5%, #cfc8c3 50.5%, #f0eeec 50.5%); }
.forecast-signed-history > i > b::after { position: absolute; top: 0; bottom: 0; width: var(--signed-width); border-radius: 99px; background: #a49b94; content: ''; }
.forecast-signed-history > i.over > b::after { left: 50%; background: #d98349; }
.forecast-signed-history > i.under > b::after { right: 50%; background: #6f8fa7; }
.forecast-signed-history > i > strong { font-size: 11px; font-variant-numeric: tabular-nums; text-align: right; }
.pilotage-forecast-view .forecast-quality-cards { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.pilotage-forecast-view .forecast-quality-cards > article { border-color: var(--decision-line); border-radius: 16px; padding: 16px; box-shadow: none; }
.pilotage-forecast-view .forecast-quality-cards > article > span { font-size: 12px; }
.pilotage-forecast-view .forecast-quality-cards > article > strong { font-size: 30px; font-variant-numeric: tabular-nums; letter-spacing: -.035em; }
.pilotage-forecast-view .forecast-explanation-section,
.pilotage-forecast-view .forecast-secondary-disclosure,
.pilotage-forecast-view .forecast-products-section,
.pilotage-forecast-view .forecast-quality-section { border-color: var(--decision-line); border-radius: 20px; box-shadow: var(--decision-shadow); }

@media (max-width: 1080px) {
  .forecast-decision-hero,
  .forecast-decision-reading { grid-template-columns: 1fr; }
  .forecast-decision-side { grid-template-columns: minmax(0,1fr) minmax(300px,.7fr); grid-template-rows: auto; }
}

@media (max-width: 760px) {
  .pilotage-forecast-view .forecast-workspace-section { margin-bottom: 34px; }
  .pilotage-forecast-view .forecast-workspace-heading > span { width: 30px; height: 30px; }
  .pilotage-forecast-view .forecast-workspace-heading h2 { font-size: 23px; }
  .forecast-revenue-hero { border-radius: 20px; padding: 21px 18px; }
  .forecast-revenue-label { align-items: flex-start; }
  .forecast-revenue-label > em { max-width: 120px; text-align: center; }
  .forecast-revenue-hero > strong { font-size: clamp(42px, 14vw, 56px); }
  .forecast-interval > span { display: grid; }
  .forecast-business-references { grid-template-columns: 1fr; }
  .forecast-business-references article { grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 4px 10px; }
  .forecast-business-references article > [class^="pilotage-comparison-"],
  .forecast-business-references article > small { grid-column: 1 / -1; }
  .forecast-decision-side { grid-template-columns: 1fr; }
  .forecast-confidence-card { min-height: 250px; }
  .forecast-decision-reading > article,
  .forecast-decision-reading > aside { border-radius: 17px; padding: 16px; }
  .forecast-decision-reading > article > header { display: grid; gap: 0; }
  .forecast-activity-profile { margin-right: -16px; margin-left: -2px; padding-right: 16px; }
  .forecast-product-simple-table { display: grid; gap: 10px; overflow: visible; border: 0; }
  .forecast-product-simple-table .forecast-product-row { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; border: 1px solid var(--decision-line); border-radius: 16px; background: #fff; padding: 15px; }
  .forecast-product-simple-table .forecast-product-row.head { display: none; }
  .forecast-product-simple-table .forecast-product-name { grid-column: 1 / -1; }
  .forecast-product-simple-table .forecast-product-model-detail { grid-column: 1 / -1; }
  .forecast-product-simple-table .forecast-reliability { justify-self: stretch; align-self: start; text-align: center; }
  .forecast-product-simple-table .forecast-product-row > [data-label]::before { font-size: 11px; letter-spacing: .04em; }
  .pilotage-forecast-view .forecast-quality-cards { grid-template-columns: 1fr; }
}
.pilotage-year-reference-switch { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border: 1px solid #eadfd7; border-radius: 15px; background: #fffaf6; }
.pilotage-year-reference-switch > div:first-child { display: grid; gap: 3px; }
.pilotage-year-reference-switch small { color: #71645b; }
.pilotage-year-reference-switch > div:last-child { display: inline-flex; gap: 5px; padding: 4px; border-radius: 999px; background: #f1e8e1; }
.pilotage-year-reference-switch button { border: 0; border-radius: 999px; padding: 8px 11px; background: transparent; color: #65574e; font-weight: 750; }
.pilotage-year-reference-switch button[aria-pressed="true"] { background: #fff; color: #a44710; box-shadow: 0 2px 8px rgba(71,43,25,.12); }
.pilotage-equivalent-hours { margin: 8px 0 0; color: #8b4d24; font-size: 12px; font-weight: 700; }

@media (max-width: 620px) {
  .pilotage-year-reference-switch { align-items: stretch; flex-direction: column; }
  .pilotage-year-reference-switch > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Couche de priorité finale : elle suit toutes les variantes historiques. */
.forecast-activity-profile i > span { font-size: 12px; }
.forecast-activity-profile i > em { opacity: 0; font-size: 12px; pointer-events: none; }
.forecast-activity-profile i:focus > em,
.forecast-activity-profile i:hover > em { opacity: 1; }
.forecast-product-simple-table .forecast-product-row.head,
.forecast-signed-history > i > span,
.forecast-signed-history > i > strong,
.pilotage-signed-error-bars span,
.pilotage-signed-error-bars b,
.forecast-day-models article > header em,
.forecast-week-products-table thead th { font-size: 12px; }

@media (max-width: 760px) {
  .forecast-view-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-bottom: 12px; }
  .forecast-view-switch button { min-width: 0; padding: 9px 7px; text-align: center; }
  .forecast-view-switch button small { display: none; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title { display: grid; grid-template-columns: 1fr; gap: 9px; align-items: start; }
  .pilotage-forecast-view .forecast-tomorrow-priority > .pilotage-section-title h2 { font-size: 19px; line-height: 1.2; }
  .forecast-date-nav { justify-content: space-between; }
  .forecast-date-nav input { width: min(190px, calc(100% - 88px)); }
  .pilotage-analytics-view .assistant-drawer-trigger,
  .pilotage-forecast-view .assistant-drawer-trigger { overflow: hidden; color: transparent; font-size: 0; }
  .pilotage-analytics-view .assistant-drawer-trigger > span,
  .pilotage-forecast-view .assistant-drawer-trigger > span { color: #e8620c; font-size: 18px; }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .pilotage-analytics-controls { grid-template-columns: auto minmax(0, 1fr); gap: 7px 12px; }
  .pilotage-period-context { grid-column: 1 / -1; display: flex; justify-content: flex-end; min-width: 0; }
}

@media (max-width: 780px) {
  .pilotage-analytics-view .assistant-drawer-trigger,
  .pilotage-forecast-view .assistant-drawer-trigger { overflow: hidden; color: transparent; font-size: 0; }
  .pilotage-analytics-view .assistant-drawer-trigger > span,
  .pilotage-forecast-view .assistant-drawer-trigger > span { color: #e8620c; font-size: 18px; }
}

/* Seuil de lisibilité : aucun texte fonctionnel du Pilotage sous 12 px. */
.pilotage-analytics-date span,
.pilotage-store-chip,
.pilotage-period-context b,
.pilotage-coverage-detail span,
.pilotage-coverage-score > span,
.pilotage-action-card p,
.pilotage-daypart-legend :is(b, em),
.pilotage-daypart-chart :is(span, b, p),
.pilotage-waterfall-summary :is(span, b),
.pilotage-comparison-visual-board :is(p, span),
.pilotage-analysis-details summary,
.pilotage-analytics-kpi > span,
.pilotage-analytics-view svg text,
.pilotage-forecast-view .home-kicker,
.forecast-order-day-summary :is(span, b),
.forecast-date-strip b,
.forecast-explanation-card p,
.forecast-factors-section :is(em, b, p, summary),
.forecast-workspace-heading > span,
.forecast-known-orders-section > header em,
.forecast-known-orders-section summary em,
.forecast-promotions-section > header em,
.forecast-promotions-section summary em,
.forecast-empty p,
.forecast-product-filters label > span,
.forecast-preparation-legend :is(b, span),
.forecast-product-count,
.forecast-preparation-objective span,
.forecast-product-model-detail :is(summary, h4, b, em, p),
.forecast-product-signals em,
.forecast-stockout-inline-note b,
.forecast-problem-toolbar span,
.forecast-quality-cards em,
.forecast-history-disclosure :is(b, em, span),
.forecast-benchmark-section > header em,
.forecast-benchmark-section summary em,
.forecast-engine-secondary summary em,
.forecast-governance-section > header em,
.forecast-governance-section summary em,
.pilotage-forecast-view svg text { font-size: 12px !important; }

/* Neutralise l’ancienne grille de cartes de #forecastProblems. */
.forecast-problems-content #forecastProblems { display: block; }
#forecastProblems .forecast-problem-list { display: grid; grid-template-columns: 1fr; gap: 7px; }
#forecastProblems .forecast-problem-list article { display: grid; grid-template-columns: 28px minmax(180px,1fr) auto minmax(150px,.55fr); align-items: center; gap: 11px; border: 0; border-top: 1px solid var(--decision-line); border-radius: 0; background: transparent; padding: 11px 3px; }
#forecastProblems .forecast-problem-list article > span { grid-column: auto; }

@media (max-width: 760px) {
  #forecastProblems .forecast-problem-list article { grid-template-columns: 28px minmax(0,1fr) auto; }
  #forecastProblems .forecast-problem-list article > span { grid-column: 2 / -1; }
}
