/* ============================================================
   mobile_menu.css — Hamburguer + sidebar mobile — VenturaFlow
   ============================================================ */

/* Botão hamburguer — círculo sem borda, igual aos outros ícones */
.vf-menu-toggle {
  display: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  flex-shrink: 0;
  margin-right: 2px;
  color: rgba(255,255,255,.7);
}
.vf-menu-toggle:hover { background: rgba(255,255,255,.1); color: #fff; }
.vf-menu-toggle svg { display: block; }

/* Overlay */
.vf-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 1050;
}
.vf-sidebar-overlay.active { display: block; }

/* Mobile */
@media (max-width: 900px) {

  .vf-menu-toggle { display: flex; }

  .pv-sidebar,
  .fin2-sidebar,
  .com-sidebar,
  .pe-sidebar,
  .adm-sidebar,
  .est-sidebar,
  .fat-sidebar {
    position: fixed !important;
    top: 0; left: 0;
    height: 100vh !important;
    width: 240px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1060;
    transform: translateX(-100%);
    transition: transform .25s ease;
  }

  .pv-sidebar.open,
  .fin2-sidebar.open,
  .com-sidebar.open,
  .pe-sidebar.open,
  .adm-sidebar.open,
  .est-sidebar.open,
  .fat-sidebar.open {
    transform: translateX(0);
  }

  .pv-main, .fin2-main, .com-main,
  .pe-main, .adm-main, .est-main, .fat-main {
    padding: 16px !important;
  }

  .pv-layout, .fin2-layout, .com-layout,
  .pe-layout, .adm-layout, .est-layout {
    display: block !important;
  }

  /* Abas de relatório */
  .rv-report-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 12px !important;
  }
  .rv-report-tabs::-webkit-scrollbar { display: none; }
  .rv-report-tab {
    padding: 10px 14px !important;
    font-size: 12px !important;
    white-space: nowrap;
  }

  /* Filtros em coluna */
  .rv-filters {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 14px !important;
    gap: 10px !important;
  }
  .rv-fld { width: 100% !important; }
  .rv-fld input, .rv-fld select { width: 100% !important; box-sizing: border-box; }

  /* KPIs scroll */
  .rv-kpis {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
  }
  .rv-kpi { min-width: 130px !important; flex-shrink: 0 !important; }
}

@media (max-width: 600px) {
  .pv-grid { grid-template-columns: 1fr !important; }
  .rv-box { overflow-x: auto !important; }
}
