/* ══════════════════════════════════════════════════════════════════════
   SORRA — charte « illustrée douce » de l'espace ÉLEVEUR et de la page publique
   du QR code (lot 8). Chargée seulement pour eux (et l'écran de connexion) ; les
   autres profils gardent perform.css. Couleurs uniquement dans :root ci-dessous.
   Police Nunito (licence OFL), servie en local. Animations : transform et opacity,
   coupées si l'appareil demande de réduire les animations.
   ══════════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(../polices/nunito-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(../polices/nunito-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:500 600;font-display:swap;src:url(../polices/nunito-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:500 600;font-display:swap;src:url(../polices/nunito-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(../polices/nunito-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(../polices/nunito-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800 900;font-display:swap;src:url(../polices/nunito-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800 900;font-display:swap;src:url(../polices/nunito-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --e-nuit:#1b2a5e;      /* textes */
  --e-bleu:#2a7de1;      /* actions */
  --e-bleu-fonce:#1b4fae;/* fin du dégradé de l'en-tête */
  --e-soleil:#f7c948;
  --e-prairie:#2fa36b;   /* tout va bien, bouton Envoyer */
  --e-prairie-fonce:#17734a;   /* texte vert : 5,2 sur vert pâle (lot 13) */
  --e-orange:#f08a24;    /* attention (fonds, pastilles avec texte bleu nuit : 5,4) */
  --e-orange-fonce:#a8520f; /* texte « attention » : 5,4 sur blanc, 4,9 sur orange pâle (lot 13) */
  --e-rouge:#e5484d;     /* alerte */
  --e-creme:#fbf8f2;     /* fond de page */
  --e-gris:#5c6683;      /* textes secondaires : 5,4 sur crème (lot 13) */
  --e-trait:#edf0f6;     /* bordure très fine des cartes */
  --e-blanc:#fff;
  --e-gris-clair:#eef1f7;
  --e-bleu-pale:#e8f1fd;
  --e-bleu-bord:#d6e2f5;
  --e-jaune-pale:#fff8dc;
  --e-jaune-bord:#f6e3a1;
  --e-orange-pale:#fff1e3;
  --e-orange-bord:#f9d4ad;
  --e-rose:#fdeced;
  --e-rose-bord:#f8d3d5;
  --e-rose-corps:#fde3e6;
  --e-vert-pale:#e7f6ee;
  --e-aile:#dbe9fb;
  --e-goutte:#9fd0f7;
  --e-ombre:rgba(27,42,94,.08);
  --e-ombre-bleue:rgba(42,125,225,.32);
  --e-ombre-verte:rgba(47,163,107,.32);
  --e-ombre-rouge:rgba(229,72,77,.32);
  --e-voile:rgba(27,42,94,.45);
  --e-sombre:#1f2937;
}

