/* =========================================================
   Sis7 - app.css
   - Tema Light/Dark/Black (class no <html> + data-bs-theme)
   - Sidebar direita colapsável + tooltips
   - Ajustes de contraste no dark/black (cards, listas, inputs, tabelas)
   ========================================================= */

/* -------------------------
   Tema (variáveis Sis7)
   ------------------------- */
html.theme-light{
  --sis-bg: #f6f7fb;
  --sis-card: #ffffff;
  --sis-surface: #ffffff;
  --sis-border: rgba(0,0,0,.10);

  --sis-text: #111827;
  --sis-muted: rgba(17,24,39,.60);

  --sis-accent: #2563eb;
  --sis-accent-strong: #1d4ed8;

  --sis-hover: rgba(37,99,235,.08);
  --sis-active: rgba(37,99,235,.14);

  --sis-icon: rgba(17,24,39,.78);
  --sis-icon-muted: rgba(17,24,39,.55);

  --sis-icon-cadastros: var(--sis-accent);
  --sis-icon-ferramentas: #1f6f43;
  --sis-icon-engenharia: #0f6b6b;
  --sis-icon-configuracoes: #4b3f9a;
  --sis-icon-areas: #5b6b84;
  --sis-icon-soon: rgba(17,24,39,.45);
}

html.theme-dark{
  --sis-bg: #0b1220;
  --sis-card: #0f1a2e;
  --sis-surface: #121f36;
  --sis-border: rgba(255,255,255,.10);

  --sis-text: rgba(255,255,255,.92);
  --sis-muted: rgba(255,255,255,.60);

  --sis-accent: #7bb2ff;
  --sis-accent-strong: #9ec5fe;

  --sis-hover: rgba(123,178,255,.10);
  --sis-active: rgba(123,178,255,.16);

  --sis-icon: rgba(255,255,255,.78);
  --sis-icon-muted: rgba(255,255,255,.55);

  --sis-icon-cadastros: var(--sis-accent);
  --sis-icon-ferramentas: #6fc08e;
  --sis-icon-engenharia: #4fb6b6;
  --sis-icon-configuracoes: #a89bff;
  --sis-icon-areas: #8aa0b8;
  --sis-icon-soon: rgba(255,255,255,.35);
}

html.theme-black{
  --sis-bg: #000000;
  --sis-card: #050505;        /* cards quase pretos (pra separar do fundo) */
  --sis-surface: #0a0a0a;     /* inputs/dropdowns */
  --sis-border: rgba(255,255,255,.12);

  --sis-text: rgba(255,255,255,.92);
  --sis-muted: rgba(255,255,255,.62);

  --sis-accent: #7bb2ff;
  --sis-accent-strong: #9ec5fe;

  --sis-hover: rgba(123,178,255,.12);
  --sis-active: rgba(123,178,255,.18);

  --sis-icon: rgba(255,255,255,.84);
  --sis-icon-muted: rgba(255,255,255,.58);

  --sis-icon-cadastros: var(--sis-accent);
  --sis-icon-ferramentas: #6fc08e;
  --sis-icon-engenharia: #4fb6b6;
  --sis-icon-configuracoes: #a89bff;
  --sis-icon-areas: #8aa0b8;
  --sis-icon-soon: rgba(255,255,255,.35);
}

/* (Opcional) reforços do tema black */
html.theme-black .form-control,
html.theme-black .form-select,
html.theme-black input,
html.theme-black select,
html.theme-black textarea{
  background: var(--sis-surface) !important;
  color: var(--sis-text) !important;
  border-color: var(--sis-border) !important;
}

html.theme-black .table{ color: var(--sis-text) !important; }
html.theme-black .table > :not(caption) > * > *{
  background: transparent !important;
  border-color: var(--sis-border) !important;
}

/* -------------------------
   Bootstrap 5.3 theme vars
   ------------------------- */
html[data-bs-theme="light"]{
  --bs-body-bg: var(--sis-bg);
  --bs-body-color: var(--sis-text);
  --bs-border-color: var(--sis-border);
  --bs-link-color: var(--sis-accent);
  --bs-link-hover-color: var(--sis-accent-strong);
  --bs-tertiary-bg: var(--sis-card);
}

