/* Rapport « Suivi des chantiers et de la qualité » – d'après la maquette du 31/10/2026 (couleurs et rayons du poste). */
.rc { --rc-titre: var(--marine); display: flex; flex-direction: column; gap: 20px; max-width: 1480px; }
:root[data-theme="dark"] .rc { --rc-titre: var(--texte); --rc-bleu-texte: #9CC0FF; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .rc { --rc-titre: var(--texte); --rc-bleu-texte: #9CC0FF; } }
.rc .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rc-retour { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-texte); font-weight: 600; text-decoration: none; margin-bottom: -8px; }
.rc-retour .ic { width: 18px; height: 18px; }
.rc-entete { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.rc-entete h1 { color: var(--rc-titre); font-size: clamp(24px, 3vw, 34px); line-height: 1.15; margin: 0; }
.rc-sous { color: var(--doux); font-size: 16px; margin-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.rc-badge-lecture { display: inline-flex; align-items: center; gap: 6px; background: var(--bleu-fond); color: var(--rc-bleu-texte, var(--bleu)); border-radius: 99px; padding: 3px 12px; font-weight: 600; font-size: 14px; }
.rc-badge-lecture .ic { width: 15px; height: 15px; }
.rc-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.rc-select-date, .rc-select { position: relative; display: inline-flex; align-items: center; gap: 8px; background: var(--carte); border: 1.5px solid var(--trait); border-radius: 12px; padding: 0 12px; min-height: 52px; }
.rc-select-date select, .rc-select select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; font: inherit; color: var(--texte); padding: 0 28px 0 0; min-height: 48px; cursor: pointer; }
.rc-select-date > .ic:last-child, .rc-select > .ic:last-child { position: absolute; right: 12px; pointer-events: none; width: 18px; height: 18px; }
.rc-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rc-kpi { display: flex; align-items: center; gap: 18px; text-align: left; background: var(--carte); border: 0; border-radius: var(--rayon); box-shadow: var(--ombre); padding: 20px 22px; cursor: pointer; color: var(--texte); font: inherit; min-width: 0; }
.rc-kpi:hover, .rc-kpi:focus-visible { outline: 2px solid var(--accent-texte); outline-offset: 2px; }
.rc-kpi-ic { width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; flex: none; }
.rc-kpi-ic .ic { width: 28px; height: 28px; }
.rc-kpi-nb { display: block; font-size: 34px; font-weight: 800; color: var(--rc-titre); line-height: 1.05; }
.rc-kpi-lib { display: block; font-size: 17px; margin-top: 2px; }
.rc-kpi-prec { display: block; font-size: 13px; color: var(--doux); margin-top: 2px; }
.rc-rouge { background: var(--rouge-fond); color: var(--rouge-texte); }
.rc-orange { background: var(--orange-fond); color: var(--orange-texte); }
.rc-bleu { background: var(--bleu-fond); color: var(--rc-bleu-texte, var(--bleu)); }
.rc-section { display: flex; flex-direction: column; gap: 12px; }
.rc-titre-section { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.rc h2 { color: var(--rc-titre); font-size: 22px; margin: 0; }
.rc-lien { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-texte); text-decoration: none; background: none; border: 0; cursor: pointer; font: inherit; font-weight: 600; padding: 0; min-height: 32px; }
.rc-lien .ic { width: 16px; height: 16px; }
.rc-prios { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.rc-prio { background: var(--carte); border-radius: var(--rayon); box-shadow: var(--ombre); padding: 18px 20px 18px 24px; border-left: 6px solid; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rc-bord-rouge { border-left-color: var(--rouge); } .rc-bord-orange { border-left-color: var(--orange); } .rc-bord-bleu { border-left-color: var(--bleu); }
.rc-prio-tete { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 4px; }
.rc-prio h3 { font-size: 19px; color: var(--rc-titre); margin: 0; }
.rc-etiquette { border-radius: 99px; padding: 4px 14px; font-weight: 600; font-size: 15px; }
.rc-prio-ligne { margin: 0; }
.rc-doux { color: var(--doux); }
.rc-petit { font-size: 13px; }
.rc-nd { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; overflow-wrap: anywhere; }
.rc-nd a { color: var(--accent-texte); text-decoration: none; font-weight: 500; word-break: break-all; }
.rc-nd a:hover { text-decoration: underline; }
.rc-copier { display: inline-flex; align-items: center; gap: 6px; min-width: 36px; min-height: 36px; padding: 0 7px; border: 1.5px solid var(--trait); border-radius: 8px; background: var(--carte); color: var(--texte); cursor: pointer; flex: none; }
.rc-copier .ic { width: 18px; height: 18px; }
.rc-copier:focus-visible { outline: 2px solid var(--accent-texte); outline-offset: 2px; }
.rc-copier.ok { border-color: var(--vert); color: var(--vert-texte); }
.rc-copier-msg:empty { display: none; }
.rc-copier.ok .rc-copier-msg { background: var(--marine); color: #fff; border-radius: 6px; padding: 3px 8px; font-size: 13px; white-space: nowrap; }
.rc-echec { position: fixed; left: 50%; bottom: calc(var(--nav-bas) + 16px); transform: translateX(-50%); z-index: 50; background: var(--carte); color: var(--texte); border: 2px solid var(--rouge); border-radius: 14px; box-shadow: var(--ombre); padding: 14px 16px; display: grid; gap: 8px; width: min(440px, calc(100vw - 32px)); }
.rc-echec input { font: inherit; padding: 10px; border: 1.5px solid var(--trait); border-radius: 8px; background: var(--carte-2); color: var(--texte); }
.rc-carte { background: var(--carte); border-radius: var(--rayon); box-shadow: var(--ombre); padding: 22px; min-width: 0; }
.rc-dossiers-tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.rc-filtres { display: flex; gap: 10px; flex-wrap: wrap; flex: 1 1 520px; justify-content: flex-end; }
.rc-recherche { display: flex; align-items: center; gap: 8px; border: 1.5px solid var(--trait); border-radius: 12px; padding: 0 12px; min-height: 52px; flex: 1 1 260px; max-width: 380px; background: var(--carte); }
.rc-recherche input { border: 0; background: transparent; font: inherit; color: var(--texte); width: 100%; min-height: 48px; outline: none; }
.rc-onglets { display: flex; gap: 6px; border-bottom: 1.5px solid var(--trait); overflow-x: auto; margin-bottom: 12px; }
.rc-onglets button { border: 0; background: none; font: inherit; color: var(--texte); padding: 12px 16px; display: inline-flex; gap: 10px; align-items: center; cursor: pointer; border-bottom: 3px solid transparent; white-space: nowrap; min-height: 48px; }
.rc-onglets button[aria-selected="true"] { color: var(--accent-texte); border-bottom-color: var(--accent-texte); font-weight: 600; }
.rc-compte { background: var(--gris-fond); color: var(--gris-texte); border-radius: 99px; padding: 1px 9px; font-size: 13px; font-weight: 700; }
.rc-compte-retours_manquants { background: var(--rouge-fond); color: var(--rouge-texte); }
.rc-table { width: 100%; border-collapse: collapse; }
.rc-table th { text-align: left; background: var(--carte-2); font-weight: 600; font-size: 15px; padding: 0; }
.rc-tri { border: 0; background: none; font: inherit; font-weight: 600; color: var(--texte); padding: 12px 14px; cursor: pointer; width: 100%; text-align: left; }
.rc-table td { padding: 12px 14px; border-bottom: 1px solid var(--trait); vertical-align: middle; }
.rc-table tr[data-rc-lien] { cursor: pointer; }
.rc-table tr[data-rc-lien]:hover td { background: var(--carte-2); }
.rc-badge { display: inline-block; border-radius: 99px; padding: 3px 12px; font-size: 14px; font-weight: 600; margin: 2px 4px 2px 0; white-space: nowrap; }
.rc-remarque { display: block; margin-top: 4px; }
.rc-chevron { width: 48px; }
.rc-chevron a { color: var(--doux); display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; }
.rc-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.rc-pages { display: flex; gap: 6px; flex-wrap: wrap; }
.rc-pages button { min-width: 40px; min-height: 40px; border: 1.5px solid var(--trait); border-radius: 8px; background: var(--carte); color: var(--texte); cursor: pointer; font: inherit; display: inline-grid; place-items: center; }
.rc-pages button .ic { width: 16px; height: 16px; }
.rc-pages button[aria-current="true"] { background: var(--bleu); border-color: var(--bleu); color: #fff; }
.rc-pages button:disabled { opacity: .4; cursor: default; }
.rc-complements summary { cursor: pointer; font-weight: 600; font-size: 18px; display: flex; align-items: center; gap: 10px; list-style: none; color: var(--rc-titre); }
.rc-complements summary::-webkit-details-marker { display: none; }
.rc-complements[open] summary .ic { transform: rotate(180deg); }
.rc-complements h3 { margin: 18px 0 8px; color: var(--rc-titre); }
.rc-md { overflow-wrap: anywhere; }
.rc-md p, .rc-md li { margin: 6px 0; }
.rc-md-table { overflow-x: auto; margin: 10px 0; }
.rc-md table { border-collapse: collapse; font-size: 14px; }
.rc-md th, .rc-md td { border: 1px solid var(--trait); padding: 6px 8px; text-align: left; }
.rc-pied { text-align: center; color: var(--doux); font-size: 13px; }
.rc-impression { display: none; }
@media (max-width: 1100px) { .rc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .rc-kpis { gap: 10px; }
  .rc-kpi { padding: 14px; gap: 12px; } .rc-kpi-ic { width: 44px; height: 44px; } .rc-kpi-nb { font-size: 26px; } .rc-kpi-lib { font-size: 15px; }
  .rc-actions { width: 100%; } .rc-actions > * { flex: 1 1 auto; }
  .rc-filtres { justify-content: stretch; } .rc-recherche { max-width: none; flex-basis: 100%; }
  .rc-filtres .rc-select { flex: 1 1 140px; } .rc-filtres .rc-select select { width: 100%; }
  /* tableau → cartes sur téléphone */
  .rc-table thead { display: none; }
  .rc-table, .rc-table tbody, .rc-table tr, .rc-table td { display: block; width: 100%; }
  .rc-table tr { border: 1px solid var(--trait); border-radius: 12px; margin-bottom: 10px; padding: 6px 4px; position: relative; }
  .rc-table td { border: 0; padding: 6px 12px; }
  .rc-table td[data-titre]::before { content: attr(data-titre); display: block; font-size: 12px; color: var(--doux); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
  .rc-table td[data-titre="Dossier / ND"] { padding-right: 52px; }
  .rc-table td[data-titre="Dossier / ND"]::before { display: none; }
  .rc-chevron { position: absolute; top: 6px; right: 4px; width: auto !important; }
}
@media (max-width: 420px) { .rc-kpi { flex-direction: column; align-items: flex-start; gap: 8px; } .rc-kpi-lib { font-size: 14px; } }
@media (max-width: 300px) { .rc-kpis { grid-template-columns: 1fr; } }
@media print {
  body.rc-imprime .lateral, body.rc-imprime .bande, body.rc-imprime .bas, body.rc-imprime .bandeau, body.rc-imprime .theme-menu { display: none !important; }
  body.rc-imprime { display: block !important; }
  body.rc-imprime .colonne, body.rc-imprime main { margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: none !important; }
  body.rc-imprime .rc { max-width: none; gap: 14px; }
  body.rc-imprime .rc-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body.rc-imprime .rc-prios { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.rc-imprime { background: #fff !important; color: #142D4E; }
  body.rc-imprime .rc-retour, body.rc-imprime .rc-actions, body.rc-imprime .rc-dossiers, body.rc-imprime .rc-copier,
  body.rc-imprime #rc-toutes-prio, body.rc-imprime .rc-lien, body.rc-imprime .rc-complements summary .ic { display: none !important; }
  body.rc-imprime .rc-impression { display: block; }
  body.rc-imprime .rc-kpi, body.rc-imprime .rc-prio, body.rc-imprime .rc-carte { box-shadow: none; border: 1px solid #ccd; break-inside: avoid; }
  body.rc-imprime .rc-prio { border-left-width: 6px; }
  body.rc-imprime .rc-impression .rc-table { font-size: 11px; display: table; }
  body.rc-imprime .rc-impression .rc-table thead { display: table-header-group; }
  body.rc-imprime .rc-impression .rc-table tr { display: table-row; border: 0; }
  body.rc-imprime .rc-impression .rc-table td, body.rc-imprime .rc-impression .rc-table th { display: table-cell; padding: 4px 6px; border-bottom: 1px solid #ccd; }
  body.rc-imprime .rc-impression h2 { margin-top: 18px; }
  body.rc-imprime .rc-filtre-actif { border: 1px solid #c00; padding: 6px; }
}

/* ND affiché dans tout le poste, avec son bouton de copie (composant commun) */
.nd-ref { font-weight: 600; overflow-wrap: anywhere; }
.nd-ref + .rc-copier { margin: 0 4px; vertical-align: middle; min-width: 32px; min-height: 32px; }
@media print { .rc-copier { display: none !important; } }
