/* ==========================================================
   FATURA FÁCIL — LAYOUT GLOBAL BASEADO EM NOTAS FISCAIS
   Aplica somente estrutura visual/recuo/sidebar.
   Não remove, move ou oculta conteúdo funcional das páginas.
   ========================================================== */
:root{
  --ff-side-open:205px;
  --ff-side-closed:60px;
  --ff-content-gap:32px;
  --ff-page-bg:#f3f7fb;
  --ff-side-bg:#102a43;
  --ff-side-active:#176b91;
  --ff-side-sub:#0d2238;
  --ff-text:#10213b;
  --ff-border:#dbe5ef;
}
html,body{margin:0!important;padding:0!important;min-height:100%!important;}
body{
  padding-left:var(--ff-side-open)!important;
  background:var(--ff-page-bg)!important;
  color:var(--ff-text)!important;
  overflow-x:hidden!important;
  transition:padding-left .18s ease!important;
}
*,*::before,*::after{box-sizing:border-box;}

/* SIDEBAR — aceita todos os nomes encontrados no projeto */
.ff-sidebar,.side,.sidebar,#sidebar,.side-menu,.menu-lateral,aside.sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:var(--ff-side-open)!important;
  min-width:var(--ff-side-open)!important;
  max-width:var(--ff-side-open)!important;
  height:100vh!important;
  margin:0!important;
  padding:12px 10px!important;
  background:var(--ff-side-bg)!important;
  color:#f5f8fb!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  z-index:10000!important;
  transition:width .18s ease,min-width .18s ease,max-width .18s ease!important;
}
.ff-sidebar .ff-brand,.side .ff-brand,.sidebar .ff-brand,
.ff-sidebar h4,.side h4{
  color:#fff!important;
  margin:6px 6px 14px!important;
  padding:8px 2px 14px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.ff-sidebar a,.side a,.sidebar a,
.ff-sidebar .ff-menu-toggle,.side .ff-menu-toggle,.sidebar .ff-menu-toggle{
  color:#eaf2f9!important;
  text-decoration:none!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
}
.ff-nav-link,.ff-menu-toggle{
  width:100%!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:7px 9px!important;
  margin:1px 0!important;
  font-size:12px!important;
  line-height:18px!important;
  background:transparent!important;
  border:0!important;
  text-align:left!important;
}
.ff-nav-link:hover,.ff-menu-toggle:hover{background:rgba(40,119,160,.20)!important;}
.ff-nav-link.active,.ff-menu-toggle.active,.ff-submenu a.active{
  background:#176b91!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #53d7e8!important;
}
.ff-menu-group{margin:1px 0!important;}
.ff-submenu{background:rgba(6,24,42,.35)!important;border-radius:7px!important;padding:2px 0!important;margin:0!important;}
.ff-submenu a{display:flex!important;align-items:center!important;gap:8px!important;padding:6px 10px 6px 21px!important;margin:1px 0!important;font-size:11.5px!important;line-height:17px!important;}
.ff-separator{border:0!important;border-top:1px solid rgba(255,255,255,.12)!important;margin:10px 0!important;}

/* BOTÃO HAMBÚRGUER */
#ffGlobalSidebarToggle,#ffSidebarCollapse,.ff-sidebar-toggle-collapse{
  width:40px!important;height:40px!important;min-width:40px!important;
  margin:0 0 4px 0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;border-radius:7px!important;
  background:transparent!important;color:#fff!important;
  font-size:22px!important;line-height:1!important;cursor:pointer!important;
}
#ffGlobalSidebarToggle:hover,#ffSidebarCollapse:hover,.ff-sidebar-toggle-collapse:hover{background:rgba(255,255,255,.08)!important;}

