/* Ligne de Soie Admin Centres v0.8.0 — accessible, theme-aware, data-faithful. */
body.l2s-admin-centres {
  --l2s-color: #6656bc;
  --l2s-color-deep: #43377f;
  --l2s-soft: #efedff;
  --l2s-frame: #dcd7fb;
  --l2s-card: var(--ui-surface, #fff);
  --l2s-card-text: var(--ui-text, #1b2e42);
  --l2s-weak: var(--ui-muted, #66798e);
}
body.l2s-admin-centres[data-l2s-zone="purchasing"] {
  --l2s-color: #a26322;
  --l2s-color-deep: #6f4318;
  --l2s-soft: #fff0df;
  --l2s-frame: #eacfa7;
}
body.l2s-admin-centres[data-l2s-zone="resellers"] {
  --l2s-color: #08796e;
  --l2s-color-deep: #07554e;
  --l2s-soft: #e2f6f2;
  --l2s-frame: #bde6de;
}
body.l2s-admin-centres[data-l2s-zone="configure"] {
  --l2s-color: #456b83;
  --l2s-color-deep: #314d62;
  --l2s-soft: #e9f0f6;
  --l2s-frame: #c4d5e1;
}
html[data-theme="graphite"] body.l2s-admin-centres {
  --l2s-soft: #2a2843;
  --l2s-frame: #484362;
  --l2s-color: #b8a6ff;
  --l2s-color-deep: #e5dbff;
}
html[data-theme="graphite"] body.l2s-admin-centres[data-l2s-zone="purchasing"] {
  --l2s-soft: #393024;
  --l2s-frame: #66523b;
  --l2s-color: #f1bf83;
  --l2s-color-deep: #ffe0ae;
}
html[data-theme="graphite"] body.l2s-admin-centres[data-l2s-zone="resellers"] {
  --l2s-soft: #193e3c;
  --l2s-frame: #2b665b;
  --l2s-color: #8fe2d1;
  --l2s-color-deep: #befaeb;
}
html[data-theme="graphite"] body.l2s-admin-centres[data-l2s-zone="configure"] {
  --l2s-soft: #273846;
  --l2s-frame: #3b5e74;
  --l2s-color: #aed3f3;
  --l2s-color-deep: #d9ecff;
}

/* Sidebar — stable three-centre IA; the existing menu remains an accordion. */
body.l2s-admin-centres .sidebar .sidebar-scroll {
  min-height: 0;
  overflow-y: auto !important;
  padding: 7px 9px 6px !important;
  scrollbar-width: thin;
}
body.l2s-admin-centres .sidebar .nav-group {
  margin: 4px 0 !important;
  border-radius: 12px;
  --l2s-group: #8d83e0;
}
body.l2s-admin-centres .sidebar .nav-group[data-l2s-section="purchasing"] {--l2s-group: #e1ad68}
body.l2s-admin-centres .sidebar .nav-group[data-l2s-section="resellers"] {--l2s-group: #66cbb9}
body.l2s-admin-centres .sidebar .nav-group[data-l2s-section="configure"] {--l2s-group: #a5b9ce}
body.l2s-admin-centres .sidebar .nav-group > summary {
  color: var(--ui-sidebar-text,#dfebf5);
  min-height: 42px;
  padding: 9px 10px !important;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 730;
  font-size: 12px;
  letter-spacing: .01em;
  line-height: 1.3;
  text-transform: none;
}
body.l2s-admin-centres .sidebar .nav-group > summary::before {
  content: '';
  flex: 0 0 3px;
  align-self: stretch;
  border-radius: 9px;
  background: var(--l2s-group);
  opacity: .85;
}
body.l2s-admin-centres .sidebar .nav-group[data-l2s-current="true"] > summary {
  background: color-mix(in srgb,var(--l2s-group) 14%,transparent);
  color: #fff;
}
body.l2s-admin-centres .sidebar .nav-group[open] > summary {
  background: color-mix(in srgb,var(--l2s-group) 18%,transparent);
}
body.l2s-admin-centres .sidebar .nav-group .nav-group-items {
  padding: 2px 0 6px 17px !important;
  gap: 1px;
}
body.l2s-admin-centres .sidebar .nav-group .nav-item {
  width: 100%;
  min-height: 39px;
  padding: 8px 8px 8px 31px;
  margin: 1px 0;
  border-radius: 8px;
  color: var(--ui-sidebar-text,#d2e4f0);
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
  text-align: left;
}
body.l2s-admin-centres .sidebar .nav-group .nav-item > span {min-width: 0}
body.l2s-admin-centres .sidebar .nav-group .nav-item:hover {
  background: rgba(255,255,255,.10);
  color: #fff;
}
body.l2s-admin-centres .sidebar .nav-group .nav-item.active {
  border-left: 3px solid var(--l2s-group);
  padding-left: 28px;
}
body.l2s-admin-centres .sidebar .nav-group .l2s-admin-external {
  min-height: 36px;
  opacity: .79;
  font-size: 11px;
}
body.l2s-admin-centres .sidebar .nav-group .l2s-admin-external::after {
  content: '↗';
  margin-left: auto;
  font-size: 13px;
  color: #bcd0dd;
}
body.l2s-admin-centres .sidebar .l2s-integrations-group[hidden] {display: none !important}
body.l2s-admin-centres .sidebar .side-tools {padding-top: 8px !important}
body.l2s-admin-centres .sidebar .side-footer {background: transparent}
body.l2s-admin-centres .mobile-dock [data-route="drivers"],
body.l2s-admin-centres .role-switch [data-demo="demo_driver"],
body.l2s-admin-centres .training-role-buttons [data-persona="driver"] {display: none !important}

/* Main workspace — enough space to read labels and numbers. */
body.l2s-admin-centres .nutri-workspace > .main {
  padding-top: 17px;
  max-width: 1760px;
}
body.l2s-admin-centres .main > .banner {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.55;
}
body.l2s-admin-centres .main > .currency-context {
  margin: 0 0 9px;
  font-size: 11px;
}
body.l2s-admin-centres #content {min-width: 0}
body.l2s-admin-centres .l2s-workspace-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 16px;
  position: relative;
  padding: 20px 23px;
  margin: 0 0 17px;
  color: var(--l2s-card-text);
  background: linear-gradient(108deg, var(--l2s-soft) 0%,var(--l2s-card) 94%);
  border: 1px solid var(--l2s-frame);
  border-radius: 17px;
  overflow: hidden;
}
body.l2s-admin-centres .l2s-workspace-header::before {
  content: '';
  width: 4px;
  position: absolute;
  left: 0;
  top: 15px;
  bottom: 15px;
  background: var(--l2s-color);
  border-radius: 0 5px 5px 0;
}
body.l2s-admin-centres .l2s-workspace-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 770;
  color: var(--l2s-color);
  letter-spacing: .095em;
}
body.l2s-admin-centres .l2s-workspace-eyebrow b {opacity: .5}
body.l2s-admin-centres .l2s-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--l2s-color);
}
body.l2s-admin-centres .l2s-workspace-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
body.l2s-admin-centres .l2s-workspace-heading h2 {
  margin: 9px 0 3px;
  font-size: clamp(21px,2vw,27px);
  letter-spacing: -.04em;
  font-weight: 790;
  color: var(--l2s-card-text);
}
body.l2s-admin-centres .l2s-workspace-heading p {
  margin: 0;
  max-width: 720px;
  line-height: 1.52;
  color: var(--l2s-weak);
  font-size: 12px;
}
body.l2s-admin-centres .l2s-workspace-symbol {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: color-mix(in srgb,var(--l2s-color) 11%,transparent);
  color: var(--l2s-color);
  flex: none;
}
body.l2s-admin-centres .l2s-workspace-symbol svg {width: 26px;height: 26px}
body.l2s-admin-centres .l2s-workspace-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 505px;
}
body.l2s-admin-centres .l2s-workspace-links .l2s-link {
  min-height: 36px;
  padding: 7px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--l2s-frame);
  background: var(--l2s-card);
  border-radius: 9px;
  color: var(--l2s-card-text);
  font-size: 11px;
  font-weight: 670;
  white-space: nowrap;
}
body.l2s-admin-centres .l2s-workspace-links .l2s-link:hover {
  border-color: var(--l2s-color);
  background: var(--l2s-soft);
}
body.l2s-admin-centres .l2s-workspace-links svg {width: 13px;height: 13px;color: var(--l2s-color)}
body.l2s-admin-centres .l2s-salons-count {
  display: inline-block;
  margin-top: 8px;
  font-size: 10px;
  font-weight: 670;
  color: var(--l2s-color);
}

/* Centre switcher: three distinct coloured disciplines, not one giant menu. */
body.l2s-admin-centres .l2s-admin-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin: 0 0 18px;
}
body.l2s-admin-centres .l2s-centre-card {
  --centre-color: #6656bc;
  --centre-soft: #efedff;
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) 18px;
  align-items: center;
  gap: 12px;
  min-height: 94px;
  padding: 16px;
  border: 1px solid var(--ui-line,#d8e1e9);
  border-top: 3px solid var(--centre-color);
  border-radius: 15px;
  background: var(--l2s-card);
  color: var(--l2s-card-text);
  text-align: left;
  transition: transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
body.l2s-admin-centres .l2s-centre-card.is-purchasing {--centre-color:#a26322;--centre-soft:#fff0df}
body.l2s-admin-centres .l2s-centre-card.is-resellers {--centre-color:#08796e;--centre-soft:#e2f6f2}
body.l2s-admin-centres .l2s-centre-card:hover {
  transform: translateY(-2px);
  border-color: var(--centre-color);
  box-shadow: 0 8px 24px rgba(12,35,60,.08);
}
body.l2s-admin-centres .l2s-centre-icon {
  width: 40px;height: 40px;
  display: grid;place-items: center;
  color: var(--centre-color);
  background: var(--centre-soft);
  border-radius: 11px;
}
body.l2s-admin-centres .l2s-centre-icon svg {width: 21px;height: 21px}
body.l2s-admin-centres .l2s-centre-copy {min-width: 0}
body.l2s-admin-centres .l2s-centre-copy strong {
  display:block;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 780;
}
body.l2s-admin-centres .l2s-centre-copy small {
  display:block;
  margin-top: 5px;
  color: var(--l2s-weak);
  font-size: 11px;
  line-height: 1.45;
}
body.l2s-admin-centres .l2s-centre-next {color:var(--centre-color)}
body.l2s-admin-centres .l2s-centre-next svg {width:16px;height:16px}

/* Sales cockpit: big KPIs, existing real-data pie/donut charts and legible tables. */
body.l2s-admin-centres[data-l2s-zone="decide"] #content > .page-head {
  margin: 0 0 12px;
}
body.l2s-admin-centres #content > .page-head h1 {
  font-size: clamp(19px,1.75vw,24px);
  letter-spacing: -.6px;
}
body.l2s-admin-centres #content > .page-head .page-sub {font-size:12px}
body.l2s-admin-centres[data-l2s-zone="decide"] #content > .cockpit-welcome,
body.l2s-admin-centres[data-l2s-zone="decide"] #content > .distribution-flow,
body.l2s-admin-centres[data-l2s-zone="decide"] #content > .tools-launch,
body.l2s-admin-centres[data-l2s-zone="decide"] #content > .pilotage-launch {
  display:none !important;
}
body.l2s-admin-centres #content > .cockpit-kpis {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin: 0 0 19px;
}
body.l2s-admin-centres #content > .cockpit-kpis > .kpi {
  padding: 17px 19px;
  min-height: 126px;
  border-radius: 14px;
  border:1px solid var(--ui-line,#dbe4e9);
  border-top:3px solid var(--l2s-color);
  box-shadow: var(--ui-shadow-sm,none);
}
body.l2s-admin-centres #content > .cockpit-kpis .kpi-label {
  color:var(--l2s-weak);
  font-size:12px;
  font-weight:700;
}
body.l2s-admin-centres #content > .cockpit-kpis .kpi-value {
  font-size:clamp(25px,2vw,33px);
  margin:10px 0 7px;
}
body.l2s-admin-centres #content > .cockpit-kpis .kpi-meta {font-size:10.5px;line-height:1.4}
body.l2s-admin-centres .l2s-visual-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:5px 0 11px;
}
body.l2s-admin-centres .l2s-visual-heading span {
  color:var(--l2s-color);
  font-size:10px;
  letter-spacing:.09em;
  font-weight:760;
}
body.l2s-admin-centres .l2s-visual-heading h3 {
  margin:4px 0 3px;
  color:var(--l2s-card-text);
  font-size:19px;
  letter-spacing:-.025em;
}
body.l2s-admin-centres .l2s-visual-heading p {
  margin:0;
  font-size:11px;
  color:var(--l2s-weak);
}
body.l2s-admin-centres .l2s-visual-heading button {
  min-height:36px;
  background:var(--l2s-soft);
  color:var(--l2s-color-deep);
  border:1px solid var(--l2s-frame);
  border-radius:9px;
  padding:7px 12px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
body.l2s-admin-centres #content > .tools-visual-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px;
}
body.l2s-admin-centres .tool-chart-card,
body.l2s-admin-centres .tools-wheel-card {
  border-radius:16px;
  min-width:0;
  background:var(--l2s-card);
}
body.l2s-admin-centres .tool-chart-card .panel-title,
body.l2s-admin-centres .tools-wheel-card .panel-title {font-size:15px}
body.l2s-admin-centres .tool-chart-card .panel-sub,
body.l2s-admin-centres .tools-wheel-card .panel-sub {font-size:11px;line-height:1.5}
body.l2s-admin-centres .tool-chart-legend button {
  min-height:34px;
  font-size:11px;
}
body.l2s-admin-centres .tool-chart-card .tool-chart-legend strong {
  font-weight:750;
}
body.l2s-admin-centres #content > .quick-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin: 4px 0 19px;
}
body.l2s-admin-centres #content > .quick-actions > button[hidden] {display:none!important}
body.l2s-admin-centres #content > .quick-actions button {
  min-height:65px;
  padding:13px;
}
body.l2s-admin-centres #content > .quick-actions strong {font-size:12px}
body.l2s-admin-centres #content > .quick-actions small {font-size:10px}
body.l2s-admin-centres #content > .cockpit-main,
body.l2s-admin-centres #content > .dashboard-grid {
  gap:16px;
  margin-bottom:17px;
}
body.l2s-admin-centres .dash-filterbar {
  margin-bottom:15px;
  border-radius:12px;
  box-shadow:none;
}
body.l2s-admin-centres .dash-filterbar label {font-size:11px}
body.l2s-admin-centres .dash-filterbar select {font-size:12px}

