/* Thèmes (Mon entreprise → Apparence), inspirés de deux systèmes open source de GitHub :
   Primer (le design system de GitHub, thèmes clair et « dark dimmed ») et Tabler (tableau de bord MIT).
   Les PDF n'utilisent pas ces couleurs. */
:root,[data-theme=classique]{--encre:#1f2328;--titre:#1f2328;--fond:#f6f8fa;--surface:#fff;--accent:#0969da;--accent-fonce:#0550ae;--doux:#59636e;
  --pale:#6e7781;--bord:#d0d7de;--ligne:#e6eaef;--th:#f6f8fa;--survol:#f3f7fc;--pastille:#eaeef2;--we:#f3f4f6;--anneau:#0969da40;
  --entete:#fff;--entete-texte:#1f2328;--entete-bord:#d0d7de;--entete-survol:#eef1f4;--nav-actif:#0969da;--ombre:0 1px 0 #1f23280a,0 1px 3px #1f23280f;
  --police-titre:inherit}
[data-theme=bordeaux]{--encre:#2b1b1e;--titre:#4a0f1c;--fond:#f8f4ee;--surface:#fffdfa;--accent:#7b1e2e;--accent-fonce:#5e1522;--doux:#6e5146;
  --pale:#8c7566;--bord:#e2d4c2;--ligne:#efe5d8;--th:#f7efe4;--survol:#fbf5ec;--pastille:#f1e5d3;--we:#f4ece1;--anneau:#b08d5755;
  --entete:#4a0f1c;--entete-texte:#ecd6a4;--entete-bord:#b08d57;--entete-survol:#5e1a29;--nav-actif:#d9b46a;--ombre:0 1px 0 #4a0f1c0d,0 2px 6px #4a0f1c12;
  --police-titre:Georgia,"Iowan Old Style","Times New Roman",serif}
[data-theme=sombre]{color-scheme:dark;--encre:#adbac7;--titre:#cdd9e5;--fond:#22272e;--surface:#2d333b;--accent:#316dca;--accent-fonce:#255ab2;--doux:#909dab;
  --pale:#768390;--bord:#444c56;--ligne:#373e47;--th:#2b3138;--survol:#323a44;--pastille:#373e47;--we:#262c33;--anneau:#539bf555;
  --entete:#1c2128;--entete-texte:#cdd9e5;--entete-bord:#444c56;--entete-survol:#2d333b;--nav-actif:#539bf5;--ombre:0 1px 0 #0003,0 3px 8px #0003;
  --police-titre:inherit}

*{box-sizing:border-box}
body{margin:0;font:14.5px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;color:var(--encre);background:var(--fond);
  -webkit-font-smoothing:antialiased}
a{color:var(--accent)}main a:not(.bouton):hover{text-decoration:underline}
header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;min-height:58px;
  background:var(--entete);color:var(--entete-texte);border-bottom:1px solid var(--entete-bord);box-shadow:var(--ombre);flex-wrap:wrap}
header a{color:var(--entete-texte);text-decoration:none}
.marque{font-weight:700;font-size:1.05em;display:flex;align-items:center;gap:10px;font-family:var(--police-titre);letter-spacing:.01em}
.marque img{height:32px;background:#fff;border-radius:6px;padding:2px}
nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}nav form{margin:0 0 0 10px}
nav>a{padding:7px 12px;border-radius:7px;font-weight:500;opacity:.85;transition:background .12s,opacity .12s}
nav>a:hover{background:var(--entete-survol);opacity:1}nav>a.actif{opacity:1;box-shadow:inset 0 -2px 0 var(--nav-actif);border-radius:7px 7px 0 0}
main{max-width:1200px;margin:0 auto;padding:26px 24px 60px}
h1{margin:.1em 0 .7em;font-size:1.65rem;font-weight:650;letter-spacing:-.01em;color:var(--titre);font-family:var(--police-titre)}
h2{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:1.8em 0 .7em;color:var(--doux)}
.carte{background:var(--surface);border:1px solid var(--bord);border-radius:12px;padding:20px 22px;box-shadow:var(--ombre);margin-bottom:14px}
.etroite{max-width:420px;margin:60px auto}
label{display:flex;flex-direction:column;gap:5px;font-size:.84em;font-weight:500;color:var(--doux);margin-bottom:12px}
input,select,textarea{font:inherit;font-size:.95rem;padding:8px 11px;border:1px solid var(--bord);border-radius:8px;background:var(--surface);color:var(--encre);
  transition:border-color .12s,box-shadow .12s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--anneau)}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);vertical-align:-3px}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 18px}.grille .large{grid-column:1/-1}