/* CONTEÚDO — mesmo recuo da Notas Fiscais */
body > .container-fluid,
body > .shell,
body > main.main,
body > .main,
body > .page-wrapper,
body > .content-wrapper{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.container-fluid{padding-left:0!important;padding-right:0!important;}
.container-fluid > .row{margin:0!important;width:100%!important;display:block!important;}
.container-fluid > .row > main,
.shell > main,
body > main.main,
body > .main,
.main-content,.content-wrapper,.page-content,.app-content,.ship-main,.main-wrap{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  flex:none!important;
  padding-left:var(--ff-content-gap)!important;
  padding-right:var(--ff-content-gap)!important;
  background:var(--ff-page-bg)!important;
}
.container-fluid > .row > main,
.shell > main,
body > main.main{padding-top:24px!important;padding-bottom:28px!important;}

/* remove offsets do Bootstrap que causavam páginas diferentes */
.container-fluid > .row > main.ms-sm-auto,
.container-fluid > .row > main[class*="col-md-"],
.ship-main[class*="col-md-"]{
  margin-left:0!important;
  width:100%!important;
  max-width:none!important;
}

/* cartões/áreas — mesmas cores-base, sem apagar estilos internos */
.card,.panel,.box,.content-card,.nf-card,.table-card{
  border-color:var(--ff-border)!important;
}

/* RECOLHIDO */
body.ff-sidebar-collapsed{padding-left:var(--ff-side-closed)!important;}
body.ff-sidebar-collapsed .ff-sidebar,
body.ff-sidebar-collapsed .side,
body.ff-sidebar-collapsed .sidebar,
body.ff-sidebar-collapsed #sidebar,
body.ff-sidebar-collapsed .side-menu,
body.ff-sidebar-collapsed .menu-lateral{
  width:var(--ff-side-closed)!important;
  min-width:var(--ff-side-closed)!important;
  max-width:var(--ff-side-closed)!important;
  padding-left:7px!important;padding-right:7px!important;
}
body.ff-sidebar-collapsed .ff-sidebar .ff-brand,
body.ff-sidebar-collapsed .side .ff-brand,
body.ff-sidebar-collapsed .sidebar .ff-brand{
  font-size:0!important;text-align:center!important;padding-left:0!important;padding-right:0!important;
}
body.ff-sidebar-collapsed .ff-sidebar .ff-brand::first-letter,
body.ff-sidebar-collapsed .side .ff-brand::first-letter{font-size:18px!important;}
body.ff-sidebar-collapsed .ff-sidebar span:not(.badge):not(.icon),
body.ff-sidebar-collapsed .side span:not(.badge):not(.icon),
body.ff-sidebar-collapsed .sidebar span:not(.badge):not(.icon){
  max-width:0!important;width:0!important;overflow:hidden!important;white-space:nowrap!important;display:inline-block!important;
}
body.ff-sidebar-collapsed .ff-sidebar .ff-submenu,
body.ff-sidebar-collapsed .side .ff-submenu,
body.ff-sidebar-collapsed .sidebar .ff-submenu{display:none!important;}
body.ff-sidebar-collapsed .ff-nav-link,
body.ff-sidebar-collapsed .ff-menu-toggle{
  width:44px!important;min-width:44px!important;height:38px!important;
  margin:1px auto!important;padding:0!important;justify-content:center!important;gap:0!important;
  font-size:17px!important;overflow:hidden!important;
}
body.ff-sidebar-collapsed .ff-menu-arrow{display:none!important;}

@media(max-width:900px){
  :root{--ff-content-gap:18px;}
}

/* ===== SUBMENU PEDIDOS - CONTROLE GLOBAL V3 ===== */
.ff-menu-group .ff-submenu{display:none!important;}
.ff-menu-group.open .ff-submenu{display:block!important;}
.ff-menu-toggle{justify-content:space-between!important;cursor:pointer!important;}
.ff-menu-toggle > span:first-child{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;}
.ff-menu-arrow{margin-left:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;font-size:18px!important;line-height:1!important;transition:transform .16s ease!important;transform:rotate(0deg)!important;}
.ff-menu-group.open .ff-menu-arrow{transform:rotate(90deg)!important;}
body.ff-sidebar-collapsed .ff-menu-group .ff-submenu{display:none!important;}
body.ff-sidebar-collapsed .ff-menu-arrow{display:none!important;}

/* ===== SIDEBAR COMPACTA — ALVO VISUAL 2026-09-04 V4 =====
   Ajusta somente o espaçamento vertical da barra lateral.
   Preserva todos os itens e mantém rolagem por mouse/touch quando necessária,
   mas não exibe a barra cinza de rolagem. */
.ff-sidebar,
.side,
.sidebar,
#sidebar,
.side-menu,
.menu-lateral,
aside.sidebar{
  padding-top:9px!important;
  padding-bottom:9px!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ff-sidebar::-webkit-scrollbar,
.side::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
#sidebar::-webkit-scrollbar,
.side-menu::-webkit-scrollbar,
.menu-lateral::-webkit-scrollbar,
aside.sidebar::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

.ff-sidebar .ff-brand,
.side .ff-brand,
.sidebar .ff-brand{
  margin:2px 6px 7px!important;
  padding:5px 2px 9px!important;
  font-size:17px!important;
  line-height:20px!important;
}

/* itens principais: ligeiramente mais compactos, sem reduzir a leitura */
.ff-sidebar .ff-nav-link,
.ff-sidebar .ff-menu-toggle,
.side .ff-nav-link,
.side .ff-menu-toggle,
.sidebar .ff-nav-link,
.sidebar .ff-menu-toggle{
  height:31px!important;
  min-height:31px!important;
  max-height:31px!important;
  padding:5px 9px!important;
  margin:1px 0!important;
  line-height:17px!important;
}

/* submenu Pedidos no mesmo ritmo visual do gabarito */
.ff-sidebar .ff-submenu{
  padding:2px 0 3px 14px!important;
  margin:0!important;
}
.ff-sidebar .ff-submenu a{
  height:29px!important;
  min-height:29px!important;
  max-height:29px!important;
  padding:4px 8px!important;
  margin:0!important;
  line-height:16px!important;
}

.ff-sidebar .ff-separator,
.side .ff-separator,
.sidebar .ff-separator{
  margin:6px 2px!important;
}

#ffGlobalSidebarToggle,
#ffSidebarCollapse,
.ff-sidebar-toggle-collapse{
  width:38px!important;
  height:36px!important;
  min-width:38px!important;
  margin:0 0 2px 0!important;
}

/* recolhida: mantém ícones centralizados e também sem scrollbar aparente */
body.ff-sidebar-collapsed .ff-sidebar,
body.ff-sidebar-collapsed .side,
body.ff-sidebar-collapsed .sidebar{
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