html[data-bs-theme="dark"]{
  --bs-body-bg: var(--sis-bg);
  --bs-body-color: var(--sis-text);
  --bs-border-color: var(--sis-border);
  --bs-link-color: var(--sis-accent);
  --bs-link-hover-color: var(--sis-accent-strong);
  --bs-tertiary-bg: var(--sis-card);
  --bs-secondary-color: var(--sis-muted);
}

/* -------------------------
   Base
   ------------------------- */
:root{
  --sis-topbar-height: 56px;
  --sis-sidebar-width: clamp(190px, 16vw, 240px);
  --sis-sidebar-collapsed-width: 76px;
  /* === Tokens visuais globais === */
  --sis-radius: .5rem;
}

body{
  font-family: Arial, Helvetica, sans-serif;
  background-color: var(--sis-bg);
  color: var(--sis-text);
  margin: 0;
  padding: 0;
}

/* -------------------------
   Sidebar (direita fixa)
   ------------------------- */
.sis-topbar{ height: var(--sis-topbar-height); z-index: 1030; }
.sis-topbar--view{
  background: var(--sis-surface);
  color: var(--sis-text);
  border: 1px solid var(--sis-border);
}
.sis-topbar--view .text-white{
  color: var(--sis-text) !important;
}
.sis-topbar--view .btn-outline-light{
  color: var(--sis-text);
  border-color: var(--sis-border);
}
.sis-topbar--view .btn-outline-light:hover,
.sis-topbar--view .btn-outline-light:focus-visible{
  background: var(--sis-hover);
  color: var(--sis-text);
  border-color: var(--sis-border);
}

.sis-sidebar{
  position: fixed;
  top: var(--sis-topbar-height);
  right: 0;
  bottom: 0;
  width: var(--sis-sidebar-width);
  max-width: var(--sis-sidebar-width);
  overflow-y: auto;
  background: var(--sis-card);
  border-left: 1px solid var(--sis-border);
  z-index: 1020;
  transition: width .15s ease;
  display:flex;
  flex-direction: column;
}

.sis-sidebar-header{
  padding: 12px 12px 10px 12px;
  border-bottom: 1px solid var(--sis-border);
  background: var(--sis-card);
  flex: 0 0 auto;
}

.sis-sidebar-body{ overflow-y:auto; padding: 12px; flex: 1 1 auto; }

.sis-sidebar-footer{
  padding: 12px;
  border-top: 1px solid var(--sis-border);
  background: var(--sis-card);
  flex: 0 0 auto;
}

.sidebar-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
.sidebar-logo img{ height: 24px; width:auto; display:block; }

.sidebar-section-title{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 10px 0 6px;
  color: var(--sis-muted);
}

.sidebar-link, .submenu-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 9px 10px;
  border-radius: 10px;
  color: var(--sis-text);
  text-decoration: none;
  position: relative;
}

