/* Theme Augmentia (#17), charge apres le template Vuexy et sa palette recoloree.
   Direction validee le 2026-09-24 : style suisse minimal pour application metier, fond papier
   chaud, panneau blanc incruste, marine du logo en seul accent d'interface, orange reserve aux
   nouveautes, statuts portes par une icone de forme distincte et un libelle.
   Espacements : 2, 4, 8, 12, 16, 24, 32, 40, 48, 64 px. Tailles de texte : echelle Tailwind.
   Les !important repondent a ceux du template (couleurs des boutons, utilitaires). */

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

/* Pictogrammes Phosphor en masques (statuts, chevrons, recherche) */
:root {
  --aug-i-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm45.66,85.66-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
  --aug-i-ko: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E");
  --aug-i-half: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24ZM40,128a88.1,88.1,0,0,1,88-88V216A88.1,88.1,0,0,1,40,128Z'/%3E%3C/svg%3E");
  --aug-i-none: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M96.26,37.05A8,8,0,0,1,102,27.29a104.11,104.11,0,0,1,52,0,8,8,0,0,1-2,15.75,8.15,8.15,0,0,1-2-.26,88.09,88.09,0,0,0-44,0A8,8,0,0,1,96.26,37.05ZM53.79,55.14a104.05,104.05,0,0,0-26,45,8,8,0,0,0,15.42,4.27,88,88,0,0,1,22-38.09A8,8,0,0,0,53.79,55.14ZM43.21,151.55a8,8,0,1,0-15.42,4.28,104.12,104.12,0,0,0,26,45,8,8,0,0,0,11.41-11.22A88.14,88.14,0,0,1,43.21,151.55ZM150,213.22a88,88,0,0,1-44,0,8,8,0,1,0-4,15.49,104.11,104.11,0,0,0,52,0,8,8,0,0,0-4-15.49ZM222.65,146a8,8,0,0,0-9.85,5.58,87.91,87.91,0,0,1-22,38.08,8,8,0,1,0,11.42,11.21,104,104,0,0,0,26-45A8,8,0,0,0,222.65,146Zm-9.86-41.54a8,8,0,0,0,15.42-4.28,104,104,0,0,0-26-45,8,8,0,1,0-11.41,11.22A88,88,0,0,1,212.79,104.45Z'/%3E%3C/svg%3E");
  --aug-i-okline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E");
  --aug-i-na: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M176,128a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,128Zm56,0A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E");
  --aug-i-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
  --aug-i-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z'/%3E%3C/svg%3E");
  --aug-i-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E");
  --aug-i-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z'/%3E%3C/svg%3E");
  --aug-i-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M205.66,149.66l-72,72a8,8,0,0,1-11.32,0l-72-72a8,8,0,0,1,11.32-11.32L120,196.69V40a8,8,0,0,1,16,0V196.69l58.34-58.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
  --aug-i-updown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M117.66,170.34a8,8,0,0,1,0,11.32l-32,32a8,8,0,0,1-11.32,0l-32-32a8,8,0,0,1,11.32-11.32L72,188.69V48a8,8,0,0,1,16,0V188.69l18.34-18.35A8,8,0,0,1,117.66,170.34Zm96-96-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32L168,67.31V208a8,8,0,0,0,16,0V67.31l18.34,18.35a8,8,0,0,0,11.32-11.32Z'/%3E%3C/svg%3E");
  --aug-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E");
  --aug-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Z'/%3E%3C/svg%3E");
}

:root {
  --aug-paper: #f4f3ef;
  --aug-paper-hover: #ebe9e3;
  --aug-surface: #ffffff;
  --aug-surface-2: #faf9f6;
  --aug-line: #e6e4dd;
  --aug-line-soft: #efede8;
  --aug-line-strong: #d4d1c7;
  --aug-ink: #15172b;
  --aug-ink-2: #3d4053;
  --aug-muted: #676a7a;
  --aug-brand: #2d348d;
  --aug-brand-hover: #242a76;
  --aug-brand-tint: #eceefa;
  /* Orange de Preiso (#ea8e00, charte de preisofrance.fr). Aplats et soulignes avec du texte fonce ;
     teinte soutenue pour les pictogrammes et grands chiffres (3,9:1) ; teinte foncee pour le texte (5,8:1). */
  --aug-accent: #ea8e00;
  --aug-accent-strong: #c26a00;
  --aug-accent-ink: #9a5300;
  --aug-accent-tint: #fdf0dc;
  --aug-ok: #1d7a4a;
  --aug-ok-tint: #e6f2eb;
  --aug-ko: #b3261e;
  --aug-ko-tint: #fbeae8;
  --aug-na: #8b8d99;
  --aug-r-md: 6px;
  --aug-r-lg: 8px;
  --aug-r-xl: 12px;
  --aug-r-2xl: 16px;
  --aug-ease: cubic-bezier(0.32, 0.72, 0, 1);
  --aug-font: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --aug-sidebar: 264px;
  --aug-shadow-pop: 0 1px 2px rgba(21, 23, 43, 0.06), 0 16px 40px rgba(21, 23, 43, 0.12);
}

/* ---------- Base ---------- */

html { font-size: 14px; }
body.aug {
  font-family: var(--aug-font);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--aug-ink-2);
  background: var(--aug-paper);
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
}
body.aug h1, body.aug h2, body.aug h3, body.aug h4, body.aug h5, body.aug h6,
body.aug .h1, body.aug .h2, body.aug .h3, body.aug .h4, body.aug .h5, body.aug .h6 {
  font-family: var(--aug-font);
  color: var(--aug-ink);
  font-weight: 700;
  letter-spacing: -0.01em;
}
body.aug h4, body.aug .h4 { font-size: 18px; line-height: 28px; }
body.aug h5, body.aug .h5 { font-size: 16px; line-height: 24px; }
body.aug h6, body.aug .h6 { font-size: 14px; line-height: 20px; }
body.aug a { color: var(--aug-brand); }
body.aug a:hover { color: var(--aug-brand-hover); }
body.aug strong, body.aug b, body.aug .font-weight-bold, body.aug .font-weight-bolder { font-weight: 700; }
body.aug .text-muted { color: var(--aug-muted) !important; }
body.aug hr { border-top-color: var(--aug-line); }
body.aug ::selection { background: var(--aug-brand-tint); color: var(--aug-ink); }
body.aug :focus-visible { outline: 2px solid var(--aug-brand); outline-offset: 2px; }
body.aug small, body.aug .small { font-size: 12px; line-height: 16px; }
body.aug .lead { font-size: 16px; line-height: 24px; font-weight: 600; }

/* Icones Phosphor posees a la place de Feather */
svg.aug-ph, svg.aug-ph.feather {
  width: 16px;
  height: 16px;
  flex: none;
  fill: currentColor;
  stroke: none;
  vertical-align: -3px;
}
.aug-icon { width: 20px; height: 20px; flex: none; fill: currentColor; }

.aug-skip { position: absolute; left: 16px; top: -64px; z-index: 1100; padding: 8px 12px; border-radius: var(--aug-r-lg); background: var(--aug-ink); color: #fff !important; font-weight: 600; }
.aug-skip:focus { top: 16px; }

/* ---------- Coque ---------- */

.aug-app { display: grid; grid-template-columns: var(--aug-sidebar) minmax(0, 1fr); min-height: 100vh; }
.aug-topbar { display: none; }
.aug-overlay { display: none; }

.aug-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 16px 16px; }
.aug-sidebar__logo { display: block; padding: 8px 8px 24px; }
.aug-sidebar__logo img { width: 150px; height: auto; }

