/* ML UREL — V6.4, 28/09/2026.
   Agrandissement des pages à l'échelle de la Synthèse.
   CSS local uniquement ; navigation, données, calculs et DOM inchangés.
   Tous les sélecteurs sont limités au contenu de l'application connectée. */

#root #app.topnav-layout main.content {
  --ml64-columns: 5;
  --ml64-gap: 12px;
  --ml64-value-size: clamp(26px, 1.75vw, 30px);
  --ml64-border: #e1e8f2;
  --ml64-muted: #62738c;
  font-size: 14px !important;
  line-height: 1.5;
}

/* Inclut la grille Monographie absente du précédent agrandissement. */
#root #app.topnav-layout main.content :is(.dg-synth-kpi-grid, .dg-exec-card-grid, .dg-global-kpis, .ru-kpi-grid, .ru-kpi-grid-main, .ru-mini-grid, .ru-cl-grid, .pilotage-kpis, .price-dash-kpis, .kgrid, .sig-kpi-grid) {
  display: grid !important;
  grid-template-columns: repeat(var(--ml64-columns), minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  gap: var(--ml64-gap) !important;
  margin-bottom: 16px !important;
  min-width: 0 !important;
}
#root #app.topnav-layout main.content :is(.dg-exec-card, .dg-kpi-card, .ru-kpi, .ru-mini, .pilotage-kpi, .price-dash-kpi, .kcard, .sig-kpi-card, .sig-kpi) {
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 16px !important;
  border-radius: 16px !important;
  text-align: left;
}
#root #app.topnav-layout main.content :is(.dg-exec-card:where(:not(.dg-kpi-modern)), .ru-mini, .pilotage-kpi, .price-dash-kpi, .dg-kpi-card, .kcard, .sig-kpi-card, .sig-kpi) {
  min-height: 208px !important;
}
#root #app.topnav-layout main.content .dg-exec-card:where(:not(.dg-kpi-modern)) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  background: #fff !important;
  border: 1px solid var(--ml64-border) !important;
  box-shadow: 0 3px 6px #152e5203, 0 10px 24px #152e5209 !important;
}
#root #app.topnav-layout main.content .dg-monography-card {
  min-height: 268px !important;
}
#root #app.topnav-layout main.content .dg-exec-card:where(:not(.dg-kpi-modern)) .dg-card-head {
  min-height: 36px !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
}
#root #app.topnav-layout main.content :is(.dg-card-icon, .ru-kpi-icon, .ru-mini-icon, .pilotage-kpi-icon, .dg-kpi-icon, .price-dash-kpi-icon) {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  border-radius: 11px !important;
}
#root #app.topnav-layout main.content :is(.dg-card-title, .dg-exec-card > span, .ru-kpi-title, .ru-mini-title, .pilotage-kpi-label, .klbl, .kpi-lbl, .dg-kpi-copy > span, .price-dash-kpi small) {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
#root #app.topnav-layout main.content :is(.dg-kpi-modern-value, .dg-exec-card:where(:not(.dg-kpi-modern)) > strong:first-of-type, .ru-kpi-value, .ru-kpi-value-row > strong, .ru-mini-body > strong, .pilotage-kpi-value, .price-dash-kpi strong, .dg-kpi-copy > strong, .kval, .kpi-val) {
  font-size: var(--ml64-value-size) !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  font-variant-numeric: tabular-nums;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
#root #app.topnav-layout main.content .dg-exec-card:where(:not(.dg-kpi-modern)) > strong:first-of-type {
  margin: 2px 0 8px !important;
  color: #123f82 !important;
}
#root #app.topnav-layout main.content :is(.dg-exec-card > small, .dg-kpi-modern-period, .ru-kpi-foot, .ru-mini-note, .pilotage-kpi-hint, .dg-kpi-copy > small, .price-dash-kpi em, .kdelta) {
  font-size: 11px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

/* Monographie : agrandit les éléments de comparaison déjà présents. */
#root #app.topnav-layout main.content .dg-mono-compare {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: auto !important;
  padding-top: 16px !important;
  border-top: 0 !important;
}
#root #app.topnav-layout main.content .dg-mono-compare > div {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 78px !important;
  padding: 9px !important;
  border: 1px solid var(--ml64-border) !important;
  border-radius: 10px !important;
  background: #f5f8fc !important;
}
#root #app.topnav-layout main.content .dg-mono-compare span {
  font-size: 10px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ml64-muted) !important;
  min-height: 0 !important;
}
#root #app.topnav-layout main.content .dg-mono-compare b {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  font-variant-numeric: tabular-nums;
}
#root #app.topnav-layout main.content .dg-mono-compare small {
  font-size: 10px !important;
  line-height: 1.45 !important;
}
#root #app.topnav-layout main.content .dg-mono-compare :is(span, b, small) {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* Périodes, titres et panneaux des différentes rubriques. */
#root #app.topnav-layout main.content :is(h1, .mtitle, .price-dashboard-head h2) {
  font-size: 26px !important;
  line-height: 1.25 !important;
}
#root #app.topnav-layout main.content :is(.subtitle, .msub, .dg-v5-heading p, .dg-global-header p, .price-dashboard-head p, .pilotage-section-heading span, .ru-section-sub) {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
#root #app.topnav-layout main.content :is(.dg-exec-section-title h2, .dg-global-panel-head strong, .dg-synthesis-urel-head strong, .ru-panel-head h3, .ru-section-title, .pilotage-section-heading strong, .pilotage-panel-title, .pilotage-form-title, .ctitle, .price-dash-panel > header strong) {
  font-size: 15px !important;
  line-height: 1.4 !important;
}
#root #app.topnav-layout main.content :is(.dg-global-panel-head span, .dg-synthesis-urel-head span, .price-dash-panel > header span, .chart-legend, .recharts-legend-item-text) {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
#root #app.topnav-layout main.content :is(.dg-global-panel-head, .ru-panel-head, .price-dash-panel > header) {
  padding: 14px 16px !important;
  height: auto !important;
  min-height: 58px !important;
  flex-wrap: wrap;
}
#root #app.topnav-layout main.content .dg-v5-monographie .dg-global-panel-head {
  flex: 0 0 auto !important;
}

