/* Estilos extra para as listas de itens da Quote */

/* Container base */
.table-modern {
  --row-even-bg: #f5f7fa;
  --row-odd-bg: #ffffff;
  --addon-bg: #fafafa;
  --addon-text: #6c757d;
  --row-hover-bg: #e8f0fe;
  --border-color: #e0e6ed;
  border-collapse: separate;
  border-spacing: 0;
}

.table-modern thead th {
  font-weight: 500;
  font-size: .70rem;
  text-transform: uppercase;
  letter-spacing: .05rem;
  background: #f1f3f6;
  border-bottom: 1px solid var(--border-color) !important;
  color: #5b626b;
}

/* Zebra para grupos (cada item em seu próprio tbody) */
.table-modern tbody.zc-item > tr,
.table-modern tbody.vpsa-item > tr,
.table-modern tbody.ngos-item > tr,
.table-modern tbody.zadd-item > tr {
  transition: background-color .15s ease;
}

.table-modern tbody.zc-item:nth-of-type(odd) > tr,
.table-modern tbody.vpsa-item:nth-of-type(odd) > tr,
.table-modern tbody.ngos-item:nth-of-type(odd) > tr,
.table-modern tbody.zadd-item:nth-of-type(odd) > tr {
  background: var(--row-odd-bg);
}
.table-modern tbody.zc-item:nth-of-type(even) > tr,
.table-modern tbody.vpsa-item:nth-of-type(even) > tr,
.table-modern tbody.ngos-item:nth-of-type(even) > tr,
.table-modern tbody.zadd-item:nth-of-type(even) > tr {
  background: var(--row-even-bg);
}

/* Hover */
.table-modern tbody.zc-item > tr:hover,
.table-modern tbody.vpsa-item > tr:hover,
.table-modern tbody.ngos-item > tr:hover,
.table-modern tbody.zadd-item > tr:hover {
  background: var(--row-hover-bg);
}

/* Addons / subitens */
.table-modern tbody.zc-addons tr,
.table-modern tbody.vpsa-sub tr,
.table-modern tbody.ngos-sub tr {
  background: var(--addon-bg) !important;
  color: var(--addon-text);
}
.table-modern tbody.zc-addons tr:hover,
.table-modern tbody.vpsa-sub tr:hover,
.table-modern tbody.ngos-sub tr:hover {
  background: #efefef !important;
}

.table-modern td, .table-modern th {
  vertical-align: middle;
  border-top: 0;
}

.table-modern td {
  border-bottom: 1px solid var(--border-color);
  font-size: .80rem;
}

.table-modern thead th:first-child,
.table-modern tbody td:first-child {
  padding-left: .5rem;
}

.table-modern tbody td.ps-3 {
  padding-left: 1rem !important;
}

/* Botões dentro de células */
.table-modern td .btn {
  line-height: 1;
}

/* Pills agregados (mantidos) */
.zc-agg-wrap { gap: .5rem .75rem; }
.zc-pill {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.30);
  color: #fff;
  font-weight: 600;
  font-size: .75rem;
  letter-spacing: .05rem;
}

/* Ajustes responsivos menores */
@media (max-width: 992px) {
  .table-modern td, .table-modern th { font-size: .72rem; }
  .zc-pill { font-size: .65rem; padding: 2px 8px; }
}