/* ================================================================
   NR Formation — refresh « shadcn » (aperçu)
   Reprend le système visuel de l'app Alliance Sécurité (shadcn/ui,
   style radix-nova) en gardant les couleurs NR. N'agit que si
   <html data-ui="next"> (?ui=next) : sans ça, aucune règle ne s'applique.
   Noms de variables proches de shadcn (background, card, muted, border,
   ring…) pour faciliter une future migration Next.js.
   ================================================================ */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");
  font-weight: 200 800; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("../fonts/plus-jakarta-sans-latin-ext.woff2") format("woff2");
  font-weight: 200 800; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Jetons : tailles (clair et sombre) ---------- */
:root[data-ui="next"] {
  --font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius:    22px;   /* cartes, fenêtres (rounded-xl) */
  --radius-sm: 14px;   /* tuiles, barres d'outils */
  --ctrl-h:    32px;   /* boutons et champs (h-8) */
  --ctrl-h-sm: 28px;   /* petits boutons (h-7) */
  --ctrl-r:    16px;   /* rounded-lg : pilule à 32 px */
  --ctrl-r-sm: 12px;
  --ctrl-minw: 0px;
}
/* ---------- Jetons : couleurs (clair) — bleu NR conservé ---------- */
:root[data-ui="next"]:not([data-theme="dark"]) {
  --bg:         #F5F6F9;   /* background */
  --card:       #FFFFFF;
  --ink:        #1D2333;   /* foreground */
  --ink-soft:   #4B5466;
  --muted:      #7B8494;   /* muted-foreground */
  --line:       #EDEFF3;   /* border */
  --btn-bg:     #EDEFF3;   /* muted / secondary */
  --brand-soft: #EEF1FF;   /* accent */
  --topbar-bg:  rgba(245, 246, 249, .86);
  --card-line:  rgba(29, 35, 51, .09);   /* ring-foreground/10 */
  --input-line: #E2E5EB;
  --focus-ring: rgba(59, 91, 255, .28);  /* ring/50 */
  --pop-shadow: 0 12px 32px rgba(16, 24, 40, .10), 0 2px 6px rgba(16, 24, 40, .05);
}
:root[data-ui="next"][data-theme="dark"] {
  --card-line:  rgba(255, 255, 255, .08);
  --input-line: #2A3448;
  --focus-ring: rgba(90, 120, 255, .35);
  --pop-shadow: 0 12px 32px rgba(0, 0, 0, .5);
}

:root[data-ui="next"] body { font-size: 14px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:root[data-ui="next"] h1, :root[data-ui="next"] h2, :root[data-ui="next"] h3 { font-weight: 600; letter-spacing: -0.015em; }
:root[data-ui="next"] .page-title { font-size: 22px; margin: 4px 2px 18px; }
:root[data-ui="next"] .page-head { margin: 4px 2px 18px; }
:root[data-ui="next"] .page-head .page-title { margin: 0; }

/* ---------- Barre latérale (Sidebar) ---------- */
:root[data-ui="next"] .sidebar { padding: 16px 12px; }
:root[data-ui="next"] .sidebar-brand { padding: 4px 10px 18px; }
:root[data-ui="next"] .nav-section {
  font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: lowercase;
  color: var(--muted); padding: 14px 10px 6px;
}
:root[data-ui="next"] .nav-section::first-letter { text-transform: uppercase; }
:root[data-ui="next"] .nav-item {
  height: 34px; padding: 0 10px; gap: 10px; margin-bottom: 1px;
  border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--ink-soft);
}
:root[data-ui="next"] .nav-item:hover { background: var(--btn-bg); color: var(--ink); }
:root[data-ui="next"] .nav-item.active { background: var(--brand-soft); color: var(--brand); font-weight: 600; }
:root[data-ui="next"] .nav-item .ico { width: 17px; height: 17px; }

