/* ===== Habillage général des cartes ===== */
.admin-card {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: var(--admin-card-shadow);
  color: var(--text-color);
  overflow: hidden;
}

.admin-section-card {
  padding: 0;
}

.admin-card .card-body {
  padding: 1.5rem;
}

.admin-card .card-header,
.admin-card .card-footer {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--admin-panel-border);
  color: var(--text-color);
}

.admin-units-card {
  background: var(--admin-panel-bg);
  color: var(--text-color);
  border: 1px solid var(--admin-panel-border);
  box-shadow: var(--admin-card-shadow);
}

.admin-units-card .card-title {
  color: var(--text-color);
}

.admin-units-card-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-units-description {
  color: var(--text-color);
  font-size: 0.95rem;
}

.admin-units-helper-list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--text-color);
  font-size: 0.9rem;
  line-height: 1.35;
}

.admin-units-helper-list li + li {
  margin-top: 0.35rem;
}

.admin-units-card .form-control::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.admin-units-card .btn {
  font-weight: 600;
}

/* ===== Panneau "Work in progress" ===== */
.admin-wip-panel {
  align-items: center;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.5rem;
  box-shadow: var(--admin-card-shadow);
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  justify-content: center;
  margin: 2rem auto 0;
  max-width: 560px;
  padding: 2.5rem 2rem;
  position: relative;
  text-align: center;
}

.admin-wip-panel::after {
  content: "";
  inset: 12px;
  border-radius: 1.25rem;
  pointer-events: none;
  position: absolute;
  border: 1px dashed rgba(255, 255, 255, 0.08);
}

.admin-wip-icon {
  font-size: 3rem;
  line-height: 1;
}

.admin-wip-title {
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0;
}

.admin-wip-text {
  color: var(--admin-muted);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
  max-width: 420px;
}

body.light-theme .admin-wip-panel::after {
  border-color: rgba(13, 27, 42, 0.12);
}

/* ===== Vue Préparation ===== */

#admin-preparation-root {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.preparation-filters {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  box-shadow: var(--admin-card-shadow);
  padding: 1rem 1.25rem;
  color: var(--text-color);
}

.preparation-filters__form {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: flex-end;
}

.preparation-filters__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 180px;
  color: var(--text-color);
  font-weight: 600;
  font-size: 0.85rem;
}

.preparation-filters__field input,
.preparation-filters__field select {
  background: var(--admin-input-bg, rgba(255, 255, 255, 0.05));
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.65rem;
  color: var(--text-color);
  font-weight: 500;
  padding: 0.45rem 0.75rem;
}

.preparation-filters__field input:focus,
.preparation-filters__field select:focus {
  outline: none;
  border-color: var(--accent-color, #0d6efd);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
}

.preparation-filters__checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}

.preparation-board__helper {
  border: 1px dashed var(--admin-panel-border);
  border-radius: 0.85rem;
  padding: 0.75rem 1rem;
  background: var(--admin-subpanel-bg, rgba(255, 255, 255, 0.04));
  color: var(--bs-secondary-color);
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.9rem;
}

.preparation-board__helper i {
  color: var(--accent-color, #0d6efd);
}

.preparation-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}

.preparation-column {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  box-shadow: var(--admin-card-shadow);
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 320px;
  padding: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.preparation-column h2 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.preparation-column--active {
  border-color: var(--accent-color, #0d6efd);
  box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.2);
}

.preparation-card {
  background: var(--admin-subpanel-bg, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 0.85rem;
  cursor: grab;
}

.preparation-card--dragging {
  opacity: 0.6;
}

.preparation-card__header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.95rem;
}

.preparation-card__header strong {
  font-size: 1rem;
}

.preparation-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  line-height: 1.35;
}

.preparation-card__remark {
  color: var(--accent-color, #0d6efd);
  font-weight: 600;
}

.preparation-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: var(--admin-muted);
}

.preparation-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.preparation-card__actions select,
.preparation-card__primary {
  background: var(--accent-soft-bg, rgba(13, 110, 253, 0.1));
  border: 1px solid var(--accent-color, #0d6efd);
  border-radius: 0.65rem;
  color: var(--text-color);
  font-weight: 600;
  padding: 0.4rem 0.75rem;
}

.preparation-card__actions select {
  min-width: 160px;
}

.preparation-card__primary {
  background: var(--accent-color, #0d6efd);
  color: #fff;
  cursor: pointer;
}

.preparation-card__primary:hover {
  filter: brightness(1.05);
}

.preparation-empty {
  border: 1px dashed var(--admin-panel-border);
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
  color: var(--admin-muted);
  font-weight: 600;
}

/* ===== Fenêtre de confirmation admin ===== */
.admin-confirm-overlay {
  align-items: center;
  backdrop-filter: blur(3px);
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 1.5rem;
  position: fixed;
  z-index: 3050;
}

.admin-confirm-dialog {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.5rem;
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.35);
  color: var(--text-color);
  max-width: 420px;
  padding: 2.25rem 2rem 2rem;
  position: relative;
  text-align: center;
  width: 100%;
}

.admin-confirm-icon {
  font-size: 2.75rem;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.admin-confirm-title {
  font-size: 1.55rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.admin-confirm-text {
  color: var(--admin-muted);
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.75rem;
}

.admin-confirm-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
}

.admin-confirm-actions .btn {
  min-width: 120px;
  padding-inline: 1.5rem;
}

body.light-theme .admin-confirm-overlay {
  background: rgba(15, 23, 42, 0.3);
}

body.light-theme .admin-confirm-dialog {
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.16);
}

body.light-theme .admin-units-card .form-control::placeholder {
  color: rgba(15, 23, 42, 0.45);
}

body.light-theme .admin-card .card-header,
body.light-theme .admin-card .card-footer {
  background: rgba(240, 248, 255, 0.9);
  color: var(--text-color);
}

.admin-card .btn-close {
  filter: invert(1) grayscale(100%) brightness(160%);
  opacity: 0.8;
}

body.light-theme .admin-card .btn-close {
  filter: none;
  opacity: 0.6;
}

.admin-home-card .form-control[type="file"] {
  cursor: pointer;
}

.admin-home-preview {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  min-height: 220px;
  background: var(--admin-home-preview-image, url('sources/images/stand.jpg')) center/cover no-repeat;
  color: #fff;
}

.admin-home-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.35));
}

.admin-home-preview-overlay {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: center;
  height: 100%;
  padding: 1.75rem;
}

.admin-home-preview-title {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 0;
}

.admin-home-preview-subtitle {
  margin: 0;
  font-size: 0.95rem;
  opacity: 0.85;
}

.admin-home-preview .btn {
  pointer-events: none;
  cursor: default;
  padding-inline: 1.5rem;
}

body.light-theme .admin-home-preview::before {
  background: linear-gradient(135deg, rgba(13, 27, 42, 0.6), rgba(13, 27, 42, 0.3));
}

.admin-card-title {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.admin-section-label {
  font-weight: 600;
  color: var(--text-color);
}

.admin-empty-panel {
  background: rgba(255, 255, 255, 0.05);
  border: 1px dashed var(--admin-panel-border);
  border-radius: 1rem;
  color: var(--admin-muted);
  text-align: center;
  padding: 1.15rem;
}

.admin-empty-panel.mb-0 {
  margin-bottom: 0;
}

body.light-theme .admin-empty-panel {
  background: rgba(13, 27, 42, 0.05);
  border-color: rgba(13, 27, 42, 0.12);
  color: var(--admin-muted);
}

.admin-empty-state {
  color: var(--admin-muted);
}

.admin-input-group .form-control,
.admin-card .form-control,
.admin-card .form-select,
.admin-card textarea {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 0.85rem;
  border: 1px solid var(--admin-chip-border);
  color: var(--text-color);
}

body.light-theme .admin-input-group .form-control,
body.light-theme .admin-card .form-control,
body.light-theme .admin-card .form-select,
body.light-theme .admin-card textarea {
  background: rgba(255, 255, 255, 0.95);
}

.admin-card .form-select option,
.admin-card .form-select optgroup,
.product-detail-panel .form-select option,
.product-detail-panel .form-select optgroup {
  color: var(--text-color);
  background-color: var(--admin-panel-bg);
}

body.light-theme .admin-card .form-select option,
body.light-theme .admin-card .form-select optgroup,
body.light-theme .product-detail-panel .form-select option,
body.light-theme .product-detail-panel .form-select optgroup {
  background-color: #ffffff;
}

.admin-card .form-control:focus,
.admin-card .form-select:focus,
.admin-card textarea:focus {
  border-color: rgba(0, 174, 255, 0.6);
  box-shadow: 0 0 0 3px rgba(0, 174, 255, 0.18);
  outline: none;
}

.admin-input-group .btn {
  border: none;
  background: var(--admin-accent-gradient);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 119, 204, 0.3);
}

.admin-input-group .btn:hover,
.admin-input-group .btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(0, 119, 204, 0.35);
}

.admin-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--admin-accent-gradient);
  border: none;
  border-radius: 0.9rem;
  padding: 0.65rem 1.4rem;
  font-weight: 600;
  box-shadow: 0 16px 32px rgba(0, 119, 204, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-submit-btn:hover,
.admin-submit-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 20px 38px rgba(0, 119, 204, 0.42);
  outline: none;
}

.admin-option-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--admin-chip-border);
  background: var(--admin-chip-bg);
  color: var(--text-color);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.admin-option-chip:hover,
.admin-option-chip:focus-within {
  transform: translateY(-1px);
  border-color: rgba(0, 174, 255, 0.45);
  box-shadow: 0 8px 18px rgba(0, 119, 204, 0.22);
}

.admin-option-chip .form-check-input {
  margin: 0;
  width: 1.05rem;
  height: 1.05rem;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid var(--admin-chip-border);
  cursor: pointer;
}

.admin-option-chip.selected {
  background: var(--admin-accent-gradient);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 12px 28px var(--admin-panel-glow);
}

.admin-option-chip.selected .form-check-input {
  border-color: rgba(255, 255, 255, 0.8);
  background-color: rgba(255, 255, 255, 0.2);
}

.admin-chip {
  background: rgba(0, 119, 204, 0.22);
  border: 1px solid rgba(0, 119, 204, 0.35);
  color: #e8f4ff;
  padding: 0.35rem 0.75rem;
}

.admin-chip .btn-close {
  filter: invert(1) grayscale(100%) brightness(180%);
  opacity: 0.7;
}

body.light-theme .admin-chip {
  background: rgba(13, 110, 253, 0.12);
  color: #0d1b2a;
  border-color: rgba(13, 110, 253, 0.25);
}

body.light-theme .admin-chip .btn-close {
  filter: none;
  opacity: 0.6;
}

body.light-theme .admin-chip .btn-close {
  filter: none;
  opacity: 0.6;
}

.admin-unit-options {
  gap: 0.6rem;
}

.admin-commandes-card .card-body {
  padding: 1.5rem 1.5rem 1.75rem;
}

.admin-table-wrapper {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.35);
  overflow: hidden;
}

.table-responsive.admin-table-wrapper {
  overflow-x: auto;
}

.admin-table {
  color: var(--text-color);
  --bs-table-bg: transparent;
  --bs-table-color: var(--text-color);
  --bs-table-striped-color: var(--text-color);
  --bs-table-hover-color: var(--text-color);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
  --bs-table-hover-bg: rgba(0, 174, 255, 0.1);
}

body.light-theme .admin-table {
  --bs-table-color: #0f172a;
  --bs-table-striped-color: #0f172a;
  --bs-table-hover-color: #0f172a;
  --bs-table-striped-bg: rgba(13, 27, 42, 0.08);
  --bs-table-hover-bg: rgba(13, 110, 253, 0.12);
}

.admin-table thead {
  background: rgba(255, 255, 255, 0.05);
}

body.light-theme .admin-table thead {
  background: rgba(240, 248, 255, 0.92);
}

.admin-table th,
.admin-table td {
  border-color: rgba(255, 255, 255, 0.08);
}

body.light-theme .admin-table th,
body.light-theme .admin-table td {
  border-color: rgba(13, 27, 42, 0.08);
}

.admin-table th {
  padding: 0.55rem 0.7rem;
}

.admin-table td {
  padding: 0.35rem 0.7rem;
  line-height: 1.3;
}

.admin-table__weight-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.admin-table__weight-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  background: color-mix(in srgb, var(--bs-primary) 20%, var(--bs-body-bg, #0f172a));
  border: 1px solid color-mix(in srgb, var(--bs-primary) 35%, var(--bs-border-color, rgba(255, 255, 255, 0.15)));
  color: var(--text-color);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.light-theme .admin-table__weight-tag {
  background: color-mix(in srgb, var(--bs-primary) 12%, #ffffff);
  border-color: color-mix(in srgb, var(--bs-primary) 30%, rgba(15, 23, 42, 0.18));
  color: var(--bs-body-color, #0f172a);
}

.admin-table__weight-tag[data-has-meta="true"] {
  cursor: help;
}

.admin-table tbody tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.03);
}

body.light-theme .admin-table tbody tr:nth-child(odd) {
  background-color: rgba(13, 27, 42, 0.04);
}

.admin-table tbody tr:hover {
  background-color: rgba(0, 174, 255, 0.1);
}

body.light-theme .admin-table tbody tr:hover {
  background-color: rgba(13, 110, 253, 0.12);
}

.admin-table tbody tr.table-active {
  background-color: color-mix(in srgb, var(--badge-active-bg) 18%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--badge-active-bg) 45%, transparent);
}

.admin-table tbody tr.table-active td,
.admin-table tbody tr.table-active th {
  color: var(--text-color);
}

body.light-theme .admin-table tbody tr.table-active {
  background-color: color-mix(in srgb, var(--badge-active-bg) 24%, rgba(255, 255, 255, 0.85));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--badge-active-bg) 55%, rgba(15, 23, 42, 0.1));
}

.admin-table .form-select {
  background-color: rgba(15, 23, 42, 0.55);
  border: 1px solid var(--admin-panel-border);
  color: var(--text-color);
}

.admin-table .form-select:focus {
  border-color: rgba(14, 165, 233, 0.6);
}

.admin-data-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1.5rem;
}

.admin-data-toolbar__search {
  flex: 1 1 280px;
  min-width: 240px;
}

