/* Socle de la maquette commune : mêmes repères dans ERP et CORE.
   Les palettes et les préférences restent celles de elunis_themes.css. */
:is(.erp-shell, .core-shell) {
  --workspace-radius: 10px;
  --workspace-gap: 12px;
}
.erp-shell > header { min-height: 56px; padding: 6px 20px }
.erp-shell .workspace-trigger { min-height: 42px; border-radius: 10px }
.erp-shell .app-layout { grid-template-columns: 232px minmax(0, 1fr) }
.erp-shell main { max-width: 1440px; margin: 18px auto 48px; padding: 0 24px }
.core-shell main { max-width: 1440px; padding: 18px 24px 48px }
.core-shell .mc-topbar { min-height: 56px; padding: 6px 24px }
.core-shell .mc-search input { min-height: 38px; padding-top: 8px; padding-bottom: 8px }
:is(.erp-shell, .core-shell) .workspace-heading,
.core-shell .mc-page-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 10px 20px; margin: 0 0 14px;
}
.erp-shell .list-heading.workspace-heading > .workspace-heading-copy:first-child {
  flex: 1 1 280px; min-width: 0;
}
.erp-shell .workspace-title-line {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px;
}
.erp-shell .workspace-title-line h1,
.core-shell .mc-page-head h1 {
  margin: 0; color: var(--ink); font-size: clamp(1.4rem, 2.1vw, 1.8rem);
  font-weight: 650; line-height: 1.3; letter-spacing: -.025em; overflow-wrap: anywhere;
}
.erp-shell .list-heading .eyebrow { margin: 0 0 3px; font-size: .65rem }
.erp-shell .workspace-heading-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px }
.erp-shell .list-heading > .workspace-heading-copy .workspace-result-count {
  margin: 0; padding: 2px 8px; background: var(--surface-alt); color: var(--muted);
  font-size: .75rem; font-weight: 600; border: 1px solid var(--line); border-radius: 6px;
}
.erp-shell .list-heading > .workspace-heading-copy .workspace-scope-note {
  display: block; margin: 0; padding: 0; background: transparent;
  color: var(--muted); font-size: .8rem; font-weight: 400;
}
.erp-shell .list-heading > .workspace-actions {
  display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto;
}
.erp-shell .workspace-actions > .button .button-label { display: inline }
:is(.erp-shell, .core-shell) .workspace-action-menu { position: relative }
:is(.erp-shell, .core-shell) .workspace-action-menu > summary {
  display: inline-flex; align-items: center; gap: 8px; min-height: 36px;
  padding: 7px 12px; color: var(--ink); background: var(--surface);
  border: 1px solid var(--line); border-radius: 9px; cursor: pointer;
  font-size: .84rem; font-weight: 650; list-style: none;
}
.workspace-action-menu > summary::-webkit-details-marker { display: none }
.workspace-action-menu:not([open]) > .workspace-action-panel { display: none }
.workspace-action-menu > summary::after {
  content: ""; width: 6px; height: 6px; margin: -3px 1px 0 5px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);
}
:is(.erp-shell, .core-shell) .workspace-action-panel {
  position: absolute; z-index: 18; right: 0; top: calc(100% + 6px);
  display: grid; gap: 4px; width: max-content; min-width: 210px; max-width: min(340px, calc(100vw - 32px));
  padding: 6px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 12px 32px color-mix(in srgb, var(--ink) 14%, transparent);
}
.erp-shell .workspace-action-panel > .button {
  justify-content: flex-start; width: 100%; min-height: 38px; padding: 8px 10px;
  border: 0; background: transparent; box-shadow: none; white-space: normal; text-align: left;
}
.erp-shell .workspace-action-panel > .button:hover { background: var(--blue-soft); color: var(--blue) }
.erp-shell .workspace-action-panel .button-label { display: inline }
.erp-shell .workspace-form-card { padding: 18px 20px }
.erp-shell .workspace-form-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line) }
.erp-shell .workspace-form-heading .workspace-form-caption { color: var(--muted); font-size: .8rem }
.erp-shell .workspace-form-actions {
  position: sticky; bottom: 0; z-index: 4; display: flex; flex-wrap: wrap; align-items: center;
  gap: 8px; margin: 16px -4px -4px; padding: 12px 4px 4px;
  border-top: 1px solid var(--line); background: var(--surface);
}
.erp-shell .detail-toolbar.workspace-heading { align-items: center }
.erp-shell .detail-toolbar.workspace-heading .back-link { margin-bottom: 4px; padding: 0; border-radius: 0 }
.erp-shell .detail-toolbar.workspace-heading h1 { margin: 0; font-size: clamp(1.4rem, 2.1vw, 1.8rem) }
.core-shell .mc-page-head > div:first-child {
  display: flex; flex: 1 1 400px; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; min-width: 0;
}
.core-shell .mc-page-head .eyebrow { flex-basis: 100%; font-size: .65rem; letter-spacing: .08em }
.core-shell .mc-page-head p { flex: 1 1 280px; max-width: 760px; margin: 0; font-size: .84rem; line-height: 1.5 }
:is(.erp-shell, .core-shell) .workspace-section-nav {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
  margin: 0 0 16px; padding: 0 0 8px; border-bottom: 1px solid var(--line);
}
:is(.erp-shell, .core-shell) .workspace-section-nav > a {
  display: inline-flex; align-items: center; min-height: 36px; padding: 8px 12px;
  color: var(--muted); border-radius: 7px; text-decoration: none; font-size: .84rem; font-weight: 600;
}
:is(.erp-shell, .core-shell) .workspace-section-nav > a:hover { background: var(--surface-alt); color: var(--ink) }
:is(.erp-shell, .core-shell) .workspace-section-nav > a[aria-current="page"] {
  background: var(--blue-soft); color: var(--blue); font-weight: 650;
}
.core-shell .mc-section { margin-bottom: 18px }

