:root{--fond:#f3f2ee;--carte:#fff;--encre:#1c1f1d;--gris:#6b6f6a;--trait:#dedcd4;--accent:#9a3412;--accent-fonce:#7c2d12;--accent-pale:#fbede4;--ok:#2f6b3c;--ok-pale:#e6f1e7;--alerte:#8a5a00;--alerte-pale:#fbf1d9;--erreur:#a32020;--erreur-pale:#fbe5e3;--rayon:12px;color:var(--encre);background:var(--fond);font-family:Archivo,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{background:var(--fond);margin:0}h1{letter-spacing:-.01em;margin:0 0 12px;font-size:1.5rem}h2{margin:0 0 8px;font-size:1.1rem}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--gris);margin:14px 0 6px;font-size:.8rem}p{margin:0 0 10px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--trait);background:var(--carte);border-radius:8px;padding:8px 12px}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input,select{border:1px solid var(--trait);background:var(--carte);border-radius:8px;min-width:0;padding:10px}label{color:var(--gris);flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;display:flex}label input,label select{color:var(--encre);width:100%;font-size:1rem}label.coche input{width:20px}.principal{background:var(--encre);color:#fff;border-color:var(--encre);border-radius:10px;width:100%;padding:14px 16px;font-size:1.05rem;font-weight:600}.principal.petit{width:auto;padding:8px 14px;font-size:.95rem}.lien{color:var(--accent);background:0 0;border:0;padding:6px;text-decoration:underline}.lien.danger{color:var(--erreur)}.icone{width:44px;height:44px;color:var(--gris);background:0 0;border:0;border-radius:50%;flex:none;padding:0;font-size:1.2rem}.icone:hover:not(:disabled){background:var(--fond)}.ajout{width:100%;color:var(--accent);background:0 0;border-style:dashed;padding:12px;font-weight:600}.carte{background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);margin-bottom:12px;padding:14px}.aide,.note{color:var(--gris);font-size:.9rem}.note{margin-top:8px;font-size:.82rem}.chargement{text-align:center;color:var(--gris);padding:40px}.pastille{background:var(--alerte-pale);color:var(--alerte);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.alerte{background:var(--alerte-pale);color:var(--alerte);border-radius:8px;padding:10px 12px;font-size:.92rem}.alerte.erreur{background:var(--erreur-pale);color:var(--erreur)}.alerte.ok{background:var(--ok-pale);color:var(--ok)}.bulle{background:var(--encre);color:#fff;z-index:60;border-radius:10px;max-width:92vw;padding:12px 18px;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.bulle.erreur{background:var(--erreur)}.connexion{flex-direction:column;gap:20px;max-width:400px;margin:0 auto;padding:56px 20px;display:flex}.connexion form,.formulaire{flex-direction:column;gap:14px;display:flex}.marque{align-items:center;gap:10px;display:flex}.marque>div:last-child{flex-direction:column;display:flex}.marque span:not(.pastille){color:var(--gris);font-size:.85rem}.logo{background:var(--encre);color:#fff;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.choix{text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-bottom:8px;padding:14px;display:flex}.choix:hover{border-color:var(--accent)}.choix span{color:var(--gris);font-size:.85rem}.choix.tache{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:6px;padding:12px 14px}.choix.tache strong{font-weight:500}.entete{padding:calc(10px + env(safe-area-inset-top)) 20px 10px;background:var(--carte);border-bottom:1px solid var(--trait);z-index:20;align-items:center;gap:16px;display:flex;position:sticky;top:0}.menu{flex:1;gap:4px;display:flex}.menu button{color:var(--gris);white-space:nowrap;background:0 0;border:0;padding:8px 12px;font-weight:600;position:relative}.menu button.actif{color:var(--encre);background:var(--fond)}.compte{background:var(--accent);color:#fff;border-radius:99px;margin-left:6px;padding:1px 6px;font-size:.7rem}.sortie{white-space:nowrap;font-size:.9rem}.page{margin:0 auto;padding:20px 20px 120px}.page.etroite{max-width:520px}.page.large{max-width:1100px}@media (width<=760px){.entete{padding:calc(8px + env(safe-area-inset-top)) 14px 8px;justify-content:space-between}.menu{background:var(--carte);border-top:1px solid var(--trait);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:30;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.menu button{flex:1;padding:12px 10px}.page{padding:14px 12px 150px}}.voile{z-index:50;background:#1c1f1d73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.feuille{background:var(--fond);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:520px;max-height:88vh;display:flex}.feuille.large{max-width:720px}.feuille-tete{border-bottom:1px solid var(--trait);justify-content:space-between;align-items:center;padding:8px 8px 8px 18px;display:flex}.feuille-tete h2{margin:0}.feuille-corps{padding:14px 18px 28px;overflow-y:auto}@media (width>=761px){.voile{align-items:center}.feuille{border-radius:16px}}.recherche{width:100%;margin-bottom:6px;padding:12px}.grille-durees{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.grille-durees button{padding:14px 4px;font-weight:600}.grille-durees button.actif{background:var(--encre);color:#fff;border-color:var(--encre)}.precis{align-items:flex-end;gap:10px;display:flex}.precis label{flex:1}.precis .principal{width:auto;padding:11px 16px;font-size:1rem}.pour{flex-direction:row;align-items:center;gap:10px;margin-bottom:10px}.pour select{flex:1}.nav-date{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.nav-date>div{text-align:center;flex-direction:column;align-items:center;display:flex}.nav-date strong{font-size:1.15rem;display:inline-block}.nav-date strong:first-letter,.jour strong:first-letter{text-transform:uppercase}.nav-date .icone{background:var(--carte);border:1px solid var(--trait);font-size:1.8rem}.etat{font-size:.85rem;font-weight:600}.etat.ok{color:var(--ok)}.etat.attente{color:var(--alerte)}.heures{grid-template-columns:1fr;gap:10px;display:grid}.heure{align-items:center;gap:10px;display:flex}.heure label{flex:none;width:64px;font-size:.95rem}.heure>div{flex:1;gap:6px;min-width:0;display:flex}.heure input{text-align:center;flex:1;padding:10px 2px;font-size:1.1rem;font-weight:600}.total-jour{text-align:center;color:var(--gris);grid-column:1/-1;margin:0}.total-jour strong{color:var(--encre);font-size:1.15rem}.pas{background:var(--fond);min-width:44px;height:46px;padding:0 6px;font-weight:600}.ligne{border-bottom:1px solid var(--trait);margin-bottom:8px;padding:6px 0 12px}.carte>.ligne:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.ligne-tete{justify-content:space-between;align-items:center;gap:8px;display:flex}.ligne-tete>div{flex-direction:column;display:flex}.ligne-tete span{color:var(--gris);font-size:.8rem}.ligne-heures{align-items:center;gap:6px;display:flex}.ligne-heures .valeur{border-color:var(--encre);flex:1;height:46px;padding:0;font-size:1.2rem;font-weight:700}.ligne-heures .valeur.vide{border-color:var(--alerte);color:var(--alerte);background:var(--alerte-pale)}.prendre{background:var(--accent-pale);border-color:var(--accent);width:100%;color:var(--accent-fonce);margin-top:8px;padding:11px;font-weight:600}.chantier-tete{justify-content:space-between;align-items:center;margin:-4px 0 6px;display:flex}.chantier-nom{text-align:left;background:0 0;border:0;padding:6px 0;font-size:1.05rem;font-weight:700}.chantier-nom span{color:var(--accent);margin-left:6px;font-size:.8rem;font-weight:500;text-decoration:underline}.actions-secondaires{gap:8px;margin-bottom:12px;display:flex}.actions-secondaires button{flex:1;padding:12px;font-weight:600}.km-info{color:var(--gris);text-align:center;font-size:.85rem}.pied{background:linear-gradient(transparent, var(--fond) 14px);flex-direction:column;align-items:stretch;gap:8px;padding:18px 0 8px;display:flex;position:sticky;bottom:0}@media (width<=760px){.pied{bottom:calc(58px + env(safe-area-inset-bottom))}}.non-attribue{border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-weight:600;display:flex}.non-attribue strong{font-size:1.2rem}.non-attribue.zero{background:var(--ok-pale);color:var(--ok)}.non-attribue.reste{background:var(--alerte-pale);color:var(--alerte)}.non-attribue.trop{background:var(--erreur-pale);color:var(--erreur)}.refus{text-align:center;color:var(--gris);margin:0;font-size:.88rem}.pied .lien{align-self:center;font-size:.85rem}.jour{text-align:left;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;padding:12px 14px;display:flex}.jour>div{flex-direction:column;display:flex}.jour span{color:var(--gris);font-size:.85rem}.jour em{font-style:normal;font-weight:700}.jour.manquante{background:var(--alerte-pale);border-color:#0000}.jour.manquante em{color:var(--accent);font-weight:600;text-decoration:underline}.filtres{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.raccourcis{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.raccourcis button,.onglets button{font-size:.9rem;font-weight:600}.raccourcis button.actif,.onglets button.actif{background:var(--encre);color:#fff;border-color:var(--encre)}.barre{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;display:flex}.barre>div{align-items:center;gap:6px;display:flex}.onglets button{padding:10px 18px}.filtres-ligne{flex-wrap:wrap}.tableau{border-collapse:collapse;background:var(--carte);border:1px solid var(--trait);border-radius:var(--rayon);width:100%;margin-bottom:8px;font-size:.93rem}.tableau th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);border-bottom:1px solid var(--trait);padding:9px 10px;font-size:.75rem;font-weight:600}.tableau td{border-bottom:1px solid var(--fond);vertical-align:middle;padding:8px 10px}.tableau .n{text-align:right;font-variant-numeric:tabular-nums}.tableau .fort{font-weight:700}.tableau tr.sous-total td{background:var(--fond);font-weight:600}.tableau tr.total td{border-top:2px solid var(--encre);font-size:1rem;font-weight:700}.tableau tr.inactif td,.tableau tr.non-facture td{color:var(--gris)}.tableau.cliquable tbody tr{cursor:pointer}.tableau.cliquable tbody tr:hover td{background:var(--accent-pale)}.tableau.chiffrier td{padding:3px 6px}.tableau.chiffrier td input:not([type=checkbox]),.tableau.chiffrier td select{background:0 0;border-color:#0000;width:100%;padding:7px 6px}.tableau.chiffrier td input:hover:not([type=checkbox]),.tableau.chiffrier td select:hover{border-color:var(--trait)}.tableau.chiffrier td input:focus,.tableau.chiffrier td select:focus{border-color:var(--accent);background:#fff}.tableau.chiffrier tr.nouvelle td{background:var(--accent-pale)}.tableau.chiffrier tr.nouvelle input:not([type=checkbox]),.tableau.chiffrier tr.nouvelle select{border-color:var(--trait);background:#fff}.tableau.chiffrier button{padding:5px 9px;font-size:.85rem}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.bloc{padding:14px;overflow-x:auto}.bloc h2 span{color:var(--gris);margin-left:8px;font-size:.9rem;font-weight:500}.bloc .tableau{border:0}.chiffres{gap:12px;margin-bottom:12px;display:flex}.chiffres>div{background:var(--encre);color:#fff;border-radius:var(--rayon);flex-direction:column;min-width:190px;padding:14px 18px;display:flex}.chiffres>div.discret{background:var(--carte);color:var(--gris);border:1px solid var(--trait)}.chiffres strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.chiffres span{font-size:.82rem}.deux{grid-template-columns:3fr 2fr;gap:12px;display:grid}@media (width<=760px){.filtres{grid-template-columns:1fr 1fr}.deux{grid-template-columns:1fr}.rapport,.page.large>div{overflow-x:auto}}fieldset{border:1px solid var(--trait);border-radius:10px;flex-direction:column;gap:10px;min-width:0;margin:0;padding:12px;display:flex}legend{padding:0 6px;font-size:.9rem;font-weight:700}.rangee{align-items:flex-end;gap:10px;display:flex}.rangee>label{flex:1}.coche{color:var(--encre);flex-direction:row;align-items:center;gap:8px;font-size:.95rem}.coches{flex-wrap:wrap;gap:8px 20px;display:flex}.tache-estime{align-items:center}.tache-estime span{color:var(--encre);flex:1}.tache-estime input{width:110px;padding:7px}.reglages{max-width:640px}