.aug-nav { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; margin: 0 -4px; padding: 4px 4px 16px; scrollbar-width: thin; }
/* la zone de defilement laisse 4 px au liseré de l'entree active (#21) */
.aug-nav > .aug-nav__section:first-child { margin-top: 8px; }
.aug-nav__section { margin: 24px 8px 8px; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--aug-muted); }
body.aug .aug-nav__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: var(--aug-r-lg);
  color: var(--aug-ink-2);
  font-weight: 600;
  text-decoration: none;
  transition: background-color 200ms var(--aug-ease), color 200ms var(--aug-ease), box-shadow 200ms var(--aug-ease);
}
.aug-nav__item .aug-icon { color: var(--aug-muted); transition: color 200ms var(--aug-ease); }
.aug-nav__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.aug .aug-nav__item:hover { background: var(--aug-paper-hover); color: var(--aug-ink); }
.aug-nav__item:active { transform: translateY(1px); }
body.aug .aug-nav__item[aria-current] { background: var(--aug-accent-tint); color: var(--aug-brand); box-shadow: 0 0 0 1px #f6d9ad; }
.aug-nav__item[aria-current] .aug-icon { color: var(--aug-accent); }
.aug-nav__count { margin-left: auto; padding: 2px 8px; border-radius: 9999px; background: var(--aug-accent); color: var(--aug-ink); font-size: 12px; line-height: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }

.aug-sidebar__foot { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; }
.aug-user { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: var(--aug-r-xl); }
.aug-avatar { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 9999px; background: var(--aug-accent); color: var(--aug-ink); font-size: 12px; line-height: 16px; font-weight: 700; }
.aug-user__who { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.aug-user__who strong { color: var(--aug-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aug-user__who span { font-size: 12px; line-height: 16px; color: var(--aug-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aug-version { margin: 0; padding: 0 8px; font-size: 12px; line-height: 16px; color: var(--aug-muted); }
body.aug .aug-version a { white-space: nowrap; color: var(--aug-muted); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--aug-line-strong); }
body.aug .aug-version a:hover { color: var(--aug-ink); text-decoration-color: currentColor; }

body.aug .aug-icon-btn { display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: var(--aug-r-lg); background: transparent; color: var(--aug-muted); transition: background-color 200ms var(--aug-ease), color 200ms var(--aug-ease); }
body.aug .aug-icon-btn:hover { background: var(--aug-paper-hover); color: var(--aug-ink); }
.aug-icon-btn .aug-icon { width: 16px; height: 16px; }

.aug-main { min-width: 0; padding: 8px 8px 8px 0; }
.aug-panel { min-height: calc(100vh - 16px); background: var(--aug-surface); border: 1px solid var(--aug-line); border-radius: var(--aug-r-xl); box-shadow: 0 1px 2px rgba(21, 23, 43, 0.04); }

.aug-head { padding: 32px 40px 24px; }
.aug-crumbs { margin-bottom: 16px; }
body.aug .aug-crumbs .breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; background: none; border: 0; font-size: 14px; line-height: 20px; }
body.aug .aug-crumbs .breadcrumb-item { display: inline-flex; align-items: center; gap: 8px; padding: 0; color: var(--aug-muted); }
body.aug .aug-crumbs .breadcrumb-item a { color: var(--aug-muted); }
body.aug .aug-crumbs .breadcrumb-item a:hover { color: var(--aug-ink); }
body.aug .aug-crumbs .breadcrumb-item + .breadcrumb-item { padding-left: 0; }
body.aug .aug-crumbs .breadcrumb-item + .breadcrumb-item::before {
  content: "";
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  background: var(--aug-line-strong);
  -webkit-mask: var(--aug-i-right) center / 16px no-repeat;
  mask: var(--aug-i-right) center / 16px no-repeat;
}
.aug-crumbs svg.aug-ph, .aug-crumbs i[data-feather] { display: none; }
.aug-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
body.aug .aug-head h1, body.aug .aug-page-title { margin: 0; font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.02em; color: var(--aug-ink); text-wrap: balance; }
.aug-subtitle { margin: 8px 0 0; max-width: 720px; font-size: 18px; line-height: 28px; color: var(--aug-ink-2); text-wrap: pretty; }
.aug-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 16px 0 0; color: var(--aug-muted); }
.aug-meta__item { display: inline-flex; align-items: center; gap: 8px; }
.aug-meta__item--ok { color: var(--aug-ok); font-weight: 700; }
.aug-meta__item--brand { color: var(--aug-brand); font-weight: 700; }
.aug-meta__sep { width: 4px; height: 4px; border-radius: 9999px; background: var(--aug-line-strong); }
.aug-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; flex: none; }
.aug-actions > a:not(.btn) { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: var(--aug-r-lg); color: var(--aug-ink-2); font-weight: 600; }
.aug-actions > a:not(.btn):hover { background: var(--aug-surface-2); color: var(--aug-ink); text-decoration: none; }
.aug-body { padding: 0 40px 48px; }
.aug-body--flush { padding: 0 0 24px; }

/* Les colonnes Bootstrap gardent leur gouttiere, les lignes pleine largeur n'ont plus de debord */
.aug-body > .row, .aug-body > section > .row { margin-left: -12px; margin-right: -12px; }
.aug-body .row > [class*="col"] { padding-left: 12px; padding-right: 12px; }

/* ---------- Cartes ---------- */

body.aug .card { background: var(--aug-surface); border: 1px solid var(--aug-line); border-radius: var(--aug-r-xl); box-shadow: none; margin-bottom: 24px; }
body.aug .card .card { border-color: var(--aug-line-soft); }
body.aug .card-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px; background: transparent; border-bottom: 1px solid var(--aug-line); }
body.aug .card-header:first-child { border-radius: var(--aug-r-xl) var(--aug-r-xl) 0 0; }
body.aug .card-header .card-title, body.aug .card-title { margin: 0; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--aug-ink); }
body.aug .card-body { padding: 24px; }
body.aug .card-footer { padding: 16px 24px; background: transparent; border-top: 1px solid var(--aug-line); }
body.aug .card-text { color: var(--aug-ink-2); }
/* Carte qui ne fait qu'envelopper une liste : elle se fond dans le panneau */
body.aug .aug-flush { border: 0; border-radius: 0; background: transparent; margin: 0 -40px; }
body.aug .aug-flush > .card-body { padding: 0 40px; }

/* ---------- Boutons ---------- */

body.aug .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border-width: 1px;
  border-radius: var(--aug-r-lg);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: 0;
  box-shadow: none !important;
  transition: background-color 200ms var(--aug-ease), border-color 200ms var(--aug-ease), color 200ms var(--aug-ease), transform 200ms var(--aug-ease);
}
body.aug .btn:active { transform: scale(0.98); }
body.aug .btn-lg { font-size: 16px; line-height: 24px; padding: 8px 16px; }
body.aug .btn-sm { padding: 4px 8px; font-size: 12px; line-height: 16px; border-radius: var(--aug-r-md); }
body.aug .btn-block { display: flex; width: 100%; }
body.aug .btn .aug-ph { width: 16px; height: 16px; margin: 0; vertical-align: 0; }
body.aug .btn-sm .aug-ph { width: 14px; height: 14px; }
body.aug .waves-ripple, body.aug .waves-rippling { display: none !important; }

body.aug .btn-primary, body.aug .btn-primary:focus { background-color: var(--aug-brand) !important; border-color: var(--aug-brand) !important; color: #fff !important; }
body.aug .btn-primary:hover:not(:disabled) { background-color: var(--aug-brand-hover) !important; border-color: var(--aug-brand-hover) !important; }
body.aug .btn-secondary, body.aug .btn-outline-secondary, body.aug .btn-outline-primary, body.aug .btn-light, body.aug .btn-outline-dark, body.aug .btn-info, body.aug .btn-outline-info, body.aug .btn-warning, body.aug .btn-outline-warning, body.aug .btn-success, body.aug .btn-outline-success, body.aug .btn-flat-primary, body.aug .btn-flat-secondary {
  background-color: var(--aug-surface) !important;
  border-color: var(--aug-line-strong) !important;
  color: var(--aug-ink) !important;
}
body.aug .btn-secondary:hover, body.aug .btn-outline-secondary:hover, body.aug .btn-outline-primary:hover, body.aug .btn-light:hover, body.aug .btn-outline-dark:hover, body.aug .btn-info:hover, body.aug .btn-outline-info:hover, body.aug .btn-warning:hover, body.aug .btn-outline-warning:hover, body.aug .btn-success:hover, body.aug .btn-outline-success:hover, body.aug .btn-flat-primary:hover, body.aug .btn-flat-secondary:hover {
  background-color: var(--aug-surface-2) !important;
  border-color: var(--aug-muted) !important;
  color: var(--aug-ink) !important;
}
body.aug .btn-danger, body.aug .btn-outline-danger, body.aug .btn-flat-danger {
  background-color: var(--aug-surface) !important;
  border-color: var(--aug-line-strong) !important;
  color: var(--aug-ko) !important;
}
body.aug .btn-danger:hover, body.aug .btn-outline-danger:hover, body.aug .btn-flat-danger:hover { background-color: var(--aug-ko-tint) !important; border-color: var(--aug-ko) !important; }
body.aug .btn-link { color: var(--aug-brand); padding-left: 0; padding-right: 0; }
body.aug .btn:disabled, body.aug .btn.disabled { opacity: 0.5; }
body.aug .btn-group > .btn:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
body.aug .btn-group > .btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* ---------- Formulaires ---------- */

body.aug label, body.aug .form-label, body.aug .col-form-label {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  color: var(--aug-ink-2);
}
body.aug .form-group { margin-bottom: 16px; }
body.aug .form-control, body.aug .custom-select, body.aug .select2-container--default .select2-selection--single, body.aug .select2-container--default .select2-selection--multiple {
  min-height: 40px;
  height: auto;
  padding: 8px 12px;
  border: 1px solid var(--aug-line-strong);
  border-radius: var(--aug-r-lg);
  background-color: var(--aug-surface);
  color: var(--aug-ink);
  font-family: var(--aug-font);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  box-shadow: none;
  transition: border-color 200ms var(--aug-ease), box-shadow 200ms var(--aug-ease);
}
body.aug .form-control::placeholder { color: var(--aug-muted); opacity: 1; }
body.aug .form-control:hover, body.aug .custom-select:hover { border-color: var(--aug-muted); }
body.aug .form-control:focus, body.aug .custom-select:focus, body.aug .select2-container--focus .select2-selection, body.aug .select2-container--open .select2-selection {
  border-color: var(--aug-brand) !important;
  box-shadow: 0 0 0 4px var(--aug-brand-tint) !important;
  outline: none;
}
body.aug textarea.form-control { min-height: 96px; }
body.aug textarea.form-control.hidden-accessible { min-height: 0; } /* source cachee d'un editeur Quill (#43) */
body.aug .form-control:disabled, body.aug .form-control[readonly] { background-color: var(--aug-surface-2); color: var(--aug-muted); }
body.aug select.form-control, body.aug .custom-select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px;
  background-image: none;
  background-color: var(--aug-surface);
}
body.aug select.form-control:not([multiple]), body.aug .custom-select:not([multiple]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23676a7a'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");
}
body.aug .input-group-text { background: var(--aug-surface-2); border-color: var(--aug-line-strong); color: var(--aug-muted); border-radius: var(--aug-r-lg); }
body.aug .input-group-merge .form-control:not(:last-child) { border-right: 0; }
body.aug .input-group-merge .input-group-append .input-group-text { background: var(--aug-surface); border-left: 0; }
body.aug .input-group:focus-within .input-group-text { border-color: var(--aug-brand); }
body.aug .invalid-feedback, body.aug .error:not(input):not(select):not(textarea) { color: var(--aug-ko); font-size: 12px; line-height: 16px; font-weight: 600; }
body.aug .form-control.is-invalid, body.aug .form-control.error { border-color: var(--aug-ko); }
body.aug .form-text { color: var(--aug-muted); font-size: 12px; line-height: 16px; }
body.aug .custom-control-label { font-size: 14px; line-height: 20px; font-weight: 500; color: var(--aug-ink-2); }
body.aug .custom-control-label::before { border-color: var(--aug-line-strong); background-color: var(--aug-surface); box-shadow: none !important; }
body.aug .custom-control-input:checked ~ .custom-control-label::before { background-color: var(--aug-brand) !important; border-color: var(--aug-brand) !important; }
body.aug .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 4px var(--aug-brand-tint) !important; }
body.aug .form-label-group label { font-size: 12px; font-weight: 600; }

