.admin {
  display: grid;
  grid-template-columns: 230px 1fr;
  min-height: 100vh;
  background: #f5f7f7;
}
.admin-nav {
  background: #122420;
  color: #dce7e4;
  padding: 25px 17px;
  display: grid;
  align-content: start;
  gap: 4px;
}
.admin-nav .brand {
  margin: 0 0 22px;
}
.admin-nav a:not(.brand) {
  padding: 10px;
  border-radius: 6px;
  font-size: 14px;
}
.admin-nav a:not(.brand):hover,
.admin-nav a.active {
  background: #ffffff16;
  color: #fff;
}
.admin-main {
  padding: 48px;
  max-width: 1250px;
  width: 100%;
}
.admin-main h1 {
  margin-bottom: 28px;
}
.admin-title {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.admin-title h1 {
  margin: 0;
}
.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 25px;
}
.stat-grid article,
.admin-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px;
}
.stat-grid small,
.stat-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.stat-grid strong {
  font-size: 25px;
  display: block;
  margin: 8px 0;
}
.admin-panel {
  margin-bottom: 20px;
}
.admin-panel h2 {
  font-size: 19px;
}
.product-form {
  margin-bottom: 24px;
}
.product-form label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}
.product-form input,
.product-form select,
.product-form textarea {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px;
}
.product-form textarea {
  min-height: 80px;
}
.product-form small {
  color: var(--muted);
  font-weight: 400;
}
.admin-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}
.admin-table th,
.admin-table td {
  padding: 11px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.admin-login {
  min-height: 100vh;
  background: var(--soft);
  display: grid;
  place-content: center;
  gap: 25px;
}
.admin-login > section {
  background: #fff;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 12px;
  width: min(390px, calc(100vw - 32px));
}
.admin-login label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  margin: 15px 0;
}
.admin-login input {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  width: 100%;
}
.hint {
  font-size: 12px;
  color: var(--muted);
  margin-top: 20px;
}
@media (max-width: 700px) {
  .admin {
    display: block;
  }
  .admin-nav {
    grid-template-columns: repeat(2, 1fr);
    padding: 16px;
  }
  .admin-nav .brand {
    grid-column: 1/-1;
    margin-bottom: 10px;
  }
  .admin-main {
    padding: 28px 16px;
  }
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-title {
    gap: 10px;
  }
  .admin-table {
    font-size: 12px;
  }
}