/* ── Base ─────────────────────────────────────────────────────────────── */
.theme-eleveur{background:var(--e-creme);color:var(--e-nuit);
  font-family:'Nunito','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;}
.theme-eleveur .kente-band,.theme-eleveur .kente-top,.theme-eleveur .greeting-bar{display:none;}
.theme-eleveur .num,.theme-eleveur .mono{font-family:inherit;}
.theme-eleveur .page-body,.theme-eleveur .content{width:100%;max-width:560px;min-width:0;box-sizing:border-box;margin:0 auto;padding:14px 14px 32px;}
.theme-eleveur .table-wrap{border-radius:16px;border:1px solid var(--e-trait);box-shadow:0 2px 10px var(--e-ombre);}
.theme-eleveur .table-wrap thead tr{background:var(--e-nuit);}
.theme-eleveur .table-wrap table{font-size:.85rem;}

/* En-tête : dégradé bleu, poulet + SORRA en blanc, « Bonjour {Prénom} ! 👋 » */
.theme-eleveur .topbar{background:linear-gradient(135deg,var(--e-bleu),var(--e-bleu-fonce));border:0;box-shadow:none;
  padding:12px 14px 14px;min-height:0;}
.theme-eleveur .topbar-name,.theme-eleveur .topbar-brand-name{font-family:inherit;font-weight:900;font-size:1.15rem;
  letter-spacing:.02em;color:var(--e-blanc);}
.theme-eleveur .topbar-sub,.theme-eleveur .topbar-brand-sub{font-size:.88rem;color:var(--e-blanc);opacity:.95;}
.theme-eleveur .bonjour{font-weight:700;}
.theme-eleveur .logo-texte{width:34px;height:34px;filter:none;}
.theme-eleveur .btn-top{border-color:rgba(255,255,255,.45);color:var(--e-blanc);border-radius:12px;}
.theme-eleveur .topbar-user{display:none!important;}

/* Titre de page */
.theme-eleveur .page-head{margin:4px 0 12px;}
.theme-eleveur .page-icon{display:none;}
.theme-eleveur .page-title{font-family:inherit;font-weight:900;font-size:1.35rem;color:var(--e-nuit);letter-spacing:0;text-transform:none;}
.theme-eleveur .page-sub{color:var(--e-gris);font-size:.88rem;font-weight:600;}

/* Messages */
.theme-eleveur .flash-item{border-radius:16px;border:1px solid var(--e-trait);background:var(--e-blanc);color:var(--e-nuit);
  box-shadow:0 2px 10px var(--e-ombre);font-weight:700;font-size:.92rem;}
.theme-eleveur .flash-item.success{background:var(--e-vert-pale);border-color:var(--e-vert-pale);}
.theme-eleveur .flash-item.warning,.theme-eleveur .flash-item.info{background:var(--e-jaune-pale);border-color:var(--e-jaune-bord);}
.theme-eleveur .flash-item.danger{background:var(--e-rose);border-color:var(--e-rose-bord);}

/* ── Cartes ───────────────────────────────────────────────────────────── */
.theme-eleveur .carte,.theme-eleveur .carte-ligne,.theme-eleveur .carte-livraison,.theme-eleveur .ma-ferme,
.theme-eleveur .carte-choix-livraison > span,.theme-eleveur .empty-note{
  background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:18px;box-shadow:0 2px 10px var(--e-ombre);}
.theme-eleveur .carte{display:block;padding:14px;margin-bottom:12px;color:var(--e-nuit);text-decoration:none;}
.theme-eleveur .carte-lien:active{transform:scale(.99);}
.theme-eleveur .carte-ligne{padding:12px 14px;}
.theme-eleveur .carte-titre,.theme-eleveur .carte-ligne-titre,.theme-eleveur .carte-livraison-titre{font-weight:900;font-size:1rem;color:var(--e-nuit);text-transform:none;letter-spacing:0;}
.theme-eleveur .carte-titre-ligne{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;}
.theme-eleveur .carte-jour{font-weight:800;font-size:.76rem;color:var(--e-gris);text-transform:uppercase;letter-spacing:.05em;}
.theme-eleveur .carte-phrase{font-weight:900;font-size:1.15rem;line-height:1.2;}
.theme-eleveur .carte-sous{color:var(--e-gris);font-weight:700;font-size:.9rem;}
.theme-eleveur .carte-haut{display:flex;align-items:center;gap:12px;}
.theme-eleveur .carte-haut .poulet{width:78px;height:78px;flex-shrink:0;}
.theme-eleveur .carte-alerte{background:var(--e-rose);border-color:var(--e-rose-bord);display:flex;flex-direction:column;gap:10px;}
.theme-eleveur .conseil{background:var(--e-jaune-pale);border-radius:14px;padding:10px 12px;font-weight:700;font-size:.92rem;}
.theme-eleveur .carte-poussins{display:flex;flex-direction:column;gap:8px;}
.theme-eleveur .carte-vaccin .vaccin-nom{font-weight:900;font-size:1.5rem;line-height:1.15;}

/* ── Boutons : plats, arrondis ; vert = Envoyer, bleu = actions, rouge = vétérinaire ── */
.theme-eleveur .btn-gros,.theme-eleveur .btn-login{border:0;border-radius:16px;min-height:54px;font-family:inherit;font-weight:900;
  font-size:1.08rem;letter-spacing:0;text-transform:none;background:var(--e-bleu);color:var(--e-blanc);
  box-shadow:0 6px 14px var(--e-ombre-bleue);transition:transform .08s ease;}
.theme-eleveur .btn-gros:hover{background:var(--e-bleu);color:var(--e-blanc);}
.theme-eleveur .btn-gros.btn-vert,.theme-eleveur .btn-envoyer,.theme-eleveur .btn-login{background:var(--e-prairie);
  box-shadow:0 6px 14px var(--e-ombre-verte);}
.theme-eleveur .btn-gros.btn-vert:hover,.theme-eleveur .btn-envoyer:hover,.theme-eleveur .btn-login:hover{background:var(--e-prairie);}
.theme-eleveur .btn-gros-rouge{border:0;border-radius:16px;min-height:54px;font-weight:900;font-size:1.08rem;
  background:var(--e-rouge);color:var(--e-blanc);box-shadow:0 6px 14px var(--e-ombre-rouge);}
.theme-eleveur .btn-gros-secondaire{border:1px solid var(--e-bleu-bord);border-radius:16px;min-height:52px;background:var(--e-blanc);
  color:var(--e-bleu-fonce);font-weight:800;font-size:1rem;box-shadow:none;text-transform:none;letter-spacing:0;}
.theme-eleveur .btn-gros-secondaire:hover{background:var(--e-bleu-pale);color:var(--e-bleu-fonce);}
.theme-eleveur .btn-gros-secondaire.lien-rouge{color:var(--e-rouge);border-color:var(--e-rose-bord);margin-bottom:12px;}
.theme-eleveur .btn-gros:active,.theme-eleveur .btn-gros-rouge:active,.theme-eleveur .btn-gros-secondaire:active,
.theme-eleveur .btn-login:active{transform:translateY(2px) scale(.99);}
.theme-eleveur .boutons-secondaires{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;}
.theme-eleveur .liens-discrets{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:10px 0;font-weight:700;}
.theme-eleveur .liens-discrets a,.theme-eleveur .lien-discret a{color:var(--e-bleu-fonce);}
.theme-eleveur .lien-discret{text-align:center;font-weight:700;margin-top:10px;}

/* ── Formulaires ──────────────────────────────────────────────────────── */
.theme-eleveur .form-terrain{gap:12px;}
.theme-eleveur .form-label{font-family:inherit;font-weight:800;font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--e-nuit);}
.theme-eleveur .form-control{border:1px solid var(--e-trait);border-radius:14px;font-family:inherit;font-weight:700;color:var(--e-nuit);
  background:var(--e-blanc);min-height:48px;}
.theme-eleveur .form-control:focus{border-color:var(--e-bleu-fonce);box-shadow:0 0 0 3px var(--e-bleu-pale);}
.theme-eleveur .form-hint,.theme-eleveur .note-numero{color:var(--e-gris);font-weight:600;font-size:.85rem;}
.theme-eleveur .texte-aide{color:var(--e-gris);font-weight:600;}

/* Compteurs + / − ronds 44 px : « − » gris clair, « + » bleu plein */
.theme-eleveur .compteur{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;}
.theme-eleveur .compteur-libelle{font-size:1rem;font-weight:800;text-transform:none;letter-spacing:0;color:var(--e-nuit);flex:1 1 120px;}
.theme-eleveur .compteur-libelle small{display:block;color:var(--e-gris);font-weight:700;font-size:.82rem;}
.theme-eleveur .compteur-boutons{align-items:center;gap:8px;flex:0 0 auto;}
.theme-eleveur .compteur-moins,.theme-eleveur .compteur-plus{width:44px;min-height:44px;height:44px;border-radius:50%;border:0;
  font-size:1.45rem;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;}
.theme-eleveur .compteur-moins{background:var(--e-gris-clair);color:var(--e-nuit);}
.theme-eleveur .compteur-plus{background:var(--e-bleu);color:var(--e-blanc);box-shadow:0 3px 8px var(--e-ombre-bleue);}
.theme-eleveur .compteur-moins:active,.theme-eleveur .compteur-plus:active{transform:scale(.92);}
.theme-eleveur .compteur-valeur{width:72px;flex:0 0 72px;border:0;background:transparent;font-family:inherit;font-size:1.7rem;font-weight:900;
  color:var(--e-nuit);padding:0;min-height:44px;}
.theme-eleveur .compteur-valeur.rebond{animation:e-rebond .22s ease-out;}
.theme-eleveur .compteur .form-hint{flex-basis:100%;}

