/* ==========================================================================
   Cfora — feuille de style partagée
   Utilisée par : accueil.php, planning.php (et toute page suivant le
   même habillage : rail de tickets, bandeau supérieur, plannings…)
   ========================================================================== */

:root{
  --ink:#15171a;
  --ink-2:#1c1f23;
  --ink-3:#23262b;
  --paper:#ece7dd;
  --paper-dim:#d7d0c0;
  --copper:#b5652d;
  --copper-light:#d98a4f;
  --herb:#4a6249;
  --steel:#8f9188;
  --violet:#6f5a91;
  --alert:#b6432f;
  --line:#2b2e33;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'JetBrains Mono',monospace;}
h1,h2,h3,.display{
  font-family:'Big Shoulders Display',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  font-weight:700;
  margin:0;
}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}
:focus-visible{outline:2px solid var(--copper-light);outline-offset:2px;}

/* ---------- Bandeau supérieur (commun à toutes les pages) ---------- */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;
  border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--ink);z-index:50;
  flex-wrap:wrap;gap:10px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand a{display:flex;line-height:0;transition:opacity .15s;}
.brand a:hover{opacity:.8;}
.brand .logo{height:30px;width:auto;display:block;}
.brand small{color:var(--steel);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}

.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--steel);flex-wrap:wrap;}
.breadcrumb a:hover{color:var(--paper);}
.breadcrumb .sep{color:#484b50;}
.breadcrumb .here{color:var(--copper-light);}

.topnav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.topnav a{
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--steel);padding:8px 2px;border-bottom:1px solid transparent;
  transition:color .15s, border-color .15s;
}
.topnav a:hover{color:var(--paper);border-color:var(--copper);}
.topnav a.active{color:var(--paper);border-color:var(--copper);}

.toppill{
  display:flex;align-items:center;gap:8px;
  background:var(--ink-2);border:1px solid var(--line);
  padding:7px 12px;border-radius:2px;
  font-size:.74rem;color:var(--paper-dim);
}
.toppill.action, button.dt-button{background:var(--copper);color:#1a1002;border-color:var(--copper);font-weight:600;}
.toppill.action:hover{background:var(--copper-light);}
.user-row{display:flex;gap:10px;align-items:center;}

.nav-toggle{
  display:none;width:38px;height:38px;border:1px solid var(--line);
  align-items:center;justify-content:center;color:var(--paper-dim);font-size:1.15rem;
}
.nav-toggle:hover{border-color:var(--copper);color:var(--copper-light);}

/* ---------- Amorce (trait + libellé) au-dessus d'un titre de page ---------- */
.eyebrow{
  font-family:'JetBrains Mono',monospace;color:var(--copper-light);
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--copper-light);}

footer{
  border-top:1px solid var(--line);padding:18px 28px;
  display:flex;justify-content:space-between;color:var(--steel);
  font-size:.72rem;font-family:'JetBrains Mono',monospace;flex-wrap:wrap;gap:8px;
}


/* ==========================================================================
   Page d'accueil (accueil.php)
   ========================================================================== */

.hero{padding:64px 28px 36px;max-width:1180px;margin:0 auto;}
.hero h1{
  font-size:clamp(2.4rem,5vw,3.8rem);line-height:.98;max-width:none;
  display:flex;align-items:center;flex-wrap:wrap;gap:16px 20px;
}
.hero h1 .brigade{text-transform:uppercase;}
.hero h1 .claim-stamp{
  font-family:'JetBrains Mono',monospace;font-size:0.26em;line-height:1;
  text-transform:uppercase;letter-spacing:.09em;color:var(--copper-light);
  border:1px solid var(--copper);padding:7px 13px;
  transform:rotate(-3deg);white-space:nowrap;
}

/* ---------- Rail à tickets ---------- */
.rail-wrap{padding:38px 0 6px;position:relative;}
.rail-wire{
  position:absolute;left:28px;right:28px;top:6px;height:2px;
  background:repeating-linear-gradient(90deg,#54575c 0 8px, transparent 8px 14px);
  max-width:1124px;margin:0 auto;
}
.rail{
  display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
  max-width:1180px;margin:0 auto;padding:0 28px;
}
@media(max-width:980px){.rail{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.rail{grid-template-columns:1fr;}}

.rail.cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:980px){.rail.cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.rail.cols-4{grid-template-columns:1fr;}}

.rail.cols-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:980px){.rail.cols-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.rail.cols-3{grid-template-columns:1fr;}}


/* ==========================================================================
   Tableaux de liste simples (fonctions.php et pages similaires à venir)
   ========================================================================== */

.list-controls{
  max-width:1180px;margin:26px auto 0;padding:0 28px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.search-ticket{
  background:var(--ink-2);border:1px solid var(--line);color:var(--paper);
  padding:.6rem .9rem;border-radius:2px;font-size:.86rem;min-width:240px;
}
.search-ticket:focus{border-color:var(--copper);outline:none;}
.search-ticket::placeholder{color:var(--steel);}

.list-wrap{max-width:1180px;margin:18px auto 90px;padding:0 28px;}
table.list{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.list th{
  text-align:left;padding:12px 16px;font-family:'JetBrains Mono',monospace;
  font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);
  border-bottom:1px solid var(--line);
}
table.list td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:.88rem;vertical-align:middle;}
table.list tr:last-child td{border-bottom:none;}
table.list tr:hover td{background:rgba(181,101,45,.06);}
.svc{display:inline-flex;align-items:center;gap:8px;}
.svc .dot{width:8px;height:8px;flex:none;border-radius:50%;}
.svc.svc-direction .dot{background:var(--steel);}
.svc.svc-cuisine .dot{background:var(--copper);}
.svc.svc-salle .dot{background:var(--herb);}
td.fonction{font-weight:600;color:var(--paper);}
td.base{color:var(--paper-dim);font-family:'JetBrains Mono',monospace;font-size:.8rem;}
td.action{width:1%;text-align:right;}
td.action .modifier{color:var(--copper-light);cursor:pointer;}
td.action .modifier:hover{color:var(--copper);}
tr.is-hidden{display:none;}


/* ==========================================================================
   Fiche employé (employes1.php)
   ========================================================================== */