/* Navigation des rubriques : une seule ligne, le catalogue complet à portée de main. */
.erp-shell .workspace-module-nav {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 6px; min-width: 0;
  margin: 0 0 12px; padding: 0 0 8px; border: 0; border-bottom: 1px solid var(--line);
  border-radius: 0; background: transparent;
}
.erp-shell .workspace-module-links {
  position: relative; display: flex; align-items: center; gap: 4px; flex: 1; min-width: 0;
  overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin;
}
.erp-shell .workspace-module-nav .workspace-module-links > a,
.erp-shell .workspace-module-nav > a {
  display: inline-flex; flex: none; flex-direction: row; align-items: center; justify-content: center;
  gap: 7px; min-height: 36px; padding: 7px 10px; border: 1px solid transparent; border-radius: 7px;
  color: var(--muted); background: transparent; text-decoration: none; white-space: nowrap;
  font-size: .8rem; font-weight: 600; line-height: 1.4;
}
.erp-shell .workspace-module-nav a:hover { color: var(--ink); background: var(--surface-alt) }
.erp-shell .workspace-module-nav a[aria-current] {
  color: var(--blue); background: var(--blue-soft); font-weight: 650;
}
.erp-shell .workspace-module-nav .workspace-module-all { border-color: var(--line); background: var(--surface) }
.erp-shell .workspace-module-nav .workspace-module-all[aria-current] { background: var(--blue-soft) }
.erp-shell .workspace-module-nav svg { flex: none; width: 17px; height: 17px; margin: 0 }
.workspace-module-all-short { display: none }
/* Les commandes du planning gardent leur moteur ; son titre prend moins de hauteur. */
.erp-shell .planner-heading { gap: 10px 18px; margin: 8px 0 14px; flex-wrap: wrap }
.erp-shell .planner-heading > div:first-child {
  display: flex; flex: 1 1 460px; flex-wrap: wrap; align-items: baseline; gap: 4px 16px;
}
.erp-shell .planner-heading .appt-eyebrow { display: none }
.erp-shell .planner-heading h1 {
  margin: 0; font: inherit; font-size: clamp(1.35rem, 2.1vw, 1.75rem); font-weight: 650; line-height: 1.3;
}
.erp-shell .planner-heading p { flex: 1 1 280px; margin: 0; font-size: .82rem; line-height: 1.5 }
/* La grande grille hebdomadaire défile dans son cadre, sans élargir la page. */
.erp-shell .planner-week-scroll { contain: paint }
/* Les écrans spécialisés gardent leur grille ou leur scène, avec le même en-tête compact. */
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 10px 18px; margin: 0 0 16px; padding: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) > :is(div:first-child, .edu-lms-hero-copy) {
  display: flex; flex: 1 1 440px; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; min-width: 0; max-width: none;
}
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) :is(h1, .h1) {
  margin: 0; color: var(--ink); font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.3; letter-spacing: -.025em;
}
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) :is(.eyebrow, .edu-lms-kicker) { display: none }
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) > div:first-child > p {
  flex: 1 1 300px; max-width: 760px; margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5;
}
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) :is(.detail-actions, .edu-lms-hero-actions) {
  flex: 0 1 auto; align-items: center; gap: 8px; margin: 0;
}
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) > .button .button-label,
.erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) :is(.detail-actions, .edu-lms-hero-actions) > .button:not(.secondary) .button-label { display: inline }
.erp-shell .workspace-help { margin: 0 0 14px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface) }
.erp-shell .workspace-help > summary { width: fit-content; cursor: pointer; color: var(--muted); font-size: .82rem; font-weight: 650 }
.erp-shell .workspace-help[open] > summary { margin-bottom: 12px; color: var(--ink) }
.erp-shell .edu-free-path-nav { display: flex; gap: 6px; margin: 0 0 14px }
.erp-shell .edu-free-path-nav a { flex: 0 1 auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 8px }
.erp-shell .edu-free-path-nav a small { display: none }
.erp-shell .edu-free-path-nav a strong { font-size: .83rem }
.erp-shell .edu-workspace-context { gap: 8px 12px; padding: 8px 10px; margin-bottom: 12px; border-radius: 10px; box-shadow: none }
.erp-shell .edu-workspace-avatar { width: 28px; height: 28px; border-radius: 8px }
.erp-shell .edu-workspace-id { gap: 8px }
.erp-shell .edu-workspace-id h2 { font-size: .83rem }
.erp-shell .edu-workspace-context p { font-size: .78rem }
.erp-shell .edu-workspace-links { gap: 4px }
.erp-shell .edu-workspace-links a { min-height: 32px; padding: 5px 8px; border-radius: 7px; font-size: .77rem }
.erp-shell .edu-free-filter { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 12px; border-radius: 10px; margin-bottom: 12px }
.erp-shell .edu-free-filter label { flex: 0 1 auto; text-transform: none; letter-spacing: normal; font-size: .8rem }
.erp-shell .edu-free-filter select { flex: 1 1 200px; width: auto; min-width: 0 }
.erp-shell .edu-free-next { color: var(--ink); background: var(--blue-soft); border: 1px solid var(--line); border-left: 4px solid var(--blue) }
.erp-shell .edu-free-next h3 { color: var(--ink) }
.erp-shell .edu-free-next :is(p, small, .edu-free-next-kicker) { color: var(--muted) }
.erp-shell .edu-free-next .button { background: var(--blue); color: var(--button-ink, #fff); border-color: transparent }
.erp-shell .edu-free-progress { background: var(--line) }
.erp-shell .edu-free-progress span { background: var(--blue) }
.erp-shell .guide-hero { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 18px; padding: 18px; border-radius: 12px; background: var(--surface); color: var(--ink) }
.erp-shell .guide-hero-text { flex: 1 1 480px; min-width: 0 }
.erp-shell .guide-hero .eyebrow { display: none }
.erp-shell .guide-hero h1 { margin: 0 0 4px; color: var(--ink); font-size: 1.7rem }
.erp-shell .guide-hero-text > p { margin: 0 0 12px; color: var(--muted); font-size: .85rem }
.erp-shell .guide-hero-progress { flex: 0 1 260px; display: flex; align-items: center; gap: 12px; padding: 0; background: transparent; border: 0 }
.erp-shell .guide-hero .guide-ring { width: 82px; height: 82px; flex-shrink: 0 }
.erp-shell .guide-hero .guide-ring strong { font-size: 1.15rem }
.erp-shell .guide-hero .guide-ring span { font-size: .7rem }
.erp-shell .guide-hero .guide-hero-stats { display: flex; flex-direction: column; gap: 8px; margin: 0; min-width: 0 }
.erp-shell .guide-hero .guide-hero-stats > div { display: flex; align-items: baseline; gap: 6px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left }
.erp-shell .guide-hero .guide-hero-stats dt { font-size: .85rem; color: var(--ink); flex: none }
.erp-shell .guide-hero .guide-hero-stats dd { margin: 0; font-size: .75rem; color: var(--muted) }
.erp-shell .guide-hero .guide-search :is(input, button) { min-height: 38px; border-radius: 8px; font-size: .86rem }
.erp-shell .guide-hero .guide-hero-actions .button { min-height: 38px; padding: 8px 12px; border-radius: 8px; font-size: .86rem }
.core-shell .core-language-switcher { margin: 0 0 10px }
.core-shell .core-language-switcher select { width: 100%; min-height: 38px }
/* Accueil Rendez-vous : garder les cartes métier et la journée près du titre. */
.erp-shell .appt .appt-welcome { grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: 20px; padding: 16px 18px; margin-bottom: 14px; border-radius: 12px }
.erp-shell .appt .appt-welcome h1 { margin: 4px 0 6px; font-family: inherit; font-size: clamp(1.3rem, 2.1vw, 1.8rem); line-height: 1.3; letter-spacing: -.025em }
.erp-shell .appt .appt-welcome p { margin: 0; font-size: .85rem; color: var(--muted) }
.erp-shell .appt .appt-welcome-actions { margin-top: 12px; gap: 8px }
.erp-shell .appt .appt-welcome-actions .button { min-height: 36px; padding: 8px 12px; font-size: .8rem }
.erp-shell .appt .appt-next { padding: 12px 14px; gap: 5px; border-radius: 10px }
.erp-shell .appt .appt-next > .appt-symbol { display: none }
.erp-shell .appt .appt-next > strong { font-size: 1rem }
.erp-shell .appt .appt-next > span:not(.appt-eyebrow) { font-size: .8rem }
.erp-shell .rentals-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 10px; margin-bottom: 18px }
.erp-shell .rentals-kpis .module-card { min-width: 0; min-height: 96px; padding: 12px 14px; border-radius: 12px; box-shadow: none }
.erp-shell .rentals-kpis .module-card > span { min-width: 0; overflow-wrap: anywhere }
.erp-shell .rentals-kpis .module-card strong { font-size: .95rem; line-height: 1.45 }
.erp-shell .rentals-kpis .module-card small { font-size: .74rem; line-height: 1.45 }
.erp-shell :is(.edu-command-main, .edu-command-side, .edu-command-list, .edu-command-item) { min-width: 0 }
.erp-shell .edu-command-list { grid-template-columns: minmax(0, 1fr) }
@media (max-width: 650px) {
  .erp-shell .edu-command-item form { width: calc(100% - 54px) }
}
@media (max-width: 700px) {
  .erp-shell .appt .appt-welcome { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px }
  .erp-shell .appt .appt-next { padding: 10px 12px }
  .erp-shell .rentals-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) }
}
/* Dossier projet et saisies spécialisées : mêmes palettes, mêmes repères de formulaire. */
.erp-shell :is(.project-page, .pr-page, .project-cost-page) { padding: 0; color: var(--ink) }
.erp-shell :is(.project-hero, .project-cost-page > header) {
  position: static; top: auto; z-index: auto; min-height: 0;
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 16px;
  margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.erp-shell :is(.project-hero, .project-cost-page > header) > div { min-width: 0; flex: 1 1 360px }
.erp-shell :is(.project-hero, .project-cost-page > header) h1 { margin: 3px 0; font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.3; color: var(--ink) }
.erp-shell .project-cost-page > header > p { flex: 1 1 300px; font-size: .84rem; line-height: 1.5 }
.erp-shell .project-cost-eyebrow { display: none }
.erp-shell .project-description { font-size: .84rem; line-height: 1.5 }
.erp-shell .project-metrics { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; margin: 12px 0 }
.erp-shell .project-metric { padding: 14px; border-radius: 12px }
.erp-shell .project-cost-card { padding: 18px; border-radius: 12px }
.erp-shell .project-cost-actions { position: sticky; bottom: 0; z-index: 4; padding: 12px 0 0; border-top: 1px solid var(--line); background: var(--surface) }
@media (max-width: 900px) {
  .erp-shell .app-layout { grid-template-columns: minmax(0, 1fr) }
}
@media (max-width: 650px) {
  .erp-shell > header { padding-right: 12px; padding-left: 12px }
  .erp-shell main { margin-top: 14px; padding: 0 14px }
  .core-shell main { padding: 14px 14px 32px }
  .core-shell .mc-topbar { padding: 8px 14px }
  .erp-shell .workspace-heading { flex-direction: row; align-items: center }
  .erp-shell .list-heading.workspace-heading { column-gap: 8px }
  .erp-shell .list-heading.workspace-heading > .workspace-heading-copy:first-child { flex-basis: 140px }
  .erp-shell .list-heading > .workspace-actions { margin-left: 0 }
  .erp-shell .workspace-actions > .button,
  .erp-shell .workspace-action-menu > summary { min-height: 42px }
  .erp-shell .workspace-action-panel { right: auto; left: 0 }
  .erp-shell .workspace-form-card { padding: 14px }
  .erp-shell .workspace-form-actions { gap: 8px; padding-bottom: max(4px, env(safe-area-inset-bottom)) }
  .erp-shell .workspace-form-actions > :is(button, .button) { min-height: 42px }
  .core-shell .mc-page-head > div:first-child { flex-basis: 100%; gap: 4px 12px }
  .core-shell .mc-page-head > * + * { margin-top: 0 }
  .erp-shell .workspace-module-nav { gap: 4px }
  .erp-shell .workspace-module-nav .workspace-module-links > a,
  .erp-shell .workspace-module-nav > a { min-height: 40px; padding: 7px 8px }
  .erp-shell .workspace-module-all-label,
  .erp-shell .workspace-module-history > span { display: none }
  .erp-shell .workspace-module-all-short { display: inline }
  .erp-shell .planner-heading { flex-direction: row }
  .erp-shell .planner-heading > div:first-child { flex-basis: 100% }
  .erp-shell main :is(.hero, .edu-hero, .edu-lms-hero) > div:first-child { flex-basis: 100% }
  .erp-shell .guide-hero { padding: 14px }
  .erp-shell .guide-hero-progress { flex-basis: 100% }
  .erp-shell .edu-free-filter label { flex-basis: 100% }
  .erp-shell .edu-free-filter select { flex-basis: 180px }
}
.erp-shell .project-facts dd { min-width: 0; overflow-wrap: anywhere }
.erp-shell :is(.project-main, .project-side, .project-section) { min-width: 0 }
.erp-shell .project-cost-page .quick-related-control { display: flex; align-items: start; gap: 6px; min-width: 0 }
.erp-shell .project-cost-page .quick-related-control > select { flex: 1 1 auto; min-width: 0; width: 100% }
.erp-shell .project-cost-page .quick-related-control > :is(.quick-create-source, .list-row-action-add) { flex: 0 0 36px; height: 38px; min-height: 38px; padding: 8px; display: inline-grid; place-items: center }
.erp-shell .project-cost-page ~ .quick-create-dialog #quickCreateForm { display: flex; flex-direction: column; max-height: calc(100dvh - 76px) }
.erp-shell .project-cost-page ~ .quick-create-dialog .quick-resource-fields { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: 4px }
.erp-shell .project-cost-page ~ .quick-create-dialog .detail-actions { flex-shrink: 0 }
@media print {
  .workspace-action-menu, .workspace-form-actions, .workspace-module-nav { display: none !important }
}

/* Navigation de la maquette : une identité, un choix de société, puis les espaces. */
.workspace-sidebar-brand{display:none}
.erp-shell .sidebar :is(.nav-link,.nav-menu-overview-link){gap:11px;min-height:43px;padding:10px 12px;font-size:13px;font-weight:500;line-height:1.5;color:var(--muted);border-radius:7px;box-shadow:none}
.erp-shell .sidebar .nav-menu-overview-link{padding-right:36px}
.erp-shell .sidebar :is(.nav-link.active,.nav-menu-overview-link.active){color:var(--blue);background:var(--blue-soft);font-weight:650}
.erp-shell .sidebar .sidebar-section{margin:22px 12px 9px;font-size:9px;line-height:1.5;letter-spacing:.12em;font-weight:550}
.erp-shell .sidebar :is(.resource-icon,.nav-link>svg){width:18px;height:18px;stroke-width:1.6;flex:none}
.erp-shell .sidebar .nav-menu-split>.nav-menu-content>summary{top:4px;height:35px}
.erp-shell .sidebar .nav-dropdown .nav-link{min-height:36px;padding:7px 10px;font-size:12px}
.erp-shell .workspace-trigger .brand-name{display:flex;flex-direction:column;gap:3px}
.erp-shell .workspace-trigger .brand-title{order:0;font-size:12px;font-weight:650}
.erp-shell .workspace-trigger .workspace-tenant{order:1;font-size:10px;font-weight:400;color:var(--muted)}
@media(min-width:901px){
  .erp-shell::before{content:"";position:fixed;inset:0 auto 0 0;width:232px;background:var(--sidebar-bg,var(--surface));border-right:1px solid var(--line);z-index:1;pointer-events:none}
  .erp-shell>header{margin-left:232px;backdrop-filter:none;-webkit-backdrop-filter:none}
  .erp-shell .header-brand{flex:0 0 0;width:0;min-width:0;gap:0!important}
  .erp-shell .workspace-sidebar-brand{position:fixed;top:22px;left:28px;display:grid;justify-items:start;gap:5px}
  .erp-shell .workspace-sidebar-brand .brand-logo{width:125px;height:39px;margin:0;object-fit:contain}
  .erp-shell .workspace-sidebar-brand>small{color:var(--muted);font-size:8px;font-weight:550;letter-spacing:2px;margin-left:4px}
  .erp-shell .workspace-menu{position:fixed;top:93px;left:12px;width:208px}
  .erp-shell .workspace-trigger{width:100%;min-width:0;min-height:60px;padding:10px;border-radius:9px;background:var(--surface);border:1px solid var(--line);box-shadow:none;gap:9px}
  .erp-shell .workspace-trigger .tenant-brand-mark{width:32px;height:33px;padding:3px;border-radius:8px;flex:none}
  .erp-shell .workspace-trigger .brand-name{min-width:0;flex:1}
  .erp-shell .workspace-trigger .workspace-chevron{width:14px;height:14px;flex:none}
  .erp-shell .workspace-panel{top:calc(100% + 8px);max-height:calc(100dvh - 170px)}
  .erp-shell .sidebar{position:fixed;top:170px;left:0;width:232px;height:calc(100dvh - 170px);padding:0 12px 24px;background:transparent;border:0;z-index:10}
  .erp-shell .content-area{grid-column:2;min-width:0}
}
@media print{.erp-shell::before,.workspace-sidebar-brand{display:none!important}.erp-shell>header{margin-left:0}.erp-shell .content-area{grid-column:auto}}

/* Fidélité à la maquette approuvée : surfaces plates, lecture légère, outils intégrés. */
.erp-shell > header { background: var(--surface); border-color: var(--line) }
.erp-shell .workspace-location { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; gap: 12px }
.erp-shell .workspace-breadcrumb { display: flex; align-items: center; min-width: 0; gap: 12px; color: var(--muted); font-size: 11px }
.erp-shell .workspace-breadcrumb > span:last-child { color: var(--ink); font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.erp-shell .workspace-breadcrumb a { display: inline-flex; padding: 5px; color: var(--muted) }
.erp-shell .workspace-breadcrumb svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5 }
.erp-shell .workspace-location .erp-back-navigation { margin: 0; flex: none }
.erp-shell .workspace-location .erp-back-navigation a { padding: 4px 0; font-size: 11px; font-weight: 400 }
.erp-shell > header .global-search { flex: 0 1 280px; max-width: 280px; min-width: 160px; margin: 0; min-height: 34px; border-radius: 7px; box-shadow: none; background: var(--surface-alt) }
.erp-shell > header .global-search input { padding: 7px 4px; font-size: 11px }
.erp-shell > header .erp-phone-link { min-height: 34px; width: 34px; padding: 7px; justify-content: center; border-radius: 7px }
.erp-shell > header .erp-phone-link > span { display: none }
.erp-shell .sidebar .nav-link.active::before { display: none }
.erp-shell main :is(.workspace-heading,.hero,.top-actions,.planner-heading,.workday-heading,.business-heading,.detail-toolbar) h1 { font-size: 26px; font-weight: 650; line-height: 1.3; letter-spacing: -.5px }
.erp-shell main :is(h2,h3) { font-weight: 600 }
.erp-shell main .card { border-radius: 10px; border-color: var(--line); box-shadow: none }
.erp-shell main :is(.module-card,.cockpit-section,.edu-command-main,.edu-command-side,.edu-therapy-panel,.appt-panel) { box-shadow: none; border-radius: 10px }
.erp-shell main .module-card { background: var(--surface); border-color: var(--line) }
.erp-shell .workspace-module-nav { margin-bottom: 14px; padding-bottom: 8px }
.erp-shell .workspace-module-nav .workspace-module-links > a { font-size: 12px; font-weight: 400 }
.erp-shell .workspace-module-nav a[aria-current] { font-weight: 600 }
.erp-shell .workspace-list-surface { border: 1px solid var(--line); border-radius: 10px; background: var(--surface) }
.erp-shell .workspace-list-surface > .list-toolbar { gap: 8px; align-items: center; margin: 0; padding: 12px 16px; border-bottom: 1px solid var(--line) }
.erp-shell .list-toolbar > .workspace-result-count { flex: 0 0 auto; margin: 0 auto 0 0; padding: 7px 10px; border-radius: 5px; color: var(--blue); background: var(--blue-soft); font-size: 12px; font-weight: 600 }
.erp-shell .workspace-list-surface .search-box { flex: 0 1 220px; min-width: 160px; min-height: 36px; box-shadow: none; border-radius: 7px }
.erp-shell .workspace-list-surface .search-box input { width: 100%; padding: 8px 10px; font-size: 12px }
.erp-shell .workspace-list-surface .search-box button { display: grid; place-items: center; flex: none; width: 30px; min-height: 28px; margin: 2px; padding: 4px; border: 0; border-radius: 5px; box-shadow: none; background: transparent; color: var(--muted) }
.erp-shell .workspace-list-surface .search-box button:hover { color: var(--blue); background: var(--blue-soft) }
.erp-shell .workspace-list-surface .search-box svg { width: 16px; height: 16px; margin: 0 }
.erp-shell .workspace-list-surface .per-page { font-size: 11px; font-weight: 400; gap: 6px }
.erp-shell .workspace-list-surface .per-page select { min-height: 34px; padding: 6px 7px; border-radius: 7px; font-size: 12px }
.erp-shell .workspace-list-surface .list-toolbar > :is(.filter-panel,.column-panel) { box-shadow: none; border-radius: 7px }
.erp-shell .workspace-list-surface .list-toolbar > details > summary { font-size: 12px; font-weight: 500; padding: 8px 0 }
.erp-shell .workspace-list-surface .data-table-wrap { padding: 0; border: 0; border-radius: 0 0 10px 10px; box-shadow: none }
.erp-shell .workspace-list-surface .data-table th { height: 40px; padding: 10px 16px; font-size: 11px; font-weight: 550; letter-spacing: 0; text-transform: none; box-shadow: none }
.erp-shell .workspace-list-surface .data-table td { padding: 14px 16px; font-size: 13px; line-height: 1.6 }
.erp-shell .data-table .actions-cell { min-width: 0; width: 1%; text-align: left }
.erp-shell .list-row-actions { justify-content: flex-start; gap: 2px }
.erp-shell .list-row-action:not(.list-row-action-delete,.list-row-action-danger) { color: var(--muted) }
.erp-shell .list-row-action:hover { color: var(--blue) }
.erp-shell .data-table .list-identity { color: var(--ink); font-weight: 650; text-decoration: none }
.erp-shell .data-table .list-identity:hover { color: var(--blue); text-decoration: underline }
.erp-shell .workspace-list-surface .list-status-chip { padding: 3px 6px; border-radius: 4px; font-size: 11px; font-weight: 500 }
.erp-shell .workspace-list-surface .pagination { margin: 0; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 12px }
.erp-shell .workspace-list-surface .list-empty-state { border: 0; border-radius: 0 0 10px 10px; margin: 0; min-height: 240px; background: transparent }
.erp-shell .workspace-list-surface .bulk-bar { margin: 10px 16px }
.erp-shell .workspace-form-heading .eyebrow { display: none }
.erp-shell .workspace-form-heading .workspace-heading-copy { gap: 4px 16px }
.erp-shell .workspace-form-card label { font-weight: 500; font-size: 12px }
.erp-shell .workspace-form-card :is(input,select,textarea) { font-size: 13px }
.erp-shell > .legal-footer { margin-left: 232px; padding: 12px 24px; background: transparent; border: 0; font-size: 10px }
.erp-shell > .legal-footer a { color: var(--muted); font-weight: 400 }
@media (max-width: 1100px) {
  .erp-shell .workspace-breadcrumb { gap: 7px }
  .erp-shell .workspace-location { gap: 8px }
  .erp-shell .workspace-list-surface > .list-toolbar { padding: 10px 12px }
  .erp-shell .workspace-list-surface .search-box { flex: 1 1 200px }
}
@media (max-width: 900px) {
  .erp-shell .workspace-location { flex-basis: 100%; order: 3; min-height: 24px }
  .erp-shell > header .global-search { flex: 1 1 160px; max-width: none; min-width: 0 }
  .erp-shell > .legal-footer { margin-left: 0 }
}
@media (max-width: 650px) {
  .erp-shell main :is(.workspace-heading,.hero,.top-actions,.planner-heading,.workday-heading,.business-heading,.detail-toolbar) h1 { font-size: 23px }
  .erp-shell .workspace-list-surface .search-box { flex: 1 1 100%; min-width: 0 }
  .erp-shell .workspace-list-surface .per-page { flex-wrap: wrap; white-space: normal }
  .erp-shell .workspace-list-surface .data-table td { padding: 12px; font-size: 13px }
  .erp-shell .workspace-list-surface .list-toolbar > details > summary { min-height: 40px; display: flex; align-items: center }
  .erp-shell .workspace-list-surface .search-box button { min-height: 38px; width: 38px }
}
@media print { .erp-shell .workspace-location { display: none } .erp-shell > .legal-footer { margin-left: 0 } }

/* Le calendrier reste spécialisé, avec les mêmes proportions et accents que le socle. */
.erp-shell :is(.appt,.appt-nav,.appt-booking) { --appt-accent: var(--blue); --appt-soft: var(--blue-soft); --appt-radius: 10px; font-size: 14px }
.erp-shell .planner .planner-heading { margin: 0 0 14px }
.erp-shell .planner .planner-view-switch { padding: 3px; border-radius: 8px }
.erp-shell .planner .planner-view-switch a { min-height: 34px; padding: 7px 10px; border-radius: 6px; font-size: 12px; font-weight: 500 }
.erp-shell .planner .appt-location-switch { margin: 0 0 12px; padding: 6px 12px; border-radius: 10px; gap: 8px }
.erp-shell .planner .appt-location-switch a { min-height: 34px; padding: 6px 10px; font-size: 12px; border-radius: 7px }
.erp-shell .planner .appt-location-switch svg { width: 18px; height: 18px }
.erp-shell .planner .planner-toolbar { padding: 10px 14px; margin-bottom: 14px; gap: 8px; border-radius: 10px }
.erp-shell .planner :is(.planner-arrow,.planner-today) { min-width: 36px; min-height: 36px; font-size: 12px; border-radius: 7px }
.erp-shell .planner .planner-date-form { gap: 8px }
.erp-shell .planner .planner-date-form label { font-size: 12px; font-weight: 400 }
.erp-shell .planner .planner-date-form input { min-height: 36px; font-size: 13px; border-radius: 7px }
.erp-shell .planner .planner-date-form button { min-height: 36px; padding: 7px 12px; font-size: 12px }
.erp-shell .planner .planner-periods { gap: 6px }
.erp-shell .planner .planner-periods a { padding: 5px 9px; min-height: 30px; border-radius: 6px; font-size: 12px; font-weight: 500 }
.erp-shell .planner .planner-panel { padding: 10px 14px; border-radius: 10px }
.erp-shell .planner .planner-panel > summary { min-height: 32px; padding: 5px 0; font-size: 13px; font-weight: 600 }
.erp-shell .planner .planner-panel summary small { margin: 3px 0 0; font-size: 12px }
.erp-shell .planner .planner-bookable_service-panel { margin-bottom: 14px }
.erp-shell .planner .planner-bookable_service-list { padding-top: 6px; gap: 8px }
.erp-shell .planner .appointments-choice-card,
.erp-shell .planner .planner-bookable_service-list .appointments-choice-card { border-width: 1px; border-radius: 8px; min-height: 58px; padding: 10px }
.erp-shell .planner .appointments-choice-card strong { font-size: 13px; font-weight: 600 }
.erp-shell .planner .appointments-choice-card small { font-size: 12px }
.erp-shell .planner .planner-bookable_service-image { width: 38px; height: 38px; flex-basis: 38px; border-radius: 7px }
.erp-shell .planner .planner-step { width: 20px; height: 20px; font-size: 11px; font-weight: 600 }
.erp-shell .planner .planner-layout { grid-template-columns: 232px minmax(0,1fr); gap: 18px }
.erp-shell .planner .planner-controls { gap: 12px }
.erp-shell .planner .planner-agenda-heading { padding: 0 0 10px }
.erp-shell .planner .planner-agenda-heading h2 { font-family: inherit; font-size: 20px; font-weight: 600; margin: 2px 0 5px }
.erp-shell .planner .planner-agenda-heading .appt-eyebrow { display: none }
.erp-shell .planner .planner-agenda-heading p { font-size: 12px; margin: 4px 0 }
.erp-shell .planner .planner-notice { padding: 10px 12px; font-size: 12px; border-radius: 8px; margin-bottom: 12px }
.erp-shell .planner :is(.planner-day-agenda,.planner-appointment) { border-radius: 10px }
.erp-shell .workspace-form-card .customer-panel { padding: 18px 0; margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none }
.erp-shell .workspace-form-card .customer-panel:first-of-type { border-top: 0; padding-top: 4px }
.erp-shell .workspace-form-card .customer-panel .eyebrow { display: none }
.erp-shell .workspace-form-card .customer-panel h2 { font-size: 16px; font-weight: 600 }
@media (max-width: 900px) {
  .erp-shell .workspace-location { grid-column: 1 / -1; grid-row: 3 }
  .erp-shell > header .global-search input { font-size: 16px; min-height: 44px }
  .erp-shell > header .erp-phone-link { min-width: 44px; min-height: 44px; width: 44px }
  .erp-shell .workspace-list-surface :is(input,select), .erp-shell .workspace-form-card :is(input,select,textarea) { font-size: 16px }
  .erp-shell .workspace-list-surface :is(.search-box input,.per-page select) { min-height: 44px }
  .erp-shell .planner :is(.planner-arrow,.planner-today,.planner-view-switch a,.appt-location-switch a,.planner-date-form button) { min-height: 44px }
  .erp-shell .planner .planner-date-form input { min-height: 44px; font-size: 16px }
}
@media (max-width: 1000px) {
  .erp-shell .planner .planner-layout { grid-template-columns: minmax(0,1fr) }
}

/* Barre haute de la maquette : rubrique, recherche, apparence, langue, compte. */
:is(.erp-shell,.core-shell) .workspace-theme-menu { position: relative; flex: none }
:is(.erp-shell,.core-shell) .workspace-theme-menu > summary { display: grid; place-items: center; width: 30px; height: 34px; padding: 6px; border: 0; border-radius: 6px; background: transparent; color: var(--blue); cursor: pointer; list-style: none }
.workspace-theme-menu > summary::-webkit-details-marker { display: none }
.workspace-theme-menu > summary svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.4; fill: none }
:is(.erp-shell,.core-shell) .workspace-theme-menu > summary:hover { background: var(--blue-soft) }
.workspace-theme-menu:not([open]) > .workspace-preference-panel { display: none }
:is(.erp-shell,.core-shell) .workspace-preference-panel { position: absolute; z-index: 40; right: 0; top: calc(100% + 8px); width: 260px; max-width: calc(100vw - 24px); padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 12px 32px color-mix(in srgb,var(--ink) 12%,transparent) }
.workspace-preference-panel > strong { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600 }
:is(.erp-shell,.core-shell) .workspace-preference-panel select { width: 100%; min-width: 0; min-height: 38px; font-size: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink) }
:is(.erp-shell,.core-shell) header :is(.language-switcher,.core-language-switcher) { display: block; width: 55px; margin: 0; flex: none }
:is(.erp-shell,.core-shell) header :is(.language-switcher,.core-language-switcher) select { display: block; width: 55px; min-width: 0; min-height: 34px; padding: 5px 2px; border: 0; border-radius: 6px; font-size: 11px; font-weight: 600; background: transparent; color: var(--ink); cursor: pointer }
.erp-shell > header .global-search { flex-basis: 215px; max-width: 215px }
.erp-shell > header .account-name { display: none }
.erp-shell > header .account-menu > summary { padding: 0; min-width: 34px; min-height: 34px; border: 0; border-radius: 50%; background: transparent; box-shadow: none }
.erp-shell > header .account-menu > summary::after { display: none }
.erp-shell > header .account-menu > summary .account-avatar { width: 32px; height: 32px; color: var(--blue); background: var(--blue-soft); font-size: 11px; font-weight: 600; box-shadow: none }
.erp-shell .workspace-location .erp-back-navigation svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5 }
.erp-shell .workspace-location .erp-back-navigation a { padding: 5px }
.erp-shell .workspace-location { gap: 5px }
.erp-shell .workspace-heading { margin-bottom: 10px }
.erp-shell .workspace-form-heading { padding-bottom: 0; border: 0 }
.erp-shell .workspace-module-nav { min-height: 38px; margin-bottom: 12px; padding-bottom: 6px }
.erp-shell .workspace-module-nav .workspace-module-links > a { padding: 7px 10px; min-height: 34px }
.erp-shell .workspace-module-nav .workspace-module-links > a > :is(svg,.resource-icon) { display: none }
.erp-shell .workspace-module-nav .workspace-module-all { min-height: 30px; padding: 5px 8px; border: 0; background: transparent; font-size: 11px; font-weight: 400 }
.erp-shell .workspace-list-surface > .list-toolbar { padding: 9px 16px; gap: 9px }
.erp-shell .workspace-list-surface .search-box { flex-basis: 200px; margin-left: auto }
.erp-shell .workspace-list-surface .column-panel > summary { display: flex; align-items: center; gap: 7px; list-style: none }
.erp-shell .workspace-list-surface .column-panel > summary::-webkit-details-marker { display: none }
.workspace-columns-icon { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.3 }
.erp-shell .workspace-list-surface .list-display-options { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 12px 0; border-bottom: 1px solid var(--line) }
.erp-shell .workspace-list-surface .list-display-options .per-page { font-size: 12px }
.erp-shell .workspace-list-surface .data-table td { padding-top: 17px; padding-bottom: 17px }
.erp-shell .workspace-list-surface .list-sort-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; font-size: 11px; font-weight: 550 }
.erp-shell .workspace-list-surface .list-sort-indicator { font-size: 11px; color: var(--muted); opacity: .65 }
.erp-shell .workspace-list-surface .list-sort-link.is-active .list-sort-indicator { color: var(--blue); opacity: 1 }
.erp-shell .list-identity-detail { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.4 }
.erp-shell .workspace-list-surface .actions-cell { padding-left: 16px; padding-right: 6px }
.erp-shell .workspace-list-surface .select-cell { padding-left: 4px; padding-right: 8px; width: 24px }
/* CORE utilise les mêmes proportions, palettes et surfaces que l'ERP. */
.core-shell { --sidebar-width: 232px; font: 14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background: var(--bg); color: var(--ink) }
.core-shell .mc-topbar { min-height: 56px; padding: 8px 24px; gap: 12px; border-bottom: 1px solid var(--line); background: var(--surface); box-shadow: none }
.core-shell .mc-topbar-actions { gap: 6px }
.core-shell .mc-search { max-width: 280px; min-height: 34px; border-radius: 7px; margin-left: auto }
.core-shell .mc-search input { min-height: 32px; font-size: 11px; padding: 6px }
.core-shell .mc-account-label { display: none }
.core-shell .mc-account-menu > summary { min-width: 34px; padding: 0; border: 0; background: transparent; border-radius: 50%; box-shadow: none }
.core-shell .mc-account-menu > summary .mc-avatar { width: 32px; height: 32px; font-size: 11px; color: var(--blue); background: var(--blue-soft) }
.core-shell .mc-sidebar { padding: 24px 12px 20px; border-right: 1px solid var(--line); background: var(--sidebar-bg,var(--surface)) }
.core-shell .mc-sidebar .control-nav a { min-height: 40px; padding: 9px 12px; font-size: 13px; font-weight: 400; border-radius: 7px; color: var(--muted) }
.core-shell .mc-sidebar .control-nav a.active { color: var(--blue); background: var(--blue-soft); font-weight: 600; box-shadow: none }
.core-shell .mc-sidebar .control-nav-title { font-size: 9px; font-weight: 500; letter-spacing: .1em }
.core-shell .mc-page-head h1 { font-size: 26px; font-weight: 650; line-height: 1.3; letter-spacing: -.5px }
.core-shell :is(h2,h3) { font-weight: 600 }
.core-shell :is(.card,.mc-card,.mc-panel,.mc-section-card) { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; box-shadow: none }
.core-shell :is(button,.button) { min-height: 36px; padding: 9px 13px; border-radius: 7px; font-size: 12px; font-weight: 600; box-shadow: none }
.core-shell :is(input:not([type=checkbox],[type=radio]),select,textarea) { border-radius: 7px; font-size: 13px }
.core-shell thead th { padding: 12px 16px; font-size: 11px; font-weight: 550; text-transform: none; letter-spacing: 0; color: var(--muted); background: var(--surface-alt) }
.core-shell tbody td { padding: 16px; font-size: 13px; border-color: var(--line) }
.core-shell tbody td a:not(.button,.list-row-action) { color: var(--ink); font-weight: 600; text-decoration: none }
.core-shell tbody td a:hover { color: var(--blue); text-decoration: underline }
@media (max-width: 900px) {
  .erp-shell > header { grid-template-columns: minmax(0,1fr) 30px 55px 44px; column-gap: 4px }
  .erp-shell > header .header-brand { grid-column: 1; grid-row: 1 }
  .erp-shell > header .workspace-theme-menu { grid-column: 2; grid-row: 1 }
  .erp-shell > header .language-switcher { grid-column: 3; grid-row: 1 }
  .erp-shell > header .account-menu { grid-column: 4; grid-row: 1 }
  .erp-shell > header .global-search, .erp-shell > header:has(.erp-phone-link) .global-search { grid-column: 1 / 4; grid-row: 2; width: 100%; max-width: none }
  .erp-shell > header .erp-phone-link { grid-column: 4; grid-row: 2 }
  .erp-shell .workspace-location { grid-column: 1 / -1; grid-row: 3 }
  .erp-shell > header .workspace-trigger .brand-title { font-size: 11px }
  .erp-shell > header .workspace-trigger .tenant-brand-mark { display: none }
  .erp-shell .workspace-theme-menu > summary { min-height: 44px }
  .core-shell .mc-topbar { padding: 8px 12px; flex-wrap: wrap }
  .core-shell .mc-search { order: 3; flex-basis: 100%; max-width: none }
}

