:is(#dashboard-view, #dashboard-content) [data-totals] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
:is(#dashboard-view, #dashboard-content) .dashboard-refresh-info { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
:is(#dashboard-view, #dashboard-content) .dashboard-refresh-info > * { min-width: 0; overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) [data-pending-filters] { font-weight: 600; }
:is(#dashboard-view, #dashboard-content) [data-totals] > div { min-width: 0; }
:is(#dashboard-view, #dashboard-content) dt { font-size: 14px; }
:is(#dashboard-view, #dashboard-content) dd {
  margin: 4px 0 0;
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
:is(#dashboard-view, #dashboard-content) th { white-space: nowrap; }
:is(#dashboard-view, #dashboard-content) td:not(:first-child) { white-space: nowrap; }
:is(#dashboard-view, #dashboard-content) .dashboard-number, #dashboard-drill .dashboard-number { text-align: right; font-variant-numeric: tabular-nums; }
:is(#dashboard-view, #dashboard-content) [data-applied-period] { font-size: 13px; }
:is(#dashboard-view, #dashboard-content) [data-provenance] { overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) [data-filters] > summary { cursor: pointer; min-height: 44px; }
:is(#dashboard-view, #dashboard-content) { min-width: 0; container-type: inline-size; }
:is(#dashboard-view, #dashboard-content) [data-period] { flex: 1 1 100%; min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-graph-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
:is(#dashboard-view, #dashboard-content) .dashboard-graph-panel { min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-graph-panel h2 { font-size: 15px; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-frame { position: relative; height: 300px; min-width: 0; margin: 12px 18px 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-frame canvas { max-width: 100%; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-frame canvas:focus-visible { outline: 2px solid #217a66; outline-offset: 3px; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-selection { min-height: 24px; padding: 0 18px; font-size: 13px; overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-values { min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-values h3 { font-size: 14px; margin: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-graph-panel select { width: auto; max-width: 100%; }
:is(#dashboard-view, #dashboard-content) .dashboard-values-disclosure > summary { padding: 12px 18px; cursor: pointer; min-height: 44px; font-size: 14px; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-values .list-zone-heading { border-top: 1px solid var(--border); }
:is(#dashboard-view, #dashboard-content) .dashboard-graph-note { margin: 0; padding: 0 18px; font-size: 13px; }
:is(#dashboard-view, #dashboard-content) .dashboard-values-list > div { padding: 12px 18px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) .dashboard-values-list p { font-size: 13px; }
@media (max-width: 1000px) {
  :is(#dashboard-view, #dashboard-content) .dashboard-graph-grid { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 800px) {
  :is(#dashboard-view, #dashboard-content) .dashboard-graph-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 650px) {
  :is(#dashboard-view, #dashboard-content) [data-totals] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* The list presentation consumes the same authorized cells and V2 preferences. */
.dashboard-column-list { min-width: 0; }
.dashboard-column-list .table-wrap { overflow: visible; max-height: none; }
.dashboard-column-list table { display: block; width: 100% !important; min-width: 0 !important; }
.dashboard-column-list colgroup { display: none; }
.dashboard-column-list thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.dashboard-column-list tbody { display: grid; gap: 8px; padding: 8px; }
.dashboard-column-list tbody tr { display: grid; border: 1px solid var(--border); border-radius: 6px; min-width: 0; }
.dashboard-column-list tbody td { display: grid; grid-template-columns: minmax(80px, 1fr) minmax(0, 1fr); gap: 8px; width: auto !important; min-width: 0 !important; max-width: none !important; position: static !important; white-space: normal !important; overflow-wrap: anywhere; text-align: left; }
.dashboard-column-list td[data-label]::before { content: attr(data-label); font-weight: 600; }
.dashboard-column-list .column-resize-handle { display: none; }
:is(#dashboard-view, #dashboard-content, #dashboard-drill, #analytics-view, #analytics-evidence) .list-column-title-group { min-width: 0; flex-wrap: wrap; }
:is(#dashboard-view, #dashboard-content, #dashboard-drill, #analytics-view, #analytics-evidence) .list-zone-heading h3 { font-size: 14px; overflow-wrap: anywhere; }

/* D059: keep update feedback and secondary rankings inside the existing workspace. */
:is(#dashboard-view, #dashboard-content) .dashboard-data-note { margin: 8px 18px; color: var(--muted, #526174); font-size: 14px; overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) .dashboard-ranking { min-width: 0; border-top: 1px solid var(--border); }
:is(#dashboard-view, #dashboard-content) .dashboard-ranking > summary { cursor: pointer; padding: 12px 18px; min-height: 44px; font-size: 16px; }
:is(#dashboard-view, #dashboard-content)[aria-busy=true] [data-status] { min-height: 24px; }
:is(#dashboard-view, #dashboard-content) [data-detail-grain] { max-width: 100%; min-width: 0; }
@media (max-width: 650px) {
 :is(#dashboard-view, #dashboard-content) [data-detail-zone] .list-table-options { flex-wrap: wrap; max-width: 100%; }
 :is(#dashboard-view, #dashboard-content) [data-detail-zone] .list-table-options > label { min-width: 0; max-width: 100%; }
}
:is(#dashboard-view, #dashboard-content) { overflow-anchor: none; }
/* D062: dates, geography, secondary options and one apply action. */
:is(#dashboard-view, #dashboard-content) .list-filters { display: grid; gap: 16px; }
:is(#dashboard-view, #dashboard-content) .consultation-period-row { min-width: 0; }
:is(#dashboard-view, #dashboard-content) .consultation-geography-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
:is(#dashboard-view, #dashboard-content) .consultation-geography-row > label { min-width: 0; width: 100%; }
:is(#dashboard-view, #dashboard-content) .consultation-options { min-width: 0; border-top: 1px solid var(--border); }
:is(#dashboard-view, #dashboard-content) .consultation-options > summary { min-height: 44px; display: list-item; list-style-position: inside; padding-block: 12px; cursor: pointer; font-size: 16px; }
:is(#dashboard-view, #dashboard-content) .consultation-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
@media (max-width: 650px) {
 :is(#dashboard-view, #dashboard-content) .consultation-geography-row { grid-template-columns: minmax(0, 1fr); }
 :is(#dashboard-view, #dashboard-content) .consultation-actions > button { width: 100%; }
}

:is(#dashboard-view, #dashboard-content) [data-geography-status]:empty { display: none; }

/* Long periods: elapsed time and cancellation next to the reading status. */
:is(#dashboard-view, #dashboard-content) .dashboard-reading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 8px 0; padding: 8px 12px; border-left: 3px solid var(--accent, #217a66); min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-reading[hidden] { display: none; }
:is(#dashboard-view, #dashboard-content) .dashboard-reading > p { margin: 0; min-width: 0; overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) [data-reading-elapsed] { font-variant-numeric: tabular-nums; font-weight: 600; }
:is(#dashboard-view, #dashboard-content) .dashboard-reading-hint { flex: 1 1 100%; order: 3; color: var(--muted, #526174); font-size: 14px; }
:is(#dashboard-view, #dashboard-content) [data-cancel-read] { min-height: 44px; }
:is(#dashboard-view, #dashboard-content) [data-status]:focus { outline: none; }
:is(#dashboard-view, #dashboard-content) [data-status]:focus-visible { outline: 2px solid #217a66; outline-offset: 2px; }
@media (max-width: 650px) {
 :is(#dashboard-view, #dashboard-content) [data-cancel-read] { width: 100%; }
}

/* Statistiques générales : filtre Vendeurs, sections repliables et ventilations TVA / vendeur / livreur / caisse. */
:is(#dashboard-view, #dashboard-content) .consultation-geography-row { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
:is(#dashboard-view, #dashboard-content) .consultation-geography-row > .multi-filter { min-width: 0; }
:is(#dashboard-view, #dashboard-content) .list-results-zone > .list-zone-heading h2 { min-width: 0; margin: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-section-toggle {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px; max-width: 100%; margin: 0; padding: 4px 6px 4px 2px;
  border: 0; border-radius: 4px; background: none; box-shadow: none; color: inherit; font: inherit; font-weight: inherit;
  text-align: left; white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
:is(#dashboard-view, #dashboard-content) .dashboard-section-toggle:hover { background: none; text-decoration: underline; text-underline-offset: 3px; }
:is(#dashboard-view, #dashboard-content) .dashboard-section-toggle::before {
  content: ""; flex: none; width: 7px; height: 7px; margin: 0 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(-45deg); transition: transform .15s ease;
}
:is(#dashboard-view, #dashboard-content) .dashboard-section-toggle[aria-expanded="true"]::before { transform: rotate(45deg); }
:is(#dashboard-view, #dashboard-content) .dashboard-section-toggle:focus-visible { outline: 2px solid #217a66; outline-offset: 2px; }
:is(#dashboard-view, #dashboard-content) [data-collapsed="true"] > .list-zone-heading .list-table-options { display: none; }
:is(#dashboard-view, #dashboard-content) .dashboard-section-body { min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-section-body[hidden] { display: none; }
:is(#dashboard-view, #dashboard-content) [data-breakdown-status] { color: inherit; font-weight: 600; }
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-wrap { max-height: 560px; overflow: auto; }
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-wrap:focus-visible { outline: 2px solid #217a66; outline-offset: -2px; }
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table { width: 100%; border-collapse: collapse; }
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table :is(tbody, tfoot) th {
  position: static; background: none; text-align: left; font-weight: 600; white-space: normal; overflow-wrap: anywhere; min-width: 140px;
}
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table td { white-space: nowrap; }
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table tfoot :is(th, td) { border-top: 2px solid var(--border); font-weight: 600; }
:is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table .table-sort-button { min-height: 44px; }
/* Narrow content (phone, side panel): one readable card per group, without horizontal scrolling. */
@container (max-width: 620px) {
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-wrap { max-height: none; overflow: visible; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table,
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table :is(tbody, tfoot) { display: grid; gap: 8px; width: 100%; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table { padding: 8px; box-sizing: border-box; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table thead { display: block; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table thead tr { display: flex; flex-wrap: wrap; gap: 4px 8px; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table thead th { position: static; padding: 0; background: none; border: 0; font-size: 14px; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table thead th:not([data-sort-key]) { display: none; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table tr { display: grid; min-width: 0; border: 1px solid var(--border); border-radius: 6px; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table :is(tbody, tfoot) :is(th, td) {
    display: grid; grid-template-columns: minmax(96px, 1fr) minmax(0, 1.3fr); gap: 8px; min-width: 0; padding: 8px 12px;
    border: 0; white-space: normal; overflow-wrap: anywhere; text-align: left;
  }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table :is(tbody, tfoot) [data-label]::before { content: attr(data-label); font-weight: 600; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table tfoot :is(th, td) { border-top: 0; }
  :is(#dashboard-view, #dashboard-content) .dashboard-breakdown-table tfoot tr { border-width: 2px; }
}
:is(#dashboard-view, #dashboard-content) .consultation-geography-row > .multi-filter > summary { min-height: 44px; box-sizing: border-box; }
:is(#dashboard-view, #dashboard-content) :is([data-detail-grain], [data-detail-cumul], [data-payment-grain], [data-payment-cumul]) { width: auto; max-width: 100%; min-width: 0; }
:is(#dashboard-view, #dashboard-content) :is([data-detail-zone], [data-payment-journal-zone]) .list-table-options label[hidden] { display: none; }
:is(#dashboard-view, #dashboard-content) [data-payment-journal-zone] .list-table-options { flex-wrap: wrap; max-width: 100%; }
:is(#dashboard-view, #dashboard-content) [data-payment-journal-zone] .list-table-options > label { min-width: 0; max-width: 100%; }
:is(#dashboard-view, #dashboard-content) .list-pagination[hidden] { display: none; }
@container (max-width: 620px) {
 :is(#dashboard-view, #dashboard-content) :is([data-detail-zone], [data-payment-journal-zone]) .list-table-options { flex-wrap: wrap; max-width: 100%; }
 :is(#dashboard-view, #dashboard-content) :is([data-detail-zone], [data-payment-journal-zone]) .list-table-options > label { min-width: 0; max-width: 100%; flex-wrap: wrap; }
}

/* Graphique à droite des ventilations et des classements : tableau d'abord, graphique dessous en largeur réduite,
   à droite au-delà d'environ 1 100 px de contenu. Hauteur bornée ; les valeurs exactes restent dans le tableau. */
:is(#dashboard-view, #dashboard-content) .dashboard-split { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-split > * { min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-split-chart { margin: 0; padding: 12px 18px 16px; border-top: 1px solid var(--border); }
:is(#dashboard-view, #dashboard-content) .dashboard-split-chart[hidden] { display: none; }
:is(#dashboard-view, #dashboard-content) .dashboard-split-caption { margin: 0 0 8px; color: var(--muted, #526174); font-size: 13px; overflow-wrap: anywhere; }
:is(#dashboard-view, #dashboard-content) .dashboard-split-caption strong { color: #17283b; font-size: 14px; font-weight: 600; }
:is(#dashboard-view, #dashboard-content) .dashboard-split-frame { position: relative; min-width: 0; }
:is(#dashboard-view, #dashboard-content) .dashboard-split-frame.is-doughnut { height: 240px; }
:is(#dashboard-view, #dashboard-content) .dashboard-split-frame canvas { max-width: 100%; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-options[hidden],
:is(#dashboard-view, #dashboard-content) .dashboard-chart-bar:not(:has(> :not([hidden]))) { display: none; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-toggle { min-height: 44px; padding: 8px 14px; font-size: 14px; white-space: nowrap; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-toggle:focus-visible { outline: 2px solid #217a66; outline-offset: 2px; }
:is(#dashboard-view, #dashboard-content) .dashboard-chart-bar { display: flex; justify-content: flex-end; padding: 0 18px 8px; }
/* Ranking: the toggle sits on the summary line (outside the summary, which is itself a button). */
:is(#dashboard-view, #dashboard-content) .dashboard-ranking { position: relative; }
:is(#dashboard-view, #dashboard-content) .dashboard-ranking[open]:has(.dashboard-chart-options:not([hidden])) > summary { padding-right: 210px; }
:is(#dashboard-view, #dashboard-content) .dashboard-ranking > .dashboard-ranking-body > .dashboard-chart-bar { position: absolute; top: 2px; right: 18px; padding: 0; }
@container (max-width: 620px) {
  :is(#dashboard-view, #dashboard-content) .dashboard-split-frame.is-doughnut { height: 320px; }
}
@container (min-width: 1060px) {
  :is(#dashboard-view, #dashboard-content) .dashboard-split[data-chart="shown"] { grid-template-columns: minmax(0, 1fr) minmax(320px, 36%); align-items: start; }
  :is(#dashboard-view, #dashboard-content) .dashboard-split[data-chart="shown"] > .dashboard-split-chart { border-top: 0; border-left: 1px solid var(--border); }
}