.admin-data-toolbar__summary {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.admin-filters-active {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-filters__empty {
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.admin-facets-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: 1.25rem;
}

.admin-facet {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  box-shadow: var(--admin-card-shadow);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
}

.admin-facet--highlight {
  background: color-mix(in srgb, var(--badge-active-bg) 12%, transparent);
  border-color: color-mix(in srgb, var(--badge-active-bg) 45%, var(--admin-panel-border));
  box-shadow: 0 12px 28px rgba(14, 116, 233, 0.18);
}

.admin-facet--highlight .admin-facet__label {
  color: color-mix(in srgb, var(--badge-active-bg) 70%, var(--admin-muted));
}

.admin-facet--compact {
  padding: 0.6rem 0.85rem;
  gap: 0.5rem;
}

.admin-facet--compact .admin-facet__options {
  gap: 0.35rem;
}

body.light-theme .admin-facet--highlight {
  background: color-mix(in srgb, var(--badge-active-bg) 18%, #ffffff 82%);
  border-color: color-mix(in srgb, var(--badge-active-bg) 60%, rgba(15, 23, 42, 0.12));
  box-shadow: 0 10px 22px rgba(15, 76, 163, 0.12);
}

body.light-theme .admin-facet--highlight .admin-facet__label {
  color: color-mix(in srgb, var(--badge-active-bg) 65%, rgba(15, 23, 42, 0.55));
}

.admin-facet__label {
  color: var(--admin-muted);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 0;
  text-transform: uppercase;
}

.admin-facet__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-facet__options .btn {
  border-radius: 999px;
  font-weight: 600;
  padding-inline: 0.75rem;
}

.admin-table__sort {
  align-items: center;
  background: none;
  border: none;
  color: inherit;
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 600;
  gap: 0.35rem;
  padding: 0;
}

.admin-table__sort:hover,
.admin-table__sort:focus-visible {
  color: var(--badge-active-bg);
}

.admin-table__sort.is-active {
  color: var(--badge-active-bg);
}

.admin-table__sort-icon {
  font-size: 0.75rem;
}

.admin-table__cell--primary {
  min-width: 220px;
}

.admin-table__cell-stack {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.admin-table__muted {
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.admin-table__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  align-items: center;
}

.admin-table__actions .btn {
  white-space: nowrap;
  flex: 0 0 auto;
}

.admin-table--produits {
  min-width: 720px;
}

.admin-table--produits th:last-child,
.admin-table--produits td:last-child {
  width: 9rem;
  min-width: 9rem;
  white-space: normal;
}

.admin-table--produits td:nth-child(5) {
  white-space: nowrap;
}

.badge-indicator {
  align-items: center;
  background: var(--badge-indicator-bg, var(--badge-active-bg));
  border-radius: 999px;
  color: var(--badge-indicator-text, #ffffff);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
}

.badge-indicator + .badge-indicator {
  margin-left: 0.35rem;
}

.badge-indicator--availability.is-available {
  --badge-indicator-bg: var(--badge-available-bg);
  --badge-indicator-text: var(--badge-available-text);
}

.badge-indicator--availability.is-out {
  --badge-indicator-bg: var(--badge-out-bg);
  --badge-indicator-text: var(--badge-out-text);
}

.badge-indicator--active.is-active {
  --badge-indicator-bg: var(--badge-active-bg);
  --badge-indicator-text: var(--badge-active-text);
}

.badge-indicator--active.is-inactive {
  --badge-indicator-bg: var(--badge-inactive-bg);
  --badge-indicator-text: var(--badge-inactive-text);
}

.badge-indicator--location-niort {
  --badge-indicator-bg: var(--badge-location-niort-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-chauray {
  --badge-indicator-bg: var(--badge-location-chauray-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-aiffre {
  --badge-indicator-bg: var(--badge-location-aiffre-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-1 {
  --badge-indicator-bg: var(--badge-location-extra-1-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-2 {
  --badge-indicator-bg: var(--badge-location-extra-2-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-3 {
  --badge-indicator-bg: var(--badge-location-extra-3-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-4 {
  --badge-indicator-bg: var(--badge-location-extra-4-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-5 {
  --badge-indicator-bg: var(--badge-location-extra-5-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-6 {
  --badge-indicator-bg: var(--badge-location-extra-6-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-7 {
  --badge-indicator-bg: var(--badge-location-extra-7-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--location-8 {
  --badge-indicator-bg: var(--badge-location-extra-8-bg);
  --badge-indicator-text: var(--badge-location-text);
}

.badge-indicator--status-pending {
  --badge-indicator-bg: var(--badge-status-default-bg);
  --badge-indicator-text: var(--badge-status-default-text);
}

.badge-indicator--status-approved {
  --badge-indicator-bg: var(--badge-status-approved-bg);
  --badge-indicator-text: var(--badge-status-approved-text);
}

.badge-indicator--status-preparing {
  --badge-indicator-bg: var(--badge-status-preparing-bg);
  --badge-indicator-text: var(--badge-status-preparing-text);
}

.badge-indicator--status-ready {


.status-badge {
  --status-badge-bg: color-mix(in srgb, var(--bs-secondary-bg) 65%, transparent);
  --status-badge-color: var(--bs-secondary-color);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  background: var(--status-badge-bg);
  color: var(--status-badge-color);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--status-badge-bg) 45%, transparent);
}

.status-badge i {
  font-size: 0.75rem;
}

.status-badge__label {
  white-space: nowrap;
}

.status-badge--muted {
  --status-badge-bg: color-mix(in srgb, var(--bs-secondary-bg) 80%, rgba(148, 163, 184, 0.25));
  --status-badge-color: var(--bs-secondary-color);
}

.status-badge--info {
  --status-badge-bg: color-mix(in srgb, var(--bs-primary) 60%, var(--bs-body-bg));
  --status-badge-color: var(--bs-primary-contrast, #fff);
}

.status-badge--warning {
  --status-badge-bg: color-mix(in srgb, var(--bs-warning) 70%, var(--bs-body-bg));
  --status-badge-color: var(--bs-body-color);
}

.status-badge--success {
  --status-badge-bg: color-mix(in srgb, var(--bs-success) 70%, var(--bs-body-bg));
  --status-badge-color: var(--bs-success-text, #0f172a);
}

.status-badge--danger {
  --status-badge-bg: color-mix(in srgb, var(--bs-danger) 70%, var(--bs-body-bg));
  --status-badge-color: var(--bs-danger-contrast, #fff);
}

.status-badge--lg {
  font-size: 0.85rem;
  padding: 0.45rem 0.9rem;
}


  --badge-indicator-bg: var(--badge-status-ready-bg);
  --badge-indicator-text: var(--badge-status-ready-text);
}

.admin-commandes__date-filters {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.admin-commandes__date-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: var(--admin-muted);
}

.admin-commandes__date-field span {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-commandes__badge-wrapper {
  margin-top: 0.35rem;
}

@media (max-width: 768px) {
  .admin-data-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-data-toolbar__summary {
    justify-content: space-between;
  }
}
  box-shadow: 0 0 0 0.2rem rgba(14, 165, 233, 0.2);
}

body.light-theme .admin-table .form-select {
  background-color: rgba(248, 250, 252, 0.95);
  border-color: rgba(15, 23, 42, 0.16);
  color: #0f172a;
}

body.light-theme .admin-table .form-select:focus {
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15);
}

.admin-collapse-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 0.75rem;
  background: rgba(15, 23, 42, 0.35);
  border-color: var(--admin-panel-border);
  color: var(--text-color);
  font-weight: 600;
  padding: 0.75rem 1rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.admin-collapse-toggle .admin-collapse-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.admin-collapse-toggle .admin-collapse-icon {
  display: inline-flex;
  transition: transform 0.2s ease;
}

.admin-collapse-toggle.is-open .admin-collapse-icon,
.admin-collapse-toggle[aria-expanded="true"] .admin-collapse-icon {
  transform: rotate(180deg);
}

.admin-collapse-toggle:hover,
.admin-collapse-toggle:focus {
  background: rgba(14, 116, 178, 0.16);
  border-color: rgba(14, 165, 233, 0.5);
  color: var(--text-color);
}

body.light-theme .admin-collapse-toggle {
  background: rgba(248, 250, 252, 0.85);
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.16);
}

body.light-theme .admin-collapse-toggle:hover,
body.light-theme .admin-collapse-toggle:focus {
  background: rgba(13, 110, 253, 0.14);
  border-color: rgba(59, 130, 246, 0.4);
  color: #0f172a;
}

.admin-collapse-section {
  transition: all 0.25s ease;
}

.admin-subtab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-subtab-nav .nav-link {
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.admin-subtab-nav .nav-link:hover,
.admin-subtab-nav .nav-link:focus {
  background: rgba(14, 165, 233, 0.12);
  border-color: rgba(14, 165, 233, 0.35);
  color: var(--text-color);
}

.admin-subtab-nav .nav-link.active {
  background: rgba(14, 165, 233, 0.2);
  border-color: rgba(14, 165, 233, 0.45);
  color: var(--text-color);
}

body.light-theme .admin-subtab-nav .nav-link {
  color: #0f172a;
}

body.light-theme .admin-subtab-nav .nav-link:hover,
body.light-theme .admin-subtab-nav .nav-link:focus {
  background: rgba(13, 110, 253, 0.12);
  border-color: rgba(13, 110, 253, 0.35);
  color: #0f172a;
}

body.light-theme .admin-subtab-nav .nav-link.active {
  background: rgba(13, 110, 253, 0.18);
  border-color: rgba(13, 110, 253, 0.45);
  color: #0f172a;
}

.admin-subtab-content .card {
  margin-bottom: 0;
}

.client-badge-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-clients-toolbar {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .admin-clients-toolbar {
    align-items: center;
    flex-direction: row;
  }

  .admin-clients-toolbar .flex-grow-1 {
    min-width: 260px;
  }
}

.admin-clients-search-group .input-group-text {
  align-items: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--admin-chip-border);
  border-right: 0;
  border-radius: 0.85rem 0 0 0.85rem;
  color: var(--admin-muted);
  display: inline-flex;
  gap: 0.5rem;
}

.admin-clients-search-group .input-group-text i {
  color: inherit;
}

body.light-theme .admin-clients-search-group .input-group-text {
  background: rgba(255, 255, 255, 0.95);
  color: var(--admin-muted);
}

.admin-clients-search-group .form-control {
  border-left: 0;
  border-radius: 0 0.85rem 0.85rem 0;
}

.admin-clients-count {
  color: var(--admin-muted);
  text-align: right;
}

@media (max-width: 767.98px) {
  .admin-clients-count {
    text-align: left;
  }
}

.client-identity {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.client-identity-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.client-identity-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--text-color);
}

.client-identity-role {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.22);
  color: var(--muted-text);
}

body.light-theme .client-identity-role {
  background: rgba(15, 23, 42, 0.08);
  color: #1f2937;
}

.client-identity-contacts {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: var(--muted-text);
}

body.light-theme .client-identity-contacts {
  color: #475569;
}

.client-identity-line {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.client-identity-line i {
  color: var(--badge-bg);
  font-size: 0.8rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

body.light-theme .client-identity-line i {
  color: #2563eb;
}

.client-identity-link,
.client-identity-text {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.client-identity-link:hover,
.client-identity-link:focus {
  color: var(--text-color);
  text-decoration: underline;
}

.client-badge-color-control {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.client-badge-preview {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background: var(--badge-color, var(--client-badge-default-color));
  border: 1px solid rgba(15, 23, 42, 0.35);
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.12);
}

body.light-theme .client-badge-preview {
  border-color: rgba(15, 23, 42, 0.15);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.75);
}

.client-badge-field textarea {
  min-height: 56px;
  padding: 0.4rem 0.65rem;
  line-height: 1.35;
  resize: vertical;
}

.client-badge-field textarea.mt-2 {
  margin-top: 0.35rem !important;
}

.client-badge-field textarea::placeholder {
  color: var(--admin-muted);
}

.client-badge-clear {
  color: var(--admin-muted);
  text-decoration: none;
}

.client-badge-clear:hover,
.client-badge-clear:focus {
  color: var(--text-color);
  text-decoration: underline;
}

.admin-weight-table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--text-color);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
  --bs-table-striped-color: var(--text-color);
  --bs-table-hover-bg: rgba(0, 174, 255, 0.12);
  --bs-table-hover-color: var(--text-color);
  color: var(--text-color);
}

.admin-weight-table thead {
  background: rgba(255, 255, 255, 0.05);
}

.admin-weight-table th,
.admin-weight-table td {
  border-color: rgba(255, 255, 255, 0.08);
}

.admin-weight-table tbody tr:nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.03);
}

.admin-weight-table tbody tr:hover {
  background-color: rgba(0, 174, 255, 0.08);
}

.admin-weight-table .form-control {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--text-color);
}

.admin-weight-table .form-control::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.admin-weight-table .btn-outline-danger {
  border-color: rgba(248, 113, 113, 0.6);
  color: #fca5a5;
}

.admin-weight-table .btn-outline-danger:hover,
.admin-weight-table .btn-outline-danger:focus {
  background-color: rgba(248, 113, 113, 0.18);
  color: #fee2e2;
}

body.light-theme .admin-weight-table {
  --bs-table-color: #0f172a;
  --bs-table-striped-color: #0f172a;
  --bs-table-hover-color: #0f172a;
  --bs-table-striped-bg: rgba(13, 27, 42, 0.06);
  --bs-table-hover-bg: rgba(59, 130, 246, 0.12);
}

body.light-theme .admin-weight-table thead {
  background: rgba(240, 248, 255, 0.92);
}

body.light-theme .admin-weight-table th,
body.light-theme .admin-weight-table td {
  border-color: rgba(13, 27, 42, 0.08);
}

body.light-theme .admin-weight-table tbody tr:nth-child(odd) {
  background-color: rgba(15, 23, 42, 0.04);
}

body.light-theme .admin-weight-table tbody tr:hover {
  background-color: rgba(59, 130, 246, 0.12);
}

body.light-theme .admin-weight-table .form-control {
  background-color: rgba(15, 23, 42, 0.06);
  border-color: rgba(15, 23, 42, 0.16);
  color: #0f172a;
}

body.light-theme .admin-weight-table .form-control::placeholder {
  color: rgba(15, 23, 42, 0.45);
}

body.light-theme .admin-weight-table .btn-outline-danger {
  border-color: rgba(220, 38, 38, 0.45);
  color: #dc2626;
}

body.light-theme .admin-weight-table .btn-outline-danger:hover,
body.light-theme .admin-weight-table .btn-outline-danger:focus {
  background-color: rgba(220, 38, 38, 0.12);
  color: #7f1d1d;
}

.admin-product-table thead th {
  white-space: nowrap;
}

.admin-product-table .product-name-cell {
  width: 50%;
  min-width: 240px;
}

.admin-product-table .product-price-cell {
  width: 16%;
  min-width: 120px;
}

.admin-product-table .product-actions-cell {
  width: 24%;
}

.admin-product-table .product-actions-cell .btn {
  min-width: 7.5rem;
}

.admin-product-table .product-actions-cell .btn.product-delete-btn {
  min-width: auto;
}

.admin-product-table tbody tr.product-row td {
  vertical-align: middle;
}

.admin-product-table .product-row.open {
  background: rgba(14, 165, 233, 0.08);
}

.admin-product-table .product-row.open .form-control {
  background-color: rgba(255, 255, 255, 0.12);
}

body.light-theme .admin-product-table .product-row.open {
  background: rgba(59, 130, 246, 0.12);
}

body.light-theme .admin-product-table .product-row.open .form-control {
  background-color: rgba(15, 23, 42, 0.06);
}

.admin-product-table .product-detail-row {
  display: none;
}

.admin-product-table .product-detail-row.open {
  display: table-row;
}

.admin-product-table .product-detail-cell {
  padding: 0;
  border-top: none;
}

.admin-product-table .product-detail-row td {
  background: transparent;
}

.product-detail-panel {
  background: var(--admin-panel-bg);
  color: var(--text-color);
  border: 1px solid var(--admin-panel-border);
  border-top: none;
  padding: 1.5rem;
  border-radius: 0 0 1rem 1rem;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.35);
}

.product-detail-panel .form-label {
  color: var(--text-color);
}

.product-detail-panel .form-control,
.product-detail-panel .form-select,
.product-detail-panel textarea {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-color);
  border: 1px solid var(--admin-panel-border);
}

body.light-theme .product-detail-panel {
  background: rgba(248, 251, 255, 0.96);
  border-color: rgba(15, 23, 42, 0.12);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

body.light-theme .product-detail-panel .form-control,
body.light-theme .product-detail-panel .form-select,
body.light-theme .product-detail-panel textarea {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.12);
}

.product-detail-switches .form-check-label {
  color: var(--text-color);
  font-weight: 600;
}

.product-detail-switches .form-check-input {
  cursor: pointer;
}

.product-detail-panel .product-close-btn {
  align-self: flex-start;
}

.product-detail-panel .text-muted {
  color: var(--admin-muted);
}

.admin-subcard .card-header,
.admin-subcard .card-footer {
  background: rgba(255, 255, 255, 0.04);
}

body.light-theme .admin-subcard .card-header,
body.light-theme .admin-subcard .card-footer {
  background: rgba(240, 248, 255, 0.88);
}

.admin-subcard .card-body {
  padding: 1.5rem;
}

.admin-subcard .list-group-item {
  border: none;
}

.admin-table .badge {
  font-size: 0.75rem;
  padding: 0.4rem 0.6rem;
  border-radius: 0.75rem;
}

/* ===== Gestion des onglets admin ===== */
.nav-tabs {
  border: none;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.nav-tabs .nav-link {
  background: var(--admin-chip-bg);
  color: var(--text-color);
  border: 1px solid var(--admin-chip-border);
  border-radius: 0.9rem;
  padding: 0.6rem 1rem;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(0, 174, 255, 0.45);
  box-shadow: 0 10px 24px rgba(0, 119, 204, 0.25);
  outline: none;
}

.nav-tabs .nav-link.active {
  background: var(--admin-accent-gradient);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 12px 28px var(--admin-panel-glow);
}

.admin-product-tabs {
  gap: 0.5rem;
  flex-wrap: wrap;
}

.admin-product-tabs .nav-link {
  background: var(--admin-chip-bg);
  color: var(--text-color);
  border: 1px solid var(--admin-chip-border);
  border-radius: 999px;
  padding: 0.45rem 1rem;
  font-weight: 600;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-product-tabs .nav-link:hover,
.admin-product-tabs .nav-link:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(0, 174, 255, 0.45);
  box-shadow: 0 8px 20px rgba(0, 119, 204, 0.28);
  outline: none;
}

.admin-product-tabs .nav-link.active {
  background: var(--admin-accent-gradient);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(0, 119, 204, 0.4);
}

.category-option-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.category-option {
  background: var(--admin-chip-bg);
  color: var(--text-color);
  border: 1px solid var(--admin-chip-border);
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.category-option:hover,
.category-option:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(0, 174, 255, 0.4);
  box-shadow: 0 8px 18px rgba(0, 119, 204, 0.22);
  outline: none;
}

.category-option input {
  margin: 0;
}

.category-option.selected {
  background: var(--admin-accent-gradient);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 119, 204, 0.35);
}

body.light-theme .category-option.selected {
  color: #fff;
}

/* ===== Liste des lieux de retrait ===== */
.lieux-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--admin-panel-border);
  background: var(--admin-panel-bg);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: var(--admin-card-shadow);
}

.lieux-item {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--admin-panel-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--text-color);
}

body.light-theme .lieux-item {
  border-bottom-color: rgba(13, 27, 42, 0.08);
}

.lieux-item:last-child {
  border-bottom: none;
}

.lieux-item-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lieux-item-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.lieux-item-empty {
  justify-content: center;
  color: var(--admin-muted);
  font-style: italic;
}

.lieux-remove-btn {
  background: var(--danger-bg);
  border: none;
  color: #fff;
  border-radius: 0.75rem;
  padding: 0.4rem 0.9rem;
  font-weight: 600;
  box-shadow: 0 12px 24px rgba(217, 46, 67, 0.32);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.lieux-remove-btn:hover,
.lieux-remove-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(217, 46, 67, 0.35);
  outline: none;
}

body.light-theme .lieux-remove-btn {
  box-shadow: 0 12px 28px rgba(217, 46, 67, 0.18);
}
/* Pour que les labels et cases à cocher ne soient pas collés */
#contenu-principal table label {
  margin-right: 0.5em;
  white-space: nowrap;
}

/* Pour éviter que le tableau déborde sur mobile */
.table-responsive {
  overflow-x: auto;
}

/* Pour réduire la taille des champs sur petits écrans */
@media (max-width: 768px) {
  #contenu-principal table th,
  #contenu-principal table td {
    font-size: 0.9em;
    padding: 0.3em;
  }
  #contenu-principal input,
  #contenu-principal select {
    font-size: 0.9em;
    padding: 0.2em 0.4em;
  }
}

/* Amélioration des onglets admin sur mobiles */
@media (max-width: 991px) {
  .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    gap: 0.4rem;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.35rem;
  }
  .nav-tabs .nav-item {
    flex: 0 0 auto;
  }
  .nav-tabs .nav-link {
    padding: 0.55rem 0.85rem;
    font-size: 0.85rem;
  }
}

/* Barre de validation des modifications */
.admin-save-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(10, 16, 26, 0.92);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 -18px 38px rgba(2, 6, 23, 0.45);
  padding: 1.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  transform: translateY(100%);
  transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out;
  opacity: 0;
  z-index: 1050;
  color: rgba(245, 248, 252, 0.95);
}

body.light-theme .admin-save-bar {
  background: rgba(248, 252, 255, 0.92);
  border-top-color: rgba(13, 27, 42, 0.1);
  box-shadow: 0 -18px 38px rgba(15, 23, 42, 0.12);
  color: rgba(15, 23, 42, 0.9);
}

body.light-theme .admin-save-bar .btn-cancel-changes {
  border-color: rgba(15, 23, 42, 0.25);
  color: rgba(15, 23, 42, 0.72);
}

body.light-theme .admin-save-bar .btn-cancel-changes:hover,
body.light-theme .admin-save-bar .btn-cancel-changes:focus-visible {
  color: rgba(15, 23, 42, 0.88);
  border-color: rgba(15, 23, 42, 0.45);
}

.admin-save-bar.visible {
  transform: translateY(0);
  opacity: 1;
}

.admin-save-bar__inner {
  max-width: 960px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.admin-save-bar__message {
  flex: 1 1 280px;
  min-width: 220px;
}

.admin-save-bar__title {
  margin: 0 0 0.35rem;
  font-weight: 600;
  color: inherit;
}

.admin-save-bar__description {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(245, 248, 252, 0.78);
}

body.light-theme .admin-save-bar__description {
  color: rgba(15, 23, 42, 0.62);
}

.admin-save-bar__actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.admin-save-bar.is-busy .btn-validate-changes,
.admin-save-bar.is-busy .btn-cancel-changes {
  pointer-events: none;
}

.admin-save-bar .btn-validate-changes {
  min-width: 220px;
  font-weight: 600;
  background: var(--admin-accent-gradient);
  border: none;
  box-shadow: 0 14px 34px rgba(0, 119, 204, 0.4);
  border-radius: 0.9rem;
  padding: 0.75rem 1.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-save-bar .btn-validate-changes:hover,
.admin-save-bar .btn-validate-changes:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(0, 119, 204, 0.45);
  outline: none;
}

.admin-save-bar .btn-cancel-changes {
  min-width: 220px;
  font-weight: 600;
  border-radius: 0.9rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: rgba(245, 248, 252, 0.9);
  background: transparent;
  box-shadow: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-save-bar .btn-cancel-changes:hover,
.admin-save-bar .btn-cancel-changes:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.9);
  color: #ffffff;
  outline: none;
}

@media (max-width: 576px) {
  .admin-save-bar {
    padding: 0.85rem;
  }
  .admin-save-bar__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .admin-save-bar__actions {
    width: 100%;
  }
  .admin-save-bar .btn-validate-changes,
  .admin-save-bar .btn-cancel-changes {
    min-width: 0;
    width: 100%;
  }
}

/* Commandes admin */
.commande-liste .table {
  background-color: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.35);
}

.commande-liste .table thead {
  background: rgba(255, 255, 255, 0.04);
}

body.light-theme .commande-liste .table thead {
  background: rgba(240, 248, 255, 0.92);
}

.commande-liste .table tbody tr:hover {
  background-color: rgba(0, 174, 255, 0.08);
}

.commande-edition .card {
  border-radius: 1rem;
  border: 1px solid var(--admin-panel-border);
  background: var(--admin-panel-bg);
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.35);
}

.commande-produit-card.border-danger {
  border-width: 2px;
}

.commande-produit-card .card-header {
  background-color: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.light-theme .commande-produit-card .card-header {
  background-color: rgba(240, 248, 255, 0.9);
  border-bottom-color: rgba(13, 27, 42, 0.08);
}

.product-selector {
  max-height: 65vh;
  overflow-y: auto;
}

.product-selector-card {
  height: 100%;
}

.product-selector-card .card-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.product-selector-card .btn {
  min-width: 120px;
}

#pending-additions .list-group-item {
  border-left: 4px solid var(--bs-primary);
}

@media (max-width: 576px) {
  .product-selector {
    max-height: none;
  }
}
:root {
  --admin-panel-bg: rgba(32, 38, 48, 0.92);
  --admin-panel-border: rgba(255, 255, 255, 0.08);
  --admin-panel-glow: rgba(0, 119, 204, 0.35);
  --admin-muted: rgba(255, 255, 255, 0.68);
  --admin-chip-bg: rgba(255, 255, 255, 0.04);
  --admin-chip-border: rgba(255, 255, 255, 0.08);
  --admin-card-shadow: 0 25px 55px rgba(2, 6, 23, 0.4);
  --admin-accent-gradient: linear-gradient(135deg, rgba(0, 119, 204, 0.92), rgba(0, 174, 255, 0.68));
  --admin-shell-tabs-bg: rgba(10, 17, 32, 0.9);
  --admin-shell-tabs-border: rgba(148, 163, 184, 0.22);
  --admin-shell-tab-text: rgba(226, 232, 240, 0.82);
  --admin-shell-tab-hover-text: var(--bs-primary);
  --admin-shell-tab-bg: rgba(15, 157, 255, 0.12);
  --admin-shell-tab-hover-bg: rgba(15, 157, 255, 0.2);
  --admin-shell-tab-active-text: #f8fafc;
  --admin-shell-tab-active-shadow: 0 0.45rem 1.2rem rgba(2, 6, 23, 0.45);
  --admin-shell-tab-counter-bg: rgba(15, 157, 255, 0.18);
  --admin-shell-tab-counter-color: currentColor;
  --admin-shell-tab-counter-active-bg: rgba(248, 250, 252, 0.24);
  --admin-shell-loader-bg: rgba(10, 17, 32, 0.82);
  --admin-shell-loader-text: rgba(226, 232, 240, 0.75);
  --client-badge-default-color: #475569;
  --client-badge-default-text: #f8fafc;
  --badge-available-bg: #1a9c64;
  --badge-available-text: #f0fff4;
  --badge-out-bg: #d64545;
  --badge-out-text: #fff5f5;
  --badge-active-bg: #0d6efd;
  --badge-active-text: #ffffff;
  --badge-inactive-bg: rgba(148, 163, 184, 0.3);
  --badge-inactive-text: #e2e8f0;
  --badge-location-niort-bg: #2563eb;
  --badge-location-chauray-bg: #a855f7;
  --badge-location-aiffre-bg: #f97316;
  --badge-location-extra-1-bg: #0f766e;
  --badge-location-extra-2-bg: #b91c1c;
  --badge-location-extra-3-bg: #6d28d9;
  --badge-location-extra-4-bg: #d97706;
  --badge-location-extra-5-bg: #4338ca;
  --badge-location-extra-6-bg: #db2777;
  --badge-location-extra-7-bg: #334155;
  --badge-location-extra-8-bg: #0891b2;
  --badge-location-text: #ffffff;
  --badge-status-today-bg: #f59e0b;
  --badge-status-today-text: #1f2937;
  --badge-status-past-bg: rgba(148, 163, 184, 0.35);
  --badge-status-past-text: #e2e8f0;
  --badge-status-default-bg: #0ea5e9;
  --badge-status-default-text: #ffffff;
  --badge-status-approved-bg: #2563eb;
  --badge-status-approved-text: #e0f2fe;
  --badge-status-preparing-bg: #f59e0b;
  --badge-status-preparing-text: #1f2937;
  --badge-status-ready-bg: #22c55e;
  --badge-status-ready-text: #022c18;
}

body.light-theme {
  --admin-panel-bg: #ffffff;
  --admin-panel-border: rgba(0, 0, 0, 0.08);
  --admin-panel-glow: rgba(0, 119, 204, 0.22);
  --admin-muted: #5c6670;
  --admin-chip-bg: #f4f7fb;
  --admin-chip-border: rgba(0, 0, 0, 0.08);
  --admin-card-shadow: 0 18px 42px rgba(15, 23, 42, 0.1);
  --admin-accent-gradient: linear-gradient(135deg, #0d6efd, #5ab0ff);
  --admin-shell-tabs-bg: rgba(255, 255, 255, 0.92);
  --admin-shell-tabs-border: rgba(15, 23, 42, 0.12);
  --admin-shell-tab-text: #475569;
  --admin-shell-tab-hover-text: #1d4ed8;
  --admin-shell-tab-bg: rgba(37, 99, 235, 0.08);
  --admin-shell-tab-hover-bg: rgba(37, 99, 235, 0.15);
  --admin-shell-tab-active-text: #ffffff;
  --admin-shell-tab-active-shadow: 0 0.45rem 1.2rem rgba(37, 99, 235, 0.32);
  --admin-shell-tab-counter-bg: rgba(37, 99, 235, 0.12);
  --admin-shell-tab-counter-color: currentColor;
  --admin-shell-tab-counter-active-bg: rgba(255, 255, 255, 0.32);
  --admin-shell-loader-bg: rgba(238, 242, 248, 0.82);
  --admin-shell-loader-text: #475569;
  --client-badge-default-color: #e2e8f0;
  --client-badge-default-text: #0f172a;
  --badge-available-bg: #16a34a;
  --badge-available-text: #ffffff;
  --badge-out-bg: #dc2626;
  --badge-out-text: #ffffff;
  --badge-active-bg: #2563eb;
  --badge-active-text: #ffffff;
  --badge-location-niort-bg: #1d4ed8;
  --badge-location-chauray-bg: #7c3aed;
  --badge-location-aiffre-bg: #ea580c;
  --badge-location-extra-1-bg: #0d9488;
  --badge-location-extra-2-bg: #dc2626;
  --badge-location-extra-3-bg: #7c3aed;
  --badge-location-extra-4-bg: #d97706;
  --badge-location-extra-5-bg: #4f46e5;
  --badge-location-extra-6-bg: #ec4899;
  --badge-location-extra-7-bg: #475569;
  --badge-location-extra-8-bg: #0284c7;
  --badge-location-text: #ffffff;
  --badge-status-today-bg: #fbbf24;
  --badge-status-today-text: #0f172a;
  --badge-status-past-bg: #cbd5e1;
  --badge-status-past-text: #0f172a;
  --badge-status-default-bg: #0ea5e9;
  --badge-status-default-text: #ffffff;
  --badge-inactive-bg: #d0d8e5;
  --badge-inactive-text: #0f172a;
  --badge-status-approved-bg: #2563eb;
  --badge-status-approved-text: #ffffff;
  --badge-status-preparing-bg: #f59e0b;
  --badge-status-preparing-text: #0f172a;
  --badge-status-ready-bg: #16a34a;
  --badge-status-ready-text: #f0fdf4;
}

.admin-interface {
  padding: 0;
}

main.contenu.admin-interface {
  margin-left: 0;
  max-width: 100%;
  width: 100%;
}

.admin-dashboard {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background: var(--admin-panel-bg);
  border-radius: 1.5rem;
  border: 1px solid var(--admin-panel-border);
  padding: 1.75rem;
  box-shadow: var(--admin-card-shadow);
  overflow: hidden;
}

.admin-dashboard::before {
  content: "";
  position: absolute;
  inset: -30% -35% auto auto;
  height: 65%;
  max-width: 420px;
  background: radial-gradient(circle at top right, rgba(0, 174, 255, 0.32), transparent 65%);
  opacity: 0.85;
  pointer-events: none;
}

.admin-dashboard::after {
  content: "";
  position: absolute;
  inset: auto -25% -35% auto;
  height: 50%;
  max-width: 360px;
  background: radial-gradient(circle at bottom right, rgba(0, 119, 204, 0.22), transparent 70%);
  opacity: 0.7;
  pointer-events: none;
}

.admin-dashboard > * {
  position: relative;
  z-index: 1;
}

.admin-dashboard-header h2 {
  font-size: 1.9rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.admin-dashboard-subtitle {
  margin: 0;
  font-size: 0.95rem;
  color: var(--admin-muted);
}


/* ===== Gestion des commandes ===== */
.commandes-filter-bar {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  box-shadow: 0 12px 28px rgba(2, 6, 23, 0.25);
  padding: 0.75rem 1rem;
}

body.light-theme .commandes-filter-bar {
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.commandes-location-tabs .nav-link {
  align-items: center;
  border-radius: 999px;
  color: var(--text-color);
  display: inline-flex;
  gap: 0.45rem;
  padding: 0.35rem 0.9rem;
}

.commandes-location-tabs .nav-link.active {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.35), rgba(59, 130, 246, 0.45));
  color: #fff;
  box-shadow: 0 6px 18px rgba(59, 130, 246, 0.25);
}

.commandes-location-tabs .nav-link:not(.active):hover {
  background: rgba(148, 163, 184, 0.15);
}

.commandes-past-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.commande-card-list {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.admin-commandes-layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-commandes-column {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-commandes-detail {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-height: 320px;
  padding: 0;
}

.admin-commandes-detail[hidden] {
  display: none !important;
}

.admin-commandes-detail > .admin-empty-panel {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .admin-commandes-layout.admin-commandes-layout--detail-open {
    display: grid;
    align-items: flex-start;
    gap: 1.75rem;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  }
}

.commande-card {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  box-shadow: var(--admin-card-shadow);
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding: 1.25rem;
}

.commande-card--selectable {
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.commande-card--selectable:hover {
  transform: translateY(-2px);
  box-shadow: var(--admin-card-shadow-hover, 0 20px 45px rgba(15, 23, 42, 0.18));
}

body.light-theme .commande-card--selectable:hover {
  box-shadow: var(--admin-card-shadow-hover, 0 20px 45px rgba(15, 23, 42, 0.12));
}

.commande-card--selectable:focus-visible {
  outline: 2px solid var(--bs-primary);
  outline-offset: 4px;
}

.commande-card-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.commande-card-location,
.commande-editor-location {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  font-weight: 600;
}

.commande-location-dot,
.lieu-color-dot {
  display: inline-flex;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 999px;
  background: var(--dot-color, #38bdf8);
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.18);
}

.commande-card-meta {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  text-align: right;
  font-size: 0.9rem;
  color: var(--admin-muted);
}

.commande-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.commande-card-client {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.commande-client-badge-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.commande-client-badge-wrapper--editor {
  margin: 0.25rem 0 0.2rem;
}

.commande-client-badge {
  --badge-color: var(--client-badge-default-color);
  --badge-text-color: var(--client-badge-default-text);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  background: var(--badge-color);
  color: var(--badge-text-color);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0.2rem 0.75rem;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.22);
}

body.light-theme .commande-client-badge {
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
}

.commande-client-badge-icon {
  line-height: 1;
}

.commande-client-badge-text {
  line-height: 1.2;
  word-break: break-word;
}

.badge-legend-content {
  width: 100%;
}

.badge-legend-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.badge-legend-item {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
  box-shadow: 0 12px 28px rgba(2, 6, 23, 0.32);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem;
}

body.light-theme .badge-legend-item {
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.badge-legend-item-header {
  align-items: center;
  display: flex;
  gap: 0.65rem;
}

.badge-legend-color {
  background: var(--legend-color, #64748b);
  border-radius: 0.6rem;
  height: 1.75rem;
  width: 1.75rem;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.3);
}

body.light-theme .badge-legend-color {
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.12);
}

.badge-legend-item-title {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  font-weight: 600;
}

.badge-legend-emoji {
  font-size: 1.25rem;
  line-height: 1;
}

.badge-legend-title-text {
  font-size: 0.95rem;
}

.badge-legend-input-label {
  color: var(--admin-muted);
  font-size: 0.85rem;
  margin-bottom: 0.25rem;
}

.badge-legend-input {
  font-size: 0.9rem;
}

.badge-legend-actions {
  flex-wrap: wrap;
}

.badge-legend-actions .btn {
  min-width: 140px;
}

.badge-legend-add {
  margin-top: 1.5rem;
  padding: 1rem;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
}

body.light-theme .badge-legend-add {
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.badge-legend-add-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.badge-legend-add-controls .form-select {
  min-width: 220px;
}

.badge-legend-remove {
  min-width: 0;
}

.commande-card-client .commande-client-name {
  font-weight: 600;
}

.commande-card-products {
  font-size: 0.95rem;
  color: var(--admin-muted);
}

.commande-card-extra {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.9rem;
  color: var(--admin-muted);
}

.commande-card-extra .commande-total {
  font-weight: 700;
  color: #fbbf24;
}

.commande-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.commande-card-actions .btn {
  flex: 1 1 140px;
}

.commande-card--past {
  opacity: 0.75;
  border-style: dashed;
}

.commande-summary-card {
  border-radius: 1rem;
  border: 1px solid var(--admin-panel-border);
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-card-shadow);
}

.commande-summary-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.commande-summary-row {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  background: var(--admin-chip-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
  padding: 0.75rem 1rem;
}

.commande-summary-row .commande-summary-name {
  font-weight: 600;
  color: var(--text-color);
}

.commande-summary-row .commande-summary-total {
  font-size: 0.95rem;
  color: var(--admin-muted);
}

.commande-summary-locations {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.commande-summary-badge {
  background: var(--admin-panel-bg);
  border-radius: 999px;
  border: 1px solid var(--admin-panel-border);
  color: var(--text-color);
  display: inline-flex;
  font-size: 0.85rem;
  font-weight: 500;
  gap: 0.35rem;
  padding: 0.3rem 0.75rem;
  position: relative;
}

.commande-summary-badge::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 999px;
  background: var(--badge-color, #38bdf8);
  margin-right: 0.25rem;
  align-self: center;
}

.commande-editor-header {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.commande-editor-header .small {
  color: var(--admin-muted);
}

/* --- Nouvelle interface admin --- */
.admin-shell {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-shell__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-shell__title {
  max-width: 720px;
}

.admin-shell__heading {
  margin-bottom: 0.25rem;
  font-weight: 600;
}

.admin-shell__subtitle {
  margin: 0;
  color: var(--bs-secondary-color);
}

.admin-shell__mobile-switch {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 200px;
}

.admin-shell__mobile-label {
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
}

.admin-shell__tabs {
  position: sticky;
  top: 66px;
  z-index: 1020;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  margin: 0;
  background-color: var(--admin-shell-tabs-bg);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--admin-shell-tabs-border);
}

.admin-shell__tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.85rem;
  border: none;
  border-radius: 999px;
  font-weight: 500;
  color: var(--admin-shell-tab-text);
  background: var(--admin-shell-tab-bg);
  transition: all 0.2s ease;
  cursor: pointer;
}

.admin-shell__tab:hover,
.admin-shell__tab:focus-visible {
  color: var(--admin-shell-tab-hover-text);
  background: var(--admin-shell-tab-hover-bg);
  outline: none;
}

.admin-shell__tab.is-active {
  color: var(--admin-shell-tab-active-text);
  background: var(--bs-primary);
  box-shadow: var(--admin-shell-tab-active-shadow);
}

.admin-shell__tab.is-active .admin-shell__tab-counter {
  color: inherit;
  background: var(--admin-shell-tab-counter-active-bg);
}

.admin-shell__tab-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--admin-shell-tab-counter-bg);
  color: var(--admin-shell-tab-counter-color);
  transition: transform 0.2s ease;
}

.admin-shell__tab-counter.is-positive {
  color: var(--bs-success);
}

.admin-shell__tab-counter.is-negative {
  color: var(--bs-danger);
}

.admin-shell__panel {
  position: relative;
  min-height: 200px;
}

.admin-shell__loader {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: var(--admin-shell-loader-bg);
  backdrop-filter: blur(6px);
  z-index: 5;
}

.admin-shell__spinner {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 0.25rem solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
  border-top-color: var(--bs-primary);
  animation: admin-spinner 0.8s linear infinite;
}

.admin-shell__loader-text {
  margin: 0;
  font-weight: 500;
  color: var(--admin-shell-loader-text);
}

.admin-shell__module {
  position: relative;
  min-height: 320px;
  border-radius: 1rem;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  padding: 1.5rem;
  box-shadow: var(--admin-card-shadow);
  color: var(--text-color);
}

.admin-shell__module.is-loading {
  opacity: 0.4;
  pointer-events: none;
}

.admin-shell__module.module-loading {
  opacity: 0.6;
}

.admin-shell__module.module-enter {
  animation: admin-module-in 0.3s ease;
}

.admin-shell__error {
  text-align: center;
  padding: 2rem 1rem;
}

.admin-shell__error h2 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.admin-shell__error p {
  color: var(--bs-secondary-color);
}

@keyframes admin-spinner {
  to {
    transform: rotate(360deg);
  }
}

@keyframes admin-module-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.admin-produits {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-produits__header {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
}

.admin-produits__header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.admin-produits__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

.admin-produits__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-produits__content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.admin-produits__item {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  overflow: hidden;
  background: var(--bs-body-bg);
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-produits__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, 0.1);
}

.admin-produits__item-header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.admin-produits__item-badges {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-end;
}

.admin-produits__item-price {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  margin-bottom: 0.75rem;
}

.admin-produits__item-price-label {
  color: var(--bs-secondary-color);
  font-size: 0.85rem;
}

.admin-produits__item-infos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.admin-produits__item-infos dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--bs-secondary-color);
}

.admin-produits__item-actions {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.admin-produits__empty {
  text-align: center;
  padding: 2rem 1rem;
  border-radius: 1rem;
  border: 1px dashed var(--bs-border-color);
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04);
}

.admin-produits__empty-icon {
  font-size: 2rem;
  color: var(--bs-primary);
  margin-bottom: 0.5rem;
}

.admin-produits__dialog::backdrop {
  background: rgba(15, 23, 42, 0.55);
}

.admin-produits__dialog {
  border: none;
  border-radius: 1rem;
  max-width: 560px;
  width: 100%;
  padding: 0;
  box-shadow: 0 2rem 3.5rem rgba(15, 23, 42, 0.35);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.admin-produits__form {
  padding: 1.5rem;
}

.admin-produits__form-header,
.admin-produits__form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.admin-produits__form-body {
  margin: 1rem 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-produits__price-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.admin-produits__price-group .form-control {
  flex: 1 1 160px;
  min-width: 0;
}

.admin-produits__price-group .form-select {
  flex: 0 0 auto;
  width: auto;
  min-width: 7rem;
}

@media (max-width: 768px) {
  .admin-produits__price-group {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-produits__price-group .form-select {
    width: 100%;
  }
}

.admin-produits__status-row {
  align-items: stretch;
  row-gap: 1rem;
}

.admin-produits__switch-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
  background: var(--admin-subpanel-bg, rgba(255, 255, 255, 0.04));
}

body.light-theme .admin-produits__switch-field {
  background: rgba(15, 23, 42, 0.05);
}

.admin-produits__switch-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.admin-produits__switch-title {
  font-weight: 600;
  color: var(--text-color);
}

.admin-produits__switch-help {
  font-size: 0.8rem;
  color: var(--bs-secondary-color);
}

.admin-inline-edit {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 0.75rem;
  padding: 0.2rem 0.45rem;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  max-width: 100%;
}

.admin-inline-edit:hover,
.admin-inline-edit:focus-visible {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
  color: var(--bs-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

.admin-inline-edit.is-editing {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
  color: var(--bs-primary);
}

.admin-inline-weight {
  border: 1px solid transparent;
  border-radius: 0.85rem;
  cursor: pointer;
  display: block;
  padding: 0.45rem 0.6rem;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-inline-weight[data-empty="true"] {
  color: var(--bs-secondary-color);
}

.admin-inline-weight:hover,
.admin-inline-weight:focus-visible {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
  border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
}

.admin-inline-weight.is-editing {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
  border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.4);
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
}

body.light-theme .admin-inline-weight {
  border-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .admin-inline-weight:hover,
body.light-theme .admin-inline-weight:focus-visible {
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.admin-inline-picker {
  background: var(--admin-subpanel-bg, rgba(255, 255, 255, 0.08));
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.9rem;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.35);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: min(360px, calc(100vw - 4rem));
  padding: 0.75rem;
}

body.light-theme .admin-inline-picker {
  background: rgba(15, 23, 42, 0.06);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

.admin-inline-picker__label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-color);
}

.admin-inline-picker .form-select,
.admin-inline-picker .form-control {
  width: 100%;
}

.admin-inline-picker__custom {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-inline-picker__options {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.admin-inline-picker__option {
  align-items: flex-start;
  border: 1px solid transparent;
  border-radius: 0.7rem;
  cursor: pointer;
  display: flex;
  gap: 0.55rem;
  padding: 0.45rem 0.6rem;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.admin-inline-picker__option input {
  margin-top: 0.2rem;
}

.admin-inline-picker__option:hover,
.admin-inline-picker__option:focus-within {
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
  border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
}

.admin-inline-picker__option-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.admin-inline-picker__option-title {
  font-weight: 600;
  color: var(--text-color);
}

.admin-inline-picker__option-meta {
  color: var(--bs-secondary-color);
  font-size: 0.75rem;
}

.admin-inline-picker__empty {
  color: var(--bs-secondary-color);
  font-size: 0.85rem;
  margin: 0;
}

.admin-inline-picker__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.admin-inline-edit input {
  border: none;
  background: transparent;
  color: inherit;
  width: 100%;
  outline: none;
  padding: 0;
  margin: 0;
  font: inherit;
}

.admin-inline-edit--number {
  justify-content: flex-end;
}

.admin-inline-edit--number input {
  text-align: right;
}

.admin-inline-edit--multiline {
  white-space: normal;
  line-height: 1.35;
}

.admin-status-toggle-group {
  display: inline-flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.admin-status-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--admin-panel-border);
  background: rgba(148, 163, 184, 0.12);
  color: var(--bs-secondary-color);
  font-size: 0.8rem;
  font-weight: 600;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.admin-status-toggle.is-on {
  background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.15);
  border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.35);
  color: var(--bs-success);
}

.admin-status-toggle.is-off {
  background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.12);
  border-color: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.35);
  color: var(--bs-danger);
}

.admin-status-toggle__indicator {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.admin-status-toggle__text {
  display: inline-flex;
  align-items: center;
}

.admin-status-toggle:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

.admin-status-toggle[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 575.98px) {
  .admin-produits__price-group {
    flex-wrap: wrap;
  }

  .admin-produits__price-group .form-select {
    flex: 1 1 100%;
  }
}

.admin-produits__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.admin-produits__suggestion {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--admin-chip-border);
  background: var(--admin-chip-bg);
  color: inherit;
  font-size: 0.85rem;
  line-height: 1.1;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.admin-produits__suggestion:hover,
.admin-produits__suggestion:focus {
  border-color: var(--bs-primary);
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
}

.admin-produits__suggestion:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
}

.admin-produits__suggestion-label {
  font-weight: 600;
}

.admin-produits__suggestion-meta {
  font-size: 0.75rem;
  color: var(--bs-secondary-color);
}

body.light-theme .admin-produits__suggestion:hover,
body.light-theme .admin-produits__suggestion:focus {
  background: rgba(var(--bs-primary-rgb, 37, 99, 235), 0.14);
}

body.light-theme .admin-produits__suggestion:focus-visible {
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 37, 99, 235), 0.3);
}

.admin-produits__weight-section {
  border: 1px solid var(--bs-border-color);
  border-radius: 0.85rem;
  padding: 0.85rem 1rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.07);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.admin-produits__weight-section.is-required {
  border-color: var(--bs-danger);
  box-shadow: 0 0 0 0.1rem rgba(var(--bs-danger-rgb, 220, 53, 69), 0.15);
}

.admin-produits__weight-section.is-required .form-label::after {
  content: ' *';
  color: var(--bs-danger);
  margin-left: 0.25rem;
}

.admin-produits__weight-header {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.admin-produits__weight-subtitle {
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
}

.admin-produits__weight-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.65rem;
}

.admin-produits__weight-options.is-disabled {
  opacity: 0.55;
  pointer-events: none;
  filter: grayscale(0.25);
}

.admin-produits__weight-options.is-empty {
  display: block;
}

.admin-produits__weight-option {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.6rem 0.8rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.28);
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.admin-produits__weight-option input {
  margin-top: 0.2rem;
}

.admin-produits__weight-option-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.admin-produits__weight-option-title {
  font-weight: 600;
}

.admin-produits__weight-option-meta {
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
}

.admin-produits__weight-option.is-active {
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
}

.admin-produits__weight-options.is-disabled .admin-produits__weight-option {
  cursor: not-allowed;
  box-shadow: none;
}

.admin-produits__weight-options.is-empty p {
  margin: 0;
}

@media (max-width: 576px) {
  .admin-produits__weight-options {
    grid-template-columns: 1fr;
  }
}

body.light-theme .admin-produits__weight-section {
  background: rgba(var(--bs-primary-rgb, 37, 99, 235), 0.12);
}

body.light-theme .admin-produits__weight-option {
  border-color: rgba(var(--bs-primary-rgb, 37, 99, 235), 0.24);
  background: rgba(var(--bs-primary-rgb, 37, 99, 235), 0.16);
}

body.light-theme .admin-produits__weight-option.is-active {
  background: rgba(var(--bs-primary-rgb, 37, 99, 235), 0.24);
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 37, 99, 235), 0.18);
}

.admin-produits__form-footer {
  border-top: 1px solid var(--bs-border-color);
  padding-top: 1rem;
}

.admin-commandes {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-commandes__header {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

.admin-commandes__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.75rem;
}

.admin-commandes__stats-label {
  display: block;
  font-size: 0.8rem;
  color: var(--bs-secondary-color);
}

.admin-commandes__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
}

.admin-commandes__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-commandes__layout {
  display: block;
}

.admin-commandes__liste {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.admin-commandes__item {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  background: var(--bs-body-bg);
}

.admin-commandes__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, 0.07);
}

.admin-commandes__item.is-selected {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

.admin-commandes__item-header {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.admin-commandes__item-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0;
  margin: 0 0 0.75rem;
  list-style: none;
  color: var(--bs-secondary-color);
}

.admin-commandes__item-meta li i {
  margin-right: 0.45rem;
}

.admin-commandes__item-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}

.admin-commandes__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: var(--badge-color, #64748b);
  color: #fff;
  min-width: 1.75rem;
}

.admin-commandes__details {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  padding: 1.25rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04);
  display: none;
  flex-direction: column;
  gap: 1rem;
  transition: opacity 0.2s ease, transform 0.2s ease;
  opacity: 0;
  transform: translateY(8px);
}

.admin-commandes__details.is-visible {
  display: flex;
  opacity: 1;
  transform: translateY(0);
  margin-top: 1.5rem;
  box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, 0.12);
}

.admin-commandes__details-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.admin-commandes__details-actions .btn {
  white-space: nowrap;
}

.admin-commandes__location-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--badge-indicator-bg, var(--bs-primary)) 25%, var(--bs-border-color));
  background: color-mix(in srgb, var(--badge-indicator-bg, var(--bs-primary)) 12%, var(--bs-body-bg));
  color: var(--text-color);
  padding: 0.35rem 0.9rem;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.admin-commandes__location-btn:is(:hover, :focus-visible) {
  border-color: color-mix(in srgb, var(--badge-indicator-bg, var(--bs-primary)) 50%, var(--bs-border-color));
  box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.08);
  outline: none;
}

.admin-commandes__location-btn.is-active {
  background: color-mix(in srgb, var(--badge-indicator-bg, var(--bs-primary)) 22%, var(--bs-body-bg));
  border-color: color-mix(in srgb, var(--badge-indicator-bg, var(--bs-primary)) 65%, var(--bs-border-color));
  color: var(--badge-indicator-text, var(--text-color));
  box-shadow: 0 1rem 2.25rem rgba(15, 23, 42, 0.18);
}

.admin-commandes__location-dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: var(--badge-indicator-bg, var(--bs-primary));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--bs-body-bg) 85%, transparent);
}