.sis-sidebar .nav-text{
  display:inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-link i, .submenu-link i{ font-size: 18px; color: var(--sis-icon); }

.sidebar-link:hover, .submenu-link:hover{
  background: var(--sis-hover);
  color: var(--sis-accent-strong);
}
.sidebar-link:hover i, .submenu-link:hover i{ color: var(--sis-accent-strong); }

.sidebar-link.active, .submenu-link.active{
  background: var(--sis-active);
  color: var(--sis-accent-strong);
  font-weight: 600;
}
.sidebar-link.active i, .submenu-link.active i{ color: var(--sis-accent-strong); }

.submenu-link{ padding-left: 38px; }
.chev{ margin-left:auto; opacity:.7; }

.btn-sidebar-toggle{
  width:100%;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  font-size: .85rem;
  padding: .35rem .6rem;
  line-height: 1.1;
}

/* Main reserva espaço da sidebar */
.sis-main{
  padding-top: calc(var(--sis-topbar-height) + 18px);
  padding-right: calc(var(--sis-sidebar-width) + 18px);
  padding-left: 18px;
  transition: padding-right .15s ease;
}

/* Colapsado */
body.sidebar-collapsed .sis-sidebar{ width: var(--sis-sidebar-collapsed-width); }
body.sidebar-collapsed .sis-main{ padding-right: calc(var(--sis-sidebar-collapsed-width) + 18px); }

body.sidebar-collapsed .sidebar-section-title,
body.sidebar-collapsed .nav-text,
body.sidebar-collapsed .chev{ display:none !important; }
body.sidebar-collapsed .sidebar-logo{ justify-content:center; }
body.sidebar-collapsed .btn-sidebar-toggle span{ display:none; }

/* Mobile: mantém simples (sidebar escondida; pode evoluir depois) */
@media (max-width: 991.98px){
  .sis-sidebar{ display:none; }
  .sis-main{ padding-right: 18px; }
}

/* -------------------------
   Tooltips (menu recolhido)
   ------------------------- */
.tooltip .tooltip-inner{
  background: var(--sis-surface) !important;
  color: var(--sis-text) !important;
  border: 1px solid var(--sis-border) !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
html.theme-dark .tooltip .tooltip-inner{
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
.tooltip .tooltip-arrow::before{
  border-top-color: var(--sis-surface) !important;
  border-right-color: var(--sis-surface) !important;
  border-bottom-color: var(--sis-surface) !important;
  border-left-color: var(--sis-surface) !important;
}

/* -------------------------
   Ajustes dark (superfícies)
   ------------------------- */
html.theme-dark .bg-white,
html.theme-dark .card,
html.theme-dark .modal-content,
html.theme-dark .dropdown-menu,
html.theme-dark .offcanvas,
html.theme-dark .popover{
  background: var(--sis-card) !important;
  color: var(--sis-text) !important;
  border-color: var(--sis-border) !important;
}

html.theme-dark .list-group-item{
  background: var(--sis-card) !important;
  color: var(--sis-text) !important;
  border-color: var(--sis-border) !important;
}

html.theme-dark .list-group-item:hover{
  background: var(--sis-hover) !important;
}

html.theme-dark .table{ color: var(--sis-text) !important; }
html.theme-dark .table > :not(caption) > * > *{
  background: transparent !important;
  border-color: var(--sis-border) !important;
}

html.theme-dark .form-control,
html.theme-dark .form-select,
html.theme-dark input,
html.theme-dark select,
html.theme-dark textarea{
  background: var(--sis-surface) !important;
  color: var(--sis-text) !important;
  border-color: var(--sis-border) !important;
}
html.theme-dark .form-control::placeholder{
  color: rgba(255,255,255,.40) !important;
}

html.theme-dark .text-muted,
html.theme-dark .small.text-muted{
  color: var(--sis-muted) !important;
}

/* =========================
   Tema BLACK - overrides (evita branco do Bootstrap)
   ========================= */
html.theme-black .bg-white,
html.theme-black .card,
html.theme-black .modal-content,
html.theme-black .dropdown-menu,
html.theme-black .offcanvas,
html.theme-black .popover,
html.theme-black .list-group-item,
html.theme-black .table,
html.theme-black .table-responsive{
  background: var(--sis-card) !important;
  color: var(--sis-text) !important;
  border-color: var(--sis-border) !important;
}

html.theme-black .table > :not(caption) > * > *{
  background: transparent !important;
  border-color: var(--sis-border) !important;
}

html.theme-black .text-muted,
html.theme-black .small.text-muted{
  color: var(--sis-muted) !important;
}

/* Micro interação cards */
.card-hover{ transition: transform .12s ease, box-shadow .12s ease; }
.card-hover:hover{ transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,.08); }

/* Troca de logo por tema */
.sis-logo-dark { display: none; }

html.theme-dark .sis-logo-light { display: none; }
html.theme-dark .sis-logo-dark  { display: inline-block; }

/* Tema BLACK deve se comportar como DARK (inclui troca de logos) */
html.theme-black .sis-logo-light { display: none !important; }
html.theme-black .sis-logo-dark  { display: inline-block !important; }

/* Sidebar recolhido: centralizar logo (apenas tema claro) */
html.theme-light body.sidebar-collapsed .sis-sidebar .app-brand {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
}

/* Sidebar colapsado: centralizar o bloco da logo (tema claro) */
html.theme-light body.sidebar-collapsed .sis-sidebar-header .sidebar-logo{
  justify-content: center !important;
  width: 100%;
}

/* Faz o container do logo ocupar toda a largura */
html.theme-light body.sidebar-collapsed .sis-sidebar-header{
  display: flex;
  justify-content: center;
}

/* Garante que o IMG n?o "puxe" por margin/padding herdado */
html.theme-light body.sidebar-collapsed .sis-sidebar-header .sidebar-logo img{
  margin: 0 !important;
}

/* Ajuste fino: logo do sidebar colapsado (tema claro) */
html.theme-light body.sidebar-collapsed .sis-sidebar .sis-logo-light{
  transform: translateX(30px);
}

/* ===== Fixes gerais (tooltips x flyout / z-index) ===== */
/* Quando sidebar estiver colapsado e um submenu abrir em "flyout",
   o tooltip (Bootstrap) n?o pode ficar por baixo. */
.tooltip,
.popover{
  z-index: 2000 !important;
}

/* Mant?m o flyout abaixo do tooltip */
body.sidebar-collapsed .sis-sidebar .collapse.show{
  z-index: 1040;
}

/* Sidebar recolhida: aproxima submenu (flyout) do ícone */
:root{ --sis-submenu-shift-collapsed: 25%; }
body.sidebar-collapsed .sis-sidebar-flyout{
  transform: translateX(calc(-1 * var(--sis-submenu-shift-collapsed)));
}

/* FIX: Topbar n?o pode recentralizar quando sidebar est? recolhido */
body.sidebar-collapsed .sis-topbar > .container-fluid{
  justify-content: space-between !important;
}

/* garante logo SEM auto-margins estranhas */
body.sidebar-collapsed .sis-topbar .navbar-brand{
  margin-left: 0 !important;
  margin-right: 1rem !important; /* Bootstrap default */
}

/* garante bloco da direita sempre encostado ? direita */
body.sidebar-collapsed .sis-topbar .ms-auto{
  margin-left: auto !important;
}

/* =========================================================
   FIX DEFINITIVO: Topbar (logo) n?o pode "esticar" quando sidebar some/recolhe
   ========================================================= */
body.sidebar-collapsed .sis-topbar .navbar-brand{
  flex: 0 0 auto !important;   /* trava largura no conte?do */
  width: auto !important;
  justify-content: flex-start !important;
}

body.sidebar-collapsed .sis-topbar .ms-auto{
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

/* Mobile: sidebar some (display:none), mas topbar n?o pode centralizar */
@media (max-width: 991.98px){
  .sis-topbar .navbar-brand{
    flex: 0 0 auto !important;
    width: auto !important;
    justify-content: flex-start !important;
    margin-right: 1rem !important;
  }
  .sis-topbar .ms-auto{
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }
}

/* Bot?o Sair (btn-danger) sempre com ?cone/texto branco */
.sis-topbar .btn-danger{
  color: #fff !important;
}
.sis-topbar .btn-danger i{
  color: #fff !important;
}
/* Topbar: nome da empresa central */
/* quanto "puxa" pro lado esquerdo (ajuste fino) */
:root{ --sis-company-offset-x: -40px; }  /* comece com -60px, -80px, -100px */

.sis-topbar-company{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(calc(-50% + var(--sis-company-offset-x)), -50%);
  pointer-events: none;
}

.sis-company-pill{
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--sis-border);
  background: var(--sis-card);
  color: var(--sis-text);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .02em;
}

html.theme-dark .sis-company-pill,
html.theme-black .sis-company-pill{
  background: var(--sis-surface);
}
/* =========================================================
   Sis7 - FIX: Impressoras - seleção não some no hover
   (UTF-8 sem BOM)
   ========================================================= */
html.theme-dark  #listaImpressoras .list-group-item,
html.theme-black #listaImpressoras .list-group-item{
  position: relative;
}

/* hover leve (item sob o mouse) */
html.theme-dark  #listaImpressoras .list-group-item.sis-hover:not(.sis-selected),
html.theme-black #listaImpressoras .list-group-item.sis-hover:not(.sis-selected){
  background: rgba(255,255,255,.06) !important;
  outline: 1px solid rgba(255,255,255,.10) !important;
}

