/*
 * Les Cocottes Manager v3.0.1 — composants applicatifs.
 */

/* Header */
.lcm-app-topbar {
  position: fixed;
  z-index: 110;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(240px,var(--lcm-sidebar)) minmax(260px,520px) minmax(340px,1fr);
  align-items: center;
  gap: 22px;
  height: var(--lcm-topbar);
  padding: 0 24px;
  color: var(--lcm-text);
  border-bottom: 1px solid var(--lcm-border);
  background: rgba(255,255,255,.96);
  box-shadow: 0 5px 22px rgba(30,45,36,.035);
  backdrop-filter: blur(16px);
}
.lcm-app-brand, .lcm-app-brand-link, .lcm-app-user { display: flex; align-items: center; min-width: 0; }
.lcm-app-brand { gap: 10px; }
.lcm-app-brand-link { gap: 12px; color: var(--lcm-text) !important; text-decoration: none; }
.lcm-app-brand-link strong { display: block; font-size: .94rem; white-space: nowrap; }
.lcm-app-brand-link small { display: block; margin-top: 1px; color: var(--lcm-text-soft); font-size: .68rem; }
.lcm-app-brand-mark {
  display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px;
  border-radius: 14px; color: #77580a; background: var(--lcm-gold-soft);
}
.lcm-app-brand-mark .lcm-icon { width: 25px; height: 25px; }
.lcm-app-menu-toggle { display: none; }

