/**
 * BI — Ajustes mínimos indispensáveis (estrutura e lógica).
 * Aparência visual: Tabler nativo. Não usar este arquivo para design system custom.
 */

/* ========== Estados de visibilidade (usados por app.js e index.php) ========== */
.panel { display: none; }
.panel.active { display: block; }
.hidden { display: none !important; }

/* ========== Overlays de loading/erro (posicionamento; aparência pode ser alert nativo) ========== */
#loading,
#error {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  margin: 0;
}

/* ========== Estrutura: tabela com scroll horizontal em telas pequenas ========== */
.content-wrapper .table-responsive .table {
  margin-bottom: 0;
  min-width: 500px;
}

/* ========== Login (Tabler page-center) ========== */
.page-center .container-tight {
  max-width: 28rem;
}

/* ========== Safe area (notch / dispositivos com insets) ========== */
@supports (padding: env(safe-area-inset-top)) {
  .page .navbar:not(.navbar-vertical) {
    padding-left: max(0.5rem, env(safe-area-inset-left));
  }
  .footer {
    padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
  }
  .page .navbar-vertical {
    padding-left: env(safe-area-inset-left);
  }
}

/* ========== Responsividade: toque e legibilidade em mobile ========== */
@media (max-width: 576px) {
  .form-control,
  .form-control-sm {
    min-height: 44px;
    font-size: 16px;
  }
  .table .btn-sm {
    min-height: 40px;
  }
  .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
}

/* ========== Formula CRM — altura dos containers de gráficos (Chart.js) ========== */
.formula-chart-container { position: relative; height: 260px; }
.formula-chart-container-lg { position: relative; height: 300px; }