.admin-commandes__location-label {
  font-weight: 600;
  line-height: 1.2;
}

.admin-commandes__location-btn--all {
  border-style: dashed;
  border-color: color-mix(in srgb, var(--bs-border-color) 80%, rgba(148, 163, 184, 0.4) 20%);
  background: color-mix(in srgb, var(--bs-body-bg) 96%, rgba(148, 163, 184, 0.18) 4%);
}

.admin-commandes__location-btn--all.is-active {
  border-style: solid;
  border-color: color-mix(in srgb, var(--bs-primary) 35%, var(--bs-border-color) 65%);
  background: color-mix(in srgb, var(--bs-primary) 16%, var(--bs-body-bg));
  color: var(--badge-indicator-text, var(--text-color));
}

.admin-commandes__details-header {

.admin-commandes__details-heading {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.admin-commandes__details-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.admin-commandes__details-mode {
  display: inline-flex;
  gap: 0.5rem;
  padding: 0.35rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--bs-border-color) 85%, transparent);
  background: color-mix(in srgb, var(--bs-secondary-bg) 65%, transparent);
}

.admin-commandes__details-mode .btn {
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--bs-secondary-color);
  font-weight: 600;
  padding: 0.35rem 0.85rem;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.admin-commandes__details-mode .btn:is(:hover, :focus-visible) {
  color: var(--bs-body-color);
  background: color-mix(in srgb, var(--bs-primary) 10%, transparent);
  outline: none;
}

