.billiard-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.75rem;
  align-items: end;
}

.billiard-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}

.billiard-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 1rem;
}

.billiard-mini-list {
  display: grid;
  gap: 0.65rem;
}

.billiard-mini-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--border);
  font-size: 0.875rem;
}

.billiard-mini-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.billiard-select-sm {
  min-width: 8.5rem;
  max-width: 12rem;
  padding: 0.35rem 0.55rem;
  font-size: 0.8125rem;
}

.billiard-report-grid,
.billiard-calendar-grid,
.billiard-table-map {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1rem;
}

.billiard-table-tile {
  display: grid;
  gap: 0.45rem;
  padding: 0.9rem;
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  background: var(--card);
}

.billiard-table-tile strong {
  font-size: 1rem;
}

.billiard-table-tile.rtb-state-active {
  border-color: color-mix(in srgb, var(--success) 45%, var(--border));
}

.billiard-table-tile.rtb-state-paused {
  border-color: color-mix(in srgb, var(--warning) 45%, var(--border));
}

.billiard-table-tile.rtb-state-idle {
  border-color: var(--border);
}

.billiard-receipt {
  font-family: Modam, sans-serif;
  display: grid;
  gap: 0.7rem;
}

.billiard-receipt-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px dashed var(--border);
  padding-bottom: 0.45rem;
}

.billiard-print-area {
  background: var(--card);
}

@media print {
  body > *:not(.print-clone) {
    display: none !important;
  }

  .print-clone {
    display: block !important;
    direction: rtl;
    padding: 2rem;
    color: #111827;
    background: #fff;
  }
}

@media (max-width: 640px) {
  .billiard-actions {
    display: flex;
    flex-wrap: wrap;
  }

  .billiard-select-sm {
    min-width: 100%;
    max-width: 100%;
  }
}
