/* =========================================================
   VEMD : couleurs de marque appliquées au thème Merrin.
   Chargé après admin.css (config/admin.php, clé 'css').
   Vert du logo : #28BA9C. Trop clair pour du texte sur fond blanc (2,4:1),
   il est donc foncé pour les boutons et les liens (#177A66 : 5,2:1 sur blanc)
   et gardé lumineux en thème sombre (#3CC9AA : 8,6:1 sur le fond).
   ========================================================= */
:root{
  --primary:light-dark(#177A66,#3CC9AA);
  --primary-hover:light-dark(#146B59,#5FD6BB);
  --primary-ink:light-dark(#FFFFFF,#0D1F1B);
  --primary-soft:light-dark(#DDF1EB,#12261F);
  --primary-text:light-dark(#146B59,#5FD6BB);

  --brand:#28BA9C;

  --c1:light-dark(#1F8F78,#3CC9AA);
  --chart-line:var(--c1);
  --chart-fill:var(--c1);
  --chart-muted:light-dark(#BFDDD5,#244038);

  --av1-bg:light-dark(#D6EEE7,#16302A);--av1-fg:light-dark(#146B59,#5FD6BB);
  --tile-1:light-dark(#D6EEE7,#16302A);
  --stage-on:light-dark(#177A66,#2FA88E);

  --shadow-btn:0 1px 2px light-dark(rgba(23,24,28,.12),rgba(0,0,0,.3)),0 8px 18px -10px light-dark(rgba(23,122,102,.7),rgba(60,201,170,.35));
  --ring:0 0 0 3px light-dark(rgba(23,122,102,.2),rgba(60,201,170,.26));
}

/* Logo de la barre latérale : image carrée, sans le fond de l'icône par défaut */
.sidebar .brand .logo img,.auth .brand .logo img{width:100%;height:100%;object-fit:contain}
.sidebar .brand .logo:has(img),.auth .brand .logo:has(img){background:none;box-shadow:none;color:inherit}

/* Cases à cocher multiples (FormHelper 'multiple' => 'checkbox') sur plusieurs colonnes */
.check-cols>.field{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 16px}
.check-cols>.field>.hint:empty{display:none}

/* ---------- En-tête de page : titre plus affirmé, bouton retour franc ---------- */
.topbar h1{font-weight:700;color:var(--ink);letter-spacing:-.03em}
.btn.btn-back{height:36px;padding:0 14px 0 10px;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink);
  background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;box-shadow:var(--shadow-1)}
.btn.btn-back:hover{background:var(--surface-2);border-color:var(--input-line)}
.btn.btn-back .ico{color:var(--primary-text)}
.subbar .btn.sm.primary{height:36px;padding:0 16px;font-size:13.5px;font-weight:600;border-radius:999px}

/* ---------- Recherche globale en grande fenêtre centrée (webroot/js/vemd.js) ---------- */
.topbar .search input[readonly]{cursor:pointer}
dialog.mega-search{width:min(760px,calc(100vw - 32px));max-width:none;margin:11vh auto auto;padding:0;border:0;border-radius:24px;
  background:var(--surface);box-shadow:var(--shadow-2);overflow:hidden}
dialog.mega-search::backdrop{background:color-mix(in srgb,var(--ink) 38%,transparent);backdrop-filter:blur(3px)}
.search.mega{position:relative;width:100%}
.search.mega>.ico{left:22px;top:34px;width:20px;height:20px;color:var(--primary-text)}
.search.mega input{height:68px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;
  padding:0 96px 0 56px;font-size:19px;font-weight:500;color:var(--ink)}
.search.mega input:focus{box-shadow:none;border-color:var(--line)}
.search.mega input::-webkit-search-cancel-button{display:none}
.mega-esc{position:absolute;right:18px;top:20px;height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;
  background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}
.mega-esc:hover{color:var(--ink)}
.search.mega .results{position:static;width:auto;max-height:min(58vh,560px);border:0;border-radius:0;box-shadow:none;padding:10px 12px 12px}
.search.mega .results .r-group{padding:12px 12px 6px;font-size:11.5px;color:var(--primary-text)}
.search.mega .results a{padding:11px 12px;border-radius:12px;font-size:14.5px;font-weight:600}
.search.mega .results a .ico{width:18px;height:18px;color:var(--muted)}
.search.mega .results a .r-sub{font-weight:500;font-size:12.5px}
.search.mega .results .hl,.search.mega .results a:hover{background:var(--primary-soft)}
.search.mega .results .hl .ico{color:var(--primary-text)}
.search.mega .results .empty{padding:22px 12px;text-align:center;font-size:14px}
.mega-hint{display:flex;gap:18px;justify-content:flex-end;margin:0;padding:10px 18px;border-top:1px solid var(--line);
  background:var(--surface-2);color:var(--muted);font-size:12px}
.mega-hint kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-right:4px;padding:0 5px;border:1px solid var(--line-strong);
  border-radius:6px;background:var(--surface);font:600 11px/1 var(--font);color:var(--ink-2)}
/* Le template réduit le champ de la barre du haut sur mobile : ces règles ne doivent pas toucher la fenêtre */
@media (max-width:1024px){
  .search.mega,.search.mega:focus-within{position:relative;inset:auto;flex:none;width:100%;z-index:auto}
  .search.mega input,.search.mega:focus-within input{width:100%;padding:0 84px 0 52px;color:var(--ink);cursor:text}
  .search.mega input::placeholder{color:var(--muted)}
}
@media (max-width:640px){
  dialog.mega-search{margin:0;width:100vw;height:100dvh;max-height:none;border-radius:0}
  .search.mega input{font-size:16px}
  .search.mega .results{max-height:none}
  .mega-hint{display:none}
}
.search.mega .results a .ref{margin-left:2px;font-weight:500}
.search.mega .results .hl .ref{background:var(--surface)}
/* Bénéficiaires archivés : même présentation, plus discrète */
.search.mega .results a:has(use[href$="#i-archive"]){color:var(--ink-2);font-weight:500}

/* ---------- Fiche ---------- */
.facts.one-col{grid-template-columns:minmax(0,1fr)}
table.data tr.is-current td{background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
table.data tr.is-current td:first-child{box-shadow:inset 3px 0 0 var(--primary)}
.hint.error{color:var(--bad);font-weight:600}
.banner .b-left{display:flex;align-items:center;gap:8px}
.page-head-sub{margin:0;color:var(--muted);font-size:14px}
@media (max-width:640px){.summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Fiche : identité (n° de dossier, liste) bien visible ---------- */
.id-strip{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.id-badge{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;
  padding:12px 18px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-card)}
.id-badge .k{grid-column:1/-1;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.id-badge .v{display:inline-flex;align-items:center;gap:8px;font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
.id-badge .v .ico{width:20px;height:20px;color:var(--primary-text)}
.id-badge.is-file{background:var(--primary);box-shadow:var(--shadow-btn)}
.id-badge.is-file .k{color:color-mix(in srgb,var(--primary-ink) 75%,transparent)}
.id-badge.is-file .v{color:var(--primary-ink);font-family:var(--mono);font-size:28px;letter-spacing:0}
.id-badge.is-file .icon-btn{color:var(--primary-ink)}
.id-badge.is-file .icon-btn:hover{background:color-mix(in srgb,var(--primary-ink) 16%,transparent)}
.id-badge.is-list{background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}
.id-badge.is-list .v{color:var(--primary-text)}
/* Code-barres : toujours noir sur blanc (lisible par une douchette, y compris en thème sombre) */
.id-badge.is-barcode .barcode{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:6px 20px 4px;border-radius:8px;background:#fff}
.id-badge.is-barcode .barcode svg{display:block;height:40px;width:auto}
.id-badge.is-barcode .barcode-txt{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1;color:#000}
.id-meta{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:4px 6px;color:var(--muted);font-size:13.5px}
.id-meta span{display:inline-flex;align-items:center;gap:6px}

/* ---------- Onglets sur fond (fiche) ---------- */
.tabs.tabs-solid{display:flex;width:max-content;max-width:100%;gap:4px;padding:5px;border:0;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-card)}
.tabs.tabs-solid .tab{margin:0;padding:9px 16px;border:0;border-radius:10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.tabs.tabs-solid .tab:hover{background:var(--surface-2);color:var(--ink)}
.tabs.tabs-solid .tab[aria-selected="true"]{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-btn)}
.tabs.tabs-solid .tab .count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);font-size:11.5px;line-height:20px;text-align:center}
.tabs.tabs-solid .tab[aria-selected="true"] .count{background:color-mix(in srgb,var(--primary-ink) 22%,transparent);color:var(--primary-ink)}
@media (max-width:640px){
  .id-badge{flex:1 1 calc(50% - 6px);padding:10px 14px}
  .id-badge .v{font-size:21px}
  .id-badge.is-file .v{font-size:22px}
  .id-meta{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:4px 14px;padding:0 2px}
  .tabs.tabs-solid{width:100%}
  .tabs.tabs-solid .tab{flex:1;justify-content:center;padding:9px 8px}
}

/* Connexion « en tant que » : bandeau en haut de toutes les pages */
.imp-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 16px;background:var(--warn-soft);color:var(--warn);font-size:13px;font-weight:500;border-bottom:1px solid color-mix(in srgb,var(--warn) 25%,transparent)}
.imp-banner .b-left{display:flex;align-items:center;gap:8px}
.imp-banner form{margin:0}

/* Favoris du menu latéral : étoile à droite du lien (au survol, ou toujours si favori) */
.nav-fav{position:relative}
.nav-fav .nav-item{padding-right:34px}
.nav-fav .fav-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .12s}
.nav-fav:hover .fav-btn,.nav-fav .fav-btn:focus-visible,.nav-fav.is-fav .fav-btn{opacity:1}
.nav-fav .fav-btn:hover{background:var(--surface-3);color:var(--ink)}
.nav-fav.is-fav .fav-btn{color:var(--warn)}
.nav-fav.is-fav .fav-btn svg{fill:currentColor}
.nav-fav .fav-btn:disabled{opacity:.4;cursor:wait}
:root[data-sidebar="collapsed"] .nav-fav .fav-btn{display:none}
:root[data-sidebar="collapsed"] .nav-fav .nav-item{padding-right:0}
@media (hover:none){.nav-fav .fav-btn{opacity:.6}}
.fav-order{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fav-order li{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.fav-order .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