.admin-commandes__details-mode .btn.is-active {
  color: var(--bs-body-bg);
  background: color-mix(in srgb, var(--bs-primary) 70%, var(--bs-body-bg));
  box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.16);
}

.admin-commandes__details-extra-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.admin-commandes__details-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: -0.25rem;
}

.admin-commandes__details-tab {
  border: none;
  background: transparent;
  padding: 0.45rem 0.85rem;
  border-radius: 0.85rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.admin-commandes__details-tab:is(:hover, :focus-visible) {
  background: color-mix(in srgb, var(--bs-primary) 12%, transparent);
  color: var(--bs-body-color);
  outline: none;
}

.admin-commandes__details-tab.is-active {
  background: color-mix(in srgb, var(--bs-primary) 24%, var(--bs-body-bg));
  color: var(--bs-primary-contrast, #fff);
  box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.12);
}

.admin-commandes__details-panels {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.admin-commandes__panel {
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  padding: 1.1rem 1.25rem;
  background: color-mix(in srgb, var(--admin-panel-bg) 95%, rgba(37, 99, 235, 0.04) 5%);
  box-shadow: 0 0.85rem 1.75rem rgba(15, 23, 42, 0.09);
}

.admin-commandes__panel-header {
  margin-bottom: 0.75rem;
}

.admin-commandes__panel-header p {
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
}

.admin-commandes__produits-list {
  display: grid;
  gap: 0.85rem;
}

.admin-commandes__produit.card {
  border: 1px solid var(--admin-panel-border);
  box-shadow: none;
  background: color-mix(in srgb, var(--admin-panel-bg) 92%, rgba(59, 130, 246, 0.05) 8%);
}

.admin-commandes__produit-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.admin-commandes__produit-summary-text {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-commandes__produit-name {
  margin-bottom: 0.15rem;
}

.admin-commandes__produit-quantity {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  font-weight: 600;
}

.admin-commandes__produit-total {
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
}

.admin-commandes__produit-actions {
  display: flex;
  gap: 0.4rem;
}

.admin-commandes__produit-toggle,
.admin-commandes__produit-icon {
  border: 1px solid color-mix(in srgb, var(--bs-border-color) 80%, transparent);
  background: color-mix(in srgb, var(--bs-body-bg) 92%, rgba(148, 163, 184, 0.12));
  color: var(--bs-secondary-color);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.admin-commandes__produit-toggle i,
.admin-commandes__produit-icon i {
  font-size: 0.75rem;
}

.admin-commandes__produit-icon {
  padding-inline: 0.5rem;
  justify-content: center;
}

.admin-commandes__produit-toggle:is(:hover, :focus-visible),
.admin-commandes__produit-icon:is(:hover, :focus-visible) {
  outline: none;
  border-color: color-mix(in srgb, var(--bs-primary) 45%, var(--bs-border-color));
  color: var(--bs-body-color);
  background: color-mix(in srgb, var(--bs-primary) 15%, var(--bs-body-bg));
  transform: translateY(-1px);
}

.admin-commandes__produit-advanced {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--admin-panel-border);
  display: grid;
  gap: 0.75rem;
}

.admin-commandes__produit-details {
  margin: 0;
  display: grid;
  gap: 0.4rem;
}

.admin-commandes__produit-detail {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.85rem;
}

.admin-commandes__produit-detail dt {
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.admin-commandes__produit-detail dd {
  margin: 0;
  color: var(--bs-body-color);
}

.admin-commandes__produit-remark {
  border-radius: 0.8rem;
  padding: 0.75rem;
  background: color-mix(in srgb, var(--bs-primary) 12%, var(--bs-body-bg));
  border: 1px solid color-mix(in srgb, var(--bs-primary) 18%, var(--bs-border-color));
}

.admin-commandes__produit-remark-label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
  margin-bottom: 0.35rem;
}

.admin-commandes__produit-remark p {
  margin: 0;
  font-size: 0.9rem;
}


  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.admin-commandes__details-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
}

.admin-commandes__details-label {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
}

.admin-commandes__workflow {
  margin-top: 0.25rem;
}

.admin-commandes__workflow > h3 {
  margin-bottom: 0.75rem;
}

.admin-workflow {
  display: grid;
  gap: 1.1rem;
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  padding: 1.2rem 1.35rem;
  background: color-mix(in srgb, var(--admin-panel-bg) 94%, rgba(37, 99, 235, 0.08) 6%);
}

.admin-workflow__statuses {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.admin-workflow__status-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.9rem;
  border: 1px solid var(--admin-panel-border);
  background: transparent;
  color: var(--text-color);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  text-align: left;
}

.admin-workflow__status-btn:hover,
.admin-workflow__status-btn:focus {
  border-color: color-mix(in srgb, var(--badge-active-bg) 55%, var(--admin-panel-border));
  background: color-mix(in srgb, var(--badge-active-bg) 12%, transparent);
  transform: translateY(-1px);
}

.admin-workflow__status-btn.is-active {
  border-color: color-mix(in srgb, var(--badge-active-bg) 65%, var(--admin-panel-border));
  background: color-mix(in srgb, var(--badge-active-bg) 16%, transparent);
  box-shadow: 0 16px 30px rgba(2, 6, 23, 0.3);
}

.admin-workflow__status-label {
  font-weight: 600;
}

.admin-workflow__status-detail {
  font-size: 0.78rem;
  color: var(--admin-muted);
}

.admin-workflow__actions {
  display: grid;
  gap: 1rem;
}

.admin-workflow__card {
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.95rem;
  padding: 0.95rem 1.1rem;
  background: color-mix(in srgb, var(--admin-panel-bg) 92%, rgba(15, 157, 255, 0.08) 8%);
  display: grid;
  gap: 0.65rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.admin-workflow__card.is-target {
  border-color: color-mix(in srgb, var(--badge-active-bg) 55%, var(--admin-panel-border));
  box-shadow: 0 18px 36px rgba(2, 6, 23, 0.26);
  transform: translateY(-1px);
}

.admin-workflow__card-header {
  margin-bottom: 0.25rem;
}

.admin-workflow__card-header .text-muted {
  font-size: 0.85rem;
}

.admin-workflow__card .form-select,
.admin-workflow__card .form-control {
  background: var(--admin-panel-bg);
  color: var(--text-color);
  border-color: color-mix(in srgb, var(--admin-panel-border) 70%, var(--badge-active-bg) 30%);
}

.admin-workflow__card .btn {
  width: fit-content;
}

.admin-workflow__history {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem 1.25rem;
  margin: 0;
}

.admin-workflow__history dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--admin-muted);
  margin: 0;
}

.admin-workflow__history dd {
  margin: 0;
  font-weight: 600;
  color: var(--text-color);
}

.admin-workflow__message {
  border: 1px dashed color-mix(in srgb, var(--admin-panel-border) 70%, rgba(148, 163, 184, 0.35) 30%);
  border-radius: 0.85rem;
  padding: 0.75rem 0.9rem;
  background: color-mix(in srgb, var(--admin-panel-bg) 92%, rgba(148, 163, 184, 0.1) 8%);
}

.admin-workflow__message-title {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--admin-muted);
}