/* Buying centre: supplier integrations are optional details, not a giant first screen. */
body.l2s-admin-centres .l2s-supplier-connectors {
  border:1px solid var(--ui-line,#dde3e8);
  border-radius:13px;
  margin: 0 0 17px;
  background:var(--l2s-card);
  overflow:hidden;
}
body.l2s-admin-centres .l2s-supplier-connectors > summary {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:13px 17px;
  font-size:13px;
  font-weight:730;
  color:var(--l2s-card-text);
  list-style:none;
  cursor:pointer;
}
body.l2s-admin-centres .l2s-supplier-connectors > summary::-webkit-details-marker {display:none}
body.l2s-admin-centres .l2s-supplier-connectors > summary svg {
  flex:0 0 22px;
  width:22px;height:22px;
  color:var(--l2s-color);
}
body.l2s-admin-centres .l2s-supplier-connectors > summary span {flex:1;min-width:0}
body.l2s-admin-centres .l2s-supplier-connectors > summary small {
  display:block;
  margin-top:4px;
  color:var(--l2s-weak);
  font-size:11px;
  font-weight:450;
  line-height:1.4;
}
body.l2s-admin-centres .l2s-supplier-connectors > summary:hover {background:var(--l2s-soft)}
body.l2s-admin-centres .l2s-supplier-connectors > section.panel {
  margin:0!important;
  border:0!important;
  border-top:1px solid var(--ui-line,#ddd)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.l2s-admin-centres .l2s-supplier-connectors:not([open]) > section.panel {display:none!important}
body.l2s-admin-centres .l2s-supplier-connectors[open] > summary > svg:last-child {transform:rotate(90deg)}

/* Small, deliberate responsive behaviour. */
@media(max-width:1400px){
 body.l2s-admin-centres .l2s-workspace-header {grid-template-columns:1fr}
 body.l2s-admin-centres .l2s-workspace-links {justify-content:flex-start;max-width:100%}
 body.l2s-admin-centres #content > .tools-visual-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 body.l2s-admin-centres #content > .tools-visual-grid > .tools-wheel-card {grid-column:1/-1}
}
@media(max-width:1000px){
 body.l2s-admin-centres .l2s-workspace-header {padding:17px 18px}
 body.l2s-admin-centres .l2s-admin-cards {grid-template-columns:1fr 1fr}
 body.l2s-admin-centres .l2s-admin-cards > :last-child {grid-column:1/-1}
 body.l2s-admin-centres #content > .cockpit-kpis {grid-template-columns:repeat(2,minmax(0,1fr))}
 body.l2s-admin-centres #content > .quick-actions {grid-template-columns:1fr 1fr}
 body.l2s-admin-centres .sidebar .nav-group > summary {min-height:44px}
 body.l2s-admin-centres .sidebar .nav-group .nav-item {min-height:44px}
}
@media(max-width:640px){
 body.l2s-admin-centres .l2s-workspace-header {margin-bottom:12px;border-radius:12px;padding:14px 15px;gap:10px}
 body.l2s-admin-centres .l2s-workspace-eyebrow {font-size:9px;letter-spacing:.04em;flex-wrap:wrap}
 body.l2s-admin-centres .l2s-workspace-heading h2 {font-size:21px}
 body.l2s-admin-centres .l2s-workspace-heading p {font-size:11px}
 body.l2s-admin-centres .l2s-workspace-symbol {display:none}
 body.l2s-admin-centres .l2s-workspace-links {display:flex;overflow:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:thin}
 body.l2s-admin-centres .l2s-workspace-links .l2s-link {flex:none;min-height:40px}
 body.l2s-admin-centres .l2s-admin-cards {grid-template-columns:1fr;gap:8px}
 body.l2s-admin-centres .l2s-admin-cards > :last-child {grid-column:auto}
 body.l2s-admin-centres .l2s-centre-card {min-height:70px;padding:11px 13px;border-radius:11px}
 body.l2s-admin-centres #content > .cockpit-kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body.l2s-admin-centres #content > .cockpit-kpis > .kpi {min-height:115px;padding:12px}
 body.l2s-admin-centres #content > .cockpit-kpis .kpi-value {font-size:21px}
 body.l2s-admin-centres .l2s-visual-heading {align-items:flex-start;flex-direction:column}
 body.l2s-admin-centres #content > .tools-visual-grid {grid-template-columns:1fr}
 body.l2s-admin-centres #content > .tools-visual-grid > .tools-wheel-card {grid-column:auto}
 body.l2s-admin-centres #content > .quick-actions {grid-template-columns:1fr 1fr;gap:8px}
 body.l2s-admin-centres .l2s-supplier-connectors > summary {padding:11px 12px}
}
@media(max-width:390px){
 body.l2s-admin-centres #content > .cockpit-kpis {grid-template-columns:1fr}
 body.l2s-admin-centres #content > .quick-actions {grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 body.l2s-admin-centres .l2s-centre-card {transition:none;transform:none!important}
}
@media print{
 body.l2s-admin-centres .l2s-workspace-links,
 body.l2s-admin-centres .l2s-admin-cards {display:none!important}
}

/* v0.8.1 — Purchasing: supplier API controls and only linked suppliers visible. */
body.l2s-admin-centres .l2s-api-purchasing{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 17px;margin:10px 0 18px;background:var(--l2s-soft);
  border:1px solid var(--l2s-frame);border-radius:13px;flex-wrap:wrap;
}
body.l2s-admin-centres .l2s-api-purchasing>div:first-child{min-width:200px;flex:1}
body.l2s-admin-centres .l2s-api-purchasing strong{display:block;color:var(--l2s-color-deep);font-size:14px}
body.l2s-admin-centres .l2s-api-purchasing span{display:block;margin-top:4px;font-size:11px;line-height:1.5;color:var(--ui-muted)}
body.l2s-admin-centres .l2s-api-purchasing>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
body.l2s-admin-centres .l2s-api-link{display:inline-flex;align-items:center;min-height:38px;padding:9px 12px;border-radius:9px;text-decoration:none;font-size:11px;font-weight:700;background:var(--ui-surface);color:var(--l2s-color-deep);border:1px solid var(--l2s-frame)}
body.l2s-admin-centres .l2s-api-link:hover{border-color:var(--l2s-color)}
body.l2s-admin-centres .l2s-supplier-empty{grid-column:1/-1;margin:0;padding:18px 20px;background:var(--ui-surface);border:1px dashed var(--ui-line);border-radius:12px;font-size:13px;color:var(--ui-muted)}
body.l2s-admin-centres .l2s-supplier-products-count{display:inline-block;margin:5px 0 11px;padding:4px 8px;background:var(--l2s-soft);color:var(--l2s-color-deep);font-weight:750;font-size:10px;border-radius:6px}
body.l2s-admin-centres .three-cols > article[hidden],
body.l2s-admin-centres .l2s-supplier-connectors article[hidden],
body.l2s-admin-centres .l2s-supplier-empty[hidden]{display:none!important}
