/* Responsive tweaks */

@media (max-width: 800px) {
  .app-shell {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  /* Sidebar as a slide-in drawer */
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 260px;
    height: 100vh;
    z-index: 40;
    background: var(--bg-sidebar);
    border-right: 1px solid var(--border-subtle);
    padding: 18px 16px;
    display: flex;
    flex-direction: column !important;   /* force vertical layout */
    align-items: stretch !important;
    gap: 8px;
    transform: translateX(-100%);
    transition: transform 0.2s ease-out;
  }

  body.sidebar-open .sidebar {
    transform: translateX(0);
  }

  /* Show the mobile toggle in header on small screens */
  .mobile-menu-toggle {
    display: inline-flex;
  }

  /* Make sure main content isn't squished */
  .main {
    padding: 12px;
  }

  .filters-row {
    flex-direction: column;
    gap: 8px;
  }

  .table-container {
    margin-top: 8px;
  }

  .entity-list {
    flex-direction: column;
    flex: 1;
    overflow-x: auto;
  }

  .entity-item {
    white-space: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;  
    padding: 6px 10px;      /* was 8px 12px */
    gap: 6px;               /* a bit tighter between icon + text */
    font-size: 0.8rem;
    line-height: 1.1; 
    border-radius:25px; 
  }

  .reset-btn {
    flex-shrink: 0;
  }

  .modal-body {
    grid-template-columns: 1fr;
  }

  .entity-item span.icon {
    font-size: 0.9rem;      /* slightly smaller icon */
  }

  .entity-item span.label-main {
    font-size: 0.8rem;
  }

  .entity-item span.label-sub {
    font-size: 0.7rem;
  }

  .entity-item .label-main,
  .entity-item .label-sub {
    white-space: normal;    /* allow wrapping */
    display: block;
    text-align: left;
  }

}


