.legend { gap: 6px; }
.space-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.space-filter:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(15,23,42,.12); }
.space-filter.active { color: #fff; border-color: transparent; box-shadow: 0 5px 16px rgba(15,23,42,.18); }
.space-filter.all.active { background: #334155; }
.space-filter.free.active { background: #16a34a; }
.space-filter.occupied.active { background: #dc2626; }
.space-filter.reserved.active { background: #d89b00; }
.space-filter.maintenance.active { background: #64748b; }
.space-filter.subscriber.active { background: #2563eb; }
.filter-count { min-width: 20px; padding: 2px 5px; border-radius: 999px; background: rgba(15,23,42,.09); text-align: center; }
.space-filter.active .filter-count { background: rgba(255,255,255,.23); }
.space-card.status-hidden { display: none !important; }
.space-card .space-plate { display: block; margin-top: 5px; font-size: 17px; font-weight: 950; letter-spacing: .7px; }
.space-card.occupied .space-plate { padding: 4px 6px; border-radius: 7px; background: #b91c1c; color: #fff; font-size: 20px; text-shadow: 0 1px 2px rgba(0,0,0,.3); box-shadow: 0 4px 10px rgba(185,28,28,.25); }
.space-card.reserved .space-plate,.space-card.subscriber .space-plate { font-size: 18px; text-decoration: underline; text-underline-offset: 3px; }
.plate-uppercase{text-transform:uppercase;font-weight:800;letter-spacing:.6px}
.space-card.search-match .space-plate { font-size: 22px !important; background: #111827; color: #fff; }
@media (max-width: 760px) { .section-head .legend { justify-content: flex-start; } .space-filter { padding: 6px 8px; } }