.admin-workflow__message-body {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
}

.admin-workflow__message-empty {
  margin: 0;
  font-size: 0.85rem;
  color: var(--admin-muted);
}

body.light-theme .admin-workflow {
  background: color-mix(in srgb, #ffffff 96%, rgba(37, 99, 235, 0.08) 4%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
}

body.light-theme .admin-workflow__status-btn.is-active {
  background: color-mix(in srgb, var(--badge-active-bg) 12%, #ffffff 88%);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.16);
}

body.light-theme .admin-workflow__card {
  background: color-mix(in srgb, #ffffff 94%, rgba(37, 99, 235, 0.08) 6%);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

body.light-theme .admin-workflow__card.is-target {
  box-shadow: 0 20px 36px rgba(15, 23, 42, 0.18);
}

body.light-theme .admin-workflow__card .form-select,
body.light-theme .admin-workflow__card .form-control {
  background: rgba(255, 255, 255, 0.95);
}

body.light-theme .admin-workflow__message {
  background: color-mix(in srgb, #ffffff 94%, rgba(148, 163, 184, 0.12) 6%);
}

.admin-commandes__produits {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.admin-commandes__produit {
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
  border-radius: 0.75rem;
  background: var(--bs-body-bg);
}

.admin-commandes__produit-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
}

.admin-commandes__summary {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  padding: 1.25rem;
  background: var(--bs-body-bg);
}

.admin-commandes__summary-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1rem;
}

.admin-commandes__summary-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.admin-commandes__summary-item {
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.95rem;
  padding: 0.85rem 1rem;
  background: var(--admin-subpanel-bg, rgba(255, 255, 255, 0.05));
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  min-height: 0;
}

body.light-theme .admin-commandes__summary-item {
  background: rgba(15, 23, 42, 0.06);
}

.admin-commandes__summary-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
}

.admin-commandes__summary-name {
  font-weight: 600;
  margin: 0;
}

.admin-commandes__summary-category {
  margin: 0.15rem 0 0;
  font-size: 0.85rem;
  color: var(--bs-secondary-color);
}

.admin-commandes__summary-total {
  font-weight: 700;
  font-size: 0.95rem;
  white-space: nowrap;
}

.admin-commandes__summary-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.admin-commandes__summary-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--admin-chip-border);
  background: var(--admin-chip-bg);
  font-size: 0.78rem;
  color: inherit;
}

.admin-commandes__summary-chip--muted {
  border-style: dashed;
  background: transparent;
  color: var(--bs-secondary-color);
}

.admin-commandes__empty,
.admin-commandes__details-empty {
  text-align: center;
  color: var(--bs-secondary-color);
  padding: 1.25rem;
}

.admin-commandes__header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.admin-commandes__view-switch {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-commandes__view {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-commandes__view[hidden] {
  display: none !important;
}

.admin-commandes__view--synthese {
  gap: 0;
}

.admin-synthese {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  padding: 1.5rem;
  background: var(--admin-panel-bg);
}

.admin-synthese__header {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}

.admin-synthese__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-synthese__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.75rem;
  background: var(--admin-chip-bg);
}

.admin-synthese__meta > div {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: var(--admin-muted);
}

.admin-synthese__meta > div strong {
  font-size: 1.25rem;
  color: var(--bs-body-color);
}

.admin-synthese__filters {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.admin-synthese__filter {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.admin-synthese__filter--reset {
  justify-content: flex-end;
}

.admin-synthese__filter-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--admin-muted);
  margin: 0;
}

.admin-synthese__presets .btn {
  min-width: 0;
}

.admin-synthese__custom-range {
  display: none;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.admin-synthese__custom-range label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: var(--admin-muted);
}

.admin-synthese__custom-range.is-active {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.admin-synthese__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-synthese__chip {
  border-radius: 999px;
  padding-inline: 0.75rem;
}

.admin-synthese__content {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr);
}

.admin-synthese__table {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  padding: 0;
}

.admin-synthese__datatable thead th {
  background: var(--admin-chip-bg);
  border-bottom: 1px solid var(--admin-panel-border);
}

.admin-synthese__datatable tbody tr.admin-synthese__row--warning {
  background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.08);
}

.admin-synthese__datatable tbody tr.admin-synthese__row--critical {
  background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.08);
}

