/* =====================================================================
   Ma semaine — feuille de style d'impression

   Chargee en `media="print"` sur toutes les pages. Deux usages :

   1. Pages applicatives imprimees telles quelles (tableau de bord,
      rapports, etat des chambres) : on retire l'habillage d'ecran et on
      redonne au contenu une allure de document.
   2. Documents dedies (`views/semaine/impression.php`) : mise en page
      complete avec en-tete, tableaux et zone de signature.

   Principes : encre economisee (aplats clairs, filets fins plutot que
   fonds pleins), rien qui se coupe en deux entre deux pages, en-tetes de
   tableau repetes sur chaque page.
   ===================================================================== */

@page {
  size: A4 portrait;
  margin: 14mm 13mm 16mm;
}

@media print {

  /* --- Base ------------------------------------------------------- */
  html, body {
    background: #fff !important;
    color: #1a1a1a;
    font-size: 10.5pt;
    line-height: 1.4;
  }

  /* Les aplats clairs font partie de la lecture : on demande au
     navigateur de les conserver plutot que de les blanchir. */
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* --- Habillage d'ecran retire ----------------------------------- */
  .sidebar,
  .topbar,
  .bandeau-bascule,
  .barre-actions,
  .save-indicator,
  .day-rail,
  .nav,
  .no-print,
  [data-bandeau-file],
  form.barre-actions,
  button {
    display: none !important;
  }

  .app { display: block !important; }
  .main { display: block !important; }
  .content {
    padding: 0 !important;
    max-width: none !important;
    width: auto !important;
  }

  a { color: inherit; text-decoration: none; }

  /* --- Titres ----------------------------------------------------- */
  .page-title {
    font-size: 17pt;
    margin: 0 0 2mm;
  }
  .page-sub { font-size: 9.5pt; color: #444; margin-bottom: 4mm; }
  .eyebrow {
    font-size: 7.5pt;
    letter-spacing: .08em;
    color: #666;
  }
  h3 { font-size: 11pt; margin-bottom: 2mm; }

  /* --- Cartes : redevenues de simples blocs ----------------------- */
  .card {
    border: 1px solid #bbb !important;
    border-radius: 3px;
    padding: 3mm 4mm;
    margin-bottom: 4mm;
    break-inside: avoid;
    box-shadow: none;
  }
  .section { margin-bottom: 5mm; }
  .grid { display: block; }
  .grid-4, .grid-3, .grid-2 { display: block; }

  /* Les indicateurs chiffres se remettent en ligne */
  .grid-4 { display: flex; gap: 0; border: 1px solid #bbb; border-radius: 3px; }
  .grid-4 .card,
  .grid-4 .metric {
    flex: 1;
    border: none !important;
    border-right: 1px solid #ddd !important;
    border-radius: 0;
    margin: 0;
    padding: 2.5mm 3mm;
    text-align: center;
  }
  .grid-4 > *:last-child { border-right: none !important; }
  .metric .label { font-size: 7.5pt; color: #555; }
  .metric .num { font-size: 13pt; margin-top: 1mm; }

  /* --- Tableaux --------------------------------------------------- */
  table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9pt;
    margin-bottom: 3mm;
  }
  thead { display: table-header-group; }
  tfoot { display: table-footer-group; }
  tr { break-inside: avoid; }
  th {
    background: #f0f2ec;
    border: 1px solid #b9bcb2;
    padding: 1.6mm 2mm;
    font-size: 8pt;
    font-weight: 600;
    color: #2a2a2a;
    text-align: left;
  }
  td {
    border: 1px solid #ccc;
    padding: 1.6mm 2mm;
    vertical-align: top;
  }
  tfoot td { background: #f6f7f3; font-weight: 600; }
  .table-wrap { overflow: visible !important; }

  /* --- Pastilles : encadre plutot qu'aplat colore ----------------- */
  .pill {
    border: 1px solid #999 !important;
    background: none !important;
    color: #1a1a1a !important;
    padding: 0.3mm 1.5mm;
    font-size: 7.5pt;
    border-radius: 2px;
  }

  /* --- Messages --------------------------------------------------- */
  .alert {
    border: 1px solid #bbb;
    background: none !important;
    color: #1a1a1a !important;
    padding: 2mm 3mm;
    margin-bottom: 3mm;
    break-inside: avoid;
    border-radius: 3px;
  }
  .alert-erreur { border-left: 2.5pt solid #a23b34; }
  .alert-warn   { border-left: 2.5pt solid #a8791f; }
  .alert-ok     { border-left: 2.5pt solid #3c5c46; }

  /* Les ecarts hors seuil restent lisibles en noir et blanc */
  .ecart-attention { font-weight: 700; }
  .ecart-alerte    { font-weight: 700; text-decoration: underline; }

  .vide, .aide { color: #666; font-size: 8pt; }
}
