/* Remise de matériel – feuille unique (PC). Refonte validée le 10/11/2026 (maquettes refonte/A2-*),
   même famille que l'appli Planning : en-tête, jetons (couleurs, rayons, tailles), bande aux couleurs du groupe.
   Les couleurs de l'entité (--acc, --acc-f, --acc-c, --acc-t) sont posées sur <body> par le serveur. */
@font-face{font-family:Montserrat;font-weight:700;src:url(../fonts/montserrat-700.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:800;src:url(../fonts/montserrat-800.woff2) format("woff2")}
:root{
 /* Groupe (identiques à Planning) */
 --vert:#37A642;--vert-fonce:#2A8034;--vert-tf:#226D2B;--vert-clair:#E7F5E8;--noir:#1D1E1C;--jaune:#FBE018;--bleu:#094686;
 --rouge:#CE2F28;--bordeaux:#6C131D;--taupe:#7E4E4E;--orange:#C2560A;
 --fond:#F4F5F2;--surface:#fff;--surface-douce:#FAFBF9;--doux:#5E625C;--trait:#E1E4DE;--champ:#8E948A;
 /* Accent de l'entité (remplacé par style_css) */
 --acc:#37A642;--acc-f:#2A8034;--acc-c:#E7F5E8;--acc-t:#226D2B;
 /* Rayons, ombres, tailles */
 --r-s:8px;--r-m:12px;--r-l:16px;--r-pill:999px;
 --ombre-1:0 1px 2px rgba(29,30,28,.06),0 2px 8px rgba(29,30,28,.05);
 --ombre-2:0 2px 4px rgba(29,30,28,.06),0 8px 24px rgba(29,30,28,.08);
 --h-champ:46px;--h-icone:44px;--titres:Montserrat,"Segoe UI",system-ui,sans-serif;--largeur:1360px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--noir);background:var(--fond)}
