/**
 * Panel pages — mobile layouts for tables, cards, and dashboard grids.
 * Loaded after navbar.css from app/core/layout/page.php (CSS only).
 */

/* ---- Dashboard home (/dashboard) ---- */
@media (max-width: 63.99em) {
  .dashboard-subgrid {
    --dashboard-base-height: auto;
    gap: 1rem;
  }

  .dashboard-stack {
    min-height: 0;
  }

  .dashboard-stack--2 .dashboard-stack-item,
  .dashboard-stack--3 .dashboard-stack-item {
    min-height: 0;
    flex: 0 1 auto;
  }

  .dashboard-stack--2 .dashboard-stack-item .dashboard-card,
  .dashboard-stack--3 .dashboard-stack-item .dashboard-card {
    height: auto;
    min-height: 0;
  }

  .dashboard-stack--2 .dashboard-stack-item .dashboard-activity {
    min-height: 0;
  }

  .dashboard-card {
    padding: 1rem;
  }

  .dashboard-card--compact {
    padding: 0.875rem;
  }

  .dashboard-card--featured .dashboard-stats-row {
    gap: 0.75rem;
  }

  .dashboard-announcements {
    max-height: none;
  }

  .dashboard-activity {
    max-height: 14rem;
  }

  .dashboard-chart-wrap {
    min-height: 150px;
  }

  .dashboard-discord-image {
    height: 84px;
  }

  .dashboard-discord-body {
    padding: 0.875rem 1rem;
  }

  .dashboard-heatmap-wrap--compact {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    align-items: stretch;
    padding-bottom: 0.25rem;
  }

  .dashboard-card--heatmap-compact {
    min-width: 0;
    overflow: hidden;
  }

  .dashboard-quicklinks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
  }

  .dashboard-quicklink {
    padding: 0.55rem 0.5rem;
    min-height: 44px;
  }

  .dashboard-quicklink-label {
    white-space: normal;
    font-size: 0.75rem;
    line-height: 1.2;
  }

  .dashboard-card--status .dashboard-status-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.75rem;
  }

  .dashboard-activity-time {
    margin-left: 0;
    width: 100%;
    flex-basis: 100%;
  }

  .dashboard-announcement-trigger {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .dashboard-announcement-time {
    align-self: flex-start;
  }

  .dashboard-card-header {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}

@media (max-width: 30em) {
  .dashboard-container {
    padding-inline: 0.75rem;
  }

  .dashboard-stat-value {
    font-size: 1.125rem;
  }

  .dashboard-quicklinks {
    grid-template-columns: 1fr;
  }

  .dashboard-card--status .dashboard-status-list {
    grid-template-columns: 1fr;
  }
}

/* ---- Licenses, Users, Reseller, Top-up, Files (tables & sidebars) ---- */
@media (max-width: 48em) {
  .licenses-body,
  .licenses-main .dashboard-map-body,
  .reseller-panel-main .dashboard-map-body,
  .reseller-topup-main .dashboard-map-body,
  .files-main .dashboard-map-body {
    padding: 1rem;
  }

  .licenses-card .licenses-body {
    padding: 0.6rem 0.75rem 0.75rem;
  }

  .licenses-card-header,
  .licenses-card-header.dashboard-map-header,
  .reseller-list-card .dashboard-map-header,
  .reseller-topup-codes-card .dashboard-map-header {
    flex-wrap: wrap;
    padding: 0.65rem 1rem;
    gap: 0.5rem;
  }

  .licenses-page-title,
  .licenses-card-header .licenses-page-title {
    white-space: normal;
    flex-wrap: wrap;
    font-size: 1rem;
  }

  .licenses-subacc-inline,
  .licenses-card-header .licenses-subacc-inline {
    width: 100%;
    margin-left: 0 !important;
    justify-content: space-between;
  }

  .licenses-subacc-select,
  .licenses-card-header .licenses-subacc-select {
    max-width: none;
    flex: 1;
    min-width: 0;
  }

  .licenses-filters,
  .reseller-topup-filters {
    flex-direction: column;
    align-items: stretch;
  }

  .licenses-search-wrap,
  .reseller-topup-filters .licenses-search-wrap {
    min-width: 0;
    width: 100%;
  }

  .licenses-filter-row {
    flex-wrap: wrap;
    width: 100%;
    gap: 0.5rem;
  }

  .licenses-filter-row .licenses-select {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 0;
  }

  .licenses-filter-row .licenses-filter-btn,
  .licenses-filter-row .licenses-ban-search-wrap,
  .licenses-filter-row .create-button,
  .licenses-filter-row .licenses-col-toggle-wrap {
    flex: 1 1 auto;
  }

  .licenses-main .licenses-table-wrap,
  .licenses-sidebar .license-activity-table-wrap,
  .reseller-panel-main .licenses-table-wrap,
  .reseller-topup-main .licenses-table-wrap,
  .files-main .licenses-table-wrap {
    margin-left: -1rem;
    margin-right: -1rem;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }

  .license-activity-table,
  .files-table {
    min-width: 640px;
    font-size: 0.75rem;
  }

  .licenses-main .licenses-table {
    min-width: 0;
    font-size: 0.8125rem;
  }

  .files-table {
    min-width: 720px;
  }

  .licenses-table th,
  .licenses-table td,
  .license-activity-table th,
  .license-activity-table td {
    padding: 0.5rem 0.65rem;
  }

  .licenses-key-text {
    max-width: 110px;
  }

  .licenses-table .licenses-action-menu-trigger {
    min-height: 44px;
    min-width: 44px;
    padding: 0.5rem;
  }

  .licenses-grid {
    gap: 0.65rem;
  }

  .licenses-sidebar {
    order: 2;
  }

  .licenses-main {
    order: 1;
  }

  .licenses-activity-item {
    align-items: flex-start;
    padding: 0.65rem 0.5rem;
  }

  .licenses-activity-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem 0.35rem;
  }

  .licenses-activity-key {
    word-break: break-all;
  }

  .license-activity-details {
    max-width: none;
  }

  .licenses-activity-card .dashboard-map-header {
    padding: 0.65rem 1rem;
  }

  /* Reseller panel */
  .reseller-create-body,
  .reseller-topup-create-body {
    padding: 1rem;
  }

  .reseller-form-grid {
    grid-template-columns: 1fr;
  }

  .reseller-role-input-row {
    flex-wrap: wrap;
  }

  .reseller-role-input-row .reseller-role-compare-trigger {
    width: 100%;
  }

  /* Reseller top-up */
  .reseller-topup-form-grid {
    grid-template-columns: 1fr;
  }

  .reseller-topup-field--amount,
  .reseller-topup-field--note {
    grid-column: span 1;
  }

  .reseller-topup-create-btn {
    width: 100%;
    justify-content: center;
  }

  .reseller-topup-balance-meta {
    grid-template-columns: 1fr;
  }

  /* Files */
  .files-list-card .dashboard-map-header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .files-filter-combined {
    margin: 0;
    max-width: none;
    width: 100%;
    flex-wrap: wrap;
    height: auto;
    min-height: 2.25rem;
    border-radius: 0.5rem;
    padding: 0.25rem;
  }

  .files-filter-search-wrap {
    min-width: 0;
    flex: 1 1 100%;
  }

  .files-filter-divider {
    display: none;
  }

  .files-filter-select {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 0;
    border-radius: 0.375rem !important;
  }

  .files-list-header-right {
    width: 100%;
    justify-content: flex-start;
  }

  .files-stepper-steps {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  .files-stepper-separator {
    display: none;
  }

  .files-stepper-step {
    width: 100%;
  }

  .files-add-card-header {
    padding: 1rem;
  }

  .files-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
  }

  .files-actions .licenses-quick-pill {
    flex: 1 1 auto;
    min-height: 40px;
    justify-content: center;
  }

}

@media (max-width: 30em) {
  .licenses-top-bar {
    padding: 0.75rem 1rem;
  }

  .licenses-filter-row .licenses-select,
  .licenses-filter-row .licenses-filter-btn,
  .licenses-filter-row .licenses-ban-search-wrap,
  .licenses-filter-row .create-button,
  .licenses-filter-row .licenses-col-toggle-wrap {
    flex: 1 1 100%;
    width: 100%;
  }

  .licenses-card .licenses-stat-pill {
    flex: 1 1 calc(50% - 0.25rem);
    justify-content: center;
  }

  .licenses-card .licenses-quick-pill {
    flex: 1 1 calc(50% - 0.25rem);
    justify-content: center;
    min-height: 2.125rem;
  }

  .reseller-topup-balance-meta {
    grid-template-columns: 1fr;
  }

  .dashboard-map-title {
    font-size: 1.0625rem;
    flex-wrap: wrap;
  }
}