.admin-synthese__cell-stack {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.admin-synthese__locations {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.admin-synthese__locations .badge-indicator {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  padding: 0.35rem 0.6rem;
  font-size: 0.8rem;
}

.admin-synthese__locations .badge-indicator small {
  font-size: 0.7rem;
  opacity: 0.8;
}

.admin-synthese__stock {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.admin-synthese__stock-edit {
  padding: 0;
}

.admin-synthese__insights {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-synthese__insight-card {
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.75rem;
  padding: 1rem;
  background: var(--admin-chip-bg);
}

.admin-synthese__forecast {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.admin-synthese__forecast-item {
  border: 1px solid color-mix(in srgb, var(--badge-active-bg) 35%, var(--admin-panel-border));
  border-radius: 0.85rem;
  padding: 0.85rem 1rem;
  background: color-mix(in srgb, var(--badge-active-bg) 12%, transparent);
  box-shadow: 0 16px 32px rgba(2, 6, 23, 0.18);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-synthese__forecast-item:hover,
.admin-synthese__forecast-item:focus-within {
  border-color: color-mix(in srgb, var(--badge-active-bg) 55%, var(--admin-panel-border));
  transform: translateY(-2px);
  box-shadow: 0 22px 40px rgba(2, 6, 23, 0.22);
}

body.light-theme .admin-synthese__forecast-item {
  background: color-mix(in srgb, var(--badge-active-bg) 10%, #ffffff 90%);
  border-color: color-mix(in srgb, var(--badge-active-bg) 35%, rgba(15, 23, 42, 0.12));
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.14);
}

body.light-theme .admin-synthese__forecast-item:hover,
body.light-theme .admin-synthese__forecast-item:focus-within {
  box-shadow: 0 18px 32px rgba(15, 23, 42, 0.18);
}

.admin-synthese__forecast-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
}

.admin-synthese__forecast-heading strong {
  font-size: 0.95rem;
}

.admin-synthese__forecast-heading span {
  font-size: 0.8rem;
  color: var(--admin-muted);
}

.admin-synthese__forecast-detail {
  font-weight: 600;
  margin-top: 0.4rem;
  color: var(--text-color);
}

.admin-synthese__forecast-item small {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.75rem;
  color: var(--admin-muted);
}

@media (max-width: 991.98px) {
  .admin-synthese__content {
    grid-template-columns: 1fr;
  }

  .admin-synthese__insights {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .admin-synthese__insight-card {
    flex: 1 1 220px;
  }
}

@media (max-width: 575.98px) {
  .admin-synthese__actions {
    width: 100%;
    justify-content: stretch;
  }

  .admin-synthese__actions .btn {
    flex: 1 1 auto;
  }
}

.admin-clients {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-clients__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.admin-clients__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 1.25rem;
}

.admin-clients__table {
  position: relative;
}

.admin-clients__table table {
  margin-bottom: 0;
}

.admin-clients__empty {
  text-align: center;
  padding: 1rem 1.5rem;
  color: var(--admin-muted);
}

.admin-clients__badge {
  align-items: center;
  background: var(--badge-color, #6c757d);
  border-radius: 999px;
  color: var(--badge-indicator-text, #ffffff);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  justify-content: center;
  min-width: 2.25rem;
  padding: 0.25rem 0.65rem;
  text-transform: none;
  letter-spacing: 0.01em;
}

.admin-clients__details {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: var(--admin-card-shadow);
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem;
}

.admin-clients__details-header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  flex-wrap: wrap;
}

.admin-clients__details-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.admin-clients__details-section {
  border-top: 1px solid var(--admin-panel-border);
  padding-top: 1rem;
}

.admin-clients__city-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.admin-clients__city-form .input-group-text {
  background: var(--admin-panel-bg);
  border-color: var(--admin-panel-border);
  color: var(--admin-muted);
}

body.light-theme .admin-clients__city-form .input-group-text {
  background: #f8fafc;
  color: #475569;
}

.admin-clients__details-section ul {
  color: var(--admin-muted);
  margin: 0;
  padding-left: 1.1rem;
}

.admin-clients__details-section li + li {
  margin-top: 0.35rem;
}

.admin-clients__details-empty {
  color: var(--admin-muted);
  text-align: center;
}

.admin-stats {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.admin-stats__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
}

.admin-stats__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-stats__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}

.admin-stats__card {
  padding: 1.1rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12), rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04));
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.admin-stats__card-label {
  display: block;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
}

.admin-stats__card-value {
  font-size: 1.35rem;
  font-weight: 600;
  margin-top: 0.35rem;
}

.admin-stats__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}

.admin-stats__panel {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  padding: 1.25rem;
  background: var(--bs-body-bg);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-stats__panel-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}

.admin-stats__top,
.admin-stats__volumes {
  display: grid;
  gap: 0.75rem;
}

.admin-stats__top-row,
.admin-stats__volume-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.05);
}

.admin-stats__top-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: var(--bs-primary);
  color: #fff;
  font-weight: 600;
}

.admin-stats__top-name {
  font-weight: 600;
}

.admin-stats__top-quantity {
  color: var(--bs-secondary-color);
}

.admin-stats__volume-row {
  grid-template-columns: 1fr auto auto;
}

.admin-site {
  display: flex;
  flex-direction: column;
}

.admin-site__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}

.admin-site__panel {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  padding: 1.5rem;
  background: var(--bs-body-bg);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.admin-site__panel-header {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-site__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-site__form-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.admin-site__media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}

.admin-site__media-preview {
  position: relative;
  border-radius: 1rem;
  min-height: 160px;
  background-size: cover;
  background-position: center;
  background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.05);
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
}

.admin-site__media-preview span {
  color: var(--bs-secondary-color);
}

.admin-site__media-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}

.admin-site__gallery {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-site__gallery-header {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-site__gallery-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.admin-site__gallery-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.85rem;
  border-radius: 0.85rem;
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.06);
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
  backdrop-filter: blur(4px);
}

.admin-site__gallery-preview {
  position: relative;
  border-radius: 0.75rem;
  min-height: 140px;
  background-size: cover;
  background-position: center;
  background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08);
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--bs-secondary-color);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.admin-site__gallery-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25));
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.admin-site__gallery-preview.has-image::after {
  opacity: 0.18;
  mix-blend-mode: multiply;
}

.admin-site__gallery-preview:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.08);
}

.admin-site__gallery-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.admin-site__categories,
.admin-site__badges {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.admin-site__category-row,
.admin-site__badge-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) auto;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
  background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.06);
}

.admin-site__badge-row {
  grid-template-columns: minmax(200px, 2fr) minmax(180px, 1fr) auto;
  gap: 0.6rem;
  padding: 0.6rem 0.75rem;
  align-items: center;
}

.admin-site__badge-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-site__badge-field--color .form-label {
  margin-bottom: 0;
}

.admin-site__badge-color-select {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.admin-site__badge-color-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 0.75rem;
  font-size: 1.15rem;
  font-weight: 600;
  background: var(--badge-color, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.22));
  color: var(--badge-text-color, var(--bs-body-color));
  box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

body.light-theme .admin-site__badge-row {
  grid-template-columns: minmax(200px, 2fr) minmax(170px, 1fr) auto;
}

body.light-theme .admin-site__badge-color-preview {
  box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb, 37, 99, 235), 0.25);
}

.admin-site__category-actions,
.admin-site__badge-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

@media (max-width: 991px) {
  .admin-shell__tabs {
    top: 56px;
    padding: 0.5rem 0.75rem;
    margin: 0 -0.75rem;
  }

  .admin-shell__module {
    padding: 1rem;
  }

  .admin-commandes__layout,
  .admin-clients__layout {
    grid-template-columns: 1fr;
  }

  .admin-site__media {
    grid-template-columns: 1fr;
  }

  .admin-site__category-row,
  .admin-site__badge-row {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
}

body:not(.light-theme) .admin-shell__tabs {
  background-color: rgba(17, 24, 39, 0.92);
  border-color: rgba(148, 163, 184, 0.25);
}

body:not(.light-theme) .admin-shell__module {
  border-color: rgba(148, 163, 184, 0.25);
  box-shadow: 0 1.5rem 3rem rgba(2, 6, 23, 0.45);
}

body:not(.light-theme) .admin-produits__item,
body:not(.light-theme) .admin-commandes__item,
body:not(.light-theme) .admin-clients__table,
body:not(.light-theme) .admin-clients__details,
body:not(.light-theme) .admin-commandes__details,
body:not(.light-theme) .admin-stats__panel,
body:not(.light-theme) .admin-site__panel {
  background: rgba(15, 23, 42, 0.65);
  border-color: rgba(148, 163, 184, 0.2);
}

body:not(.light-theme) .admin-produits__dialog {
  background: rgba(15, 23, 42, 0.92);
  color: var(--bs-body-color);
}

body:not(.light-theme) .admin-site__media-preview {
  background-color: rgba(30, 41, 59, 0.6);
  border-color: rgba(148, 163, 184, 0.25);
}

/* ===== Commande rapide 2.0 ===== */
.quick-order-page.container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.quick-order-page {
  margin-top: 0;
}

.quick-order-shell {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.75rem;
  box-shadow: var(--admin-card-shadow);
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 4rem);
  overflow: hidden;
  position: relative;
}

body.light-theme .quick-order-shell {
  background: #ffffff;
}

.quick-order-top-bar {
  align-items: center;
  backdrop-filter: blur(16px);
  background: rgba(15, 23, 42, 0.85);
  border-bottom: 1px solid var(--admin-panel-border);
  display: flex;
  gap: 1rem;
  padding: 1.25rem 2rem 1rem;
  position: sticky;
  top: 0;
  z-index: 5;
}

body.light-theme .quick-order-top-bar {
  background: rgba(255, 255, 255, 0.95);
}

.quick-order-search {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.4rem;
}

.quick-order-search-label {
  color: var(--admin-muted);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.quick-order-search-input {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 1.1rem;
  color: var(--text-color);
  font-size: 1.25rem;
  font-weight: 600;
  padding: 0.95rem 1.3rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.quick-order-search-input::placeholder {
  color: rgba(226, 232, 240, 0.6);
}

body.light-theme .quick-order-search-input {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.12);
}

.quick-order-search-input:focus {
  border-color: var(--primary-color, #2563eb);
  box-shadow: 0 0 0 3px rgba(24, 119, 242, 0.25);
  outline: none;
}

.quick-order-clear {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 1rem;
  color: var(--text-color);
  display: inline-flex;
  font-weight: 600;
  gap: 0.5rem;
  padding: 0.85rem 1.2rem;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.quick-order-clear:hover,
.quick-order-clear:focus-visible {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.55);
  outline: none;
}

.quick-order-main {
  flex: 1;
  position: relative;
}

.quick-order-results {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  height: 100%;
  overflow-y: auto;
  padding: 1.5rem 2rem 8rem;
}

.quick-order-empty {
  color: var(--admin-muted);
  font-size: 1rem;
  margin: 0;
  padding: 2rem;
  text-align: center;
}

.quick-order-product {
  align-items: center;
  background: rgba(148, 163, 184, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 1.35rem;
  cursor: pointer;
  display: flex;
  gap: 1.1rem;
  row-gap: 0.75rem;
  padding: 1.1rem 1.25rem;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  touch-action: pan-y;
  flex-wrap: wrap;
}

body.light-theme .quick-order-product {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.12);
}

.quick-order-product:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.55);
  box-shadow: 0 18px 32px rgba(15, 23, 42, 0.3);
}

.quick-order-product:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.6);
  outline-offset: 3px;
}

.quick-order-product.is-selected {
  border-color: rgba(59, 130, 246, 0.75);
  box-shadow: 0 20px 40px rgba(59, 130, 246, 0.32);
}

.quick-order-product.is-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.quick-order-product-media {
  align-items: center;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(6, 182, 212, 0.2));
  border-radius: 1rem;
  display: flex;
  height: 64px;
  justify-content: center;
  min-width: 64px;
  width: 64px;
  opacity: 0.65;
  transform: scale(0.94);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.quick-order-product-media.is-visible {
  opacity: 1;
  transform: scale(1);
}

.quick-order-product-icon {
  font-size: 1.8rem;
}

.quick-order-product-content {
  flex: 1;
}

.quick-order-product-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.3rem;
  color: var(--text-color);
}

.quick-order-product-content p {
  color: var(--admin-muted);
  font-size: 0.95rem;
  margin: 0;
}

.quick-order-product-category {
  background: rgba(59, 130, 246, 0.15);
  border-radius: 999px;
  color: var(--text-color);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 0.5rem;
  padding: 0.2rem 0.6rem;
  text-transform: uppercase;
}

body.light-theme .quick-order-product-category {
  background: rgba(59, 130, 246, 0.12);
}

.quick-order-product-status {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-left: auto;
  min-width: 110px;
  text-align: right;
  flex-wrap: wrap;
}

.quick-order-product-status span {
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .quick-order-product {
    align-items: flex-start;
  }

  .quick-order-product-status {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: 0;
    text-align: left;
    width: 100%;
  }
}

.quick-order-product-status.available span {
  background: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
}

.quick-order-product-status.unavailable span {
  background: rgba(248, 113, 113, 0.2);
  color: #fecaca;
}

body.light-theme .quick-order-product-status.available span {
  color: #166534;
  background: rgba(34, 197, 94, 0.16);
}

body.light-theme .quick-order-product-status.unavailable span {
  color: #b91c1c;
  background: rgba(248, 113, 113, 0.16);
}

.quick-order-bottom-bar {
  align-items: center;
  backdrop-filter: blur(16px);
  background: rgba(15, 23, 42, 0.92);
  border-top: 1px solid var(--admin-panel-border);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding: 1.1rem 2rem;
  position: sticky;
  bottom: 0;
  z-index: 4;
}

body.light-theme .quick-order-bottom-bar {
  background: rgba(255, 255, 255, 0.95);
}