/* Select2 */
body.aug .select2-container--default .select2-selection--single { display: flex; align-items: center; }
body.aug .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 24px 0 0; line-height: 20px; color: var(--aug-ink); }
body.aug .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--aug-muted); }
body.aug .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; right: 12px; width: 16px; height: 16px; transform: translateY(-50%); background: var(--aug-muted); -webkit-mask: var(--aug-i-caret) center / 16px no-repeat; mask: var(--aug-i-caret) center / 16px no-repeat; }
body.aug .select2-container--default .select2-selection--single .select2-selection__arrow b { display: none; }
body.aug .select2-container--default .select2-selection--multiple .select2-selection__choice { margin: 2px 4px 2px 0; padding: 2px 8px; border: 0; border-radius: var(--aug-r-md); background: var(--aug-brand-tint) !important; color: var(--aug-brand) !important; font-size: 12px; line-height: 16px; font-weight: 700; }
body.aug .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { color: var(--aug-brand) !important; margin-right: 4px; }
body.aug .select2-dropdown { border: 1px solid var(--aug-line); border-radius: var(--aug-r-lg); box-shadow: var(--aug-shadow-pop); overflow: hidden; }
body.aug .select2-results__option { padding: 8px 12px; font-size: 14px; line-height: 20px; }
body.aug .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--aug-brand-tint) !important; color: var(--aug-ink) !important; }
body.aug .select2-container--default .select2-results__option[aria-selected="true"] { background: var(--aug-surface-2); color: var(--aug-brand); font-weight: 700; }
body.aug .select2-search--dropdown .select2-search__field { border: 1px solid var(--aug-line-strong); border-radius: var(--aug-r-md); padding: 4px 8px; }

/* Flatpickr */
body.aug .flatpickr-calendar { border: 1px solid var(--aug-line); border-radius: var(--aug-r-xl); box-shadow: var(--aug-shadow-pop); font-family: var(--aug-font); }
body.aug .flatpickr-day.selected, body.aug .flatpickr-day.startRange, body.aug .flatpickr-day.endRange { background: var(--aug-brand) !important; border-color: var(--aug-brand) !important; color: #fff !important; box-shadow: none !important; }
body.aug .flatpickr-day.inRange { background: var(--aug-brand-tint) !important; border-color: var(--aug-brand-tint) !important; box-shadow: -5px 0 0 var(--aug-brand-tint), 5px 0 0 var(--aug-brand-tint) !important; color: var(--aug-ink) !important; }
body.aug .flatpickr-day.today { border-color: var(--aug-accent) !important; }

/* Editeur Quill */
body.aug .ql-toolbar.ql-snow { border-color: var(--aug-line-strong); border-radius: var(--aug-r-lg) var(--aug-r-lg) 0 0; background: var(--aug-surface-2); font-family: var(--aug-font); }
body.aug .ql-container.ql-snow { border-color: var(--aug-line-strong); border-radius: 0 0 var(--aug-r-lg) var(--aug-r-lg); font-family: var(--aug-font); font-size: 14px; }
body.aug .ql-editor { min-height: 96px; color: var(--aug-ink); line-height: 20px; }
body.aug .ql-container { border-color: var(--aug-line-strong); border-radius: var(--aug-r-lg); font-family: var(--aug-font); }
body.aug .ql-editor.ql-blank::before { font-style: normal; color: var(--aug-muted); }

/* ---------- Tableaux ---------- */

body.aug .table { color: var(--aug-ink-2); margin-bottom: 0; border-collapse: separate; border-spacing: 0; }
body.aug .table th, body.aug .table td { padding: 12px 16px; border-top: 0; border-bottom: 1px solid var(--aug-line-soft); vertical-align: middle; font-size: 14px; line-height: 20px; }
body.aug .table thead th, body.aug .table tfoot th {
  padding: 12px 16px;
  background: var(--aug-surface-2);
  border-top: 1px solid var(--aug-line);
  border-bottom: 1px solid var(--aug-line);
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--aug-muted);
  white-space: nowrap;
}
body.aug .table tfoot { display: none; }
body.aug .table tbody tr { transition: background-color 200ms var(--aug-ease); }
body.aug .table-hover tbody tr:hover, body.aug table.dataTable tbody tr:hover { background: var(--aug-surface-2); }
body.aug .table-striped tbody tr:nth-of-type(odd) { background: transparent; }
body.aug .table tbody td a:not(.btn) { color: var(--aug-ink); font-weight: 700; }
body.aug .table tbody td a:not(.btn):hover { color: var(--aug-brand); text-decoration: underline; text-underline-offset: 3px; }
body.aug .table-bordered, body.aug .table-bordered th, body.aug .table-bordered td { border-left: 0; border-right: 0; }
body.aug .dt-advanced-search, body.aug .dt-advanced-search tbody td { font-size: 14px; }
body.aug .dt-advanced-search thead th, body.aug .dt-advanced-search tfoot th { font-size: 12px; }

/* DataTables : en-tetes triables, pied avec pagination */
body.aug table.dataTable { margin: 0 !important; width: 100% !important; }
body.aug table.dataTable thead .sorting, body.aug table.dataTable thead .sorting_asc, body.aug table.dataTable thead .sorting_desc { padding-right: 32px; background-image: none !important; cursor: pointer; }
body.aug table.dataTable thead .sorting::before, body.aug table.dataTable thead .sorting_asc::before, body.aug table.dataTable thead .sorting_desc::before { display: none !important; }
body.aug table.dataTable thead .sorting::after, body.aug table.dataTable thead .sorting_asc::after, body.aug table.dataTable thead .sorting_desc::after {
  content: "" !important;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  opacity: 1 !important;
  background: var(--aug-line-strong);
  -webkit-mask: var(--aug-i-updown) center / 14px no-repeat;
  mask: var(--aug-i-updown) center / 14px no-repeat;
}
body.aug table.dataTable thead .sorting_asc::after { background: var(--aug-ink-2); -webkit-mask-image: var(--aug-i-up); mask-image: var(--aug-i-up); }
body.aug table.dataTable thead .sorting_desc::after { background: var(--aug-ink-2); -webkit-mask-image: var(--aug-i-down); mask-image: var(--aug-i-down); }
body.aug table.dataTable thead th { position: relative; }
body.aug .aug-table-scroll { overflow-x: auto; }
body.aug .aug-dt .aug-dt-head { display: none; }
body.aug .dataTables_wrapper .row, body.aug .dataTables_wrapper .d-flex.row { margin: 0; }
body.aug .aug-dt-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; }
body.aug .aug-dt-foot > [class*="col"] { flex: 0 1 auto; max-width: none; width: auto; padding: 0; }
body.aug .dataTables_wrapper .dataTables_info { padding: 0; color: var(--aug-muted); font-size: 14px; line-height: 20px; white-space: normal; }
body.aug .dataTables_wrapper .dataTables_paginate { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin: 0; }
body.aug .aug-dt-foot > [class*="col"]:last-child { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px; }
body.aug .dataTables_wrapper .dataTables_length label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--aug-muted); }
body.aug .dataTables_wrapper .dataTables_length select { width: auto; min-height: 32px; padding: 4px 32px 4px 8px; background-position: right 8px center; }
body.aug .dataTables_wrapper .dataTables_processing { border: 1px solid var(--aug-line); border-radius: var(--aug-r-lg); box-shadow: var(--aug-shadow-pop); background: var(--aug-surface); color: var(--aug-ink-2); font-weight: 600; }
body.aug .dataTables_wrapper .dataTables_empty { padding: 48px 16px; color: var(--aug-muted); text-align: center; }

body.aug .pagination { gap: 4px; margin: 0; }
body.aug .page-item .page-link, body.aug .page-item:first-child .page-link, body.aug .page-item:last-child .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  margin: 0;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: var(--aug-r-lg) !important;
  background: transparent;
  color: var(--aug-ink-2);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