/* selecionado persistente (sempre vis?vel) */
html.theme-dark  #listaImpressoras .list-group-item.sis-selected,
html.theme-black #listaImpressoras .list-group-item.sis-selected{
  background: rgba(var(--bs-success-rgb), .22) !important;
  outline: 1px solid rgba(var(--bs-success-rgb), .55) !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.18) inset;
}

/* "marcador" lateral fixo (igual sidebar) */
html.theme-dark  #listaImpressoras .list-group-item.sis-selected::before,
html.theme-black #listaImpressoras .list-group-item.sis-selected::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 30px;
  background: var(--bs-success);
  border-radius: 0 !important;
}

/* se o item selecionado estiver em hover também, só reforça levemente */
html.theme-dark  #listaImpressoras .list-group-item.sis-selected.sis-hover,
html.theme-black #listaImpressoras .list-group-item.sis-selected.sis-hover{
  background: rgba(var(--bs-success-rgb), .28) !important;
  outline: 1px solid rgba(var(--bs-success-rgb), .70) !important;
}

/* neutraliza hover global do Bootstrap/Sis7 dentro da lista de impressoras */
html.theme-dark  #listaImpressoras .list-group-item:hover,
html.theme-black #listaImpressoras .list-group-item:hover{
  background: rgba(255,255,255,.04) !important;
}
/* ===== Impressoras: Dropdown marcas (hover não travado no ativo) ===== */
#menuMarcas .dropdown-item.sis-hover{
  background: rgba(255,255,255,.10) !important;
  outline: 1px solid rgba(255,255,255,.12);
  outline-offset: -1px;
}
#menuMarcas .dropdown-item.active{
  background: rgba(255,255,255,.06) !important;
}
#menuMarcas .dropdown-item:hover{
  background: rgba(255,255,255,.10) !important;
}