/* Tableaux : caractères plus grands ; défilement dans leur panneau. */
#root #app.topnav-layout main.content table { font-size: 14px !important; }
#root #app.topnav-layout main.content table th {
  font-size: 12px !important;
  line-height: 1.45 !important;
  padding: 12px !important;
}
#root #app.topnav-layout main.content table td {
  font-size: 14px !important;
  line-height: 1.45 !important;
  padding: 12px !important;
  font-variant-numeric: tabular-nums;
}
#root #app.topnav-layout main.content :is(.dg-global-table-wrap, .ru-table-wrap, .pilotage-table-wrap, .price-dash-table-wrap) td > :is(b, strong) {
  font-size: 14px !important;
  line-height: 1.4 !important;
}
#root #app.topnav-layout main.content :is(.dg-global-table-wrap, .ru-table-wrap, .pilotage-table-wrap, .price-dash-table-wrap) td > :is(span, small) {
  font-size: 12px !important;
  line-height: 1.45 !important;
}
#root #app.topnav-layout main.content :is(.twrap, [class*="table-wrap"], .price-synthesis) {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
}

/* Saisie, administration, objectifs et autres pages utilisant ces contrôles. */
#root #app.topnav-layout main.content :is(.flbl, .pilotage-field > label, .pilotage-input > label, .pilotage-form-section label, .price-main-filter-row > label > span) {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
#root #app.topnav-layout main.content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea) {
  font-size: 14px !important;
  min-height: 40px !important;
  line-height: 1.4;
  box-sizing: border-box;
}
#root #app.topnav-layout main.content :is(.btn, .action, .link, .pilotage-export, .price-refresh, .dg-refresh-btn) {
  font-size: 13px !important;
  min-height: 40px !important;
  padding: 9px 13px !important;
  line-height: 1.35 !important;
  white-space: normal;
}
#root #app.topnav-layout main.content :is(.badge, .pilotage-status, .price-spread-badge) {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

/* Les tableaux de bord UREL disposent parfois d'une colonne annexe.
   Adapter les cartes à la largeur disponible, pas seulement à l'écran. */
#root #app.topnav-layout main.content .ru-main-grid > main {
  min-width: 0;
  container-type: inline-size;
  container-name: ml64-urel;
}
@container ml64-urel (max-width: 1190px) {
  #root #app.topnav-layout main.content .ru-kpi-grid { --ml64-columns: 3; }
}
@container ml64-urel (max-width: 780px) {
  #root #app.topnav-layout main.content .ru-kpi-grid { --ml64-columns: 2; }
}
@container ml64-urel (max-width: 520px) {
  #root #app.topnav-layout main.content .ru-kpi-grid { --ml64-columns: 1; }
}
@media (max-width: 1279px) {
  #root #app.topnav-layout main.content { --ml64-columns: 3; }
}
@media (max-width: 820px) {
  #root #app.topnav-layout main.content { --ml64-columns: 2; }
}
@media (max-width: 540px) {
  #root #app.topnav-layout main.content { --ml64-columns: 1; }
  #root #app.topnav-layout main.content :is(.dg-monography-card, .ru-mini, .pilotage-kpi, .price-dash-kpi, .dg-kpi-card, .kcard, .sig-kpi-card, .sig-kpi) { min-height: 0 !important; }
  #root #app.topnav-layout main.content :is(h1, .mtitle, .price-dashboard-head h2) { font-size: 24px !important; }
  #root #app.topnav-layout main.content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea) { font-size: 16px !important; }
  #root #app.topnav-layout main.content :is(.btn, .action, .link, .pilotage-export, .price-refresh, .dg-refresh-btn) { min-height: 44px !important; }
}

/* Ne réactive jamais les éléments que l'application masque intentionnellement. */
#root #app.topnav-layout main.content :is([hidden], .ml-v5527-hidden, .ml-v5530-hidden) { display: none !important; }
#root #app.topnav-layout main.content .dg-monography-card :is(.dg-objective, .dg-card-meta, .dg-objective-progress, .dg-objective-scale, .dg-no-objective-strip, [data-ml-objective], .ml-global-objective) { display: none !important; }

@media print {
  #root #app.topnav-layout main.content { --ml64-columns: 3; }
  #root #app.topnav-layout main.content .ru-kpi-grid { --ml64-columns: 3; }
  #root #app.topnav-layout main.content :is(.dg-exec-card, .ru-mini, .pilotage-kpi, .price-dash-kpi, .dg-kpi-card, .kcard, .sig-kpi-card, .sig-kpi) {
    min-height: 0 !important;
    box-shadow: none !important;
    break-inside: avoid;
  }
}
