/* TEM TOP SHELL FLOATING MENU CSS V1 20260815 */

.shell.tem-top-shell-layout{
  display:block!important;
  min-height:100vh!important;
  background:#f4f7fb;
}

.shell.tem-top-shell-layout
> .sidebar.tem-legacy-sidebar{
  display:none!important;
}

.shell.tem-top-shell-layout
+ .sidebar-overlay,
.tem-legacy-sidebar-overlay{
  display:none!important;
}

.tem-top-shell-layout > .main{
  width:100%;
  min-width:0;
}

.tem-top-shell{
  position:sticky;
  top:0;
  z-index:50;
  overflow:visible;
  background:#0a1b31;
  box-shadow:0 5px 22px rgba(8,24,45,.16);
}

.tem-top-global{
  min-height:62px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 22px;
  overflow:visible;
  color:#fff;
  background:#0a1b31;
}

.tem-top-brand.brand{
  min-width:178px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0!important;
  margin:0;
}

.tem-top-brand .brand-logo{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:11px;
  background:linear-gradient(
    135deg,
    #28a2ff,
    #1677ff
  );
  color:#fff;
  font-weight:900;
}

.tem-top-brand .brand-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.tem-top-brand .brand-copy{
  min-width:0;
}

.tem-top-brand .brand-name{
  display:block;
  max-width:130px;
  overflow:hidden;
  color:#fff;
  font-size:15px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tem-top-brand .brand-subtitle{
  display:block;
  max-width:130px;
  margin-top:1px;
  overflow:hidden;
  color:#83a9d2;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tem-top-nav{
  position:relative;
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  overflow:visible;
}

.tem-top-nav-item{
  position:relative;
  display:flex;
  align-items:center;
}

.tem-top-nav-trigger{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:11px 12px;
  background:transparent;
  color:#9fb5ce;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  transition:
    color .16s ease,
    background .16s ease;
}

.tem-top-nav-trigger:hover,
.tem-top-nav-item.open
> .tem-top-nav-trigger{
  color:#fff;
  background:rgba(255,255,255,.07);
}

.tem-top-nav-item:has(
  .tem-top-submenu-link.active
)
> .tem-top-nav-trigger{
  color:#fff;
  background:#153b67;
  box-shadow:inset 0 -2px 0 #3aa4ff;
}

.tem-top-nav-item.open:has(
  .tem-top-submenu-link.active
)
> .tem-top-nav-trigger{
  background:#194875;
}

.tem-top-submenu{
  display:none;
  position:absolute;
  z-index:120;
  top:calc(100% + 10px);
  left:0;
  min-width:240px;
  padding:9px;
  border:1px solid #294765;
  border-radius:13px;
  background:#0d223b;
  box-shadow:0 20px 45px rgba(6,19,34,.30);
}

.tem-top-nav-item.open
> .tem-top-submenu{
  display:block;
  animation:temTopFloatIn .14s ease-out;
}

@keyframes temTopFloatIn{
  from{
    opacity:0;
    transform:translateY(-5px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.tem-top-submenu::before{
  content:"";
  position:absolute;
  top:-6px;
  left:24px;
  width:10px;
  height:10px;
  transform:rotate(45deg);
  background:#0d223b;
  border-left:1px solid #294765;
  border-top:1px solid #294765;
}

.tem-top-submenu-wide{
  min-width:410px;
}

.tem-top-submenu-wide
.tem-top-submenu-grid{
  grid-template-columns:
    repeat(2,minmax(0,1fr));
}

.tem-top-submenu-programacoes{
  min-width:520px;
}

.tem-top-submenu-programacoes
.tem-top-submenu-grid{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}

.tem-top-submenu-head{
  padding:3px 5px 8px;
  color:#6f99c4;
  font-size:7px;
  font-weight:900;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.tem-top-submenu-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}

.tem-top-submenu-link.nav-btn{
  width:100%!important;
  min-height:38px;
  display:flex!important;
  align-items:center;
  justify-content:flex-start!important;
  padding:7px 9px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#c7d6e5!important;
  text-align:left!important;
  box-shadow:none!important;
  transition:.14s ease;
}

.tem-top-submenu-link.nav-btn:hover{
  color:#fff!important;
  background:#163a61!important;
  border-color:#28527b!important;
}

.tem-top-submenu-link.nav-btn.active{
  color:#fff!important;
  background:#1a456f!important;
  border-color:#2f6496!important;
  box-shadow:none!important;
}

.tem-top-submenu-copy{
  width:100%;
  min-width:0;
}

.tem-top-submenu-copy b{
  display:block;
  overflow:hidden;
  color:inherit;
  font-size:9px;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tem-top-submenu-copy small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#7492b0;
  font-size:7px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tem-top-submenu-link.active
.tem-top-submenu-copy small{
  color:#9fc5e8;
}

.tem-top-nav-item:nth-last-child(-n+2)
.tem-top-submenu{
  right:0;
  left:auto;
}

.tem-top-nav-item:nth-last-child(-n+2)
.tem-top-submenu::before{
  right:24px;
  left:auto;
}

.tem-top-spacer{
  flex:1 1 auto;
  min-width:8px;
}

.tem-top-actions.top-actions{
  margin-left:0!important;
  display:flex;
  align-items:center;
  gap:8px;
}

.tem-top-actions .tenant-picker{
  min-width:170px;
  max-width:220px;
  height:36px;
  border:1px solid #315071;
  border-radius:9px;
  padding:7px 10px;
  background:#102b4c;
  color:#fff;
  box-shadow:none;
}

.tem-top-actions .tenant-picker:focus{
  border-color:#56a9ff;
  box-shadow:0 0 0 3px rgba(62,154,255,.14);
}

.tem-top-actions .tenant-current{
  min-width:130px;
}

.tem-top-actions .tenant-current small{
  color:#7899bc;
  font-size:8px;
}

.tem-top-actions .tenant-current strong{
  max-width:170px;
  color:#fff;
  font-size:11px;
}

.tem-top-actions .btn.apply-global{
  min-width:142px;
  height:36px;
  padding:7px 11px;
  border-radius:9px;
  font-size:10px;
  font-weight:800;
}

.tem-top-actions .btn.apply-global.applied{
  border-color:rgba(53,211,128,.24)!important;
  background:rgba(32,182,107,.13)!important;
  color:#b7f5d2!important;
}

.tem-top-actions .btn.apply-global.pending{
  border-color:rgba(255,173,76,.32)!important;
  background:rgba(255,155,66,.14)!important;
  color:#ffd8aa!important;
}

.tem-top-actions .btn.apply-global.failed{
  border-color:rgba(234,88,98,.30)!important;
  background:rgba(234,88,98,.12)!important;
  color:#ffc2c7!important;
}

.tem-top-logout.nav-btn{
  width:auto!important;
  min-width:auto!important;
  flex:0 0 auto;
  border:1px solid #294765!important;
  border-radius:9px!important;
  padding:9px 11px!important;
  background:#102b4c!important;
  color:#b9cce0!important;
  font-size:10px!important;
}

.tem-top-logout.nav-btn:hover{
  background:#163a61!important;
  color:#fff!important;
}

.tem-top-subbar.topbar{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  height:50px!important;
  min-height:50px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 22px!important;
  border-bottom:1px solid #dfe7f1!important;
  background:#fff!important;
}

.tem-top-subbar .menu-toggle{
  display:none!important;
}

.tem-top-page-block{
  min-width:0;
}

.tem-top-subbar .crumb{
  color:#13243b;
  font-size:15px;
  font-weight:900;
}

.tem-top-subcrumb{
  margin-top:2px;
  color:#7587a0;
  font-size:9px;
  font-weight:500;
}

.tem-top-menu-hint{
  margin-left:auto;
  color:#7898b9;
  font-size:8px;
  white-space:nowrap;
}

.tem-top-shell-layout .content{
  width:100%;
  max-width:1760px;
  margin:0 auto;
  padding:18px 22px 34px;
}

@media(max-width:1280px){
  .tem-top-global{
    gap:10px;
    padding-inline:14px;
  }

  .tem-top-brand.brand{
    min-width:132px;
  }

  .tem-top-brand .brand-name,
  .tem-top-brand .brand-subtitle{
    max-width:92px;
  }

  .tem-top-nav-trigger{
    padding:10px 8px;
    font-size:10px;
  }

  .tem-top-actions .tenant-picker{
    min-width:135px;
    max-width:160px;
  }

  .tem-top-actions .btn.apply-global{
    min-width:118px;
    font-size:9px;
  }
}

@media(max-width:980px){
  .tem-top-global{
    min-height:58px;
    flex-wrap:wrap;
    align-content:center;
    padding-block:7px;
  }

  .tem-top-brand.brand{
    min-width:auto;
  }

  .tem-top-brand .brand-copy{
    display:none;
  }

  .tem-top-nav{
    order:3;
    width:100%;
    overflow-x:auto;
    padding-bottom:2px;
  }

  .tem-top-spacer{
    flex:1;
  }

  .tem-top-submenu,
  .tem-top-submenu-wide,
  .tem-top-submenu-programacoes{
    position:fixed;
    top:66px;
    right:12px!important;
    left:12px!important;
    min-width:0;
    max-height:calc(100vh - 90px);
    overflow:auto;
  }

  .tem-top-submenu::before{
    display:none;
  }

  .tem-top-submenu-wide
  .tem-top-submenu-grid,
  .tem-top-submenu-programacoes
  .tem-top-submenu-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .tem-top-menu-hint{
    display:none;
  }
}

@media(max-width:700px){
  .tem-top-actions .tenant-picker{
    min-width:115px;
    max-width:135px;
  }

  .tem-top-actions .btn.apply-global{
    min-width:0;
    max-width:126px;
    padding-inline:8px;
  }

  .tem-top-logout.nav-btn{
    padding-inline:8px!important;
  }

  .tem-top-submenu-wide
  .tem-top-submenu-grid,
  .tem-top-submenu-programacoes
  .tem-top-submenu-grid{
    grid-template-columns:1fr;
  }

  .tem-top-shell-layout .content{
    padding:16px 12px 28px;
  }
}

/* TEM TOP SUBMENU SEM DESCRICAO V1 20260815
   Remove apenas os textos auxiliares dos submenus.
   Mantém títulos, navegação, permissões e eventos intactos. */

.tem-top-submenu-link.nav-btn{
  min-height:34px!important;
  padding:8px 10px!important;
  align-items:center!important;
}

.tem-top-submenu-copy b{
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}

.tem-top-submenu-copy small{
  display:none!important;
}

.tem-top-submenu-grid{
  gap:3px!important;
}

/* TEM TOP SUBMENU CONTRASTE V1 20260815
   Aumenta somente legibilidade dos títulos dos submenus.
   Não altera navegação, permissões ou eventos. */

.tem-top-submenu-copy b{
  color:#ffffff!important;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:.1px!important;
  text-shadow:0 1px 0 rgba(0,0,0,.10);
  opacity:1!important;
}

.tem-top-submenu-link.nav-btn{
  color:#ffffff!important;
}

.tem-top-submenu-link.nav-btn:hover
.tem-top-submenu-copy b,
.tem-top-submenu-link.nav-btn.active
.tem-top-submenu-copy b{
  color:#ffffff!important;
}

.tem-top-submenu-head{
  color:#8eb8df!important;
}

/* TEM TOP TIPOGRAFIA MODELO V2 20260815
   Fonte maior e mais reta no cabeçalho principal e em TODAS as subabas.
   Alteração exclusivamente visual: navegação, eventos e permissões intactos. */

.tem-top-shell,
.tem-top-shell button,
.tem-top-shell select,
.tem-top-shell input{
  font-family:Arial,Helvetica,sans-serif!important;
}

.tem-top-brand .brand-name{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}

.tem-top-brand .brand-subtitle{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}

.tem-top-nav-trigger{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}

.tem-top-submenu-head{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:.35px!important;
}

.tem-top-submenu-link.nav-btn,
.tem-top-submenu-copy,
.tem-top-submenu-copy b{
  font-family:Arial,Helvetica,sans-serif!important;
}

.tem-top-submenu-copy b{
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}

.tem-top-submenu-copy small{
  font-family:Arial,Helvetica,sans-serif!important;
}

.tem-top-actions .tenant-picker{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
}

.tem-top-actions .tenant-current strong{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
}

.tem-top-actions .tenant-current small{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
}

.tem-top-actions .btn.apply-global{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
}

.tem-top-logout.nav-btn{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:400!important;
}

.tem-top-subbar .crumb{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:0!important;
}

.tem-top-subcrumb{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  font-weight:400!important;
}

.tem-top-menu-hint{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  font-weight:400!important;
}

@media(max-width:1280px){
  .tem-top-nav-trigger{
    font-size:13px!important;
    padding:10px 8px!important;
  }

  .tem-top-submenu-copy b{
    font-size:13px!important;
  }

  .tem-top-submenu-head{
    font-size:11px!important;
  }

  .tem-top-actions .tenant-picker{
    font-size:13px!important;
  }
}

@media(max-width:980px){
  .tem-top-nav-trigger{
    font-size:12px!important;
  }

  .tem-top-submenu-copy b{
    font-size:13px!important;
  }

  .tem-top-subbar .crumb{
    font-size:17px!important;
  }
}

