/* Espaces équipe (admin, production) — même DA que le site : vert Obsidian, beige, Jost + Manrope. */
@font-face{font-family:'Jost';src:url(/fonts/Jost-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Jost';src:url(/fonts/Jost-Medium.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Jost';src:url(/fonts/Jost-SemiBold.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Jost';src:url(/fonts/Jost-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url(/fonts/Manrope-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url(/fonts/Manrope-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url(/fonts/Manrope-ExtraBold.ttf) format('truetype');font-weight:800;font-display:swap}
:root{
  --vert:#344532; --vert-fonce:#26331F; --vert-2:#4A5C46;
  --beige:#F3EBDD; --beige-2:#E8DDCA; --beige-3:#DCCFB8; --texte-2:#56604F; --clair:#E3DCCD;
  --alerte:#8A3B22; --ok:#3F6B3A;
  --jost:'Jost','Futura',sans-serif; --manrope:'Manrope','Helvetica Neue',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --marge:clamp(16px,4vw,48px);
}
*{box-sizing:border-box;margin:0}
html{background:var(--beige);color:var(--vert)}
body{font:400 16px/1.5 var(--manrope);min-height:100dvh}
::selection{background:var(--vert);color:var(--beige)}
input,button,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
button{background:none;border:0;cursor:pointer;padding:0}
a{color:inherit}
[hidden]{display:none!important}
.num{font-variant-numeric:tabular-nums}
.mention{font:800 11px/1.3 var(--manrope);letter-spacing:.14em;text-transform:uppercase}
.aide{font-size:14px;color:var(--texte-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Barre */
.barre{position:sticky;top:0;z-index:20;min-height:64px;background:var(--vert);color:var(--beige);display:flex;align-items:center;gap:24px;padding:0 var(--marge);flex-wrap:wrap}
.marque{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--beige);padding:12px 0}
.marque-nom{font:700 22px/1 var(--jost);letter-spacing:.04em}
.marque-sous{font:400 10px/1.2 var(--jost);letter-spacing:.14em;text-transform:uppercase;color:var(--clair);margin-top:4px}
.onglets{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.onglets button{padding:22px 12px 20px;font:500 15px/1 var(--jost);letter-spacing:.03em;color:var(--clair);border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s var(--ease),border-color .2s var(--ease)}
.onglets button:hover{color:var(--beige)}
.onglets button[aria-selected="true"]{color:var(--beige);border-bottom-color:var(--beige)}
.espace{flex:1;font:500 15px/1 var(--jost);letter-spacing:.14em;text-transform:uppercase;color:var(--clair)}
.quitter{font:500 14px/1 var(--jost);color:var(--clair);padding:10px 0;letter-spacing:.03em}
.quitter:hover{color:var(--beige)}

main{padding:28px var(--marge) 80px;max-width:1180px;margin:0 auto}
h1{font:600 clamp(26px,3.4vw,36px)/1.15 var(--jost);letter-spacing:.01em}
h2{font:600 20px/1.25 var(--jost);letter-spacing:.01em}
h3{font:600 16px/1.3 var(--jost)}
.entete{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.entete .mention{color:var(--texte-2);display:block;margin-bottom:6px}
.section{margin-top:36px}
.section>h2{margin-bottom:14px}

/* Boutons */
.btn-plein{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--vert);color:var(--beige);padding:13px 20px;border-radius:2px;font:600 15px/1 var(--jost);letter-spacing:.03em;transition:background .2s var(--ease)}
.btn-plein:hover{background:var(--vert-fonce)}
.btn-plein:disabled{background:var(--beige-3);color:var(--texte-2);cursor:not-allowed}
.btn-trait{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid var(--vert);border-radius:2px;font:600 14px/1 var(--jost);letter-spacing:.02em;transition:background .2s var(--ease),color .2s var(--ease)}
.btn-trait:hover{background:var(--vert);color:var(--beige)}
.btn-trait:disabled{opacity:.45;cursor:not-allowed;background:none;color:var(--vert)}
.btn-trait.petit{padding:8px 12px;font-size:13px}
.btn-trait.danger{border-color:var(--alerte);color:var(--alerte)}
.btn-trait.danger:hover{background:var(--alerte);color:var(--beige)}
.btn-trait.fait{background:var(--vert);color:var(--beige)}
.lien{font:600 14px/1 var(--jost);text-decoration:underline;text-underline-offset:3px}

/* Navigation par jour */
.jour{display:flex;align-items:center;gap:10px}
.jour .fleche{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--beige-3);border-radius:2px;transition:border-color .2s var(--ease),background .2s var(--ease)}
.jour .fleche:hover{border-color:var(--vert);background:var(--beige-2)}
.jour .fleche svg{width:18px;height:18px}
.jour-nom{font:600 20px/1.2 var(--jost);min-width:13ch;text-align:center}
.jour-nom::first-letter{text-transform:uppercase}
.jour .auj{margin-left:6px}

/* Cartes chiffres */
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--beige-3);border:1px solid var(--beige-3)}
.chiffre{background:var(--beige);padding:18px 20px}
.chiffre .mention{color:var(--texte-2)}
.chiffre .valeur{display:block;font:600 30px/1.1 var(--jost);margin-top:8px;font-variant-numeric:tabular-nums}
.chiffre .sous{font-size:13px;color:var(--texte-2);margin-top:4px}

/* Tableau */
.tableau{width:100%;border-collapse:collapse;background:var(--beige)}
.tableau th{font:800 11px/1.3 var(--manrope);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2);text-align:left;padding:10px 12px;border-bottom:1px solid var(--vert)}
.tableau td{padding:12px;border-bottom:1px solid var(--beige-3);vertical-align:middle}
.tableau .d{text-align:right;font-variant-numeric:tabular-nums}
.tableau .total{font:700 20px/1 var(--jost)}
.tableau .vide{color:var(--beige-3)}
.tableau tr.rayon td{font:800 11px/1.3 var(--manrope);letter-spacing:.14em;text-transform:uppercase;color:var(--texte-2);background:var(--beige-2);padding:8px 12px}

/* Commandes */
.creneau{margin-top:22px}
.creneau-titre{display:flex;align-items:baseline;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--vert);margin-bottom:2px}
.creneau-titre h3{font:600 18px/1.2 var(--jost)}
.creneau-titre .aide{margin-left:auto}
.commande{display:grid;grid-template-columns:auto 1fr auto;gap:6px 16px;padding:14px 0;border-bottom:1px solid var(--beige-3);align-items:start}
.commande.retiree,.commande.annulee{opacity:.5}
.commande .heure{font:600 16px/1.3 var(--jost);min-width:4.5ch;font-variant-numeric:tabular-nums}
.commande .qui{font:600 16px/1.3 var(--jost)}
.commande .qui small{font:400 13px/1 var(--manrope);color:var(--texte-2);margin-left:8px}
.commande .lignes{grid-column:2;font-size:14px;color:var(--texte-2)}
.commande .lignes b{color:var(--vert);font-weight:700}
.commande .note{grid-column:2;font-size:13px;color:var(--alerte)}
.commande .actions{grid-row:1/span 3;grid-column:3;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.commande.cliquable{cursor:pointer}
.commande.cliquable:hover{background:var(--beige-2)}
.badge{display:inline-block;font:800 10px/1 var(--manrope);letter-spacing:.12em;text-transform:uppercase;padding:5px 7px;border:1px solid currentColor;border-radius:2px;white-space:nowrap}
.badge.plein{background:var(--vert);border-color:var(--vert);color:var(--beige)}
.badge.alerte{color:var(--alerte)}
.badge.discret{color:var(--texte-2);border-color:var(--beige-3)}
.source{font:800 10px/1 var(--manrope);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2)}