/* Grosses cases (Pour qui ?, bâtiments, raisons, signes) */
.theme-eleveur .case-choix span{border:1px solid var(--e-trait);border-radius:16px;background:var(--e-blanc);color:var(--e-nuit);
  font-weight:800;box-shadow:0 2px 8px var(--e-ombre);}
.theme-eleveur .case-choix input:checked + span{border-color:var(--e-bleu-fonce);background:var(--e-bleu-pale);box-shadow:0 0 0 2px var(--e-bleu);}
.theme-eleveur .case-choix span i{color:var(--e-bleu-fonce);}
.theme-eleveur .pictos .case-choix input:checked + span{border-color:var(--e-rouge);background:var(--e-rose);box-shadow:0 0 0 2px var(--e-rouge);}
.theme-eleveur .pictos .case-choix input:checked + span i{color:var(--e-rouge);}
.theme-eleveur .case-choix.indisponible span{background:var(--e-gris-clair);box-shadow:none;}
.theme-eleveur .carte-choix-livraison > span{padding:12px 14px;}

/* Saisie du jour déjà envoyée */
.theme-eleveur .saisie-envoyee{background:var(--e-vert-pale);color:var(--e-prairie-fonce);border-radius:14px;padding:10px 12px;
  font-weight:900;text-align:center;margin:6px 0 8px;}
.theme-eleveur .saisie-envoyee span{display:block;font-weight:700;color:var(--e-gris);font-size:.85rem;}

/* ── Le poulet (même dessin que le logo, au trait fin) ───────────────── */
.poulet{display:block;overflow:visible;}
.poulet .p-corps{fill:var(--e-blanc);stroke:var(--e-nuit);stroke-width:1.3;stroke-linejoin:round;}
.poulet-malade .p-corps{fill:var(--e-rose-corps);}
.poulet .p-crete{fill:var(--e-rouge);stroke:var(--e-nuit);stroke-width:1.1;stroke-linejoin:round;}
.poulet .p-bec{fill:var(--e-orange);stroke:var(--e-nuit);stroke-width:1.1;stroke-linejoin:round;}
.poulet .p-aile{fill:var(--e-aile);stroke:var(--e-nuit);stroke-width:1.1;}
.poulet .p-pattes{stroke:var(--e-orange);stroke-width:2.6;stroke-linecap:round;}
.poulet .p-trait{fill:none;stroke:var(--e-nuit);stroke-width:1.6;stroke-linecap:round;}
.poulet .p-joue{fill:var(--e-rouge);opacity:.35;}
.poulet .p-blanc{fill:var(--e-blanc);stroke:var(--e-nuit);stroke-width:1.1;}
.poulet .p-pupille{fill:var(--e-nuit);}
.poulet .p-goutte{fill:var(--e-goutte);stroke:var(--e-nuit);stroke-width:.9;}
.poulet .p-thermo{stroke:var(--e-nuit);stroke-width:3;stroke-linecap:round;}
.poulet .p-thermo-bout{fill:var(--e-rouge);stroke:var(--e-nuit);stroke-width:.9;}
.poulet .p-zzz{font:900 7px 'Nunito',sans-serif;fill:var(--e-gris);}
.poulet .p-zzz.petit{font-size:5px;}
/* Logo de l'en-tête en blanc sur le dégradé */
.theme-eleveur .logo-corps{fill:var(--e-blanc);}

/* ── Pastilles des bâtiments (plusieurs bandes) ──────────────────────── */
.pastilles-bat{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;}
.pastille-bat{display:inline-flex;align-items:center;gap:6px;position:relative;padding:8px 14px;border-radius:999px;
  background:var(--e-blanc);border:1px solid var(--e-trait);box-shadow:0 2px 8px var(--e-ombre);color:var(--e-nuit);
  font-weight:800;text-decoration:none;font-size:.95rem;}