/* =========================================================
   Sis7 - Impressoras: THEME LIGHT (dropdown + lista)
   ========================================================= */

/* --- Dropdown Marcas (#menuMarcas) --- */
html.theme-light #menuMarcas .dropdown-item.sis-hover,
html.theme-light #menuMarcas .dropdown-item:hover{
  background: rgba(13,110,253,.12) !important;     /* azul claro */
  color: #0b5ed7 !important;
}

html.theme-light #menuMarcas .dropdown-item.active{
  background: rgba(13,110,253,.08) !important;     /* seleção mais sutil */
  color: #0b5ed7 !important;
}

/* --- Lista Impressoras (#listaImpressoras) --- */
html.theme-light #listaImpressoras .list-group-item.sis-hover:not(.sis-selected):not(.active){
  background: rgba(255,255,255,.06) !important;
  outline: 1px solid rgba(255,255,255,.10) !important;
}

html.theme-light #listaImpressoras .list-group-item.sis-selected{
  background: rgba(var(--bs-success-rgb), .22) !important;
  outline: 1px solid rgba(var(--bs-success-rgb), .55) !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.18) inset;
}

html.theme-light #listaImpressoras .list-group-item.sis-selected::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:30px;
  background: var(--bs-success);
  border-radius: 0 !important;
}

/* se o item selecionado estiver em hover */
html.theme-light #listaImpressoras .list-group-item.sis-selected.sis-hover{
  background: rgba(var(--bs-success-rgb), .28) !important;
  outline: 1px solid rgba(var(--bs-success-rgb), .70) !important;
}

/* =========================================================
   Sis7 - Dashboard/Sidebar compact + tiles quadrados
   ========================================================= */
