/* SILEM — ajustes sobre o AdminLTE 4: cores da logo e tipografia compacta. */

:root {
  --silem-marinho: #0f274d;
  --silem-rio: #2180be;
  --silem-rio-escuro: #186a9f;
  --silem-ouro: #be9448;
  --silem-mata: #376e46;
  --silem-acai: #c8202a;

  --bs-primary: var(--silem-rio);
  --bs-primary-rgb: 33, 128, 190;
  --bs-primary-text-emphasis: #0d3350;
  --bs-primary-bg-subtle: #e3f0f9;
  --bs-primary-border-subtle: #a6cfeb;
  --bs-link-color: var(--silem-rio);
  --bs-link-color-rgb: 33, 128, 190;
  --bs-link-hover-color: var(--silem-rio-escuro);
  --bs-link-hover-color-rgb: 24, 106, 159;
  --bs-success: var(--silem-mata);
  --bs-success-rgb: 55, 110, 70;
  --bs-warning: var(--silem-ouro);
  --bs-warning-rgb: 190, 148, 72;
  --bs-danger: var(--silem-acai);
  --bs-danger-rgb: 200, 32, 42;

  --bs-body-font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Tipografia pequena: tudo em rem acompanha */
html { font-size: 14px; }

.btn-primary {
  --bs-btn-bg: var(--silem-rio);
  --bs-btn-border-color: var(--silem-rio);
  --bs-btn-hover-bg: var(--silem-rio-escuro);
  --bs-btn-hover-border-color: var(--silem-rio-escuro);
  --bs-btn-active-bg: var(--silem-rio-escuro);
  --bs-btn-active-border-color: var(--silem-rio-escuro);
  --bs-btn-disabled-bg: var(--silem-rio);
  --bs-btn-disabled-border-color: var(--silem-rio);
}
.btn-outline-primary {
  --bs-btn-color: var(--silem-rio);
  --bs-btn-border-color: var(--silem-rio);
  --bs-btn-hover-bg: var(--silem-rio);
  --bs-btn-hover-border-color: var(--silem-rio);
  --bs-btn-active-bg: var(--silem-rio);
  --bs-btn-active-border-color: var(--silem-rio);
}
.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: #a6cfeb;
  box-shadow: 0 0 0 .2rem rgb(33 128 190 / .2);
}
.form-check-input:checked { background-color: var(--silem-rio); border-color: var(--silem-rio); }
.page-link { --bs-pagination-color: var(--silem-rio); --bs-pagination-active-bg: var(--silem-rio); --bs-pagination-active-border-color: var(--silem-rio); }

/* Menu lateral no azul-marinho da logo */
.app-sidebar[data-bs-theme="dark"] { background-color: var(--silem-marinho) !important; }
.app-sidebar .sidebar-menu .nav-link.active { background-color: var(--silem-rio) !important; color: #fff !important; }
.sidebar-brand { border-bottom: 2px solid var(--silem-ouro) !important; }
.sidebar-brand .brand-image { background: #fff; padding: 2px; }
.sidebar-brand .brand-text { font-weight: 700; letter-spacing: .04em; }

/* Faixa com as cores da logo sob o cabeçalho */
.app-header { border-bottom: 0 !important; }
.app-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--silem-rio), var(--silem-mata), var(--silem-ouro), var(--silem-acai));
}

/* Cards e caixas de informação */
.info-box { min-height: 64px; }
.info-box .info-box-icon { width: 52px; font-size: 1.4rem; }
.info-box .info-box-number { font-size: 1.15rem; }
.text-bg-ouro { background-color: var(--silem-ouro) !important; color: #fff !important; }
.text-bg-mata { background-color: var(--silem-mata) !important; color: #fff !important; }
.text-bg-marinho { background-color: var(--silem-marinho) !important; color: #fff !important; }

/* Resultados */
.resultado:hover { background-color: var(--bs-tertiary-bg); }
.resultado .titulo { font-weight: 600; }
.resultado .trecho { border-left: 2px solid var(--bs-primary-border-subtle); padding-left: .6rem; }
.esfera { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--silem-rio); vertical-align: middle; }
.esfera-ESTADUAL { background: var(--silem-ouro); }
.esfera-FEDERAL { background: var(--silem-mata); }

mark { background: #f4e6c8; padding: 0 .1em; }

.texto-norma { white-space: pre-line; line-height: 1.6; font-size: 1rem; }
.hash { word-break: break-all; font-size: .75rem; }

.card-primary.card-outline { border-top-color: var(--silem-rio) !important; }
.callout.callout-info {
  background-color: var(--bs-primary-bg-subtle);
  border-left-color: var(--silem-rio);
  color: var(--bs-primary-text-emphasis);
}

/* ---------- Painel do acervo ---------- */
.linha-barra { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr 4rem; align-items: center; gap: .6rem; padding: .2rem 0; }
.linha-barra .rotulo { font-size: .85rem; color: var(--bs-body-color); }
.linha-barra .valor { font-size: .85rem; text-align: right; font-variant-numeric: tabular-nums; color: var(--bs-secondary-color); }
.linha-barra:hover .barra { filter: brightness(1.12); }
.trilho { display: block; height: 10px; background: var(--bs-tertiary-bg); border-radius: 4px; }
.barra { display: block; height: 100%; min-width: 2px; background: var(--silem-rio); border-radius: 4px; transition: width .4s ease; }

.barra-empilhada { display: flex; gap: 2px; height: 14px; border-radius: 4px; overflow: hidden; background: var(--bs-tertiary-bg); }
.barra-empilhada .seg { display: block; height: 100%; transition: width .4s ease; }
.seg-rio, .legenda-rio { background: var(--silem-rio); }
.seg-ouro, .legenda-ouro { background: var(--silem-ouro); }
.legenda { display: inline-block; width: .7rem; height: .7rem; border-radius: 2px; vertical-align: -1px; }

.colunas { display: flex; align-items: flex-end; gap: 2px; height: 220px; padding-top: 1.2rem; }
.coluna { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; min-width: 0; position: relative; }
.barra-coluna { display: block; width: 100%; max-width: 28px; background: var(--silem-rio); border-radius: 4px 4px 0 0; transition: height .4s ease; }
.coluna:hover .barra-coluna { filter: brightness(1.15); }
.coluna .ano { font-size: .7rem; color: var(--bs-secondary-color); height: 1.1rem; white-space: nowrap; }
.coluna .valor-coluna { font-size: .65rem; color: var(--bs-secondary-color); visibility: hidden; position: absolute; top: -1rem; }
.coluna:hover .valor-coluna { visibility: visible; }
.col-progresso { min-width: 9rem; }
td .trilho { display: inline-block; width: 5rem; vertical-align: middle; margin-right: .3rem; }
.barra-ouro { background: var(--silem-ouro); }
