/* MCE PWA — correctif visuel 2026.09.12-pwa1.
   Reutilise le theme existant. Aucun controle metier n'est masque. */
:root { --mce-pwa-heading: var(--mce-text, #102a43); }
:root[data-mce-theme="dark"] { --mce-pwa-heading: #ffffff; }
@media (prefers-color-scheme: dark) {
  :root[data-mce-theme="auto"] { --mce-pwa-heading: #ffffff; }
}

@media screen {
  /* Libelles des formulaires et titres sur les surfaces du theme. */
  body.mce-modern-2026 .content :is(.panel-head h2, .panel-header h2,
    .report-form label, .report-form legend, .filter-grid label,
    .synthesis-export-bar label, .form label, .form legend),
  body.mce-modern-2026 .command-bar h1,
  body.mce-modern-2026 .mce-field-sheet header h2 {
    color: var(--mce-pwa-heading) !important;
  }
  body.mce-modern-2026 .report-form :is(input, select, textarea) {
    color: var(--mce-text) !important;
    background: var(--mce-surface) !important;
    border-color: var(--mce-border) !important;
    max-width: 100%;
    min-width: 0;
  }
  body.mce-modern-2026 .report-form :is(input, textarea)::placeholder {
    color: var(--mce-muted) !important;
    opacity: 1;
  }
  body.mce-modern-2026 .report-form :is(input, select, textarea):focus-visible {
    outline: 2px solid var(--mce-accent) !important;
    outline-offset: 2px;
  }

  /* Introduction et GPS du rapport: plus de carte blanche en mode sombre. */
  body.mce-modern-2026 :is(.mce-premium-form-intro, .mce-premium-gps-panel) {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mce-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 0 14px !important;
  }
  body.mce-modern-2026 :is(.mce-premium-form-intro strong, .mce-premium-gps-copy strong) {
    color: var(--mce-pwa-heading) !important;
  }
  body.mce-modern-2026 :is(.mce-premium-form-intro span:not(.mce-premium-form-badge),
    .mce-premium-gps-status) { color: var(--mce-muted) !important; }
  body.mce-modern-2026 .mce-premium-gps-status.is-ok { color: var(--mce-success) !important; }
  body.mce-modern-2026 .mce-premium-gps-status.is-error { color: var(--mce-danger) !important; }
  body.mce-modern-2026 :is(.mce-premium-gps-map, .mce-premium-detail-map) {
    color: var(--mce-accent) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  body.mce-modern-2026 .mce-premium-gps-refresh {
    color: var(--mce-text) !important;
    border: 1px solid var(--mce-border) !important;
    background: var(--mce-surface-2) !important;
  }

  /* Lecture des rapports existants: contenu et rubriques conserves. */
  body.mce-modern-2026 article.mce-premium-report-detail {
    border-color: var(--mce-border) !important;
    background: var(--mce-surface) !important;
  }
  body.mce-modern-2026 article.mce-premium-report-detail :is(.details-grid > div,
    .detail-section, .email-send-panel) {
    background: var(--mce-surface-2) !important;
    border-color: var(--mce-border) !important;
  }
  body.mce-modern-2026 article.mce-premium-report-detail :is(.detail-section h4,
    .email-send-panel label) { color: var(--mce-pwa-heading) !important; }
  body.mce-modern-2026 article.mce-premium-report-detail :is(.details-grid dd, .description-text) {
    color: var(--mce-text) !important;
  }
  body.mce-modern-2026 article.mce-premium-report-detail .details-grid dt {
    color: var(--mce-muted) !important;
  }

  /* Bandeau natif de suivi: compact, lisible, pause et erreurs toujours accessibles. */
  body.mce-modern-2026 .mg-tracker {
    background: var(--mce-surface) !important;
    color: var(--mce-text) !important;
    border-color: var(--mce-border) !important;
    box-shadow: none !important;
    padding: 8px 10px !important;
    gap: 10px !important;
    border-radius: 12px !important;
  }
  body.mce-modern-2026 .mg-tracker.active { border-left-color: var(--mce-success) !important; }
  body.mce-modern-2026 .mg-tracker > div { min-width: 0; }
  body.mce-modern-2026 .mg-tracker strong { color: var(--mce-pwa-heading) !important; }
  body.mce-modern-2026 .mg-tracker span { color: var(--mce-muted) !important; }
  body.mce-modern-2026 .mg-tracker button {
    background: var(--mce-surface-2) !important;
    color: var(--mce-text) !important;
    border: 1px solid var(--mce-border) !important;
    box-shadow: none !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    touch-action: manipulation;
  }
  body.mce-modern-2026 .mg-tracker button:focus-visible {
    outline: 2px solid var(--mce-accent) !important;
    outline-offset: 2px;
  }

  /* Barre basse et menu: fonds accordes au theme, sans changement de navigation. */
  body.mce-modern-2026 :is(.mce-field-bottom-nav, .mce-field-sheet) {
    background: var(--mce-surface) !important;
    color: var(--mce-text) !important;
    border-color: var(--mce-border) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.mce-modern-2026 .mce-field-bottom-nav button { color: var(--mce-muted) !important; }
  body.mce-modern-2026 .mce-field-bottom-nav button.active {
    background: var(--mce-surface-2) !important;
    color: var(--mce-accent) !important;
  }
  body.mce-modern-2026 :is(.mce-field-sheet-grid button, .mce-field-sheet-utilities button,
    .mce-field-sheet-close) {
    background: var(--mce-surface-2) !important;
    color: var(--mce-text) !important;
    border-color: var(--mce-border) !important;
  }
  body.mce-modern-2026 .mce-field-sheet-utilities button.danger { color: var(--mce-danger) !important; }
  body.mce-modern-2026 .mce-field-sheet-close svg { stroke: var(--mce-text) !important; }
  body.mce-modern-2026 .mce-field-sheet-grid svg { stroke: var(--mce-accent) !important; }
  body.mce-modern-2026 .mce-field-sheet header small { color: var(--mce-muted) !important; }
}

@media screen and (max-width: 720px) {
  html { scroll-padding-bottom: calc(var(--mce-pwa-nav-height, 86px) + var(--mce-pwa-gps-height, 0px) + 32px + env(safe-area-inset-bottom)); }
  body.mce-field-classic .content {
    padding-bottom: calc(var(--mce-pwa-nav-height, 86px) + var(--mce-pwa-gps-height, 0px) + 40px + env(safe-area-inset-bottom)) !important;
  }
  body.mce-field-classic .content :is(input, select, textarea, button, a) {
    scroll-margin-bottom: calc(var(--mce-pwa-nav-height, 86px) + var(--mce-pwa-gps-height, 0px) + 24px + env(safe-area-inset-bottom)) !important;
  }
  body.mce-field-classic .mg-tracker {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(var(--mce-pwa-nav-height, 86px) + 15px + env(safe-area-inset-bottom)) !important;
    max-width: none !important;
  }
  body.mce-modern-2026 .mg-tracker strong { font-size: 11px !important; line-height: 1.35; }
  body.mce-modern-2026 .mg-tracker span { font-size: 10px !important; line-height: 1.4; }
  body.mce-modern-2026 .mg-tracker-actions { flex: 0 0 auto; }
  body.mce-modern-2026 .mg-tracker button { font-size: 11px !important; }
  body.mce-modern-2026 .report-form :is(input, select, textarea) { font-size: 16px !important; }
}
@media print { .mg-tracker { display: none !important; } }
/* Tablette: les anciens outils flottants occupent deja le coin inferieur droit. */
@media screen and (min-width: 721px) and (max-width: 900px) {
  body.mce-modern-2026 .mg-tracker {
    bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
}
@media screen {
  body.mce-modern-2026 .panel-head > .panel-action { color: var(--mce-muted) !important; }
}