h1,h2,h3{font-family:var(--titres);font-weight:800;margin:0;line-height:1.2;color:var(--noir)}
h1{font-size:34px;letter-spacing:-.01em}
h2{font-size:20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h3{font-size:16px;font-weight:700}
p{margin:0 0 10px}
a{color:var(--acc-t)}
code{font-family:ui-monospace,Consolas,monospace;font-size:.92em;background:#ECEEEA;padding:1px 5px;border-radius:5px}
.ic{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em}
h2>.ic{color:var(--acc-f)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
:where(a,button,summary,[tabindex],input[type=radio],input[type=checkbox]):focus-visible{outline:3px solid var(--bleu);outline-offset:2px}
.muet,.note{color:var(--doux)}.note{font-size:13px}.petit{font-size:13px}

/* ---------------------------------------------------------------- En-tête commun */
.entete{background:var(--surface);position:sticky;top:0;z-index:20}
.entete .haut{max-width:var(--largeur);margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 28px}
.marque{display:flex;align-items:center;gap:12px;flex:none;text-decoration:none;color:var(--noir)}
.marque img{height:50px;width:auto;display:block}
.marque span{font:800 22px/1 var(--titres);white-space:nowrap}
.marque small{display:block;font:800 12px/1.4 var(--titres);color:var(--taupe);letter-spacing:.12em;text-transform:uppercase}
.recherche{flex:1;max-width:420px;margin-left:12px;position:relative;min-width:0}
.recherche .ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--doux);pointer-events:none}
.recherche input{border-radius:var(--r-pill);background:#F7F8F5;border:1px solid var(--trait);padding:10px 16px 10px 44px;min-height:44px;font-size:15px}
.recherche input:focus{background:#fff}
.entete .outils{margin-left:auto;display:flex;gap:10px;align-items:center}
.entete .outils .btn{min-height:48px;position:relative}
.entete .outils .nb{position:absolute;top:-7px;right:-7px;background:var(--rouge);color:#fff;border-radius:var(--r-pill);font:800 12px/20px "Segoe UI",system-ui,sans-serif;min-width:20px;padding:0 6px;text-align:center;font-style:normal;box-shadow:0 0 0 2px #fff}
/* Menus déroulants (entité, compte, documents) : <details>, fermés par app.js au clic à côté */
.deroulant{position:relative}
.deroulant>summary{list-style:none;cursor:pointer}
.deroulant>summary::-webkit-details-marker{display:none}
.panneau{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:240px;display:flex;flex-direction:column;gap:2px;padding:10px;background:var(--surface);border:1px solid var(--trait);border-radius:var(--r-l);box-shadow:var(--ombre-2)}
.panneau a,.panneau button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border:0;border-radius:var(--r-m);background:none;font:inherit;font-size:15px;font-weight:600;color:var(--noir);text-decoration:none;cursor:pointer;width:100%;text-align:left}
.panneau a:hover,.panneau button:hover{background:var(--fond)}
.panneau a.on,.panneau button.on{background:var(--acc-c);color:var(--acc-t)}
.panneau form{margin:0}
.panneau .ic{color:var(--doux)}
.entite-pastille,.entite-choix>summary{display:flex;align-items:center;gap:8px;border:1px solid var(--trait);border-radius:var(--r-pill);padding:5px 12px 5px 6px;font-weight:700;font-size:14px;background:#fff;color:var(--noir);min-height:40px;white-space:nowrap}
.entite-choix>summary:hover{border-color:var(--champ)}
.entite-choix[open]>summary{border-color:var(--acc-f)}
.entite-pastille img,.entite-choix img{height:26px;width:24px;object-fit:contain}
.entite-choix>summary::after{content:"";border:4px solid transparent;border-top:5px solid currentColor;margin:4px 0 0 2px}
.entite-choix .panneau{min-width:200px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--noir);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.compte[open]>summary{box-shadow:0 0 0 3px var(--acc-c)}
.compte .panneau strong{font-size:15px;padding:0 10px}
.compte .panneau .qui{font-size:13px;color:var(--doux);padding:0 10px 8px;margin-bottom:4px;border-bottom:1px solid var(--trait)}
.compte .panneau form{margin-top:4px;padding-top:4px;border-top:1px solid var(--trait)}
.compte .panneau form button{color:#A1231D}.compte .panneau form button .ic{color:currentColor}
/* Menu principal */
.menu{max-width:var(--largeur);margin:0 auto;display:flex;gap:4px;padding:0 28px 10px;align-items:center}
.menu>a,.menu>.deroulant>summary{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--r-m);font-weight:600;font-size:15.5px;color:#2B2C29;text-decoration:none;white-space:nowrap;min-height:44px}
.menu>a .ic,.menu>.deroulant>summary .ic{color:var(--doux)}
.menu>a:hover,.menu>.deroulant>summary:hover{background:var(--fond)}
.menu>a.on,.menu>.deroulant.on>summary{background:var(--acc-c);color:var(--acc-t)}
.menu>a.on .ic,.menu>.deroulant.on>summary .ic{color:var(--acc-f)}
.menu .nb{background:var(--rouge);color:#fff;border-radius:var(--r-pill);font-size:12px;font-weight:800;padding:0 7px;line-height:20px;min-width:20px;text-align:center}
.menu .deroulant>summary::after{content:"";border:4px solid transparent;border-top:5px solid currentColor;margin:4px 0 0 0}
.menu .deroulant .panneau{left:0;right:auto}
.menu .reglages{margin-left:auto}
.menu .reglages:not(.on){color:var(--doux)}
.bascule-menu,.bouton-menu{display:none}
.bande{height:5px;display:flex}
.bande i{flex:1}
.bande i:nth-child(1){background:var(--vert);flex:2.6}.bande i:nth-child(2){background:var(--jaune);flex:.8}.bande i:nth-child(3){background:var(--bleu)}
.bande i:nth-child(4){background:var(--rouge);flex:.7}.bande i:nth-child(5){background:var(--bordeaux);flex:.6}

/* ---------------------------------------------------------------- Mise en page */
main{max-width:var(--largeur);margin:0 auto;padding:28px 28px 64px}
.bandeau{display:flex;gap:10px;align-items:center;background:#FFF9C9;border:1px solid #EFD900;color:#5E4B00;padding:10px 14px;border-radius:var(--r-m);font-size:14px;margin-bottom:18px}
.bandeau .ic{flex:none}
.titre{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.titre>div:first-child{min-width:0;flex:1 1 320px}
.titre p{margin:6px 0 0;color:var(--doux)}
.titre p b{color:var(--noir)}
.ent{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--doux);font-size:14px}.ent::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--acc)}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.actions form{margin:0}
.card{background:var(--surface);border-radius:var(--r-l);box-shadow:var(--ombre-1);padding:22px 24px;margin-bottom:22px;min-width:0;overflow-x:auto}
.card>h2{margin-bottom:12px}
.card[id]{scroll-margin-top:150px}
.grid{display:grid;gap:22px}.grid>*{min-width:0}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g12{grid-template-columns:1fr 2fr}
.grid>.card{margin-bottom:0}.grid+.card,.grid+.grid,.card+.grid{margin-top:22px}
.colonne{display:grid;gap:22px;align-content:start}
.vide{color:var(--doux);font-style:italic;padding:12px 0;margin:0}

/* ---------------------------------------------------------------- Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--h-champ);padding:10px 18px;border-radius:var(--r-m);border:1.5px solid var(--acc-f);background:var(--acc-f);color:#fff;font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.btn:hover{background:var(--acc-t);border-color:var(--acc-t)}
.btn.sec{background:#fff;color:var(--noir);border-color:var(--champ)}.btn.sec:hover{border-color:var(--noir);background:#fff}
.btn.pt{min-height:38px;padding:7px 12px;font-size:14px;border-radius:10px}
.btn.danger{background:#fff;color:#A1231D;border-color:#E5A29E}.btn.danger:hover{background:var(--rouge);color:#fff;border-color:var(--rouge)}
.btn.noir{background:var(--noir);border-color:var(--noir)}
.btn.bloc{width:100%}
.btn[disabled],.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sec[disabled]:hover{border-color:var(--champ)}.btn[disabled]:not(.sec):not(.danger):hover{background:var(--acc-f);border-color:var(--acc-f)}

/* ---------------------------------------------------------------- Badges, pastilles, icônes de type */
.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:var(--r-pill);font:800 12px/1.6 "Segoe UI",system-ui,sans-serif;white-space:nowrap}.badge .ic{width:14px;height:14px}
.b-v{background:var(--acc-c);color:var(--acc-t)}.b-o{background:#FFE9D6;color:#8A3A00}.b-r{background:#FBE3E1;color:#9E1F1A}.b-g{background:#EEF0EB;color:var(--doux)}.b-b{background:#E1EDF8;color:var(--bleu)}
.rond{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--acc-f);flex:none}
.rond .ic{width:22px;height:22px}.rond.o{background:var(--orange)}.rond.r{background:var(--rouge)}.rond.n{background:var(--noir)}.rond.g{background:#9A9E97}
.type{display:inline-flex;align-items:center;gap:12px;font-weight:700}
.type i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--acc-f);color:#fff;font-style:normal;flex:none}.type i .ic{width:19px;height:19px}
.type img{flex:none}
td .type+.type{margin-left:-6px}
.mat{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.mat+.lien-vehicule,.sous-mat{margin-left:50px}.sous-mat{display:block}
.mat .muet{display:block;font-size:13px;font-weight:400}.mat b{display:block}.mat:hover b{text-decoration:underline}
.alerte{color:var(--rouge);font-weight:700}.attention{color:var(--orange);font-weight:700}

/* ---------------------------------------------------------------- Chiffres clés */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.kpi{display:flex;gap:14px;align-items:center;margin:0}
.kpi .pastille{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--acc-f);color:#fff;flex:none}
.kpi .pastille .ic{width:22px;height:22px}
.kpi b{display:block;font:800 26px/1 var(--titres);margin-bottom:4px}.kpi span{color:var(--doux);font-size:15px}
.kpi.o .pastille{background:var(--orange)}.kpi.r .pastille{background:var(--rouge)}.kpi.n .pastille{background:var(--noir)}
a.kpi{text-decoration:none;color:inherit}a.kpi:hover{box-shadow:var(--ombre-2)}

/* ---------------------------------------------------------------- Listes à lignes (tableau de bord, récap) */
.ligne{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--trait)}
.ligne:first-of-type{border-top:0}
.ligne>.corps{flex:1;min-width:0}.ligne>.corps>.muet{display:block}
a.titre-ligne{display:block}
.accueil{grid-template-columns:1.1fr 1fr}
.pied-note{margin:8px 0 0}
.ligne b{display:block}
.ligne .droite{margin-left:auto;text-align:right;flex:none}
.ligne .act{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.ligne .act form{margin:0}
.ligne .act .btn{min-height:38px;padding:7px 12px;font-size:14px;border-radius:10px}
.ligne .quand{display:flex;gap:5px;align-items:center;font-size:13px;color:var(--doux);margin-top:2px}.ligne .quand .ic{width:14px;height:14px}
a.titre-ligne{color:var(--noir);text-decoration:none;font-weight:700}a.titre-ligne:hover{text-decoration:underline}
.tab{display:flex;gap:12px;align-items:center;padding:14px;border-radius:var(--r-m);background:var(--acc-c);margin-bottom:10px}
.tab.off{background:#EEF0EB}
.tab:last-child{margin-bottom:0}

/* ---------------------------------------------------------------- Tableaux */
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--trait);vertical-align:middle}
th{font:700 12px/1.3 "Segoe UI",system-ui,sans-serif;color:var(--doux);text-transform:uppercase;letter-spacing:.06em;padding:10px 12px}
tr:last-child td{border-bottom:0}
td .note{font-size:13px}
.table-defile{overflow-x:auto}.flotte td{vertical-align:top}.flotte .badge{margin-top:2px}

/* ---------------------------------------------------------------- Formulaires */
label{display:block;font:600 14px/1.4 "Segoe UI",system-ui,sans-serif;color:var(--doux);margin:12px 0 6px}
input,select,textarea{width:100%;min-height:var(--h-champ);padding:10px 12px;border:1.5px solid var(--champ);border-radius:10px;font:inherit;font-size:15px;background:#fff;color:var(--noir)}
textarea{min-height:0}
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--acc-f);flex:none}
input[type=file]{padding:8px;min-height:0}
input:focus,select:focus,textarea:focus{outline:3px solid var(--acc-c);border-color:var(--acc-f);outline-offset:0}
input[disabled]{background:var(--fond);color:var(--doux)}
.filtres{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.filtres select{width:auto;min-width:200px;flex:0 1 auto}
.filtres .champ-recherche{flex:1 1 240px;position:relative}
.filtres .champ-recherche .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--doux);pointer-events:none}
.filtres .champ-recherche input{padding-left:40px}
.kv{display:grid;grid-template-columns:160px 1fr;gap:10px 14px;margin:0}.kv dt{color:var(--doux)}.kv dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.form-ligne{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px}
.erreur,.errorlist{color:#A1231D;font-size:13px;font-weight:600;margin:6px 0 0;padding:0;list-style:none}
.aide{font-size:13px;color:var(--doux);margin:6px 0 0}
.cases{display:flex;flex-wrap:wrap;gap:8px 18px}.cases label{display:flex;gap:10px;align-items:center;margin:0;color:var(--noir);font-weight:500;font-size:15px}
label.cases{display:flex;gap:10px;align-items:center;color:var(--noir);font-weight:500;font-size:15px}
.radios ul,.cases-liste ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}.radios label,.cases-liste label{display:flex;gap:8px;align-items:center;margin:0;color:var(--noir);font-weight:500}
textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px}
.lien-discret{color:var(--doux);font-size:13px}
.mask{font-family:ui-monospace,Consolas,monospace;background:#ECEEEA;padding:2px 8px;border-radius:5px}
.cases-notif{display:grid;gap:8px}.cases-notif label{display:flex;gap:12px;align-items:center;margin:0;padding:12px 14px;border:1.5px solid var(--trait);border-radius:var(--r-m);color:var(--noir);font:500 15px "Segoe UI",system-ui,sans-serif;cursor:pointer}
.cases-notif label:has(input:checked){border-color:var(--acc-f);background:var(--acc-c)}
.cases-notif input:checked+span{font-weight:700;color:var(--acc-t)}

/* ---------------------------------------------------------------- Inventaire : pastilles par type */
.puces{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.puce{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--trait);background:#fff;border-radius:var(--r-pill);padding:8px 14px;font-weight:600;font-size:15px;color:var(--noir);text-decoration:none;min-height:42px}
.puce .ic{color:var(--doux)}
.puce b{font:800 15px var(--titres)}
.puce:hover{border-color:var(--champ)}
.puce.on{border-color:var(--acc-f);background:var(--acc-c);color:var(--acc-t)}.puce.on .ic{color:var(--acc-f)}
.lien-vehicule{display:inline-flex;align-items:center;gap:4px;font-size:13px;text-decoration:none;margin-top:4px}.lien-vehicule .ic{width:14px;height:14px}
.rattache{display:inline-flex;align-items:center;gap:4px;margin:0 6px 4px 0;padding:2px 9px;border-radius:var(--r-pill);background:var(--acc-c);color:var(--acc-t);font:600 13px "Segoe UI",system-ui,sans-serif;text-decoration:none;white-space:nowrap}.rattache .ic{width:14px;height:14px}

/* ---------------------------------------------------------------- Nouvelle remise : étapes, types, récap */
.steps{display:flex;margin-bottom:22px;background:#fff;border-radius:var(--r-l);box-shadow:var(--ombre-1);padding:16px 22px;gap:8px}
.steps div{flex:1;display:flex;align-items:center;gap:10px;font-weight:700;color:var(--doux);min-width:0}
.steps span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:800 14px var(--titres);background:#EEF0EB;flex:none}
.steps .ok span{background:var(--acc-f);color:#fff}.steps .cur{color:var(--noir)}.steps .cur span{background:var(--noir);color:#fff}
.choix-type{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 6px}
.choix-type button,.choix-type a{border:1.5px solid var(--trait);background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;font:700 15px/1.25 "Segoe UI",system-ui,sans-serif;color:var(--noir);text-align:left;text-decoration:none;min-width:0}
.choix-type button .ic,.choix-type a .ic{width:26px;height:26px;color:var(--acc-f)}
.choix-type button:hover,.choix-type a:hover{border-color:var(--champ)}
.choix-type button.on{border-color:var(--acc-f);background:var(--acc-c)}
.doc-lst{list-style:none;margin:0;padding:0}.doc-lst li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--trait);flex-wrap:wrap}.doc-lst li:last-child{border:0}.doc-lst .ic{color:var(--acc-f)}
.sous-titre{font:700 16px var(--titres);color:var(--noir);margin:20px 0 8px;display:flex;align-items:center;gap:6px}
.sous-titre .ic{color:var(--acc-f)}
.etroite{max-width:640px}
.pied-form{margin:18px 0 0}
form.droite{margin:0 0 0 auto}
.pied-carte{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin:18px 0 0}

/* ---------------------------------------------------------------- Fiches */
.ariane{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--doux);margin:-8px 0 10px;flex-wrap:wrap}.ariane a{display:inline-flex;gap:5px;align-items:center;font-weight:600;text-decoration:none}.ariane .ic{width:14px;height:14px}
.km-actuel{margin:0 0 4px}.km-actuel b{font:800 24px/1.2 var(--titres)}
.encart{background:#FFF8F1;border:1px solid #F6D3B5;border-radius:var(--r-m);padding:14px 16px;margin:0 0 12px}.encart p{margin:0}
.volet{border:1.5px solid var(--trait);border-radius:var(--r-m);padding:0 16px;margin:0 0 10px}.volet[open]{padding-bottom:16px}
.volet summary{cursor:pointer;padding:12px 0;font:700 15px "Segoe UI",system-ui,sans-serif;color:var(--acc-t);display:flex;gap:8px;align-items:center;list-style:none}
.volet summary::-webkit-details-marker{display:none}
.code-grand{font:800 44px/1 var(--titres);letter-spacing:.18em;color:var(--acc-t);background:var(--acc-c);border-radius:var(--r-m);padding:14px 20px;display:inline-block;margin:6px 0}

/* ---------------------------------------------------------------- Lieu de l'état des lieux (tablette / PC) */
.edl-mode{border:0;padding:0;margin:0 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.edl-mode legend{font:600 14px "Segoe UI",system-ui,sans-serif;color:var(--doux);margin-bottom:8px;padding:0}
.edl-mode label{margin:0;cursor:pointer;position:relative}.edl-mode input{position:absolute;opacity:0}
.edl-mode span{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;border:1.5px solid var(--trait);border-radius:var(--r-m);padding:12px 14px;color:var(--noir);height:100%}
.edl-mode span .ic{grid-row:span 2;width:24px;height:24px;color:var(--doux)}.edl-mode small{font:400 13px "Segoe UI",system-ui,sans-serif;color:var(--doux)}
.edl-mode input:checked+span{border-color:var(--acc-f);background:var(--acc-c)}.edl-mode input:checked+span .ic{color:var(--acc-f)}
.edl-mode input:focus-visible+span{outline:3px solid var(--bleu);outline-offset:2px}

/* ---------------------------------------------------------------- Envoi à la tablette, suivi */
.envoi-l{display:grid;grid-template-columns:1.4fr 1fr auto;gap:18px;align-items:center}
.tab-etat{display:flex;gap:12px;align-items:center}
.pastille-ok{width:12px;height:12px;border-radius:50%;background:#2E9E44;box-shadow:0 0 0 4px #E7F5E8;flex:none}
.pastille-ok.off{background:#9A9E97;box-shadow:0 0 0 4px #ECEEEA}
.envoi-btns{display:flex;gap:8px;flex-wrap:wrap}.envoi-btns form{margin:0}
.suivi{list-style:none;display:flex;gap:8px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--trait)}
.suivi li{flex:1;display:flex;align-items:center;gap:8px;color:#9A9E97;font-size:14px;font-weight:600}.suivi li:before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid #C9CDC5;flex:none;box-sizing:border-box}
.suivi li.ok{color:var(--acc-t)}.suivi li.ok:before{border:0;background:var(--acc-f) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.suivi li.cur{color:var(--noir)}.suivi li.cur:before{border-color:var(--acc-f);border-style:dashed}

/* ---------------------------------------------------------------- Photos, dégâts, boutons d'état */
.photo{display:inline-flex;flex-direction:column;width:100px;height:80px;border:2px dashed var(--champ);border-radius:var(--r-m);align-items:center;justify-content:center;gap:4px;color:var(--doux);font-size:12px;margin:6px 8px 0 0;cursor:pointer;position:relative;overflow:hidden;text-align:center}.photo .ic{width:20px;height:20px}
.photo input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo.faite{border-style:solid;border-color:var(--acc-f);color:var(--acc-t)}
.degats{margin-top:6px}.degat{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #F6D3B5;background:#FFF8F1;border-radius:var(--r-m);padding:8px 10px;margin:8px 0 0}
.degat .photo{margin:0;width:120px}.degat .photo .ic{color:var(--orange)}.degat .photo span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.degat-champs{display:grid;gap:6px}
.etats{display:inline-flex;border:1.5px solid var(--trait);border-radius:10px;overflow:hidden;flex:none}
.etats label{margin:0;position:relative;font:600 13px "Segoe UI",system-ui,sans-serif;color:var(--doux);cursor:pointer}
.etats label+label{border-left:1.5px solid var(--trait)}
.etats input{position:absolute;opacity:0;width:1px;height:1px}
.etats span{display:block;padding:8px 12px;background:#fff;white-space:nowrap}
.etats input:focus-visible+span{outline:3px solid var(--bleu);outline-offset:-3px}
.etats input:checked+span[data-v=b]{background:var(--acc-c);color:var(--acc-t)}.etats input:checked+span[data-v=m]{background:#FFE9D6;color:#8A3A00}
.etats input:checked+span[data-v=x]{background:#FBE3E1;color:#9E1F1A}

/* ---------------------------------------------------------------- Onglets (modèles PDF) */
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tabs a{display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border-radius:var(--r-pill);border:1.5px solid var(--trait);background:#fff;font:600 14px "Segoe UI",system-ui,sans-serif;color:var(--noir);text-decoration:none}.tabs a:hover{border-color:var(--champ)}.tabs a.on{background:var(--noir);color:#fff;border-color:var(--noir)}

/* ---------------------------------------------------------------- Aperçu A4 des PDF (inchangé : reflète le rendu des PDF) */
.paper{background:#fff;width:min(794px,100%);margin:0 auto 18px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 10px 30px rgba(0,0,0,.08);font:12.5px/1.5 Arial,Helvetica,sans-serif;color:#1d1e1c;position:relative;overflow:hidden}
.paper .bord{position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--acc)}
.paper .in{padding:34px 46px 26px 52px}
.p-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.p-hd img{height:74px}
.p-hd .ttl{text-align:right;max-width:60%}.p-hd .ttl h1{font:800 19px/1.2 Montserrat,Arial,sans-serif;color:var(--acc-t);letter-spacing:.02em;text-transform:uppercase}
.p-hd .ttl .ref{display:inline-block;margin-top:8px;background:var(--acc-c);color:var(--acc-t);font:700 11px Arial;padding:4px 10px;border-radius:4px}
.p-hd .ttl small{display:block;color:#5E625C;margin-top:6px;font-size:11px}
.p-sec{font:700 11px Arial;text-transform:uppercase;letter-spacing:.08em;color:var(--acc-t);margin:22px 0 8px;display:flex;align-items:center;gap:8px}
.p-sec:after{content:"";flex:1;height:1px;background:var(--trait)}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.p-grid div{display:flex;gap:8px;border-bottom:1px dotted #C9CDC5;padding:4px 0}.p-grid span{color:#5E625C;min-width:120px}.p-grid b{font-weight:700}
.p-tab{width:100%;border-collapse:collapse;font-size:12px}.p-tab th{background:var(--acc);color:#fff;font:700 10.5px Arial;text-transform:uppercase;letter-spacing:.05em;padding:7px 9px;border:0}.p-tab td{padding:7px 9px;border-bottom:1px solid #E1E4DE}.p-tab tr:nth-child(odd) td{background:#FAFBF9}
.p-txt p{margin:0 0 7px;text-align:justify}.p-txt h4{font:700 12px Arial;color:var(--acc-t);margin:12px 0 4px}.p-txt ul{margin:0 0 7px;padding-left:18px}
.p-sigs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.p-sigs div{border:1px solid #C9CDC5;border-radius:6px;padding:9px 11px;min-height:108px;position:relative;font-size:11px;color:#5E625C}
.p-sigs b{display:block;color:#1d1e1c;font-size:11.5px}
.p-sigs .mention{display:block;margin-top:4px;font-size:9.5px}
.p-cases{display:flex;gap:14px;flex-wrap:wrap}.p-cases span:before{content:"☐ ";}.p-cases span.x:before{content:"☑ ";color:var(--acc)}
.p-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:9px;border-top:2px solid var(--acc);font-size:9.5px;color:#5E625C}
.p-foot img{height:26px}
.p-verif{display:flex;align-items:center;gap:6px;font-size:9.5px;color:#5E625C;margin-top:8px}.p-verif .ic{width:13px;height:13px;color:var(--acc)}
.fil{position:absolute;right:-40px;top:22px;transform:rotate(35deg);background:var(--jaune);font:700 10px Arial;padding:3px 50px;color:#1d1e1c}

/* ---------------------------------------------------------------- Messages */
.messages{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px}
.messages li{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:var(--r-m);font-weight:600;font-size:15px;background:var(--vert-clair);color:#1D6626}
.messages li.error{background:#FBE1DF;color:#A1231D}.messages li.warning{background:#FFEBD6;color:#873604}.messages li.info{background:#DDE8F6;color:var(--bleu)}
.alerte-sig{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#5E4B00;background:#FFF9C9;border:1px solid #EFD900;border-radius:10px;padding:8px 12px;margin:10px 0 0}
.alerte-sig .ic{flex:none;width:15px;height:15px;margin-top:2px;color:var(--orange)}
.alerte-sig .btn{display:flex;width:max-content;margin:6px 0 0}.alerte-sig .btn .ic{color:inherit;margin-top:0}

/* ---------------------------------------------------------------- Signature enregistrée (« Ma signature ») */
.pad-signature{display:block;width:100%;height:200px;border:2px dashed var(--champ);border-radius:var(--r-m);background:#fff;touch-action:none;cursor:crosshair}
.sig-apercu{border:1px solid var(--trait);border-radius:var(--r-m);padding:12px;background:#fff;display:flex;align-items:center;justify-content:center;min-height:110px;margin-bottom:8px}
.sig-apercu img{max-width:100%;max-height:140px}

/* ---------------------------------------------------------------- Connexion : copie conforme de Planning
   (static/css/app.css de Planning, section « Connexion » + règles générales qu'elle utilise : titres, champs,
   bouton primaire grand, aide). Les règles générales de cette appli diffèrent (libellés, champs 46 px…) :
   elles sont donc ramenées ici, limitées à .connexion, aux valeurs exactes de Planning. */
.connexion{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;line-height:1.55}
.connexion .ic{width:1.25em;height:1.25em;vertical-align:-.25em}
.connexion p{margin:0 0 12px}
.connexion .doux{color:var(--doux)}
.connexion .vitrine{background:var(--noir);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center;gap:32px;position:relative;overflow:hidden}
.connexion .vitrine::after{content:"";position:absolute;right:-80px;bottom:-80px;width:320px;height:320px;background:linear-gradient(135deg,transparent 50%,var(--bordeaux) 50% 60%,var(--bleu) 60% 72%,var(--jaune) 72% 86%,var(--rouge) 86%);opacity:.9}
.connexion .logo-fond{background:#fff;border-radius:var(--r-l);padding:16px 24px;width:max-content}
.connexion .logo-fond img{height:130px;width:auto;display:block}
.connexion .vitrine h1{color:#fff;font-size:28px;letter-spacing:0}
.connexion .vitrine p{color:#C9CCC5;font-size:18px;max-width:30rem}
.connexion .services-vitrine{display:flex;gap:24px;flex-wrap:wrap;position:relative;z-index:1}
.connexion .services-vitrine div{display:flex;align-items:center;gap:8px;font-weight:700}
.connexion .svc{width:44px;height:44px;border-radius:50%;background:var(--vert-fonce);display:inline-grid;place-items:center;flex:none;color:#fff}
.connexion .svc .ic{width:55%;height:55%}
.connexion .formulaire{display:grid;place-items:center;padding:32px 16px;background:var(--surface)}
.connexion .formulaire>div{width:100%;max-width:380px}
.connexion .formulaire h2{display:block;font-size:28px;font-weight:700;margin-bottom:4px}
.connexion .champ{margin-bottom:16px}
.connexion label{display:block;font:700 16px/1.55 "Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--noir);margin:0 0 4px}
.connexion input[type=text],.connexion input[type=password]{min-height:48px;padding:8px 12px;border:1px solid var(--champ);border-radius:var(--r-m);font:inherit;font-size:16px}
.connexion input:focus{outline:none;border-color:var(--vert-fonce);box-shadow:0 0 0 1px var(--vert-fonce),0 0 0 4px rgba(55,166,66,.18)}
.connexion .mdp input[type=password],.connexion .mdp input[type=text]{padding-right:48px}
.connexion .btn{gap:8px;border-width:1px;font-size:16px}
.connexion .btn.primaire{background:var(--vert-fonce);border-color:transparent;color:#fff}
.connexion .btn.primaire:hover{background:var(--vert-tf)}
.connexion .btn.grand{min-height:56px;font-size:18px;padding:12px 24px}
.connexion .erreurs-formulaire{padding:12px 16px;margin:0 0 16px}
.connexion .aide{font-size:15px;margin:20px 0 12px}
.erreurs-formulaire{background:#FBE1DF;color:#A1231D;border-radius:var(--r-m);padding:12px 14px;font-weight:600;margin:12px 0 0}
.mdp{position:relative}.mdp input{padding-right:48px}
.mdp button{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--doux);border-radius:var(--r-s)}
.page-seule{min-height:100vh;display:flex;flex-direction:column}
.page-seule main{flex:1;display:grid;place-items:center;width:100%}
.page-seule .card{max-width:520px;width:100%;text-align:center;padding:36px 32px}
.page-seule .card h1{font-size:28px;margin:12px 0 8px}
.page-seule .rond{margin:0 auto;width:64px;height:64px}.page-seule .rond .ic{width:30px;height:30px}
.page-seule .actions{justify-content:center;margin-top:18px}

/* ---------------------------------------------------------------- Écrans moyens et petits */
@media (max-width:1240px){
 .entete .outils .btn span{display:none}
 .entete .outils .btn{padding:10px 13px}
 .menu>a,.menu>.deroulant>summary{padding:9px 10px;font-size:15px}
}
@media (max-width:1100px){
 .g4,.kpis{grid-template-columns:repeat(2,1fr)}
 .g3{grid-template-columns:1fr 1fr}
 .g2,.g12{grid-template-columns:1fr}
 .envoi-l{grid-template-columns:1fr}
}
/* Connexion : une colonne sous 1000 px, comme Planning */
@media (max-width:1000px){
 .connexion{grid-template-columns:1fr}
 .connexion .vitrine{padding:32px 16px}
 .connexion .vitrine::after{display:none}
 .connexion .logo-fond img{height:80px}
}
/* Tablette et téléphone : le menu se replie derrière le bouton « Menu » (case à cocher, sans JavaScript) */
@media (max-width:900px){
 .entete .haut{flex-wrap:wrap;gap:10px 12px;padding:10px 16px}
 .marque img{height:40px}.marque span{font-size:19px}.marque small{font-size:11px}
 .recherche{order:5;flex:1 1 100%;max-width:none;margin:0}
 .bouton-menu{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1.5px solid var(--champ);border-radius:var(--r-m);font-weight:700;font-size:15px;cursor:pointer;background:#fff;color:var(--noir)}
 .bascule-menu{display:block;position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
 .bascule-menu:focus-visible+.haut .bouton-menu{outline:3px solid var(--bleu);outline-offset:2px}
 .menu{display:none;flex-direction:column;align-items:stretch;padding:0 16px 12px;gap:2px}
 .bascule-menu:checked~.menu{display:flex}
 .bascule-menu:checked+.haut .bouton-menu{background:var(--acc-c);border-color:var(--acc-f);color:var(--acc-t)}
 .menu>a,.menu>.deroulant>summary{font-size:16px;padding:10px 12px}
 .menu .reglages{margin-left:0}
 .menu .deroulant .panneau{position:static;box-shadow:none;border:0;padding:0 0 0 28px;min-width:0}
 main{padding:20px 16px 48px}
 h1{font-size:28px}
}
@media (max-width:640px){
 h1{font-size:24px}
 h2{font-size:18px}
 .card{padding:16px}
 .g4,.g3,.kpis{grid-template-columns:1fr 1fr}
 .kpis{gap:10px}
 .kpi{flex-direction:column;align-items:flex-start;gap:8px}
 .kpi span{font-size:14px}
 .entete .outils{gap:6px}
 .entete .outils .btn{padding:0}
 .entite-pastille span,.entite-choix>summary span{display:none}
 .entite-pastille,.entite-choix>summary{padding:5px 8px 5px 6px}
 .bouton-menu span{display:none}
 .bouton-menu{padding:0 10px}
 .marque{flex:1;min-width:0;gap:8px}
 .marque img{height:36px}.marque span{font-size:17px}.marque small{display:none}
 .entete .outils .btn{min-height:42px;width:42px}
 .entete .outils .btn.sec{border-width:1.5px}
 .avatar{width:38px;height:38px;font-size:13px}
 .bouton-menu{min-height:42px}
 .steps{padding:12px;flex-wrap:wrap}
 .steps div{flex:1 1 40%;font-size:14px}
 .steps span{width:28px;height:28px}
 .choix-type{grid-template-columns:1fr 1fr}
 .edl-mode{grid-template-columns:1fr}
 .degat{grid-template-columns:1fr}
 .suivi{flex-direction:column}
 .kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}
 .filtres select{flex:1 1 100%;min-width:0}
 .ligne{gap:10px}
 .ligne>.rond{width:36px;height:36px}.ligne>.rond .ic{width:18px;height:18px}
 .titre .actions{width:100%}
 th,td{padding:10px 8px}
}
/* Petit téléphone : le logo du groupe seul (le nom ne tient plus à côté des boutons de l'en-tête) */
@media (max-width:430px){.marque span{display:none}}
@media (max-width:380px){
 .g4,.g3,.kpis{grid-template-columns:1fr}
 .marque small{display:none}
}
@media print{.entete,.no-print{display:none!important}main{padding:0;max-width:none}.card{box-shadow:none;border:1px solid var(--trait)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