.pastille-bat.active{background:var(--e-nuit);color:var(--e-blanc);border-color:var(--e-nuit);}
.pastille-feu{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.pastille-feu.feu-vert{background:var(--e-prairie);}
.pastille-feu.feu-orange{background:var(--e-orange);}
.pastille-feu.feu-rouge{background:var(--e-rouge);}
.pastille-feu.feu-gris{background:var(--e-gris-clair);border:1px solid var(--e-gris);}
.point-a-saisir{position:absolute;top:-3px;right:-3px;width:12px;height:12px;border-radius:50%;background:var(--e-orange);
  border:2px solid var(--e-blanc);}
/* Un seul bâtiment visible à la fois (eleveur.js ajoute « choisi ») */
.espace-ferme.plusieurs.choisi .bloc-bat{display:none;}
.espace-ferme.plusieurs.choisi .bloc-bat.active{display:block;}

/* « À faire aujourd'hui » commun à la ferme */
.theme-eleveur .a-faire{background:var(--e-jaune-pale);border:1px solid var(--e-jaune-bord);border-radius:16px;padding:10px 14px;
  margin-bottom:12px;color:var(--e-nuit);}
.theme-eleveur .a-faire-titre{font-weight:900;font-size:.98rem;text-transform:none;letter-spacing:0;color:var(--e-nuit);}
.theme-eleveur .a-faire ul{margin:6px 0 0;padding-left:0;list-style:none;}
.theme-eleveur .a-faire li{padding:4px 0;font-weight:700;}
.theme-eleveur .a-faire a{color:var(--e-nuit);text-decoration:none;}
.theme-eleveur .a-faire a::after{content:' ›';color:var(--e-bleu-fonce);font-weight:900;}

/* ── Série et « La bande grandit » ───────────────────────────────────── */
.serie{display:inline-flex;align-items:center;gap:4px;background:var(--e-orange-pale);color:var(--e-orange-fonce);border-radius:999px;
  padding:3px 10px;font-weight:900;font-size:.85rem;}
.serie-zero{background:var(--e-gris-clair);color:var(--e-gris);}
.progression{position:relative;margin:34px 6px 8px;}
.progression-barre{height:12px;border-radius:999px;background:var(--e-gris-clair);overflow:hidden;}
.progression-barre span{display:block;height:100%;border-radius:999px;background:var(--e-soleil);}
.progression-poussin{position:absolute;top:-30px;transform:translateX(-50%);width:28px;height:28px;}
.poussin{width:100%;height:100%;display:block;overflow:visible;}
.poussin-corps{fill:var(--e-soleil);stroke:var(--e-nuit);stroke-width:1.2;}
.poussin-bec{fill:var(--e-orange);stroke:var(--e-nuit);stroke-width:.8;}
.poussin-oeil{fill:var(--e-nuit);}
.poussin-aile{fill:var(--e-jaune-bord);stroke:var(--e-nuit);stroke-width:.9;}
.poussin-patte{stroke:var(--e-orange);stroke-width:1.8;stroke-linecap:round;}
.progression-etiquettes{display:flex;justify-content:space-between;gap:6px;font-weight:800;font-size:.8rem;color:var(--e-gris);}
.progression-etiquettes span:nth-child(2){color:var(--e-nuit);text-align:center;}

/* Historique et encouragement */
.theme-eleveur .historique-saisies{list-style:none;margin:8px 0;padding:0;font-weight:700;}
.theme-eleveur .historique-saisies li{display:flex;gap:8px;padding:6px 2px;border-top:1px solid var(--e-trait);color:var(--e-nuit);}
.theme-eleveur .historique-date{font-family:inherit;font-weight:900;}
.theme-eleveur .coche-envoye{margin-left:auto;color:var(--e-prairie);font-weight:900;}
.theme-eleveur .encouragement{background:var(--e-vert-pale);color:var(--e-prairie-fonce);border-radius:14px;padding:10px 12px;font-weight:800;}

/* ── Étoiles ──────────────────────────────────────────────────────────── */
.etoiles{display:inline-flex;gap:2px;font-size:1.25rem;line-height:1;}
.etoile{color:var(--e-soleil);}
.etoile.eteinte{color:var(--e-gris-clair);}
.etoiles-grandes{font-size:2.6rem;gap:6px;}
.carte-bilan{text-align:center;display:flex!important;flex-direction:column;align-items:center;gap:8px;}
.carte-bilan .poulet{width:110px;height:110px;}
.chiffres-bilan{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:6px 0;}
.chiffres-bilan div{background:var(--e-gris-clair);border-radius:14px;padding:10px 6px;font-weight:900;font-size:1.15rem;}
.chiffres-bilan small{display:block;color:var(--e-gris);font-weight:700;font-size:.8rem;}

/* ── « Bien reçu ! » ──────────────────────────────────────────────────── */
.bien-recu{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;
  background:var(--e-voile);animation:e-apparait .2s ease-out;}
.bien-recu.ferme{opacity:0;transition:opacity .25s ease;pointer-events:none;}
.bien-recu-carte{position:relative;overflow:hidden;width:100%;max-width:340px;background:var(--e-blanc);border-radius:22px;
  padding:22px 18px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;
  box-shadow:0 10px 30px var(--e-ombre);}
.bien-recu-poulet{width:130px;height:130px;}
.bien-recu.joie .bien-recu-poulet{animation:e-saut .32s ease-in-out 4 alternate;}
.bien-recu-titre{font-weight:900;font-size:1.7rem;color:var(--e-nuit);}
.bien-recu-sous{font-weight:800;color:var(--e-gris);}
.record{display:inline-block;background:var(--e-jaune-pale);color:var(--e-nuit);border-radius:999px;padding:3px 12px;font-weight:900;font-size:.88rem;}
.bien-recu-liste{list-style:none;margin:4px 0 0;padding:0;width:100%;font-weight:700;text-align:left;}
.bien-recu-liste li{display:flex;justify-content:space-between;padding:6px 2px;border-top:1px solid var(--e-trait);}
.bien-recu-liste .coche-envoye{color:var(--e-prairie);font-weight:900;}
.bien-recu .btn-gros{width:100%;margin-top:6px;}
.bien-recu-fermer{background:none;border:0;color:var(--e-gris);font:inherit;font-weight:800;padding:6px;}
.etincelles i{position:absolute;width:9px;height:9px;border-radius:50%;opacity:0;animation:e-etincelle 1s ease-out 2;}
.etincelles i:nth-child(1){left:16%;top:14%;background:var(--e-soleil);}
.etincelles i:nth-child(2){left:82%;top:18%;background:var(--e-prairie);animation-delay:.2s;}
.etincelles i:nth-child(3){left:24%;top:44%;background:var(--e-bleu);animation-delay:.4s;}
.etincelles i:nth-child(4){left:76%;top:48%;background:var(--e-orange);animation-delay:.1s;}
.etincelles i:nth-child(5){left:50%;top:6%;background:var(--e-rouge);animation-delay:.3s;}
.etincelles i:nth-child(6){left:62%;top:30%;background:var(--e-soleil);animation-delay:.5s;}

/* Bandeau « Pas de réseau » et file ◷ / ✓ (hors_ligne.js) */
.theme-eleveur .bandeau-envoi{border-radius:16px;font-weight:800;}
.theme-eleveur .bandeau-envoi.attente{background:var(--e-orange-pale);border:1px solid var(--e-orange-bord);color:var(--e-nuit);}
.theme-eleveur .bandeau-envoi.fait{background:var(--e-vert-pale);border:1px solid var(--e-vert-pale);color:var(--e-prairie-fonce);}
.theme-eleveur .coche-attente{color:var(--e-orange-fonce);}

/* Livraison à confirmer et bandeau « Reçue — merci ! » */
.theme-eleveur .carte-livraison{padding:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px;}
.theme-eleveur .carte-livraison-meta{color:var(--e-gris);font-weight:700;}
.theme-eleveur .carte-livraison-lignes .num{font-size:1.4rem;font-weight:900;}
.theme-eleveur .bandeau-annuler{background:var(--e-sombre);color:var(--e-blanc);border:0;border-radius:16px;font-weight:800;}
.theme-eleveur .bandeau-annuler-btn{border-radius:12px;}

/* Ma ferme */
.theme-eleveur .ma-ferme{padding:14px;display:flex;flex-direction:column;gap:10px;}
.theme-eleveur .ma-ferme-titre{color:var(--e-gris);font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.05em;}
.theme-eleveur .ma-ferme-nom{font-weight:900;font-size:1.2rem;}
.theme-eleveur .ma-ferme-agent{background:var(--e-bleu-pale);border-radius:14px;}

/* ── Connexion (pour tous) ────────────────────────────────────────────── */
.page-connexion.theme-eleveur{background:linear-gradient(160deg,var(--e-bleu),var(--e-bleu-fonce));}
.page-connexion.theme-eleveur .login-card{background:transparent;box-shadow:none;border:0;}
.page-connexion.theme-eleveur .login-head{background:transparent;border:0;}
.page-connexion.theme-eleveur .login-head-logo{width:104px;height:104px;filter:none;}
.page-connexion.theme-eleveur .login-head-logo .poulet{width:100%;height:100%;}
.page-connexion.theme-eleveur .login-head h1{font-family:inherit;font-weight:900;font-size:1.9rem;letter-spacing:.02em;}
.page-connexion.theme-eleveur .login-head p{color:var(--e-blanc);opacity:.9;font-weight:700;font-size:.9rem;}
.page-connexion.theme-eleveur .login-body{background:var(--e-blanc);border-radius:20px;box-shadow:0 10px 30px var(--e-ombre);}
.page-connexion.theme-eleveur .login-foot{background:transparent;color:var(--e-blanc);opacity:.8;border:0;}
.page-connexion.theme-eleveur .input-group .btn-oeil{border-radius:0 14px 14px 0;border-color:var(--e-trait);}
.page-connexion.theme-eleveur .input-group .form-control{border-radius:14px 0 0 14px;}
.login-aide{margin:12px 0 0;text-align:center;color:var(--e-gris);font-weight:700;font-size:.88rem;}

/* ── Page publique du QR code ─────────────────────────────────────────── */
.page-publique{min-height:100vh;}
.public-tete{background:linear-gradient(135deg,var(--e-prairie),var(--e-prairie-fonce));color:var(--e-blanc);text-align:center;
  padding:22px 16px 26px;border-radius:0 0 24px 24px;}
.public-tete.public-inconnu{background:linear-gradient(135deg,var(--e-gris),var(--e-nuit));}
.public-tete .poulet{width:100px;height:100px;margin:0 auto 6px;}
.public-tete h1{margin:0;font-family:inherit;font-weight:900;font-size:1.6rem;}
.public-tete p{margin:2px 0 0;font-weight:800;font-size:1.05rem;}
.public-corps{max-width:480px;margin:0 auto;padding:16px;}
.public-lignes{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-weight:700;}
.public-lignes dt{color:var(--e-gris);font-weight:700;}
.public-lignes dd{margin:0;}
.public-mention{text-align:center;color:var(--e-gris);font-weight:700;font-size:.88rem;margin:8px 0 2px;}
.public-marque{text-align:center;color:var(--e-gris);font-weight:900;font-size:.75rem;letter-spacing:.08em;}

/* Pesée : message vivant */
.theme-eleveur .gain{margin-top:4px;font-weight:900;color:var(--e-prairie-fonce);}

/* Mes bandes */
.liste-cartes .carte{margin-bottom:10px;}

/* ── Lot 9 : accueil en tuiles ────────────────────────────────────────── */
.retour-accueil{display:inline-block;font-weight:800;color:var(--e-bleu-fonce);text-decoration:none;margin:0 0 6px;padding:4px 0;}
.accueil-eleveur{max-width:560px;margin:0 auto;}
.bandeau-rouge{display:block;background:var(--e-rouge);color:var(--e-blanc);border-radius:16px;padding:12px 14px;font-weight:900;
  text-decoration:none;margin-bottom:10px;box-shadow:0 6px 14px var(--e-ombre-rouge);}
.bandeau-rouge:hover{color:var(--e-blanc);}
.ligne-etat{display:flex;align-items:center;gap:10px;background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:16px;
  padding:8px 12px;box-shadow:0 2px 10px var(--e-ombre);margin-bottom:10px;}
.ligne-etat .poulet{width:44px;height:44px;flex-shrink:0;}
.ligne-etat strong{display:block;font-weight:900;}
.ligne-etat small{color:var(--e-gris);font-weight:700;}
.tuiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tuiles.impair .tuile:last-child{grid-column:1 / -1;}
.tuile{position:relative;display:flex;flex-direction:column;gap:2px;background:var(--e-blanc);border:1px solid var(--e-trait);
  border-radius:18px;padding:14px;box-shadow:0 2px 10px var(--e-ombre);color:var(--e-nuit);text-decoration:none;min-height:104px;
  transition:transform .08s ease;}
.tuile:hover{color:var(--e-nuit);}
.tuile:active{transform:scale(.98);}
.tuile-ico{font-size:1.9rem;line-height:1.1;}
.tuile-nom{font-weight:900;font-size:1.02rem;}
.tuile-sous{color:var(--e-gris);font-weight:700;font-size:.82rem;line-height:1.25;}
.tuile .pastille{position:absolute;top:10px;right:10px;border-radius:999px;padding:2px 9px;font-weight:900;font-size:.8rem;
  color:var(--e-nuit);background:var(--e-orange);}
.tuile .pastille.rouge{background:var(--e-rouge);color:var(--e-blanc);}
.tuile .pastille.bleue{background:var(--e-bleu);color:var(--e-blanc);}
.tuile-saisie{background:var(--e-prairie);color:var(--e-blanc);min-height:92px;margin-bottom:10px;border:0;
  box-shadow:0 6px 14px var(--e-ombre-verte);}
.tuile-saisie:hover{color:var(--e-blanc);}
.tuile-saisie .tuile-nom{font-size:1.2rem;}
.tuile-saisie .tuile-sous{color:var(--e-blanc);opacity:.92;}
.tuile-saisie .pastille{background:var(--e-blanc);color:var(--e-prairie-fonce);}
.tuile-saisie.tuile-calme{background:var(--e-vert-pale);color:var(--e-prairie-fonce);box-shadow:none;}
.tuile-saisie.tuile-calme .tuile-sous{color:var(--e-prairie-fonce);}
.tuile-malade{background:var(--e-rose);border-color:var(--e-rose-bord);}
.tuile-large{grid-column:1 / -1;}

/* Mon stock, listes simples */
.stock-ligne{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 2px;border-top:1px solid var(--e-trait);}
.stock-ligne:first-child{border-top:0;}
.stock-ligne small{display:block;color:var(--e-gris);font-weight:700;font-size:.8rem;}
.stock-quantite{font-size:1.15rem;font-weight:900;text-align:right;white-space:nowrap;}
.liste-simple{list-style:none;margin:6px 0;padding:0;font-weight:700;}
.liste-simple li{padding:6px 0;border-top:1px solid var(--e-trait);}
.liste-simple li:first-child{border-top:0;}
.liste-simple li.annule{text-decoration:line-through;color:var(--e-gris);}

/* J'ai acheté */
.autres-produits{margin:0;}
.autres-produits summary{list-style:none;cursor:pointer;}
.autres-produits summary::-webkit-details-marker{display:none;}
.autres-produits[open] summary{margin-bottom:10px;}
.theme-eleveur .courbe{width:100%;height:auto;margin-top:8px;}

/* ── Lot 10 : entretien ───────────────────────────────────────────────── */
.theme-eleveur .carte.carte-panne{background:var(--e-rose);border-color:var(--e-rose-bord);display:flex;flex-direction:column;gap:8px;}
.theme-eleveur .panne-titre{font-weight:900;font-size:1.05rem;}
.theme-eleveur .tache-entretien{display:flex;align-items:center;gap:10px;background:var(--e-blanc);border:1px solid var(--e-trait);
  border-radius:18px;padding:12px;box-shadow:0 2px 10px var(--e-ombre);margin-bottom:10px;}
.theme-eleveur .tache-entretien form{margin:0;}
.theme-eleveur .tache-ico{font-size:1.8rem;line-height:1;flex-shrink:0;}
.theme-eleveur .tache-texte{flex:1;min-width:0;}
.theme-eleveur .tache-texte strong{font-weight:900;}
.theme-eleveur .tache-texte small{display:block;color:var(--e-gris);font-weight:700;font-size:.85rem;}
.theme-eleveur .tache-retard{display:inline-block;background:var(--e-orange-pale);color:var(--e-orange-fonce);border-radius:999px;
  padding:1px 8px;font-weight:900;font-size:.75rem;}
.theme-eleveur .tache-bouton{border:0;border-radius:14px;padding:10px 14px;font:inherit;font-weight:900;color:var(--e-blanc);
  background:var(--e-prairie);box-shadow:0 4px 10px var(--e-ombre-verte);white-space:nowrap;min-height:44px;}
.theme-eleveur .tache-bouton:active{transform:scale(.96);}
.theme-eleveur .tache-entretien.faite{opacity:.6;box-shadow:none;}
.theme-eleveur .tache-fait{font-weight:900;color:var(--e-prairie-fonce);white-space:nowrap;}
.theme-eleveur .btn-panne{display:block;text-align:center;background:var(--e-rose);color:var(--e-rouge);border:1px solid var(--e-rose-bord);
  border-radius:16px;padding:14px;font-weight:900;text-decoration:none;margin-top:6px;}
.theme-eleveur .btn-panne:hover{color:var(--e-rouge);}
.theme-eleveur .pictos .case-choix span i.picto-panne{font-style:normal;font-size:2.2rem;line-height:1.2;}
.theme-eleveur .types-panne{grid-template-columns:repeat(3,1fr);}
.theme-eleveur .case-large{grid-column:1 / -1;}
.theme-eleveur .avertissement-desinfection{background:var(--e-jaune-pale);border:1px solid var(--e-jaune-bord);border-radius:16px;padding:12px 14px;}
.theme-eleveur .avertissement-desinfection span{display:block;color:var(--e-gris);font-weight:700;}
.theme-eleveur .bandeau-attente-longue{background:var(--e-orange-pale);border:1px solid var(--e-orange-bord);color:var(--e-nuit);
  border-radius:14px;padding:8px 12px;font-weight:800;font-size:.85rem;margin-bottom:10px;}

/* ── Lot 11 : 8 tuiles, regroupements, Mon argent, Moi ───────────────── */
.theme-eleveur .btn-entete{font-weight:900;border-radius:999px;padding:6px 11px;white-space:nowrap;text-decoration:none;font-size:.9rem;}
.theme-eleveur .btn-entete:hover{color:var(--e-blanc);background:rgba(255,255,255,.12);}
.theme-eleveur .btn-entete{position:relative;}
.theme-eleveur .btn-entete .pastille-nouveau{position:absolute;top:-10px;right:-8px;font-size:.75rem;padding:0 5px;}
.theme-eleveur .raccourci{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--e-blanc);
  border:1px solid var(--e-trait);border-radius:14px;padding:8px 10px 8px 12px;font-weight:800;margin:-2px 0 10px;
  color:var(--e-nuit);text-decoration:none;font-size:.92rem;}