/* Fiches natives en fenêtre : même document et même formulaire que la page complète. */
.workspace-record-dialog { width: min(1180px,calc(100vw - 40px)); height: min(900px,calc(100dvh - 40px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 70px color-mix(in srgb,var(--ink) 20%,transparent); overflow: hidden }
.workspace-record-dialog:not([open]) { display: none }
.workspace-record-dialog[open] { display: flex; flex-direction: column }
.workspace-record-dialog::backdrop { background: color-mix(in srgb,var(--ink) 26%,transparent); backdrop-filter: blur(2px) }
.workspace-record-toolbar { display: flex; align-items: center; gap: 14px; min-height: 44px; padding: 6px 12px 6px 20px; border-bottom: 1px solid var(--line); flex: none; background: var(--surface) }
.workspace-record-toolbar > span { font-size: 12px; font-weight: 600; color: var(--muted) }
.workspace-record-full { margin-left: auto; color: var(--muted); font-size: 11px; text-decoration: none }
:is(.erp-shell,.core-shell) .workspace-record-close { display: grid; place-items: center; width: 32px; height: 32px; min-height: 32px; padding: 0; font-size: 23px; font-weight: 400; background: transparent; border: 0; box-shadow: none; color: var(--muted) }
.workspace-record-status { padding: 20px; margin: 0; font-size: 13px; color: var(--muted) }
.workspace-record-status[hidden],.workspace-record-frame[hidden] { display: none }
.workspace-record-frame { display: block; width: 100%; flex: 1; min-height: 0; border: 0; background: var(--surface) }
.workspace-popup-notice { padding: 10px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--success-soft); color: var(--success); font-size: 13px }
.workspace-dialog-page::before,.workspace-dialog-page > header,.workspace-dialog-page :is(.sidebar,.mc-sidebar,.mc-topbar,.workspace-module-nav,.workspace-sidebar-brand,.legal-footer,.maddie-floating-assistant,.maddie-chat-bubble,.workspace-record-dialog) { display: none !important }
.workspace-dialog-page :is(.app-layout,.mc-shell) { display: block; min-height: 0 }
.workspace-dialog-page :is(.content-area,.mc-content) { width: 100%; min-width: 0; margin: 0; padding: 0 }
.workspace-dialog-page main { width: 100%; max-width: none; margin: 0; padding: 18px 24px 32px; animation: none }
@media (max-width: 650px) {
  .workspace-record-dialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); border-radius: 10px }
  .workspace-record-toolbar { min-height: 44px; padding: 6px 10px; gap: 8px }
  .workspace-dialog-page main { padding: 14px }
}

