/* Interfaces du comptable et parcours de vente par conteneur. */
.accounting-admin-list-page .main-product,
.accounting-container-page .main-product,
.inventory-sales-page .main-product,
.accounting-cart-page .main-product,
.accounting-product-detail-page .main-product {
  align-items: flex-start;
  min-height: 680px;
}

.accounting-admin-list-page .find-box,
.accounting-container-page .find-box {
  width: min(1120px, calc(100% - 32px));
  max-width: 1120px;
  margin: 28px auto;
  padding: 0;
}

.accounting-admin-list-page .accounting-admin-panel,
.accounting-container-page .accounting-container-panel {
  padding: clamp(28px, 4vw, 48px);
}

.accounting-admin-list-page .accounting-admin-grid,
.accounting-container-page .accounting-container-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin-top: 24px;
}

.accounting-admin-list-page .accounting-admin-action,
.accounting-container-page .accounting-container-action,
.accounting-admin-list-page .accounting-admin-action .form-sh,
.accounting-container-page .accounting-container-action .form-sh {
  min-width: 0;
  margin: 0;
}

.accounting-admin-list-page .accounting-admin-action .btn,
.accounting-container-page .accounting-container-action .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 62px;
  padding: 12px 16px;
  border: 1px solid #d1dfeb;
  border-radius: 13px;
  background: #f4f8fb;
  color: #426582;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
  white-space: normal;
  box-shadow: 0 6px 16px rgba(15, 42, 73, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.accounting-admin-list-page .accounting-admin-primary .btn,
.accounting-container-page .accounting-container-primary .btn {
  border-color: #1688df;
  background: linear-gradient(135deg, #1688df, #075fa8);
  color: #fff;
}

.accounting-admin-list-page .accounting-admin-action .btn:hover,
.accounting-admin-list-page .accounting-admin-action .btn:focus,
.accounting-container-page .accounting-container-action .btn:hover,
.accounting-container-page .accounting-container-action .btn:focus {
  border-color: #147ac1;
  background: #147ac1;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 12px 25px rgba(20, 122, 193, 0.2);
  transform: translateY(-2px);
}

.accounting-admin-list-page .accounting-admin-logout,
.accounting-container-page .accounting-container-logout {
  grid-column: 1 / -1;
}

.accounting-admin-list-page .accounting-admin-logout .btn,
.accounting-container-page .accounting-container-logout .btn,
.inventory-sales-page .inventory-logout .btn,
.accounting-cart-page .accounting-cart-logout .btn {
  border-color: #efcaca;
  background: #fff6f6;
  color: #ad3038;
}

.accounting-page-eyebrow,
.inventory-page-eyebrow {
  margin: 0 0 8px;
  color: #ff6b00;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
}

/* Liste des articles vendus : tableau sur ordinateur et smartphone. */
.inventory-sales-page .find-box {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
  margin: 28px auto;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid #dbe5f0;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 48px rgba(15, 42, 73, 0.1);
}

.inventory-sales-page .find-box > h1 {
  margin: 0;
  color: #0d2d50;
  font-size: clamp(27px, 3.7vw, 44px);
  font-weight: 800;
  text-align: center;
}

.inventory-sales-page .inventory-top-actions,
.inventory-sales-page .inventory-bottom-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0;
}

.inventory-sales-page .inventory-bottom-actions {
  margin-bottom: 0;
}

.inventory-sales-page .inventory-top-actions .form-sh,
.inventory-sales-page .inventory-bottom-actions .form-sh {
  margin: 0;
}

.inventory-sales-page .inventory-top-actions .btn,
.inventory-sales-page .inventory-bottom-actions .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-height: 52px;
  border: 1px solid #cbddeb;
  border-radius: 12px;
  background: #eef5fa;
  color: #426582;
  font-size: 16px;
  font-weight: 800;
}

.inventory-sales-page .inventory-table {
  width: 100%;
  overflow: hidden;
  border: 1px solid #c7d6e3;
  border-radius: 14px;
}

.inventory-sales-page .inventory-row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(120px, 0.75fr);
  width: 100%;
  color: #173b5b;
  background: #fff;
}

.inventory-sales-page .inventory-row + .inventory-row {
  border-top: 1px solid #d8e3ec;
}

.inventory-sales-page .inventory-row > div {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 54px;
  padding: 10px;
  overflow-wrap: anywhere;
  text-align: center;
}