.employee-sheet{
  max-width:900px;margin:0 auto 90px;background:var(--paper);color:var(--ink);
  position:relative;padding:0;display:none;
}
.employee-sheet.open{display:block;}
.employee-sheet::after{
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;
  background:
    linear-gradient(135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px,
    linear-gradient(-135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px;
  background-repeat:repeat-x;
}
.employee-sheet .sheet-head{padding:22px;text-align:center;border-bottom:1px solid #d3ccbc;}
.employee-sheet .sheet-head h2{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.6rem;margin:0;}
.employee-sheet .sheet-head .fonction{font-family:'JetBrains Mono',monospace;color:#6b675f;font-size:.82rem;margin-top:4px;}
.employee-sheet .sheet-body{display:flex;gap:28px;padding:26px;flex-wrap:wrap;}
.employee-sheet .photo{
  width:150px;height:150px;object-fit:cover;flex:none;border:1px solid #d3ccbc;background:#e4dfd2;
}
.employee-sheet .fields{flex:1;min-width:280px;}
.employee-sheet .fields dl{display:grid;grid-template-columns:170px 1fr;margin:0;}
.employee-sheet .fields dt{
  padding:11px 0;border-bottom:1px solid #e4dfd2;color:#847e6d;
  font-family:'JetBrains Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;
}
.employee-sheet .fields dd{padding:11px 0;border-bottom:1px solid #e4dfd2;margin:0;font-size:.9rem;line-height:1.4;}
.employee-sheet .fields dd:empty::after{content:"—";color:#b7b09c;}

@media(max-width:640px){
  .employee-sheet .sheet-body{flex-direction:column;}
  .employee-sheet .fields dl{grid-template-columns:130px 1fr;}
}


/* ==========================================================================
   Pointage réalisé (realise.php)
   ========================================================================== */

.pointage-who{
  max-width:1180px;margin:0 auto;padding:0 28px;color:var(--paper-dim);
  font-family:'JetBrains Mono',monospace;font-size:.82rem;
}
.pointage-who strong{color:var(--paper);font-weight:600;}

table.pointage{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.pointage th{
  text-align:left;padding:12px 16px;font-family:'JetBrains Mono',monospace;
  font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);
  border-bottom:1px solid var(--line);
}
table.pointage td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;}
table.pointage tr:last-child td{border-bottom:none;}
td.date-cell{width:150px;text-align:center;}
td.date-cell .jour{display:block;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:.95rem;color:var(--paper);}
td.date-cell .jour-num{display:block;font-family:'JetBrains Mono',monospace;font-size:.76rem;color:var(--steel);margin-top:2px;}
td.date-cell.today .jour{color:var(--copper-light);}

.realise-cell{display:flex;flex-direction:column;gap:6px;}
.realise-add{
  width:22px;height:22px;border:1px dashed var(--line);color:var(--steel);
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  cursor:pointer;transition:border-color .15s,color .15s;
}
.realise-add:hover{border-color:var(--copper);color:var(--copper-light);}
.realise-chip{
  background:var(--paper);color:var(--ink);padding:9px 14px;border-left:3px solid var(--copper);
  font-family:'JetBrains Mono',monospace;font-size:.82rem;text-align:center;
}
.realise-chip .pause{display:block;color:#6b675f;font-size:.7rem;margin-top:2px;}


/* ==========================================================================
   Suivi pointage (heuresRealisees.php)
   ========================================================================== */

.suivi-controls{
  max-width:1180px;margin:26px auto 0;padding:0 28px;
  display:flex;gap:12px;flex-wrap:wrap;
}

.suivi-sheet{max-width:1180px;margin:26px auto 90px;padding:0 28px;display:none;}
.suivi-sheet.open{display:block;}
.suivi-head{
  display:flex;justify-content:space-between;align-items:center;
  background:var(--ink-2);border:1px solid var(--line);border-bottom:none;padding:14px 18px;
}
.suivi-head .name{font-weight:600;color:var(--paper);}
.suivi-head .icon-actions{display:flex;gap:12px;}
.suivi-head .icon-actions button{
  width:30px;height:30px;border:1px solid var(--line);color:var(--paper-dim);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  background:transparent;cursor:pointer;transition:border-color .15s,color .15s;
}
.suivi-head .icon-actions button:hover{border-color:var(--copper);color:var(--copper-light);}
.suivi-range{
  text-align:center;padding:14px;border:1px solid var(--line);border-top:none;
  color:var(--paper-dim);font-family:'JetBrains Mono',monospace;font-size:.82rem;
}

.week-block{border:1px solid var(--line);border-top:none;}
.week-range{
  text-align:center;padding:11px;background:var(--ink-3);color:var(--paper-dim);
  font-family:'JetBrains Mono',monospace;font-size:.76rem;letter-spacing:.04em;
  border-bottom:1px solid var(--line);
}
table.heures{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.heures th{
  text-align:left;padding:10px 14px;font-family:'JetBrains Mono',monospace;
  font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--steel);
  border-bottom:1px solid var(--line);
}
table.heures td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--paper-dim);vertical-align:top;}
table.heures tr:last-child td{border-bottom:none;}
table.heures td.nb-heures{color:#c15b4a;font-family:'JetBrains Mono',monospace;}
.correction-cell{display:flex;align-items:flex-start;gap:8px;}
.correction-cell .realise-add{margin-top:2px;}
.correction-cell .val{font-family:'JetBrains Mono',monospace;color:var(--paper-dim);}

.week-summary{
  display:flex;justify-content:center;gap:12px;padding:14px;
  background:var(--ink-2);border-bottom:1px solid var(--line);
}
.pill-contrat, .pill-total{
  padding:6px 14px;border-radius:2px;font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:600;
}
.pill-contrat{background:var(--herb);color:#e8f1e7;}
.pill-total{background:#8a3a2f;color:#f6e4df;}


/* ==========================================================================
   Registre du personnel (registre.php)
   ========================================================================== */

.registre-wrap{max-width:1280px;margin:18px auto 90px;padding:0 28px;}
.registre-scroll{overflow-x:auto;border:1px solid var(--line);}
table.registre{border-collapse:collapse;width:100%;min-width:1400px;background:var(--ink-2);}
table.registre th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;
  font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;color:var(--steel);
  border-bottom:1px solid var(--line);white-space:nowrap;
}
table.registre th small{display:block;color:#5f6259;text-transform:none;font-size:.62rem;margin-top:2px;}
table.registre td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--paper-dim);vertical-align:top;}
table.registre tr:last-child td{border-bottom:none;}
table.registre tr:hover td{background:rgba(181,101,45,.06);}
td.nom{color:var(--paper);font-weight:600;white-space:nowrap;}
td.fonction small{display:block;color:var(--steel);font-size:.72rem;margin-top:2px;}


/* ==========================================================================
   Organigramme (organigramme.php)
   ========================================================================== */

.org-wrap{max-width:1280px;margin:18px auto 90px;padding:0 28px;}
.org-columns{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap;}
.org-col{flex:1;min-width:220px;}
.org-col-head{
  background:var(--copper);color:#1a1002;font-weight:700;text-align:center;
  padding:12px;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.02em;
}
.org-link{width:1px;height:20px;background:var(--line);margin:0 auto;}
.org-card{
  background:var(--ink-2);border:1px solid var(--line);padding:16px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.org-card .photo{width:88px;height:88px;object-fit:cover;border:1px solid var(--line);}
.org-card .avatar{
  width:88px;height:88px;border:1px solid var(--line);background:var(--ink-3);
  display:flex;align-items:center;justify-content:center;
  font-family:'Big Shoulders Display',sans-serif;font-size:1.6rem;color:var(--copper-light);
}
.org-card .nom{font-weight:600;color:var(--paper);text-transform:uppercase;font-size:.86rem;line-height:1.3;}
.org-card .role{color:var(--copper-light);font-family:'JetBrains Mono',monospace;font-size:.74rem;font-style:italic;}
.org-col-empty{
  border:1px dashed var(--line);padding:24px;text-align:center;
  color:var(--steel);font-size:.8rem;font-family:'JetBrains Mono',monospace;
}
@media(max-width:760px){
  .org-columns{flex-direction:column;}
  .org-col{width:100%;}
}


/* ==========================================================================
   Page de connexion (connexion.php)
   ========================================================================== */

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.login-card{width:380px;max-width:100%;background:var(--ink-2);border:1px solid var(--line);padding:36px 32px;}
.login-card .logo{display:block;margin:0 auto 30px;height:44px;}
.login-card label{
  display:block;font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--steel);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;
}
.login-card input{
  width:100%;background:var(--ink);border:1px solid var(--line);color:var(--paper);
  padding:11px 13px;margin-bottom:20px;font-size:.9rem;font-family:'Inter',sans-serif;border-radius:2px;
}
.login-card input:focus{border-color:var(--copper);outline:none;}
.login-card .btn-valider{
  width:100%;background:var(--copper);color:#1a1002;border:none;padding:13px;
  font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.86rem;
  cursor:pointer;margin-bottom:20px;border-radius:2px;transition:background .15s;
}
.login-card .btn-valider:hover{background:var(--copper-light);}
.login-card .forgot{
  display:block;text-align:center;color:var(--paper-dim);font-size:.82rem;transition:color .15s;
}
.login-card .forgot:hover{color:var(--copper-light);}


/* ==========================================================================
   Cahier de liaison (liaison.php)
   ========================================================================== */

.liaison-wrap{max-width:1180px;margin:18px auto 90px;padding:0 28px;}
.liaison-entry{border:1px solid var(--line);margin-bottom:2px;background:var(--ink-2);}
.liaison-header{
  display:flex;align-items:center;gap:16px;padding:14px 18px;cursor:pointer;
  flex-wrap:wrap;
}
.liaison-header .who{font-size:.78rem;color:var(--paper-dim);min-width:170px;}
.liaison-header .who strong{display:block;color:var(--paper);font-weight:600;}
.liaison-header .sujet{flex:1;font-weight:600;color:var(--paper);text-align:center;}
.liaison-header .btn-lire{
  background:var(--copper);color:#1a1002;border:none;padding:7px 18px;
  font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;
  cursor:pointer;border-radius:2px;
}
.liaison-header .btn-lire:hover{background:var(--copper-light);}
.liaison-body{display:none;padding:18px;border-top:1px solid var(--line);}
.liaison-entry.open .liaison-body{display:block;}
.liaison-body .champ{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
.liaison-body .champ:last-of-type{border-bottom:none;}
.liaison-body .champ .label{
  min-width:140px;flex:none;font-family:'JetBrains Mono',monospace;font-size:.72rem;
  color:var(--steel);text-transform:uppercase;letter-spacing:.03em;padding-top:2px;
}
.liaison-body .champ .valeur{white-space:pre-line;color:var(--paper-dim);font-size:.88rem;line-height:1.6;}
.destinataires{list-style:none;margin:0;padding:0;columns:2;gap:24px;}
.destinataires li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.86rem;}
.destinataires input{accent-color:var(--copper);}
.destinataires .nom{color:var(--paper);font-weight:600;}
.destinataires .prenom{color:var(--paper-dim);}
.destinataires li.non-coche .nom, .destinataires li.non-coche .prenom{color:var(--steel);}
.liaison-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;flex-wrap:wrap;gap:12px;}
.liaison-actions .btns{display:flex;gap:10px;}
.liaison-actions button{
  padding:9px 20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  border-radius:2px;cursor:pointer;
}
.liaison-actions .btn-modifier{background:var(--copper);color:#1a1002;border:none;}
.liaison-actions .btn-modifier:hover{background:var(--copper-light);}
.liaison-actions .btn-cloturer{background:transparent;color:var(--paper-dim);border:1px solid var(--line);}
.liaison-actions .btn-cloturer:hover{border-color:var(--steel);color:var(--paper);}
.liaison-actions .icon-actions{display:flex;gap:8px;}
.liaison-actions .icon-actions button{
  width:32px;height:32px;padding:0;background:var(--ink-3);border:1px solid var(--line);color:var(--paper-dim);
}
.liaison-actions .icon-actions button:hover{border-color:var(--copper);color:var(--copper-light);}

.simple-modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;
  align-items:center;justify-content:center;z-index:1000;padding:20px;
}
.simple-modal-overlay.open{display:flex;}
.simple-modal{background:var(--ink-2);border:1px solid var(--line);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;}
.simple-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);}
.simple-modal-head h3{margin:0;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.1rem;color:var(--paper);}
.simple-modal-head .close-x{background:none;border:none;color:var(--paper-dim);font-size:1.3rem;line-height:1;cursor:pointer;}
.simple-modal-head .close-x:hover{color:var(--paper);}
.simple-modal-body{padding:20px;}
.simple-modal-body label{
  display:block;font-family:'JetBrains Mono',monospace;font-size:.7rem;text-transform:uppercase;
  color:var(--steel);letter-spacing:.04em;margin-bottom:6px;
}
.simple-modal-body input[type="text"], .simple-modal-body textarea, .simple-modal-body input[type="file"]{
  width:100%;background:var(--ink);border:1px solid var(--line);color:var(--paper);
  padding:9px 12px;margin-bottom:16px;font-family:'Inter',sans-serif;font-size:.88rem;border-radius:2px;
}
.simple-modal-body input[type="text"]:focus, .simple-modal-body textarea:focus{border-color:var(--copper);outline:none;}
.simple-modal-body textarea{min-height:120px;resize:vertical;}
.simple-modal-body .dest-grid{list-style:none;margin:0 0 4px;padding:0;columns:2;}
.simple-modal-body .dest-grid li{padding:4px 0;display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--paper-dim);}
.simple-modal-body .dest-grid input{accent-color:var(--copper);}
.simple-modal-foot, .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);}

.simple-modal.wide{max-width:760px;}
.modal-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.modal-grid-2col select{
  width:100%;background:var(--ink);border:1px solid var(--line);color:var(--paper);
  padding:9px 12px;margin-bottom:16px;font-size:.88rem;border-radius:2px;
}
.modal-grid-2col select:focus{border-color:var(--copper);outline:none;}
.modal-grid-2col .checks{display:flex;flex-direction:column;gap:8px;margin-top:2px;}
.modal-grid-2col .checks label{
  display:flex;align-items:center;gap:8px;text-transform:none;font-family:'Inter',sans-serif;
  font-size:.88rem;color:var(--paper-dim);
}
.modal-grid-2col .checks input{accent-color:var(--copper);width:16px;height:16px;}
@media(max-width:640px){.modal-grid-2col{grid-template-columns:1fr;}}
.simple-modal-foot.reverse{justify-content:flex-start;}


/* ==========================================================================
   Feuille journalière (feuille_jour.php)
   ========================================================================== */

.fj-search{max-width:1180px;margin:26px auto 0;padding:0 28px;display:flex;justify-content:flex-end;}

#fjListView:not(.open){display:none;}

.fj-wrap{max-width:1180px;margin:18px auto 90px;padding:0 28px;}
table.fj-list{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.fj-list th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
  cursor:pointer;user-select:none;white-space:nowrap;
}
table.fj-list th::after{content:'⇅';margin-left:6px;color:#4a4d52;font-size:.8em;}
table.fj-list th.sort-asc::after{content:'↑';color:var(--copper-light);}
table.fj-list th.sort-desc::after{content:'↓';color:var(--copper-light);}
table.fj-list td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--paper-dim);cursor:pointer;}
table.fj-list tr:hover td{background:rgba(181,101,45,.08);}
table.fj-list tr.is-hidden{display:none;}
td.fj-date{color:var(--copper-light);font-family:'JetBrains Mono',monospace;white-space:nowrap;}