/* Filtres */
.filtres{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.puce{padding:8px 14px;border:1px solid var(--beige-3);border-radius:2px;font:500 14px/1 var(--jost);transition:all .2s var(--ease)}
.puce:hover{border-color:var(--vert)}
.puce[aria-pressed="true"]{background:var(--vert);border-color:var(--vert);color:var(--beige)}

/* Formulaires */
.champ{display:flex;flex-direction:column;gap:6px}
.champ>span{font:800 11px/1.3 var(--manrope);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-2)}
.saisie{width:100%;background:var(--beige);border:1px solid var(--beige-3);border-radius:2px;padding:11px 12px;transition:border-color .2s var(--ease)}
.saisie:focus{outline:none;border-color:var(--vert)}
.saisie.court{width:96px}
textarea.saisie{min-height:72px;resize:vertical}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.bloc{border:1px solid var(--beige-3);padding:22px;background:var(--beige)}
.bloc+.bloc{margin-top:18px}
.bloc>h2{margin-bottom:6px}
.bloc>.aide{margin-bottom:16px}
.bloc .pied{display:flex;gap:12px;align-items:center;margin-top:18px}
.interrupteur{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}
.interrupteur input{position:absolute;opacity:0;width:1px;height:1px}
.interrupteur .rail{width:40px;height:22px;border-radius:11px;background:var(--beige-3);position:relative;transition:background .2s var(--ease);flex:none}
.interrupteur .rail::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--beige);transition:transform .25s var(--ease)}
.interrupteur input:checked+.rail{background:var(--vert)}
.interrupteur input:checked+.rail::after{transform:translateX(18px)}
.interrupteur input:focus-visible+.rail{outline:2px solid var(--vert);outline-offset:2px}