.inventory-sales-page .inventory-row > div:not(:last-child) {
  border-left: 1px solid #d8e3ec;
}

.inventory-sales-page .inventory-header {
  background: #3978aa;
  color: #fff;
  font-weight: 800;
}

.inventory-sales-page a.inventory-product-row:hover,
.inventory-sales-page a.inventory-product-row:focus {
  background: #eef7ff;
  color: #075fa8;
  text-decoration: none;
}

.inventory-sales-page .inventory-logout {
  grid-column: 1 / -1;
}

/* Statistiques du stock du comptable. */
.accounting-stock-page .accounting-year-filter {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.accounting-stock-page .stock-action .btn {
  gap: 9px;
}

/* Panier comptable : conserver les colonnes sur tous les écrans. */
.accounting-cart-page .accounting-cart-summary-grid {
  grid-template-columns: 1fr;
}

.accounting-cart-page .accounting-cart-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
}

.accounting-cart-page .accounting-cart-validation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}

.accounting-cart-page .accounting-cart-form {
  display: grid;
  align-content: start;
  gap: 11px;
  min-width: 0;
  padding: 18px;
  border: 1px solid #d7e3ed;
  border-radius: 16px;
  background: #f8fbfd;
}

.accounting-cart-page .accounting-cart-form h2 {
  margin: 0 0 4px;
  color: #173b5b;
  font-size: 21px;
  font-weight: 800;
  text-align: center;
}

.accounting-cart-page .accounting-cart-form .form-sh {
  margin: 0;
}

.accounting-cart-page .accounting-cart-form input,
.accounting-cart-page .accounting-cart-form select {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #c7d8e7;
  border-radius: 11px;
  background: #fff;
  color: #173b5b;
  font-size: 16px;
  text-align: center;
}

.accounting-cart-page .accounting-cart-form button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #1688df, #075fa8);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
}

.accounting-cart-page .accounting-cart-actions .btn {
  gap: 9px;
}

.accounting-cart-page .accounting-cart-logout {
  grid-column: 1 / -1;
}

.accounting-product-detail-page .accounting-product-actions .btn {
  gap: 9px;
}

@media (max-width: 767px) {
  .accounting-admin-list-page .find-box,
  .accounting-container-page .find-box,
  .inventory-sales-page .find-box {
    width: calc(100% - 12px);
    max-width: none;
    margin: 10px 6px;
    border-radius: 16px;
  }

  .accounting-admin-list-page .accounting-admin-panel,
  .accounting-container-page .accounting-container-panel {
    padding: 25px 8px;
  }

  .accounting-admin-list-page .accounting-admin-grid,
  .accounting-container-page .accounting-container-grid,
  .inventory-sales-page .inventory-top-actions,
  .inventory-sales-page .inventory-bottom-actions,
  .accounting-cart-page .accounting-cart-validation-grid {
    grid-template-columns: 1fr;
  }

  .accounting-admin-list-page .accounting-admin-logout,
  .accounting-container-page .accounting-container-logout,
  .inventory-sales-page .inventory-logout,
  .accounting-cart-page .accounting-cart-logout {
    grid-column: auto;
  }

  .inventory-sales-page .find-box {
    padding: 24px 7px;
  }

  .inventory-sales-page .inventory-row {
    grid-template-columns: minmax(0, 1.7fr) minmax(84px, 0.7fr);
    font-size: 13px;
  }

  .inventory-sales-page .inventory-row > div {
    min-height: 49px;
    padding: 7px 4px;
  }

  .accounting-stock-page .accounting-year-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accounting-cart-page .accounting-cart-validation-grid {
    gap: 12px;
  }

  .accounting-cart-page .accounting-cart-form {
    padding: 13px 8px;
  }

  .accounting-cart-page .accounting-cart-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .accounting-cart-page .admin-cart-row {
    grid-template-columns: minmax(110px, 1.65fr) minmax(48px, 0.68fr) minmax(70px, 0.9fr) minmax(72px, 0.95fr);
    min-width: 330px;
    font-size: 11px;
  }

  .accounting-cart-page .admin-cart-header {
    display: grid;
  }
}

@media (max-width: 380px) {
  .accounting-admin-list-page .accounting-admin-panel,
  .accounting-container-page .accounting-container-panel,
  .inventory-sales-page .find-box {
    padding-right: 5px;
    padding-left: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .accounting-admin-list-page .accounting-admin-action .btn,
  .accounting-container-page .accounting-container-action .btn {
    transition: none;
  }
}
