*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
body{background:var(--bg,#eef3ec);color:var(--text,#253629);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.45;overflow-x:hidden}
.app-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:100vh;width:100%;background:var(--bg,#eef3ec)}
.sidebar{grid-column:1;width:310px;min-height:100vh;background:var(--sidebar,#fff);color:var(--text,#253629);border-right:1px solid rgba(0,0,0,.08);padding:28px 22px;overflow-y:auto}
.main-area{grid-column:2;min-width:0;background:var(--bg,#eef3ec);color:var(--text,#253629)}
.content{padding:34px;max-width:1480px;margin:0 auto;background:transparent;color:var(--text,#253629)}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}
.brand-symbol{width:64px;height:64px;min-width:64px;border-radius:22px;background:var(--primary,#7fa17e);color:white;display:flex;align-items:center;justify-content:center;font-size:34px;overflow:hidden}
.brand-symbol img{width:100%;height:100%;object-fit:cover}
.brand h1{margin:0;font-size:26px;line-height:1.05;color:var(--text,#253629);font-weight:900}
.brand p{margin:6px 0 0;color:#6f8b73}
.sidebar nav a{display:block;margin:10px 0;padding:15px 17px;border-radius:20px;background:#f6faf4;border:1px solid #dfe9dc;color:#253629;text-decoration:none;font-weight:850}
.sidebar nav a:hover{background:var(--secondary,#efe2c7)}
.topbar{min-height:86px;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(0,0,0,.08);display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 34px;position:sticky;top:0;z-index:50}
.topbar strong{display:block;font-size:22px;color:var(--text,#253629)}
.topbar span{color:#6f8b73}
.topbar-actions{display:flex;gap:10px;flex-wrap:wrap}
h1,h2,h3,h4{color:var(--text,#253629)}
h2{margin:0 0 10px;font-size:44px;line-height:1;font-weight:950}
h3{margin-top:0;font-size:22px}
.page-subtitle{color:#6f8b73;font-size:18px;margin:0 0 24px}
.card{background:#ffffff;color:#253629;border-radius:26px;padding:24px;border:1px solid rgba(0,0,0,.06);box-shadow:0 18px 50px rgba(0,0,0,.06);margin-bottom:20px}
.grid,.stats-summary,.forecast-summary,.report-summary,.shop-summary,.caisse-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.summary-card span{display:block;color:#6f8b73;text-transform:uppercase;font-weight:900;font-size:12px}
.summary-card strong{display:block;margin-top:10px;color:#253629;font-size:32px}
.btn,.pill-btn,button{border:0;background:var(--primary,#7fa17e);color:white;padding:13px 18px;border-radius:18px;font-weight:900;text-decoration:none;display:inline-block;cursor:pointer;font-size:15px}
.pill-btn.secondary,.secondary{background:var(--secondary,#efe2c7);color:#253629}
.pill-btn.danger,.danger{background:#c95f5f!important;color:white!important}
label{display:block;margin:12px 0 6px;color:#5f704f;font-weight:850}
input,select,textarea{width:100%;max-width:100%;padding:13px 14px;border-radius:16px;border:1px solid #dbe6d8;background:#ffffff;color:#253629;font-size:15px;font-family:inherit}
textarea{min-height:100px;resize:vertical}
input[type=color]{min-height:46px;padding:4px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}
.full,.form-grid .full{grid-column:1/-1}
.table-wrap,.shop-table-card,.report-table-card,.caisse-history,.calendar-box{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:white;color:#253629;border-radius:22px;overflow:hidden}
th{text-align:left;background:#edf4ea;color:#5f704f;padding:13px;text-transform:uppercase;font-size:12px}
td{padding:13px;border-bottom:1px solid #edf1eb;vertical-align:middle}
.notice{background:#e2eddf;color:#253629;padding:14px;border-radius:16px;margin-bottom:18px;font-weight:850}
.error{background:#f8dddd;color:#7a2f2f;padding:12px;border-radius:14px;margin:12px 0}
.color-dot{display:inline-block;width:22px;height:22px;border-radius:50%;vertical-align:middle}
.color-dot.small{width:14px;height:14px;min-width:14px;margin-right:6px}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#dff0df;color:#245024;font-weight:850;font-size:13px}
.badge.alert{background:#f8dddd;color:#7a2f2f}
.category-pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.checkline{display:flex!important;align-items:center;gap:8px;padding:12px 14px;border:1px solid #dbe6d8;border-radius:16px;background:white;margin-top:6px!important}
.checkline input{width:auto!important}
td .pill-btn{margin:3px 0}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef3ec;padding:20px}
.login-card{width:min(520px,92vw);background:white;color:#253629;padding:34px;border-radius:28px;box-shadow:0 20px 60px rgba(0,0,0,.12)}
canvas{max-width:100%;background:white;border-radius:18px}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999;padding:18px;overflow:auto}
.modal-backdrop.open{display:flex}
.modal-box{width:min(920px,96vw);max-height:90vh;overflow-y:auto;background:white;color:#253629;border-radius:26px;padding:24px}
@media(max-width:1200px){.app-layout{grid-template-columns:270px minmax(0,1fr)}.sidebar{width:270px;padding:22px 16px}.content{padding:24px}h2{font-size:36px}}
@media(max-width:900px){.app-layout{display:block}.sidebar{width:100%;min-height:auto}.main-area{width:100%}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sidebar nav a{margin:0;text-align:center;font-size:14px}.topbar{display:block;padding:18px}.topbar-actions{margin-top:12px}.content{padding:18px}.form-grid{grid-template-columns:1fr}}
@media(max-width:600px){.sidebar nav{grid-template-columns:1fr}}

.image-preview {
  margin: 10px 0;
  padding: 12px;
  border-radius: 20px;
  background: #f6faf4;
  border: 1px solid #dfe9dc;
  max-width: 260px;
}

.image-preview.wide {
  max-width: 520px;
}

.image-preview img {
  display: block;
  max-width: 100%;
  max-height: 180px;
  border-radius: 16px;
  object-fit: contain;
}

.appearance-preview .preview-box {
  display: grid;
  grid-template-columns: 120px 1fr;
  min-height: 180px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #dfe9dc;
}

.preview-sidebar {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 44px;
}

.preview-sidebar img {
  max-width: 80px;
  max-height: 80px;
  object-fit: contain;
}

.preview-content {
  padding: 24px;
}

.preview-content strong {
  display: block;
  font-size: 24px;
  margin-bottom: 8px;
}

.preview-content span {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 14px;
  margin-right: 8px;
  color: white;
  font-weight: 900;
}


.invoice-lines {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 12px 0 16px;
}

.invoice-line {
  display: grid;
  grid-template-columns: minmax(240px,1fr) 120px 140px 140px;
  gap: 10px;
  align-items: center;
}

.invoice-head {
  color: #5f704f;
  font-size: 13px;
  text-transform: uppercase;
  background: #edf4ea;
  border-radius: 16px;
  padding: 12px;
}

.invoice-line:not(.invoice-head) {
  padding: 10px;
  border-radius: 18px;
  background: #f8fbf7;
  border: 1px solid #dfe9dc;
}

.invoice-total-box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  margin: 20px 0;
  padding: 18px;
  border-radius: 20px;
  background: #edf4ea;
}

.invoice-total-box span {
  color: #5f704f;
  font-weight: 900;
  text-transform: uppercase;
}

.invoice-total-box strong {
  font-size: 28px;
  color: #253629;
}

@media(max-width:900px) {
  .invoice-line {
    grid-template-columns: 1fr;
  }

  .invoice-head {
    display: none;
  }
}


.cardex-timeline {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cardex-item {
  border: 1px solid #dfe9dc;
  border-radius: 22px;
  background: #f8fbf7;
  overflow: hidden;
}

.cardex-item summary {
  cursor: pointer;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cardex-item summary::-webkit-details-marker {
  display: none;
}

.cardex-date {
  display: inline-block;
  padding: 7px 10px;
  border-radius: 999px;
  background: #7fa17e;
  color: white;
  font-weight: 900;
}

.cardex-item summary strong {
  font-size: 18px;
  color: #253629;
}

.cardex-item summary em {
  font-style: normal;
  padding: 6px 10px;
  border-radius: 999px;
  background: #efe2c7;
  color: #253629;
  font-weight: 800;
}

.cardex-content {
  padding: 18px;
  border-top: 1px solid #dfe9dc;
  background: white;
}

.cardex-content h4 {
  margin: 10px 0 6px;
  color: #5f704f;
}

.cardex-content p {
  margin-top: 0;
  white-space: normal;
}

.cardex-actions {
  margin-top: 16px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.actions-row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pill-btn.danger {
  background:#d66b6b;
  color:white;
}

.pill-btn.danger:hover {
  background:#bf5252;
}


.client-hero {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 20px;
  align-items: center;
}

.client-avatar {
  width: 96px;
  height: 96px;
  border-radius: 30px;
  background: #edf4ea;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  overflow: hidden;
}

.client-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.client-hero h3 {
  margin: 0 0 8px;
  font-size: 28px;
}

.client-hero-stats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.client-hero-stats span {
  padding: 10px 14px;
  border-radius: 18px;
  background: #f6faf4;
  border: 1px solid #dfe9dc;
}

.client-hero-stats strong {
  display: block;
  font-size: 22px;
}

.client-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  position: sticky;
  top: 90px;
  z-index: 20;
  background: #eef3ec;
  padding: 10px 0;
}

.client-tabs a {
  text-decoration: none;
  color: #253629;
  background: #fff;
  border: 1px solid #dfe9dc;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 850;
}

.client-tabs a:hover {
  background: #efe2c7;
}

.cardex-timeline {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cardex-item {
  border: 1px solid #dfe9dc;
  border-radius: 22px;
  background: #f8fbf7;
  overflow: hidden;
}

.cardex-item summary {
  cursor: pointer;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cardex-item summary::-webkit-details-marker {
  display: none;
}

.cardex-date {
  display: inline-block;
  padding: 7px 10px;
  border-radius: 999px;
  background: #7fa17e;
  color: white;
  font-weight: 900;
}

.cardex-item summary strong {
  font-size: 18px;
  color: #253629;
}

.cardex-item summary em {
  font-style: normal;
  padding: 6px 10px;
  border-radius: 999px;
  background: #efe2c7;
  color: #253629;
  font-weight: 800;
}

.cardex-content {
  padding: 18px;
  border-top: 1px solid #dfe9dc;
  background: white;
}

.cardex-content h4 {
  margin: 10px 0 6px;
  color: #5f704f;
}

.cardex-actions {
  margin-top: 16px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.document-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

.document-item {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 14px;
  border-radius: 18px;
  background: #f8fbf7;
  border: 1px solid #dfe9dc;
}

.document-item span {
  color: #6f8b73;
}

@media(max-width:900px) {
  .client-hero {
    grid-template-columns: 1fr;
  }

  .client-hero-stats {
    width: 100%;
  }

  .client-tabs {
    position: relative;
    top: auto;
  }
}

.export-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.agenda-views,.agenda-period,.agenda-date-jump,.agenda-actions,.waiting-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.agenda-period strong{font-size:20px}.agenda-date-jump{margin:0}.agenda-date-jump input{width:auto!important}
.agenda-week{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:12px;overflow-x:auto}
.agenda-column{min-height:260px;background:#f8fbf7;border:1px solid #dfe9dc;border-radius:20px;padding:12px}
.agenda-column h4{margin:0 0 10px;color:#5f704f}.agenda-day{display:flex;flex-direction:column;gap:12px}
.agenda-event{background:#fff;border:1px solid #dfe9dc;border-left:6px solid #7fa17e;border-radius:18px;padding:12px;margin-bottom:10px;box-shadow:0 8px 22px rgba(0,0,0,.04)}
.agenda-event.status-annule{opacity:.55;text-decoration:line-through}.agenda-event.status-confirme{background:#f0faf0}.agenda-event.status-attente{background:#fff8e5}
.agenda-event-time{font-weight:900;color:#5f704f;margin-bottom:4px}.agenda-event strong,.agenda-event span,.agenda-event small{display:block}.agenda-event p{margin:8px 0 0;font-size:13px}
.agenda-actions{margin-top:10px}.agenda-actions a{font-size:12px;text-decoration:none;color:#253629;background:#edf4ea;border-radius:999px;padding:5px 8px;font-weight:800}
.agenda-month{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px}.agenda-month-cell{min-height:110px;background:#f8fbf7;border:1px solid #dfe9dc;border-radius:16px;padding:8px}.agenda-month-cell.muted{opacity:.35}.agenda-month-cell h4{margin:0 0 6px}
.agenda-mini{border-left:5px solid #7fa17e;background:white;border-radius:10px;padding:5px;margin-bottom:4px;font-size:12px}
@media(max-width:900px){.agenda-week{grid-template-columns:1fr}.agenda-month{grid-template-columns:repeat(2,1fr)}.agenda-toolbar{display:block}.agenda-period,.agenda-views,.agenda-date-jump{margin-bottom:10px}}

/* V8.4 Export ICS */
#icsRdvBtn {
  background: #efe2c7;
  color: #253629;
}

/* V8.2.1 Drag & resize stable */
.fc-event {
  cursor: grab;
}

.fc-event:active {
  cursor: grabbing;
}

.fc-timegrid-event .fc-event-resizer {
  display: block !important;
  height: 8px;
  bottom: 0;
}

.fc-timegrid-event {
  min-height: 22px;
}

.fc .fc-timegrid-slot {
  height: 2.2em;
}

/* Correctif statuts RDV */
.fc-event-realise {
  opacity: .9;
}

.fc-event-deplace {
  border-style: dashed !important;
}

.fc-event-absent {
  opacity: .75;
  filter: grayscale(.35);
}

/* Bouton ICS dans popup rendez-vous */
#icsRdvBtn {
  background: #efe2c7;
  color: #253629;
}

#factureRdvBtn { background:#efe2c7; color:#253629; }

/* Shop catégories déroulantes */
.shop-category-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.shop-category-dropdown {
  margin-top:12px;
}

.shop-category-dropdown summary {
  display:inline-block;
  cursor:pointer;
  padding:14px 22px;
  border-radius:18px;
  background:#efe2c7;
  color:#253629;
  font-weight:700;
  list-style:none;
}

.shop-category-dropdown summary::-webkit-details-marker {
  display:none;
}

.shop-category-dropdown summary::after {
  content:" ▼";
}

.shop-category-dropdown[open] summary::after {
  content:" ▲";
}

.shop-category-table {
  margin-top:18px;
}

.shop-category-table button.pill-btn {
  border:0;
  cursor:pointer;
}

#categoryModal.modal-backdrop {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:9999;
  align-items:center;
  justify-content:center;
}

#categoryModal.modal-backdrop.open {
  display:flex;
}

#categoryModal .modal-box {
  max-width:650px;
  width:90%;
  background:white;
  border-radius:24px;
  padding:28px;
}

@media(max-width:800px) {
  .shop-category-header {
    display:block;
  }
}

/* Clients : liste déroulante */
.clients-dropdown {
  margin-top: 12px;
}

.clients-dropdown summary {
  display: inline-block;
  cursor: pointer;
  padding: 14px 22px;
  border-radius: 18px;
  background: #efe2c7;
  color: #253629;
  font-weight: 700;
  list-style: none;
}

.clients-dropdown summary::-webkit-details-marker {
  display: none;
}

.clients-dropdown summary::after {
  content: " ▼";
}

.clients-dropdown[open] summary::after {
  content: " ▲";
}

.clients-dropdown table {
  margin-top: 18px;
}

/* Dashboard central EDS */
.dashboard-hero {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap:14px;
  margin:18px 0 20px;
}

.dash-tile {
  display:flex;
  flex-direction:column;
  gap:6px;
  text-decoration:none;
  background:#fff;
  border:1px solid #dfe9dc;
  border-radius:24px;
  padding:18px;
  color:#253629;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}

.dash-tile span {
  font-size:30px;
}

.dash-tile strong {
  font-size:20px;
}

.dash-tile small {
  color:#5f704f;
  font-weight:700;
}

.dashboard-sections {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;
  margin:20px 0;
}

.dash-section,
.dash-data-section {
  background:#fff;
  border:1px solid #dfe9dc;
  border-radius:22px;
  padding:14px;
  margin-bottom:14px;
}

.dash-section summary,
.dash-data-section summary {
  cursor:pointer;
  font-weight:900;
  color:#253629;
  list-style:none;
  padding:8px;
}

.dash-section summary::-webkit-details-marker,
.dash-data-section summary::-webkit-details-marker {
  display:none;
}

.dash-section summary::after,
.dash-data-section summary::after {
  content:" ▼";
  float:right;
}

.dash-section[open] summary::after,
.dash-data-section[open] summary::after {
  content:" ▲";
}

.dash-links {
  display:grid;
  gap:8px;
  margin-top:10px;
}

.dash-links a {
  display:block;
  padding:10px 12px;
  border-radius:14px;
  background:#f8fbf7;
  text-decoration:none;
  color:#253629;
  font-weight:800;
  border:1px solid #dfe9dc;
}

.dash-links a:hover,
.dash-tile:hover {
  transform: translateY(-1px);
}

@media(max-width:700px) {
  .dashboard-hero,
  .dashboard-sections {
    grid-template-columns:1fr;
  }
}

/* Sidebar repliable EDS */
#sidebarToggle{
  margin-right:12px;
}

.sidebar{
  transition: all .25s ease;
}

.sidebar.sidebar-hidden{
  width:0 !important;
  min-width:0 !important;
  overflow:hidden;
  padding:0 !important;
  border:none !important;
}

.sidebar.sidebar-hidden *{
  display:none !important;
}

@media(max-width:900px){
  .sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    z-index:9999;
  }

  .sidebar.sidebar-hidden{
    transform:translateX(-110%);
    width:auto !important;
  }
}
/* Sidebar repliée = dashboard pleine largeur */

.app-layout.sidebar-collapsed {
    grid-template-columns: 0 minmax(0,1fr) !important;
}

.app-layout.sidebar-collapsed .main-area {
    grid-column: 1 / -1;
}

.app-layout.sidebar-collapsed .content {
    max-width: 100%;
}
/* Dashboard pleine largeur quand le menu est fermé */

.app-layout.sidebar-collapsed {
    grid-template-columns: 0 minmax(0,1fr) !important;
}

.app-layout.sidebar-collapsed .main-area {
    grid-column: 1 / -1;
}

.app-layout.sidebar-collapsed .content {
    max-width: 100%;
    width: 100%;
}
/* Correction espace vide quand le menu est fermé */

.app-layout.sidebar-collapsed {
    grid-template-columns: 0 1fr !important;
    min-height: auto !important;
}

.app-layout.sidebar-collapsed .sidebar {
    position: absolute !important;
    width: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
}

.app-layout.sidebar-collapsed .main-area {
    grid-column: 1 / -1;
    width: 100%;
}

.app-layout.sidebar-collapsed .content {
    width: 100%;
    max-width: 100%;
}


/* EDS 8.8 — Correctif mobile Samsung / menu overlay */
@media(max-width:900px) {

  html,
  body {
    width:100%;
    overflow-x:hidden;
  }

  .app-layout {
    display:block !important;
    grid-template-columns:none !important;
    min-height:100vh !important;
    width:100% !important;
  }

  .main-area {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .content {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:16px !important;
  }

  .topbar {
    position:sticky !important;
    top:0 !important;
    z-index:9000 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:12px !important;
    min-height:auto !important;
  }

  .topbar > div {
    min-width:0 !important;
  }

  .topbar strong {
    font-size:18px !important;
  }

  .topbar span {
    font-size:12px !important;
  }

  .topbar-actions {
    display:none !important;
  }

  #sidebarToggle {
    flex:0 0 auto !important;
    margin:0 !important;
    padding:10px 12px !important;
  }

  .sidebar {
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:86vw !important;
    max-width:330px !important;
    min-height:100vh !important;
    z-index:99999 !important;
    background:var(--sidebar,#fff) !important;
    overflow-y:auto !important;
    padding:22px 16px !important;
    box-shadow:0 20px 60px rgba(0,0,0,.28) !important;
    transform:translateX(-110%) !important;
    transition:transform .25s ease !important;
  }

  .sidebar:not(.sidebar-hidden) {
    transform:translateX(0) !important;
  }

  .sidebar.sidebar-hidden {
    transform:translateX(-110%) !important;
    width:86vw !important;
    max-width:330px !important;
    min-height:100vh !important;
    height:auto !important;
    padding:22px 16px !important;
    border-right:1px solid rgba(0,0,0,.08) !important;
  }

  .sidebar.sidebar-hidden * {
    display:initial !important;
  }

  .sidebar nav {
    display:block !important;
  }

  .sidebar nav a {
    display:block !important;
    width:100% !important;
    text-align:left !important;
    margin:8px 0 !important;
    font-size:15px !important;
  }

  .brand {
    display:flex !important;
  }

  .brand h1 {
    font-size:22px !important;
  }

  .brand p {
    font-size:13px !important;
  }

  .app-layout.sidebar-collapsed,
  .app-layout:not(.sidebar-collapsed) {
    display:block !important;
    grid-template-columns:none !important;
  }

  .app-layout.sidebar-collapsed .main-area,
  .app-layout:not(.sidebar-collapsed) .main-area {
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  h2 {
    font-size:32px !important;
  }

  .grid,
  .dashboard-hero,
  .dashboard-sections,
  .stats-summary,
  .forecast-summary,
  .report-summary,
  .shop-summary,
  .caisse-summary {
    grid-template-columns:1fr !important;
  }

  .form-grid {
    grid-template-columns:1fr !important;
  }

  table {
    min-width:680px;
  }

  .table-wrap {
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
}

@media(min-width:901px) {
  .sidebar-backdrop {
    display:none !important;
  }
}

.sidebar-backdrop {
  display:none;
}

@media(max-width:900px) {
  .sidebar-backdrop.open {
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:99998;
  }
}


/* EDS 8.8.2 — Statistiques avancées */
.stats-controls {
  display:flex;
  align-items:end;
  gap:12px;
  flex-wrap:wrap;
}

.stats-controls > div {
  min-width:180px;
}

.stats-kpis {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:14px;
  margin:18px 0;
}

.stats-kpi-card span {
  display:block;
  color:#60705e;
  font-weight:800;
  margin-bottom:8px;
}

.stats-kpi-card strong {
  display:block;
  font-size:25px;
  line-height:1.1;
  color:#253629;
}

.stats-kpi-card small {
  display:block;
  margin-top:8px;
  color:#6c7a68;
  font-weight:700;
}

.stats-chart-card {
  margin-bottom:18px;
}

.stats-chart-head {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.stats-chart-head h3,
.stats-chart-card h3 {
  margin-top:0;
}

.stats-chart-head p {
  color:#6c7a68;
  margin-top:4px;
}

.stats-legend {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-weight:800;
  color:#42513f;
  font-size:13px;
}

.stats-legend span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.stats-legend i {
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#6f9270;
}

.stats-legend span:nth-child(2) i {
  background:#b68b5f;
}

.stats-canvas {
  display:block;
  width:100%;
  max-width:100%;
  margin-top:8px;
}

@media(max-width:700px) {
  .stats-controls {
    align-items:stretch;
  }

  .stats-controls > div,
  .stats-controls .btn,
  .stats-controls .pill-btn {
    width:100%;
  }

  .stats-kpi-card strong {
    font-size:22px;
  }
}

/* EDS 8.9 — PWA */
#pwaInstallBtn {
  align-items:center;
  gap:6px;
}

@media(max-width:900px) {
  #pwaInstallBtn {
    display:none !important;
  }
}

@media(display-mode: standalone) {
  #pwaInstallBtn {
    display:none !important;
  }
}



/* EDS 9.0.2 — Copyright visible */
.eds-footer {
  margin-top:32px;
  padding:18px 8px 8px;
  border-top:1px solid rgba(37,54,41,.12);
  color:#6c7a68;
  font-size:12px;
  text-align:center;
  line-height:1.6;
}

.eds-footer-version {
  opacity:.78;
}

.login-card small {
  display:block;
  margin-top:18px;
  color:#6c7a68;
  line-height:1.5;
}

/* SlyCab 9.0.12 identité officielle */
.slycab-app-badge{border-radius:24px;box-shadow:0 18px 45px rgba(0,0,0,.18);}