.sis-sidebar .sidebar-section-title{
  font-size: 10px;
}

.sis-sidebar .sidebar-link,
.sis-sidebar .submenu-link{
  font-size: 13px;
  min-height: 34px;
  line-height: 1.1;
}

.sis-sidebar .submenu-link{ font-size: 12.5px; }

.sidebar-link i,
.submenu-link i{
  width: 18px;
  text-align: center;
}

.sidebar-link:focus-visible,
.submenu-link:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 1px var(--sis-border);
}

.sis-dashboard{
  font-size: 13px;
  --sis-tile-size-base: clamp(140px, 18vw, 180px);
  --sis-tile-size: calc(var(--sis-tile-size-base) * 0.81);
  --sis-tile-gap-base: 12px;
  --sis-tile-gap: calc(var(--sis-tile-gap-base) * 0.81);
  --sis-tile-title-size: .81rem;
  --sis-tile-icon-size: 2.16rem;
  --sis-tile-body-padding-y: 9px;
  --sis-tile-body-padding-x: 11px;
  --sis-tile-head-padding-y: 9px;
  --sis-tile-head-padding-x: 13px;
  --sis-tile-foot-padding-y: 11px;
}

.sis-dashboard > .d-flex.mb-4{
  margin-bottom: 12px !important;
}

.sis-dashboard h1.h4{ font-size: 1.1rem; }
.sis-dashboard h2.h5{ font-size: .95rem; }
.sis-dashboard .text-muted{ font-size: .85rem; }

.sis-icon-ferramentas{
  color: var(--sis-icon-ferramentas) !important;
}

/* === Overrides por módulo (kg_m2) === */
.kgm2-module .card,
.kgm2-module .card-soft{
  border-radius: var(--sis-radius);
}
.kgm2-module .card-body{
  padding: .75rem 1rem;
}
.kgm2-module #formConv .form-label{
  font-size: .86rem;
  margin-bottom: .2rem;
}
.kgm2-module #formConv .form-control,
.kgm2-module #formConv .form-select{
  min-height: calc(1.5em + .6rem + 2px);
  padding: .25rem .45rem;
  font-size: .86rem;
}
.kgm2-module #formConv textarea.form-control{
  padding: .3rem .45rem;
}
.kgm2-module #formConv .btn{
  padding: .22rem .45rem;
  font-size: .78rem;
}
.kgm2-module .h6{
  font-size: .95rem;
}
.kgm2-module .form-label{
  font-size: .85rem;
}
.kgm2-module .form-text,
.kgm2-module .text-muted{
  font-size: .8rem;
}
.kgm2-header__icon{
  color: var(--sis-icon-ferramentas) !important;
}
.kgm2-topbar-toggle{
  width: auto;
  max-width: none;
  white-space: nowrap;
  padding: .2rem .4rem;
  font-size: .72rem;
}
.kgm2-topbar-toggle span{
  font-size: .75rem;
}
.kgm2-toggle{
  color: var(--sis-icon-ferramentas) !important;
  border-color: var(--sis-icon-ferramentas) !important;
}
.kgm2-toggle:hover,
.kgm2-toggle:focus-visible{
  color: var(--sis-icon-ferramentas) !important;
  border-color: var(--sis-icon-ferramentas) !important;
  background: rgba(31,111,67,.08);
}
.kgm2-frame__header{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: .5rem;
}
.kgm2-frame__title{
  font-size: .9rem;
  font-weight: 600;
}
.kgm2-section__title{
  font-size: .85rem;
  font-weight: 600;
  margin-bottom: .35rem;
}
.kgm2-hidden{
  display: none !important;
}

.sis-footer{
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  font-size: .85rem;
  opacity: .85;
}

.sis-dash-spacer{
  height: 36px;
}
.sis-footer__right{
  margin-left: auto;
  white-space: nowrap;
}
@media (max-width: 576px){
  .sis-footer{
    flex-direction: column;
    align-items: flex-start;
  }
  .sis-footer__right{
    margin-left: 0;
    align-self: flex-end;
  }
}