.erp-shell .workspace-list-surface .list-status-legend { flex: 1 1 260px; min-width: 0; max-width: 58%; padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none }
.erp-shell .workspace-list-surface .list-status-legend-items { display: flex; flex-wrap: nowrap; gap: 3px; overflow-x: auto; scrollbar-width: thin }
.erp-shell .workspace-list-surface .list-status-legend-items > a { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 400; text-decoration: none; box-shadow: none }
.erp-shell .workspace-list-surface .list-status-legend-items > a.active { color: var(--blue); background: var(--blue-soft); font-weight: 600 }
.erp-shell .workspace-list-surface .list-status-legend-items .list-status-swatch { display: none }
.erp-shell .workspace-list-surface .list-status-legend-items strong { font-size: 10px; font-weight: 500 }
.erp-shell .workspace-list-surface .list-status-legend-heading { padding: 0; border: 0 }
.erp-shell .workspace-list-surface:has(.list-status-legend) .workspace-result-count { margin-right: 0 }
.erp-shell .workspace-list-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; min-height: 42px; padding: 10px 16px; border-top: 1px solid var(--line); font-size: 10px; color: var(--muted) }
.erp-shell .workspace-list-footer .pagination { margin: 0; padding: 0; border: 0; min-width: 0 }
@media(max-width:650px) { .erp-shell .workspace-list-surface .list-status-legend { max-width: 100%; flex-basis: 100% } }

