/* Элементы управления таблицами (квоты мобов и магазин дня). */
.quota-controls { display: flex; gap: 24px; margin: 24px 0; flex-wrap: wrap; }
.quota-controls label { display: grid; gap: 7px; font-weight: 700; font-size: 14px; }
.quota-controls input, .quota-controls select {
  font: inherit; padding: 12px 14px; border: 1px solid var(--line); border-radius: 5px;
  background: var(--card-warm); color: var(--ink); min-width: 230px;
}
.quota-controls input:focus-visible, .quota-controls select:focus-visible { outline: 3px solid #789356; outline-offset: 2px; }

.table-hint { display: none; font-size: 12px; color: var(--muted); text-align: right; margin: -12px 0 8px; }
@media (max-width: 700px) { .table-hint { display: block; } }

.quota-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 6px; max-height: 70vh; }
.quota-table { width: 100%; border-collapse: collapse; min-width: 610px; background: var(--card-warm); }
.quota-table caption { text-align: left; padding: 16px; font-weight: 700; }
.quota-table th, .quota-table td { padding: 13px 16px; text-align: right; border-top: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.quota-table th:first-child { text-align: left; }
.quota-table thead th { position: sticky; top: 0; z-index: 1; background: var(--code-bg); border-top: 0; }
.quota-table tbody th { font-weight: 700; }
.quota-table small { display: block; font-size: 11px; font-weight: 400; color: var(--muted); margin-top: 3px; }
.quota-empty { color: #8b391f; font-weight: 800; }

.quota-bar { display: inline-block; width: 64px; height: 8px; border-radius: 4px; background: var(--code-bg); overflow: hidden; vertical-align: middle; margin-right: 10px; }
.quota-bar span { display: block; height: 100%; background: #789356; border-radius: 4px; }
.quota-bar.low span { background: #c96f3f; }

@media (max-width: 700px) {
  .quota-controls { display: grid; gap: 16px; }
  .quota-controls input, .quota-controls select { width: 100%; min-width: 0; }
  .quota-table th, .quota-table td { padding: 11px 12px; }
}

.shop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.shop-table { min-width: 320px; }
.shop-table th, .shop-table td { padding: 12px; }
.shop-table tbody th { max-width: 260px; }
@media (max-width: 900px) { .shop-grid { grid-template-columns: 1fr; } }
