/*
  IlikoCar — Dashboard Pro
  Refonte visuelle admin / loueur / client : bleu marine, blanc, ardoise.
  Styles volontairement centrés sur les espaces internes pour ne pas impacter la landing.
*/
:root{
  --dash-navy:#08233f;
  --dash-navy-2:#0b3158;
  --dash-blue:#1d5fbf;
  --dash-blue-soft:#eaf3ff;
  --dash-teal:#0f9f8f;
  --dash-green:#16a34a;
  --dash-amber:#d97706;
  --dash-red:#dc2626;
  --dash-ink:#0f172a;
  --dash-muted:#64748b;
  --dash-line:#e6edf5;
  --dash-page:#f6f8fb;
  --dash-card:#ffffff;
  --dash-shadow:0 18px 45px rgba(15,23,42,.07);
  --dash-shadow-sm:0 10px 28px rgba(15,23,42,.055);
}
body:has(.dashPro){background:var(--dash-page)}
.dashPro{min-height:100vh;background:linear-gradient(180deg,#fbfdff 0%,var(--dash-page) 100%);color:var(--dash-ink);font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.dashPro *{box-sizing:border-box}
.dashApp{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}
.dashPro .dashSide{position:sticky;top:0;height:100vh;align-self:start;border:0;border-radius:0;background:linear-gradient(180deg,#061a32 0%,#082845 52%,#061c34 100%);box-shadow:none;padding:22px 16px;color:#fff;overflow:auto;display:flex;flex-direction:column;gap:18px}
.dashBrand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:4px 6px 18px}
.dashBrandMark{width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.11);display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dashBrandTitle{font-family:'Outfit',sans-serif;font-weight:800;font-size:22px;letter-spacing:-.04em;line-height:1}
.dashRole{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(37,99,235,.24);color:#bfdbfe;border:1px solid rgba(147,197,253,.24);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-left:4px}
.dashNav{display:grid;gap:7px}
.dashPro .dashSide .dashLink{display:flex;align-items:center;gap:12px;color:rgba(226,232,240,.86);border:1px solid transparent;background:transparent;border-radius:14px;padding:12px 13px;font-weight:800;text-decoration:none;letter-spacing:-.01em}
.dashPro .dashSide .dashLink::before{content:attr(data-icon);width:22px;height:22px;display:inline-grid;place-items:center;font-size:15px;opacity:.95;filter:grayscale(.1)}
.dashPro .dashSide .dashLink:hover{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);text-decoration:none}
.dashPro .dashSide .dashLink.active{color:#fff;background:linear-gradient(135deg,rgba(59,130,246,.30),rgba(14,165,233,.14));border-color:rgba(147,197,253,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dashPro .dashSide .sep{background:rgba(226,232,240,.16);margin:4px 10px}
.dashPro .dashSide form{margin:0}
.dashPro .dashSide .dashLink[type="submit"],.dashPro .dashSide button.dashLink{width:100%;text-align:left;border:1px solid transparent;font:inherit;cursor:pointer}
.dashPro .dashHint{margin-top:auto;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:20px;padding:16px;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.dashPro .dashHint strong{color:#fff;font-size:14px}
.dashPro .dashHint span,.dashPro .dashHint a{color:rgba(226,232,240,.76);font-size:13px;line-height:1.55}
.dashWorkspace{min-width:0;padding:24px 28px 34px;display:grid;gap:20px;align-content:start}
.dashTopbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.dashTopLeft{display:flex;align-items:center;gap:14px;min-width:0}
.dashMenuButton{width:40px;height:40px;border:1px solid var(--dash-line);background:#fff;border-radius:14px;display:grid;place-items:center;color:var(--dash-navy);font-weight:900;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.dashTitleBlock{min-width:0}.dashTitle{margin:0;font-size:29px;letter-spacing:-.045em;font-family:'Outfit',sans-serif;color:var(--dash-ink);line-height:1.08}.dashSubtitle{margin:5px 0 0;color:var(--dash-muted);font-size:14px;font-weight:600}
.dashTopActions{display:flex;align-items:center;gap:12px;min-width:0}.dashSearch{width:min(520px,38vw);display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--dash-line);border-radius:16px;padding:10px 13px;box-shadow:0 8px 24px rgba(15,23,42,.035);color:var(--dash-muted);font-size:13px;font-weight:700}.dashSearch kbd{margin-left:auto;border:1px solid var(--dash-line);background:#f8fafc;border-radius:8px;padding:2px 6px;color:#94a3b8;font-size:11px}.dashBell{position:relative;width:40px;height:40px;border:1px solid var(--dash-line);border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--dash-navy)}.dashBell b{position:absolute;right:-4px;top:-4px;background:#2563eb;color:#fff;border-radius:999px;font-size:10px;line-height:1;padding:4px 6px;border:2px solid #fff}.dashUser{display:flex;align-items:center;gap:11px;min-width:170px}.dashAvatar{width:44px;height:44px;border-radius:999px;background:#eaf3ff;color:#0b3d78;display:grid;place-items:center;font-weight:1000}.dashUser strong{display:block;font-size:13px}.dashUser span{display:block;color:var(--dash-muted);font-size:12px;font-weight:700}
.dashSurface{display:grid;gap:18px}.dashMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashMetric{background:#fff;border:1px solid var(--dash-line);border-radius:22px;padding:21px 20px;box-shadow:var(--dash-shadow-sm);display:grid;gap:14px;min-height:138px}.dashMetricIcon{width:48px;height:48px;border-radius:18px;background:var(--dash-blue-soft);color:#1456aa;display:grid;place-items:center;font-size:20px}.dashMetricTitle{font-weight:900;color:#1e293b;font-size:14px}.dashMetricValue{font-family:'Outfit',sans-serif;font-size:28px;font-weight:800;letter-spacing:-.04em;color:#071a33}.dashMetricHint{color:var(--dash-muted);font-size:13px;font-weight:700}.dashMetricLink{margin-top:auto;justify-self:start}
.dashAttention{background:#fff;border:1px solid var(--dash-line);border-radius:22px;box-shadow:var(--dash-shadow-sm);padding:18px}.dashAttentionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashAttentionItem{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px;border-radius:18px;border:1px solid transparent;background:#fbfdff}.dashAttentionItem+.dashAttentionItem{border-left-color:var(--dash-line)}.dashAttentionIcon{width:46px;height:46px;border-radius:17px;background:#eef6ff;color:#1456aa;display:grid;place-items:center;font-size:19px}.dashAttentionItem strong{display:block;font-size:14px}.dashAttentionItem b{display:block;font-family:'Outfit',sans-serif;font-size:26px;line-height:1;margin-top:3px}.dashAttentionItem span{display:block;color:var(--dash-muted);font-size:12px;font-weight:700;margin-top:4px}
.dashPanel,.dashPro .dashPanel{background:#fff;border:1px solid var(--dash-line);border-radius:22px;box-shadow:var(--dash-shadow-sm);padding:18px}.dashPanelSoft{background:#fbfdff;border:1px solid var(--dash-line);border-radius:18px;padding:14px}.dashSplit{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px}.dashTwo{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashCardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panelTitle{margin-bottom:14px}.panelTitle strong{font-size:16px;letter-spacing:-.02em}.panelTitle span{font-size:12px;color:var(--dash-muted);font-weight:700}.panelTitle a{font-weight:900;color:#0f4ea4;text-decoration:none}
.dashPro .btn,.dashLayout .btn{border-radius:12px;border:1px solid var(--dash-line);background:#fff;color:var(--dash-ink);box-shadow:none;font-weight:900;letter-spacing:-.01em}.dashPro .btn:hover,.dashLayout .btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.08)}.dashPro .btn.primary,.dashLayout .btn.primary{background:linear-gradient(135deg,#08233f,#0b4b85);border-color:#0a3764;color:#fff;box-shadow:0 12px 28px rgba(8,35,63,.16)}.dashPro .btn.ghost,.dashLayout .btn.ghost{background:#f8fafc}.dashPro .btn.small,.dashLayout .btn.small{padding:8px 12px;border-radius:11px;font-size:12px}.dashLinkMini{color:#0f4ea4;text-decoration:none;font-weight:900;font-size:13px}.dashPro .input,.dashLayout .input{border-color:var(--dash-line);border-radius:13px;background:#fff;color:var(--dash-ink);box-shadow:0 8px 24px rgba(15,23,42,.025)}
.dashPro .tableWrap,.dashLayout .tableWrap{border:1px solid var(--dash-line);background:#fff;border-radius:18px;box-shadow:none}.dashPro .table,.dashLayout .table{min-width:760px}.dashPro .table th,.dashLayout .table th{background:#fbfdff;color:#718096;border-bottom:1px solid var(--dash-line);font-size:11px;letter-spacing:.04em}.dashPro .table td,.dashLayout .table td{border-bottom:1px solid var(--dash-line);font-size:13px;vertical-align:middle}.dashPro .table tbody tr:hover td,.dashLayout .table tbody tr:hover td{background:#fbfdff}
.dashPro .status,.dashLayout .status,.dashBadge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--dash-line);background:#f8fafc;color:#475569;font-weight:900;font-size:12px;padding:6px 10px;line-height:1}.dashBadge.ok,.status-ok,.status-success{background:#eafaf0;color:#15803d;border-color:#c9f2d6}.dashBadge.wait,.status-wait{background:#fff7ed;color:#b45309;border-color:#fed7aa}.dashBadge.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.dashBadge.bad,.status-bad{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.dashBadge.neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.dashPerson{display:flex;align-items:center;gap:12px}.dashInitials{width:40px;height:40px;border-radius:999px;background:#edf5ff;color:#0b4b85;display:grid;place-items:center;font-weight:1000}.dashPerson strong{display:block;font-size:13px}.dashPerson span{display:block;font-size:12px;color:var(--dash-muted);font-weight:700}.dashTextStrong{font-weight:1000}.dashSmall{font-size:12px;color:var(--dash-muted);font-weight:700}.dashMoney{font-family:'Outfit',sans-serif;font-weight:800;letter-spacing:-.03em}.dashActivity{display:grid;gap:13px}.dashActivityItem{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center}.dashActivityIcon{width:38px;height:38px;border-radius:15px;background:#eef6ff;color:#1456aa;display:grid;place-items:center}.dashActivityItem strong{font-size:13px}.dashActivityItem span{font-size:12px;color:var(--dash-muted);font-weight:700}.dashActivityItem time{font-size:12px;color:#94a3b8;font-weight:800}.dashVehicleCard{border:1px solid var(--dash-line);background:#fff;border-radius:18px;padding:12px;display:grid;grid-template-columns:122px 1fr;gap:12px;min-width:0}.dashVehicleImg{width:122px;height:88px;border-radius:15px;background:linear-gradient(135deg,#edf2f7,#f8fafc);object-fit:cover;border:1px solid var(--dash-line)}.dashVehicleMeta{display:grid;gap:7px;align-content:start}.dashVehicleMeta h3{font-size:14px;margin:0;color:#0f172a}.dashVehicleActions{display:flex;gap:8px;flex-wrap:wrap}.dashAgenda{display:grid;gap:12px}.dashAgendaRow{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:16px;background:#fbfdff;border:1px solid var(--dash-line)}.dashDateBox{width:56px;border-radius:14px;background:#f1f5f9;padding:8px;text-align:center;font-weight:1000;color:#0f172a}.dashDateBox span{display:block;font-size:10px;color:#64748b;text-transform:uppercase}.dashDot{width:8px;height:8px;border-radius:999px;background:var(--dash-blue);display:inline-block}.dashDot.green{background:var(--dash-green)}.dashDot.amber{background:var(--dash-amber)}.dashDot.gray{background:#94a3b8}.dashHero{background:#fff;border:1px solid var(--dash-line);border-radius:24px;box-shadow:var(--dash-shadow-sm);padding:22px;display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center}.dashHeroImg{width:100%;height:180px;object-fit:contain;border-radius:20px;background:linear-gradient(135deg,#f1f5f9,#fff);border:1px solid var(--dash-line)}.dashHeroTitle{margin:0;font-family:'Outfit',sans-serif;font-size:28px;letter-spacing:-.04em}.dashHeroMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.dashHeroMetaItem{border-left:1px solid var(--dash-line);padding-left:14px}.dashHeroMetaItem:first-child{border-left:0;padding-left:0}.dashSteps{display:grid;gap:16px}.dashStep{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.dashStepIcon{width:42px;height:42px;border-radius:16px;background:#eef6ff;color:#1456aa;display:grid;place-items:center}.dashPaymentSplit{display:grid;grid-template-columns:1fr 160px 1fr;gap:14px;align-items:center}.dashProgress{width:126px;height:126px;border-radius:999px;border:8px solid #e5eef8;border-top-color:var(--dash-green);display:grid;place-items:center;margin:auto}.dashProgress strong{font-family:'Outfit';font-size:24px}.dashChart{height:148px;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#fff);border:1px solid var(--dash-line);padding:12px;overflow:hidden}.dashDonut{width:128px;height:128px;border-radius:999px;background:conic-gradient(var(--dash-green) 0 53%,#0f67c6 53% 74%,#38bdf8 74% 90%,#cbd5e1 90% 100%);display:grid;place-items:center}.dashDonutInner{width:82px;height:82px;border-radius:999px;background:#fff;display:grid;place-items:center;text-align:center;font-weight:900}.dashDonutInner b{font-family:'Outfit';font-size:28px}.dashPro .rowItem,.dashLayout .rowItem{border-color:var(--dash-line);border-radius:18px;background:#fff;box-shadow:none}.dashPro .kpiGrid,.dashLayout .kpiGrid{gap:16px}.dashPro .kpiCard,.dashLayout .kpiCard{border-color:var(--dash-line);border-radius:20px;background:#fff;box-shadow:var(--dash-shadow-sm);padding:18px}.dashPro .kpiPill,.dashLayout .kpiPill{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.dashPro .kpiValue,.dashLayout .kpiValue{font-family:'Outfit',sans-serif;letter-spacing:-.04em}.adminFilters{background:#fbfdff;border:1px solid var(--dash-line);border-radius:18px;padding:12px}
@media (max-width:1180px){.dashApp{grid-template-columns:240px minmax(0,1fr)}.dashMetrics{grid-template-columns:repeat(2,1fr)}.dashSplit,.dashTwo{grid-template-columns:1fr}.dashSearch{display:none}.dashAttentionGrid{grid-template-columns:1fr}.dashAttentionItem+.dashAttentionItem{border-left:0}.dashHero{grid-template-columns:1fr}.dashHeroImg{height:170px}.dashPaymentSplit{grid-template-columns:1fr}}
@media (max-width:860px){.dashApp{grid-template-columns:1fr}.dashPro .dashSide{position:relative;height:auto;border-radius:0;display:block}.dashBrand{padding-bottom:12px}.dashNav{grid-template-columns:repeat(2,minmax(0,1fr))}.dashWorkspace{padding:18px 14px 28px}.dashTopbar{align-items:flex-start}.dashTopActions{gap:8px}.dashUser{display:none}.dashMetrics{grid-template-columns:1fr}.dashCardGrid{grid-template-columns:1fr}.dashHeroMeta{grid-template-columns:1fr}.dashVehicleCard{grid-template-columns:96px 1fr}.dashVehicleImg{width:96px;height:78px}.dashAgendaRow{grid-template-columns:54px 1fr}.dashAgendaRow .btn{grid-column:1/-1}.dashPro .table{min-width:760px}}

/* Compatibilité : mêmes sidebars premium sur les pages internes existantes qui utilisent .dashLayout sans .dashPro */
.dashLayout > .dashSide{
  border:0 !important;
  background:linear-gradient(180deg,#061a32 0%,#082845 52%,#061c34 100%) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.dashLayout > .dashSide .dashBrand{color:#fff !important;text-decoration:none}
.dashLayout > .dashSide .dashLink{display:flex;align-items:center;gap:12px;color:rgba(226,232,240,.86) !important;border:1px solid transparent !important;background:transparent !important;border-radius:14px !important;padding:12px 13px !important;font-weight:800;text-decoration:none !important;letter-spacing:-.01em}
.dashLayout > .dashSide .dashLink::before{content:attr(data-icon);width:22px;height:22px;display:inline-grid;place-items:center;font-size:15px;opacity:.95}
.dashLayout > .dashSide .dashLink:hover{color:#fff !important;background:rgba(255,255,255,.08) !important;border-color:rgba(255,255,255,.10) !important}
.dashLayout > .dashSide .dashLink.active{color:#fff !important;background:linear-gradient(135deg,rgba(59,130,246,.30),rgba(14,165,233,.14)) !important;border-color:rgba(147,197,253,.22) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important}
.dashLayout > .dashSide .dashHint{border:1px solid rgba(255,255,255,.13) !important;background:rgba(255,255,255,.06) !important;color:#fff !important}
.dashLayout > .dashSide .dashHint strong{color:#fff !important}.dashLayout > .dashSide .dashHint span,.dashLayout > .dashSide .dashHint a{color:rgba(226,232,240,.76) !important}
.dashLayout > .dashSide .sep{background:rgba(226,232,240,.16) !important}.dashLayout > .dashSide form{margin:0}
@media (max-width:980px){.dashLayout > .dashSide{position:relative !important;top:auto !important;height:auto !important}.dashLayout > .dashSide .dashNav{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Compatibilité avancée : pages internes legacy en plein shell (sidebar fixe à gauche comme le dashboard)
   NB : exclut les pages .dashShell (gérées par le bloc correctif plus bas avec gestion du titre). */
body:has(.dashLayout){background:var(--dash-page)}
body:has(.dashLayout) main > .section:has(.dashLayout):not(:has(.dashShell)){padding:0 !important}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout):not(.dashShell){
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:286px minmax(0,1fr) !important;
  gap:0 !important;
  align-items:start !important;
}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout):not(.dashShell) > .dashLayout{display:contents}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashHeader,
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashPanel{
  grid-column:2;
  margin:24px 28px 0;
}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashSide{
  grid-column:1;
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  align-self:start;
  margin:0 !important;
  border-radius:0 !important;
  padding:22px 16px !important;
  overflow:auto;
}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashMain{
  grid-column:2;
  min-width:0;
  padding:24px 28px 34px;
  display:grid;
  gap:18px;
  align-content:start;
}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashMain > *{min-width:0}
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashMain > .dashPanel:first-child,
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashMain > .dashGrid:first-child,
body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashMain > .kpiGrid:first-child{
  margin-top:0;
}
@media (max-width:980px){
  body:has(.dashLayout) main > .section:has(.dashLayout){padding:0 !important}
  body:has(.dashLayout) main > .section > .wrap:has(.dashLayout){grid-template-columns:1fr !important}
  body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashHeader,
  body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashPanel,
  body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashMain{grid-column:1;margin:0;padding:18px 14px 24px}
  body:has(.dashLayout) main > .section > .wrap:has(.dashLayout) > .dashLayout > .dashSide{grid-column:1;position:relative !important;top:auto !important;height:auto !important}
}


/* Legacy shell with explicit class for internal pages */
.dashShell{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:286px minmax(0,1fr) !important;
  gap:0 !important;
  align-items:start !important;
}
.section .dashShell{padding:0 !important}
.dashShell > .dashHeader,
.dashShell > .dashPanel{
  grid-column:2;
  margin:24px 28px 0;
}
.dashShell > .dashLayout{display:contents}
.dashShell > .dashLayout > .dashSide{
  grid-column:1;
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  align-self:start;
  margin:0 !important;
  border-radius:0 !important;
  padding:22px 16px !important;
  overflow:auto;
}
.dashShell > .dashLayout > .dashMain{
  grid-column:2;
  min-width:0;
  padding:24px 28px 34px;
  display:grid;
  gap:18px;
  align-content:start;
}
.dashShell > .dashLayout > .dashMain > *{min-width:0}
.dashShell .dashPanel:first-child,
.dashShell .dashGrid:first-child,
.dashShell .kpiGrid:first-child{margin-top:0}
@media (max-width:980px){
  .dashShell{grid-template-columns:1fr !important}
  .dashShell > .dashHeader,
  .dashShell > .dashPanel,
  .dashShell > .dashLayout > .dashMain{grid-column:1;margin:0;padding:18px 14px 24px}
  .dashShell > .dashLayout > .dashSide{grid-column:1;position:relative !important;top:auto !important;height:auto !important}
}

/* ===== Icônes SVG dans la sidebar (remplacent les emojis data-icon) ===== */
.dashPro .dashSide .dashLink--svg::before{content:none !important}
.dashPro .dashSide .dashLink--svg{gap:12px}
.dashLinkIco{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;opacity:.92}
.dashLinkIco svg{width:19px;height:19px;stroke-width:1.8}
.dashLink--svg.active .dashLinkIco{opacity:1}
.dashBrandMark svg{width:22px;height:22px;color:#fff}
.dashLink--svg svg{flex:0 0 auto}

/* ===== Accent INDIGO (remplace le bleu, scopé au dashboard) ===== */
:root{
  --dash-accent:#4F46E5;
  --dash-accent-2:#4338CA;
  --dash-accent-soft:#EEF0FE;
  --dash-accent-ink:#3730A3;
}
.dashPro .dashSide .dashLink.active{background:linear-gradient(135deg,rgba(99,102,241,.34),rgba(79,70,229,.18));border-color:rgba(129,140,248,.34)}
.dashPro .dashBrandMark{background:linear-gradient(135deg,#6366F1,#4F46E5);border-color:rgba(165,180,252,.4)}
.dashRole{background:rgba(99,102,241,.26);color:#c7d2fe;border-color:rgba(165,180,252,.3)}
.dashMetricIcon{background:var(--dash-accent-soft);color:var(--dash-accent-ink)}
.dashMetricIcon svg{width:22px;height:22px}
.dashAttentionIcon{background:var(--dash-accent-soft);color:var(--dash-accent-ink)}
.dashAttentionIcon svg{width:21px;height:21px}
.dashBell b{background:var(--dash-accent)}
.dashAvatar{background:var(--dash-accent-soft);color:var(--dash-accent-ink)}
.dashPro .btn.primary,.dashLayout .btn.primary{background:linear-gradient(135deg,#4F46E5,#4338CA);border-color:#4338CA;box-shadow:0 12px 28px rgba(79,70,229,.22)}
.panelTitle a,.dashLinkMini{color:var(--dash-accent-ink)}
.dashMetricLink:hover{border-color:rgba(79,70,229,.3)}

/* Icônes dans les métriques / attention / activité : centrage SVG */
.dashMetricIcon,.dashAttentionIcon,.dashActivityIcon,.dashStepIcon{overflow:hidden}
.dashActivityIcon svg,.dashStepIcon svg{width:19px;height:19px}

/* ===== Graphique SVG d'activité ===== */
.dashChart{padding:0;border:0;background:transparent;height:auto}
.dashChartCard{background:#fff;border:1px solid var(--dash-line);border-radius:22px;box-shadow:var(--dash-shadow-sm);padding:20px}
.dashChartHead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:4px}
.dashChartTitle{font-weight:900;font-size:15px;color:var(--dash-ink)}
.dashChartMeta{font-size:12px;color:var(--dash-muted);font-weight:700}
.dashChartValue{font-family:'Outfit',sans-serif;font-size:30px;font-weight:800;letter-spacing:-.03em;color:#071a33;line-height:1.1;margin:4px 0 2px}
.dashChartSub{font-size:12.5px;color:var(--dash-muted);font-weight:700}
.dashChartSvg{height:150px;margin-top:10px}
.dashChartSvg svg{display:block;width:100%;height:100%}
.dashSpark{display:flex;align-items:flex-end;gap:6px;height:60px;margin-top:8px}

/* ===== Correctif : pages internes legacy (.dashShell + .dashHeader + .dashLayout) =====
   Le titre de page (.dashHeader) était placé AU-DESSUS de la grille, ce qui poussait
   la sidebar vers le bas. On réorganise : sidebar pleine hauteur à gauche dès le haut,
   titre + contenu empilés dans la colonne de droite. */
body:has(.dashShell .dashLayout) main > .section:has(.dashShell){padding:0 !important}
body:has(.dashShell .dashLayout) .wrap.dashShell{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:286px minmax(0,1fr) !important;
  grid-template-rows:auto 1fr !important;
  gap:0 !important;
  align-items:start !important;
  min-height:100vh;
}
/* La sidebar occupe la colonne de gauche sur toute la hauteur (2 lignes) */
body:has(.dashShell .dashLayout) .wrap.dashShell > .dashLayout{display:contents}
body:has(.dashShell .dashLayout) .wrap.dashShell > .dashLayout > .dashSide{
  grid-row:1 / 3 !important;
  grid-column:1 !important;
  position:sticky; top:0; height:100vh; overflow:auto;
}
/* Le titre de page passe dans la colonne de droite, en haut */
body:has(.dashShell .dashLayout) .wrap.dashShell > .dashHeader{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  padding:24px 28px 0 !important;
}
/* Le contenu principal sous le titre, colonne de droite */
body:has(.dashShell .dashLayout) .wrap.dashShell > .dashLayout > .dashMain{
  grid-column:2 !important;
  grid-row:2 !important;
  padding:18px 28px 34px !important;
  min-width:0;
}
@media (max-width:980px){
  body:has(.dashShell .dashLayout) .wrap.dashShell{grid-template-columns:1fr !important}
  body:has(.dashShell .dashLayout) .wrap.dashShell > .dashLayout > .dashSide{position:relative; height:auto; grid-row:auto !important; grid-column:1 !important}
  body:has(.dashShell .dashLayout) .wrap.dashShell > .dashHeader{grid-column:1 !important; padding:18px 16px 0 !important}
  body:has(.dashShell .dashLayout) .wrap.dashShell > .dashLayout > .dashMain{grid-column:1 !important; padding:14px 16px 28px !important}
}