.core-shell .workspace-location { display: flex; flex: 1; align-items: center; min-width: 0 }
.core-shell .workspace-breadcrumb,.core-shell .mc-breadcrumb { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; min-width: 0; color: var(--muted); font-size: 11px }
.core-shell .workspace-breadcrumb > span:last-child,.core-shell .mc-breadcrumb > span:last-child { color: var(--ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.core-shell .workspace-breadcrumb a,.core-shell .mc-breadcrumb a { color: var(--muted); text-decoration: none }
.core-shell .workspace-location:has(.mc-breadcrumb) .workspace-breadcrumb { display: none }
.workspace-dialog-page .mc-main-column { display: block; min-height: 0 }
@media(max-width:900px) { .core-shell .workspace-location { flex: 1 1 180px } }

.core-shell main :is(.card,.mc-stat) { border-color: var(--line); border-radius: 10px; box-shadow: none; background: var(--surface) }
.core-shell main .mc-stat { padding: 14px 16px; gap: 7px }
.core-shell .mc-stat::after { display: none }
.core-shell .mc-stat-label { font-size: 12px; font-weight: 550; letter-spacing: 0; text-transform: none }
.core-shell .mc-stat-value { font-size: 27px; font-weight: 650; line-height: 1.15 }
.core-shell .mc-stat-foot { font-size: 11px }
.core-shell .mc-page-head .eyebrow { display: none }
.core-shell .mc-search input { padding-left: 32px; padding-right: 35px; min-height: 34px }
.core-shell .mc-brand { padding: 3px 8px 16px; gap: 8px }
.core-shell .mc-brand img { width: 88px; height: 29px }
.core-shell .mc-brand strong { font-size: 12px; font-weight: 600 }
.core-shell .mc-brand small { font-size: 9px }
.core-shell .mc-sidebar .control-nav a.active { box-shadow: none; background: var(--blue-soft); color: var(--blue) }

/* Les panneaux d'affichage s'ouvrent au-dessus de la liste, sans déplacer ses lignes. */
.erp-shell .workspace-list-surface .list-toolbar { position: relative }
.erp-shell .workspace-list-surface .list-toolbar > :is(.column-panel,.filter-panel),
.erp-shell .workspace-list-surface .list-toolbar > :is(.column-panel,.filter-panel)[open] { position: relative; flex: 0 0 auto; width: auto; margin: 0; padding: 0 10px }
.erp-shell .workspace-list-surface :is(.column-panel-body,.workspace-filter-body) { position: absolute; z-index: 24; right: 0; top: calc(100% + 8px); width: min(520px,calc(100vw - 48px)); max-height: min(520px,65dvh); overflow: auto; padding: 14px 16px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: 0 12px 30px color-mix(in srgb,var(--ink) 12%,transparent) }
.erp-shell .workspace-list-surface .column-panel .filter-count { min-width: 0; padding: 1px 5px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-size: 10px; font-weight: 500 }
.erp-shell .workspace-list-surface .column-panel-body > p { margin: 10px 0; font-size: 12px }
.erp-shell .workspace-list-surface .column-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px }
.erp-shell .workspace-list-surface .column-choice-grid label { min-width: 0; font-size: 12px; font-weight: 400 }
:is(.erp-shell,.core-shell) { --shadow: none }
.erp-shell main h1 { font-family: inherit; font-size: 26px; font-weight: 650; line-height: 1.3 }
.erp-shell .dashboard-welcome { padding: 0; margin: 0 0 16px; border: 0; border-radius: 0; background: transparent; box-shadow: none }
.erp-shell .dashboard-welcome .eyebrow { font-size: 10px; font-weight: 500; letter-spacing: 0 }
.erp-shell .dashboard-welcome p { font-size: 13px }
@media(max-width:650px) {
 .erp-shell .workspace-list-surface :is(.column-panel-body,.workspace-filter-body) { position: fixed; left: 14px; right: 14px; top: calc(var(--erp-header-height,140px) + 78px); width: auto; max-height: 58dvh }
 .erp-shell main h1 { font-size: 23px }
 .erp-shell .workspace-list-surface .data-table { min-width: 600px }
 .erp-shell .workspace-list-surface .list-sort-link { white-space: nowrap }
}

.core-shell .mc-quick > summary { min-height: 34px; padding: 6px 8px; border: 1px solid var(--line); color: var(--muted); background: transparent; box-shadow: none; font-weight: 500 }
@media(max-width:900px) { :is(.erp-shell,.core-shell) header :is(.language-switcher,.core-language-switcher) select { font-size: 16px; min-height: 44px } }

.erp-shell .detail-tabs[data-primary-tab="default"] [data-detail-tab="default"] { order: -1 }
.core-shell main .mc-tabs { padding: 0 0 8px; margin: 10px 0 16px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; gap: 4px }
.core-shell main .mc-tabs a { min-height: 34px; padding: 7px 10px; border-radius: 6px; font-size: 12px; font-weight: 400; color: var(--muted); background: transparent }
.core-shell main .mc-tabs a.active { color: var(--blue); background: var(--blue-soft); font-weight: 600 }
.core-shell main .mc-tenant-head { padding: 0; margin: 0 0 10px; border: 0; border-radius: 0; box-shadow: none; background: transparent }
.core-shell .mc-tenant-identity { gap: 12px }
.core-shell .mc-tenant-identity .mc-monogram { width: 36px; height: 36px; font-size: 13px; border-radius: 9px }
.core-shell .mc-tenant-identity .eyebrow { display: none }
.core-shell .mc-tenant-identity h1 { margin: 0 0 4px; font-size: 26px; font-weight: 650 }
.core-shell .mc-tenant-identity p { font-size: 11px }
.core-shell .mc-tenant-chips { margin-top: 5px }

.core-shell .mc-sidebar-close { display: none }
@media(max-width:900px) {
 .core-shell .mc-sidebar-close { display: grid; place-items: center; position: absolute; top: 10px; right: 8px; width: 36px; height: 36px; min-height: 36px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 24px; box-shadow: none }
 .core-shell .mc-brand { padding-right: 30px }
}

.erp-shell main :is(h2,h3,h4) { font-family: inherit }

/* Alignement maquette : menu, fil d'Ariane et recherche globale. */
.erp-shell .nav-link .nav-count-soft { background: var(--accent-soft, var(--blue-soft)); color: var(--accent, var(--blue)) }
.erp-shell .workspace-breadcrumb-company { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 22ch }
.erp-shell .workspace-breadcrumb-sep { color: var(--muted) }
.erp-shell > header .global-search .global-search-submit { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0 }
@media (max-width: 600px) { .erp-shell .workspace-breadcrumb-company, .erp-shell .workspace-breadcrumb-sep { display: none } }

/* Sous-onglets : les écrans regroupés sous l'onglet ouvert. */
.erp-shell .workspace-module-subnav { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 14px }
.erp-shell .workspace-module-subnav a { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--surface); font-size: .76rem; font-weight: 600; text-decoration: none; white-space: nowrap }
.erp-shell .workspace-module-subnav a:hover { color: var(--ink); border-color: var(--input-border, var(--line)) }
.erp-shell .workspace-module-subnav a[aria-current] { color: var(--blue); border-color: var(--blue); background: var(--blue-soft) }
@media (max-width: 600px) { .erp-shell .workspace-module-subnav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px } }