@media (max-width: 575.98px){
  .sis-dashboard{ --sis-tile-size: 108px; }
}

.sis-tiles-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--sis-tile-size), var(--sis-tile-size)));
  gap: var(--sis-tile-gap);
  margin-left: 0;
  margin-right: 0;
  justify-content: space-between;
}

.sis-tiles-grid > [class*="col-"]{
  max-width: none;
  flex: none;
  width: var(--sis-tile-size);
}

.sis-tiles-grid > [class*="col-"] > .sis-tile{
  width: var(--sis-tile-size);
}

.sis-tile{
  display: block;
  text-decoration: none;
  color: var(--sis-text);
  --sis-tile-accent: var(--sis-icon);
}

.sis-tile .card-hover{
  aspect-ratio: 1 / 1;
  --sis-tile-radius: 25px;
  border-radius: var(--sis-tile-radius) !important;
  overflow: hidden;
  position: relative;
}

.sis-tile .card-hover::after{
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: calc(var(--sis-tile-radius) - 8px);
  border: 4px solid var(--sis-tile-accent);
  border-color: var(--sis-tile-accent) !important;
  opacity: 1;
  pointer-events: none;
}

.sis-tile:hover .card-hover::after,
.sis-tile:focus-visible .card-hover::after{
  border-color: var(--sis-tile-accent) !important;
}

.sis-tile .card-hover .card-body{
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  text-align: center;
  padding: var(--sis-tile-body-padding-y) var(--sis-tile-body-padding-x) var(--sis-tile-foot-padding-y);
}

.sis-tile__area{
  font-size: calc(var(--sis-tile-title-size) * 0.99);
  color: var(--sis-muted);
  text-align: center;
  width: 100%;
  padding: var(--sis-tile-head-padding-y) var(--sis-tile-head-padding-x) 0 var(--sis-tile-head-padding-x);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  align-self: stretch;
}

.sis-tile__icon{
  font-size: calc(var(--sis-tile-icon-size) * 0.9);
  margin-top: auto;
  margin-bottom: auto;
  color: var(--sis-tile-accent) !important;
}

.sis-tile__title{
  font-size: calc(var(--sis-tile-title-size) * 0.99);
  line-height: 1.2;
  max-width: 162px;
  margin: 0 auto;
  text-align: center;
  width: 100%;
  padding: 0 var(--sis-tile-head-padding-x) var(--sis-tile-foot-padding-y) var(--sis-tile-head-padding-x);
}

.sis-tile__soon{
  font-size: calc(.75rem * 0.81);
  color: var(--sis-muted);
  margin-top: 7px;
  padding-bottom: 7px;
}

.sis-tile .card-hover .text-muted.small{
  display: none;
}

.sis-tile[data-area="cadastros"]{ --sis-tile-accent: var(--sis-icon-cadastros); }
.sis-tile[data-area="ferramentas"]{ --sis-tile-accent: var(--sis-icon-ferramentas); }
.sis-tile[data-area="engenharia"]{ --sis-tile-accent: var(--sis-icon-engenharia); }
.sis-tile[data-area="configuracoes"]{ --sis-tile-accent: var(--sis-icon-configuracoes); }
.sis-tile[data-area="areas"]{ --sis-tile-accent: var(--sis-icon-areas); }
.sis-dashboard .sis-tile[data-sis7-kind="cadastros"]{ --sis-tile-accent: var(--sis-icon-cadastros); }
.sis-dashboard .sis-tile[data-sis7-kind="ferramentas"]{ --sis-tile-accent: var(--sis-icon-ferramentas); }
.sis-dashboard .sis-tile[data-sis7-kind="engenharia"]{ --sis-tile-accent: var(--sis-icon-engenharia); }
.sis-dashboard .sis-tile[data-sis7-kind="config"]{ --sis-tile-accent: var(--sis-icon-configuracoes); }
.sis-dashboard .sis-tile[data-sis7-kind="areas"]{ --sis-tile-accent: var(--sis-icon-areas); }
.sis-tile[data-soon="1"]{ --sis-tile-accent: var(--sis-icon-soon); }
/* RBAC card follows the same accent used by Dashboard active icon in sidebar */
.sis-tile[href="/app/modules/configuracoes/rbac/rbac.php"]{ --sis-tile-accent: var(--sis-accent-strong); }
.sis-tile[href="/app/modules/engenharia/conference_op_ft/conference-op-ft.php"]{
  --sis-tile-accent: var(--sis-icon);
}