body.aug .pagination .page-item { background: none !important; border-radius: 0 !important; }
body.aug .page-item .page-link:hover { background: var(--aug-paper); color: var(--aug-ink); }
body.aug .page-item.active .page-link { background: var(--aug-accent) !important; border-color: var(--aug-accent) !important; color: var(--aug-ink) !important; }
body.aug .page-item.disabled .page-link { color: var(--aug-line-strong); background: transparent; }
body.aug .page-item.previous .page-link, body.aug .page-item.next .page-link { width: 32px; padding: 0; border-color: var(--aug-line-strong); font-size: 0; color: transparent !important; }
body.aug .page-item.previous .page-link::before, body.aug .page-item.next .page-link::before {
  content: "";
  width: 16px;
  height: 16px;
  background: var(--aug-ink-2);
  -webkit-mask: var(--aug-i-left) center / 16px no-repeat;
  mask: var(--aug-i-left) center / 16px no-repeat;
}
body.aug .page-item.next .page-link::before { -webkit-mask-image: var(--aug-i-right); mask-image: var(--aug-i-right); }
body.aug .page-item.disabled.previous .page-link::before, body.aug .page-item.disabled.next .page-link::before { background: var(--aug-line-strong); }
body.aug .page-item.previous .page-link::after, body.aug .page-item.next .page-link::after { display: none; }

/* ---------- Barre de filtres et onglets ---------- */

.aug-tabs { display: flex; gap: 24px; margin: 0 -40px; padding: 0 40px; border-bottom: 1px solid var(--aug-line); overflow-x: auto; scrollbar-width: none; }
.aug-tabs::-webkit-scrollbar { display: none; }
body.aug .aug-tab { display: inline-flex; align-items: center; gap: 8px; padding: 12px 0; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--aug-muted); font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: color 200ms var(--aug-ease), border-color 200ms var(--aug-ease); }
body.aug .aug-tab:hover { color: var(--aug-ink); }
body.aug .aug-tab[aria-selected="true"] { color: var(--aug-ink); border-bottom-color: var(--aug-accent); }
.aug-tab__count { padding: 0 8px; border-radius: 9999px; background: var(--aug-paper); color: var(--aug-muted); font-size: 12px; line-height: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.aug-tab[aria-selected="true"] .aug-tab__count { background: var(--aug-accent); color: var(--aug-ink); }

.aug-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px 0; }
.aug-toolbar .aug-search { position: relative; flex: 1 1 200px; min-width: 200px; max-width: 320px; }
.aug-toolbar .aug-search::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background: var(--aug-muted);
  -webkit-mask: var(--aug-i-search) center / 16px no-repeat;
  mask: var(--aug-i-search) center / 16px no-repeat;
  pointer-events: none;
}
body.aug .aug-toolbar .aug-search .form-control { padding-left: 40px; }
body.aug .aug-toolbar select.aug-filter, body.aug .aug-toolbar input.aug-filter {
  width: auto;
  max-width: 240px;
  min-height: 40px;
  border-color: var(--aug-line);
  font-weight: 600;
  color: var(--aug-ink-2);
}
body.aug .aug-toolbar input.aug-filter { width: 160px; padding-right: 36px; background: var(--aug-surface) no-repeat right 12px center / 16px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23676a7a'%3E%3Cpath d='M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Z'/%3E%3C/svg%3E"); }
body.aug .aug-toolbar input.aug-filter::placeholder { color: var(--aug-ink-2); }
body.aug .aug-toolbar .aug-filter.is-set { border-color: var(--aug-accent); color: var(--aug-accent-ink); background-color: var(--aug-accent-tint); }
.aug-toolbar .aug-reset { margin-left: auto; font-weight: 700; }
.aug-toolbar .aug-reset:hover { text-decoration: underline; text-underline-offset: 3px; }
.aug-toolbar .sr-only + .select2-container { width: auto !important; min-width: 160px; }

/* ---------- Statuts : icone de forme distincte et libelle ---------- */

body.aug .badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  letter-spacing: 0;
  vertical-align: middle;
}
body.aug .badge-primary, body.aug .badge-light-primary { background: var(--aug-brand-tint) !important; color: var(--aug-brand) !important; }
body.aug .badge-success, body.aug .badge-light-success { background: var(--aug-ok-tint) !important; color: var(--aug-ok) !important; }
body.aug .badge-danger, body.aug .badge-light-danger { background: var(--aug-ko-tint) !important; color: var(--aug-ko) !important; }
body.aug .badge-warning, body.aug .badge-light-warning { background: var(--aug-accent-tint) !important; color: var(--aug-accent-ink) !important; }
body.aug .badge-info, body.aug .badge-light-info, body.aug .badge-secondary, body.aug .badge-light-secondary, body.aug .badge-dark, body.aug .badge.bg-light { background: var(--aug-paper) !important; color: var(--aug-ink-2) !important; }

body.aug .badge[data-statut] {
  gap: 8px;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--aug-ink-2) !important;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  white-space: nowrap;
}
body.aug .badge[data-statut]::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: none;
  background: var(--aug-na);
  -webkit-mask: var(--aug-i-none) center / 16px no-repeat;
  mask: var(--aug-i-none) center / 16px no-repeat;
}
body.aug .badge-success[data-statut]::before { background: var(--aug-ok); -webkit-mask-image: var(--aug-i-ok); mask-image: var(--aug-i-ok); }
body.aug .badge-danger[data-statut]::before { background: var(--aug-ko); -webkit-mask-image: var(--aug-i-ko); mask-image: var(--aug-i-ko); }
body.aug .badge-warning[data-statut]::before { background: var(--aug-accent-strong); -webkit-mask-image: var(--aug-i-half); mask-image: var(--aug-i-half); }
body.aug .badge-info[data-statut]::before { background: var(--aug-na); -webkit-mask-image: var(--aug-i-na); mask-image: var(--aug-i-na); }

/* ---------- Fenetres, menus, messages ---------- */

body.aug .modal-backdrop.show { opacity: 0.4; background: var(--aug-ink); }
body.aug .modal-content { border: 1px solid var(--aug-line); border-radius: var(--aug-r-2xl); box-shadow: var(--aug-shadow-pop); overflow: hidden; }
body.aug .modal-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; background: var(--aug-surface) !important; border-bottom: 1px solid var(--aug-line); border-radius: 0; }
body.aug .modal-title { margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--aug-ink); }
body.aug .modal-body { padding: 24px; }
body.aug .modal-footer { padding: 16px 24px; border-top: 1px solid var(--aug-line); gap: 8px; }
body.aug .modal-footer > * { margin: 0; }
body.aug .modal .close, body.aug .modal-header .close {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0 0 0 auto;
  padding: 0;
  border-radius: var(--aug-r-lg);
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--aug-muted);
  opacity: 1;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  text-shadow: none;
}
body.aug .modal .close:hover { background: var(--aug-paper) !important; color: var(--aug-ink); }

body.aug .dropdown-menu { padding: 4px; border: 1px solid var(--aug-line); border-radius: var(--aug-r-lg); box-shadow: var(--aug-shadow-pop); }
body.aug .dropdown-item { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: var(--aug-r-md); color: var(--aug-ink-2); font-size: 14px; line-height: 20px; font-weight: 600; }
body.aug .dropdown-item:hover, body.aug .dropdown-item:focus { background: var(--aug-paper); color: var(--aug-ink); }
body.aug .dropdown-item.active, body.aug .dropdown-item:active { background: var(--aug-brand-tint); color: var(--aug-brand); }

body.aug .alert { display: flex; gap: 12px; margin-bottom: 24px; padding: 12px 16px; border: 1px solid var(--aug-line); border-radius: var(--aug-r-lg); background: var(--aug-surface-2) !important; box-shadow: none !important; color: var(--aug-ink-2) !important; font-size: 14px; line-height: 20px; }
body.aug .alert .alert-body { padding: 0; }
body.aug .alert .alert-heading { display: none; }
body.aug .alert ul { margin: 0; padding-left: 16px; }
body.aug .alert-success { border-color: #bfdccb; background: var(--aug-ok-tint) !important; color: #145536 !important; }
body.aug .alert-danger, body.aug .alert-warning { border-color: #efc4bf; background: var(--aug-ko-tint) !important; color: #7f1b15 !important; }
body.aug .alert-info, body.aug .alert-primary { border-color: #cfd2ef; background: var(--aug-brand-tint) !important; color: var(--aug-brand) !important; }
body.aug .alert .close { order: 2; margin-left: auto; padding: 0 4px; color: inherit; opacity: 0.6; text-shadow: none; }
body.aug .alert-dismissible { padding-right: 16px; }
body.aug .alert-dismissible .close { position: static; }

body.aug .popover { border: 1px solid var(--aug-line); border-radius: var(--aug-r-lg); box-shadow: var(--aug-shadow-pop); font-family: var(--aug-font); }
body.aug .popover .popover-header { background: var(--aug-surface-2) !important; color: var(--aug-ink) !important; border-bottom: 1px solid var(--aug-line); font-size: 14px; }
body.aug .popover .popover-body { color: var(--aug-ink-2); font-size: 14px; line-height: 20px; }
body.aug .popover .arrow::after { border-top-color: var(--aug-surface); }
body.aug .tooltip-inner { background: var(--aug-ink); border-radius: var(--aug-r-md); font-size: 12px; line-height: 16px; font-weight: 600; padding: 4px 8px; }

/* Onglets Bootstrap */
body.aug .nav-tabs { gap: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--aug-line); }
body.aug .nav-tabs .nav-link { position: relative; margin: 0 0 -1px; padding: 12px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--aug-muted); font-weight: 600; }
body.aug .nav-tabs .nav-link::after { display: none !important; }
body.aug .nav-tabs .nav-link:hover { color: var(--aug-ink); }
body.aug .nav-tabs .nav-link.active { color: var(--aug-ink) !important; border-bottom-color: var(--aug-accent); background: none; }

/* Accordeons en cartes (taches, infos complementaires) */
body.aug .collapse-title { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--aug-ink); }
body.aug .card-header[data-toggle="collapse"] { cursor: pointer; }
body.aug .card-header[data-toggle="collapse"]::after { display: none; }