/* Fenêtre « Choisir les colonnes » (maquette) : cases en deux colonnes, identité verrouillée. */
.list-columns-dialog { width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 60px rgba(15, 23, 42, .28) }
.list-columns-dialog::backdrop { background: rgba(15, 23, 42, .45) }
.list-columns-dialog form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: inherit; margin: 0 }
.list-columns-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 22px 6px }
.list-columns-head small { color: var(--muted); font-size: .72rem }
.list-columns-head h2 { margin: 2px 0 0; font-size: 1.2rem }
.list-columns-close { display: grid; place-items: center; width: 32px; height: 32px; min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 1.4rem; box-shadow: none }
.list-columns-body { display: grid; gap: 14px; padding: 6px 22px 18px; overflow: auto }
.list-columns-body > p { margin: 0; font-size: .82rem }
.list-columns-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px }
.list-columns-option { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: .82rem; cursor: pointer }
.list-columns-option input { margin: 2px 0 0; accent-color: var(--blue) }
.list-columns-option span { display: grid; gap: 3px; min-width: 0; overflow-wrap: anywhere }
.list-columns-option small { color: var(--muted); font-size: .72rem }
.list-columns-option:has(input:checked) { border-color: color-mix(in srgb, var(--blue) 35%, var(--line)); background: var(--blue-soft) }
.list-columns-option.is-locked { cursor: default; background: var(--surface-alt) }
.list-columns-display { display: flex; flex-wrap: wrap; gap: 10px 18px; padding-top: 12px; border-top: 1px solid var(--line); font-size: .8rem; color: var(--muted) }
.list-columns-display label { display: flex; align-items: center; gap: 8px }
.list-columns-display select { min-height: 34px }
.list-columns-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 22px; border-top: 1px solid var(--line); background: var(--surface-alt) }
.list-columns-foot .link-button { padding: 6px 0; border: 0; background: transparent; color: var(--blue); font-weight: 600; box-shadow: none }
.list-columns-foot > span { display: flex; gap: 8px }
.erp-shell .list-toolbar .list-columns-button { display: inline-flex; align-items: center; gap: 7px }
.erp-shell .list-toolbar .list-columns-button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5 }
@media (max-width: 520px) { .list-columns-grid { grid-template-columns: minmax(0, 1fr) } }
.erp-shell .workspace-list-footer .workspace-list-sort { margin-left: auto }
.erp-shell .workspace-list-footer a { color: var(--blue); font-weight: 600 }

