/* ========================================================================== 
   ESPELHO PIMS V16.4.0 — SIDEBAR EQUILIBRADA EM 100VH

   Corrige a disputa entre as camadas visuais históricas da barra lateral.
   Escopo exclusivo: sidebar desktop aberta. A largura, cores, menus, dados,
   semáforo e comportamento do modo recolhido/mobile permanecem inalterados.
   ========================================================================== */

@media (min-width:901px){
  body:not(.sidebar-collapsed) #appView #sidebarPrincipal{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
    padding:clamp(5px,.72vh,8px) 10px!important;
    gap:clamp(3px,.42vh,5px)!important;
    overflow:hidden!important;
    scrollbar-width:none!important;
    overscroll-behavior:none!important;
  }

  body:not(.sidebar-collapsed) #appView #sidebarPrincipal::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }

  /* Marca: conserva a identidade sem consumir a área operacional. */
  body:not(.sidebar-collapsed) #sidebarPrincipal .brand{
    flex:0 0 clamp(54px,6.75vh,70px)!important;
    height:clamp(54px,6.75vh,70px)!important;
    min-height:clamp(54px,6.75vh,70px)!important;
    max-height:clamp(54px,6.75vh,70px)!important;
    margin:0!important;
    padding:clamp(5px,.65vh,8px) 12px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .brand-logo{
    flex:0 0 clamp(42px,5vh,52px)!important;
    width:clamp(42px,5vh,52px)!important;
    height:clamp(42px,5vh,52px)!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-toggle{
    top:clamp(7px,1vh,11px)!important;
    right:14px!important;
    width:clamp(42px,4.55vh,47px)!important;
    height:clamp(42px,4.55vh,47px)!important;
  }

  /* Menus: uma escala única por altura, sem rolagem e sem cortes. */
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu{
    flex:0 0 auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:clamp(31px,4.28vh,44px)!important;
    gap:0!important;
    overflow:hidden!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item,
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item.active{
    width:100%!important;
    height:clamp(31px,4.28vh,44px)!important;
    min-height:clamp(31px,4.28vh,44px)!important;
    max-height:clamp(31px,4.28vh,44px)!important;
    margin:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    box-sizing:border-box!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item.active{
    width:calc(100% - 12px)!important;
    margin-left:6px!important;
    margin-right:6px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-icon{
    height:clamp(27px,3.4vh,35px)!important;
    min-height:clamp(27px,3.4vh,35px)!important;
  }

  /* Status PIMS: mantém todas as informações, em densidade proporcional. */
  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard.pims-status-moagem-p19{
    flex:0 0 clamp(88px,10.85vh,112px)!important;
    height:clamp(88px,10.85vh,112px)!important;
    min-height:clamp(88px,10.85vh,112px)!important;
    max-height:clamp(88px,10.85vh,112px)!important;
    margin:0!important;
    padding:clamp(5px,.68vh,7px)!important;
    gap:3px!important;
    overflow:hidden!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-head{
    flex:0 0 16px!important;
    height:16px!important;
    min-height:16px!important;
    max-height:16px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-lines-p19{
    flex:0 0 11px!important;
    height:11px!important;
    min-height:11px!important;
    max-height:11px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-moagem-card-p19{
    min-height:0!important;
    padding:4px 6px!important;
    gap:5px!important;
    grid-template-columns:27px minmax(64px,.76fr) minmax(0,1.24fr)!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-moagem-icon-p19{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .sidebar-refresh-btn{
    flex:0 0 24px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    margin:0!important;
    padding:0 9px!important;
    font-size:9px!important;
  }

  /* Semáforo recebe exatamente o espaço restante e o reparte em seis linhas. */
  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:clamp(146px,18.5vh,191px)!important;
    max-height:none!important;
    margin:0!important;
    padding:clamp(5px,.68vh,7px)!important;
    gap:3px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-head{
    flex:0 0 clamp(20px,2.25vh,23px)!important;
    height:clamp(20px,2.25vh,23px)!important;
    min-height:clamp(20px,2.25vh,23px)!important;
    max-height:clamp(20px,2.25vh,23px)!important;
    margin:0!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-grid{
    flex:1 1 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:repeat(6,minmax(0,1fr))!important;
    align-content:stretch!important;
    gap:clamp(2px,.42vh,5px)!important;
    overflow:hidden!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-card{
    align-self:stretch!important;
    flex:1 1 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:12px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-card b{
    width:clamp(20px,2.55vh,27px)!important;
    min-width:clamp(20px,2.55vh,27px)!important;
    height:clamp(20px,2.55vh,27px)!important;
  }

  /* Rodapé sempre visível: identidade, Storage e Sair fecham dentro do 100vh. */
  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user{
    flex:0 0 clamp(62px,7.55vh,78px)!important;
    height:clamp(62px,7.55vh,78px)!important;
    min-height:clamp(62px,7.55vh,78px)!important;
    max-height:clamp(62px,7.55vh,78px)!important;
    margin:0!important;
    padding:5px 7px!important;
    gap:3px 7px!important;
    grid-template-rows:minmax(30px,1fr) 23px!important;
    position:relative!important;
    bottom:auto!important;
    overflow:hidden!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user-avatar{
    width:34px!important;
    height:34px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #localStorageMeter{
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:4px 7px!important;
    border-radius:11px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #btnSair{
    height:23px!important;
    min-height:23px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:9px!important;
  }
}

/* Alturas muito reduzidas: mantém acesso integral sem criar scroll interno. */
@media (min-width:901px) and (max-height:700px){
  body:not(.sidebar-collapsed) #appView #sidebarPrincipal{
    padding-top:4px!important;
    padding-bottom:4px!important;
    gap:2px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .brand{
    flex-basis:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .brand-logo{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu{
    grid-auto-rows:clamp(23px,3.9vh,27px)!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item,
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item.active{
    height:clamp(23px,3.9vh,27px)!important;
    min-height:clamp(23px,3.9vh,27px)!important;
    max-height:clamp(23px,3.9vh,27px)!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-icon{
    height:23px!important;
    min-height:23px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard.pims-status-moagem-p19{
    flex-basis:72px!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    padding:4px!important;
    gap:2px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-lines-p19,
  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-moagem-info-p19{
    display:none!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-moagem-card-p19{
    grid-template-columns:24px minmax(0,1fr)!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .sidebar-refresh-btn{
    flex-basis:20px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo{
    min-height:136px!important;
    padding:4px!important;
    gap:2px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-head{
    flex-basis:18px!important;
    height:18px!important;
    min-height:18px!important;
    max-height:18px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-grid{gap:2px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-card span{font-size:10px!important;}

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user{
    flex-basis:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    grid-template-rows:25px 18px!important;
    padding:3px 6px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user-avatar{width:27px!important;height:27px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #localStorageMeter{height:25px!important;min-height:25px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #btnSair{height:18px!important;min-height:18px!important;}
}

/* Janela desktop extremamente baixa (ex.: monitor dividido na horizontal). */
@media (min-width:901px) and (max-height:560px){
  body:not(.sidebar-collapsed) #sidebarPrincipal .brand{
    flex-basis:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .brand-logo{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-toggle{
    top:4px!important;
    width:34px!important;
    height:34px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu{grid-auto-rows:clamp(18px,3.7vh,21px)!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item,
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item.active{
    height:clamp(18px,3.7vh,21px)!important;
    min-height:clamp(18px,3.7vh,21px)!important;
    max-height:clamp(18px,3.7vh,21px)!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-icon{
    width:31px!important;
    min-width:31px!important;
    height:18px!important;
    min-height:18px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-label{font-size:11px!important;}

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard.pims-status-moagem-p19{
    flex-basis:58px!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-moagem-card-p19{display:none!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo{min-height:108px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-head{display:none!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo .semaforo-sidebar-card b{width:17px!important;min-width:17px!important;height:17px!important;}

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user{
    flex-basis:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    grid-template-rows:20px 16px!important;
  }

  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user-avatar{width:22px!important;height:22px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #localStorageMeter{height:20px!important;min-height:20px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #btnSair{height:16px!important;min-height:16px!important;}
}

@media (min-width:901px) and (max-height:460px){
  body:not(.sidebar-collapsed) #sidebarPrincipal .brand{
    flex-basis:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;
  }
  body:not(.sidebar-collapsed) #sidebarPrincipal .brand-logo{
    flex-basis:28px!important;width:28px!important;height:28px!important;
  }
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu{grid-auto-rows:16px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item,
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-item.active{
    height:16px!important;min-height:16px!important;max-height:16px!important;
  }
  body:not(.sidebar-collapsed) #sidebarPrincipal .side-menu .menu-label{font-size:10px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard.pims-status-moagem-p19{
    flex-basis:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;
  }
  body:not(.sidebar-collapsed) #sidebarPrincipal #statusPimsCard .status-lines-p19{display:none!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #sidebarSemaforo{min-height:92px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user{
    flex-basis:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;
    grid-template-rows:17px 14px!important;
  }
  body:not(.sidebar-collapsed) #sidebarPrincipal .sidebar-user-copy span,
  body:not(.sidebar-collapsed) #sidebarPrincipal #localStorageMeter span{display:none!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #localStorageMeter{height:17px!important;min-height:17px!important;}
  body:not(.sidebar-collapsed) #sidebarPrincipal #btnSair{height:14px!important;min-height:14px!important;}
}