/* ===== IBC — gestion produits simplifiée ===== */
.admin-nav a:not(.brand) { display:flex; align-items:center; gap:9px; }
.admin-nav .material-symbols-outlined { font-size:20px; }
.products-admin { max-width: 1400px; }
.products-head { align-items:center; margin-bottom:22px; }
.admin-subtitle { margin:7px 0 0; color:var(--muted); }
.product-add-btn, .button-edit { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.product-toolbar { display:flex; align-items:center; gap:16px; margin-bottom:20px; padding:12px 16px; }
.product-search { flex:1; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:9px; padding:0 12px; background:#fff; }
.product-search .material-symbols-outlined { color:var(--muted); }
.product-search input { width:100%; border:0; outline:0; padding:12px 0; background:transparent; font:inherit; }
.product-count { color:var(--muted); font-size:13px; white-space:nowrap; }
.product-form { padding:24px; }
.form-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.form-heading h2 { margin:3px 0 0; }
.icon-button { border:1px solid var(--line); background:#fff; border-radius:8px; width:40px; height:40px; display:grid; place-items:center; cursor:pointer; }
.product-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.product-form-grid .field-wide { grid-column:1/-1; }
.product-form label { min-width:0; }
.product-form input, .product-form select, .product-form textarea { font:inherit; background:#fff; }
.input-suffix { position:relative; display:flex; align-items:center; }
.input-suffix input { width:100%; padding-right:58px; }
.input-suffix span { position:absolute; right:11px; color:var(--muted); font-size:12px; pointer-events:none; }
.form-help { display:flex; align-items:center; gap:8px; margin-top:17px; padding:12px 14px; border-radius:9px; background:#fbf6ed; color:#6f5429; font-size:13px; }
.form-help .material-symbols-outlined { font-size:19px; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.button-light { background:#fff; color:inherit; border:1px solid var(--line); }
.form-message { min-height:18px; margin:10px 0 0; font-size:13px; }
.form-message.success { color:#24734a; }
.form-message.error { color:#b3261e; }
.product-list-section { margin-top:20px; }
.product-admin-card { display:grid; grid-template-columns:88px 1fr auto; gap:18px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px; margin-bottom:12px; }
.product-admin-image { width:88px; height:88px; border-radius:9px; background:#f3f4f4; display:grid; place-items:center; overflow:hidden; color:var(--muted); }
.product-admin-image img { width:100%; height:100%; object-fit:cover; }
.product-admin-info { min-width:0; }
.product-admin-topline { display:flex; align-items:center; gap:9px; margin-bottom:5px; }
.product-category { color:#9b6a19; font-size:12px; font-weight:600; }
.stock-badge { background:#edf8f1; color:#267548; padding:4px 8px; border-radius:999px; font-size:11px; }
.stock-badge.out { background:#fff0ef; color:#a43a32; }
.product-admin-info h3 { margin:0 0 5px; font-size:16px; }
.product-admin-info p { margin:0; color:var(--muted); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:720px; }
.product-admin-price { margin-top:8px; font-weight:700; }
.product-admin-price del { margin-left:8px; color:var(--muted); font-size:12px; font-weight:400; }
.empty-state { text-align:center; padding:60px 20px; background:#fff; border:1px dashed var(--line); border-radius:12px; color:var(--muted); }
.empty-state .material-symbols-outlined { font-size:42px; }
.empty-state h3 { color:inherit; margin:10px 0 5px; }
@media (max-width: 850px) {
  .product-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-admin-card { grid-template-columns:70px 1fr; }
  .product-admin-image { width:70px; height:70px; }
  .button-edit { grid-column:2; justify-self:start; }
}
@media (max-width: 600px) {
  .products-head { align-items:flex-start; flex-direction:column; }
  .product-add-btn { width:100%; }
  .product-toolbar { align-items:stretch; flex-direction:column; }
  .product-form { padding:16px; }
  .product-form-grid { grid-template-columns:1fr; }
  .product-form-grid .field-wide { grid-column:auto; }
  .product-admin-card { grid-template-columns:58px 1fr; gap:11px; }
  .product-admin-image { width:58px; height:58px; }
  .product-admin-info p { max-width:100%; }
}

/* Catégories : rendu de l'image sans empêcher les contrôles de recevoir les clics. */
.category-admin-main { display:flex; align-items:center; gap:12px; min-width:0; }
.category-admin-placeholder { width:42px; height:42px; border-radius:7px; background:#f3f4f4; display:grid; place-items:center; color:var(--muted); flex:none; }
.category-admin-image { flex:none; }

.category-admin-image { width:52px; height:52px; object-fit:cover; border-radius:8px; display:block; background:#f3f4f4; }
img { max-width:100%; }

/* ===== IBC — paramètres administrables ===== */
.settings-panel { margin-bottom:20px; }
.admin-panel-head { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin-bottom:18px; }
.admin-panel-head h2 { margin:0; }
.admin-panel-head span { color:var(--muted); font-size:12px; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.settings-grid label { display:grid; gap:7px; font-size:13px; font-weight:700; }
.settings-grid input, .settings-grid textarea { width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:7px; padding:10px; font:inherit; background:#fff; }
.settings-grid textarea { resize:vertical; }
.settings-grid small { color:var(--muted); font-weight:400; margin-top:-3px; }
.settings-grid .field-wide { grid-column:1/-1; }
.settings-cities-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px 0 12px; }
.settings-city-list { display:grid; gap:9px; }
.settings-city-row { display:grid; grid-template-columns:1fr 40px; gap:8px; }
.settings-city-row input { border:1px solid var(--line); border-radius:7px; padding:10px; font:inherit; }
.settings-city-row .icon-button { width:40px; height:40px; }
.settings-actions { margin-top:4px; }
@media (max-width:600px) {
  .settings-grid { grid-template-columns:1fr; }
  .settings-grid .field-wide { grid-column:auto; }
  .admin-panel-head, .settings-cities-head { align-items:flex-start; flex-direction:column; }
  .settings-cities-head .button { width:100%; }
  .settings-actions { flex-direction:column-reverse; }
  .settings-actions .button { width:100%; }
}

.approval-product{display:flex;align-items:center;gap:10px;min-width:190px}.approval-product-image,.approval-product-placeholder{width:58px;height:58px;border-radius:9px;object-fit:cover;background:#f3f4f6;display:block}.approval-product-placeholder{display:grid;place-items:center;font-size:22px}.approval-product strong{display:block;max-width:170px}.

.admin-action-alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.admin-alert-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:16px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(0,0,0,.05)}.admin-alert-card>div{display:flex;align-items:center;gap:12px}.admin-alert-card .alert-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff3e0;font-size:22px}.admin-alert-card small,.admin-alert-card span{display:block;color:#6b7280}.admin-alert-card strong{display:block;font-size:28px;line-height:1.1;margin:2px 0}.admin-alert-card a{font-weight:700;text-decoration:none}.admin-alert-card.partner{border-left:4px solid #f57c00}.admin-alert-card.collaborator{border-left:4px solid #2563eb}.partner-filter-bar{display:flex;justify-content:flex-end;margin-bottom:14px}.partner-filter-bar select{min-width:210px;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#fff}@media(max-width:700px){.admin-action-alerts{grid-template-columns:1fr}.partner-filter-bar{justify-content:stretch}.partner-filter-bar label,.partner-filter-bar select{width:100%}}

/* Navigation Admin IBC : liens toujours visibles, aucun menu déroulant caché. */
.admin-nav details{display:contents}.admin-nav summary{display:none}