/* Fiche en fenêtre (maquette) : taille du contenu, pas de « Retour », action principale en bas. */
.workspace-record-dialog { width: min(880px, calc(100vw - 40px)); height: min(calc(var(--record-content-height, 860px) + 46px), calc(100dvh - 40px)); transition: height .15s ease }
.workspace-record-dialog.is-form { width: min(1180px, calc(100vw - 40px)) }
@media (prefers-reduced-motion: reduce) { .workspace-record-dialog { transition: none } }
.workspace-dialog-page .detail-toolbar .back-link { display: none }
.workspace-dialog-page .detail-toolbar { padding-top: 4px }
.workspace-dialog-page .detail-toolbar .eyebrow { margin: 0 0 2px; color: var(--muted); font-size: .72rem; letter-spacing: 0; text-transform: none }
.workspace-dialog-page .detail-toolbar .detail-status { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 5px; background: var(--blue-soft); color: var(--blue); font-size: .72rem; font-weight: 650 }
.workspace-dialog-page .detail-toolbar .detail-toolbar-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; flex-direction: row-reverse; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 12px 24px; border-top: 1px solid var(--line); background: var(--surface-alt) }
.workspace-dialog-page .detail-toolbar .detail-toolbar-actions:not(:has(a, button)) { display: none }
.workspace-dialog-page .detail-toolbar .detail-toolbar-actions .detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 auto 0 0 }
.workspace-dialog-page main:has(.detail-toolbar-actions :is(a, button)) { padding-bottom: 88px }
@media (max-width: 650px) {
  .workspace-record-dialog, .workspace-record-dialog.is-form { width: calc(100vw - 12px); height: min(calc(var(--record-content-height, 860px) + 46px), calc(100dvh - 12px)) }
  .workspace-dialog-page .detail-toolbar .detail-toolbar-actions { padding: 10px 14px max(10px, env(safe-area-inset-bottom)) }
}

