/* CheckDiario sidebar icon system: compact, polished and readable at small sizes. */
.sidebar .nav-btn .icon.nav-icon-polished {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid rgba(148, 184, 164, .22);
  border-radius: 9px;
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .13), transparent 36%),
    linear-gradient(145deg, rgba(31, 56, 50, .92), rgba(13, 27, 25, .96));
  color: #9fb5aa;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .06),
    0 3px 8px rgba(0, 0, 0, .16);
  transition: color .18s ease, border-color .18s ease, background .18s ease,
    box-shadow .18s ease, transform .18s ease;
}

.sidebar .nav-btn .icon.nav-icon-polished::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: -60%;
  left: -85%;
  width: 58%;
  height: 215%;
  transform: rotate(28deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .16), transparent);
  transition: left .36s ease;
  pointer-events: none;
}

.sidebar .nav-btn .nav-icon-svg {
  width: 18px;
  height: 18px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .3));
}

.sidebar .nav-btn:hover .icon.nav-icon-polished,
.sidebar .nav-btn:focus-visible .icon.nav-icon-polished {
  color: #d6e8df;
  border-color: rgba(130, 210, 174, .48);
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 255, 255, .2), transparent 38%),
    linear-gradient(145deg, rgba(39, 75, 64, .98), rgba(15, 36, 31, .98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .1),
    0 0 0 1px rgba(34, 197, 94, .08),
    0 5px 12px rgba(0, 0, 0, .22);
  transform: translateY(-1px);
}

.sidebar .nav-btn:hover .icon.nav-icon-polished::after,
.sidebar .nav-btn:focus-visible .icon.nav-icon-polished::after {
  left: 128%;
}

.sidebar .nav-btn.ativo .icon.nav-icon-polished,
.sidebar .nav-btn-parent[aria-expanded='true'] .icon.nav-icon-polished,
.sidebar .nav-group-checklist:has(.nav-sub-btn.ativo) > .nav-btn-parent .icon.nav-icon-polished,
.sidebar .nav-group-relatorios:has(.nav-sub-btn.ativo) > .nav-btn-parent .icon.nav-icon-polished,
.sidebar .nav-group-financeiro:has(.nav-sub-btn.ativo) > .nav-btn-parent .icon.nav-icon-polished,
.sidebar .nav-group-funcionarios:has(.nav-sub-btn.ativo) > .nav-btn-parent .icon.nav-icon-polished,
.sidebar .nav-group-configuracao:has(.nav-sub-btn.ativo) > .nav-btn-parent .icon.nav-icon-polished,
.sidebar .nav-group-saas:has(.nav-sub-btn.ativo) > .nav-btn-parent .icon.nav-icon-polished {
  color: #f8c54f;
  border-color: rgba(240, 165, 0, .5);
  background:
    radial-gradient(circle at 27% 16%, rgba(255, 255, 255, .23), transparent 34%),
    linear-gradient(145deg, rgba(104, 72, 12, .72), rgba(45, 34, 13, .94));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 0 0 1px rgba(240, 165, 0, .08),
    0 4px 12px rgba(240, 165, 0, .16);
}

/* Financial and report icons keep their own identity without breaking the system. */
.sidebar #btnMenuFinanceiro .icon.nav-icon-polished,
.sidebar #btnMenuIntegracoesFinanceiras .icon.nav-icon-polished {
  color: #7ee0a9;
}

.sidebar #btnMenuRelatorios .icon.nav-icon-polished {
  color: #8ecbff;
}

.sidebar .nav-btn-alerta .icon.nav-icon-polished {
  color: #fca5a5;
  border-color: rgba(248, 113, 113, .42);
  background: linear-gradient(145deg, rgba(91, 37, 37, .92), rgba(38, 20, 22, .96));
}

@media (max-width: 900px) {
  .sidebar .nav-btn .icon.nav-icon-polished {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .sidebar .nav-btn .nav-icon-svg {
    width: 19px;
    height: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar .nav-btn .icon.nav-icon-polished,
  .sidebar .nav-btn .icon.nav-icon-polished::after {
    transition: none;
  }
}

/* Final alignment and color layer. This file is intentionally loaded last. */
.sidebar .nav-btn[data-sidebar-icon] {
  --nav-icon-color: #38bdf8;
  --nav-icon-rgb: 56, 189, 248;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.sidebar .nav-btn[data-sidebar-icon] > span:has(.nav-copy) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0;
  flex: 1;
}

.sidebar .nav-btn[data-sidebar-icon] .icon.nav-icon-polished {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nav-icon-color) !important;
  border: 1px solid rgba(var(--nav-icon-rgb), .72) !important;
  border-radius: 10px !important;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .36), transparent 27%),
    linear-gradient(145deg, rgba(var(--nav-icon-rgb), .26), rgba(var(--nav-icon-rgb), .08) 58%, rgba(3, 10, 18, .72)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    inset 0 -1px 0 rgba(var(--nav-icon-rgb), .18),
    0 0 8px rgba(var(--nav-icon-rgb), .38),
    0 0 18px rgba(var(--nav-icon-rgb), .18) !important;
}