button,.bouton{background:var(--accent);color:#fff;border:1px solid var(--accent-fonce);border-radius:8px;padding:8px 16px;font:inherit;font-weight:600;
  cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 1px 0 #1f23281a;transition:filter .12s,transform .05s}
button:hover,.bouton:hover{filter:brightness(1.08)}button:active,.bouton:active{transform:translateY(1px)}
button:focus-visible,.bouton:focus-visible{outline:none;box-shadow:0 0 0 3px var(--anneau)}
[data-theme=bordeaux] button:not(.lien),[data-theme=bordeaux] .bouton{box-shadow:inset 0 0 0 1px #d9b46a55,0 1px 0 #4a0f1c22}
button.lien{background:none;border:0;box-shadow:none;color:inherit;padding:0;font-weight:500;text-decoration:underline;text-underline-offset:2px}
button.danger{color:#cf222e}[data-theme=sombre] button.danger{color:#e5534b}
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--bord);border-radius:12px;overflow:hidden;box-shadow:var(--ombre)}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--ligne)}tbody tr:last-child td{border-bottom:0}
th{background:var(--th);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--doux)}
tr.clic{cursor:pointer;transition:background .1s}tr.clic:hover{background:var(--survol)}tr.gris{opacity:.5}.vide{text-align:center;color:var(--pale);padding:36px}
.barre{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.barre h1{flex:1}.barre h2{flex:1}
.filtres{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.filtres input{flex:1;min-width:240px}
.pastille{display:inline-block;font-size:.76em;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--pastille);border:1px solid transparent;white-space:nowrap}
.pastille.carrosserie{background:#fff1e5;color:#953800;border-color:#ffd8b5}.pastille.mecanique{background:#ddf4ff;color:#0550ae;border-color:#b6e3ff}
[data-theme=sombre] .pastille.carrosserie{background:#cc6b2c26;color:#f69d50;border-color:#cc6b2c66}
[data-theme=sombre] .pastille.mecanique{background:#4184e426;color:#6cb6ff;border-color:#4184e466}
.plaque{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.ok,.err{padding:10px 14px;border-radius:8px;border:1px solid;border-left-width:4px}
.ok{background:#dafbe1;color:#1a7f37;border-color:#aceebb #aceebb #aceebb #1a7f37}.err{background:#ffebe9;color:#a40e26;border-color:#ffcecb #ffcecb #ffcecb #cf222e}
[data-theme=sombre] .ok{background:#46954a26;color:#8ddb8c;border-color:#46954a66 #46954a66 #46954a66 #57ab5a}
[data-theme=sombre] .err{background:#e5534b26;color:#ff938a;border-color:#e5534b66 #e5534b66 #e5534b66 #e5534b}
.petit{font-size:.84em;color:var(--pale)}.apercu{height:40px;vertical-align:middle;margin-left:8px}
details{margin:8px 0}summary{cursor:pointer;color:var(--accent);font-weight:500;font-size:.92em}details[open] summary{margin-bottom:8px}
@media(max-width:700px){header{padding:8px 14px}main{padding:18px 12px}table{font-size:.9em}
  table:not(.lignes):not(.totaux) th:nth-child(4),table:not(.lignes):not(.totaux) td:nth-child(4),table:not(.lignes):not(.totaux) th:nth-child(6),
  table:not(.lignes):not(.totaux) td:nth-child(6),table:not(.lignes):not(.totaux) th:nth-child(8),table:not(.lignes):not(.totaux) td:nth-child(8){display:none}}
.defile{overflow-x:auto}table.lignes{box-shadow:none}table.lignes td{padding:4px}table.lignes input,table.lignes select{padding:5px 6px;width:100%}
table.lignes td.d,table.lignes th.d{text-align:right;white-space:nowrap}tr.sous{background:#fde8e8}tr.sous td.d{color:#9b1c1c;font-weight:600}
table.totaux{max-width:420px;margin-left:auto;box-shadow:none}table.totaux td:last-child,table.totaux th:last-child{text-align:right}
button.danger{color:#9b1c1c}
.legende{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82em}.sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px}
table.mois{min-width:1250px;table-layout:fixed;font-size:.75em;box-shadow:none}table.mois col.c-car{width:180px}
table.mois th,table.mois td{border:1px solid var(--ligne);padding:0;height:30px;text-align:center}
table.mois .car{position:sticky;left:0;background:var(--surface);z-index:2;text-align:left;padding:0 8px;white-space:nowrap}table.mois .car small{color:var(--pale)}
table.mois th span{display:block;font-size:.8em;font-weight:400}table.mois .we{background:var(--we)}table.mois th.auj{color:#d9540c;box-shadow:inset 0 -3px 0 #d9540c}
table.mois .lundi{border-left:2px solid #b9beb2}table.mois td.libre,.sw.libre{background:#e6f2e8}table.mois td.libre.we{background:#dcebdf}
td.barre-pret{padding:2px!important}td.barre-pret a,td.barre-pret span{display:block;height:24px;line-height:24px;border-radius:4px;color:#fff;text-decoration:none;font-size:.95em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 5px;margin-bottom:1px}
.t-carrosserie{background:#d9540c}.t-mecanique{background:#3a5a8c}.t-indispo{background:#8b8f87}.t-retard{background:#c0262d}
tr.libres td{font-weight:700}tr.libres td.zero{background:#fbe3e4;color:#c0262d}tr.libres td.ok{color:#1f7a41}
[data-theme=sombre] table.mois td.libre,[data-theme=sombre] .sw.libre{background:#2f4a3a}[data-theme=sombre] table.mois td.libre.we{background:#2b4335}
[data-theme=sombre] tr.sous{background:#5d2a2e}[data-theme=sombre] tr.libres td.zero{background:#5d2a2e;color:#ff938a}
table.lignes,table.totaux,table.mois{border-radius:0;border:0;box-shadow:none}
.themes{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}.theme{cursor:pointer;flex:1;min-width:220px}.theme input{display:none}
.theme .apercu-theme{border:2px solid var(--bord);border-radius:12px;overflow:hidden;font-size:.82em;transition:border-color .12s,box-shadow .12s}
.theme input:checked+.apercu-theme{border-color:var(--accent);box-shadow:0 0 0 3px var(--anneau)}
.apercu-theme .h{padding:9px 12px;font-weight:700}.apercu-theme .c{padding:12px;display:flex;gap:8px;align-items:center;justify-content:space-between}
.apercu-theme .b{padding:4px 10px;border-radius:6px;color:#fff;font-weight:600}
.prolonger{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}.prolonger form{margin:0}
button.mini{padding:2px 8px;font-size:.78em;border-radius:6px;box-shadow:none}