.sis-area--cadastros .sis-tile:hover .card-hover,
.sis-area--cadastros .sis-tile:focus-visible .card-hover{
  box-shadow: 0 0 0 1px rgba(37,99,235,.25), 0 10px 25px rgba(0,0,0,.10);
}
.sis-area--ferramentas .sis-tile:hover .card-hover,
.sis-area--ferramentas .sis-tile:focus-visible .card-hover{
  box-shadow: 0 0 0 1px rgba(31,111,67,.22), 0 10px 25px rgba(0,0,0,.10);
}
.sis-area--engenharia .sis-tile:hover .card-hover,
.sis-area--engenharia .sis-tile:focus-visible .card-hover{
  box-shadow: 0 0 0 1px rgba(15,107,107,.22), 0 10px 25px rgba(0,0,0,.10);
}
.sis-area--configuracoes .sis-tile:hover .card-hover,
.sis-area--configuracoes .sis-tile:focus-visible .card-hover{
  box-shadow: 0 0 0 1px rgba(75,63,154,.22), 0 10px 25px rgba(0,0,0,.10);
}
.sis-area--areas .sis-tile:hover .card-hover,
.sis-area--areas .sis-tile:focus-visible .card-hover{
  box-shadow: 0 0 0 1px rgba(91,107,132,.22), 0 10px 25px rgba(0,0,0,.10);
}

.sis-tile:hover .card-hover{
  background: var(--sis-hover);
}

.sis-tile:focus-visible .card-hover{
  outline: none;
  box-shadow: 0 0 0 2px rgba(13,110,253,.35);
}

.sis-tile:hover .card-hover{
  box-shadow: 0 10px 25px rgba(0,0,0,.10);
  transform: translateY(-1px);
}

html.theme-dark  .sis-tile .card-hover,
html.theme-black .sis-tile .card-hover{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--sis-border) !important;
}

.sis-dashboard .sis-tile[data-soon="1"]{
  opacity: .65;
  cursor: not-allowed;
}

.sis-dashboard .sis-tile[data-soon="1"] .sis-tile__soon{
  color: var(--sis-text);
}

.sis-dashboard .sis-tile[data-soon="1"]:hover .card-hover,
.sis-dashboard .sis-tile[data-soon="1"]:focus-visible .card-hover{
  box-shadow: none !important;
  transform: none;
}

/* Menu mobile (offcanvas) no estilo sidebar */
.sis-mobile-menu{
  background: var(--sis-card);
  color: var(--sis-text);
}

.sis-mobile-menu .offcanvas-header{
  border-bottom: 1px solid var(--sis-border);
}

.sis-mobile-menu .offcanvas-body{
  padding: 12px;
}

/* Sis7 - icones azuis padronizados (cadastros) */
.sis-icon-dashboard{
  color: var(--sis-icon) !important;
}

.sis-icon-cad{
  color: var(--sis-icon-cadastros) !important;
}

.sis-btn-toggle-cad{
  color: var(--sis-icon-cadastros) !important;
  border-color: var(--sis-icon-cadastros) !important;
}
.sis-btn-toggle-cad i{ color: inherit !important; }

.imp-topbar__title > i.bi,
.fmp-topbar__title > i.bi,
.pm-topbar__title > i.bi,
.forn-topbar__title > i.bi,
.sis-opframe__title > i.bi,
.sis-opframe__title > .bi{
  color: var(--sis-accent) !important;
}

.list-group-item.sis-listitem > .d-flex > i.bi,
.list-group-item.sis-listitem > .d-flex > .bi{
  color: var(--sis-accent) !important;
}