.theme-eleveur .raccourci form{margin:0;}
.theme-eleveur .raccourci-action{color:var(--e-prairie-fonce);font-weight:900;white-space:nowrap;}
.theme-eleveur .raccourci-bouton{border:0;background:var(--e-vert-pale);color:var(--e-prairie-fonce);font:inherit;font-weight:900;
  border-radius:12px;padding:8px 10px;white-space:nowrap;min-height:40px;}
.theme-eleveur .grosses-cases{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;}
.theme-eleveur .grosse-case{position:relative;display:flex;flex-direction:column;gap:2px;background:var(--e-blanc);
  border:1px solid var(--e-trait);border-radius:18px;padding:14px;box-shadow:0 2px 10px var(--e-ombre);color:var(--e-nuit);
  text-decoration:none;min-height:100px;}
.theme-eleveur .grosse-case.large{grid-column:1 / -1;}
.theme-eleveur .grosse-case:active{transform:scale(.98);}
.theme-eleveur .grosse-case small{color:var(--e-gris);font-weight:700;}
.theme-eleveur .grosse-case .pastille{position:absolute;top:10px;right:10px;border-radius:999px;padding:2px 9px;font-weight:900;
  font-size:.8rem;color:var(--e-nuit);background:var(--e-orange);}
.theme-eleveur .gc-ico{font-size:1.9rem;line-height:1.1;}
.theme-eleveur .gc-nom{font-weight:900;font-size:1.02rem;}
.theme-eleveur .vaccin-a-faire a{color:var(--e-nuit);text-decoration:none;}
.theme-eleveur .carte-calme{box-shadow:none;}
.theme-eleveur .centre{text-align:center;}
.theme-eleveur .centre svg{margin:0 auto;display:block;}
.theme-eleveur .choix-periode{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;}
.theme-eleveur .periode{text-align:center;background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:14px;padding:10px 4px;
  font-weight:800;color:var(--e-nuit);text-decoration:none;}