/* Produits */
.produit{border-bottom:1px solid var(--beige-3);padding:14px 0;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}
.produit.inactif .nom{color:var(--texte-2);text-decoration:line-through;text-decoration-thickness:1px}
.produit .nom{font:600 16px/1.3 var(--jost)}
.produit .infos{font-size:13px;color:var(--texte-2)}
.produit .ouvrir{font:600 13px/1 var(--jost);text-decoration:underline;text-underline-offset:3px}
.produit .detail{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:14px 16px;background:var(--beige-2);margin-top:4px}
.option{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;padding:6px 0;border-bottom:1px solid var(--beige-3)}
.option:last-child{border-bottom:0}

/* Barres stats */
.barres{display:flex;align-items:flex-end;gap:4px;height:140px;border-bottom:1px solid var(--vert);padding-top:10px}
.barres .b{flex:1;background:var(--vert);min-height:2px;position:relative;transition:background .2s var(--ease)}
.barres .b.zero{background:var(--beige-3)}
.barres .b:hover{background:var(--vert-2)}
.barres-legende{display:flex;justify-content:space-between;font-size:12px;color:var(--texte-2);margin-top:6px}

/* Volet détail */
.voile{position:fixed;inset:0;background:rgba(38,51,31,.35);z-index:40;opacity:0;transition:opacity .25s var(--ease)}
.voile.ouvert{opacity:1}
.volet{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--beige);z-index:41;overflow-y:auto;padding:24px;transform:translateX(100%);transition:transform .3s var(--ease);box-shadow:-12px 0 40px rgba(38,51,31,.15)}
.volet.ouvert{transform:none}
.volet .fermer{float:right;font:500 14px/1 var(--jost);text-decoration:underline;text-underline-offset:3px}
.volet dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:18px 0;font-size:14px}
.volet dt{color:var(--texte-2)}
.volet .actions-volet{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

/* Connexion */
.connexion{min-height:100dvh;display:grid;place-items:center;background:var(--vert);color:var(--beige);padding:24px}
.connexion form{width:min(360px,100%);text-align:center}
.connexion .marque{align-items:center;margin-bottom:40px}
.connexion .marque-nom{font-size:34px}
.connexion h1{font:500 15px/1.3 var(--jost);letter-spacing:.14em;text-transform:uppercase;color:var(--clair);margin-bottom:20px}
.pin{width:100%;text-align:center;font:600 30px/1 var(--jost);letter-spacing:.5em;padding:16px 0 16px .5em;background:transparent;border:0;border-bottom:1px solid rgba(243,235,221,.45);color:var(--beige);caret-color:var(--beige)}
.pin:focus{outline:none;border-bottom-color:var(--beige)}
.connexion .btn-plein{width:100%;margin-top:28px;background:var(--beige);color:var(--vert)}
.connexion .btn-plein:hover{background:var(--clair)}
.connexion .erreur{min-height:22px;margin-top:16px;font-size:14px;color:#F0C9B8}

/* Message flottant */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--vert-fonce);color:var(--beige);padding:12px 18px;border-radius:2px;font:500 15px/1.3 var(--jost);z-index:60;opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease);max-width:calc(100% - 32px)}
.toast.vu{opacity:1;transform:translate(-50%,0)}
.toast.erreur{background:var(--alerte)}

.chargement{padding:40px 0;color:var(--texte-2);font-size:14px}
.vide-etat{padding:28px 0;color:var(--texte-2)}
.etat-synchro{font-size:13px;color:var(--texte-2)}
.etat-synchro.alerte{color:var(--alerte)}

@media (max-width:640px){
  .barre{gap:12px}
  .onglets{order:3;flex-basis:100%;margin:0 calc(var(--marge) * -1);padding:0 var(--marge)}
  .onglets button{padding:12px 10px 14px}
  .commande{grid-template-columns:auto 1fr}
  .quitter{margin-left:auto}
  .commande .actions{grid-row:9;grid-column:2;flex-direction:row;justify-content:flex-start;margin-top:4px}
  .tableau th,.tableau td{padding:10px 6px}
  .jour-nom{font-size:17px;min-width:0;flex:1}
}
@media print{
  .barre,.actions,.jour .fleche,.jour .auj,.filtres,.btn-trait{display:none!important}
  body{font-size:12px}
  .tableau td{padding:6px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.marge-haut{margin-top:12px}
.ligne-synchro{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.grille>.bloc+.bloc{margin-top:0}
.tableau tr.cliquable{cursor:pointer}
.tableau tr.cliquable:hover td{background:var(--beige-2)}
.volet .note,.produit .note{font-size:13px;color:var(--alerte);margin-top:10px}
.cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px}
.case{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;text-transform:none;letter-spacing:0}
.case input{accent-color:var(--vert);width:16px;height:16px}
.champ-filtre{width:min(260px,100%)}
.champ-date{width:170px}
.entete .filtres{flex-wrap:wrap;justify-content:flex-end}
.filtres>.saisie[type=date]{width:180px}