.lcm-app-global-search {
  position: relative;
  width: 100%;
  margin: 0;
}
.lcm-search-icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 16px;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  color: var(--lcm-text-soft);
  pointer-events: none;
  transform: translateY(-50%);
}
.lcm-app-global-search input[type="search"] {
  width: 100%;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 44px 0 49px !important;
  border: 1px solid transparent;
  border-radius: 15px;
  color: var(--lcm-text);
  background: #f1f4f0;
  box-shadow: none;
  appearance: none;
}
.lcm-app-global-search input::placeholder { color: #89938c; opacity: 1; }
.lcm-app-global-search input:focus { border-color: #cbd8cf; background: white; box-shadow: 0 0 0 4px rgba(49,92,73,.08); outline: none; }

.lcm-app-user { justify-content: flex-end; gap: 10px; color: var(--lcm-text); }
.lcm-app-farm-name { max-width: 170px; overflow: hidden; color: var(--lcm-text-soft); text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; font-weight: 700; }
.lcm-app-version { padding: 4px 8px; border-radius: 999px; color: var(--lcm-text-faint); background: var(--lcm-surface-soft); font-size: .67rem; }
.lcm-app-icon-link, .lcm-app-menu-toggle {
  display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0;
  border: 1px solid var(--lcm-border); border-radius: 13px; color: var(--lcm-text-soft) !important;
  background: white; text-decoration: none; box-shadow: var(--lcm-shadow-xs);
}
.lcm-app-menu-toggle { display: none; }
.lcm-app-icon-link:hover { color: var(--lcm-primary) !important; border-color: #cfdbd3; background: var(--lcm-primary-soft); }
.lcm-notification-link { position: relative; }
.lcm-notification-count {
  position: absolute; top: 4px; right: 4px; display: grid; place-items: center; min-width: 16px; height: 16px;
  padding: 0 4px; border: 2px solid white; border-radius: 999px; color: white; background: var(--lcm-rose);
  font-size: .6rem; font-weight: 800; line-height: 1;
}
.lcm-app-profile { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 4px 6px 4px 4px; }
.lcm-app-avatar {
  display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
  border-radius: 50%; color: white; background: linear-gradient(145deg,var(--lcm-primary),#517966); font-weight: 800;
}
.lcm-app-profile-copy { display: grid; min-width: 0; line-height: 1.1; }
.lcm-app-profile-copy > strong { max-width: 125px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.lcm-app-profile-copy .lcm-plan-badge { justify-self: start; min-height: 0; margin-top: 4px; padding: 0; border: 0; color: var(--lcm-gold); background: none; font-size: .66rem; }

/* Sidebar */
.lcm-app-sidebar {
  position: fixed; z-index: 100; top: var(--lcm-topbar); bottom: 0; left: 0;
  display: flex; flex-direction: column; width: var(--lcm-sidebar); padding: 18px 14px;
  overflow-y: auto; border-right: 1px solid var(--lcm-border); background: var(--lcm-surface);
}
.lcm-sidebar-nav { display: grid; align-content: start; gap: 4px; }
.lcm-sidebar-label { padding: 18px 13px 7px; color: #a2aaa4; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lcm-app-nav-link {
  position: relative; display: grid; grid-template-columns: 21px minmax(0,1fr) auto; align-items: center; gap: 12px;
  min-height: 44px; padding: 10px 13px; border-radius: 12px; color: #667069 !important;
  text-decoration: none; font-size: .84rem; font-weight: 680;
}
.lcm-app-nav-link > .lcm-icon { width: 19px; height: 19px; color: #879089; }
.lcm-app-nav-link:hover { color: var(--lcm-text) !important; background: #f4f6f3; }
.lcm-app-nav-link.is-active { color: var(--lcm-primary) !important; background: var(--lcm-primary-soft); }
.lcm-app-nav-link.is-active::before { content: ""; position: absolute; left: 0; width: 3px; height: 23px; border-radius: 3px; background: var(--lcm-primary); }
.lcm-app-nav-link.is-active > .lcm-icon { color: var(--lcm-primary); }
.lcm-app-nav-link small { margin-left: auto; padding: 2px 6px; border-radius: 99px; color: #806318; background: var(--lcm-gold-soft); font-size: .58rem; }
.lcm-app-sidebar-footer { display: grid; gap: 10px; margin-top: auto; padding: 18px 7px 4px; border-top: 1px solid var(--lcm-border); }
.lcm-app-sidebar-footer > a { color: var(--lcm-text-soft); text-decoration: none; font-size: .73rem; }
.lcm-app-sidebar-footer > small { color: var(--lcm-text-faint); font-size: .64rem; }
.lcm-sidebar-plan { display: grid; grid-template-columns: 34px 1fr; gap: 9px; padding: 13px; border-radius: 15px; background: linear-gradient(145deg,#f7f3ff,#fff8e6); }
.lcm-sidebar-plan > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--lcm-violet); background: white; }
.lcm-sidebar-plan small, .lcm-sidebar-plan strong { display: block; }
.lcm-sidebar-plan small { color: var(--lcm-text-soft); font-size: .61rem; }
.lcm-sidebar-plan strong { font-size: .76rem; }
.lcm-sidebar-plan > a { grid-column: 1/-1; color: var(--lcm-primary); font-size: .67rem; font-weight: 800; text-decoration: none; }

/* Page headings, buttons, cards */
.lcm-app-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.lcm-app-page-heading p { max-width: 720px; margin: 8px 0 0; color: var(--lcm-text-soft); }
.lcm-app-kicker { display: block; margin-bottom: 6px; color: var(--lcm-gold); font-size: .66rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.lcm-app-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 17px;
  border: 0; border-radius: 12px; color: white !important; background: var(--lcm-primary);
  box-shadow: 0 7px 18px rgba(49,92,73,.16); text-decoration: none; font: 750 .82rem/1 var(--lcm-font);
}
.lcm-app-button:hover { background: var(--lcm-primary-strong); transform: translateY(-1px); }
.lcm-app-button .lcm-icon { width: 18px; height: 18px; }
.lcm-app-button-secondary { border: 1px solid var(--lcm-border) !important; color: var(--lcm-text) !important; background: white !important; box-shadow: none !important; }
.lcm-app-text-link { color: var(--lcm-primary) !important; font-size: .73rem; font-weight: 800; text-decoration: none; }
.lcm-app-card {
  min-width: 0; margin-bottom: 20px; padding: 22px; border: 1px solid var(--lcm-border);
  border-radius: var(--lcm-radius); background: var(--lcm-surface); box-shadow: var(--lcm-shadow-sm);
}
.lcm-app-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 19px; }

/* Dashboard */
.lcm-app-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.lcm-app-stat-card {
  position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; gap: 14px;
  min-height: 118px; padding: 18px; overflow: hidden; border: 1px solid var(--lcm-border);
  border-radius: 18px; background: white; box-shadow: var(--lcm-shadow-sm);
}
.lcm-stat-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: var(--lcm-primary); background: var(--lcm-primary-soft); }
.lcm-app-stat-card.is-gold .lcm-stat-icon { color: #85620a; background: var(--lcm-gold-soft); }
.lcm-app-stat-card.is-blue .lcm-stat-icon { color: var(--lcm-blue); background: var(--lcm-blue-soft); }
.lcm-app-stat-card.is-rose .lcm-stat-icon { color: var(--lcm-rose); background: var(--lcm-rose-soft); }
.lcm-app-stat-card small { display: block; color: var(--lcm-text-soft); font-size: .7rem; }
.lcm-app-stat-card strong { display: block; margin: 3px 0; font-size: 1.75rem; line-height: 1; letter-spacing: -.035em; }
.lcm-app-stat-card div > span { display: block; overflow: hidden; color: var(--lcm-text-faint); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.lcm-dashboard-quick-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.lcm-dashboard-quick-grid > a, .lcm-dashboard-quick-grid > button {
  display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: center; gap: 12px; min-height: 90px; padding: 15px;
  width: 100%; margin: 0; border-radius: 16px; color: var(--lcm-text); background: var(--lcm-primary-soft); text-decoration: none;
}
.lcm-dashboard-quick-grid > a.is-gold { background: var(--lcm-gold-soft); }
.lcm-dashboard-quick-grid > a.is-rose { background: var(--lcm-rose-soft); }
.lcm-dashboard-quick-grid > a.is-blue { background: var(--lcm-blue-soft); }
.lcm-dashboard-quick-grid > a > span, .lcm-dashboard-quick-grid > button > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--lcm-primary); background: rgba(255,255,255,.74); }
.lcm-dashboard-quick-grid > a.is-gold > span { color: #85620a; }
.lcm-dashboard-quick-grid > a.is-rose > span { color: var(--lcm-rose); }
.lcm-dashboard-quick-grid > a.is-blue > span { color: var(--lcm-blue); }
.lcm-dashboard-quick-grid strong, .lcm-dashboard-quick-grid small { display: block; }
.lcm-dashboard-quick-grid strong { grid-column: 2; font-size: .78rem; }
.lcm-dashboard-quick-grid small { grid-column: 2; margin-top: -12px; color: var(--lcm-text-soft); font-size: .63rem; }
.lcm-dashboard-quick-grid > a:hover, .lcm-dashboard-quick-grid > button:hover { transform: translateY(-2px); box-shadow: var(--lcm-shadow-sm); }
.lcm-dashboard-columns { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.7fr); gap: 20px; align-items: start; }
.lcm-dashboard-health-list { display: grid; }
.lcm-dashboard-health-list > a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; min-height: 68px; padding: 8px 0; border-bottom: 1px solid var(--lcm-border); color: var(--lcm-text); text-decoration: none; }
.lcm-dashboard-health-list > a:last-child { border-bottom: 0; }
.lcm-dashboard-health-list > a > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--lcm-rose-soft); color: var(--lcm-rose); }
.lcm-dashboard-health-list > a > span.is-green { color: var(--lcm-primary); background: var(--lcm-primary-soft); }
.lcm-dashboard-health-list > a > span.is-blue { color: var(--lcm-blue); background: var(--lcm-blue-soft); }
.lcm-dashboard-health-list > a > span.is-orange { color: var(--lcm-orange); background: var(--lcm-orange-soft); }
.lcm-dashboard-health-list > a > span.is-gold { color: #85620a; background: var(--lcm-gold-soft); }
.lcm-dashboard-health-list strong, .lcm-dashboard-health-list small { display: block; }
.lcm-dashboard-health-list strong { font-size: .78rem; }
.lcm-dashboard-health-list small { color: var(--lcm-text-soft); font-size: .66rem; }
.lcm-dashboard-health-list b { color: var(--lcm-text-faint); font-size: 1.3rem; }
.lcm-card-bell { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #87640d; background: var(--lcm-gold-soft); }
.lcm-reminder-list { display: grid; margin-bottom: 14px; }
.lcm-reminder-list article { display: grid; grid-template-columns: 4px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--lcm-border); }
.lcm-reminder-list article > span { border-radius: 9px; background: var(--lcm-gold); }
.lcm-reminder-list strong, .lcm-reminder-list small { display: block; }
.lcm-reminder-list strong { font-size: .76rem; }
.lcm-reminder-list small { margin-top: 3px; color: var(--lcm-text-soft); font-size: .64rem; }
.lcm-day-summary { display: grid; gap: 10px; margin: 0; }
.lcm-day-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--lcm-border); }
.lcm-day-summary > div:last-child { border-bottom: 0; padding-bottom: 0; }
.lcm-day-summary dt { color: var(--lcm-text-soft); font-size: .73rem; }
.lcm-day-summary dd { margin: 0; font-size: 1rem; font-weight: 800; }
.lcm-dashboard-chart { display: grid; grid-template-columns: repeat(7,1fr); gap: 9px; align-items: end; min-height: 210px; padding-top: 18px; }
.lcm-dashboard-chart > div { display: grid; grid-template-rows: 150px auto auto; justify-items: center; gap: 5px; min-width: 0; }
.lcm-dashboard-chart > div > span { display: flex; align-items: end; width: min(100%,36px); height: 150px; overflow: hidden; border-radius: 9px; background: #f1f4f0; }
.lcm-dashboard-chart i { display: block; width: 100%; min-height: 3px; border-radius: 9px; background: linear-gradient(180deg,#e6bd55,var(--lcm-gold)); }
.lcm-dashboard-chart strong { font-size: .7rem; }
.lcm-dashboard-chart small { color: var(--lcm-text-soft); font-size: .62rem; text-transform: capitalize; }
.lcm-inline-empty { display: grid; justify-items: center; gap: 5px; padding: 28px 12px; color: var(--lcm-text-soft); text-align: center; }
.lcm-inline-empty > .lcm-icon { width: 28px; height: 28px; margin-bottom: 5px; color: var(--lcm-gold); }
.lcm-inline-empty strong, .lcm-inline-empty small { display: block; }
.lcm-inline-empty small { color: var(--lcm-text-faint); }
.lcm-app-activity-list article { display: grid; grid-template-columns: 39px 1fr; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--lcm-border); }
.lcm-app-activity-list article:last-child { border-bottom: 0; }
.lcm-activity-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; color: var(--lcm-primary); background: var(--lcm-primary-soft); }
.lcm-app-activity-list strong, .lcm-app-activity-list small { display: block; }
.lcm-app-activity-list strong { font-size: .77rem; }
.lcm-app-activity-list small { color: var(--lcm-text-soft); font-size: .65rem; }

/* Composants historiques harmonisés */
.lcm-cheptel-card, .lcm-installation-card, .lcm-health-action-card, .lcm-plan-card,
.lcm-form-section, .lcm-laying-history > article, .lcm-laying-calendar > article {
  border-color: var(--lcm-border) !important; border-radius: var(--lcm-radius-sm) !important;
  background: var(--lcm-surface) !important; box-shadow: var(--lcm-shadow-xs) !important;
}
.lcm-app-status { border: 0; border-radius: 999px; }
.lcm-mobile-nav { display: none; }

/* Feuille d’actions */
.lcm-quick-sheet { position: fixed; z-index: 10000; inset: 0; }
.lcm-quick-sheet-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(23,29,25,.42); backdrop-filter: blur(4px); }
.lcm-quick-sheet > section {
  position: absolute; top: 50%; left: 50%; width: min(calc(100% - 32px),580px); max-height: min(760px,calc(100dvh - 48px));
  padding: 24px; overflow: auto; border-radius: var(--lcm-radius-lg); background: var(--lcm-surface);
  box-shadow: var(--lcm-shadow-lg); transform: translate(-50%,-50%);
}
.lcm-quick-sheet-handle { display: none; }
.lcm-quick-sheet header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.lcm-quick-sheet header > button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--lcm-border); border-radius: 12px; background: white; }
.lcm-quick-actions { display: grid; gap: 4px; margin-top: 20px; }
.lcm-quick-actions > a { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; min-height: 70px; padding: 10px; border-radius: 16px; color: inherit; text-decoration: none; }
.lcm-quick-actions > a:hover { background: #f3f5f2; }
.lcm-quick-actions strong, .lcm-quick-actions small { display: block; }
.lcm-quick-actions small { margin-top: 3px; color: var(--lcm-text-soft); }
.lcm-action-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: var(--lcm-primary-soft); }
.lcm-action-icon.is-gold { background: var(--lcm-gold-soft); }
.lcm-action-icon.is-rose { background: var(--lcm-rose-soft); }
.lcm-action-icon.is-blue { background: var(--lcm-blue-soft); }
.lcm-action-icon.is-violet { background: var(--lcm-violet-soft); }
/* v3.1.0 — cheptel haute densité */
.lcm-dashboard-scope{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 18px}.lcm-dashboard-scope form{display:flex;align-items:center;gap:10px}.lcm-dashboard-scope select{min-width:240px}.lcm-farm-overview{margin-bottom:18px}.lcm-farm-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.lcm-farm-summary-grid>article{padding:18px;background:#fff;border:1px solid #e5e8e1;border-radius:18px}.lcm-farm-summary-grid strong{display:block;font-size:17px}.lcm-farm-summary-grid small{color:#747d74}.lcm-farm-summary-grid dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.lcm-farm-summary-grid dl div{padding:8px;background:#f7f7f2;border-radius:10px}.lcm-farm-summary-grid dt{font-size:10px;color:#747d74}.lcm-farm-summary-grid dd{margin:3px 0 0;font-weight:800}.lcm-dashboard-customizer{width:min(440px,calc(100% - 30px));border:0;border-radius:20px;padding:24px;box-shadow:0 24px 80px #15271d44}.lcm-dashboard-customizer::backdrop{background:#18271d80}.lcm-dashboard-customizer label{display:block;padding:10px 0}.lcm-dashboard-customizer form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}/* 2026-08-23 (v4.60.0) : météo du jour, même base de dialog que .lcm-dashboard-customizer ci-dessus. */.lcm-weather-dialog{width:min(400px,calc(100% - 30px));border:0;border-radius:20px;padding:24px;box-shadow:0 24px 80px #15271d44}.lcm-weather-dialog::backdrop{background:#18271d80}.lcm-weather-dialog h2{margin:0 0 14px}.lcm-weather-form{margin-top:16px}.lcm-weather-form label{display:block;padding:10px 0;font-weight:700}.lcm-weather-form input{width:100%;margin-top:6px}.lcm-weather-form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.lcm-display-switch{display:flex;gap:4px;padding:4px;background:#f4f1e9;border-radius:12px}.lcm-display-switch a{padding:8px 12px;border-radius:9px;color:#596257;text-decoration:none;font-weight:700}.lcm-display-switch a.is-active{background:#fff;color:#2f5b47;box-shadow:0 2px 8px #23372a18}.lcm-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.lcm-active-filters span,.lcm-active-filters a{padding:6px 10px;border-radius:999px;background:#f4ecd8;color:#6b5621;font-size:12px;text-decoration:none}/*
 * 2026-08-08 (v4.3.0) : deuxième retour utilisateur — la refonte v4.1.0
 * (rangées arrondies) « fait encore trop Excel » et ne rappelle pas
 * l'identité du site vitrine. Nouvelle proposition : une fiche photo,
 * reprenant les codes visuels du site (coins 18px, ombre douce vert forêt,
 * dégradé forêt/or en fond de photo, cf. .benefit-icon/.post-card du
 * thème) — la MÊME carte est réutilisée en mode « Fiches » (grille photo)
 * et « Compact » (rangée), le passage de l'une à l'autre se fait par CSS
 * seul (flex-direction), sans dupliquer de balisage PHP. Fini les colonnes
 * de largeur fixe façon tableur : chaque information est une puce
 * (« tag ») qui s'enroule naturellement selon l'espace disponible.
 */
.lcm-bulk-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:12px 16px;border-radius:16px;background:#f7f6ef;border:1px solid #ece8da}
.lcm-bulk-select-all{display:flex;align-items:center;gap:8px;margin-right:auto;font-weight:700;color:#4b5347}
.lcm-bulk-action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lcm-bulk-toolbar select{min-width:180px}
.lcm-bulk-toolbar select[data-lcm-bulk-installation]{border-color:#8fb59d}
/*
 * 2026-08-08 (v4.4.0) : troisième passe. En relisant assets/css/main.css du
 * thème, le site n'a AUCUN vocabulaire de badge/puce colorée — juste du
 * texte, des icônes simples et l'or comme unique couleur d'accent sur les
 * liens (cf. .eyebrow/.section-kicker en `--gold`). La v4.3.0 (puces
 * race/sexe/installation + pastille statut + bouton-pilule) restait donc
 * un langage "app SaaS" que le site n'a jamais eu. Ici : texte simple pour
 * les métadonnées, un point de couleur + mot pour le statut (pas de fond
 * plein), un lien texte doré souligné au survol pour l'action — plus
 * aucune puce.
 */
.lcm-cheptel-view{display:flex;flex-direction:column;gap:14px}
.lcm-cheptel-row{position:relative;display:flex;align-items:center;gap:18px;padding:16px;border:1px solid rgba(15,59,46,.08);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(17,51,42,.05);transition:transform .16s ease,box-shadow .16s ease}
.lcm-cheptel-row:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,51,42,.1)}
.lcm-row-check{position:absolute;top:12px;left:12px;z-index:2}
.lcm-cheptel-photo{flex:0 0 auto;width:64px;height:64px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,var(--lcm-primary-soft,#eaf3ee),var(--lcm-gold-soft,#fff5d9));font-size:28px;color:inherit;text-decoration:none;transition:box-shadow .16s ease}
.lcm-cheptel-row:hover .lcm-cheptel-photo{box-shadow:inset 0 0 0 2px rgba(212,170,59,.55)}
.lcm-cheptel-photo img{width:100%;height:100%;object-fit:cover}
.lcm-cheptel-photo .lcm-chicken-mark{font-size:inherit}
/* 2026-08-10 : retour utilisateur — sans photo, la vignette pleine (dégradé vert/or
   sur 100%×150px en mode Fiches) lisait comme « un gros carré vert ». Même taille
   (grille inchangée), fond neutre + bordure fine à la place du dégradé, icône atténuée. */
.lcm-cheptel-photo.is-empty{background:var(--lcm-cream,#f7f3e8);border:1px solid rgba(15,59,46,.12)}
.lcm-cheptel-photo.is-empty .lcm-chicken-mark{opacity:.5}
.lcm-cheptel-info{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px}
.lcm-cheptel-name{display:flex;flex-direction:column;color:inherit;text-decoration:none;margin-bottom:2px}
.lcm-cheptel-name strong{font-size:15px;color:var(--lcm-forest,#0f3b2e)}
.lcm-cheptel-name small{color:#8a9189}
.lcm-cheptel-meta{margin:0;font-size:12.5px;color:#657068}
.lcm-cheptel-meta.is-location{color:#8a9189}
.lcm-cheptel-status{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:700}
.lcm-cheptel-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.lcm-cheptel-status.is-green{color:#2f684c}
.lcm-cheptel-status.is-gold{color:#9c742f}
.lcm-cheptel-status.is-blue{color:#3d648c}
.lcm-cheptel-status.is-orange{color:#a1611f}
.lcm-cheptel-status.is-rose{color:#a3474c}
.lcm-cheptel-status.is-slate{color:#5c6a72}
.lcm-row-action{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--lcm-gold,#d4aa3b);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .14s ease}
.lcm-row-action:hover{border-bottom-color:currentColor}
.lcm-cheptel-view.is-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.lcm-cheptel-view.is-cards .lcm-cheptel-row{flex-direction:column;align-items:stretch;text-align:center;padding:22px 18px 18px}
.lcm-cheptel-view.is-cards .lcm-cheptel-photo{width:100%;height:150px;border-radius:16px;font-size:52px;margin-bottom:6px}
.lcm-cheptel-view.is-cards .lcm-cheptel-info{align-items:center}
.lcm-cheptel-view.is-cards .lcm-cheptel-name{align-items:center}
.lcm-cheptel-view.is-cards .lcm-cheptel-status{align-self:center}
.lcm-cheptel-view.is-cards .lcm-row-action{align-self:center;margin-top:6px}
.lcm-animal-filters form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(max-width:700px){.lcm-cheptel-row{flex-wrap:wrap}.lcm-cheptel-status{margin-left:80px}.lcm-row-action{width:100%;text-align:center;margin-left:0}.lcm-display-switch{width:100%}.lcm-app-card-heading{flex-wrap:wrap}.lcm-bulk-action-group{width:100%}.lcm-bulk-toolbar select,.lcm-bulk-toolbar button{width:100%}}
/* v3.1.1 — navigation et espace Mon élevage unifiés */
.lcm-dashboard-tools{display:flex;justify-content:flex-end;margin:-8px 0 18px}.lcm-farm-open{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding:11px 14px;border:0;border-radius:12px;background:#2f684c;color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #28594024;transition:transform .16s ease,box-shadow .16s ease}.lcm-farm-open:hover{transform:translateY(-1px);box-shadow:0 9px 24px #28594032}.lcm-farm-open span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffffff24}.lcm-farm-tabs{display:flex;gap:7px;margin:0 0 18px;padding:5px;background:#f0eee5;border-radius:15px;width:max-content;max-width:100%}.lcm-farm-tabs a{padding:10px 18px;border-radius:11px;color:#5f675f;text-decoration:none;font-weight:800}.lcm-farm-tabs a.is-active{background:#fff;color:#2f684c;box-shadow:0 3px 12px #263d2e16}/* 2026-08-10 : retour utilisateur (avec capture) — ce lien était le seul de
   .lcm-installation-actions à avoir un fond plein + gros padding (bouton),
   contrairement à « Modifier » juste à côté (simple lien texte, voir
   .lcm-installation-actions a dans app.css) — d'où le « carré vert » signalé.
   Aligné sur le même traitement texte, juste plus gras pour rester la
   action principale de la carte. */
.lcm-installation-actions .lcm-installation-primary{font-weight:800}
@media(max-width:600px){.lcm-dashboard-tools{justify-content:stretch}.lcm-dashboard-tools button{width:100%}.lcm-farm-tabs{width:100%}.lcm-farm-tabs a{flex:1;text-align:center}.lcm-farm-summary-grid dl{grid-template-columns:1fr}.lcm-installation-actions{flex-wrap:wrap}}
.lcm-dashboard-farm-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:0 0 18px}.lcm-dashboard-farm-shortcuts .lcm-farm-open{margin:0;min-height:58px;padding:10px 12px 10px 16px}.lcm-dashboard-farm-shortcuts .lcm-farm-open .lcm-farm-open-label{display:grid;place-items:start;width:auto;height:auto;gap:3px;border-radius:0;background:none;text-align:left}.lcm-dashboard-farm-shortcuts .lcm-farm-open-label small{color:#dcece2;font-size:11px;font-weight:650}.lcm-dashboard-farm-shortcuts .lcm-farm-open b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#ffffff20;font-size:18px}
/* v3.1.3 — résumé opérationnel par installation */
/* 2026-08-24 (v4.71.0) : retour utilisateur — barre de couleur sur fond beige uniforme jugée peu lisible/incohérente avec les tuiles de traits juste au-dessus (redesign v4.71.0 aussi). Même principe désormais : fond teinté selon l'état, pas de barre latérale. */
.lcm-installation-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:14px 0;padding-top:13px;border-top:1px solid #e8ebe5}
.lcm-installation-snapshot>div{padding:10px 12px;border-radius:12px;background:var(--lcm-gold-soft,#fff5d9)}
.lcm-installation-snapshot small{display:block;color:#778077;font-size:11px}
.lcm-installation-snapshot strong{display:block;margin-top:3px;color:#37433a;font-size:13px}
.lcm-installation-snapshot strong a{color:inherit;text-decoration:none}
.lcm-installation-snapshot .is-health-ok{background:var(--lcm-primary-soft,#eaf3ee)}
.lcm-installation-snapshot .is-health-alert{background:var(--lcm-rose-soft,#fff0f1)}
.lcm-installation-snapshot .is-health-alert strong{color:#9b3e32}
@media(max-width:520px){.lcm-installation-snapshot{grid-template-columns:1fr}}
/* 2026-08-07 (v3.9.0) : score de propreté par installation, affiché comme 3e vignette du résumé opérationnel ci-dessus. */
.lcm-installation-snapshot .is-score-good{background:var(--lcm-primary-soft,#eaf3ee)}
.lcm-installation-snapshot .is-score-warn{background:var(--lcm-yellow-soft,#fbf1d4)}.lcm-installation-snapshot .is-score-warn strong{color:#8a6a1c}
.lcm-installation-snapshot .is-score-bad{background:var(--lcm-rose-soft,#fff0f1)}.lcm-installation-snapshot .is-score-bad strong{color:#9b3e32}
.lcm-installation-snapshot .is-score-none{background:var(--lcm-slate-soft,#eaeef0)}.lcm-installation-snapshot .is-score-none strong{color:#67705f}
.lcm-installation-snapshot .is-score-off{background:var(--lcm-slate-soft,#eaeef0)}.lcm-installation-snapshot .is-score-off strong{color:#67705f}
/* 2026-08-15 : demande utilisateur — fusionner "Production cette semaine" et "Production ce mois" en une seule vignette (deux valeurs côte à côte) plutôt que deux cartes séparées. */
.lcm-installation-snapshot .lcm-production-split{display:flex;gap:14px;margin-top:3px}
.lcm-installation-snapshot .lcm-production-split span{display:block}
.lcm-installation-snapshot .lcm-production-split strong{margin-top:0;font-size:13px}
.lcm-installation-snapshot .lcm-production-split small{margin-top:1px;font-size:10px}
.lcm-profile-hero .lcm-profile-back{border-color:#fff!important;color:#274c3b!important;background:#fff!important;box-shadow:0 5px 15px rgba(18,43,31,.18)!important}.lcm-profile-hero .lcm-profile-back:hover{color:#1f3e30!important;background:#f0f6f2!important}.lcm-profile-actions .dashicons{width:17px;height:17px;font-size:17px}
.lcm-profile-hero .lcm-profile-duplicate{border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.12);color:#fff;box-shadow:none}.lcm-profile-hero .lcm-profile-duplicate:hover{background:rgba(255,255,255,.22);color:#fff}.lcm-duplicate-notice{display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;padding:14px 16px;border:1px solid #ead9a9;border-radius:14px;background:#fff8e8;color:#58491f}.lcm-duplicate-notice>.dashicons{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f4e4b5;color:#765e20}.lcm-duplicate-notice strong{display:block}.lcm-duplicate-notice p{margin:3px 0 0;color:#77683d;font-size:13px}
.lcm-app-shell .dashicons-pets:before{content:"🐔";font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji"}.lcm-chicken-mark{display:grid;place-items:center;font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji";font-size:24px;line-height:1}.lcm-profile-photo .lcm-chicken-mark{font-size:72px}.lcm-flex-date-control{position:relative;display:flex;min-width:0}.lcm-flex-date-control input{padding-right:44px!important}.lcm-flex-date-control button{position:absolute;top:6px;right:5px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:#edf3ef;color:#315b48;cursor:pointer}.lcm-flex-date-control button:hover{background:#dfece3}.lcm-installation-card .is-over-capacity{color:#a33f33}.lcm-capacity-alert{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 12px;border:1px solid #efc6be;border-radius:11px;background:#fff1ed;color:#973e33}.lcm-capacity-alert>.dashicons{flex:0 0 auto;margin-top:1px}.lcm-capacity-alert strong,.lcm-capacity-alert small{display:block}.lcm-capacity-alert small{margin-top:2px;color:#a65449}
.lcm-installation-cover{height:150px;margin:-18px -18px 16px;overflow:hidden;border-radius:14px 14px 0 0;background:#edf1ec}.lcm-installation-cover img{width:100%;height:100%;object-fit:cover}.lcm-installation-card dl .lcm-occupation-row{display:grid;gap:7px}.lcm-occupation-row dd{display:grid;gap:7px}.lcm-occupancy{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 9px;border-radius:9px}.lcm-occupancy strong{font-size:15px}.lcm-occupancy small{font-size:10px;font-weight:750}.lcm-occupancy.is-green{color:#276241;background:#e8f4ec}.lcm-occupancy.is-orange{color:#895f19;background:#fff1cf}.lcm-occupancy.is-red{color:#9b3e33;background:#ffe8e3}.lcm-capacity-meter{display:block;height:5px;overflow:hidden;border-radius:999px;background:#e7e9e5}.lcm-capacity-meter i{display:block;height:100%;border-radius:inherit;background:#56a270}.lcm-occupancy.is-orange+.lcm-capacity-meter i{background:#d49a32}.lcm-occupancy.is-red+.lcm-capacity-meter i{background:#cf5d4e}.lcm-installation-current-photo{padding:12px;border:1px solid #e0e4df;border-radius:12px;background:#fafbf8}.lcm-installation-current-photo img{display:block;width:min(100%,460px);height:240px;border-radius:9px;object-fit:cover}.lcm-installation-current-photo p{margin:8px 0 0;color:#707a72;font-size:12px}.lcm-installation-photo-field>span{color:#89918b;font-weight:600}.lcm-installation-photo-field small{display:block;margin-top:5px;color:#778078;font-weight:500}
.lcm-related-summary .lcm-app-card-heading{margin-bottom:10px}.lcm-related-summary-list{display:grid;gap:2px}.lcm-related-summary-item{display:flex;align-items:flex-start;gap:11px;padding:12px 4px;border-bottom:1px solid #eceeea}.lcm-related-summary-item:last-child{border-bottom:0}.lcm-related-summary-item>.dashicons{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#eaf3ed;color:#315b48;font-size:17px}.lcm-related-summary-item>div{min-width:0}.lcm-related-summary-item strong,.lcm-related-summary-item small{display:block}.lcm-related-summary-item strong{color:#354139;font-size:13px}.lcm-related-summary-item small{margin-top:3px;color:#69736c;font-size:11px;line-height:1.45}.lcm-related-summary-item.is-empty>.dashicons{background:#f2f2ed;color:#929890}.lcm-related-summary-item.is-empty small{color:#929890}

/* v3.5.0 — rapprochement de la maquette de référence (tableau de bord) */
.lcm-app-stat-card.is-linked { color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.lcm-app-stat-card.is-linked:hover { transform: translateY(-2px); box-shadow: var(--lcm-shadow); }
.lcm-app-stat-card.is-linked span:last-child, .lcm-app-stat-card.is-linked div > span { color: var(--lcm-primary); font-weight: 700; }
.lcm-app-stat-card.is-rose div > span { color: var(--lcm-rose); }
.lcm-app-stat-card.is-green div > span { color: var(--lcm-primary); }

.lcm-dashboard-quick-grid-8 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.lcm-dashboard-quick-grid > button { border: 0; background: var(--lcm-primary-soft); font: inherit; text-align: left; cursor: pointer; }
.lcm-dashboard-quick-grid > a.is-yellow, .lcm-dashboard-quick-grid > button.is-yellow { background: var(--lcm-yellow-soft); }
.lcm-dashboard-quick-grid > a.is-orange, .lcm-dashboard-quick-grid > button.is-orange { background: var(--lcm-orange-soft); }
.lcm-dashboard-quick-grid > a.is-slate, .lcm-dashboard-quick-grid > button.is-slate { background: var(--lcm-slate-soft); }
.lcm-dashboard-quick-grid > a.is-dark, .lcm-dashboard-quick-grid > button.is-dark { background: var(--lcm-dark-soft); }
.lcm-dashboard-quick-grid > a.is-yellow > span, .lcm-dashboard-quick-grid > button.is-yellow > span { color: var(--lcm-yellow); }
.lcm-dashboard-quick-grid > a.is-orange > span, .lcm-dashboard-quick-grid > button.is-orange > span { color: var(--lcm-orange); }
.lcm-dashboard-quick-grid > a.is-slate > span, .lcm-dashboard-quick-grid > button.is-slate > span { color: var(--lcm-slate); }
.lcm-dashboard-quick-grid > a.is-dark > span, .lcm-dashboard-quick-grid > button.is-dark > span { color: var(--lcm-dark); }
.lcm-dashboard-quick-grid > button:hover { transform: translateY(-2px); box-shadow: var(--lcm-shadow-sm); }

.lcm-day-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 0; }
.lcm-day-summary-grid article { min-height: 84px; padding: 13px; }
.lcm-day-summary-grid .lcm-stat-icon { width: 36px; height: 36px; border-radius: 11px; }
.lcm-day-summary-grid .lcm-stat-icon .lcm-icon { width: 18px; height: 18px; }
.lcm-day-summary-grid strong { font-size: 1.3rem; }
.lcm-stat-icon.is-rose { color: var(--lcm-rose); background: var(--lcm-rose-soft); }
.lcm-stat-icon.is-gold { color: #85620a; background: var(--lcm-gold-soft); }
.lcm-stat-icon.is-green { color: var(--lcm-primary); background: var(--lcm-primary-soft); }
.lcm-stat-icon.is-blue { color: var(--lcm-blue); background: var(--lcm-blue-soft); }
.lcm-stat-icon.is-orange { color: var(--lcm-orange); background: var(--lcm-orange-soft); }

.lcm-reminder-list article { position: relative; grid-template-columns: 4px 1fr 20px; }
.lcm-reminder-list article.is-overdue > span { background: var(--lcm-danger); }
.lcm-reminder-list article.is-today > span { background: var(--lcm-orange); }
.lcm-reminder-list article.is-upcoming > span { background: var(--lcm-gold); }
.lcm-reminder-bell { display: grid; place-items: center; align-self: center; color: var(--lcm-text-faint); }
.lcm-reminder-bell .lcm-icon { width: 15px; height: 15px; }

.lcm-chart-period-switch { padding: 3px; font-size: .68rem; }
.lcm-chart-period-switch a { padding: 6px 10px; font-size: .68rem; }
.lcm-line-chart-legend { display: flex; gap: 16px; margin: 2px 0 10px; font-size: .72rem; font-weight: 700; color: var(--lcm-text-soft); }
.lcm-line-chart-legend span { position: relative; padding-left: 16px; }
.lcm-line-chart-legend span::before { content: ""; position: absolute; left: 0; top: 50%; width: 11px; height: 3px; border-radius: 3px; transform: translateY(-50%); }
.lcm-line-chart-legend .is-current::before { background: var(--lcm-gold); }
.lcm-line-chart-legend .is-previous::before { background: var(--lcm-border); border-top: 2px dashed var(--lcm-text-faint); height: 0; }
.lcm-line-chart { display: block; width: 100%; height: 200px; overflow: visible; }
.lcm-line-chart-current { stroke: var(--lcm-gold); stroke-width: 2.6; }
.lcm-line-chart-previous { stroke: var(--lcm-text-faint); stroke-width: 2; stroke-dasharray: 5 5; }
.lcm-line-chart-dot { fill: var(--lcm-gold); }
.lcm-line-chart-axis { display: flex; justify-content: space-between; margin-top: 6px; color: var(--lcm-text-faint); font-size: .64rem; text-transform: capitalize; }
@media(max-width:900px){.lcm-dashboard-quick-grid-8{grid-template-columns:repeat(2,minmax(0,1fr))}.lcm-day-summary-grid{grid-template-columns:1fr}}