.fj-detail{display:none;max-width:1180px;margin:26px auto 90px;padding:0 28px;}
.fj-detail.open{display:block;}
.fj-fields{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  background:var(--ink-2);border:1px solid var(--line);padding:16px;margin-bottom:0;
}
@media(max-width:900px){.fj-fields{grid-template-columns:repeat(2,1fr);}}
.fj-fields .box{display:flex;flex-direction:column;gap:6px;}
.fj-fields label{
  font-family:'JetBrains Mono',monospace;font-size:.66rem;text-transform:uppercase;
  color:var(--steel);letter-spacing:.04em;
}
.fj-fields .static-val{
  background:var(--ink);border:1px solid var(--line);color:var(--paper);
  padding:9px 12px;font-size:.86rem;border-radius:2px;
}
.fj-fields select{
  background:var(--ink);border:1px solid var(--line);color:var(--paper);
  padding:9px 12px;font-size:.86rem;border-radius:2px;width:100%;
}
.fj-fields select:focus{border-color:var(--copper);outline:none;}

table.fj-checklist{border-collapse:collapse;width:100%;background:var(--ink-2);border:1px solid var(--line);border-top:none;}
table.fj-checklist th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
}
table.fj-checklist td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
table.fj-checklist tr:last-child td{border-bottom:none;}
table.fj-checklist td.rep{width:1%;text-align:center;}
table.fj-checklist input[type="checkbox"]{accent-color:var(--copper);width:18px;height:18px;}
.fj-empty-checklist{padding:24px;text-align:center;color:var(--steel);font-family:'JetBrains Mono',monospace;font-size:.82rem;border:1px solid var(--line);border-top:none;background:var(--ink-2);}

.fj-observation{
  width:100%;min-height:70px;background:var(--ink-2);border:1px solid var(--line);border-top:none;
  color:var(--paper);padding:12px 14px;font-family:'Inter',sans-serif;font-size:.86rem;resize:vertical;
}
.fj-observation:focus{outline:none;border-color:var(--copper);}
.fj-observation::placeholder{color:var(--steel);}

