/* Ajusta alinhamento dos inputs com ícones */
.input-icon {
    position: relative;
    display: flex;
    align-items: center;   /* centraliza verticalmente */
    width: 100%;
}

.input-icon > i {
    position: absolute;
    left: 8px;             /* distância da borda esquerda */
    font-size: 14px;
    color: #007bff;
    pointer-events: none;  /* não atrapalhar clique */
}

.input-icon > input.form-control {
    padding-left: 2rem;    /* espaço para o ícone */
    height: 33px;          /* altura fixa (ou deixe automático se usar bootstrap padrão) */
}

.form-group label {
    font-weight: 600;
    margin-bottom: 5px;
}

.help-block.text-danger {
    margin-top: 2px;
    font-size: 0.85rem;
}

.form-group.row > .col-12.col-md-6 {
    margin-bottom: 0.5rem;
}

/* Reduz espaçamento entre os grupos de formulário */
.form-group {
    margin-bottom: 0.5rem; /* metade do padrão (~1rem) */
}

/* Ajuste extra para versões Ace/Bootstrap que usam .row */
.form-group.row > .col-12,
.form-group.row > .col-md-6,
.form-group.row > .col-sm-9 {
    margin-bottom: 0.5rem;
}


/* ===================== CORES GLOBAIS ===================== */
:root {
  --bs-primary: #4a6655;          /* verde institucional */
  --bs-primary-rgb: 20, 107, 54;

  --bs-success: #4c4d4d;
  --bs-success-rgb: 0, 204, 102;

  --bs-dark: #0b3d1d;
  --bs-dark-rgb: 11, 61, 29;
}

/* Links */
a {
  color: var(--bs-success);
  text-decoration: none;
}
a:hover {
  color: #438EB9;
}

/* ===================== BOTÕES ===================== */
.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-primary:hover {
  background-color: #0f5a2d;
  border-color: #0f5a2d;
}

.btn-success {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
  color: #fff;
}
.btn-success:hover {
  background-color: #00b85c;
  border-color: #00b85c;
}

/* Botões outline */
.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-outline-primary:hover {
  background-color: var(--bs-primary);
  color: #fff;
}

.btn-outline-success {
  color: var(--bs-success);
  border-color: var(--bs-success);
}
.btn-outline-success:hover {
  background-color: var(--bs-success);
  color: #fff;
}

/* ===================== FORMULÁRIOS ===================== */
.form-control:focus {
  border-color: var(--bs-success);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-success-rgb), 0.25);
}

.form-label {
  font-weight: 600;
  color: var(--bs-dark);
}

/* Placeholders */
::placeholder {
  color: #aaa !important;
}

/* ===================== NAVBAR ===================== */
.navbar {
  background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-dark) 100%) !important;
}

.navbar .navbar-brand img {
  height: 32px;
}

/* ===================== SIDEBAR ===================== */
#sidebar {
  background-color: #1c1c1c !important;
}

#sidebar .nav-link {
  color: var(--bs-success);
  font-weight: 500;
  padding: 10px 16px;
}

#sidebar .nav-link:hover,
#sidebar .nav-link:focus {
  color: #4dff88;
  background: rgba(255, 255, 255, 0.05);
}

/* Submenu */
#sidebar .collapse .nav-link {
  color: #b3ffcc;
  font-size: 0.9rem;
  padding-left: 2rem;
}
#sidebar .collapse .nav-link:hover {
  color: #4dff88;
}

/* ===================== TÍTULOS ===================== */
h1, h2, h3, h4, h5 {
  color: var(--bs-primary);
  font-weight: 600;
}

/* ===================== TABELAS ===================== */
.table thead th {
  color: #908383;
  border-color: var(--bs-primary);
}
.table tbody tr:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.05);
}

/* ============seletor de unidade===================== */
/* Caixa centralizada de seleção de unidade */
.card {
  border-radius: 10px;
}

.card h5 {
  font-weight: 600;
}
/* Harmoniza altura e bordas do select + botão */
.input-group .form-select,
.input-group .btn {
  height: 42px !important;       /* mesma altura */
  border-radius: 8px !important; /* cantos arredondados */
}

/* Remove arredondamento entre select e botão (apenas desktop) */
@media (min-width: 577px) {
  .input-group .form-select {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .input-group .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }
}

/* Mobile: empilhar */
@media (max-width: 576px) {
  .input-group {
    flex-direction: column !important;
    gap: 8px;
  }

  .input-group .form-select,
  .input-group .btn {
    border-radius: 8px !important;
    width: 100% !important;
  }
}