.quick-order-summary {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.quick-order-total {
  font-size: 1.55rem;
  font-weight: 700;
}

.quick-order-count {
  color: var(--admin-muted);
  font-size: 0.95rem;
}

.quick-order-validate {
  align-items: center;
  background: linear-gradient(135deg, #16a34a, #22c55e);
  border: none;
  border-radius: 1.2rem;
  color: #fff;
  display: inline-flex;
  font-size: 1.1rem;
  font-weight: 700;
  gap: 0.75rem;
  padding: 0.95rem 1.6rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.quick-order-validate:hover,
.quick-order-validate:focus-visible {
  box-shadow: 0 20px 40px rgba(34, 197, 94, 0.32);
  outline: none;
  transform: translateY(-1px);
}

.quick-order-selection {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgba(15, 23, 42, 0.5);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding: 2rem;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.2s ease;
  z-index: 999;
}

.quick-order-selection:not(.hidden) {
  opacity: 1;
  pointer-events: auto;
}

.quick-order-selection-card {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.75rem;
  box-shadow: 0 32px 80px rgba(15, 23, 42, 0.45);
  color: var(--text-color);
  max-width: 520px;
  opacity: 0;
  padding: 2rem;
  transform: translateY(20px);
  transition: transform 0.2s ease, opacity 0.2s ease;
  width: min(520px, 100%);
}

body.light-theme .quick-order-selection-card {
  background: #ffffff;
}

.quick-order-selection:not(.hidden) .quick-order-selection-card {
  opacity: 1;
  transform: translateY(0);
}

.quick-order-selection-header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.quick-order-selection-header h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}

.quick-order-selection-header p {
  color: var(--admin-muted);
  margin: 0.25rem 0 0;
}

.quick-order-close {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 999px;
  color: var(--text-color);
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.quick-order-close:hover,
.quick-order-close:focus-visible {
  background: rgba(248, 113, 113, 0.15);
  outline: none;
}

.quick-order-selection-body {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.quick-order-units {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.quick-order-unit {
  background: rgba(59, 130, 246, 0.18);
  border: none;
  border-radius: 0.9rem;
  color: #e0f2fe;
  cursor: pointer;
  font-weight: 700;
  padding: 0.6rem 0.9rem;
  text-transform: uppercase;
}

.quick-order-unit.is-active,
.quick-order-unit:hover,
.quick-order-unit:focus-visible {
  background: rgba(59, 130, 246, 0.35);
  outline: none;
}

body.light-theme .quick-order-unit {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
}

.quick-order-quick-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.quick-order-quick {
  background: rgba(15, 23, 42, 0.25);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.85rem;
  color: var(--text-color);
  font-weight: 600;
  padding: 0.55rem 0.85rem;
}

body.light-theme .quick-order-quick {
  background: rgba(15, 23, 42, 0.06);
}

.quick-order-quantity {
  align-items: center;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: 1fr auto;
}

.quick-order-quantity label {
  color: var(--admin-muted);
  font-weight: 600;
  grid-column: 1 / -1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.quick-order-quantity input {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 1rem;
  color: var(--text-color);
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.75rem 1.1rem;
}

body.light-theme .quick-order-quantity input {
  background: rgba(15, 23, 42, 0.05);
}

.quick-order-stepper {
  display: flex;
  gap: 0.4rem;
}

.quick-order-step {
  align-items: center;
  background: rgba(59, 130, 246, 0.25);
  border: none;
  border-radius: 0.75rem;
  color: #e0f2fe;
  cursor: pointer;
  display: inline-flex;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.quick-order-step:hover,
.quick-order-step:focus-visible {
  background: rgba(59, 130, 246, 0.4);
  outline: none;
}

.quick-order-notes {
  background: rgba(15, 23, 42, 0.35);
  border-radius: 1rem;
  color: var(--text-color);
  padding: 0.85rem 1rem;
}

body.light-theme .quick-order-notes {
  background: rgba(15, 23, 42, 0.06);
}

.quick-order-notes-empty {
  color: var(--admin-muted);
  margin: 0;
}

.quick-order-note {
  margin: 0;
}

.quick-order-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  flex-wrap: wrap;
}

.quick-order-remark,
.quick-order-add {
  align-items: center;
  border-radius: 1rem;
  display: inline-flex;
  font-weight: 700;
  gap: 0.6rem;
  padding: 0.85rem 1.2rem;
}

.quick-order-remark {
  background: rgba(148, 163, 184, 0.18);
  border: none;
  color: var(--text-color);
}

.quick-order-remark:hover,
.quick-order-remark:focus-visible {
  background: rgba(148, 163, 184, 0.28);
  outline: none;
}

.quick-order-add {
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  border: none;
  color: #f8fafc;
}

.quick-order-add:hover,
.quick-order-add:focus-visible {
  box-shadow: 0 18px 38px rgba(37, 99, 235, 0.35);
  outline: none;
}

.quick-order-remark-modal {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.2s ease;
  z-index: 1000;
}

.quick-order-remark-modal:not(.hidden) {
  opacity: 1;
  pointer-events: auto;
}

.quick-order-remark-panel {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.5rem;
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 520px;
  padding: 1.5rem;
  width: min(520px, 100%);
}

body.light-theme .quick-order-remark-panel {
  background: #ffffff;
}

.quick-order-remark-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.quick-order-remark-header h3 {
  margin: 0;
  font-size: 1.35rem;
}

.quick-order-remark-close {
  background: transparent;
  border: none;
  color: var(--text-color);
  font-size: 1.2rem;
}

.quick-order-remark-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.quick-order-remark-field textarea {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 1rem;
  color: var(--text-color);
  padding: 0.8rem 1rem;
  resize: vertical;
}

body.light-theme .quick-order-remark-field textarea {
  background: rgba(15, 23, 42, 0.05);
}

.quick-order-preparations {
  border: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.quick-order-prep-option {
  align-items: center;
  background: rgba(148, 163, 184, 0.14);
  border-radius: 0.85rem;
  display: flex;
  gap: 0.65rem;
  padding: 0.6rem 0.85rem;
}

.quick-order-prep-option input {
  accent-color: #2563eb;
}

.quick-order-remark-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.quick-order-remark-cancel,
.quick-order-remark-validate {
  border-radius: 0.9rem;
  font-weight: 700;
  padding: 0.7rem 1.2rem;
}

.quick-order-remark-cancel {
  background: rgba(148, 163, 184, 0.18);
  border: none;
  color: var(--text-color);
}

.quick-order-remark-validate {
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  border: none;
  color: #f8fafc;
}

.quick-order-submit-modal {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.2s ease;
  z-index: 1000;
}

.quick-order-submit-modal:not(.hidden) {
  opacity: 1;
  pointer-events: auto;
}

.quick-order-submit-panel {
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.5rem;
  color: var(--text-color);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 520px;
  padding: 1.6rem;
  width: min(520px, 100%);
}

body.light-theme .quick-order-submit-panel {
  background: #ffffff;
}

.quick-order-submit-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.quick-order-submit-header h3 {
  margin: 0;
  font-size: 1.35rem;
}

.quick-order-submit-intro {
  align-items: center;
  background: color-mix(in srgb, var(--accent-color) 18%, var(--admin-panel-bg));
  border-radius: 1.1rem;
  color: var(--text-color);
  display: flex;
  font-size: 1.05rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.02em;
  margin: 0 auto;
  padding: 0.9rem 1.2rem;
  text-align: center;
  width: 100%;
}

body.light-theme .quick-order-submit-intro {
  background: color-mix(in srgb, var(--accent-color) 14%, #ffffff);
  color: #0f172a;
}

.quick-order-submit-close {
  background: transparent;
  border: none;
  color: var(--text-color);
  font-size: 1.2rem;
}

.quick-order-submit-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.quick-order-submit-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-weight: 600;
}

.quick-order-client-field {
  position: relative;
}

.quick-order-client-typeahead {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.quick-order-client-typeahead input {
  flex: 1;
}

.quick-order-client-clear {
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 0.9rem;
  background: transparent;
  color: var(--text-color);
  font-size: 0.85rem;
  padding: 0.55rem 0.9rem;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.quick-order-client-clear:hover,
.quick-order-client-clear:focus-visible {
  outline: none;
  border-color: var(--accent-color);
  color: var(--accent-color);
  background: color-mix(in srgb, var(--accent-color) 12%, transparent);
}

.quick-order-client-suggestions {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 0.25rem);
  list-style: none;
  margin: 0;
  padding: 0.35rem 0;
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.9rem;
  background: var(--admin-panel-bg);
  box-shadow: var(--admin-card-shadow);
  max-height: 220px;
  overflow-y: auto;
  z-index: 10;
}

.quick-order-client-suggestions[hidden] {
  display: none;
}

.quick-order-client-suggestion {
  padding: 0.55rem 0.9rem;
  cursor: pointer;
  font-weight: 500;
}

.quick-order-client-suggestion:hover,
.quick-order-client-suggestion:focus-visible {
  background: color-mix(in srgb, var(--accent-color) 12%, var(--admin-panel-bg));
  outline: none;
}

.quick-order-client-selected {
  font-size: 0.85rem;
  color: var(--admin-muted);
  margin: 0;
}

.quick-order-submit-field input,
.quick-order-submit-field select,
.quick-order-submit-field textarea {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 1rem;
  color: var(--text-color);
  padding: 0.8rem 1rem;
}

body.light-theme .quick-order-submit-field input,
body.light-theme .quick-order-submit-field select,
body.light-theme .quick-order-submit-field textarea {
  background: rgba(15, 23, 42, 0.05);
}

.quick-order-submit-field textarea {
  resize: vertical;
}

.quick-order-submit-summary {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.1rem;
  background: color-mix(in srgb, var(--accent-color) 6%, var(--admin-panel-bg));
  padding: 1rem 1.25rem;
}

body.light-theme .quick-order-submit-summary {
  background: color-mix(in srgb, var(--accent-color) 4%, var(--admin-panel-bg));
}

.quick-order-submit-overview {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  font-weight: 600;
  color: var(--text-color);
}

.quick-order-submit-overview span {
  font-size: 0.85rem;
  color: var(--admin-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.quick-order-submit-overview strong {
  font-size: 1.1rem;
}

.quick-order-submit-lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.quick-order-submit-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.quick-order-submit-line-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.quick-order-submit-line-info strong {
  font-size: 0.95rem;
}

.quick-order-submit-line-info .muted {
  color: var(--admin-muted);
  font-size: 0.8rem;
}

.quick-order-submit-line-total {
  font-weight: 600;
  font-size: 0.95rem;
}

.quick-order-submit-empty {
  margin: 0;
  font-size: 0.85rem;
  color: var(--admin-muted);
}

.quick-order-submit-summary.is-empty {
  border-style: dashed;
}

.quick-order-submit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.quick-order-submit-cancel,
.quick-order-submit-confirm {
  border-radius: 0.9rem;
  font-weight: 700;
  padding: 0.7rem 1.2rem;
}

.quick-order-submit-cancel {
  background: rgba(148, 163, 184, 0.18);
  border: none;
  color: var(--text-color);
}

.quick-order-submit-confirm {
  align-items: center;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  border: none;
  color: #f8fafc;
  display: inline-flex;
  gap: 0.5rem;
}

.quick-order-submit-confirm.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.quick-order-submit-confirm.is-loading i {
  animation: quick-order-spin 1s linear infinite;
}

@keyframes quick-order-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.quick-order-cart-bubble {
  align-items: center;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  border: none;
  border-radius: 999px;
  bottom: 6rem;
  box-shadow: 0 18px 36px rgba(37, 99, 235, 0.35);
  color: #fff;
  display: none;
  gap: 0.5rem;
  padding: 0.75rem 1.2rem;
  position: fixed;
  right: 2rem;
  z-index: 1001;
}

.quick-order-cart-count {
  font-weight: 700;
}

body.quick-order-mobile-mode .quick-order-cart-bubble.is-active {
  display: inline-flex;
}

body.quick-order-mobile-mode .quick-order-shell {
  border-radius: 0;
  min-height: 100vh;
}

body.quick-order-mobile-mode .quick-order-top-bar,
body.quick-order-mobile-mode .quick-order-bottom-bar {
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}

body.quick-order-mobile-mode .quick-order-search-input {
  font-size: 1.35rem;
  padding: 1.1rem 1.4rem;
}

body.quick-order-mobile-mode .quick-order-results {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}

body.quick-order-mobile-mode .quick-order-product {
  font-size: 1.1rem;
  padding: 1.2rem 1.4rem;
}

body.quick-order-mobile-mode .quick-order-selection-card,
body.quick-order-mobile-mode .quick-order-remark-panel {
  border-radius: 1.1rem;
  padding: 1.35rem;
}

body.quick-order-mobile-mode .quick-order-selection-header h2 {
  font-size: 1.35rem;
}

body.quick-order-mobile-mode .quick-order-quantity input {
  font-size: 1.8rem;
}

body.quick-order-mobile-mode .quick-order-validate {
  font-size: 1.2rem;
  padding: 1rem 1.6rem;
}

body.quick-order-mobile-mode .topbar,
body.quick-order-mobile-mode nav.sidebar {
  display: none !important;
}

@media (max-width: 768px) {
  .quick-order-results {
    grid-template-columns: 1fr;
  }

  .quick-order-top-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .quick-order-clear {
    justify-content: center;
  }
}

/* ===== Gestion des utilisateurs ===== */
.user-mgmt-card {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 1.75rem;
  color: var(--text-color);
  mix-blend-mode: normal;
}

.user-mgmt-card :where(h2, h3, p, label, th, td) {
  color: inherit;
  mix-blend-mode: normal;
}

body.light-theme .user-mgmt-card {
  color: #0f172a;
}

.user-mgmt-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.user-mgmt-header h2 {
  margin: 0;
  font-size: 1.9rem;
}

.user-mgmt-header p {
  margin: 0.25rem 0 0;
  color: var(--admin-muted);
}

.user-mgmt-form {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  align-items: end;
}

.user-mgmt-form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-weight: 600;
}

.user-mgmt-list-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.user-mgmt-list-header h3 {
  margin: 0;
}

.user-mgmt-table {
  border-radius: 1rem;
  overflow: hidden;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  color: var(--text-color);
  box-shadow: 0 18px 42px rgba(2, 6, 23, 0.35);
  mix-blend-mode: normal;
}

.user-mgmt-table th:last-child,
.user-mgmt-table td:last-child {
  width: 1%;
  white-space: nowrap;
}

.user-mgmt-table th,
.user-mgmt-table td {
  vertical-align: middle;
}

.user-mgmt-table thead th {
  background: rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid var(--admin-panel-border);
  font-weight: 600;
  color: var(--text-color);
}

.user-mgmt-table tbody tr {
  transition: background 0.2s ease;
}

.user-mgmt-table tbody tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.03);
}

.user-mgmt-table tbody tr:hover {
  background: rgba(15, 157, 255, 0.12);
}

body.light-theme .user-mgmt-table {
  background: #ffffff;
  border-color: rgba(15, 23, 42, 0.12);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
  color: var(--text-color);
  mix-blend-mode: normal;
}

body.light-theme .user-mgmt-table thead th {
  background: rgba(37, 99, 235, 0.12);
  border-bottom-color: rgba(15, 23, 42, 0.12);
  color: var(--text-color);
}

body.light-theme .user-mgmt-table tbody tr:nth-of-type(odd) {
  background: rgba(15, 23, 42, 0.04);
}

body.light-theme .user-mgmt-table tbody tr:hover {
  background: rgba(37, 99, 235, 0.12);
}

.user-mgmt-table .text-muted {
  color: rgba(226, 232, 240, 0.78) !important;
}

body.light-theme .user-mgmt-table .text-muted {
  color: rgba(15, 23, 42, 0.65) !important;
}

.user-mgmt-name {
  font-weight: 600;
}

.user-mgmt-table .form-select {
  min-width: 140px;
}

.user-mgmt-table .user-status-toggle {
  min-width: 96px;
}

@media (max-width: 768px) {
  .user-mgmt-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .user-mgmt-form {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media (max-width: 991.98px) {
  .admin-commandes__header-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .admin-commandes__header-actions > .btn {
    width: 100%;
  }

  .admin-commandes__view-switch {
    width: 100%;
  }

  .admin-commandes__view-switch .btn {
    flex: 1 1 auto;
    min-width: 0;
  }

  .user-mgmt-card {
    padding: 1.5rem 1.25rem;
  }

  .user-mgmt-header {
    align-items: stretch;
  }

  .user-mgmt-header .quick-primary-btn {
    width: 100%;
    justify-content: center;
    font-size: 1rem;
    padding: 0.75rem 1.1rem;
  }
}

@media (max-width: 767.98px) {
  .admin-table__actions {
    flex-wrap: wrap;
  }

  .admin-table__actions .btn {
    flex: 1 1 140px;
    min-width: 0;
  }

  .admin-table--produits {
    min-width: 640px;
  }

  .user-mgmt-card {
    padding: 1.25rem 1rem;
  }

  .user-mgmt-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .admin-commandes__actions,
  .admin-synthese__actions,
  .admin-commandes__view-switch {
    flex-direction: column;
  }

  .admin-commandes__actions .btn,
  .admin-synthese__actions .btn,
  .admin-commandes__view-switch .btn {
    width: 100%;
  }

  .admin-table__actions .btn {
    flex-basis: 100%;
  }

  .user-mgmt-card {
    padding: 1rem;
  }

  .user-mgmt-existing-form .row > [class*='col-'] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .user-mgmt-existing-form .d-grid {
    display: flex !important;
  }

  .user-mgmt-existing-form .d-grid .btn {
    width: 100%;
  }

.user-mgmt-table th,
.user-mgmt-table td {
  white-space: nowrap;
}
}

.admin-price-cell {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.admin-price-cell .badge {
  font-size: 0.75rem;
}

.admin-display-unit-select select {
  min-width: 7rem;
}

.admin-weight-popover-dialog {
  border: none;
  padding: 0;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.admin-weight-popover__form {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.admin-weight-popover__title {
  font-size: 1rem;
  margin: 0;
}

.admin-weight-popover__help {
  margin: 0;
  font-size: 0.875rem;
  color: var(--bs-body-color, #212529);
}

.admin-weight-popover__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}


@media (min-width: 768px) {
  .admin-commandes__details.is-visible {
    display: grid;
    grid-template-columns: minmax(200px, 220px) 1fr;
    column-gap: 1.5rem;
    align-items: start;
  }

  .admin-commandes__details-heading,
  .admin-commandes__details-actions,
  .admin-commandes__details-meta {
    grid-column: 1 / -1;
  }

  .admin-commandes__details-nav {
    flex-direction: column;
    gap: 0.65rem;
    align-self: flex-start;
  }

  .admin-commandes__details-panels {
    grid-column: 2;
  }
}

@media (max-width: 575.98px) {
  .admin-commandes__produit-summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-commandes__produit-quantity {
    align-items: flex-start;
  }

  .admin-commandes__produit-actions {
    align-self: stretch;
  }
}

/* ===== Gestion des Commandes (nouvelle vue) ===== */

.orders__workspace {
  --orders-panel-space: clamp(320px, 32vw, 420px);
  --orders-sticky-top: clamp(72px, 9vh, 96px);
  --orders-max-width: min(1180px, 100vw - clamp(1rem, 6vw, 3rem));
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  width: min(100%, var(--orders-max-width));
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.75rem);
  box-sizing: border-box;
}

.orders {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  color: var(--text-color);
}

body.orders-panel-open {
  overflow: hidden;
}

.orders__toolbar {
  position: sticky;
  top: var(--orders-sticky-top);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: var(--admin-card-shadow);
  backdrop-filter: blur(10px);
}

.orders__title {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.orders__filters {
  position: sticky;
  top: calc(var(--orders-sticky-top) + 112px);
  z-index: 2;
  padding: 1rem 1.25rem;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: var(--admin-card-shadow);
  backdrop-filter: blur(10px);
}

.filters__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.filters__active-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.filters__active-list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.filters__active-placeholder {
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.orders__table--spaced {
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.orders__table-grid {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.85rem;
  table-layout: auto;
}

.orders__col--order {
  width: 20%;
}

.orders__col--location {
  width: 18%;
}

.orders__col--pickup {
  width: 24%;
}

.orders__col--client {
  width: 19%;
}

.orders__col--contact {
  width: 19%;
}

.orders__table-grid thead th {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--admin-muted);
  font-weight: 700;
  padding: 0 1.25rem 0.75rem;
  border: none;
}

.orders__tbody {
  outline: none;
}

.orders__row {
  background: color-mix(in srgb, var(--admin-panel-bg) 94%, transparent);
  border: 1px solid color-mix(in srgb, var(--admin-panel-border) 85%, transparent);
  border-radius: 1.2rem;
  box-shadow: var(--admin-card-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border-inline-start-width: 6px;
  border-inline-start-style: solid;
  border-inline-start-color: transparent;
  --orders-location-color: transparent;
}

.orders__row:focus-visible,
.orders__row:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--accent-color) 35%, var(--admin-panel-border));
  box-shadow: var(--admin-card-shadow-hover, 0 20px 45px rgba(15, 23, 42, 0.18));
  outline: none;
}

.orders__row--has-location {
  border-inline-start-color: color-mix(in srgb, var(--orders-location-color, transparent) 80%, transparent);
}

.orders__row--has-location:focus-visible,
.orders__row--has-location:hover {
  border-inline-start-color: color-mix(in srgb, var(--orders-location-color, transparent) 95%, transparent);
}

.orders__row::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--orders-location-color, transparent) 35%, transparent) 0%,
    color-mix(in srgb, var(--orders-location-color, transparent) 12%, transparent) 26%,
    transparent 65%
  );
  opacity: 0.15;
}

.orders__row td {
  padding: 1.15rem 1.25rem;
  border: none;
  vertical-align: middle;
  background: transparent;
  position: relative;
  z-index: 1;
}

.orders__row td:first-child {
  border-top-left-radius: 1.2rem;
  border-bottom-left-radius: 1.2rem;
}

.orders__row td:last-child {
  border-top-right-radius: 1.2rem;
  border-bottom-right-radius: 1.2rem;
}

.orders__cell-primary {
  font-weight: 600;
  font-size: 1rem;
  color: var(--text-color);
}

.orders__cell-sub {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.2rem;
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.orders__cell-order {
  min-width: 190px;
}

.orders__cell-client {
  min-width: 220px;
}

.orders__cell-pickup {
  min-width: 200px;
}

.orders__cell-location {
  min-width: 190px;
}

.orders__cell-contact {
  min-width: 210px;
  word-break: break-word;
}

.orders__order-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.orders__status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  white-space: nowrap;
  align-self: flex-start;
}

.orders__location-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--orders-location-color, rgba(148, 163, 184, 0.45)) 16%, var(--admin-panel-bg));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--orders-location-color, rgba(148, 163, 184, 0.45)) 45%, transparent);
  font-weight: 600;
  color: var(--text-color);
}

.orders__location-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 999px;
  background: var(--orders-location-color, var(--accent-color));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--admin-panel-bg) 80%, transparent);
}