/* ---------- Barre du haut ---------- */
:root[data-ui="next"] .topbar { padding: 12px 28px; gap: 12px; border-bottom: 1px solid var(--line); }
:root[data-ui="next"] .search { height: 34px; border-radius: 999px; border-color: var(--input-line); box-shadow: none; }
:root[data-ui="next"] .search .s-ico .ico-svg { width: 16px; height: 16px; }
:root[data-ui="next"] .icon-btn { width: 34px; height: 34px; border-color: var(--input-line); }
:root[data-ui="next"] .icon-btn:hover { background: var(--btn-bg); }
:root[data-ui="next"] .icon-btn .ico-svg { width: 17px; height: 17px; }
:root[data-ui="next"] .icon-btn .dot { top: 6px; right: 7px; }
:root[data-ui="next"] .user-chip { gap: 10px; }
:root[data-ui="next"] .user-chip .avatar { width: 34px; height: 34px; font-size: 12.5px; background: var(--brand-soft); }
:root[data-ui="next"] .user-chip .u-name { font-weight: 600; font-size: 13.5px; }

:root[data-ui="next"] .content { padding: 22px 28px 40px; }

/* ---------- Cartes (Card) : bordure fine, sans ombre ---------- */
:root[data-ui="next"] .card,
:root[data-ui="next"] .ses-hero,
:root[data-ui="next"] .stat,
:root[data-ui="next"] .filters {
  border: 1px solid var(--card-line); box-shadow: none;
}
:root[data-ui="next"] .card { padding: 18px 20px; }
:root[data-ui="next"] .det-sec-head h3, :root[data-ui="next"] .card h3 { font-size: 15px; font-weight: 600; }
:root[data-ui="next"] .panel-empty { font-size: 13.5px; }

