/* Palette TRUFF'N'TRACK */
:root { --bg:#E4E0D0; --text:#B59576; --ink:#5f4936; --white:#fff; --muted:#8c7c6f; --chip:#e9dfd0; --danger:#a24b4b; }
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; background:var(--bg); color:var(--ink)}
.header{padding:1rem 1.2rem;background:linear-gradient(180deg,rgba(181,149,118,.25),rgba(181,149,118,0));position:sticky;top:0;z-index:2;backdrop-filter:blur(6px)}
.header h1{margin:0;color:var(--text);letter-spacing:.5px}
.header .subtitle{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}
main{padding:1rem}
.card{background:rgba(255,255,255,.6);border:1px solid rgba(181,149,118,.35);border-radius:16px;padding:1rem;margin:1rem 0;box-shadow:0 2px 12px rgba(0,0,0,.04)}
h2{color:var(--text);margin:.2rem 0 1rem}
.grid{display:grid;grid-template-columns:1fr;gap:.8rem}
@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}
.field{display:grid;gap:.35rem}
.field.small{max-width:220px}
.field label{font-weight:600;color:var(--text)}
.field input,.field select,.field textarea{padding:.7rem .8rem;background:var(--white);border:1px solid rgba(181,149,118,.55);border-radius:12px;outline:none}
.fieldset{margin:1rem 0}
.legend{font-weight:700;color:var(--text);margin-bottom:.4rem}
.legend.required::after{content:" *";color:var(--danger)}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .8rem}
@media(min-width:760px){.checks{grid-template-columns:repeat(5,minmax(0,1fr))}}
.checks label{display:inline-flex;align-items:center;gap:.45rem}
.actions-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.actions-footer{position:sticky;bottom:0;padding:.75rem;background:linear-gradient(0deg,rgba(228,224,208,.92),rgba(228,224,208,.5));display:flex;gap:.5rem;flex-wrap:wrap;border-top:1px solid rgba(181,149,118,.35)}
.btn{appearance:none;border:1px solid rgba(181,149,118,.8);color:var(--ink);background:var(--chip);padding:.6rem .9rem;border-radius:999px;cursor:pointer}
.btn.primary{background:var(--text);color:var(--white);border-color:var(--text)}
.btn.danger{background:#f0d6d6;border-color:#e2b3b3;color:var(--danger)}
.btn.file{position:relative;overflow:hidden}
.btn.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.icon{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:var(--ink)}
.recherche{border:1px dashed rgba(181,149,118,.5);border-radius:12px;padding:.8rem;margin:.8rem 0;background:rgba(255,255,255,.55)}
.recherche-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.recherche-title{font-weight:700;color:var(--text)}
.binomes{display:grid;grid-template-columns:1fr;gap:.5rem;margin:.6rem 0 .2rem}
@media(min-width:600px){.binomes{grid-template-columns:repeat(2,1fr)}}
.binome-row{display:flex;gap:.35rem;align-items:center}
.binome-row input{flex:1}
.caches{margin-top:.6rem}
.cache{border:1px solid rgba(181,149,118,.35);border-radius:10px;padding:.7rem;margin:.5rem 0;background:var(--white)}
.cache h4{margin:0 0 .5rem;color:var(--text)}
.cache .checks{grid-template-columns:repeat(2,minmax(0,1fr))}
.muted{color:var(--muted)}
/* layout */
.head-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.switch{display:inline-flex;align-items:center;gap:.4rem}
.switch input{accent-color:var(--text)}
/* Modal */
dialog{border:none;padding:0;background:transparent}
.modal{background:var(--white);border-radius:14px;border:1px solid rgba(181,149,118,.35);max-width:720px;width:92vw;max-height:80vh;overflow:auto}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid rgba(181,149,118,.25)}
.history-list{padding:.6rem 1rem 1rem}
.history-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px dashed rgba(181,149,118,.25);padding:.5rem 0}
/* Impression PDF avec en-tête */
@media print{
  .actions-footer,#btnAddRecherche,#btnInit47,.icon,.actions-row,dialog{display:none!important}
  body{background:white}
  .print-header{display:block !important;border-bottom:1px solid #ccc;margin-bottom:.8rem;padding-bottom:.4rem}
  .card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}
}
.print-header{display:none}
/* --- Watermark logo (40%) --- */

body { position: relative; }

.header, main { position: relative; z-index: 1; }

 

