/*
 * Ghizzo BI — normalização exclusiva para desktop.
 * Mantém o mobile isolado em mobile.css e corrige largura, alinhamento,
 * grids e espaçamentos do shell com sidebar em telas acima de 800px.
 */

@media (min-width: 801px) {
  body.app-authenticated {
    min-width: 1024px;
  }

  /* ---------- Shell / sidebar ---------- */
  body.app-authenticated .topbar {
    width: calc(100% - 250px);
    margin-left: 250px;
    padding-inline: 28px;
  }

  body.sidebar-collapsed .topbar {
    width: calc(100% - 76px);
    margin-left: 76px;
  }

  body.app-authenticated main.app-main {
    width: calc(100% - 250px);
    min-width: 0;
    max-width: none;
    margin-left: 250px;
    margin-right: 0;
  }

  body.sidebar-collapsed main.app-main {
    width: calc(100% - 76px);
    margin-left: 76px;
  }

  body.app-authenticated main.app-main.page {
    padding: 28px clamp(24px, 2.2vw, 38px) 64px;
  }

  body.app-authenticated main.app-main.sql-page {
    padding: 0;
  }

  /* ---------- Cabeçalhos ---------- */
  .hero-row,
  .split-head,
  .fin-header,
  .billing-header,
  .demo-header,
  .monitoring-head {
    width: 100%;
    min-width: 0;
  }

  .hero-row,
  .split-head {
    margin-top: 0;
    margin-bottom: 22px;
  }

  .fin-header,
  .billing-header,
  .demo-header {
    margin-top: 0;
    margin-bottom: 16px;
  }

  .hero-row > div:first-child,
  .split-head > div:first-child,
  .fin-header > div:first-child,
  .billing-header > div:first-child,
  .demo-header > div:first-child,
  .monitoring-head > div:first-child {
    min-width: 0;
  }

  /* ---------- Componentes gerais ---------- */
  .panel-card,
  .fin-panel,
  .billing-panel,
  .dre-panel,
  .report-selector,
  .report-payables,
  .report-receipts,
  .bank-summary,
  .bank-card,
  .monitoring-panel {
    min-width: 0;
  }

  .panel-card.wide,
  .table-wrap,
  .fin-table-wrap,
  .billing-table-wrap,
  .report-table-wrap,
  .report-payables-list,
  .report-receipts-list,
  .dre-table-wrap,
  .result-table-wrap,
  .result-detail-wrap {
    width: 100%;
    min-width: 0;
  }

  /* ---------- Navegação interna ---------- */
  .fin-tabs,
  .demo-tabs,
  .settings-tabs,
  .dre-view-tabs {
    max-width: 100%;
  }

  .fin-tabs,
  .demo-tabs {
    flex-wrap: wrap;
  }

  .fin-tab,
  .demo-tab {
    min-width: 0;
  }

  /* ---------- Dashboard / módulos ---------- */
  .module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .module-card {
    min-width: 0;
  }

  /* ---------- Configurações / usuários ---------- */
  .admin-layout {
    grid-template-columns: minmax(290px, 340px) minmax(0, 1fr);
    align-items: start;
  }

  .roles-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    align-items: start;
  }

  .role-create-panel,
  .roles-list-panel,
  .permissions-panel {
    min-width: 0;
  }

  .settings-tabs {
    margin-top: -4px;
    margin-bottom: 18px;
  }

  /* ---------- Financeiro ---------- */
  .fin-filter-card,
  .fin-kpis,
  .fin-charts-grid,
  .fin-table-panel,
  .bank-grid,
  .report-selector,
  .report-payables,
  .report-receipts {
    width: 100%;
  }

  .fin-kpis,
  .billing-kpis,
  .dre-kpis,
  .monitor-stats {
    align-items: stretch;
  }

  .fin-kpi,
  .billing-kpi,
  .dre-kpis article,
  .monitor-stats article {
    min-width: 0;
  }

  .fin-charts-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  }

  .fin-daily-chart,
  .fin-supplier-chart {
    min-width: 0;
  }

  .bank-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bank-card {
    height: 100%;
  }

  .report-selector {
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  }

  /* ---------- Faturamento ---------- */
  .billing-filter-card,
  .billing-kpis,
  .billing-panel {
    width: 100%;
    min-width: 0;
  }

  .billing-chart {
    min-width: 0;
  }

  /* ---------- DRE ---------- */
  .dre-result-filter-panel,
  .dre-kpis,
  .dre-result-grid,
  .dre-monthly-panel,
  .dre-detail-panel,
  .dre-summary {
    width: 100%;
    min-width: 0;
  }

  .dre-result-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  }

  .dre-statement,
  .dre-category-bars {
    min-width: 0;
  }

  /* ---------- Monitoria ---------- */
  .monitoring-page {
    width: 100%;
    min-width: 0;
  }

  .monitoring-panel {
    overflow: hidden;
  }

  /* ---------- SQL ---------- */
  .sql-workbench,
  .sql-workspace,
  .sql-explorer,
  .sql-result-wrap {
    min-width: 0;
  }

  .sql-workbench {
    width: 100%;
    height: calc(100vh - 74px);
  }
}

@media (min-width: 801px) and (max-width: 1180px) {
  .module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-layout,
  .roles-layout {
    grid-template-columns: 1fr;
  }

  .fin-charts-grid,
  .dre-result-grid {
    grid-template-columns: 1fr;
  }
}