/* Progression */
body.aug .progress { height: 8px; border-radius: 9999px; background: var(--aug-line); box-shadow: none; overflow: hidden; }
body.aug .progress-bar { border-radius: 9999px; background: var(--aug-accent) !important; font-size: 0; }
body.aug .noUi-target { border: 0; box-shadow: none; background: var(--aug-line); border-radius: 9999px; height: 8px; }
body.aug .noUi-connect { background: var(--aug-accent) !important; }
body.aug .noUi-horizontal .noUi-handle { width: 20px; height: 20px; top: -6px; right: -10px; border: 2px solid var(--aug-accent-strong); border-radius: 9999px; background: var(--aug-surface); box-shadow: 0 1px 2px rgba(21, 23, 43, 0.12); }
body.aug .noUi-handle::before, body.aug .noUi-handle::after { display: none; }
body.aug .noUi-tooltip { border: 0; border-radius: var(--aug-r-md); background: var(--aug-ink); color: #fff; font-size: 12px; line-height: 16px; font-weight: 700; padding: 2px 8px; }

body.aug .list-group-item { border-color: var(--aug-line-soft); color: var(--aug-ink-2); padding: 12px 16px; }
body.aug .list-group-item.active { background: var(--aug-brand-tint); border-color: var(--aug-line); color: var(--aug-brand); }
body.aug .avatar { background: var(--aug-brand-tint); color: var(--aug-brand); }

/* ---------- Listes pleine largeur ---------- */

.aug-bleed { margin: 0 -40px; }
body.aug .aug-bleed .table th:first-child, body.aug .aug-bleed .table td:first-child { padding-left: 40px; }
body.aug .aug-bleed .table th:last-child, body.aug .aug-bleed .table td:last-child { padding-right: 32px; }
body.aug .aug-bleed .aug-dt-foot { padding: 16px 40px; }
body.aug .aug-bleed .dataTables_empty { padding: 48px 40px; }
body.aug .aug-doc { display: flex; flex-direction: column; min-width: 240px; max-width: 640px; color: var(--aug-ink); font-weight: 500; text-decoration: none; }
body.aug .aug-doc__ref { color: var(--aug-ink); font-weight: 700; }
body.aug .aug-doc__rev { color: var(--aug-muted); font-weight: 500; }
body.aug .aug-doc__title { color: var(--aug-muted); font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
body.aug a.aug-doc:hover { text-decoration: none; }
body.aug a.aug-doc:hover .aug-doc__ref { color: var(--aug-brand); text-decoration: underline; text-underline-offset: 3px; }
body.aug .table td.aug-nowrap { white-space: nowrap; font-variant-numeric: tabular-nums; }
body.aug .table td.aug-cell-actions { width: 56px; text-align: right; white-space: nowrap; }
body.aug .aug-row-menu .dropdown-menu { min-width: 200px; }
body.aug .dropdown-item.aug-danger { color: var(--aug-ko); }
body.aug .dropdown-item.aug-danger:hover { background: var(--aug-ko-tint); color: var(--aug-ko); }
body.aug .dropdown-item .aug-ph { color: var(--aug-muted); }
body.aug .dropdown-item.aug-danger .aug-ph { color: var(--aug-ko); }

body.aug .aug-progress--cell { gap: 8px; min-width: 144px; }
body.aug .aug-progress--cell .progress { flex: none; width: 96px; height: 6px; margin: 0; }
.aug-progress__value { font-weight: 600; color: var(--aug-ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.aug-toolbar--more { padding-top: 0; }
body.aug .aug-toolbar .select2-container { width: auto !important; min-width: 144px; max-width: 240px; }
body.aug .aug-toolbar .select2-container--default .select2-selection--single { border-color: var(--aug-line); }
body.aug .aug-toolbar .select2-container--default .select2-selection--single .select2-selection__rendered { font-weight: 600; color: var(--aug-ink-2); }
body.aug .aug-toolbar .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--aug-ink-2); }
body.aug .badge[data-etat] { gap: 8px; padding: 0; border-radius: 0; background: transparent !important; color: var(--aug-ink-2) !important; font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; }
body.aug .badge[data-etat]::before { content: ""; width: 16px; height: 16px; flex: none; background: var(--aug-accent-strong); -webkit-mask: var(--aug-i-half) center / 16px no-repeat; mask: var(--aug-i-half) center / 16px no-repeat; }
body.aug .badge[data-etat="terminee"]::before { background: var(--aug-ok); -webkit-mask-image: var(--aug-i-okline); mask-image: var(--aug-i-okline); }
body.aug .badge[data-etat="cloturee"]::before { background: var(--aug-ok); -webkit-mask-image: var(--aug-i-ok); mask-image: var(--aug-i-ok); }

body.aug .aug-flush > .card-header { padding: 0 40px 16px; border-bottom: 0; }
body.aug .aug-flush .table th:first-child, body.aug .aug-flush .table td:first-child { padding-left: 40px; }
body.aug .aug-flush .table th:last-child, body.aug .aug-flush .table td:last-child { padding-right: 32px; }
body.aug .aug-flush .aug-dt-foot { padding: 16px 40px; }
body.aug .aug-flush .aug-toolbar { padding: 16px 0; }
body.aug .aug-body > #advanced-search-datatable > .row { margin-left: 0; margin-right: 0; }
body.aug .aug-body > #advanced-search-datatable > .row > .col-12 { padding-left: 0; padding-right: 0; }
body.aug .aug-flush > .aug-toolbar { padding: 16px 40px; }
.aug-toolbar__group { display: contents; }
.aug-settings { border-top: 1px solid var(--aug-line); }
.aug-setting { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 24px 0; border-bottom: 1px solid var(--aug-line); }
body.aug .aug-setting__title { margin: 0; font-size: 16px; line-height: 24px; font-weight: 700; }
.aug-setting__text { margin: 4px 0 0; max-width: 560px; color: var(--aug-muted); text-wrap: pretty; }
.aug-setting__value { margin: 0; padding: 8px 12px; border: 1px solid var(--aug-line); border-radius: var(--aug-r-lg); background: var(--aug-surface-2); color: var(--aug-ink); font-weight: 700; white-space: nowrap; }

/* Blocs de filtres des listes d'administration : libelles courts au-dessus, sur une ligne */
body.aug .aug-filters { padding: 16px 40px 8px; }
body.aug .aug-filters .dt_adv_search > .row, body.aug .aug-filters > .row { margin: 0; }
body.aug .aug-filters .col-12 { padding: 0; }
body.aug .aug-filters .form-row { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 8px; }
body.aug .aug-filters .form-row > [class*="col"] { flex: 0 1 200px; max-width: 240px; padding: 0; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--aug-muted); }
body.aug .aug-filters .form-row > [class*="col"] .form-control, body.aug .aug-filters .form-row > [class*="col"] .select2-container { margin-top: 4px; font-size: 14px; font-weight: 500; }
body.aug .aug-filters .text-right { display: flex; justify-content: flex-end; gap: 16px; margin: 0 !important; }
body.aug .aug-filters .btn-outline-primary.btn-sm, body.aug .aug-filters #reset-filters { padding: 0; border: 0 !important; background: none !important; color: var(--aug-brand) !important; font-size: 14px; line-height: 20px; font-weight: 700; }
body.aug .aug-filters .form-label-group > label { display: none; }
body.aug .aug-flush > hr.my-0 { display: none; }

.aug-req { margin-left: 2px; color: var(--aug-ko); font-weight: 700; }
body.aug label em, body.aug label i:not([data-feather]), body.aug .form-text em { font-style: normal; font-weight: 500; color: var(--aug-muted); }
body.aug .nav-tabs.nav-fill .nav-item, body.aug .nav-tabs.nav-fill > .nav-link { flex: 0 0 auto; text-align: left; }
body.aug .nav-tabs .nav-item { margin: 0; }
body.aug .card .card-body > h4:first-child, body.aug .card .card-body > h3:first-child { margin-bottom: 16px; font-size: 16px; line-height: 24px; }

/* ---------- Fiches : document a gauche, proprietes a droite ---------- */

.aug-detail { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.aug-detail__main { min-width: 0; }
.aug-detail__aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.aug-section + .aug-section { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--aug-line-soft); }
.aug-section__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
body.aug .aug-section__head h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; }
.aug-section__head .aug-actions { justify-content: flex-start; }
.aug-count { padding: 0 8px; border-radius: 9999px; background: var(--aug-paper); color: var(--aug-muted); font-size: 12px; line-height: 20px; font-weight: 700; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.aug-prose { max-width: 720px; font-size: 16px; line-height: 24px; color: var(--aug-ink-2); text-wrap: pretty; }
.aug-prose > * + * { margin-top: 16px; }
.aug-prose p { margin: 0; }
.aug-prose p:empty, .aug-prose p:has(> br:only-child) { display: none; }
.aug-prose p + p { margin-top: 12px; }
body.aug .aug-prose h3 { margin: 24px 0 8px; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--aug-ink); }
.aug-prose ul, .aug-prose ol { margin: 8px 0 0; padding-left: 24px; }
.aug-prose li + li { margin-top: 8px; }
body.aug .aug-link-out { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
body.aug .aug-link-out:hover { text-decoration: underline; text-underline-offset: 3px; }
.aug-empty { margin: 0; color: var(--aug-muted); text-wrap: pretty; }
body.aug .aug-empty a { font-weight: 700; }
.aug-subhead { margin: 24px 0 8px; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--aug-muted); }
.aug-section__head + .aug-subhead { margin-top: 0; }
.aug-flash { margin-bottom: 24px; }

