:root {
    --blue-700: #1565C0;
    /* Azul Petrópolis */
    --blue-800: #0D47A1;
    --green-600: #2E7D32;
    /* Verde institucional */
    --green-500: #43A047;
    --teal-500: #10B981;
    --gold-500: #CDAF72;
    /* (não usado) Dourado de destaque */
    --slate-900: #0F172A;
    --slate-800: #1E293B;
    --slate-700: #334155;
    --slate-600: #475569;
    --slate-500: #64748B;
    --bg: #F5F7FB;
    --white: #fff;
    --radius-xl: 18px;
    --radius-lg: 14px;
    --shadow-xs: 0 4px 12px rgba(0, 0, 0, .05);
    --shadow-sm: 0 6px 18px rgba(0, 0, 0, .06);
    --shadow-md: 0 12px 30px rgba(0, 0, 0, .08);
    --shadow-lg: 0 20px 50px rgba(21, 101, 192, .18);
}

html,
body {
    height: 100%;
}

body {
    background: var(--bg);
    color: var(--slate-800);
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

main {
    min-height: 100vh;
}

.navbar-brand {
  padding: 0 !important;

}

/* Barra institucional */
.brandbar {
  background: linear-gradient(90deg, var(--blue-800), var(--green-600));
  color: var(--white);
  box-shadow: var(--shadow-xs);
}

.brandbar .logos img {
  height: 110px;
  object-fit: contain;
  filter: saturate(1.1) contrast(1.05);
}

.brandbar .logos .divider {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, .25);
  margin: 0 16px;
}

.brandbar small {
  color: rgba(255, 255, 255, .92) !important;
}

.select2-search__field :focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 25%);

}