.theme-eleveur .periode.active{border-color:var(--e-bleu-fonce);background:var(--e-bleu-pale);box-shadow:0 0 0 2px var(--e-bleu);}
.theme-eleveur .chiffres-argent{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 2px;}
.theme-eleveur .chiffre-argent{background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:16px;padding:12px 4px;text-align:center;
  box-shadow:0 2px 10px var(--e-ombre);}
.theme-eleveur .chiffre-argent small{display:block;color:var(--e-gris);font-weight:800;font-size:.8rem;}
.theme-eleveur .chiffre-argent .num{font-weight:900;font-size:1.05rem;}
.theme-eleveur .chiffre-argent.gagne .num{color:var(--e-prairie-fonce);}
.theme-eleveur .chiffre-argent.depense .num{color:var(--e-orange-fonce);}
.theme-eleveur .negatif,.theme-eleveur .chiffre-argent.negatif .num{color:var(--e-rouge);}
.theme-eleveur .mon-argent .btn-gros{margin-top:10px;}
.theme-eleveur .aide-etat{background:var(--e-jaune-pale);border:1px solid var(--e-jaune-bord);border-radius:14px;padding:10px 12px;
  font-weight:800;font-size:.9rem;margin-top:10px;}
.theme-eleveur .mouvements{list-style:none;margin:0;padding:0;background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:16px;}
.theme-eleveur .mouvements li{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--e-trait);}
.theme-eleveur .mouvements li:first-child{border-top:0;}
.theme-eleveur .mvt-ico{font-size:1.3rem;flex-shrink:0;}
.theme-eleveur .mvt-texte{flex:1;min-width:0;font-weight:800;font-size:.92rem;}
.theme-eleveur .mvt-texte small{display:block;color:var(--e-gris);font-weight:700;font-size:.8rem;}
.theme-eleveur .mvt-montant{font-weight:900;white-space:nowrap;}
.theme-eleveur .mvt-montant.plus{color:var(--e-prairie-fonce);}
.theme-eleveur .mvt-montant.moins{color:var(--e-orange-fonce);}
.theme-eleveur .mvt-completer{font-weight:900;color:var(--e-bleu-fonce);white-space:nowrap;text-decoration:none;}
.theme-eleveur .categories-depense{grid-template-columns:repeat(4,1fr);}
.theme-eleveur .categories-depense .case-choix span{min-height:0;font-size:.78rem;padding:8px 2px;}
.theme-eleveur .categories-depense .case-choix input:checked + span{border-color:var(--e-bleu-fonce);background:var(--e-bleu-pale);box-shadow:0 0 0 2px var(--e-bleu);}
.theme-eleveur .argent-bilan{margin-top:8px;}
.theme-eleveur .liens-moi{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.theme-eleveur .liens-moi form{margin:0;}
.theme-eleveur .lien-moi{display:block;width:100%;text-align:left;background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:16px;
  padding:14px;font:inherit;font-weight:900;color:var(--e-nuit);text-decoration:none;}
.theme-eleveur .lien-moi small{color:var(--e-gris);font-weight:700;margin-left:4px;}
.theme-eleveur .lien-quitter{color:var(--e-rouge);}

/* ── Lot 12 : case vide ≠ zéro, réponses, visites ─────────────────────── */
.theme-eleveur .compteur-valeur::placeholder{color:var(--e-gris);opacity:1;}
.theme-eleveur .cases-rapides{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%;margin-top:4px;}
.theme-eleveur .case-rapide{flex:1;min-height:46px;border:1px solid var(--e-trait);background:var(--e-blanc);border-radius:14px;
  font:inherit;font-weight:900;color:var(--e-nuit);padding:8px 10px;}
.theme-eleveur .case-rapide.choisie{border-color:var(--e-prairie);background:var(--e-vert-pale);color:var(--e-prairie-fonce);
  box-shadow:0 0 0 2px var(--e-prairie);}
.theme-eleveur .message-vide{background:var(--e-jaune-pale);border:1px solid var(--e-jaune-bord);border-radius:14px;padding:10px 12px;
  font-weight:800;margin-bottom:10px;}
.theme-eleveur .a-verifier{display:inline-block;background:var(--e-jaune-pale);color:var(--e-nuit);border-radius:999px;
  padding:2px 10px;font-weight:900;font-size:.8rem;}

.theme-eleveur .ligne-info{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--e-blanc);
  border:1px solid var(--e-trait);border-radius:14px;padding:9px 12px;font-weight:800;margin:-2px 0 10px;color:var(--e-nuit);
  text-decoration:none;font-size:.92rem;}