/* CORE : barre de liste compacte (maquette) — compteur, recherche, filtres repliés. */
.core-shell .mc-list-toolbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line) }
.core-shell .mc-result-count { margin: 0 auto 0 0; padding: 5px 10px; border-radius: 6px; background: var(--blue-soft); color: var(--blue); font-size: .8rem; font-weight: 650 }
.core-shell .mc-list-search { display: flex; align-items: center; gap: 6px; flex: 0 1 280px; min-width: 180px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface) }
.core-shell .mc-list-search svg { width: 16px; height: 16px; flex: none; color: var(--muted) }
.core-shell .mc-list-search input { flex: 1; min-width: 0; padding: 8px 2px; border: 0; background: transparent; box-shadow: none }
.core-shell .mc-filter-panel > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); cursor: pointer; font-size: .82rem; font-weight: 600; list-style: none }
.core-shell .mc-filter-panel > summary::-webkit-details-marker { display: none }
.core-shell .mc-filter-panel[data-active] > summary { border-color: var(--blue); color: var(--blue) }
.core-shell .mc-filter-body { position: absolute; right: 16px; top: calc(100% - 4px); z-index: 20; display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)); gap: 12px 14px; width: min(460px, calc(100vw - 32px)); padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 16px 40px rgba(15, 23, 42, .16) }
.core-shell .mc-filter-body .field label { display: block; margin: 0 0 4px; color: var(--muted); font-size: .76rem; font-weight: 600 }
.core-shell .mc-filter-body select { width: 100%; padding: 8px 10px }
.core-shell .mc-filter-check { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .84rem; color: var(--ink) }
.core-shell .mc-filter-actions { display: flex; justify-content: flex-end; gap: 8px; grid-column: 1 / -1 }
.core-shell .mc-list-note { margin: 0; padding: 8px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .76rem }
@media (max-width: 600px) { .core-shell .mc-list-search { flex: 1 1 100% } .core-shell .mc-filter-body { left: 16px; right: 16px; width: auto; grid-template-columns: minmax(0, 1fr) } }
.core-shell .workspace-breadcrumb a { display: inline-flex; padding: 5px; color: var(--muted) }
.core-shell .workspace-breadcrumb svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5 }

/* Choix du thème : une miniature par palette (fond, menu, carte, accent). */
:is(.erp-shell,.core-shell) .workspace-preference-panel:has(.theme-picker) { width: 372px; max-height: min(72vh, 640px); overflow: auto }
.theme-picker { display: grid; gap: 12px; margin: 0 }
.theme-picker-hint { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45 }
.theme-picker-group { margin: 0; padding: 0; border: 0; min-width: 0 }
.theme-picker-group legend { margin: 0 0 6px; padding: 0; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase }
.theme-picker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px }
:is(.erp-shell,.core-shell) .theme-picker .theme-picker-option { display: grid; gap: 6px; min-height: 0; padding: 6px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); text-align: left; font: inherit; font-size: 11.5px; font-weight: 600; box-shadow: none; cursor: pointer }
:is(.erp-shell,.core-shell) .theme-picker .theme-picker-option:hover { border-color: var(--blue) }
:is(.erp-shell,.core-shell) .theme-picker .theme-picker-option:focus-visible { outline: 3px solid var(--blue); outline-offset: 1px }
:is(.erp-shell,.core-shell) .theme-picker .theme-picker-option[aria-current] { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue) }
.theme-picker-option[aria-current] .theme-picker-name::after { content: " ✓"; color: var(--blue) }
.theme-picker-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.theme-preview { display: grid; grid-template-columns: 22% minmax(0, 1fr); height: 52px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--bg) }
.theme-preview-side { background: var(--sidebar-bg, var(--surface-alt)); border-right: 1px solid var(--line) }
.theme-preview-main { display: flex; align-items: center; gap: 6px; padding: 7px }
.theme-preview-card { display: grid; flex: 1; gap: 5px; align-self: stretch; align-content: center; padding: 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface) }
.theme-preview-line { display: block; height: 4px; width: 80%; border-radius: 2px; background: var(--ink) }
.theme-preview-line.is-muted { width: 55%; background: var(--muted) }
.theme-preview-accent { flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft) }
@media (max-width: 420px) { :is(.erp-shell,.core-shell) .workspace-preference-panel:has(.theme-picker) { width: calc(100vw - 24px) } }

/* CORE : une entrée par rubrique à gauche, les écrans de la rubrique en onglets en haut (comme l'ERP). */
.core-shell .control-nav.is-compact { gap: 2px }
.core-shell .control-nav.is-compact .control-nav-section + .control-nav-section { padding-top: 0; border-top: 0 }
.core-shell .control-nav.is-compact:not(.is-filtering) :is(.control-nav-links, .control-nav-title) { display: none }
.core-shell .control-nav.is-compact.is-filtering .control-nav-entry { display: none }
.core-shell .control-nav.is-compact.is-filtering .control-nav-title { display: block; margin-top: 8px }
.core-shell .control-nav-entry .mc-nav-count { margin-left: auto }
.core-shell .core-module-nav { display: flex; align-items: center; gap: 6px; min-width: 0; margin: 0 0 14px; padding: 0 0 8px; border-bottom: 1px solid var(--line) }
.core-shell .core-module-nav .workspace-module-links { display: flex; align-items: center; gap: 4px; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: thin }
.core-shell .core-module-nav .workspace-module-links > a { display: inline-flex; flex: none; align-items: center; gap: 7px; min-height: 36px; padding: 7px 10px; border-radius: 7px; color: var(--muted); background: transparent; text-decoration: none; white-space: nowrap; font-size: .8rem; font-weight: 600 }
.core-shell .core-module-nav .workspace-module-links > a:hover { color: var(--ink); background: var(--surface-alt) }
.core-shell .core-module-nav .workspace-module-links > a[aria-current] { color: var(--blue); background: var(--blue-soft); font-weight: 650 }
.core-shell .core-module-nav .mc-nav-count { margin-left: 2px }

/* Fiches en onglets (CORE) : L'essentiel, Détails, Historique, Détails techniques. */
.mc-record-tablist { display: flex; gap: 4px; margin: 18px 0 0; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin }
:is(.erp-shell,.core-shell) .mc-record-tablist .mc-record-tab { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 8px 14px; border: 0; border-radius: 8px 8px 0 0; background: transparent; color: var(--muted); font: inherit; font-size: .84rem; font-weight: 650; white-space: nowrap; box-shadow: none; cursor: pointer }
:is(.erp-shell,.core-shell) .mc-record-tablist .mc-record-tab:hover { color: var(--ink); background: var(--surface-alt); filter: none }
:is(.erp-shell,.core-shell) .mc-record-tablist .mc-record-tab.is-active { color: var(--blue); background: var(--blue-soft) }
.mc-record-tab:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px }
.mc-record-tab-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--surface-alt); color: var(--muted); font-size: .72rem }
[data-record-tabs].is-tabbed > [data-tab]:not(.is-active) { display: none }
[data-record-tabs].is-tabbed > [data-tab] { padding-top: 16px }
[data-record-tabs] > [data-tab] > :first-child { margin-top: 0 }
/* Détails techniques : repliés, chaque valeur avec une phrase qui dit à quoi elle sert. */
.mc-technical { margin-top: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface) }
.mc-technical > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 16px; cursor: pointer; color: var(--muted); font-size: .84rem; font-weight: 650; list-style: none }
.mc-technical > summary::-webkit-details-marker { display: none }
.mc-technical > summary::after { content: "+"; margin-left: auto; font-size: 1rem }
.mc-technical[open] > summary::after { content: "−" }
.mc-technical > div { padding: 0 16px 16px }
.mc-technical-help { margin: 0 0 12px; color: var(--muted); font-size: .8rem }
.mc-kv-help { display: block; margin-top: 2px; color: var(--muted); font-size: .74rem; font-weight: 400 }
