:root{--vert:#2f5d34;--vert-clair:#e6efe3;--or:#b8912a;--or-clair:#f7efd8;--rouge:#b3362b;--rouge-clair:#f8e3e0;--fond:#f6f4ec;--carte:#fff;--texte:#1f2a1f;--texte-doux:#5d6a5d;--bord:#d9dccf;--rayon:12px;color:var(--texte);background:var(--fond);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}*{box-sizing:border-box}body{background:var(--fond);margin:0}h1{margin:.4rem 0 .6rem;font-size:1.45rem}h2{margin:0 0 .6rem;font-size:1.1rem}a{color:var(--vert)}.app{flex-direction:column;min-height:100dvh;display:flex}.entete{z-index:10;padding:calc(.6rem + env(safe-area-inset-top)) 1rem .5rem;background:var(--vert);color:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.5rem;display:grid;position:sticky;top:0}.marque{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.marque img{flex-shrink:0}.marque-nom{letter-spacing:.04em;white-space:nowrap;font-size:1.15rem;font-weight:700}.marque-sous-titre{opacity:.92;grid-column:1/-1;margin:.1rem 0 0;font-size:.78rem;line-height:1.2}.pastille-synchro{text-align:center;max-width:100%;line-height:1.15;font:inherit;color:var(--vert);background:#fff;border:0;border-radius:999px;justify-self:end;padding:.35rem .8rem;font-size:.85rem;font-weight:600}.pastille-synchro.etat-hors_ligne{background:var(--or-clair);color:#6b5210}.pastille-synchro.etat-local{color:#fff;background:#ffffff2e}.contenu{width:100%;max-width:720px;padding:.5rem 1rem calc(5.5rem + env(safe-area-inset-bottom));flex:1;margin:0 auto}.navigation{background:var(--carte);border-top:1px solid var(--bord);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.navigation a{color:var(--texte-doux);flex-direction:column;align-items:center;gap:.1rem;padding:.55rem 0 .6rem;font-size:.8rem;text-decoration:none;display:flex}.navigation a span{font-size:1.35rem;line-height:1}.navigation a.active{color:var(--vert);font-weight:700}.carte{background:var(--carte);border:1px solid var(--bord);border-radius:var(--rayon);margin:0 0 1rem;padding:1rem}.sous-carte{background:var(--vert-clair);border-radius:var(--rayon);margin:.5rem 0 .8rem;padding:.9rem}.tuiles{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0 0 1rem;display:grid}.tuile{border-radius:var(--rayon);background:var(--carte);border:1px solid var(--bord);color:var(--texte);flex-direction:column;gap:.15rem;padding:.8rem;text-decoration:none;display:flex}.tuile-valeur{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;line-height:1.1}.tuile-libelle{color:var(--texte-doux);font-size:.85rem}.tuile-alerte{background:var(--rouge-clair);border-color:#e8b9b3}.tuile-alerte .tuile-valeur{color:var(--rouge)}.titre-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.fil{margin:.3rem 0 0;font-size:.95rem}.aide{color:var(--texte-doux);font-size:.88rem;font-weight:400}.vide{color:var(--texte-doux);text-align:center;padding:1.5rem .5rem}.alerte-texte{color:var(--rouge);font-weight:600}.resultat{background:var(--or-clair);border-radius:8px;margin:.3rem 0 0;padding:.5rem .7rem;display:block}.liste{margin:0;padding:0;list-style:none}.liste>li+li{border-top:1px solid var(--bord)}.ligne-lien,.ligne{width:100%;min-height:3rem;color:var(--texte);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .1rem;text-decoration:none;display:flex}.parametre .ligne-lien strong{white-space:nowrap;font-variant-numeric:tabular-nums}.unite{color:var(--texte-doux);font-size:.8rem;font-weight:400}.etiquette{background:var(--vert-clair);color:var(--vert);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.statut-preparation,.statut-quarantaine,.statut-param-provisoire,.statut-param-conditionnel{background:var(--or-clair);color:#6b5210}.statut-cloturee,.statut-vendu{color:#444;background:#e7e7e7}.statut-mort,.statut-reforme{background:var(--rouge-clair);color:var(--rouge)}.statut-param-modifie{color:#22476e;background:#dde8f5}.statut-a_encaisser,.statut-partielle{background:var(--or-clair);color:#6b5210}.statut-soldee{background:var(--vert-clair);color:var(--vert)}.statut-annulee{color:#444;background:#e7e7e7}.statut-a_rembourser{background:var(--rouge-clair);color:var(--rouge)}.tableau{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.95rem}.tableau th,.tableau td{text-align:right;border-bottom:1px solid var(--bord);padding:.45rem .3rem}.tableau th:first-child,.tableau td:first-child{text-align:left}.tableau th{color:var(--texte-doux);font-size:.8rem;font-weight:600}.formulaire{flex-direction:column;gap:.8rem;display:flex}.formulaire label{flex-direction:column;gap:.25rem;font-size:.95rem;font-weight:600;display:flex}input,select{font:inherit;border:1px solid var(--bord);color:var(--texte);background:#fff;border-radius:10px;width:100%;min-height:3rem;padding:.7rem .75rem;font-weight:400}input:focus,select:focus{border-color:var(--vert);outline:3px solid #2f5d3440}.ligne-double{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.boutons-actions{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0 0 1rem;display:grid}.bouton{font:inherit;border:2px solid var(--vert);background:var(--vert);color:#fff;cursor:pointer;border-radius:10px;min-height:3rem;padding:.6rem 1.1rem;font-weight:700}.bouton.secondaire{color:var(--vert);background:#fff}a.bouton{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.bouton.danger{border-color:var(--rouge);color:var(--rouge);background:#fff}.bouton.danger[type=submit]{background:var(--rouge);color:#fff}.bouton:disabled{opacity:.45;cursor:default}.pleine-largeur{width:100%;margin:0 0 1rem}.lien-discret{font:inherit;color:var(--texte-doux);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:.3rem;font-size:.85rem;text-decoration:underline}.ligne-lien>span:last-child,.ligne>span:last-child,.tableau td{white-space:nowrap}.page-connexion{max-width:420px;padding:calc(3rem + env(safe-area-inset-top)) 1rem 2rem;text-align:center;margin:0 auto}.page-connexion h1{color:var(--vert);letter-spacing:.06em;margin:.5rem 0 0}.page-connexion .formulaire{text-align:left;margin-top:1.5rem}.mois{text-transform:capitalize}.totaux-mois{background:var(--fond);border-radius:8px;grid-template-columns:1fr;gap:.2rem;margin:0 0 .6rem;padding:.6rem .75rem;font-size:.92rem;display:grid}.totaux-mois span{justify-content:space-between;display:flex}.montant-entree{color:var(--vert);font-weight:700}.montant-sortie{color:var(--texte);font-weight:700}.libelle-mouvement{display:block}.ligne>span:first-child{overflow-wrap:anywhere;white-space:normal;min-width:0}.vide-bloc{color:var(--texte-doux);margin:.2rem 0 0}.mouvement .ligne{padding-bottom:.1rem}.raccourcis{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:0 0 1rem;display:grid}.raccourcis .bouton{text-align:center;padding-left:.2rem;padding-right:.2rem}.actions-multiples{grid-template-columns:1fr 1fr;margin:0 0 .6rem;display:grid}.actions-mouvement{gap:.8rem;padding:0 0 .4rem;display:flex}.bascule{border:2px solid var(--vert);border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.bascule button{font:inherit;min-height:3rem;color:var(--vert);background:#fff;border:0;font-weight:700}.bascule button.actif{background:var(--vert);color:#fff}.bascule-grille{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 1rem}.bascule-grille.impair button:first-child{grid-column:span 2}.bascule button small{font-size:.75rem;font-weight:400;display:block}.puces{flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .6rem;display:flex}.puces button{font:inherit;border:1px solid var(--vert);min-height:2.6rem;color:var(--vert);background:#fff;border-radius:999px;padding:.3rem .8rem;font-size:.85rem}.puces button.actif{background:var(--vert);color:#fff}.bascule-multiple{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column;margin:0 0 1rem}.bascule-multiple button{padding:0 .2rem;font-size:.9rem}.champ-photo input[type=file]{padding:.5rem}.apercu-photo{object-fit:contain;border:1px solid var(--bord);border-radius:8px;align-self:flex-start;max-width:100%;max-height:220px}.voile{z-index:50;background:#141c14e0;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex;position:fixed;inset:0}.voile img{border-radius:8px;max-width:100%;max-height:80dvh}.voile-texte{color:#fff}.ligne-lien:disabled{opacity:.5}.historique{margin-top:.8rem}.historique summary{cursor:pointer;color:var(--vert);padding:.4rem 0;font-weight:600}.ligne-total td{font-weight:700}.ligne-pole td{background:var(--vert-clair);font-weight:700}.tableau .ligne-atelier td:first-child{padding-left:.8rem}.tableau-compact{font-size:.8rem}.tableau-compact th,.tableau-compact td{padding-left:.15rem;padding-right:.15rem}.tableau-texte td:last-child{white-space:normal}.titre-groupe{letter-spacing:.06em;text-transform:uppercase;color:var(--vert);margin:1.2rem 0 .5rem;font-size:.85rem}@media (width<=480px){.pleine-largeur-mobile{width:100%}}.bouton-scan{justify-content:center;align-items:center;gap:.5rem;width:100%;margin:0 0 1rem;text-decoration:none;display:flex}.cadre-scan{border-radius:var(--rayon);aspect-ratio:3/4;background:#000;max-height:60dvh;margin:0 0 1rem;position:relative;overflow:hidden}.cadre-scan video{object-fit:cover;width:100%;height:100%}.cadre-scan .viseur{border:3px solid var(--or);border-radius:12px;position:absolute;inset:22% 15%;box-shadow:0 0 0 999px #00000059}.cadre-scan .voile-texte{text-align:center;position:absolute;inset:auto 0 1rem}.planche{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;display:grid}.etiquette-qr{border:1px dashed var(--bord);break-inside:avoid;background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem;display:flex}.etiquette-qr strong{letter-spacing:.04em;font-size:1.15rem}.etiquette-qr span{color:var(--texte-doux);font-size:.75rem}.bandeau-maj{left:.75rem;right:.75rem;bottom:calc(4.8rem + env(safe-area-inset-bottom));z-index:30;border-radius:var(--rayon);background:var(--texte);color:#fff;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex;position:fixed;box-shadow:0 6px 20px #00000040}.bandeau-maj span{flex:1}.bandeau-maj .bouton{border-color:#fff;flex-shrink:0}.facture{color:#111;border:1px solid var(--bord);border-radius:var(--rayon);background:#fff;margin:0 0 1rem;padding:1rem;font-size:.9rem}.facture-entete{border-bottom:3px solid var(--vert);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:.8rem;padding-bottom:.6rem;display:flex}.facture-emetteur{color:var(--vert);font-size:1.05rem}.facture-titre{text-align:right}.facture-titre strong{letter-spacing:.05em;font-size:1.2rem}.facture-client{border:1px solid var(--bord);border-radius:8px;max-width:22rem;margin:0 0 .8rem auto;padding:.6rem .8rem}.facture-lignes td:first-child{white-space:normal}@media screen{.facture{overflow-x:auto}.facture-lignes th,.facture-lignes td{padding-left:.2rem;padding-right:.2rem;font-size:.8rem}}.facture-totaux{max-width:24rem;margin-left:auto}.facture-mention{color:#444;font-style:italic}.ligne-case{cursor:pointer}.ligne-case input[type=checkbox]{flex-shrink:0;width:1.6rem;height:1.6rem}.rapport-entete{border-bottom:3px solid var(--vert);margin:.5rem 0 1rem}.rapport-entete h1{margin:0 0 .3rem;font-size:1.25rem}.rapport-entete p{color:var(--texte-doux);margin:0 0 .6rem}@media print{@page{size:A4;margin:10mm}body,:root{background:#fff}.entete,.navigation,.bandeau-maj,.ecran-seulement{display:none!important}.contenu{max-width:none;padding:0}.facture{border:0;padding:0;font-size:10.5pt}.rapport .carte{break-inside:avoid;border-color:#bbb}.planche{grid-template-columns:repeat(3,1fr);gap:4mm}.etiquette-qr{border:1px dashed #999;padding:3mm}}.tableau td:first-child{white-space:normal}.niveau{border-radius:6px;padding:0 .35rem;font-weight:700;display:inline-block}.niveau-vert{background:var(--vert-clair);color:var(--vert)}.niveau-orange{background:var(--or-clair);color:#7a5c10}.niveau-rouge{background:var(--rouge-clair);color:var(--rouge)}.seuils{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.critere{padding:.35rem 0 .5rem}.fenetre-plan{text-align:center;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 1rem;font-weight:600;display:flex}.fenetre-plan .bouton{min-width:3rem;font-size:1.3rem;line-height:1}.graphique svg{outline:none;margin:.4rem 0;display:block}.graphique svg:focus-visible{outline:2px solid var(--vert);outline-offset:2px}.graduation{fill:var(--texte-doux);font-variant-numeric:tabular-nums;font-size:9px}.lecture{font-variant-numeric:tabular-nums;min-height:3.2rem}.lecture ul{color:var(--texte-doux);flex-wrap:wrap;gap:.2rem .8rem;margin:.2rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.lecture li strong{color:var(--texte)}.cle-ligne{vertical-align:middle;width:.8rem;height:2px;margin-right:.3rem;display:inline-block}.legende{color:var(--texte-doux);flex-wrap:wrap;gap:.3rem .9rem;margin:.4rem 0 .2rem;font-size:.8rem;display:flex}.legende>span{align-items:center;gap:.3rem;display:inline-flex}.cle-carre{border-radius:2px;width:.65rem;height:.65rem}.cle-aujourdhui{background:var(--texte-doux);width:1px;height:.8rem}.cle-pese{background:var(--texte);width:.9rem;height:2px}.cle-pepiniere{background:var(--texte-doux);opacity:.6;width:.9rem;height:2px}.cle-place,.cle-recolte,.cle-bande{background:#6f7a6f;border-radius:3px;width:.9rem;height:.55rem}.cle-place{opacity:.3}.detail-tableau summary{cursor:pointer;color:var(--vert);padding:.4rem 0;font-weight:600}.gantt{font-size:.8rem}.gantt-ligne{border-top:1px solid #eef0e8;align-items:center;gap:.35rem;min-height:2rem;display:flex}.gantt-entete{border-top:0;min-height:1.3rem}.gantt-libelle{overflow-wrap:anywhere;flex:none;width:6.3rem;line-height:1.15}.gantt-libelle small{color:var(--texte-doux);font-size:.7rem;display:block}.gantt-piste{flex:1;align-self:stretch;min-height:1.3rem;position:relative}.gantt-mois{color:var(--texte-doux);font-size:.68rem;position:absolute;top:.15rem}.gantt-groupe{margin:.7rem 0 .1rem;font-size:.8rem;font-weight:700}.gantt-vide{color:var(--texte-doux);font-style:italic}.gantt-seg{background:var(--couleur);border-radius:3px;height:.55rem;position:absolute;top:50%;transform:translateY(-50%)}.gantt-pepiniere{background:var(--texte-doux);opacity:.6;border-radius:0;height:2px}.gantt-place,.gantt-quarantaine{opacity:.3}.gantt-auj{background:var(--texte-doux);width:1px;position:absolute;top:0;bottom:0}.statut-realisee{background:var(--vert-clair);color:var(--vert)}.statut-retard{background:var(--rouge-clair);color:var(--rouge)}.choix-titre{margin:.3rem 0 -.2rem;font-weight:600}.apercu-plan{margin:.4rem 0;padding-left:1.1rem;font-size:.85rem}.gantt-graduation{background:#d9dccf;width:1px;height:.3rem;position:absolute;bottom:0}.gantt-fenetre{background:#f7efd8;position:absolute;top:0;bottom:0}.fenetre-vente summary{cursor:pointer;padding:.5rem 0;font-weight:700}.saisie-coef{text-align:right;width:4.5rem;min-height:2.6rem}.choix-produit{margin:0 0 1rem;display:block}.ressource p{margin:.2rem 0 .6rem;font-size:.9rem}.ressource .titre-action{margin-top:.5rem}fieldset.groupe{border:1px solid var(--bord);border-radius:var(--rayon);gap:.6rem;margin:0;padding:.6rem .8rem .4rem;display:grid}fieldset.groupe legend{padding:0 .3rem;font-weight:700}.sous-titre{color:var(--texte-doux);margin:.8rem 0 .2rem;font-size:.95rem}.lignes-ration{border:1px solid #d8dccf;border-radius:.5rem;gap:.5rem;min-width:0;margin:0;padding:.5rem .6rem .7rem;display:grid}.lignes-ration legend{padding:0 .3rem;font-size:.9rem}.ligne-fourrage{border-bottom:1px dashed #d8dccf;grid-template-columns:minmax(0,1fr) 2.6rem;grid-template-areas:"produit produit""kg retirer";align-items:center;gap:.3rem .4rem;padding-bottom:.4rem;display:grid}.ligne-fourrage select{grid-area:produit}.ligne-fourrage input{grid-area:kg}.ligne-fourrage button{grid-area:retirer}.ligne-fourrage select{text-overflow:ellipsis;min-width:0}.ligne-fourrage .lien-discret{min-height:3rem;font-size:1.1rem}.autre-jour{margin-top:.8rem;font-size:.9rem}