/* ---------- Boutons (Button) ---------- */
:root[data-ui="next"] .btn {
  height: var(--ctrl-h); padding: 0 12px; gap: 6px;
  font-size: 14px; font-weight: 500; border-radius: var(--ctrl-r);
  border-color: var(--input-line); box-shadow: none; background: var(--card);
}
:root[data-ui="next"] .btn:hover { background: var(--btn-bg); border-color: var(--input-line); }
:root[data-ui="next"] .btn:active { transform: translateY(1px); }
:root[data-ui="next"] .btn:focus-visible { border-color: var(--brand); box-shadow: 0 0 0 3px var(--focus-ring); }
:root[data-ui="next"] .btn .ico-svg { width: 16px; height: 16px; }
:root[data-ui="next"] .btn-primary { background: var(--brand); border-color: var(--brand); color: #fff; }
:root[data-ui="next"] .btn-primary:hover {
  background: color-mix(in srgb, var(--brand) 84%, #fff); border-color: color-mix(in srgb, var(--brand) 84%, #fff); box-shadow: none;
}
:root[data-ui="next"] .btn-ghost { background: transparent; border-color: transparent; color: var(--ink-soft); }
:root[data-ui="next"] .btn-ghost:hover { background: var(--btn-bg); color: var(--ink); }
/* destructive shadcn : fond rouge léger, texte rouge */
:root[data-ui="next"] .btn-danger { background: var(--red-soft); border-color: transparent; color: #D93A4E; box-shadow: none; }
:root[data-ui="next"] .btn-danger:hover { background: color-mix(in srgb, var(--red) 20%, var(--card)); border-color: transparent; }
:root[data-ui="next"][data-theme="dark"] .btn-danger { color: #FF8494; }
:root[data-ui="next"] .btn-sm { height: var(--ctrl-h-sm); padding: 0 10px; font-size: 13px; border-radius: var(--ctrl-r-sm); }
:root[data-ui="next"] .btn-sm .ico-svg { width: 14px; height: 14px; }
:root[data-ui="next"] .icon-mini { width: 30px; height: 30px; border-radius: 10px; border-color: var(--input-line); }
:root[data-ui="next"] .icon-mini .ico-svg { width: 15px; height: 15px; }

/* ---------- Champs (Input, Select, Textarea, Label) ---------- */
:root[data-ui="next"] label { font-size: 13.5px; font-weight: 500; color: var(--ink); }
:root[data-ui="next"] input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]):not(.bare),
:root[data-ui="next"] select:not(.bare),
:root[data-ui="next"] textarea {
  border-color: var(--input-line); border-radius: var(--ctrl-r); padding: 0 12px; font-size: var(--field-fs, 14px);
}
:root[data-ui="next"] select:not(.bare) { padding-right: 32px; background-position: right 10px center; }
:root[data-ui="next"] textarea { padding: 9px 12px; border-radius: 14px; }
:root[data-ui="next"] input:focus, :root[data-ui="next"] select:focus, :root[data-ui="next"] textarea:focus {
  border-color: var(--brand); box-shadow: 0 0 0 3px var(--focus-ring);
}

/* ---------- Badges et puces ---------- */
:root[data-ui="next"] .badge { height: 22px; padding: 0 9px; gap: 5px; font-size: 12px; font-weight: 500; }
:root[data-ui="next"] .badge::before { width: 6px; height: 6px; }
:root[data-ui="next"] .chip { border-radius: 999px; padding: 2px 8px; font-size: 11.5px; font-weight: 600; }

/* ---------- Tableaux (Table) ---------- */
:root[data-ui="next"] .tbl th {
  text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 500; color: var(--muted);
  padding: 0 10px 10px;
}
:root[data-ui="next"] .tbl td { padding: 11px 10px; font-size: 14px; }
:root[data-ui="next"] .tbl tbody tr:hover { background: color-mix(in srgb, var(--btn-bg) 55%, transparent); }

/* ---------- Onglets (Tabs) : segmenté sur fond gris ---------- */
:root[data-ui="next"] .tabs {
  display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; margin: 0 0 16px;
  background: var(--btn-bg); border-radius: 14px;
}
:root[data-ui="next"] .tab {
  height: 30px; padding: 0 12px; border-radius: 11px;
  font-size: 14px; font-weight: 500; color: var(--muted);
}
:root[data-ui="next"] .tab:hover:not(.active) { background: transparent; color: var(--ink); }
:root[data-ui="next"] .tab.active {
  background: var(--card); color: var(--ink);
  box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
}

/* ---------- Fenêtres (Dialog) ---------- */
:root[data-ui="next"] .modal-ov { background: rgba(15, 18, 30, .2); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
:root[data-ui="next"] .modal { border: 1px solid var(--card-line); box-shadow: var(--pop-shadow); padding: 22px; }
:root[data-ui="next"] .modal h2 { font-size: 18px; font-weight: 600; margin-bottom: 16px; }

/* ---------- Écrans des sessions ---------- */
:root[data-ui="next"] .filters { padding: 8px 10px; }
:root[data-ui="next"] .filters-count { font-weight: 500; }
:root[data-ui="next"] .ses-back { font-weight: 500; font-size: 13.5px; }
:root[data-ui="next"] .ses-hero { padding: 18px 20px; }
:root[data-ui="next"] .ses-nom { font-size: 22px; font-weight: 600; margin-top: 8px; }
:root[data-ui="next"] .ses-dossier { font-weight: 500; }
:root[data-ui="next"] .ses-meta { font-weight: 500; margin-top: 16px; padding-top: 14px; }
:root[data-ui="next"] .ses-meta .ico-svg { width: 15px; height: 15px; }
:root[data-ui="next"] .info-grid { gap: 10px; }
:root[data-ui="next"] .info-grid > div { background: color-mix(in srgb, var(--btn-bg) 60%, var(--card)); border-radius: 14px; padding: 10px 14px; }
:root[data-ui="next"] .info-grid span { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 500; }
:root[data-ui="next"] .info-grid b { font-weight: 600; }
/* Listes (inscrits, documents…) : lignes séparées par un filet, plus de pavés gris */
:root[data-ui="next"] .mod-row,
:root[data-ui="next"] .docs-row {
  background: transparent; border-radius: 0; padding: 10px 4px; border-bottom: 1px solid var(--line);
}
:root[data-ui="next"] .mod-row:last-child, :root[data-ui="next"] .docs-row:last-child { border-bottom: 0; }
:root[data-ui="next"] .mod-name { font-weight: 500; }
:root[data-ui="next"] .linkish { font-weight: 600; }
/* Une section en tête de carte n'a pas de marge haute (vide au-dessus de « Documents — 0/9 ») */
:root[data-ui="next"] .card > .det-section:first-child { margin-top: 0; }
/* Candidat sans e-mail : le nom reste centré sur la ligne */
:root[data-ui="next"] .mod-name .muted:empty { display: none !important; }
/* Suffixe « secondes » centré sur le champ, quelle que soit sa hauteur */
:root[data-ui="next"] .live-time-input { margin-top: 7px; }
:root[data-ui="next"] .live-time-input input { margin-top: 0; }
:root[data-ui="next"] .live-time-input span { top: 50%; transform: translateY(-50%); font-size: 13px; }
:root[data-ui="next"] input[type=checkbox], :root[data-ui="next"] input[type=radio] { accent-color: var(--brand); }

/* ================================================================
   Rythme et respiration (refonte UI/UX)
   Échelle d'espacement : 4 · 8 · 12 · 16 · 24 · 32 px
   ================================================================ */
:root[data-ui="next"] .content { padding: 28px 32px 48px; }
:root[data-ui="next"] .page-head { margin: 0 0 24px; align-items: center; gap: 16px 24px; }
:root[data-ui="next"] .page-title-wrap { margin: 0 0 24px; }
:root[data-ui="next"] .page-head .page-title-wrap { margin: 0; }
:root[data-ui="next"] .page-title { font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; }
:root[data-ui="next"] .page-desc { margin-top: 6px; font-size: 14px; }
:root[data-ui="next"] .page-actions { gap: 8px; }

/* Barre latérale : pied (Paramètres + compte) */
:root[data-ui="next"] .sidebar { padding: 18px 12px 12px; }
:root[data-ui="next"] .side-user { border-color: var(--card-line); border-radius: 14px; }
:root[data-ui="next"] .side-user:hover { background: var(--btn-bg); }
:root[data-ui="next"] .app-version { padding: 8px 10px 0; font-size: 11px; color: var(--muted); }

/* Fenêtres : centrées, ✕, contenu qui défile, boutons toujours visibles */
:root[data-ui="next"] .modal-ov { align-items: center; padding: 24px 16px; }
:root[data-ui="next"] .modal {
  max-width: 560px; max-height: calc(100dvh - 48px); overflow-y: auto; overscroll-behavior: contain; padding: 24px;
}
:root[data-ui="next"] .modal.modal-lg { max-width: 820px; }
:root[data-ui="next"] .modal-x:hover { background: var(--btn-bg); }
:root[data-ui="next"] .modal > h2:first-of-type { margin-bottom: 20px; }
:root[data-ui="next"] .modal-actions {
  position: sticky; bottom: -24px; z-index: 2;
  margin: 24px -24px -24px; padding: 14px 24px;
  background: var(--card); border-top: 1px solid var(--line);
}
/* Fiche session : en-tête à plat (plus de carte), on respire */
:root[data-ui="next"] .ses-hero { background: transparent; border: 0; padding: 0; margin-bottom: 24px; }
:root[data-ui="next"] .ses-hero-sur { gap: 8px; }
:root[data-ui="next"] .ses-nom { font-size: 26px; margin-top: 10px; }
:root[data-ui="next"] .ses-meta { border-top: 0; margin-top: 12px; padding-top: 0; gap: 8px 20px; }
:root[data-ui="next"] .cand-tbl td { padding-top: 10px; padding-bottom: 10px; }
:root[data-ui="next"] .crumb-link:hover { background: var(--btn-bg); }
:root[data-ui="next"] .cand-tbl .icon-mini, :root[data-ui="next"] .eval-tbl .icon-mini { border-color: transparent; background: transparent; }
:root[data-ui="next"] .cand-tbl .icon-mini:hover, :root[data-ui="next"] .eval-tbl .icon-mini:hover { background: var(--red-soft); color: var(--red); }

/* Formulaires en sections (fset) : pas d'encadré imbriqué, titre de section lisible */
:root[data-ui="next"] .fset { border: 0; border-radius: 0; padding: 0; margin: 0 0 22px; }
:root[data-ui="next"] .fset-h {
  font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink);
  margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid var(--line);
}
:root[data-ui="next"] .fset-sub { font-weight: 500; }
/* Formulaire de session en fenêtre large : deux colonnes de sections */
@media (min-width: 860px) {
  :root[data-ui="next"] .modal-lg #ses-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; align-items: start; }
  :root[data-ui="next"] .modal-lg #ses-form > :not(.fset) { grid-column: 1 / -1; }
}
:root[data-ui="next"] .modal-head h2 { margin: 0; }

/* ---------- Tableau de bord ---------- */
:root[data-ui="next"] .page-title-wrap .page-title { margin: 0; }
:root[data-ui="next"] .grid-stats { gap: 16px; margin-bottom: 20px; }
:root[data-ui="next"] .stat { padding: 16px 18px; border-radius: 18px; background: var(--card); }
:root[data-ui="next"] .stat-ic { width: 40px; height: 40px; border-radius: 12px; }
:root[data-ui="next"] .stat-ic .ico-svg { width: 19px; height: 19px; }
:root[data-ui="next"] .stat-val { font-size: 22px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; }
:root[data-ui="next"] .stat-label { font-size: 13px; font-weight: 500; color: var(--muted); }
:root[data-ui="next"] .stat-link:hover { border-color: color-mix(in srgb, var(--brand) 45%, var(--card-line)); }
:root[data-ui="next"] .panels { gap: 20px; }
:root[data-ui="next"] .panels > .card > h3 { margin-bottom: 14px; }
:root[data-ui="next"] #dash-renta { margin-top: 20px !important; }
:root[data-ui="next"] .rev-total { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
:root[data-ui="next"] .rev-total .muted { font-size: 13px; font-weight: 500; letter-spacing: 0; }
:root[data-ui="next"] .renta-cell { background: color-mix(in srgb, var(--btn-bg) 60%, var(--card)); border-radius: 14px; }
:root[data-ui="next"] .renta-cell span { font-weight: 500; }
:root[data-ui="next"] .renta-cell b { font-size: 20px; font-weight: 700; }
:root[data-ui="next"] .renta-cols h4 { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
:root[data-ui="next"] .tbl.mini th { font-size: 12.5px; padding-bottom: 8px; }
:root[data-ui="next"] .tbl.mini td { padding: 9px 10px; font-size: 13.5px; }
:root[data-ui="next"] .renta-alert { border-radius: 12px; font-weight: 500; }
:root[data-ui="next"] .agenda-item { background: transparent; border-radius: 12px; padding: 10px; border-bottom: 1px solid var(--line); }
:root[data-ui="next"] .agenda-item:last-child { border-bottom: 0; }
:root[data-ui="next"] .agenda-item:hover { background: var(--btn-bg); }
:root[data-ui="next"] .agenda-date { box-shadow: none; border: 1px solid var(--card-line); }
:root[data-ui="next"] .cal-dow div { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 13px; }
:root[data-ui="next"] .cal-cell { min-height: 96px; border-radius: 14px; background: color-mix(in srgb, var(--btn-bg) 55%, var(--card)); }
:root[data-ui="next"] .cal-cell.weekend { background: transparent; }
:root[data-ui="next"] .cal-cell.empty { background: transparent; }
:root[data-ui="next"] .cal-num { font-weight: 600; font-size: 13px; }
:root[data-ui="next"] .cal-ev { border-radius: 8px; padding: 4px 8px; font-size: 11.5px; }
:root[data-ui="next"] .grid-cards { gap: 16px; }
:root[data-ui="next"] .fcard { border: 1px solid var(--card-line); box-shadow: none; padding: 18px; border-radius: 18px; display: flex; flex-direction: column; }
:root[data-ui="next"] .fcard:hover { transform: none; box-shadow: none; border-color: color-mix(in srgb, var(--brand) 45%, var(--card-line)); }
:root[data-ui="next"] .fcode { border-radius: 999px; font-weight: 600; font-size: 11.5px; padding: 3px 9px; }
:root[data-ui="next"] .fcard-title { font-size: 15px; font-weight: 600; min-height: 0; margin: 4px 0 8px; line-height: 1.35; }
:root[data-ui="next"] .fcard-meta { font-weight: 500; font-size: 12.5px; margin-bottom: auto; }
:root[data-ui="next"] .fcard-foot { margin-top: 14px; padding-top: 12px; }
:root[data-ui="next"] .fprice { font-weight: 700; }
:root[data-ui="next"] .cat-group-h span { background: var(--btn-bg); }
:root[data-ui="next"] .grid-cards { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
:root[data-ui="next"] .fdet-hero { padding-right: 40px; margin-bottom: 22px; padding-bottom: 20px; }
:root[data-ui="next"] .fdet-nom { font-size: 22px; font-weight: 600; }
:root[data-ui="next"] .fdet-public { font-weight: 500; }
:root[data-ui="next"] .fdet-chiffres > div { background: color-mix(in srgb, var(--btn-bg) 60%, var(--card)); border-radius: 14px; }
:root[data-ui="next"] .fdet-chiffres span { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 500; }
:root[data-ui="next"] .fdet-chiffres b { font-weight: 600; }
:root[data-ui="next"] .fdet-mod { background: transparent; border-radius: 0; border-bottom: 1px solid var(--line); padding: 10px 4px; }
:root[data-ui="next"] .fdet-mod:last-child { border-bottom: 0; }
:root[data-ui="next"] .fdet-mtitre { font-weight: 500; font-size: 14px; }
:root[data-ui="next"] .act-row:hover { background: var(--btn-bg); }
/* Icônes d'action discrètes dans les listes (s'affirment au survol) */
:root[data-ui="next"] .qm-row .icon-mini, :root[data-ui="next"] .fdet-mod .icon-mini { border-color: transparent; background: transparent; color: var(--muted); }
:root[data-ui="next"] .qm-row .icon-mini:hover, :root[data-ui="next"] .fdet-mod .icon-mini.danger:hover { background: var(--red-soft); color: var(--red); }
:root[data-ui="next"] .fdet-mod .icon-mini:not(.danger):hover { background: var(--btn-bg); color: var(--ink); }
:root[data-ui="next"] .qm-row:hover { background: color-mix(in srgb, var(--btn-bg) 55%, transparent); }
/* Boutons-icônes : discrets (ghost) par défaut, bordés seulement pour la navigation */
:root[data-ui="next"] .icon-mini { border-color: transparent; background: transparent; color: var(--muted); }
:root[data-ui="next"] .icon-mini:hover { background: var(--btn-bg); color: var(--ink); border-color: transparent; }
:root[data-ui="next"] .icon-mini.danger:hover { background: var(--red-soft); color: var(--red); }
:root[data-ui="next"] .cal-step .icon-mini { border-color: var(--input-line); color: var(--ink-soft); }
/* Formulaire de formation : deux colonnes de sections, présentation sur toute la largeur */
@media (min-width: 860px) {
  :root[data-ui="next"] .modal-lg .f-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; align-items: start; }
  :root[data-ui="next"] .modal-lg .f-form > :not(.fset), :root[data-ui="next"] .modal-lg .f-form > .fset-wide { grid-column: 1 / -1; }
}
/* Éditeur de devis / facture : titres de blocs comme les autres sections */
:root[data-ui="next"] .de-block { border-color: var(--card-line); border-radius: 18px; }
:root[data-ui="next"] .de-block-h { font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }
/* Menus secondaires (Paramètres, Mon profil) : même gabarit que la barre latérale */
:root[data-ui="next"] .set-menu-item { height: 36px; padding: 0 10px; gap: 10px; border-radius: 10px; font-size: 14px; font-weight: 500; }
:root[data-ui="next"] .set-menu-item .ico .ico-svg { width: 17px; height: 17px; }
:root[data-ui="next"] .set-menu-item.active { font-weight: 600; }
:root[data-ui="next"] .set-menu-item:hover:not(.active) { background: var(--btn-bg); }
/* Recherche globale : un seul cadre (celui de la barre), pas de second cadre au focus du champ */
:root[data-ui="next"] .search input:focus { border: 0; box-shadow: none; }
:root[data-ui="next"] .search-res { border: 1px solid var(--card-line); box-shadow: var(--pop-shadow); border-radius: 16px; padding: 6px; }
:root[data-ui="next"] .sr-group { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; padding: 8px 10px 4px; }
:root[data-ui="next"] .sr-item { border-radius: 10px; padding: 8px 10px; }
:root[data-ui="next"] .sr-item:hover, :root[data-ui="next"] .sr-item.on { background: var(--btn-bg); }
:root[data-ui="next"] .sr-label { font-weight: 500; }
:root[data-ui="next"] .notif-panel { border: 1px solid var(--card-line); box-shadow: var(--pop-shadow); }
:root[data-ui="next"] .ctx-menu { border: 1px solid var(--card-line); box-shadow: var(--pop-shadow); border-radius: 14px; padding: 5px; }
:root[data-ui="next"] .ctx-item { border-radius: 9px; font-weight: 500; }
:root[data-ui="next"] .ctx-item:hover { background: var(--btn-bg); color: var(--ink); }
:root[data-ui="next"] .ctx-item:hover .ico-svg { color: var(--ink); }
:root[data-ui="next"] .ctx-item.danger:hover { background: var(--red-soft); color: var(--red); }
:root[data-ui="next"] .ctx-item.danger:hover .ico-svg { color: var(--red); }
/* Tarifs négociés d'un client */
:root[data-ui="next"] .cc-head { text-transform: none; letter-spacing: 0; font-size: 12.5px; font-weight: 500; }
:root[data-ui="next"] .cc-head, :root[data-ui="next"] .cc-row { grid-template-columns: minmax(0, 1fr) 170px 150px 150px; }
:root[data-ui="next"] .cc-row { border-radius: 0; border-bottom: 1px solid var(--line); padding: 8px 12px; margin: 0 !important; }
:root[data-ui="next"] .cc-row:nth-child(even) { background: transparent; }
:root[data-ui="next"] .cc-row.on { background: var(--brand-soft); }
:root[data-ui="next"] .cc-nom { flex-wrap: nowrap; font-weight: 500; }
:root[data-ui="next"] .cc-nom .chip { flex: none; }
:root[data-ui="next"] .cc-row input::placeholder { color: var(--muted); opacity: .7; }
/* Gestionnaire de diapos */
:root[data-ui="next"] .sl-group-h { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; color: var(--ink); }
:root[data-ui="next"] .sl-item { border-color: var(--card-line); border-radius: 12px; box-shadow: none; }
:root[data-ui="next"] .sl-item:hover { border-color: color-mix(in srgb, var(--brand) 45%, var(--card-line)); }
/* Présentation : la règle des listes du refresh écrasait la marge gauche réservée à l'icône */
:root[data-ui="next"] .pv-modsel select { padding-left: 40px; }
/* Cases du code à 6 chiffres : gabarit piloté par variables (plus fortes que la règle générique) */
:root[data-ui="next"] .otp-inputs { --field-h: 52px; --field-fs: 22px; }
/* Formulaire « Nouveau formateur » : compte à gauche, compétences à droite */
@media (min-width: 860px) {
  :root[data-ui="next"] .modal-lg .fc-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; align-items: start; }
  :root[data-ui="next"] .modal-lg .fc-form > :not(.fset) { grid-column: 1 / -1; }
  :root[data-ui="next"] .modal-lg .fc-form .checks { max-height: 190px; overflow-y: auto; }
}
:root[data-ui="next"] .checks .chk { background: transparent; border: 1px solid var(--line); border-radius: 10px; }
/* Confirmation d'une action irréversible : bouton rouge plein (AlertDialog shadcn) */
:root[data-ui="next"] .modal-actions .btn-danger { background: var(--red); border-color: var(--red); color: #fff; }
:root[data-ui="next"] .modal-actions .btn-danger:hover { background: color-mix(in srgb, var(--red) 88%, #000); border-color: transparent; }
/* Onglets : toujours sur une ligne, défilement horizontal si l'écran est étroit */
:root[data-ui="next"] .tabs { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
:root[data-ui="next"] .tabs::-webkit-scrollbar { display: none; }
:root[data-ui="next"] .tab { flex: none; white-space: nowrap; }
/* Largeurs historiques de fenêtres (la largeur par défaut du refresh les écrasait) */
:root[data-ui="next"] .modal.modal-xl { max-width: 1040px; }
:root[data-ui="next"] .modal-back:hover { background: var(--btn-bg); }
:root[data-ui="next"] .eval-summary > div { background: color-mix(in srgb, var(--btn-bg) 60%, var(--card)); border: 0; border-radius: 14px; }
:root[data-ui="next"] .eval-summary span { font-weight: 500; }