body::after {

  content: "";

  position: fixed;

  inset: 0;

  background: url('logo.png') center/40% no-repeat;

  opacity: .40;              /* 40% */

  pointer-events: none;

  z-index: 0;                /* derrière le contenu */

}

 

/* Pas de watermark à l'impression */

@media print {

  body::after { display: none !important; }

}

/* --- Binôme selector (mobile-first) --- */
.binome-bar{
  position: sticky;
  top: 74px; /* sous le header sticky */
  z-index: 2;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(181,149,118,.35);
  border-radius: 14px;
  padding: .7rem .8rem;
  margin: .7rem 0 1rem;
  backdrop-filter: blur(6px);
}
.binome-bar-row{display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap}

.segmented{
  display:inline-flex;
  border: 1px solid rgba(181,149,118,.55);
  border-radius: 999px;
  overflow:hidden;
  background: var(--white);
}
.seg{
  appearance:none;
  border: none;
  background: transparent;
  padding: .45rem .75rem;
  cursor: pointer;
  color: var(--ink);
  font-weight: 650;
}
.seg + .seg{border-left: 1px solid rgba(181,149,118,.35)}
.seg.is-active{background: rgba(181,149,118,.22); color: var(--ink)}

/* --- Résultat binôme dans un cache --- */
.result-block{
  margin-top:.8rem;
  padding:.75rem;
  border: 1px solid rgba(181,149,118,.30);
  border-radius: 12px;
  background: rgba(233,223,208,.45);
}
.result-grid{display:grid; grid-template-columns:1fr; gap:.6rem}
@media(min-width:760px){.result-grid{grid-template-columns:repeat(3,1fr)}}
.details{margin-top:.55rem}
.details summary{cursor:pointer; font-weight:700; color:var(--text); list-style:none}
.details summary::-webkit-details-marker{display:none}
.details summary::after{content:"▾"; margin-left:.35rem; color:var(--muted)}
.details[open] summary::after{content:"▴"}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.18rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(181,149,118,.35);
  background: rgba(255,255,255,.6);
  font-size:.88rem;
}
.badges{display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.3rem}

/* Récap binômes */
.recap-section h3{margin:.8rem 0 .4rem; color:var(--text)}
.recap-acc details{border:1px solid rgba(181,149,118,.30); border-radius:12px; background: rgba(255,255,255,.65); padding:.55rem .7rem; margin:.55rem 0}
.recap-acc summary{font-weight:800; color:var(--ink); cursor:pointer}
.recap-acc .muted{margin:.35rem 0 0}

@media print{
  .binome-bar{display:none !important;}
}


/* === Binôme-first UX === */
.binome-toggle{display:inline-flex;align-items:center;gap:.35rem}
.chev{border:1px solid rgba(181,149,118,.55);background:var(--white);border-radius:999px;padding:.25rem .55rem;cursor:pointer;line-height:1}
.chev span{display:inline-block;transform:rotate(0deg);transition:transform .15s ease}
.recherche.is-collapsed .chev span{transform:rotate(-90deg)}
.recherche.is-collapsed .binome-recherches{display:none}
.recherche.is-collapsed .muted{display:none}

/* Tables récap (visuel propre) */
.table-wrap{overflow:auto;border:1px solid rgba(181,149,118,.25);border-radius:12px;background:rgba(255,255,255,.70)}
.table{width:100%;border-collapse:collapse;min-width:820px}
.table th,.table td{padding:.52rem .55rem;border-bottom:1px dashed rgba(181,149,118,.25);text-align:left;vertical-align:top;white-space:normal;word-break:break-word;hyphens:auto}
.table th{position:sticky;top:0;background:rgba(228,224,208,.95);color:var(--text);font-weight:800}
.table td.num{text-align:right;font-variant-numeric:tabular-nums}
.table .mutedCell{color:var(--muted)}

/* Impression (PDF) : PORTRAIT + pas de troncature */
@media print{
  @page{size:A4 portrait;margin:10mm}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .actions-footer,#btnInitAll,dialog,.icon{display:none !important}
  .table{min-width:0;font-size:9.5px}
  .table th{position:static}
  .table-wrap{overflow:visible}
  tr{break-inside:avoid;page-break-inside:avoid}
  /* afficher le contenu même si l'utilisateur a refermé un <details> */
  details{display:block}
  details > summary{display:none !important}
  details:not([open]) > *:not(summary){display:block !important}
}
