:root {
  --ui-primary: #176b87;
  --ui-primary-strong: #0f526a;
  --ui-primary-soft: #e6f4f8;
  --ui-bg: #f3f6fa;
  --ui-surface: #ffffff;
  --ui-text: #172b36;
  --ui-muted: #647782;
  --ui-border: #dce6eb;
  --ui-success: #168353;
  --ui-warning: #b7791f;
  --ui-danger: #c33f4a;
  --ui-radius: 14px;
  --ui-shadow: 0 8px 28px rgba(21, 53, 67, .08);
}

body {
  color: var(--ui-text);
  background: var(--ui-bg);
}

.custom-sidebar {
  background: linear-gradient(180deg, #176b87 0%, #125a73 58%, #0d465c 100%);
  box-shadow: 5px 0 24px rgba(12, 55, 72, .16);
}

.custom-sidebar li a {
  width: 100%;
  background: transparent;
  border-radius: 10px;
}

.custom-sidebar li a:hover,
.custom-sidebar li a.router-link-active,
.custom-sidebar li a.router-link-exact-active {
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 3px 0 0 #fff;
}

.custom-sidebar li a:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(47, 169, 210, .35);
  outline-offset: 2px;
}

.custom-sidebar i { font-size: 20px; }
.custom-sidebar li a .custom-links_name { font-weight: 650; letter-spacing: .1px; }

.custom-container,
.caixa-pagina,
.usuarios-route,
.configuracoes-pagina {
  color: var(--ui-text);
}

.custom-container h1,
.caixa-pagina h1,
.usuarios-panel__header h1,
.configuracoes-pagina h1 {
  color: var(--ui-text) !important;
  font-weight: 800;
  letter-spacing: -.5px;
}

.custom-container h1 + p,
.caixa-pagina header p,
.usuarios-panel__header p,
.configuracoes-pagina header p {
  color: var(--ui-muted) !important;
}

.tabela-creche,
.caixa-tabela,
.caixa-resumos > div,
.usuarios-panel-comum,
.usuarios-card,
.configuracoes-pagina .usuarios-card,
.custom-main-content {
  border: 1px solid rgba(220, 230, 235, .9) !important;
  border-radius: var(--ui-radius) !important;
  background: var(--ui-surface) !important;
  box-shadow: var(--ui-shadow) !important;
}

.filtros-creche {
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 4px 16px rgba(21, 53, 67, .05);
}

.custom-container table,
.caixa-tabela table,
.usuarios-table-wrapper table {
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: visible !important;
  color: var(--ui-text);
}

.tabela-creche,
.tabela-creche table,
.tabela-creche tbody,
.tabela-creche tr,
.tabela-creche td {
  overflow: visible !important;
}

.tabela-creche td:has(.dropdown-menu.show) {
  position: relative;
  z-index: 10020;
}

.custom-container table thead th,
.caixa-tabela th,
.usuarios-table-wrapper th {
  border-bottom: 1px solid #cbdce4 !important;
  background: #eaf2f6 !important;
  color: #244552 !important;
  font-size: 13px;
  font-weight: 800 !important;
  letter-spacing: .15px;
  text-transform: none !important;
}

.custom-container table tbody td,
.caixa-tabela td,
.usuarios-table-wrapper td {
  border-bottom: 1px solid #e6edf1 !important;
  background: #fff;
  vertical-align: middle;
}

.custom-container table tbody tr:nth-child(even) td,
.caixa-tabela tbody tr:nth-child(even) td,
.usuarios-table-wrapper tbody tr:nth-child(even) td {
  background: #f9fbfc;
}

.custom-container table tbody tr:hover td,
.caixa-tabela tbody tr:hover td,
.usuarios-table-wrapper tbody tr:hover td {
  background: #edf7fa !important;
}

body:has(.custom-sidebar) button,
body:has(.custom-sidebar) .btn,
#open-modal,
#botao-venda-avulsa {
  border-radius: 9px !important;
  transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease !important;
}

body:has(.custom-sidebar) button:not(:disabled):hover,
body:has(.custom-sidebar) .btn:not(:disabled):hover,
#open-modal:hover,
#botao-venda-avulsa:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 16px rgba(20, 75, 96, .15);
}

body:has(.custom-sidebar) button:disabled { cursor: not-allowed; opacity: .62; }

#open-modal,
.btn-primary,
.usuarios-form button,
.configuracoes-form button,
.caixa-tabela [data-cupom-ordem] {
  border-color: var(--ui-primary) !important;
  background: var(--ui-primary) !important;
  color: #fff !important;
  font-weight: 750 !important;
}

#open-modal:hover,
.btn-primary:hover,
.usuarios-form button:hover,
.configuracoes-form button:hover,
.caixa-tabela [data-cupom-ordem]:hover {
  background: var(--ui-primary-strong) !important;
}

body:has(.custom-sidebar) input:not([type="checkbox"]):not([type="radio"]),
body:has(.custom-sidebar) select,
body:has(.custom-sidebar) textarea,
body:has(.custom-sidebar) .select2-container .select2-selection {
  border: 1px solid #b9cad3 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--ui-text) !important;
  box-shadow: inset 0 1px 2px rgba(20, 55, 68, .03);
}

body:has(.custom-sidebar) input:not([type="checkbox"]):not([type="radio"]):focus,
body:has(.custom-sidebar) select:focus,
body:has(.custom-sidebar) textarea:focus {
  border-color: var(--ui-primary) !important;
  box-shadow: 0 0 0 3px rgba(23, 107, 135, .13) !important;
}

.dropdown-menu {
  padding: 6px !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 11px !important;
  box-shadow: 0 14px 36px rgba(18, 54, 68, .16) !important;
  background: #fff !important;
  color: var(--ui-text) !important;
  z-index: 10010 !important;
  overflow: visible !important;
}

.dropdown-menu.show { display: block !important; visibility: visible !important; opacity: 1 !important; }

.dropdown-item {
  padding: 8px 10px !important;
  border-radius: 7px;
  color: var(--ui-text) !important;
  background: transparent !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.dropdown-item:hover { background: var(--ui-primary-soft) !important; color: var(--ui-primary-strong) !important; }

.badge,
.vencimento-badge,
.date-pill {
  border-radius: 999px !important;
  font-weight: 750 !important;
}

.custom-modal,
.custom-modal-P,
.venda-modal,
.catalogo-modal,
.adicionais-card {
  border-radius: 16px !important;
  box-shadow: 0 24px 70px rgba(8, 33, 44, .28) !important;
}

.caixa-resumos > div { position: relative; overflow: hidden; }
.caixa-resumos > div::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--ui-primary); }
.caixa-resumos b { color: var(--ui-primary) !important; }

@media (max-width: 750px) {
  body { padding-right: 8px; padding-left: 8px; }
  .custom-container,.caixa-pagina,.usuarios-route,.configuracoes-pagina { padding-right: 10px !important; padding-left: 10px !important; }
  .tabela-creche,.caixa-tabela,.usuarios-panel-comum { padding: 10px !important; border-radius: 11px !important; }
  .custom-container table th,.custom-container table td,.caixa-tabela th,.caixa-tabela td { padding: 9px 8px !important; font-size: 12px; }
  .custom-row { gap: 8px; flex-wrap: wrap; }
  #open-modal,#botao-venda-avulsa { min-height: 42px; }
}

@media print {
  .custom-sidebar,.custom-header { display: none !important; }
}
