.tabnav{
  display:flex; gap:6px; padding:0 18px 14px; margin-bottom:16px;
  overflow-x:auto; white-space:nowrap;
}
.tabnav::-webkit-scrollbar{ display:none; }
.tabnav a{
  font-family:var(--body); font-size:12.5px; font-weight:600;
  color:var(--concrete); text-decoration:none; padding:9px 14px; border-radius:100px;
  flex-shrink:0; background:var(--concrete-light); transition:background 0.2s, color 0.2s;
}
.tabnav a.active{ color:white; background:var(--dark-surface); }

@media (min-width:700px){
  .tabnav{ gap:8px; overflow-x:visible; }
}
@media (min-width:1024px){
  .tabnav{ display:none; }
}

/* Grille responsive pour les cartes de stock à partir de la tablette */
@media (min-width:700px){
  #stock-list{ display:grid; grid-template-columns:repeat(2, 1fr); gap:0 14px; padding:0 18px; }
  #stock-list .card{ margin:0 0 14px; }
}
@media (min-width:1024px){
  #stock-list{ grid-template-columns:repeat(3, 1fr); }
}

.alert-banner{
  background:var(--dark-surface); color:white; border-radius:20px; padding:16px 18px; margin:0 18px 16px;
}
.alert-banner .tag{ font-family:var(--body); font-size:11px; font-weight:700; color:var(--signal); margin-bottom:6px; display:block; }
.alert-banner p{ font-size:13.5px; line-height:1.5; margin-bottom:0; }
.alert-banner b{ color:#FFD8B8; }

.stockcard{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
#add-product-zone{ padding:0 18px; margin-bottom:16px; }
.stock-actions{ width:100%; order:99; margin-top:2px; }
.btn-reorder{
  background:var(--card-soft); border:1px solid rgba(249,115,22,0.15); color:var(--signal);
  font-family:var(--body); font-size:12.5px; font-weight:700; padding:11px 14px;
  border-radius:100px; cursor:pointer; width:100%; margin-top:6px; transition:background 0.2s, transform 0.15s;
}
.btn-reorder:hover{ background:var(--card-soft-strong); transform:translateY(-1px); }
.btn-reorder:active{ transform:scale(0.98); }
.btn-reorder.recommended{ background:var(--danger-bg); color:var(--danger); border-color:rgba(220,38,38,0.15); }

.ordercard{
  background:var(--card-soft); border:none; border-radius:18px; padding:16px;
  margin:0 18px 14px;
}
.order-label{ font-weight:700; font-size:13.5px; }
.order-meta{ font-family:var(--mono); font-size:11px; color:var(--concrete); margin:4px 0 10px; }

.price-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:4px; }
.btn-editprice{
  background:none; border:none; color:var(--signal); font-family:var(--body); font-size:11px; font-weight:600;
  cursor:pointer; padding:0; flex-shrink:0;
}
.priceeditor{ width:100%; order:98; margin-top:8px; background:var(--white); border:none; border-radius:16px; padding:14px; }
.qp-field-label{ font-family:var(--mono); font-size:11px; font-weight:600; color:var(--concrete); margin-bottom:6px; }

.customerordercard{
  background:var(--card-soft); border:none; border-radius:18px; padding:16px;
  margin:0 18px 14px;
}
.co-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.co-status{
  font-family:var(--body); font-size:10.5px; font-weight:700; padding:4px 11px; border-radius:100px; color:white;
}
.co-status.a_confirmer{ background:var(--signal); }
.co-status.en_attente{ background:var(--warn); }
.co-status.livre{ background:var(--ok); }
.co-status.annulee{ background:var(--danger); }
.co-date{ font-family:var(--mono); font-size:11px; color:var(--concrete); }
.co-items{ font-size:12.5px; color:var(--ink); margin-bottom:2px; }
.co-subtotal{ font-family:var(--body); font-weight:700; font-size:13.5px; margin-bottom:10px; }
.co-delivery{ background:var(--white); border-radius:14px; padding:12px 14px; }
.co-delivery-row{ font-size:12.5px; margin-bottom:4px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.co-delivery-row:last-child{ margin-bottom:0; }
.co-notes{ color:var(--concrete); font-style:italic; }
.co-call{
  font-family:var(--body); font-size:10.5px; font-weight:700; color:white; text-decoration:none;
  background:var(--dark-surface); padding:4px 11px; border-radius:100px;
}
.order-maplink{ font-family:var(--body); font-size:11px; font-weight:600; color:var(--signal); text-decoration:none; }
.order-depot-block{ margin-bottom:8px; }
.order-depot-name{ font-weight:700; font-size:13px; margin-bottom:2px; }
.star-picker{ display:flex; gap:6px; font-size:24px; }
.star-choice{ cursor:pointer; color:var(--signal); user-select:none; }

.review-photo-picker{
  display:inline-flex; align-items:center; gap:6px; background:var(--concrete-light);
  color:var(--concrete); font-family:var(--body); font-size:12px; font-weight:600;
  padding:9px 14px; border-radius:100px; cursor:pointer; transition:background 0.15s;
}
.review-photo-picker:hover{ background:var(--card-soft); color:var(--signal); }
.review-photo-preview{ display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.review-photo-thumb{ width:52px; height:52px; object-fit:cover; border-radius:12px; }

.co-actions{ display:flex; gap:8px; margin-top:12px; }
.btn-co-action{
  flex:1; font-family:var(--body); font-size:12px; font-weight:600; border-radius:100px;
  padding:10px; cursor:pointer; border:none; background:var(--white); color:var(--concrete);
}
.btn-co-deliver{ background:var(--ok-bg); color:var(--ok); }
.btn-co-cancel{ background:var(--danger-bg); color:var(--danger); }
.btn-co-revert{ color:var(--concrete); }
.co-updating{ font-family:var(--mono); font-size:11px; color:var(--concrete); }

.dash-stats-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin:0 18px 16px; }
@media (min-width:700px){ .dash-stats-grid{ grid-template-columns:repeat(4, 1fr); } }
.dash-stat{
  background:var(--white); border-radius:var(--radius-md); padding:16px; box-shadow:var(--shadow-soft);
  border:1px solid rgba(31,41,55,0.06);
}
.dash-stat-icon{
  width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:16px; margin-bottom:10px;
}
.dash-stat-icon-blue{ background:var(--blue-bg); }
.dash-stat-icon-green{ background:var(--ok-bg); }
.dash-stat-icon-purple{ background:#F3E8FF; }
.dash-stat-icon-orange{ background:var(--card-soft-strong); }
.dash-stat-value{ font-weight:700; font-size:19px; }
.dash-stat-label{ font-size:11px; color:var(--concrete); margin-top:2px; }

.dash-panel{
  background:var(--white); border-radius:var(--radius-md); padding:18px; margin:0 18px 16px;
  box-shadow:var(--shadow-soft); border:1px solid rgba(31,41,55,0.06);
}
.dash-panel-title{ font-size:12.5px; font-weight:700; color:var(--concrete); margin-bottom:14px; text-transform:uppercase; letter-spacing:0.03em; }
.dash-chart{ display:flex; align-items:flex-end; justify-content:space-between; gap:6px; height:80px; }
.dash-bar-col{ display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; }
.dash-bar{ width:100%; max-width:22px; background:var(--signal); border-radius:6px 6px 2px 2px; transition:height 0.4s ease; }
.dash-bar-label{ font-size:9px; color:var(--concrete); }
.dash-top-row{ display:flex; align-items:center; justify-content:space-between; padding:9px 0; border-top:1px solid rgba(31,41,55,0.06); }
.dash-top-row:first-child{ border-top:none; }
.dash-top-name{ font-size:12.5px; font-weight:600; }
.dash-top-brand{ font-weight:400; color:var(--concrete); font-size:11px; }
.dash-top-cat{ font-size:10.5px; color:var(--concrete); margin-top:1px; }
.dash-top-views{ font-size:12px; font-weight:700; color:var(--concrete); flex-shrink:0; }

.warning-note{
  background:var(--warn-bg); color:var(--warn); font-size:11.5px; font-weight:600;
  padding:8px 12px; border-radius:12px; margin-top:10px;
}

.dispute-btn{ width:100%; margin-top:8px; color:var(--danger) !important; border-color:rgba(220,38,38,0.2) !important; }

.dispute-status-card{ border-radius:var(--radius-md); padding:14px 16px; margin-top:10px; }
.dispute-status-title{ font-family:var(--body); font-weight:700; font-size:12.5px; margin-bottom:4px; }
.dispute-status-detail{ font-size:12px; line-height:1.5; margin-bottom:4px; }
.dispute-status-deadline{ font-family:var(--mono); font-size:11px; font-weight:600; }

.dispute-pending{ background:var(--warn-bg); }
.dispute-pending .dispute-status-title, .dispute-pending .dispute-status-deadline{ color:var(--warn); }
.dispute-pending .dispute-status-detail{ color:var(--ink); }

.dispute-resolved{ background:var(--ok-bg); }
.dispute-resolved .dispute-status-title{ color:var(--ok); }
.dispute-resolved .dispute-status-detail{ color:var(--ink); }

.dispute-rejected{ background:var(--concrete-light); }
.dispute-rejected .dispute-status-title{ color:var(--concrete); }
.dispute-rejected .dispute-status-detail{ color:var(--ink); }

.sales-bars{ margin:0 18px 18px; }
.sales-bar-row{ margin-bottom:14px; }
.sales-bar-row:last-child{ margin-bottom:0; }
.sales-bar-label{ font-size:12.5px; font-weight:600; margin-bottom:5px; }
.sales-bar-brand{ font-weight:400; color:var(--concrete); font-size:11px; }
.sales-bar-track{ height:8px; background:#EFEBE6; border-radius:100px; overflow:hidden; }
.sales-bar-fill{ height:100%; background:var(--signal); border-radius:100px; }
.sales-bar-value{ font-size:11px; color:var(--concrete); margin-top:4px; }
.sales-bar-units{ color:var(--concrete); }
.sackicon{
  width:46px; height:52px; border-radius:14px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; color:white; font-weight:700; text-align:center; padding:2px;
}
.stock-info{ flex:1; }
.stock-info .name{ font-weight:700; font-size:13.5px; }
.stock-info .meta{ font-family:var(--mono); font-size:11px; color:var(--concrete); margin-top:2px; }
.bar-track{ height:6px; background:#EFEBE6; border-radius:100px; margin-top:8px; overflow:hidden; }
.bar-fill{ height:100%; border-radius:100px; }
.pill{ font-family:var(--body); font-size:10px; font-weight:700; padding:4px 10px; border-radius:100px; white-space:nowrap; }
.pill.epuise{ background:var(--danger-bg); color:var(--danger); }
.pill.critique{ background:var(--danger-bg); color:var(--danger); }
.pill.surveiller{ background:var(--warn-bg); color:var(--warn); }
.pill.sain{ background:var(--ok-bg); color:var(--ok); }
.pill.inconnu{ background:var(--concrete-light); color:var(--concrete); }

/* ===========================================================================
   Bouton "N commande(s) en attente" — à côté du titre "Mon stock", amène
   directement à la section de confirmation/refus des commandes clients.
   =========================================================================== */
.stock-title-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pending-orders-btn{
  font-family:var(--body); font-size:12px; font-weight:700; color:#fff; background:var(--signal);
  border:none; border-radius:100px; padding:8px 16px; cursor:pointer; display:flex; align-items:center; gap:6px;
  box-shadow:0 2px 10px rgba(249,115,22,0.35); animation:pendingPulse 2s ease-in-out infinite;
  transition:transform 0.15s;
}
.pending-orders-btn:hover{ transform:translateY(-1px); }
@keyframes pendingPulse{
  0%, 100%{ box-shadow:0 2px 10px rgba(249,115,22,0.35); }
  50%{ box-shadow:0 2px 16px rgba(249,115,22,0.6); }
}