.aug-box { border: 1px solid var(--aug-line); border-radius: var(--aug-r-xl); overflow: hidden; background: var(--aug-surface); }
.aug-row + .aug-row { border-top: 1px solid var(--aug-line-soft); }
.aug-row__head { display: flex; align-items: center; gap: 16px; padding: 12px 16px; cursor: pointer; transition: background-color 200ms var(--aug-ease); }
.aug-row__head:hover { background: var(--aug-surface-2); }
.aug-row__title { flex: 1; min-width: 0; color: var(--aug-ink); font-weight: 700; }
body.aug .aug-row__chevron { color: var(--aug-muted); transition: transform 200ms var(--aug-ease); }
.aug-row__head:not(.collapsed) .aug-row__chevron { transform: rotate(180deg); }
.aug-row__body { padding: 0 16px 16px; }
.aug-row__body .aug-prose { font-size: 14px; line-height: 20px; }
.aug-row__meta { margin: 12px 0 0; color: var(--aug-muted); }
.aug-row__actions { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; }
body.aug .aug-link { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: var(--aug-brand); font-size: 14px; line-height: 20px; font-weight: 700; cursor: pointer; }
body.aug .aug-link:hover { text-decoration: underline; text-underline-offset: 3px; }
body.aug .aug-link--danger { color: var(--aug-ko); }

.aug-list { margin: 0; padding: 0; list-style: none; }
.aug-list > li { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; }
.aug-list > li + li { border-top: 1px solid var(--aug-line-soft); }
.aug-list__icon { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: var(--aug-r-lg); background: var(--aug-paper); color: var(--aug-ink-2); }
.aug-list__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
body.aug .aug-list__body a, .aug-list__body strong { color: var(--aug-ink); font-weight: 700; }
body.aug .aug-list__body > a:hover { color: var(--aug-brand); text-decoration: underline; text-underline-offset: 3px; }
.aug-list__body > span { color: var(--aug-muted); font-size: 12px; line-height: 16px; }
.aug-list__links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 4px; }
body.aug .aug-list__links a { display: inline-flex; align-items: center; gap: 6px; color: var(--aug-brand); font-size: 14px; line-height: 20px; }

.aug-card { padding: 16px; border: 1px solid var(--aug-line); border-radius: var(--aug-r-xl); background: var(--aug-surface-2); }
body.aug .aug-card__title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 12px; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--aug-ink); letter-spacing: 0; }
body.aug .aug-card__title a { font-size: 12px; line-height: 16px; font-weight: 700; }
.aug-card__text { margin: 8px 0 0; color: var(--aug-muted); font-size: 12px; line-height: 16px; }
.aug-field + .aug-field { margin-top: 16px; }
body.aug .aug-field__label { display: block; margin-bottom: 8px; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--aug-ink-2); }
.aug-field__value { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--aug-line-strong); border-radius: var(--aug-r-lg); background: var(--aug-surface); }
.aug-field__value .aug-link { font-size: 12px; line-height: 16px; }
.aug-progress { display: flex; align-items: center; gap: 12px; }
.aug-progress .progress { flex: 1; }
.aug-progress > span { font-weight: 700; color: var(--aug-ink); font-variant-numeric: tabular-nums; }
.aug-props { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 8px 12px; margin: 0; }
.aug-props dt { color: var(--aug-muted); font-weight: 500; }
.aug-props dd { margin: 0; color: var(--aug-ink); font-weight: 600; overflow-wrap: anywhere; }
.aug-ics { margin: 0; padding: 0; list-style: none; }
.aug-ics li + li { margin-top: 4px; }
.aug-famille + .aug-famille { margin-top: 16px; }
.aug-famille__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.aug-famille__name { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--aug-ink); }
.aug-swatch { width: 12px; height: 12px; border-radius: 4px; flex: none; }
.aug-famille__tools { display: inline-flex; gap: 12px; }
body.aug .aug-famille__tools .aug-link { font-size: 12px; line-height: 16px; }
.aug-famille .custom-control { margin-bottom: 4px; }
.aug-card form > .btn { margin-top: 16px; }
.aug-state { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; font-weight: 700; }
.aug-state--ko { color: var(--aug-ko); }
body.aug .btn.aug-quiet { border-color: transparent !important; background: transparent !important; color: var(--aug-ink-2) !important; }
body.aug .btn.aug-quiet:hover { background: var(--aug-surface-2) !important; color: var(--aug-ink) !important; }
.aug-reviews { margin: 0; padding: 0; list-style: none; max-width: 720px; }
.aug-reviews li + li { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--aug-line-soft); }
.aug-reviews__who { margin: 0 0 8px; color: var(--aug-muted); }