.filters__active-chip {
  align-items: center;
  background: color-mix(in srgb, var(--admin-chip-bg) 85%, transparent);
  border: 1px solid color-mix(in srgb, var(--admin-panel-border) 75%, transparent);
  border-radius: 999px;
  color: var(--text-color);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.85rem;
  font-weight: 600;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  transition: background 0.24s ease, border-color 0.24s ease, color 0.24s ease, transform 0.24s ease;
}

.filters__active-chip:hover,
.filters__active-chip:focus-visible {
  background: color-mix(in srgb, var(--accent-color) 18%, var(--admin-panel-bg));
  border-color: var(--accent-color);
  color: var(--accent-color);
  outline: none;
  transform: translateY(-1px);
}

.filters__active-label {
  line-height: 1.2;
}

.filters__active-remove {
  font-size: 1rem;
  line-height: 1;
}

.filters__group {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.chip {
  border: 1px solid var(--admin-chip-border);
  background: var(--admin-chip-bg);
  color: var(--text-color);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  transition: background 0.24s ease, border-color 0.24s ease, color 0.24s ease;
}

.chip:hover,
.chip:focus-visible {
  border-color: var(--accent-color);
  color: var(--accent-color);
  background: color-mix(in srgb, var(--accent-color) 18%, var(--admin-panel-bg));
  outline: none;
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--accent-color) 28%, transparent);
}

.chip.is-active {
  color: var(--accent-color);
  border-color: var(--accent-color);
  background: color-mix(in srgb, var(--accent-color) 22%, var(--admin-panel-bg));
}

.filters__search input[type="search"] {
  min-width: 260px;
  background: var(--admin-chip-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
  padding: 0.55rem 0.9rem;
  color: var(--text-color);
  transition: border-color 0.24s ease, box-shadow 0.24s ease;
}

.filters__search input[type="search"]:focus-visible {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--accent-color) 35%, transparent);
}

.filters__menu {
  position: fixed;
  top: 0;
  left: 0;
  min-width: 220px;
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.95rem;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
  margin-top: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 8;
}

.filters__menu.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.filters__menu-inner {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-height: 320px;
  overflow-y: auto;
  padding: 0.35rem;
  scrollbar-width: thin;
}

.filters__menu-option {
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0.75rem;
  color: var(--text-color);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.55rem 0.8rem;
  text-align: left;
  transition: background 0.2s ease, color 0.2s ease;
}

.filters__menu-option:hover,
.filters__menu-option:focus-visible {
  background: color-mix(in srgb, var(--accent-color) 18%, var(--admin-panel-bg));
  color: var(--accent-color);
  outline: none;
}

.filters__menu-option.is-active {
  background: color-mix(in srgb, var(--accent-color) 26%, var(--admin-panel-bg));
  color: var(--accent-color);
}

.filters__menu-empty {
  padding: 0.85rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--admin-muted);
  text-align: center;
}


.filters__view {
  display: inline-flex;
  gap: 0.5rem;
}

.btn-toggle {
  border: 1px solid var(--admin-panel-border);
  background: var(--admin-chip-bg);
  color: var(--text-color);
  padding: 0.4rem 0.8rem;
  border-radius: 0.75rem;
  font-weight: 600;
  transition: background 0.24s ease, color 0.24s ease, border-color 0.24s ease;
}

.btn-toggle:hover,
.btn-toggle:focus-visible {
  outline: none;
  border-color: var(--accent-color);
  color: var(--accent-color);
  background: color-mix(in srgb, var(--accent-color) 18%, var(--admin-panel-bg));
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--accent-color) 28%, transparent);
}

.pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.25rem;
}

.pager__info {
  font-size: 0.9rem;
  color: var(--admin-muted);
}

.pager__nav {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.pager__page {
  font-weight: 600;
}

.orders__scrim {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease;
  z-index: 1400;
}

.orders--panel-overlay .orders__scrim {
  display: block;
}

.orders__scrim.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.orders__panel {
  align-self: start;
  position: absolute;
  top: calc(var(--orders-sticky-top) + 8px);
  right: 0;
  width: min(var(--orders-panel-space, 520px), 100%);
  max-height: calc(100vh - var(--orders-sticky-top) - 24px);
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: var(--admin-card-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(calc(100% + 24px), 0, 0);
  transition: transform 0.24s ease, opacity 0.24s ease;
  z-index: 1500;
}

.orders__panel[hidden] {
  display: block;
  visibility: hidden;
}

.orders__panel.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.orders__panel .panel__body {
  overflow-y: auto;
}

.orders--panel-overlay .orders__panel {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: min(var(--orders-panel-space, 520px), 100%);
  max-height: none;
  transform: translateX(100%);
  opacity: 1;
  pointer-events: auto;
  z-index: 1500;
}

.orders--panel-overlay .orders__panel.is-open {
  transform: translateX(0);
}

.orders--panel-overlay .orders__panel[hidden] {
  display: none;
}
.orders__summary {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1.5rem, 3vw, 3rem);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease;
  z-index: 140;
}

.orders__summary.is-open {
  opacity: 1;
  pointer-events: auto;
}

.orders__summary-panel {
  width: min(720px, calc(100vw - 4rem));
  max-height: calc(100vh - 4rem);
  background: var(--admin-panel-bg);
  border: 1px solid var(--admin-panel-border);
  border-radius: 1.25rem;
  box-shadow: var(--admin-card-shadow);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--text-color);
}

.orders__summary-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 1.75rem 1.25rem;
  border-bottom: 1px solid var(--admin-panel-border);
}

.orders__summary-heading h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
}

.orders__summary-heading .muted {
  margin-top: 0.35rem;
  font-size: 0.9rem;
  color: var(--admin-muted);
}

.orders__summary-body {
  padding: 1.5rem 1.75rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.orders__summary-section h4 {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
  font-weight: 600;
}

.orders__summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
}

.orders__summary-card {
  background: color-mix(in srgb, var(--accent-color) 10%, var(--admin-panel-bg));
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  padding: 1rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.orders__summary-card-label {
  margin: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--admin-muted);
}

.orders__summary-card-value {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 700;
}

.orders__summary-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: color-mix(in srgb, var(--admin-panel-bg) 94%, rgba(148, 163, 184, 0.06) 6%);
  border: 1px solid var(--admin-panel-border);
  border-radius: 0.85rem;
  overflow: hidden;
}

.orders__summary-table th,
.orders__summary-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.95rem;
}

.orders__summary-table th {
  background: color-mix(in srgb, var(--accent-color) 12%, var(--admin-panel-bg));
  color: var(--text-color);
  font-weight: 600;
}

.orders__summary-table tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--admin-panel-bg) 92%, rgba(148, 163, 184, 0.08) 8%);
}

.orders__summary-empty {
  margin: 0;
  padding: 1.25rem;
  text-align: center;
  color: var(--admin-muted);
  border: 1px dashed var(--admin-panel-border);
  border-radius: 0.85rem;
}

body.light-theme .orders__summary-card {
  background: color-mix(in srgb, var(--accent-color) 8%, var(--admin-panel-bg));
}

body.light-theme .orders__summary-table th {
  background: color-mix(in srgb, var(--accent-color) 15%, var(--admin-panel-bg));
}

@media (max-width: 720px) {
  .orders__summary-panel {
    width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
  }
  .orders__summary-body {
    padding: 1.25rem 1.5rem;
  }
}

.panel__header,
.panel__status,
.panel__summary,
.panel__items,
.panel__footer {
  padding: 1.25rem 1.5rem;
}

.panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--admin-panel-border);
}

.panel__header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.panel__header .muted {
  margin: 0.15rem 0 0;
  color: var(--admin-muted);
  font-size: 0.9rem;
}

.panel__header .btn.icon {
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.panel__status {
  border-bottom: 1px solid var(--admin-panel-border);
}

.status-toggle {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.85rem;
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--text-color) 12%, transparent);
  color: var(--text-color);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.badge.b-blue {
  color: var(--accent-color);
  background: color-mix(in srgb, var(--accent-color) 22%, var(--admin-panel-bg));
}

.badge.b-green {
  color: var(--badge-status-ready-bg);
  background: color-mix(in srgb, var(--badge-status-ready-bg) 22%, var(--admin-panel-bg));
}

.badge.b-orange {
  color: var(--badge-status-preparing-bg);
  background: color-mix(in srgb, var(--badge-status-preparing-bg) 22%, var(--admin-panel-bg));
}


.badge.b-yellow {
  color: rgb(var(--bs-warning-rgb));
  background: color-mix(in srgb, rgb(var(--bs-warning-rgb)) 24%, var(--admin-panel-bg));
}

.badge.b-red {
  color: var(--bs-danger);
  background: color-mix(in srgb, var(--bs-danger) 24%, var(--admin-panel-bg));
}

.badge.is-active {
  border-color: currentColor;
  color: var(--text-color);
  background: color-mix(in srgb, currentColor 38%, var(--admin-panel-bg));
}

.panel__summary dl {
  margin: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.panel__summary dt {
  margin: 0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--admin-muted);
}

.panel__summary dd {
  margin: 0.15rem 0 0;
  font-weight: 600;
}

.panel__items {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.panel__item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: color-mix(in srgb, var(--accent-color) 8%, var(--admin-panel-bg));
  border: 1px solid var(--admin-panel-border);
  border-radius: 1rem;
  padding: 1rem;
}

.panel__item-media {
  width: 64px;
  height: 64px;
  border-radius: 0.75rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--admin-panel-bg) 85%, rgba(148, 163, 184, 0.12) 15%);
}

.panel__item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.panel__item-body h4 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  font-weight: 600;
}

.panel__item-body .muted {
  margin: 0;
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.panel__item-meta {
  display: flex;
  gap: 0.75rem;
  color: var(--admin-muted);
  font-size: 0.85rem;
}

.panel__footer {
  border-top: 1px solid var(--admin-panel-border);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.panel__loader,
.panel__error {
  padding: 2rem 1.5rem;
  text-align: center;
  color: var(--admin-muted);
}

.panel__error .btn {
  margin-top: 0.75rem;
}

.orders[data-view='full'] .orders__cell-sub {
  font-size: 0.9rem;
}

@media (max-width: 900px) {
  .filters__search input[type="search"] {
    min-width: 200px;
    flex: 1 1 180px;
  }
  .orders__toolbar,
  .orders__filters {
    padding: 1rem;
  }
  .orders__table-grid {
    border-spacing: 0 0.65rem;
    table-layout: fixed;
  }
  .orders__col--order,
  .orders__col--location,
  .orders__col--pickup,
  .orders__col--client,
  .orders__col--contact {
    width: auto;
  }
  .orders__row td {
    padding: 1rem;
  }
}

@media (max-width: 640px) {
  .filters__row {
    flex-direction: column;
    align-items: stretch;
  }
  .filters__group,
  .filters__view,
  .pager__nav {
    width: 100%;
    justify-content: space-between;
  }
  .orders__toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .orders__actions {
    width: 100%;
  }
  .orders__actions .btn {
    width: 100%;
  }
  .icon-btn {
    width: 2.15rem;
    height: 2.15rem;
  }
}