.sidebar .nav-btn[data-sidebar-icon] .nav-icon-svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 1.9;
  filter: drop-shadow(0 0 3px rgba(var(--nav-icon-rgb), .9));
}

.sidebar .nav-btn[data-sidebar-icon]:hover .icon.nav-icon-polished,
.sidebar .nav-btn[data-sidebar-icon]:focus-visible .icon.nav-icon-polished,
.sidebar .nav-btn[data-sidebar-icon].ativo .icon.nav-icon-polished,
.sidebar .nav-btn[data-sidebar-icon].active .icon.nav-icon-polished {
  color: #fff !important;
  border-color: rgba(var(--nav-icon-rgb), .95) !important;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .52), transparent 28%),
    linear-gradient(145deg, rgba(var(--nav-icon-rgb), .58), rgba(var(--nav-icon-rgb), .19) 62%, rgba(3, 10, 18, .72)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .34),
    0 0 10px rgba(var(--nav-icon-rgb), .7),
    0 0 24px rgba(var(--nav-icon-rgb), .34) !important;
}

.sidebar .nav-btn[data-sidebar-icon='escala_plantoes'],
.sidebar .nav-btn[data-sidebar-icon='relatorios'] { --nav-icon-color: #60a5fa; --nav-icon-rgb: 96, 165, 250; }
.sidebar .nav-btn[data-sidebar-icon='checklist'],
.sidebar .nav-btn[data-sidebar-icon='financeiro'],
.sidebar .nav-btn[data-sidebar-icon='integracoes_financeiras'] { --nav-icon-color: #34d399; --nav-icon-rgb: 52, 211, 153; }
.sidebar .nav-btn[data-sidebar-icon='tarefas_rapidas'] { --nav-icon-color: #fb7185; --nav-icon-rgb: 251, 113, 133; }
.sidebar .nav-btn[data-sidebar-icon='dashboard'],
.sidebar .nav-btn[data-sidebar-icon='meu_painel'] { --nav-icon-color: #a78bfa; --nav-icon-rgb: 167, 139, 250; }
.sidebar .nav-btn[data-sidebar-icon='estatisticas_atendimento'] { --nav-icon-color: #fbbf24; --nav-icon-rgb: 251, 191, 36; }
.sidebar .nav-btn[data-sidebar-icon='produtos_vencimento'] { --nav-icon-color: #facc15; --nav-icon-rgb: 250, 204, 21; }
.sidebar .nav-btn[data-sidebar-icon='produtos_vencimento'] .nav-icon-warning-triangle {
  fill: rgba(250, 204, 21, .2);
  stroke-width: 1.8;
}
.sidebar .nav-btn[data-sidebar-icon='produtos_vencimento'] .nav-icon-warning-mark {
  stroke-width: 2.4;
}
.sidebar .nav-btn[data-sidebar-icon='produtos_vencimento'] .nav-icon-warning-dot {
  fill: currentColor;
  stroke: none;
}
.sidebar .nav-btn[data-sidebar-icon='produtos_vencimento'] .icon.nav-icon-polished {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .28),
    inset 0 -1px 0 rgba(250, 204, 21, .26),
    0 0 10px rgba(250, 204, 21, .58),
    0 0 23px rgba(245, 158, 11, .28) !important;
}
.sidebar .nav-btn[data-sidebar-icon='raffinato'] { --nav-icon-color: #22d3ee; --nav-icon-rgb: 34, 211, 238; }
.sidebar .nav-btn[data-sidebar-icon='administracao_funcionarios'] { --nav-icon-color: #f472b6; --nav-icon-rgb: 244, 114, 182; }
.sidebar .nav-btn[data-sidebar-icon='configuracoes'] { --nav-icon-color: #94a3b8; --nav-icon-rgb: 148, 163, 184; }
.sidebar .nav-btn[data-sidebar-icon='saas'] { --nav-icon-color: #c084fc; --nav-icon-rgb: 192, 132, 252; }

@media (min-width: 901px) {
  body.sidebar-collapsed .sidebar .nav-btn[data-sidebar-icon] {
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 4px auto !important;
    padding: 0 !important;
  }

  body.sidebar-collapsed .sidebar .nav-btn[data-sidebar-icon]::before {
    content: none !important;
    display: none !important;
  }

  body.sidebar-collapsed .sidebar .nav-btn[data-sidebar-icon] > span:has(.nav-copy) {
    display: contents !important;
  }

  body.sidebar-collapsed .sidebar .nav-btn[data-sidebar-icon] .icon.nav-icon-polished {
    display: inline-flex !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-basis: 36px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
  }
}