.theme-eleveur .ligne-reponse{background:var(--e-vert-pale);border-color:var(--e-vert-pale);color:var(--e-prairie-fonce);}
.theme-eleveur .ligne-info-sous{color:var(--e-gris);font-weight:700;}
.theme-eleveur .pastille-nouveau{display:inline-block;background:var(--e-orange);color:var(--e-nuit);border-radius:999px;
  padding:1px 7px;font-weight:900;font-size:.75rem;vertical-align:middle;}
.theme-eleveur .etat-signalement{border-radius:999px;padding:2px 10px;font-weight:900;font-size:.78rem;white-space:nowrap;}
.theme-eleveur .etat-envoye{background:var(--e-bleu-pale);color:var(--e-bleu-fonce);}
.theme-eleveur .etat-regarde{background:var(--e-jaune-pale);color:var(--e-nuit);}
.theme-eleveur .etat-reponse{background:var(--e-vert-pale);color:var(--e-prairie-fonce);}
.theme-eleveur .etat-termine{background:var(--e-gris-clair);color:var(--e-gris);}
.theme-eleveur .reponse-veto{background:var(--e-vert-pale);border-radius:16px;padding:12px;margin-top:10px;}
.theme-eleveur .reponse-veto.nouvelle{box-shadow:0 0 0 2px var(--e-prairie);}
.theme-eleveur .reponse-qui{color:var(--e-gris);font-weight:800;font-size:.85rem;}
.theme-eleveur .conseils-veto{margin:6px 0;padding-left:20px;}
.theme-eleveur .conseils-veto li{font-weight:900;font-size:1.08rem;margin:4px 0;}
.theme-eleveur .reponse-texte{font-weight:800;}
.theme-eleveur .carte-titre-ligne{gap:8px;}

/* ── Lot 13 : présentation, aides, Mon compte, Ma banque ─────────────── */
.theme-eleveur .btn-aide{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--e-bleu);color:var(--e-blanc);font-weight:900;font-size:1.3rem;text-decoration:none;flex-shrink:0;
  box-shadow:0 4px 10px var(--e-ombre-bleue);}