.aug-props--wide { grid-template-columns: 176px minmax(0, 1fr); gap: 16px 24px; max-width: 720px; }
.aug-props--wide dd { font-weight: 500; color: var(--aug-ink-2); }
.aug-slider { max-width: 560px; margin: 40px 0 16px; }
.aug-switch { display: flex; align-items: center; gap: 16px; }
.aug-card__lead { margin: 0; color: var(--aug-ink); }
.aug-card__block { margin-top: 12px; }
.aug-card .aug-row__actions { margin-top: 12px; }
.aug-card .aug-field__value + .aug-card__text { margin-top: 12px; }
body.aug .custom-switch { padding-left: 52px; min-height: 24px; }
body.aug .custom-switch .custom-control-label { padding-left: 0; line-height: 24px; font-weight: 600; color: var(--aug-ink-2); }
body.aug .custom-switch .custom-control-label::before { left: -52px; top: 2px; width: 40px; height: 20px; border-radius: 9999px; border: 1px solid var(--aug-line-strong); background: var(--aug-line); }
body.aug .custom-switch .custom-control-label::after { left: -50px; top: 4px; width: 16px; height: 16px; border-radius: 9999px; background: #fff; box-shadow: 0 1px 2px rgba(21, 23, 43, 0.2); transform: none; transition: transform 200ms var(--aug-ease); }
body.aug .custom-switch .custom-control-input:checked ~ .custom-control-label::after { transform: translateX(20px); background: #fff; }
body.aug .custom-switch .switch-icon-left, body.aug .custom-switch .switch-icon-right { display: none; }
body.aug .badge[data-statut], body.aug .badge[data-etat] { gap: 0; }
body.aug .badge[data-statut]::before, body.aug .badge[data-etat]::before { display: inline-block; vertical-align: -3px; margin-right: 8px; }
body.aug h5.aug-row__title { margin: 0; font-size: 14px; line-height: 20px; }

/* ---------- Tableau de bord ---------- */

.aug-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--aug-line); border-bottom: 1px solid var(--aug-line); }
.aug-summary__item { display: flex; flex-direction: column; padding: 32px 32px 32px 0; }
.aug-summary__item + .aug-summary__item { padding-left: 32px; border-left: 1px solid var(--aug-line); }
body.aug .aug-summary__label { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--aug-muted); letter-spacing: 0; }
.aug-summary__value { margin: 12px 0 0; font-size: 48px; line-height: 1; font-weight: 700; letter-spacing: -0.03em; color: var(--aug-brand); font-variant-numeric: tabular-nums; }
.aug-summary__value span { font-size: 18px; line-height: 28px; font-weight: 600; letter-spacing: 0; color: var(--aug-muted); }
.aug-summary__progress { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.aug-summary__progress .progress { flex: 1; }
.aug-summary__progress span { font-weight: 700; color: var(--aug-ink); font-variant-numeric: tabular-nums; }
.aug-summary__text { flex: 1; margin: 16px 0 0; color: var(--aug-ink-2); text-wrap: pretty; }
body.aug .aug-summary__link { display: inline-flex; align-items: center; gap: 4px; margin-top: 24px; font-weight: 700; }
body.aug .aug-summary__link:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Accent orange (#20) : veille active et chiffre des recommandations */
.aug-meta__item--veille { color: var(--aug-accent-ink); font-weight: 700; }
.aug-meta__item--veille .aug-ph { color: var(--aug-accent-strong); }
.aug-summary__value--accent { color: var(--aug-accent-strong); }
.aug-summary--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.aug-summary--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aug-summary__split { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 16px 0 0; }
.aug-summary__split div { display: flex; gap: 6px; }
.aug-summary__split dt { font-weight: 600; color: var(--aug-ink-2); }
.aug-summary__split dd { margin: 0; font-weight: 700; color: var(--aug-ink); font-variant-numeric: tabular-nums; }

/* ---------- Evaluation des referentiels suivis, en barres (#37, remplace la mosaique de #22) ---------- */

.aug-eval { margin-top: 40px; }
body.aug .aug-eval h2 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; }
.aug-eval__hint { margin: 8px 0 20px; color: var(--aug-muted); }
body.aug .aug-eval__row { display: grid; grid-template-columns: 180px minmax(0, 1fr) 96px; align-items: center; gap: 16px; padding: 8px 12px; margin: 0 -12px; border-radius: 10px; color: var(--aug-ink-2); font-weight: 600; }
body.aug a.aug-eval__row:hover { background: var(--aug-line-soft); text-decoration: none; }
body.aug a.aug-eval__row:focus-visible { outline: 3px solid var(--aug-brand); outline-offset: 0; }
.aug-eval__label { display: inline-flex; align-items: center; gap: 10px; }
.aug-eval__count { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.aug-eval__count strong { color: var(--aug-ink); }
.aug-eval__count span { margin-left: 6px; color: var(--aug-muted); font-weight: 500; }
span.aug-eval__row .aug-eval__count strong { color: var(--aug-muted); }
/* Camembert (#37) : parts separees par un filet de 2 px couleur du fond, legende a droite */
.aug-pie { display: flex; align-items: center; gap: 56px; max-width: 880px; }
.aug-pie__zone { position: relative; flex: none; }
.aug-pie__graph { display: block; width: 208px; height: 208px; overflow: visible; }
.aug-pie__part { stroke: var(--aug-surface); stroke-width: 2; stroke-linejoin: round; transition: opacity 150ms var(--aug-ease), transform 150ms var(--aug-ease); transform-origin: 100px 100px; }
.aug-pie__part--ko { fill: var(--aug-ko); }
.aug-pie__part--progress { fill: var(--aug-accent); }
.aug-pie__part--none { fill: var(--aug-na); }
.aug-pie__part--ok { fill: var(--aug-ok); }
.aug-pie__part--na { fill: var(--aug-line-strong); }
.aug-pie.is-survol .aug-pie__part { opacity: 0.3; }
.aug-pie.is-survol .aug-pie__part.is-actif { opacity: 1; transform: scale(1.03); }
.aug-pie.is-survol .aug-pie__row.is-actif { background: var(--aug-line-soft); }
.aug-pie__legend { flex: 1 1 auto; max-width: 420px; margin: 0; padding: 0; list-style: none; }
body.aug .aug-pie__row { grid-template-columns: minmax(0, 1fr) auto; }
.aug-pie__key { flex: none; width: 12px; height: 12px; border-radius: 50%; }
.aug-pie__key.aug-pie__part--ko { background: var(--aug-ko); }
.aug-pie__key.aug-pie__part--progress { background: var(--aug-accent); }
.aug-pie__key.aug-pie__part--none { background: var(--aug-na); }
.aug-pie__key.aug-pie__part--ok { background: var(--aug-ok); }
.aug-pie__key.aug-pie__part--na { background: var(--aug-line-strong); }
.aug-pie__tip { position: absolute; z-index: 5; min-width: 150px; padding: 8px 12px; border: 1px solid var(--aug-line); border-radius: 10px; background: var(--aug-surface); box-shadow: 0 8px 24px rgba(21, 23, 43, 0.12); pointer-events: none; white-space: nowrap; }
.aug-pie__tip strong { display: block; color: var(--aug-ink); font-size: 18px; line-height: 24px; font-variant-numeric: tabular-nums; }
.aug-pie__tip span { color: var(--aug-muted); }

body.aug .aug-tile { position: relative; display: block; width: 36px; height: 36px; border-radius: 8px; background: var(--aug-paper); box-shadow: inset 0 0 0 1px var(--aug-line); transition: transform 200ms var(--aug-ease), box-shadow 200ms var(--aug-ease); }
body.aug .aug-tile::before { content: ""; position: absolute; inset: 9px; background: var(--aug-na); -webkit-mask: var(--aug-i-none) center / contain no-repeat; mask: var(--aug-i-none) center / contain no-repeat; }
body.aug .aug-tile--ok { background: var(--aug-ok); box-shadow: none; }
body.aug .aug-tile--ok::before { background: #fff; -webkit-mask-image: var(--aug-i-ok); mask-image: var(--aug-i-ok); }
body.aug .aug-tile--ko { background: var(--aug-ko); box-shadow: none; }
body.aug .aug-tile--ko::before { background: #fff; -webkit-mask-image: var(--aug-i-ko); mask-image: var(--aug-i-ko); }
body.aug .aug-tile--progress { background: var(--aug-accent); box-shadow: none; }
body.aug .aug-tile--progress::before { background: var(--aug-ink); -webkit-mask-image: var(--aug-i-half); mask-image: var(--aug-i-half); }
body.aug .aug-tile--na { background: #ebeae4; }
body.aug .aug-tile--na::before { -webkit-mask-image: var(--aug-i-na); mask-image: var(--aug-i-na); }
body.aug .aug-tile--key { width: 20px; height: 20px; border-radius: 6px; }
body.aug .aug-tile--key::before { inset: 4px; }

/* Etats de depart des animations, poses seulement quand le script tourne ; filet de securite si le script echoue */
@keyframes aug-failsafe { to { opacity: 1; } }
.aug-js .aug-dash .aug-anime, .aug-js .aug-banner .aug-anime { opacity: 0; animation: aug-failsafe 0s 3s forwards; }
.aug-anim-fin .aug-dash .aug-anime, .aug-anim-fin .aug-banner .aug-anime { opacity: 1; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .aug-js .aug-dash .aug-anime, .aug-js .aug-banner .aug-anime { opacity: 1; animation: none; }
}

/* Bandeau du tableau de bord (#24) : meme voile que le panneau video de la connexion */
.aug-banner { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; height: 200px; margin: 24px 40px 0; padding: 28px 32px; border-radius: 16px; overflow: hidden; background: #1c2160; }
.aug-banner__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.aug-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(28, 33, 96, 0.7); }
body.aug .aug-banner h1 { margin: 0; font-size: 36px; line-height: 40px; letter-spacing: -0.02em; color: #fff; text-wrap: balance; }
.aug-banner p { margin: 8px 0 0; font-size: 16px; line-height: 24px; font-weight: 600; color: rgba(255, 255, 255, 0.88); text-wrap: pretty; }
.aug-banner + .aug-body { padding-top: 24px; }

/* ---------- Connexion et mots de passe ---------- */

body.aug-auth { background: var(--aug-paper); }
.aug-login { min-height: 100vh; display: flex; flex-direction: column; padding: 32px 40px; }
.aug-login__logo img { width: 150px; height: auto; }
.aug-login__body { flex: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: stretch; width: 100%; max-width: 1120px; margin: 0 auto; padding: 48px 0; }
/* Panneau video (#24) : video de Preiso sous un voile bleu nuit ; le texte blanc y garde 4,6:1 au pire endroit */
.aug-login__media { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(480px, calc(100vh - 240px), 660px); padding: 48px; border-radius: 24px; overflow: hidden; background: #1c2160; }
.aug-login__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.aug-login__media::after { content: ""; position: absolute; inset: 0; background: rgba(28, 33, 96, 0.72); }
.aug-login__media > p { position: relative; z-index: 1; }
.aug-login__pause { position: absolute; top: 20px; right: 20px; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 9999px; background: rgba(255, 255, 255, 0.18); color: #fff; cursor: pointer; transition: background-color 200ms var(--aug-ease); }
.aug-login__pause[hidden] { display: none; }
.aug-login__pause:hover { background: rgba(255, 255, 255, 0.3); }
.aug-login__pause:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.aug-login__pause .aug-icon { width: 16px; height: 16px; }
.aug-login__claim { margin: 0; max-width: 560px; font-size: 48px; line-height: 1; font-weight: 700; letter-spacing: -0.03em; color: #fff; text-wrap: balance; }
.aug-login__claim .aug-line { display: block; overflow: hidden; padding-bottom: 0.14em; margin-bottom: -0.14em; }
.aug-login__claim .aug-line > span { display: inline-block; }
.aug-login__claim .aug-dot { display: inline-block; color: var(--aug-accent); transform-origin: 50% 80%; }
/* Etats de depart des animations, poses seulement quand le script tourne ; filet de securite a 3 s */
.aug-js .aug-login .aug-anime, .aug-js .aug-login .aug-line > span, .aug-js .aug-login .aug-dot { opacity: 0; animation: aug-failsafe 0s 3s forwards; }
.aug-anim-fin .aug-login .aug-anime, .aug-anim-fin .aug-login .aug-line > span, .aug-anim-fin .aug-login .aug-dot { opacity: 1; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .aug-js .aug-login .aug-anime, .aug-js .aug-login .aug-line > span, .aug-js .aug-login .aug-dot { opacity: 1; animation: none; }
}
.aug-login__lead { max-width: 480px; margin: 24px 0 0; font-size: 18px; line-height: 28px; color: rgba(255, 255, 255, 0.88); text-wrap: pretty; }
.aug-login__card { align-self: center; padding: 40px; border: 1px solid var(--aug-line); border-radius: var(--aug-r-2xl); background: var(--aug-surface); box-shadow: 0 1px 2px rgba(21, 23, 43, 0.04), 0 24px 48px rgba(21, 23, 43, 0.06); }
body.aug .aug-login__card h1 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: -0.02em; }
.aug-login__sub { margin: 8px 0 0; color: var(--aug-muted); text-wrap: pretty; }
.aug-login__card .alert { margin: 24px 0 0; }
.aug-login__form { margin-top: 32px; }
.aug-login__form .btn { margin-top: 24px; }
.aug-field-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.aug-field-row a { font-size: 12px; line-height: 16px; font-weight: 700; }
.aug-login__help { margin: 24px 0 0; padding-top: 24px; border-top: 1px solid var(--aug-line-soft); color: var(--aug-muted); text-wrap: pretty; }
.aug-back { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.aug-login__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; color: var(--aug-muted); font-size: 12px; line-height: 16px; }
.aug-login__by { display: inline-flex; align-items: center; gap: 8px; }
.aug-login__by img { height: 32px; width: auto; }

/* ---------- Visite guidee (#49), Shepherd.js 8.1.0 du gabarit ---------- */

body.aug .shepherd-modal-overlay-container path { fill: var(--aug-ink); }
body.aug .shepherd-element { max-width: min(360px, calc(100vw - 32px)); border-radius: var(--aug-r-xl); box-shadow: var(--aug-shadow-pop); }
body.aug .shepherd-element:focus-visible, body.aug .shepherd-content:focus-visible { outline: none; }
body.aug .shepherd-content { border-radius: var(--aug-r-xl); }
body.aug .shepherd-has-title .shepherd-content .shepherd-header { padding: 20px 20px 0; background: none; }
body.aug .shepherd-title { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--aug-ink); }
body.aug .shepherd-has-title .shepherd-cancel-icon { width: 32px; height: 32px; margin: -4px -8px 0 0; border-radius: var(--aug-r-md); color: var(--aug-muted); font-size: 24px; line-height: 32px; }
body.aug .shepherd-has-title .shepherd-cancel-icon:hover { background: var(--aug-paper); color: var(--aug-ink); }
body.aug .shepherd-text { padding: 8px 20px 0; color: var(--aug-ink-2); font-size: 14px; line-height: 22px; text-wrap: pretty; }
body.aug .shepherd-footer { gap: 8px; padding: 20px; }
body.aug .shepherd-button { margin: 0; padding: 8px 12px; border: 1px solid var(--aug-brand); border-radius: var(--aug-r-lg); background: var(--aug-brand); color: #fff; font-size: 14px; line-height: 20px; font-weight: 600; transition: background-color 200ms var(--aug-ease), border-color 200ms var(--aug-ease); }
body.aug .shepherd-button:not(:disabled):hover { border-color: var(--aug-brand-hover); background: var(--aug-brand-hover); color: #fff; }
body.aug .shepherd-button.shepherd-button-secondary { border-color: var(--aug-line-strong); background: var(--aug-surface); color: var(--aug-ink); }
body.aug .shepherd-button.shepherd-button-secondary:not(:disabled):hover { border-color: var(--aug-line-strong); background: var(--aug-paper); color: var(--aug-ink); }
body.aug .shepherd-has-title[data-popper-placement^=bottom] > .shepherd-arrow::before { background: var(--aug-surface); }
/* Ligne d'exemple ajoutee a une liste vide le temps de la visite */
body.aug tr.aug-exemple > td { background: var(--aug-accent-tint); }
body.aug .aug-exemple__badge { display: table; margin: 0 0 4px; padding: 0 6px; border-radius: var(--aug-r-md); background: var(--aug-accent-ink); color: #fff; font-size: 11px; line-height: 18px; font-weight: 700; }

/* ---------- Ecrans etroits ---------- */

@media (max-width: 1180px) {
  .aug-detail { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .aug-detail__aside { position: static; order: -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

/* Entre 1024 et 1180 px, le menu lateral reste affiche : une colonne secondaire par tableau cede sa place */
@media (min-width: 1024px) and (max-width: 1180px) {
  body.aug table.dataTable .aug-lg { display: none; }
  body.aug .aug-doc { min-width: 200px; }
}

@media (max-width: 1023px) {
  .aug-app { grid-template-columns: minmax(0, 1fr); }
  .aug-topbar { position: sticky; top: 0; z-index: 1030; display: flex; align-items: center; gap: 12px; padding: 8px 16px; background: var(--aug-paper); border-bottom: 1px solid var(--aug-line); }
  body.aug .aug-topbar .aug-icon-btn { width: 44px; height: 44px; color: var(--aug-ink); }
  .aug-topbar .aug-icon { width: 20px; height: 20px; }
  .aug-topbar__logo img { width: 150px; height: auto; }
  .aug-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1041; width: 288px; background: var(--aug-paper); transform: translateX(-100%); visibility: hidden; transition: transform 300ms var(--aug-ease), visibility 0s linear 300ms; }
  .aug-menu-open .aug-sidebar { transform: none; visibility: visible; box-shadow: 0 24px 48px rgba(21, 23, 43, 0.16); transition: transform 300ms var(--aug-ease), visibility 0s; }
  .aug-menu-open .aug-overlay { display: block; position: fixed; inset: 0; z-index: 1040; background: rgba(21, 23, 43, 0.32); }
  body.aug .aug-nav__item { padding: 12px 8px; }
  .aug-main { padding: 0; }
  .aug-panel { min-height: 0; border: 0; border-radius: 0; box-shadow: none; }
  .aug-head { padding: 24px 16px 16px; }
  .aug-banner { height: auto; min-height: 160px; margin: 16px 16px 0; padding: 20px; border-radius: 12px; }
  body.aug .aug-banner h1 { font-size: 30px; line-height: 36px; }
  .aug-banner + .aug-body { padding-top: 16px; }
  body.aug .aug-head h1, body.aug .aug-page-title { font-size: 24px; line-height: 32px; }
  .aug-subtitle { font-size: 16px; line-height: 24px; }
  .aug-title-row { flex-direction: column; gap: 16px; }
  .aug-actions { width: 100%; justify-content: flex-start; }
  .aug-actions > .btn, .aug-actions > a { flex: 1 1 auto; }
  .aug-body { padding: 0 16px 40px; }
  body.aug .aug-flush { margin: 0 -16px; }
  body.aug .aug-flush > .card-body { padding: 0 16px; }
  .aug-tabs { margin: 0 -16px; padding: 0 16px; }
  .aug-bleed { margin: 0 -16px; }
  body.aug .aug-flush > .card-header, body.aug .aug-flush > .card-body { padding-left: 16px; padding-right: 16px; }
  body.aug .aug-flush .table th:first-child, body.aug .aug-flush .table td:first-child { padding-left: 16px; }
  body.aug .aug-flush .table th:last-child, body.aug .aug-flush .table td:last-child { padding-right: 8px; }
  body.aug .aug-flush .aug-dt-foot { padding: 16px; }
  body.aug .aug-flush > .aug-toolbar { padding: 16px; }
  body.aug .aug-filters { padding: 16px 16px 8px; }
  body.aug .aug-filters .form-row > [class*="col"] { flex: 1 1 140px; max-width: none; }
  .aug-setting { flex-direction: column; gap: 12px; }
  .aug-summary { grid-template-columns: minmax(0, 1fr); }
  body.aug .aug-eval__row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
  .aug-pie { flex-direction: column; align-items: stretch; gap: 24px; }
  .aug-pie__zone { align-self: center; }
  .aug-pie__graph { width: 176px; height: 176px; }
  .aug-pie__legend { max-width: none; }
  .aug-detail__aside { grid-template-columns: minmax(0, 1fr); }
  .aug-summary__item, .aug-summary__item + .aug-summary__item { padding: 24px 0; border-left: 0; }
  .aug-summary__item + .aug-summary__item { border-top: 1px solid var(--aug-line); }
  body.aug .aug-bleed .table th:first-child, body.aug .aug-bleed .table td:first-child { padding-left: 16px; }
  body.aug .aug-bleed .table th:last-child, body.aug .aug-bleed .table td:last-child { padding-right: 8px; }
  body.aug .aug-bleed .aug-dt-foot { padding: 16px; }
  body.aug .aug-doc { min-width: 0; }
  .aug-toolbar .aug-search { flex: 1 1 100%; }
  body.aug .card-body { padding: 16px; }
  body.aug .card-header { padding: 12px 16px; }
  .aug-dt-foot { flex-direction: column; align-items: stretch; }
  body.aug .aug-dt-foot > [class*="col"]:last-child { justify-content: space-between; }
  .aug-login { padding: 24px 16px; }
  .aug-login__body { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 32px 0; }
  .aug-login__claim { font-size: 30px; line-height: 36px; }
  .aug-login__lead { display: none; }
  .aug-login__media { min-height: 200px; padding: 24px; border-radius: 16px; }
  .aug-login__card { padding: 24px; }
}

@media (max-width: 719px) {
  body.aug table.dataTable .aug-md { display: none; }
  body.aug table.dataTable .badge[data-statut], body.aug table.dataTable .badge[data-etat] { font-size: 0; }
  body.aug table.dataTable .badge[data-statut]::before, body.aug table.dataTable .badge[data-etat]::before { width: 20px; height: 20px; margin-right: 0; -webkit-mask-size: 20px; mask-size: 20px; }
  .aug-actions > .btn, .aug-actions > a { flex-basis: 100%; }
  body.aug .modal-dialog { margin: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  body.aug *, body.aug *::before, body.aug *::after { transition: none !important; }
}