.fj-actions{display:flex;justify-content:space-between;margin-top:22px;}
.fj-actions button{
  padding:10px 26px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;
  border-radius:2px;cursor:pointer;border:none;
}
.fj-actions .btn-enregistrer{background:var(--copper);color:#1a1002;}
.fj-actions .btn-enregistrer:hover{background:var(--copper-light);}
.fj-actions .btn-retour{background:transparent;color:var(--paper-dim);border:1px solid var(--line);}
.fj-actions .btn-retour:hover{border-color:var(--steel);color:var(--paper);}


/* ==========================================================================
   Paramètres feuille journalière (action_aff_jour.php)
   ========================================================================== */

.param-controls{
  max-width:1180px;margin:26px auto 0;padding:0 28px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.param-wrap{max-width:1180px;margin:18px auto 8px;padding:0 28px;}
table.param{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.param th{
  text-align:left;padding:11px 12px;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.04em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
  white-space:nowrap;
}
table.param td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:.84rem;color:var(--paper-dim);}
table.param tr:hover td{background:rgba(181,101,45,.06);}
table.param tr.is-hidden{display:none;}
td.param-action{color:var(--paper);max-width:420px;}
td.param-num{font-family:'JetBrains Mono',monospace;color:var(--copper-light);text-align:center;}
.param-footer{max-width:1180px;margin:0 auto 90px;padding:10px 28px 0;color:var(--steel);font-size:.78rem;font-family:'JetBrains Mono',monospace;}


/* ==========================================================================
   Le matériel (materiel.php)
   ========================================================================== */

.materiel-sheet{
  max-width:820px;margin:0 auto 90px;background:var(--paper);color:var(--ink);
  position:relative;display:none;
}
.materiel-sheet.open{display:block;}
.materiel-sheet::after{
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;
  background:
    linear-gradient(135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px,
    linear-gradient(-135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px;
  background-repeat:repeat-x;
}
.materiel-sheet .m-head{padding:18px;text-align:center;border-bottom:1px solid #d3ccbc;}
.materiel-sheet .m-head h2{margin:0;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.4rem;}
.materiel-sheet .m-photo{
  width:110px;height:90px;object-fit:cover;border:1px solid #d3ccbc;margin:18px 18px 0;
}
.materiel-sheet .m-photo-empty{
  width:110px;height:90px;margin:18px 18px 0;border:1px dashed #b7b09c;color:#8a8578;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
}
.materiel-sheet dl{display:grid;grid-template-columns:170px 1fr;margin:14px 18px 0;}
.materiel-sheet dt{padding:10px 0;border-bottom:1px solid #e4dfd2;color:#847e6d;font-family:'JetBrains Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;}
.materiel-sheet dd{padding:10px 0;border-bottom:1px solid #e4dfd2;margin:0;font-size:.88rem;}
.materiel-sheet dd:empty::after{content:"—";color:#b7b09c;}
.materiel-sheet .m-bar{background:var(--copper);color:#1a1002;text-align:center;padding:9px;font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.03em;margin-top:18px;}
.materiel-sheet .m-fournisseur{margin:0 18px;padding:12px 0;font-size:.88rem;line-height:1.6;border-bottom:1px solid #e4dfd2;}
.materiel-sheet .m-doc{
  display:flex;align-items:center;gap:10px;margin:0 18px;padding:11px 0;
  border-bottom:1px solid #e4dfd2;font-size:.88rem;cursor:pointer;
}
.materiel-sheet .m-doc:last-child{border-bottom:none;padding-bottom:18px;}
.materiel-sheet .m-doc:hover{color:var(--copper);}
.materiel-sheet .m-produit{
  display:flex;justify-content:space-between;gap:16px;margin:0 18px;padding:11px 0;
  border-bottom:1px solid #e4dfd2;font-size:.88rem;
}
.materiel-sheet .m-produit:last-child{border-bottom:none;padding-bottom:18px;}
.materiel-sheet .m-produit .statut{color:#6b675f;}


/* ==========================================================================
   Formulaire "Nouveau matériel" à onglets (materiel.php)
   ========================================================================== */

.mform{display:none;max-width:1180px;margin:26px auto 90px;padding:0 28px;}
.mform.open{display:block;}
.mform .champs{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;padding:22px 0 0;}
@media(max-width:760px){.mform .champs{grid-template-columns:1fr;}}
.mform input[type="text"], .mform input[type="date"], .mform input[type="file"], .mform select, .mform textarea{
  width:100%;background:var(--ink-2);border:1px solid var(--line);color:var(--paper);
  padding:11px 13px;font-size:.88rem;border-radius:2px;font-family:'Inter',sans-serif;
}
.mform textarea{resize:vertical;min-height:90px;}
.mform input:focus, .mform select:focus, .mform textarea:focus{border-color:var(--copper);outline:none;}
.mform input::placeholder, .mform textarea::placeholder{color:var(--steel);}
.mform .check-row{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.88rem;color:var(--paper-dim);}
.mform .check-row input{accent-color:var(--copper);width:16px;height:16px;}
.mform .mform-actions{display:flex;justify-content:center;gap:60px;margin-top:26px;}
.mform .mform-actions button{
  padding:10px 32px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;
  border-radius:2px;cursor:pointer;border:none;
}
.mform .btn-valider-tab{background:var(--copper);color:#1a1002;}
.mform .btn-valider-tab:hover{background:var(--copper-light);}
.mform .btn-annuler-tab{background:transparent;color:var(--paper-dim);border:1px solid var(--line) !important;}
.mform .btn-annuler-tab:hover{border-color:var(--steel);color:var(--paper);}
.mform-fournisseurs{margin-top:26px;border:1px solid var(--line);}
.mform-fournisseurs .head{padding:10px 14px;font-weight:600;color:var(--paper);border-bottom:1px solid var(--line);background:var(--ink-2);}
.mform-fournisseurs .row{padding:10px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
.mform-fournisseurs .row:last-child{border-bottom:none;}
.mform-tab-pane{display:none;}
.mform-tab-pane.active{display:block;}

.mform .allergenes-grid{list-style:none;margin:0;padding:0;columns:2;column-gap:24px;}
.mform .allergenes-grid li{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.86rem;color:var(--paper-dim);}
.mform .allergenes-grid input{accent-color:var(--copper);width:16px;height:16px;}
.mform .champs-full{padding:22px 0 0;}

.categorie-panels{display:flex;gap:20px;max-width:1180px;margin:24px auto 90px;padding:0 28px;flex-wrap:wrap;}
.categorie-panels .panel-empty{flex:1;min-width:260px;min-height:70px;background:var(--ink-2);border:1px solid var(--line);}


/* ==========================================================================
   Les recettes (recettes.php)
   ========================================================================== */

.recette-sheet{max-width:900px;margin:0 auto;background:var(--paper);color:var(--ink);position:relative;display:none;}
.recette-sheet.open{display:block;}
.recette-sheet::after{
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;
  background:
    linear-gradient(135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px,
    linear-gradient(-135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px;
  background-repeat:repeat-x;
}
.recette-sheet .r-head{padding:18px;text-align:center;border-bottom:1px solid #d3ccbc;}
.recette-sheet .r-head h2{margin:0;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.5rem;}
.recette-sheet .r-head .fam{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:#6b675f;margin-top:4px;}
.recette-sheet .r-photos{display:flex;gap:10px;padding:18px;flex-wrap:wrap;}
.recette-sheet .r-photos img{width:120px;height:120px;object-fit:cover;border:1px solid #d3ccbc;}

.r-accordion .r-bar{
  background:var(--copper);color:#1a1002;padding:12px 18px;font-weight:700;text-transform:uppercase;
  font-size:.85rem;letter-spacing:.02em;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.25);
}
.r-accordion .r-bar:first-child{border-top:none;}
.r-accordion .r-bar .chev{transition:transform .15s;}
.r-accordion .r-bar.open .chev{transform:rotate(180deg);}
.r-accordion .r-body{display:none;padding:18px;border-bottom:1px solid #d3ccbc;}
.r-accordion .r-body.open{display:block;}

.r-infos{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:14px;}
.r-infos .item{padding:8px 0;border-bottom:1px solid #e4dfd2;font-size:.88rem;display:flex;justify-content:space-between;}
.r-infos .item .lbl{color:#847e6d;}
.r-ingredients-title{font-family:'JetBrains Mono',monospace;font-size:.75rem;text-transform:uppercase;color:#847e6d;text-align:center;margin:14px 0 8px;letter-spacing:.05em;}
.r-ingredient-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e4dfd2;font-size:.88rem;}
.r-ingredient-row:last-child{border-bottom:none;}

.r-step{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #e4dfd2;}
.r-step:last-child{border-bottom:none;}
.r-step .num{font-family:'JetBrains Mono',monospace;color:#8a8578;flex:none;width:1.6em;}
.r-step .txt{flex:1;font-size:.9rem;line-height:1.5;}
.r-step img{width:80px;height:80px;object-fit:cover;border:1px solid #d3ccbc;flex:none;}

.production-block{max-width:900px;margin:24px auto 0;background:var(--ink-2);border:1px solid var(--line);}
.production-head{
  display:flex;justify-content:space-between;align-items:center;padding:14px 18px;
  border-bottom:1px solid var(--line);font-weight:600;color:var(--paper);
}
.production-head button{
  background:var(--copper);color:#1a1002;border:none;padding:8px 16px;font-weight:600;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;border-radius:2px;cursor:pointer;
}
.production-head button:hover{background:var(--copper-light);}
.production-row{
  display:flex;justify-content:space-between;align-items:center;padding:11px 18px;
  border-bottom:1px solid var(--line);color:var(--paper-dim);font-size:.88rem;background:var(--ink-3);
  margin:6px 12px;
}
.production-row:last-child{margin-bottom:12px;}
.production-row .cam{
  width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--alert);
  cursor:pointer;font-size:1rem;border-radius:2px;
}
.production-row .cam.done{color:var(--herb);border-color:var(--herb);}
.production-row .cam:hover{border-color:var(--copper);}

.mform input[readonly]{color:var(--steel);cursor:not-allowed;}
.limite-table{width:100%;border-collapse:collapse;margin-top:0;}
.limite-table th{
  text-align:left;padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.04em;color:var(--steel);border-bottom:1px solid var(--line);
}
.limite-table td{padding:10px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
.limite-table .icon-btn{
  width:28px;height:28px;border:none;border-radius:2px;cursor:pointer;font-size:.85rem;margin-right:6px;
}
.limite-table .icon-edit{background:var(--copper);color:#1a1002;}
.limite-table .icon-del{background:var(--alert);color:#fff;}
.ingredient-row-line{display:flex;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
.ingredient-row-line:last-child{border-bottom:none;}
.ingredient-row-line .nom{flex:1;color:var(--paper);}
.ingredient-row-line .qte, .ingredient-row-line .prix, .ingredient-row-line .pct{width:90px;text-align:right;font-family:'JetBrains Mono',monospace;}
.ingredient-row-line .icon-btn{
  width:26px;height:26px;border:none;border-radius:2px;cursor:pointer;font-size:.8rem;
}


/* ==========================================================================
   Stock / Besoins (besoins.php)
   ========================================================================== */

.besoins-controls{max-width:1180px;margin:26px auto 0;padding:0 28px;}
.pill-toggle{
  display:inline-flex;align-items:center;padding:9px 18px;background:var(--copper);color:#1a1002;
  font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;
  border-radius:2px;border:none;
}
.pill-toggle.off{background:var(--ink-2);color:var(--paper-dim);border:1px solid var(--line);}

table.besoins{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.besoins th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
  cursor:pointer;user-select:none;
}
table.besoins th::after{content:'⇅';margin-left:6px;color:#4a4d52;font-size:.8em;}
table.besoins th.sort-asc::after{content:'↑';color:var(--copper-light);}
table.besoins th.sort-desc::after{content:'↓';color:var(--copper-light);}
table.besoins td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
table.besoins tr:hover td{background:rgba(181,101,45,.06);}
table.besoins tr.is-hidden{display:none;}
td.besoin-id{color:var(--copper-light);font-family:'JetBrains Mono',monospace;}
td.besoin-valide{color:var(--herb);font-weight:600;}
.besoins-footer{max-width:1180px;margin:0 auto 90px;padding:10px 28px 0;color:var(--steel);font-size:.8rem;font-family:'JetBrains Mono',monospace;}

#besoinsListeView:not(.open){display:none;}


/* ==========================================================================
   Approvisionnement (approvisionnement.php)
   ========================================================================== */

.appro-panels{display:flex;gap:20px;flex-wrap:wrap;max-width:1280px;margin:0 auto;padding:0 28px;}
.appro-panel{flex:1;min-width:320px;background:var(--ink-2);border:1px solid var(--line);}
.appro-panel .head{
  display:flex;gap:10px;align-items:flex-start;padding:14px 18px;font-weight:600;
  color:var(--paper);border-bottom:1px solid var(--line);
}
.appro-panel .head button{background:none;border:none;color:var(--paper-dim);cursor:pointer;font-size:1.1rem;line-height:1;flex:none;}
.appro-panel .head button:hover{color:var(--paper);}
.appro-panel .section-title{
  padding:14px 18px 6px;font-family:'JetBrains Mono',monospace;font-size:.72rem;
  text-transform:uppercase;color:var(--copper-light);letter-spacing:.04em;
}
.appro-panel .line{padding:4px 18px;font-size:.82rem;color:var(--paper-dim);}
.appro-panel .line:last-child{padding-bottom:16px;}

.appro-accordions{max-width:1280px;margin:24px auto 90px;padding:0 28px;}
.appro-accordions .r-accordion{border:1px solid var(--line);border-bottom:none;}
.appro-accordions .r-accordion:last-child{border-bottom:1px solid var(--line);}
.appro-accordions .r-bar{border-top:none;}
.appro-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;background:var(--ink-2);}
.appro-toolbar .btns{display:flex;gap:10px;flex-wrap:wrap;}
.appro-toolbar .btns button{
  padding:8px 16px;font-size:.78rem;font-weight:600;border:1px solid var(--line);background:var(--ink-3);
  color:var(--paper-dim);border-radius:2px;cursor:pointer;
}
.appro-toolbar .btns button:hover{border-color:var(--copper);color:var(--paper);}


/* ==========================================================================
   Mise en place (miseenplace.php)
   ========================================================================== */

.mep-controls{max-width:1180px;margin:26px auto 0;padding:0 28px;}
table.mep{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.mep th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
  cursor:pointer;user-select:none;
}
table.mep th::after{content:'⇅';margin-left:6px;color:#4a4d52;font-size:.8em;}
table.mep th.sort-asc::after{content:'↑';color:var(--copper-light);}
table.mep th.sort-desc::after{content:'↓';color:var(--copper-light);}
table.mep td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
table.mep tr:hover td{background:rgba(181,101,45,.06);}
td.mep-id, td.mep-date{color:var(--copper-light);font-family:'JetBrains Mono',monospace;}
td.mep-valide{color:var(--herb);font-weight:600;}
.mep-footer{max-width:1180px;margin:0 auto 90px;padding:10px 28px 0;color:var(--steel);font-size:.8rem;font-family:'JetBrains Mono',monospace;}

/* Petit calendrier de la fenêtre "Nouveau" */
.mini-calendar{border:1px solid var(--line);margin-top:6px;}
.mini-calendar .cal-head{
  display:flex;align-items:center;justify-content:space-between;background:var(--ink-3);
  padding:8px 10px;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;
  font-size:.9rem;color:var(--paper);
}
.mini-calendar .cal-head button{
  background:none;border:none;color:var(--paper-dim);cursor:pointer;font-size:1rem;padding:2px 8px;
}
.mini-calendar .cal-head button:hover{color:var(--copper-light);}
.mini-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.mini-calendar .cal-dow{
  text-align:center;padding:6px 0;font-family:'JetBrains Mono',monospace;font-size:.7rem;
  color:var(--steel);border-bottom:1px solid var(--line);
}
.mini-calendar .cal-day{
  text-align:center;padding:8px 0;font-size:.84rem;color:var(--paper-dim);cursor:pointer;background:none;border:none;
}
.mini-calendar .cal-day:hover{background:rgba(181,101,45,.15);}
.mini-calendar .cal-day.out{color:#3a3d42;cursor:default;}
.mini-calendar .cal-day.out:hover{background:none;}
.mini-calendar .cal-day.today{box-shadow:inset 0 0 0 1px var(--copper-light);color:var(--copper-light);}
.mini-calendar .cal-day.selected{background:var(--copper);color:#1a1002;font-weight:600;}
.mform-radio-row{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.mform-radio-row label{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--paper-dim);text-transform:none;font-family:'Inter',sans-serif;}
.mform-radio-row input{accent-color:var(--copper);}


/* ==========================================================================
   Traçabilité (tracabilite.php)
   ========================================================================== */

.tracabilite-search{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;justify-content:flex-end;}
.tracabilite-wrap{max-width:1180px;margin:10px auto 90px;padding:0 28px;}
table.tracabilite{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.tracabilite th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
}
table.tracabilite td{padding:9px 14px;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--paper-dim);vertical-align:middle;}
tr.trac-produit td{background:var(--copper);color:#1a1002;font-weight:700;text-transform:uppercase;font-size:.82rem;}
tr.trac-production td{background:var(--ink-3);color:var(--copper-light);font-weight:600;font-size:.78rem;}
tr.trac-etiquette td{color:var(--steel);font-style:italic;}
.trac-photo{width:46px;height:46px;object-fit:cover;border:1px solid var(--line);}
.trac-photo-empty{width:46px;height:46px;border:1px dashed var(--line);background:var(--ink-3);}
.tracabilite-footer{max-width:1180px;margin:0 auto 90px;padding:0 28px;color:var(--steel);font-size:.8rem;font-family:'JetBrains Mono',monospace;}
.tracabilite-empty{max-width:1180px;margin:40px auto 90px;padding:0 28px;color:var(--steel);text-align:center;font-family:'JetBrains Mono',monospace;font-size:.86rem;}

.besoins-mod-controls{
  max-width:1180px;margin:26px auto 0;padding:0 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
table.besoins-mod{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.besoins-mod th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.04em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
  cursor:pointer;user-select:none;
}
table.besoins-mod th::after{content:'⇅';margin-left:6px;color:#4a4d52;font-size:.8em;}
table.besoins-mod th.sort-asc::after{content:'↑';color:var(--copper-light);}
table.besoins-mod th.sort-desc::after{content:'↓';color:var(--copper-light);}
table.besoins-mod td{padding:9px 14px;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--paper-dim);}
table.besoins-mod tr:hover td{background:rgba(181,101,45,.06);}
table.besoins-mod tr.is-hidden{display:none;}
table.besoins-mod td.cat{color:var(--copper-light);}
table.besoins-mod td.nom{color:var(--paper);}
table.besoins-mod input.mod-num{
  width:100px;background:var(--ink);border:1px solid var(--line);color:var(--paper);
  padding:7px 9px;font-family:'JetBrains Mono',monospace;font-size:.84rem;border-radius:2px;text-align:right;
}
table.besoins-mod input.mod-num:focus{border-color:var(--copper);outline:none;}
.mod-cat-filter{
  background:var(--ink);border:1px solid var(--line);color:var(--paper-dim);
  padding:5px 8px;font-size:.76rem;border-radius:2px;margin-top:4px;
}
@media(max-width:640px){
  .materiel-sheet dl{grid-template-columns:130px 1fr;margin-left:14px;margin-right:14px;}
  .materiel-sheet .m-fournisseur, .materiel-sheet .m-doc{margin-left:14px;margin-right:14px;}
}


/* ==========================================================================
   Feuille journalière (feuille_jour.php)
   ========================================================================== */

.fj-list-wrap{max-width:1280px;margin:18px auto 90px;padding:0 28px;}
.fj-search{display:flex;justify-content:flex-end;margin-bottom:12px;}
table.fj-list{border-collapse:collapse;width:100%;background:var(--ink-2);}
table.fj-list th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
  cursor:pointer;user-select:none;white-space:nowrap;
}
table.fj-list th .arrow{color:var(--copper-light);margin-left:4px;}
table.fj-list td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--paper-dim);}
table.fj-list tr:last-child td{border-bottom:none;}
table.fj-list tr{cursor:pointer;}
table.fj-list tr:hover td{background:rgba(181,101,45,.08);}
table.fj-list td.date-col{color:var(--paper);font-family:'JetBrains Mono',monospace;white-space:nowrap;}

.fj-detail{display:none;max-width:1180px;margin:18px auto 90px;padding:0 28px;}
.fj-detail.open{display:block;}
.fj-fields{
  display:flex;gap:16px;flex-wrap:wrap;background:var(--ink-2);border:1px solid var(--line);
  padding:16px 18px;margin-bottom:2px;
}
.fj-fields .field{flex:1;min-width:180px;}
.fj-fields label{
  display:block;font-family:'JetBrains Mono',monospace;font-size:.68rem;text-transform:uppercase;
  color:var(--steel);letter-spacing:.04em;margin-bottom:6px;
}
.fj-fields input, .fj-fields select{
  width:100%;background:var(--ink);border:1px solid var(--line);color:var(--paper-dim);
  padding:9px 11px;font-size:.86rem;border-radius:2px;font-family:'Inter',sans-serif;
}
.fj-fields input[disabled]{color:var(--steel);}
.fj-fields select:focus, .fj-fields input:focus{border-color:var(--copper);outline:none;}

table.fj-actions{border-collapse:collapse;width:100%;background:var(--ink-2);border:1px solid var(--line);border-top:none;}
table.fj-actions th{
  text-align:left;padding:11px 14px;font-family:'JetBrains Mono',monospace;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel);border-bottom:1px solid var(--line);
}
table.fj-actions th.col-reponse{text-align:center;width:120px;}
table.fj-actions td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--paper-dim);}
table.fj-actions td.col-reponse{text-align:center;}
table.fj-actions input[type="checkbox"]{width:18px;height:18px;accent-color:var(--copper);}

.fj-observation{
  width:100%;min-height:70px;background:var(--ink-2);border:1px solid var(--line);border-top:none;
  color:var(--paper-dim);padding:12px 14px;font-family:'Inter',sans-serif;font-size:.88rem;resize:vertical;
}
.fj-observation:focus{border-color:var(--copper);outline:none;}

.fj-detail-actions{display:flex;justify-content:space-between;margin-top:20px;}
.fj-detail-actions button{
  padding:10px 26px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;
  border-radius:2px;cursor:pointer;border:none;
}
.fj-detail-actions .btn-enregistrer{background:var(--copper);color:#1a1002;}
.fj-detail-actions .btn-enregistrer:hover{background:var(--copper-light);}
.fj-detail-actions .btn-retour{background:var(--ink-3);color:var(--paper-dim);border:1px solid var(--line) !important;}
.fj-detail-actions .btn-retour:hover{border-color:var(--steel) !important;color:var(--paper);}

/* Ajustements DataTables : feuille journalière */
#fjListView .fj-list-wrap{
  width:min(1180px, calc(100% - 56px));
  max-width:none;
  margin:26px auto 90px;
  padding:0;
}
#fjListView .dataTables_wrapper,
#formulaire .dataTables_wrapper{width:100%;}
#fjListView table.dataTable.fj-list,
#formulaire table.dataTable.fj-actions{
  width:100% !important;
  margin:0 !important;
  table-layout:fixed;
}
#fjListView table.dataTable.fj-list thead th,
#formulaire table.dataTable.fj-actions thead th{
  background:var(--ink-3) !important;
  color:var(--steel) !important;
  border-color:var(--line) !important;
}
#fjListView table.dataTable.fj-list tbody tr,
#fjListView table.dataTable.fj-list tbody tr.selected,
#fjListView table.dataTable.fj-list tbody tr.selected > *{
  background:var(--ink-2) !important;
  color:var(--paper-dim) !important;
  box-shadow:none !important;
}
#fjListView table.dataTable.fj-list tbody tr:hover,
#fjListView table.dataTable.fj-list tbody tr:hover > *{
  background:#24201d !important;
  color:var(--paper) !important;
}
#formulaire table.fj-actions th.fj-action-label,
#formulaire table.fj-actions td.fj-action-label{
  width:72% !important;
  text-align:left !important;
}
#formulaire table.fj-actions th.col-reponse,
#formulaire table.fj-actions td.col-reponse{
  width:28% !important;
  text-align:left !important;
}
#formulaire table.fj-actions .form-check{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}
#formulaire table.fj-actions .form-check-label{color:var(--paper-dim);}
#formulaire table.fj-actions input[type="text"]{
  width:100%;
  max-width:240px;
  background:var(--ink);
  border:1px solid var(--line);
  color:var(--paper);
  padding:8px 10px;
}
#formulaire .fj-detail-actions > div{display:flex;gap:8px;}
#formulaire .form-message{min-height:22px;color:#e2955f;margin:12px 0 0;}
@media(max-width:700px){
  #fjListView .fj-list-wrap{width:calc(100% - 28px);}
  #formulaire table.dataTable.fj-actions{table-layout:auto;}
  #formulaire .fj-detail-actions{align-items:stretch;flex-direction:column-reverse;gap:10px;}
  #formulaire .fj-detail-actions > div{display:grid;grid-template-columns:1fr 1fr;}
  #formulaire .fj-detail-actions button{width:100%;}
}

/* ==========================================================================
   Organigramme Google Charts
   ========================================================================== */
.org-chart-sheet{
  width:calc(100% - 56px);max-width:1500px;margin:0 auto 80px;
  background:var(--paper);color:var(--ink);border:1px solid #d1c8b8;
}
.org-chart-head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:14px 18px;background:var(--copper);color:var(--ink);
  font-family:'Big Shoulders Display',sans-serif;font-size:1.1rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;
}
.org-chart-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.org-chart-legend .svc{display:inline-flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;font-size:.68rem;}
.org-chart-legend .dot,.org-chart-sheet .service .dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;}
.org-chart-legend .svc-direction .dot,.org-chart-sheet .svc-direction .dot{background:var(--steel);}
.org-chart-legend .svc-cuisine .dot,.org-chart-sheet .svc-cuisine .dot{background:var(--copper-light);}
.org-chart-legend .svc-salle .dot,.org-chart-sheet .svc-salle .dot{background:var(--herb);}
.org-chart-scroll{padding:30px 22px 38px;overflow:auto;min-height:440px;}
#chart_div{min-width:max-content;margin:0 auto;}
#chart_div > table{margin:0 auto !important;}
.org-chart-sheet .google-visualization-orgchart-node{
  min-width:165px !important;padding:12px !important;
  background:#fffdf8 !important;color:var(--ink) !important;
  border:1px solid #c8beae !important;border-radius:2px !important;
  box-shadow:0 2px 5px rgba(38,29,20,.12) !important;
  font-family:'Inter',sans-serif !important;
}
.org-chart-sheet .google-visualization-orgchart-node.org-node-direction{border-top:4px solid var(--steel) !important;}
.org-chart-sheet .google-visualization-orgchart-node.org-node-cuisine{border-top:4px solid var(--copper) !important;}
.org-chart-sheet .google-visualization-orgchart-node.org-node-salle{border-top:4px solid var(--herb) !important;}
.org-chart-sheet .google-visualization-orgchart-lineleft{border-left-color:#9c9283 !important;}
.org-chart-sheet .google-visualization-orgchart-lineright{border-right-color:#9c9283 !important;}
.org-chart-sheet .google-visualization-orgchart-linebottom{border-bottom-color:#9c9283 !important;}
.org-chart-sheet .service{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-weight:700;}
.org-chart-sheet .org-person img{
  width:86px !important;height:106px !important;object-fit:cover;margin:0 auto 9px;
  border:1px solid #d1c8b8;
}
.org-chart-sheet .person{color:var(--ink);font-size:.82rem;font-weight:700;line-height:1.25;text-transform:uppercase;}
.org-chart-sheet .fonction{margin-top:6px;color:#74695d;font-family:'JetBrains Mono',monospace;font-size:.68rem;font-style:normal;}
@media(max-width:700px){
  .org-chart-sheet{width:calc(100% - 28px);}
  .org-chart-head{align-items:flex-start;flex-direction:column;}
  .org-chart-scroll{padding:20px 14px 28px;}
}
@media print{
  body.organigramme-page{background:#fff !important;color:#111 !important;}
  body.organigramme-page .topbar,
  body.organigramme-page .pagehead,
  body.organigramme-page footer,
  body.organigramme-page .noprint{display:none !important;}
  body.organigramme-page #centre{padding:0 !important;}
  body.organigramme-page .org-chart-sheet{
    width:100% !important;max-width:none !important;margin:0 !important;
    border:0 !important;background:#fff !important;
  }
  body.organigramme-page .org-chart-head{background:#fff !important;border-bottom:1px solid #999;}
  body.organigramme-page .org-chart-scroll{overflow:visible !important;padding:12px 0 !important;}
  body.organigramme-page #chart_div{zoom:.72;}
  body.organigramme-page .google-visualization-orgchart-node{
    background:#fff !important;box-shadow:none !important;break-inside:avoid;
  }
}

.ticket{
  background:var(--paper);color:var(--ink);
  border:none;padding:22px 18px 26px;
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  position:relative;text-align:left;width:100%;
  opacity:0;transform:translateY(-10px);
  animation:pin .5s ease forwards;
}
.rail .ticket:nth-child(1){animation-delay:.02s;}
.rail .ticket:nth-child(2){animation-delay:.08s;}
.rail .ticket:nth-child(3){animation-delay:.14s;}
.rail .ticket:nth-child(4){animation-delay:.20s;}
.rail .ticket:nth-child(5){animation-delay:.26s;}
.rail .ticket:nth-child(6){animation-delay:.32s;}
@keyframes pin{to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){
  .ticket{animation:none;opacity:1;transform:none;}
}
.ticket::before{ /* pastille qui l'épingle au rail */
  content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;
  background:var(--steel);border-radius:50%;
  box-shadow:0 2px 3px rgba(0,0,0,.4);
}
.ticket::after{ /* bord déchiré */
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;
  background:
    linear-gradient(135deg, var(--paper) 50%, transparent 50%) 0 0/14px 14px,
    linear-gradient(-135deg, var(--paper) 50%, transparent 50%) 0 0/14px 14px;
  background-repeat:repeat-x;
}
.ticket .num{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--steel);}
.ticket .display{font-size:1.5rem;line-height:1;color:var(--ink);}
.ticket p{margin:0;font-size:.82rem;color:#54524a;line-height:1.4;}
.ticket .go{
  margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:.72rem;
  color:var(--copper);display:flex;align-items:center;gap:6px;
}
.ticket:hover{background:#fff;}
.ticket:hover .go{color:var(--herb);}
.ticket.active{outline:2px solid var(--copper);outline-offset:-2px;}
.ticket.solo .go::after{content:"→";}
.ticket:not(.solo) .go::after{content: attr(data-state);}

/* ---------- Panneau de sous-rubriques ---------- */
.panel{max-width:1180px;margin:52px auto 0;padding:0 28px;display:none;}
.panel.open{display:block;}
.panel-head{
  display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);
  padding-bottom:12px;margin-bottom:22px;
}
.panel-head .display{font-size:1.6rem;color:var(--paper);}
.panel-head .mono{color:var(--steel);font-size:.74rem;}
.chit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:900px){.chit-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.chit-grid{grid-template-columns:1fr;}}
.chit{
  background:var(--ink-2);border:1px solid var(--line);padding:16px;
  display:flex;flex-direction:column;gap:8px;transition:border-color .15s, transform .15s;
}
.chit:hover{border-color:var(--copper);transform:translateY(-2px);}
.chit .mono{font-size:.68rem;color:var(--copper-light);}
.chit .name{font-size:1rem;font-weight:600;color:var(--paper);}

/* ---------- Bloc "plannings du jour" (état vide) ---------- */
.lineup{max-width:1180px;margin:70px auto 0;padding:0 28px 90px;}
.lineup-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px;flex-wrap:wrap;gap:10px;
}
.lineup-head .display{font-size:1.6rem;}
.lineup-head .mono{color:var(--steel);font-size:.74rem;}
.empty-service{
  border:1px dashed #3a3d42;padding:44px 26px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.empty-service .display{font-size:1.3rem;color:var(--paper-dim);}
.empty-service p{color:var(--steel);max-width:44ch;margin:0;font-size:.9rem;line-height:1.5;}
.empty-service .toppill.action{padding:10px 18px;font-size:.78rem;}


/* ==========================================================================
   Page planning (planning.php)
   ========================================================================== */

.pagehead{max-width:1280px;margin:0 auto;padding:40px 28px 0;}
.pagehead h1{font-size:clamp(2rem,4vw,3rem);}

.controls{
  max-width:1280px;margin:26px auto 0;padding:16px 28px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.weeknav{display:flex;align-items:center;gap:14px;}
.weeknav button{
  width:30px;height:30px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  color:var(--paper-dim);transition:border-color .15s,color .15s;
}
.weeknav button:hover{border-color:var(--copper);color:var(--copper-light);}
.weeknav .label{font-family:'Big Shoulders Display',sans-serif;font-size:1.15rem;text-transform:uppercase;min-width:230px;text-align:center;}
.weeknav .label .mono{display:block;color:var(--steel);font-size:.68rem;text-transform:none;margin-top:2px;font-family:'JetBrains Mono',monospace;letter-spacing:0;}

.legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.legend label{
  display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--paper-dim);cursor:pointer;
  padding:5px 10px;border:1px solid var(--line);
}
.legend label:has(input:checked){border-color:#3a3d42;}
.legend .dot{width:9px;height:9px;flex:none;}
.legend input{accent-color:var(--copper);}

/* ---------- Grille planning ---------- */
.board-wrap{max-width:1280px;margin:0 auto;padding:0 28px 90px;}
.board-scroll{overflow-x:auto;border:1px solid var(--line);}
table.board{border-collapse:collapse;width:100%;min-width:920px;}
table.board th, table.board td{border:1px solid var(--line);vertical-align:top;}
table.board thead th{
  background:var(--ink-2);padding:12px 10px;text-align:left;
  font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.05em;color:var(--steel);
  text-transform:uppercase;position:sticky;top:var(--topbar-h, 57px);z-index:10;
}
table.board thead th .daynum{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:1.4rem;color:var(--paper);text-transform:none;margin-top:2px;}
table.board thead th.today{color:var(--copper-light);background:#241b12;}
table.board thead th.today .daynum{color:var(--copper-light);}
th.rowhead{
  position:sticky;left:0;background:var(--ink-2);z-index:5;min-width:168px;padding:12px 14px;text-align:left;
}
td.rowhead-cell, th.rowhead{border-right:2px solid var(--line);}
.employee .name{font-size:.86rem;font-weight:600;color:var(--paper);}
.employee .role{display:block;font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--steel);margin-top:2px;}
td.cell{padding:6px;min-width:126px;background:var(--ink);}
td.cell.today{background:#1c1509;}
td.cell.off{background:repeating-linear-gradient(135deg,var(--ink) 0 8px, var(--ink-3) 8px 16px);}
td.cell.off::after{content:"repos";font-family:'JetBrains Mono',monospace;font-size:.64rem;color:var(--steel);display:block;text-align:center;padding-top:16px;}

/* .shift{
  background:var(--paper);color:var(--ink);padding:7px 8px 8px;margin-bottom:5px;
  border-left:4px solid var(--copper);position:relative;
} */
.shift:last-child{margin-bottom:0;}
/* .shift.svc-salle{border-left-color:var(--herb);}
.shift.svc-plonge{border-left-color:var(--steel);}
.shift.svc-patiss{border-left-color:var(--violet);} */
.shift .time{font-family:'JetBrains Mono',monospace;font-size:.74rem;font-weight:500;}
.shift .pause{display:block;font-family:'JetBrains Mono',monospace;font-size:.63rem;color:#6b675f;margin-top:2px;}
.shift{
  color:var(--ink);
  padding:7px 8px 8px;
  margin-bottom:5px;
  position:relative;
}


tfoot td{
  padding:12px 10px;font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--paper-dim);
  background:var(--ink-2);position:sticky;bottom:0;
}
tfoot th.rowhead{background:var(--ink-2);}
tfoot .total{color:var(--copper-light);font-weight:600;}


/* ==========================================================================
   Responsive
   ========================================================================== */

/* Tablette : on resserre les marges latérales */
@media (max-width: 900px){
  .topbar, .hero, .rail, .panel, .lineup, .pagehead, .controls, .board-wrap, footer{
    padding-left:18px;padding-right:18px;
  }
  .rail-wire{left:18px;right:18px;}
}

/* Mobile : menu en burger + colonnes empilées */
@media (max-width: 760px){
  .nav-toggle{display:flex;}

  .topbar{position:sticky;}
  .topnav{
    display:none;
    order:5;width:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--ink-2);border:1px solid var(--line);
    margin-top:10px;
  }
  .topnav.open{display:flex;}
  .topnav a{
    width:100%;padding:12px 14px;border-bottom:1px solid var(--line);border-radius:0;
  }
  .topnav a:last-child{border-bottom:none;}

  .toppill.action#majBtn{order:2;}
  .user-row{order:3;}

  .hero h1{gap:10px 14px;}

  .controls{flex-direction:column;align-items:stretch;}
  .weeknav{justify-content:space-between;}
  .weeknav .label{min-width:0;flex:1;}
  .legend{justify-content:flex-start;gap:8px;}
  .legend label{padding:5px 8px;font-size:.72rem;}
  .controls > a.toppill.action{align-self:flex-start;}
  .pagehead{padding-top:28px;}
  table.board thead th{top:var(--topbar-h, 96px);}

  .chit-grid{grid-template-columns:1fr;}
}

/* Petits écrans : marges encore plus réduites */
@media (max-width: 480px){
  .topbar, .hero, .rail, .panel, .lineup, .pagehead, .controls, .board-wrap, footer{
    padding-left:14px;padding-right:14px;
  }
  .rail-wire{left:14px;right:14px;}
  .brand small{display:none;} /* l'adresse cède la place au menu burger */
}


/* ==========================================================================
   Pages de gestion (fiches CRUD type "philosophie.php")
   Thème sombre appliqué par-dessus Bootstrap (grille, formulaires, onglets,
   modale conservés — seule l'habillage visuel change). Réutilisable pour
   toute future page du même type (produits, recettes, employés…).
   ========================================================================== */

/* Petit outil de sélection façon ticket, pour les <select> natifs */
.select-ticket{
  background:var(--ink-2);border:1px solid var(--line);color:var(--paper);
  border-radius:2px;padding:.6rem .8rem;font-size:.86rem;
}
.select-ticket:focus{border-color:var(--copper);box-shadow:none;outline:none;}

/* Boutons d'action contextuels injectés en JS (#navbarNav) */
#navbarNav{display:flex;gap:10px;flex-wrap:wrap;}
#navbarNav .nav-link{
  display:flex;align-items:center;gap:6px;
  background:var(--copper);color:#1a1002;font-weight:600;
  padding:9px 16px;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;
  border-radius:2px;transition:background .15s;
}
#navbarNav .nav-link:hover{background:var(--copper-light);}
#navbarNav .nav-link.bi-pencil{background:var(--ink-2);color:var(--paper-dim);border:1px solid var(--line);}
#navbarNav .nav-link.bi-pencil:hover{border-color:var(--copper);color:var(--paper);}

/* ---------- Fiche technique (détail affiché : #fiche .card) ---------- */
#fiche{display:none;}
#fiche.open{display:flex;}
#fiche-wrap{max-width:900px;margin:0 auto 90px;}
#fiche .card{
  background:var(--paper);color:var(--ink);border:none;border-radius:0;
  position:relative;box-shadow:none;
}
#fiche .card::after{ /* bord déchiré, en écho au rail de tickets de l'accueil */
  content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;
  background:
    linear-gradient(135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px,
    linear-gradient(-135deg, var(--ink) 50%, transparent 50%) 0 0/14px 14px;
  background-repeat:repeat-x;
}
#fiche .card-title{border-bottom:1px solid #d3ccbc;padding:18px;text-align:center;}
#fiche #card-title{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:1.5rem;}
#fiche #subtitle{color:#6b675f;font-family:'JetBrains Mono',monospace;text-transform:none;font-size:.8rem;font-weight:400;}
#fiche .card-body{padding:8px 18px 18px;}
#fiche .table-responsive.gris{background:rgba(21,23,26,.06);}
#fiche table.table{color:var(--ink);margin-bottom:0;}
#fiche table.table td{border-color:#d3ccbc;font-size:.88rem;vertical-align:middle;}
#fiche table.table td:first-child{font-family:'JetBrains Mono',monospace;color:#8a8578;width:2.2em;}
#fiche table.table td:last-child{width:1%;white-space:nowrap;vertical-align:top;}
/* #table-fiche img.img-fluid, #table-fab img.img-fluid{
  max-width:200px;border-radius:2px;display:block;cursor:zoom-in;
}
#table-fiche img.img-fluid[src=""], #table-fab img.img-fluid[src=""]{display:none;} */
#table-fiche img.img-fluid,
#table-fab img.img-fluid,
#table-accFab img.img-fluid,
#table-accDress img.img-fluid{
    max-width:200px;
    max-height:160px;
    width:auto;
    height:auto;
    border-radius:2px;
    display:block;
    cursor:zoom-in;
}

#table-fiche img.img-fluid[src=""],
#table-fab img.img-fluid[src=""],
#table-accFab img.img-fluid[src=""],
#table-accDress img.img-fluid[src=""]{
    display:none;
}

/* ---------- Formulaire d'édition ---------- */
#formulaire:not(.simple-modal-overlay):not(.cfora-page-form){
  max-width:900px;margin:32px auto 60px;background:var(--ink-2);
  border:1px solid var(--line);
}
.nav-tabs{border-bottom:1px solid var(--line);padding:0 8px;}
.nav-tabs .nav-link{
  border:none;border-bottom:2px solid transparent;border-radius:0;
  color:var(--steel);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  padding:14px 16px;background:transparent;
}
.nav-tabs .nav-link.active{color:var(--paper);border-bottom-color:var(--copper);background:transparent;}
.nav-tabs .nav-link:hover{color:var(--paper-dim);}

.form-control, .form-select{
  background:var(--ink);border:1px solid var(--line);color:var(--paper);border-radius:2px;
}
.form-control:focus, .form-select:focus{
  background:var(--ink);color:var(--paper);border-color:var(--copper);box-shadow:none;
}

.form-floating > label{color:var(--steel);}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label{color:var(--steel);}
.form-check-input{background-color:var(--ink);border:1px solid var(--steel);}
.form-check-input:checked{background-color:var(--copper);border-color:var(--copper);}
.form-check-label{color:var(--paper-dim);}
.input-group-text{background:var(--ink-2);border:1px solid var(--line);color:var(--paper-dim);}

#formulaire:not(.simple-modal-overlay) .btn-primary{
  background:var(--copper);border-color:var(--copper);color:#1a1002;font-weight:600;
  border-radius:2px;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;
}
#formulaire:not(.simple-modal-overlay) .btn-primary:hover{background:var(--copper-light);border-color:var(--copper-light);}
/* Boutons "Annuler" : variante discrète pour bien les distinguer des actions de validation */
#formulaire:not(.simple-modal-overlay) .btn-primary#annuler, #formulaire:not(.simple-modal-overlay) .btn-primary#anOp{
  background:transparent;border-color:var(--line);color:var(--paper-dim);
}
#formulaire:not(.simple-modal-overlay) .btn-primary#annuler:hover, #formulaire:not(.simple-modal-overlay) .btn-primary#anOp:hover{border-color:var(--steel);color:var(--paper);}

#table-fab{color:var(--paper);}
#table-fab td{border-color:var(--line);vertical-align:middle;font-size:.86rem;}
#table-fab .modifier{color:var(--copper-light);cursor:pointer;}
#table-fab .modifier:hover{color:var(--copper);}
#table-fab .supprimer{color:var(--alert);cursor:pointer;margin-right:4px;}
#table-fab .supprimer:hover{color:#d9584a;}

/* ---------- Modale d'aperçu image ---------- */
.modal-content{background:var(--ink-2);border:1px solid var(--line);border-radius:2px;color:var(--paper);}
.btn-close{filter:invert(1) grayscale(1) brightness(1.6);}

@media(max-width:760px){
  #formulaire:not(.simple-modal-overlay):not(.cfora-page-form){margin:20px 12px 40px;}
}

/* ==========================================================================
   Composant commun pour toutes les DataTables
   ========================================================================== */
.cfora-table-view{width:100%;}
.cfora-table-toolbar{
  width:min(1180px, calc(100% - 56px));margin:22px auto 14px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.cfora-table-toolbar .cfora-table-filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.cfora-table-shell{
  width:min(1180px, calc(100% - 56px));margin:0 auto 80px;
  overflow-x:auto;border:1px solid #d1c8b8;background:var(--paper);
}
.cfora-table-shell .dataTables_wrapper{width:100%;}
table.cfora-datatable{
  width:100% !important;margin:0 !important;border-collapse:collapse !important;
  table-layout:auto;background:var(--paper) !important;color:var(--ink) !important;
}
table.cfora-datatable thead th{
  position:static !important;z-index:auto !important;
  background:var(--copper) !important;color:#18110c !important;
  padding:12px 14px !important;border:0 !important;border-bottom:1px solid #8f4d22 !important;
  font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;
}
table.cfora-datatable tbody td{
  background:var(--paper) !important;color:#25221d !important;
  padding:12px 14px !important;border:0 !important;border-bottom:1px solid #d8d0c2 !important;
  font-size:.88rem;vertical-align:middle;
}
table.cfora-datatable tbody tr:last-child td{border-bottom:0 !important;}
table.cfora-datatable tbody tr:hover td{
  background:#ead7c5 !important;color:#17120e !important;
}
table.cfora-datatable tbody tr.selected td,
table.cfora-datatable tbody tr.selected > *{
  background:#dfc2a8 !important;color:#17120e !important;box-shadow:inset 3px 0 0 var(--copper) !important;
}
table.cfora-datatable.no-select tbody tr.selected td,
table.cfora-datatable.no-select tbody tr.selected > *{
  background:var(--paper) !important;color:#25221d !important;box-shadow:none !important;
}
table.cfora-datatable .dt-type-numeric,
table.cfora-datatable .param-num{text-align:center;color:#884519 !important;}
table.cfora-datatable .svc{
  display:inline-flex;align-items:center;gap:9px;color:#332e28;font-weight:500;
}
table.cfora-datatable .svc .dot{width:9px;height:9px;flex:none;border-radius:50%;}
table.cfora-datatable .svc.svc-direction .dot{background:var(--steel);}
table.cfora-datatable .svc.svc-cuisine .dot{background:var(--copper);}
table.cfora-datatable .svc.svc-salle .dot{background:var(--herb);}
table.cfora-datatable td.fonction{
  color:#211d18 !important;font-weight:700;font-size:.92rem;
}
table.cfora-datatable td.base{
  color:#6f665a !important;font-family:'JetBrains Mono',monospace;font-size:.78rem;
}
.cfora-table-action{width:72px;text-align:center !important;}
.cfora-icon-button{
  width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  background:#dfc2a8;color:#51280f;border:1px solid #c99b76;border-radius:2px;cursor:pointer;
}
.cfora-icon-button:hover{background:var(--copper);color:#17100b;border-color:var(--copper);}
.cfora-icon-button .bi{pointer-events:none;}
.cfora-table-toolbar .toppill.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;}
.cfora-table-toolbar .toppill.action.secondary{
  background:transparent;color:var(--paper);border:1px solid var(--line);
}
.cfora-table-toolbar .toppill.action.secondary:hover{
  background:var(--ink-3);color:var(--copper-light);border-color:var(--copper);
}
.registre-document{
  display:block !important;
  width:calc(100% - 56px) !important;max-width:1400px !important;
  margin:0 auto 80px !important;
  background:var(--paper) !important;border:1px solid #d1c8b8 !important;
}
.registre-document-head{
  display:flex !important;justify-content:space-between;align-items:center;gap:16px;
  padding:13px 18px;background:var(--copper) !important;color:var(--ink) !important;
  font-family:'Big Shoulders Display',sans-serif;font-size:1.05rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;
}
.registre-document-head .mono{
  font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:500;letter-spacing:.05em;
}
.registre-document embed{
  display:block !important;width:100% !important;
  height:calc(100vh - 290px) !important;min-height:650px;
  margin:0 !important;background:#fff;
}
.cfora-table-form{width:min(1180px, calc(100% - 56px));margin:22px auto 80px;}
.cfora-table-form .cfora-table-shell{width:100%;margin:0;border-top:0;}
.cfora-table-form table.cfora-datatable th:first-child,
.cfora-table-form table.cfora-datatable td:first-child{text-align:left;}
.cfora-table-form table.cfora-datatable input[type='text'],
.cfora-table-form table.cfora-datatable input[type='tel'],
table.cfora-datatable input[type='text'],
table.cfora-datatable input[type='tel']{
  width:100%;max-width:260px;background:#fffdf8;color:#201c17;border:1px solid #b8ae9e;
  padding:8px 10px;border-radius:2px;
}
table.cfora-datatable thead select{
  display:block;width:100%;min-width:130px;margin-top:7px;
  background:#fffdf8;color:var(--ink);border:1px solid #9d724f;
  padding:6px 8px;border-radius:2px;font-family:'Inter',sans-serif;font-size:.76rem;
  text-transform:none;letter-spacing:0;
}
.cfora-loading{
  width:calc(100% - 56px);max-width:1180px;margin:0 auto 16px;padding:13px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:#ead7c5;color:var(--ink);border:1px solid #d1b394;
  font-family:'JetBrains Mono',monospace;font-size:.76rem;
}
.cfora-table-form table.cfora-datatable input[type='checkbox']{
  width:18px;height:18px;accent-color:var(--copper);
}
.cfora-table-form table.cfora-datatable th.cfora-action-col,
.cfora-table-form table.cfora-datatable td.cfora-action-col{width:72% !important;text-align:left !important;}
.cfora-table-form table.cfora-datatable th.cfora-response-col,
.cfora-table-form table.cfora-datatable td.cfora-response-col{width:28% !important;text-align:left !important;}
.cfora-table-form table.cfora-datatable .form-check{
  display:flex;align-items:center;gap:10px;margin:0;
}
.cfora-table-form table.cfora-datatable .form-check-label{
  color:#25221d !important;text-transform:none;font-family:'Inter',sans-serif;font-size:.86rem;
}

/* Panneau de saisie dans le même esprit que les fiches papier */
.cfora-page-form{
  background:var(--paper) !important;color:var(--ink) !important;
  border:1px solid #d1c8b8 !important;
}
.cfora-page-form .fj-fields{
  background:#e8e2d7 !important;border-color:#d1c8b8 !important;
}
.cfora-page-form .fj-fields label{color:#766e62 !important;}
.cfora-page-form .fj-fields input,
.cfora-page-form .fj-fields select{
  background:#fffdf8 !important;color:#24201b !important;border-color:#bcb2a2 !important;
}
.cfora-page-form .fj-observation{
  background:#fffdf8 !important;color:#24201b !important;border-color:#d1c8b8 !important;
}
.cfora-page-form .fj-observation::placeholder{color:#81796d !important;}
.cfora-page-form .form-message{color:#9b3f2c !important;}
.cfora-page-form .fj-detail-actions{padding:0 18px 18px;}
.cfora-page-form .fj-detail-actions .btn-retour{
  background:#e3ddd2 !important;color:#28231e !important;border-color:#bcb2a2 !important;
}

/* Modales assorties aux fiches, et non boîte sombre sur boîte sombre */
.simple-modal{background:var(--paper);color:var(--ink);border-color:#d1c8b8;}
.simple-modal-head{background:var(--copper);border-bottom-color:#8f4d22;}
.simple-modal-head h3,.simple-modal-head .close-x{color:#18110c;}
.simple-modal-body label{color:#746b5f;}
.simple-modal-body input[type='text'],
.simple-modal-body textarea,
.simple-modal-body input[type='file'],
.simple-modal-body select,
.modal-grid-2col select{
  background:#fffdf8;color:#24201b;border-color:#bcb2a2;
}
.simple-modal-body .form-check-label{color:#2b261f;}
.simple-modal-foot{background:#e8e2d7;border-top-color:#d1c8b8;}
.simple-modal-foot .btn-cloturer{color:#28231e;border-color:#a99e8d;}
.simple-modal-foot .btn-cloturer:hover{background:#ddd5c8;color:#17120e;}
.simple-modal-foot .btn-modifier,
.cfora-actions .btn-primary{
  background:var(--copper);color:#16100b;border:1px solid var(--copper);
  padding:10px 24px;border-radius:2px;font-weight:700;text-transform:uppercase;cursor:pointer;
}
.simple-modal-foot .btn-modifier:hover,
.cfora-actions .btn-primary:hover{background:var(--copper-light);border-color:var(--copper-light);}
.simple-modal-foot .btn-cloturer,
.cfora-actions .btn-secondary{
  background:transparent;color:#28231e !important;border:1px solid #918777;
  -webkit-text-fill-color:#28231e !important;
  padding:10px 24px;border-radius:2px;font-weight:600;text-transform:uppercase;cursor:pointer;
  opacity:1 !important;
}
.simple-modal-foot .btn-cloturer:hover,
.cfora-actions .btn-secondary:hover{
  background:#d8d0c3;color:#17120e !important;border-color:#6f665a;
  -webkit-text-fill-color:#17120e !important;
}
.simple-modal-foot .btn-cloturer:focus,
.simple-modal-foot .btn-cloturer:active,
.simple-modal-foot .btn-cloturer:disabled,
#formulaire.simple-modal-overlay .simple-modal-foot #annuler{
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  opacity:1 !important;
}
@media(max-width:700px){
  .cfora-table-toolbar,.cfora-table-shell,.cfora-table-form,.registre-document{width:calc(100% - 28px);}
  .cfora-table-toolbar{align-items:stretch;flex-direction:column;}
  .cfora-table-toolbar .search-ticket{width:100%;}
  .registre-document embed{height:70vh !important;min-height:480px;}
}

/* ==========================================================================
   Accordéons de données communs (approvisionnement et pages comparables)
   ========================================================================== */
.cfora-accordion{
  width:min(1280px, calc(100% - 56px));margin:24px auto 80px;
  border:1px solid #d1c8b8;background:var(--paper);color:var(--ink);
}
.cfora-accordion .accordion-item{
  border:0;border-bottom:1px solid #d1c8b8;background:var(--paper);
}
.cfora-accordion .accordion-item:last-child{border-bottom:0;}
.cfora-accordion .accordion-header{margin:0;}
.cfora-accordion .accordion-button{
  width:100%;padding:14px 18px;background:var(--copper);color:#18110c;
  border:0;border-radius:0;box-shadow:none;font-family:'JetBrains Mono',monospace;
  font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.cfora-accordion .accordion-button:not(.collapsed){background:var(--copper-light);color:#18110c;}
.cfora-accordion .accordion-button:focus{box-shadow:inset 0 0 0 2px rgba(21,23,26,.25);}
.cfora-accordion .accordion-button::after{filter:brightness(.2);}
.cfora-accordion .accordion-body{padding:18px;background:#e8e2d7;}
.cfora-accordion .cfora-table-shell{width:100%;margin:0;}
.cfora-accordion .dataTables_wrapper{padding:0;background:var(--paper);color:var(--ink);}
.cfora-accordion .dt-buttons{display:flex;gap:8px;flex-wrap:wrap;padding:14px;}
.cfora-accordion .dt-button{
  margin:0 !important;padding:9px 14px !important;background:var(--copper) !important;
  color:#18110c !important;border:1px solid var(--copper) !important;border-radius:2px !important;
  font-weight:700 !important;box-shadow:none !important;
}
.cfora-accordion .dt-button:hover{background:var(--copper-light) !important;border-color:var(--copper-light) !important;}
.cfora-accordion .dt-button.disabled{opacity:.45 !important;cursor:not-allowed !important;}
.cfora-accordion .dataTables_filter{padding:14px;text-align:right;color:#5f574c;}
.cfora-accordion .dataTables_filter input{
  margin-left:8px;padding:9px 12px;background:#fffdf8;color:#24201b;
  border:1px solid #bcb2a2;border-radius:2px;
}
.cfora-accordion .dataTables_info{padding:10px 14px;color:#6f665a;font-family:'JetBrains Mono',monospace;font-size:.72rem;}
.appro-alert{width:min(1280px, calc(100% - 56px));margin:20px auto 0;background:var(--alert);}
.appro-alert:empty,.appro-alert #error:empty{display:none;}
.appro-detail{width:100%;}
.appro-detail-title{
  width:min(1180px, calc(100% - 56px));margin:18px auto 12px;color:var(--paper);
  text-align:center;font-size:2rem;
}
.appro-message{width:min(560px, calc(100% - 56px));margin:0 auto 16px;}
.appro-message input{width:100%;}
.appro-detail .cfora-table-shell{margin-bottom:80px;}

/* Même traitement clair pour les anciennes modales Bootstrap encore utilisées. */
.modal-content{background:var(--paper);color:var(--ink);border-color:#d1c8b8;}
.modal-header{background:var(--copper);color:#18110c;border-bottom-color:#8f4d22;}
.modal-header .btn-close{filter:none;opacity:.85;}
.modal-body{background:var(--paper);color:#28231e;}
.modal-footer{background:#e8e2d7;border-top-color:#d1c8b8;}
.modal-footer .btn-primary{background:var(--copper);color:#18110c;border-color:var(--copper);font-weight:700;}
.modal-footer .btn-primary:hover{background:var(--copper-light);border-color:var(--copper-light);}
.modal-footer .btn-secondary{background:transparent;color:#28231e;border-color:#918777;font-weight:600;}
.modal-footer .btn-secondary:hover{background:#d8d0c3;color:#17120e;border-color:#6f665a;}
.modal-body .form-check-label{color:#28231e;}
.modal-body .form-message{margin:8px 0;color:#9b3f2c;font-weight:600;}

/* Calendrier jQuery UI commun aux formulaires historiques. */
.modal-body .ui-datepicker{width:100%;padding:8px;background:#fffdf8;color:#28231e;border:1px solid #d1c8b8;}
.modal-body .ui-datepicker-header{background:var(--copper);color:#18110c;border:0;border-radius:0;}
.modal-body .ui-datepicker-prev,.modal-body .ui-datepicker-next{cursor:pointer;}
.modal-body .ui-datepicker th{color:#6f665a;font-family:'JetBrains Mono',monospace;font-size:.68rem;text-transform:uppercase;}
.modal-body .ui-datepicker td a{
  background:var(--paper);color:#28231e;border:1px solid #d8d0c2;text-align:center;
}
.modal-body .ui-datepicker td a:hover{background:#ead7c5;border-color:#c99b76;}
.modal-body .ui-datepicker td .ui-state-active{background:var(--copper);color:#18110c;border-color:var(--copper);}

@media(max-width:700px){
  .cfora-accordion,.appro-alert{width:calc(100% - 28px);}
  .cfora-accordion .accordion-body{padding:10px;}
  .cfora-accordion .dataTables_filter{text-align:left;}
  .cfora-accordion .dataTables_filter input{display:block;width:100%;margin:8px 0 0;}
}
@media print {
    .noprint {
        display: none !important;
    }
}
.select-ticket:disabled {
    background-color: var(--charcoal, #151719) !important;
    color: #d8cfc0 !important;
    border-color: #34383b !important;
    opacity: .55;
}



/* ==========================================================================
   Modales CFORA - formulaires de fiches et adaptation mobile
   ========================================================================== */
.simple-modal .nav-tabs{border-bottom-color:#d1c8b8;}
.simple-modal .nav-tabs .nav-link{color:#746b5f;}
.simple-modal .nav-tabs .nav-link.active{color:var(--ink);border-bottom-color:var(--copper);}
.simple-modal .nav-tabs .nav-link:hover{color:#2b261f;}
.simple-modal-body input[type='date'],
.simple-modal-body input[type='number'],
.simple-modal-body input[type='email'],
.simple-modal-body input[type='tel'],
.simple-modal-body .form-control,
.simple-modal-body .form-select{
  background:#fffdf8;color:#24201b;border-color:#bcb2a2;box-shadow:none;
}
.simple-modal-body .form-control:focus,
.simple-modal-body .form-select:focus{
  background:#fffdf8;color:#24201b;border-color:var(--copper);box-shadow:none;
}
.simple-modal-body .form-check-input{background-color:#fffdf8;border-color:#918777;}
.simple-modal-body .form-check-input:checked{background-color:var(--copper);border-color:var(--copper);}
.simple-modal-body .input-group-text{background:#e8e2d7;color:#4d463d;border-color:#bcb2a2;}
.simple-modal-body .btn-primary,
.simple-modal-body .btn-valider-tab{
  background:var(--copper);color:#16100b;border:1px solid var(--copper);
  padding:10px 24px;border-radius:2px;font-weight:700;text-transform:uppercase;box-shadow:none;
}
.simple-modal-body .btn-primary:hover,
.simple-modal-body .btn-valider-tab:hover{background:var(--copper-light);border-color:var(--copper-light);color:#16100b;}
.simple-modal-body .btn-primary#annuler,
.simple-modal-body .btn-primary[id^='an'],
.simple-modal-body .btn-annuler-tab{
  background:transparent;color:#28231e !important;border:1px solid #918777 !important;
  -webkit-text-fill-color:#28231e !important;opacity:1 !important;
}
.simple-modal-body .btn-primary#annuler:hover,
.simple-modal-body .btn-primary[id^='an']:hover,
.simple-modal-body .btn-annuler-tab:hover{background:#d8d0c3;color:#17120e !important;border-color:#6f665a !important;}
.simple-modal-body .mform .check-row{color:#2b261f;}
.simple-modal-body .table{color:var(--ink);}
.simple-modal-body .table td,.simple-modal-body .table th{border-color:#d1c8b8;}
.simple-modal-body .mform-fournisseurs{border-color:#d1c8b8;}
.simple-modal-body .mform-fournisseurs .head{background:#e8e2d7;color:var(--ink);border-bottom-color:#d1c8b8;}

.simple-modal .nav-tabs{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:0;
    border-bottom:1px solid #d1c8b8;
    padding:0 10px;
}

.simple-modal .nav-tabs .nav-link{
    display:inline-flex;
    width:auto;
    flex:0 0 auto;
    padding:14px 18px;
}
@media(max-width:640px){
  .simple-modal-overlay{padding:8px;align-items:flex-start;}
  .simple-modal,.simple-modal.wide{
    width:100%;max-width:none;max-height:calc(100dvh - 16px);margin:0;
  }
  .simple-modal-head{padding:12px 14px;}
  .simple-modal-body{padding:12px;}
  .simple-modal-foot{padding:12px 14px;gap:8px;}
  .simple-modal-foot button{flex:1;}
  .simple-modal .nav-tabs{
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;white-space:nowrap;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;
  }
  .simple-modal .nav-tabs .nav-link{flex:0 0 auto;padding:12px 13px;}
  .simple-modal-body .row.p-3,.simple-modal-body .row.p-5{padding:12px !important;}
}
/* Tableau des étapes dans les formulaires */
.simple-modal #table-fab,
.simple-modal #table-fab th,
.simple-modal #table-fab td{
    color:var(--ink);
}

.simple-modal #table-fab td{
    background:transparent;
}
.form-select:disabled{
  background-color:var(--ink-3) !important;
  color:var(--steel) !important;
  border-color:var(--line) !important;
  opacity:.65 !important;
}