.theme-eleveur .btn-aide:hover{color:var(--e-blanc);}
.theme-eleveur .page-head{align-items:flex-start;}
.theme-eleveur .presentation{text-align:center;}
.theme-eleveur .pres-ecran{display:flex;flex-direction:column;gap:16px;align-items:stretch;padding:8px 4px 0;}
.theme-eleveur .pres-ecran[hidden]{display:none;}
.theme-eleveur .pres-points{display:flex;justify-content:center;gap:6px;}
.theme-eleveur .pres-points span{width:10px;height:10px;border-radius:5px;background:var(--e-trait);}
.theme-eleveur .pres-points span.on{width:24px;background:var(--e-bleu);}
.theme-eleveur .pres-mascotte svg{margin:0 auto;display:block;}
.theme-eleveur .pres-phrase{font-weight:900;font-size:1.35rem;line-height:1.25;}
.theme-eleveur .pres-illu{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;font-weight:900;}
.theme-eleveur .pres-illu small{flex-basis:100%;color:var(--e-gris);font-weight:800;}
.theme-eleveur .pres-passer{margin:0;}
.theme-eleveur .lien-discret{border:0;background:none;color:var(--e-gris);font:inherit;font-weight:800;min-height:44px;padding:8px 16px;}
.theme-eleveur .mini-bouton{display:inline-block;border-radius:12px;padding:8px 12px;font-weight:900;font-size:.9rem;
  border:1px solid var(--e-trait);background:var(--e-blanc);color:var(--e-nuit);text-decoration:none;}
.theme-eleveur .mini-bouton.vert{background:var(--e-prairie);border-color:var(--e-prairie);color:var(--e-blanc);}
.theme-eleveur .mini-bouton.bleu{background:var(--e-bleu);border-color:var(--e-bleu-fonce);color:var(--e-blanc);}
.theme-eleveur .mini-bouton.rouge{background:var(--e-rouge);border-color:var(--e-rouge);color:var(--e-blanc);}
.theme-eleveur .mini-bouton.rose{background:var(--e-rose);border-color:var(--e-rose-bord);}
.theme-eleveur .mini-bouton.jaune{background:var(--e-jaune-pale);border-color:var(--e-jaune-bord);}
.theme-eleveur .mini-bouton.sombre{background:var(--e-sombre);border-color:var(--e-sombre);color:var(--e-blanc);}
.theme-eleveur .mini-bouton.rond{border-radius:50%;width:40px;height:40px;padding:0;line-height:38px;text-align:center;
  background:var(--e-bleu);color:var(--e-blanc);}
.theme-eleveur .mini-bouton.appel{color:var(--e-bleu-fonce);}
.theme-eleveur .etape-aide{display:flex;gap:12px;align-items:flex-start;background:var(--e-blanc);border:1px solid var(--e-trait);
  border-radius:16px;padding:14px;margin-bottom:10px;font-size:1.05rem;}
.theme-eleveur .etape-numero{width:32px;height:32px;border-radius:50%;background:var(--e-bleu-pale);color:var(--e-bleu-fonce);
  font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.theme-eleveur .retour-ecran{display:inline-block;color:var(--e-bleu-fonce);font-weight:800;margin-bottom:8px;text-decoration:none;}
.theme-eleveur .info-compte{background:var(--e-blanc);border:1px solid var(--e-trait);border-radius:16px;padding:12px 14px;
  margin-bottom:10px;font-size:1.05rem;}
.theme-eleveur .info-compte small{display:block;color:var(--e-gris);font-weight:800;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.04em;}
.theme-eleveur .appel{color:var(--e-bleu-fonce);font-weight:900;text-decoration:none;}
.theme-eleveur .autres-vetos summary{color:var(--e-bleu-fonce);font-weight:800;cursor:pointer;min-height:44px;line-height:44px;}
.theme-eleveur .alerte-attente{background:var(--e-jaune-pale);border:1px solid var(--e-jaune-bord);border-radius:14px;
  padding:10px 12px;font-weight:800;margin-bottom:8px;}
.theme-eleveur .form-quitter{margin:0;}
.theme-eleveur .banque-voit{line-height:1.55;}
.theme-eleveur .liste-voit{list-style:none;padding:0;margin:6px 0 0;font-weight:900;font-size:1.05rem;}
.theme-eleveur .etat-banque{background:var(--e-gris-clair);border-radius:14px;padding:10px 12px;font-weight:800;margin-bottom:10px;}
.theme-eleveur .etat-banque.ok{background:var(--e-vert-pale);color:var(--e-prairie-fonce);}

/* Contrôle du lot 13 : boutons ≥ 44 px, textes ≥ 12 px sur les écrans de l'éleveur */
.theme-eleveur .raccourci-bouton{min-height:44px;}
.theme-eleveur .badge{font-size:.75rem;}
.theme-eleveur .td-sous{font-size:.8rem;}
.theme-eleveur .bloc-jour{font-size:.8rem;}
.theme-eleveur .courbe-texte{font-size:12px;}
.theme-eleveur .legende{font-size:.8rem;}
.theme-eleveur .empty-note{font-size:.9rem;}
.theme-eleveur .card-p-title{font-size:.85rem;}
.theme-eleveur .btn-enregistrer{width:100%;min-height:52px;font-size:1rem;border-radius:16px;}
.theme-eleveur .regles-mdp{font-weight:800;padding-left:20px;}

/* ── Animations (transform, opacity) ──────────────────────────────────── */
@keyframes e-rebond{0%{transform:scale(1);}45%{transform:scale(1.25);}100%{transform:scale(1);}}
@keyframes e-saut{from{transform:translateY(0);}to{transform:translateY(-14px);}}
@keyframes e-etincelle{0%{opacity:0;transform:scale(.3);}40%{opacity:1;}100%{opacity:0;transform:scale(1.5);}}
@keyframes e-apparait{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion: reduce){
  .theme-eleveur *,.bien-recu,.bien-recu *{animation:none!important;transition:none!important;}
}

/* Lot 17 — blocage des ventes par le vétérinaire */
.bandeau-blocage{display:flex;flex-direction:column;gap:8px;}
.bouton-appel-veto{display:block;background:var(--e-blanc);color:var(--e-rouge);border-radius:12px;padding:10px 12px;
  text-align:center;font-weight:900;min-height:44px;text-decoration:none;}
