:root {
  --jg-primary: #496552;
  --jg-primary-strong: #374e3e;
  --jg-accent: #b68b57;
  --jg-azul: var(--jg-primary);
  --jg-azul-escuro: var(--jg-primary-strong);
  --jg-laranja: var(--jg-accent);
  --jg-laranja-escuro: #9c7445;
  --bs-primary: var(--jg-primary);
  --bs-primary-rgb: 73, 101, 82;
  --bs-primary-text-emphasis: #304537;
  --bs-primary-bg-subtle: #e6ede7;
  --bs-primary-border-subtle: #c4d2c7;
  --bs-link-color: #496552;
  --bs-link-color-rgb: 73, 101, 82;
  --bs-link-hover-color: #374e3e;
  --bs-link-hover-color-rgb: 55, 78, 62;
  --bs-info: #71847a;
  --bs-info-rgb: 113, 132, 122;
  --bs-body-font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --jg-raio: .7rem;
  --jg-raio-sm: .45rem;
  --bs-border-radius: var(--jg-raio-sm);
}

[data-bs-theme="light"] {
  color-scheme: light;
  --bs-body-bg: #f3f3ef;
  --bs-body-color: #252a26;
  --bs-emphasis-color: #202520;
  --bs-heading-color: #292f2a;
  --bs-secondary-color: #737972;
  --bs-secondary-color-rgb: 115, 121, 114;
  --bs-tertiary-bg: #f7f7f3;
  --bs-secondary-bg: #eeeeea;
  --bs-border-color: #e1e2db;
  --bs-border-color-translucent: rgba(37, 42, 38, .12);
  --jg-card-bg: #fff;
  --jg-campo-bg: #fff;
  --jg-campo-borda: #d3d6ce;
  --jg-thead-bg: #f5f5f1;
  --jg-faixa: #f7f7f3;
  --jg-zebra: #fbfbf8;
  --jg-hover-bg: #f0f3ef;
  --jg-rotulo: #666e67;
  --jg-sombra: 0 2px 8px rgba(37, 42, 38, .045);
  --jg-sidebar-bg: #252c28;
  --jg-sidebar-muted: #a7b0a9;
}

[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-bg: #1b201d;
  --bs-body-color: #e4e8e3;
  --bs-emphasis-color: #f4f5f2;
  --bs-heading-color: #f0f2ee;
  --bs-secondary-color: #a0aaa2;
  --bs-secondary-color-rgb: 160, 170, 162;
  --bs-tertiary-bg: #252c28;
  --bs-secondary-bg: #252c28;
  --bs-border-color: #353d37;
  --bs-border-color-translucent: rgba(255, 255, 255, .09);
  --bs-primary: #91ad96;
  --bs-primary-rgb: 145, 173, 150;
  --bs-primary-text-emphasis: #b5cbb8;
  --bs-primary-bg-subtle: #29382d;
  --bs-primary-border-subtle: #405b47;
  --bs-link-color: #a7c0ab;
  --bs-link-color-rgb: 167, 192, 171;
  --bs-link-hover-color: #c3d4c5;
  --bs-link-hover-color-rgb: 195, 212, 197;
  --bs-info: #a8b9ad;
  --bs-info-rgb: 168, 185, 173;
  --jg-primary: #91ad96;
  --jg-primary-strong: #78977e;
  --jg-accent: #c6a575;
  --jg-laranja: var(--jg-accent);
  --jg-laranja-escuro: #a98656;
  --jg-card-bg: #222824;
  --jg-campo-bg: #1d231f;
  --jg-campo-borda: #414a43;
  --jg-thead-bg: #292f2b;
  --jg-faixa: #272e29;
  --jg-zebra: rgba(255, 255, 255, .018);
  --jg-hover-bg: #2b342e;
  --jg-rotulo: #b0b9b1;
  --jg-sombra: 0 2px 10px rgba(0, 0, 0, .16);
  --jg-sidebar-bg: #171c19;
  --jg-sidebar-muted: #929d94;
}

body { background: var(--bs-body-bg); letter-spacing: .005em; }

.jg-sidebar, [data-bs-theme="dark"] .jg-sidebar {
  background: var(--jg-sidebar-bg);
  color: #e0e5df;
  border-right: 1px solid rgba(255, 255, 255, .055);
  box-shadow: none;
}
.jg-sidebar .marca { padding: 1.15rem 1.1rem; border-bottom-color: rgba(255, 255, 255, .09); }
.jg-sidebar .marca img { width: 40px; height: 40px; }
.jg-sidebar .marca strong { color: #f3f4f0; font-size: .96rem; letter-spacing: .07em; }
.jg-sidebar .marca small { color: #c6a575; font-weight: 700; letter-spacing: .22em; }
.jg-sidebar nav { padding: .8rem .7rem; }
.jg-sidebar .secao { color: var(--jg-sidebar-muted); font-size: .66rem; font-weight: 700; letter-spacing: .14em; }
.jg-sidebar .nav-link {
  color: #c3cbc4;
  border-radius: .45rem;
  padding: .58rem .75rem;
  font-size: .9rem;
  transition: background-color .16s ease, color .16s ease;
}
.jg-sidebar .nav-link i { color: #9aa69c; }
.jg-sidebar .nav-link:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.jg-sidebar .nav-link:hover i { color: #d5c09b; }
.jg-sidebar .nav-link.active, [data-bs-theme="dark"] .jg-sidebar .nav-link.active {
  background: rgba(145, 173, 150, .15);
  color: #f6f7f4;
  font-weight: 650;
  box-shadow: inset 3px 0 0 #c6a575;
}
.jg-sidebar .nav-link.active i { color: #d2b78f; }
.jg-sidebar .rodape { border-top-color: rgba(255, 255, 255, .09); }
.jg-sidebar .btn-sair { color: #d7aaa0; }
.jg-sidebar .btn-sair:hover { background: rgba(190, 100, 83, .14); color: #fff; }

.jg-main { min-width: 0; }
.jg-topbar {
  min-height: 60px;
  padding: .6rem 1.55rem;
  background: color-mix(in srgb, var(--jg-card-bg) 96%, transparent);
  border-bottom-color: var(--bs-border-color);
  backdrop-filter: saturate(120%) blur(10px);
}
.jg-topbar .titulo { color: var(--bs-heading-color); font-size: 1.08rem; font-weight: 650; }
.jg-conteudo { padding: 1.45rem 1.55rem 2rem; }

.card {
  background: var(--jg-card-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--jg-raio);
  box-shadow: var(--jg-sombra);
}
[data-bs-theme="dark"] .card { border-color: var(--bs-border-color); }
.card-header {
  background: var(--jg-faixa);
  border-bottom-color: var(--bs-border-color);
  color: var(--bs-heading-color);
  padding: .78rem 1rem;
  font-size: .86rem;
  font-weight: 650;
  letter-spacing: .01em;
  text-transform: none;
}
.card-header > i:first-child, .card-header > span > i:first-child { color: var(--jg-accent) !important; }
.card-body { padding: 1.1rem; }
.card-footer { background: var(--jg-faixa); border-top-color: var(--bs-border-color); }
.shadow-jg { box-shadow: var(--jg-sombra); }

.btn { font-weight: 600; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.btn-primary, [data-bs-theme="dark"] .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #496552;
  --bs-btn-border-color: #496552;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #374e3e;
  --bs-btn-hover-border-color: #374e3e;
  --bs-btn-active-bg: #314636;
  --bs-btn-active-border-color: #314636;
  --bs-btn-disabled-bg: #738575;
  --bs-btn-disabled-border-color: #738575;
}
[data-bs-theme="dark"] .btn-primary {
  --bs-btn-bg: #58765e;
  --bs-btn-border-color: #58765e;
  --bs-btn-hover-bg: #68866e;
  --bs-btn-hover-border-color: #68866e;
  --bs-btn-active-bg: #4b6951;
  --bs-btn-active-border-color: #4b6951;
}
.btn-outline-primary, [data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: var(--jg-primary);
  --bs-btn-border-color: var(--jg-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--jg-primary);
  --bs-btn-hover-border-color: var(--jg-primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--jg-primary-strong);
  --bs-btn-active-border-color: var(--jg-primary-strong);
}
.btn-laranja {
  --bs-btn-bg: var(--jg-accent);
  --bs-btn-border-color: var(--jg-accent);
  --bs-btn-hover-bg: var(--jg-laranja-escuro);
  --bs-btn-hover-border-color: var(--jg-laranja-escuro);
}
.btn:focus-visible, .form-control:focus, .form-select:focus {
  border-color: var(--jg-primary);
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--jg-primary) 22%, transparent);
}
.form-control, .form-select { background-color: var(--jg-campo-bg); border-color: var(--jg-campo-borda); }
.form-control:disabled, .form-control[readonly], .form-select:disabled { background-color: var(--bs-tertiary-bg); }
.input-group-text { background: var(--jg-faixa); border-color: var(--jg-campo-borda); color: var(--bs-secondary-color); }
.form-check-input:checked, .form-check-input:indeterminate { background-color: var(--jg-primary); border-color: var(--jg-primary); }
[data-bs-theme="dark"] .form-check-input { background-color: var(--jg-campo-bg); }
[data-bs-theme="dark"] .form-check-input:checked, [data-bs-theme="dark"] .form-check-input:indeterminate {
  background-color: var(--jg-primary);
  border-color: var(--jg-primary);
}
.form-label { color: var(--jg-rotulo); }
.secao-form, [data-bs-theme="light"] .secao-form {
  color: var(--jg-primary-strong);
  border-bottom-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .secao-form { color: #b9cbbd; }

.text-primary { color: var(--jg-primary) !important; }
.bg-primary { background-color: var(--jg-primary) !important; }
.nav-pills { --bs-nav-pills-link-active-bg: var(--jg-primary); }
[data-bs-theme="dark"] .nav-pills { --bs-nav-pills-link-active-bg: #58765e; }
.nav-pills .nav-link { color: var(--jg-rotulo); }
.nav-pills .nav-link.active { color: #fff; }
.nav-tabs .nav-link.active { color: var(--jg-primary); }
.table {
  --bs-table-bg: transparent;
  --bs-table-hover-bg: var(--jg-hover-bg);
  --bs-table-border-color: var(--bs-border-color);
}
.table thead th { background: var(--jg-thead-bg); color: var(--jg-rotulo); }
.table > tbody > tr:nth-of-type(even):not(.linha-etapas):not(.grupo-permissoes) > * { background-color: var(--jg-zebra); }
.table-hover > tbody > tr:hover > * { background-color: var(--jg-hover-bg) !important; }
.filtros { background: var(--jg-card-bg); border-color: var(--bs-border-color); box-shadow: var(--jg-sombra); }
.badge.text-bg-primary, [data-bs-theme="dark"] .text-bg-primary {
  background-color: var(--jg-primary) !important;
  color: #fff !important;
}
.badge.text-bg-info {
  background-color: #e8eee8 !important;
  border: 1px solid #d5dfd6;
  color: #45604d !important;
}
[data-bs-theme="dark"] .badge.text-bg-info {
  background-color: #34443a !important;
  border-color: #485c4d;
  color: #d0dfd2 !important;
}
[data-bs-theme="dark"] .text-bg-light { background-color: #303833 !important; color: #dce2dc !important; }
[data-bs-theme="dark"] .text-bg-light.border { border-color: var(--bs-border-color) !important; }
[data-bs-theme="dark"] .alert-light { --bs-alert-bg: #292f2b; --bs-alert-color: #dce2dc; --bs-alert-border-color: #3a433c; }
[data-bs-theme="dark"] .modal-content, [data-bs-theme="dark"] .dropdown-menu {
  --bs-modal-bg: var(--jg-card-bg);
  --bs-dropdown-bg: var(--jg-card-bg);
  background-color: var(--jg-card-bg);
}
[data-bs-theme="dark"] .list-group { --bs-list-group-bg: var(--jg-card-bg); --bs-list-group-border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .nav-tabs {
  --bs-nav-tabs-link-active-bg: var(--jg-card-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--jg-card-bg);
}

.kpi { border-color: var(--bs-border-color); border-left-color: var(--kpi-cor, var(--jg-primary)); }
[data-bs-theme="dark"] .kpi { border-color: var(--bs-border-color); border-left-color: var(--kpi-cor, var(--jg-primary)); }
.kpi .icone {
  background: color-mix(in srgb, var(--kpi-cor, var(--jg-primary)) 13%, transparent);
  color: var(--kpi-cor, var(--jg-primary));
}
[data-bs-theme="dark"] .kpi .icone { background: color-mix(in srgb, var(--kpi-cor, var(--jg-primary)) 20%, transparent); }
.kpi-azul { --kpi-cor: #718b77; }
.kpi-laranja { --kpi-cor: #b68b57; }
.kpi-verde { --kpi-cor: #4f8064; }
.kpi-vermelho { --kpi-cor: #b96759; }
.kpi-roxo { --kpi-cor: #85748f; }
.kpi-cinza { --kpi-cor: #778078; }
.kpi-ciano { --kpi-cor: #64877d; }
.atalho { border-radius: var(--jg-raio); }
.atalho i { color: var(--jg-accent); }
.atalho:hover { border-color: var(--jg-accent); color: var(--jg-primary); background: color-mix(in srgb, var(--jg-accent) 6%, var(--jg-card-bg)); }
.codigo-chip { background: color-mix(in srgb, var(--jg-primary) 12%, transparent); color: var(--jg-primary); }
.codigo-usuario, .matriz-permissoes .grupo-permissoes th { color: var(--jg-primary); }
[data-bs-theme="dark"] .codigo-usuario, [data-bs-theme="dark"] .matriz-permissoes .grupo-permissoes th { color: #b4c9b8; }
.escolha-tipo { border-top-color: var(--jg-primary); }
.escolha-tipo:hover, .escolha-tipo:focus-visible { border-color: var(--jg-accent); }
.etapa-chip.concluida { border-color: #5b8b68; }

.login-fundo {
  background:
    radial-gradient(ellipse at 18% 18%, rgba(182, 139, 87, .1), transparent 36%),
    radial-gradient(ellipse at 84% 78%, rgba(73, 101, 82, .11), transparent 42%),
    #eeefea;
}
.login-card {
  max-width: 440px;
  overflow: hidden;
  border: 1px solid rgba(48, 57, 49, .08);
  border-radius: 1rem;
  box-shadow: 0 22px 65px rgba(33, 40, 34, .13);
}
.login-card .topo { padding: 2.2rem 2rem 1.1rem; }
.login-card .topo img { width: 68px; height: 68px; }
.login-card .topo h1 { color: var(--jg-primary-strong); font-size: 1.3rem; letter-spacing: .09em; }
.login-card .topo p { font-size: .92rem; }
.login-card .card-body { padding: .65rem 2rem 2rem !important; }
.login-card .form-label { font-size: .76rem; letter-spacing: .035em; }
.login-card .form-control { min-height: 48px; }
.login-card .btn-primary { min-height: 48px; }
.login-rodape { color: #747b73; font-size: .76rem; }
.login-rodape .btn-outline-light {
  --bs-btn-color: #4b5c4d;
  --bs-btn-border-color: #bfc6bc;
  --bs-btn-hover-color: #2c382e;
  --bs-btn-hover-bg: #e4e8e0;
  --bs-btn-hover-border-color: #aeb8ad;
}
[data-bs-theme="dark"] .login-fundo {
  background:
    radial-gradient(ellipse at 18% 18%, rgba(198, 165, 117, .11), transparent 36%),
    radial-gradient(ellipse at 84% 78%, rgba(105, 139, 112, .13), transparent 42%),
    #171c19;
}
[data-bs-theme="dark"] .login-card { border-color: #3a433c; box-shadow: 0 22px 65px rgba(0, 0, 0, .34); }
[data-bs-theme="dark"] .login-card .topo h1 { color: #d4e0d5; }
[data-bs-theme="dark"] .login-rodape { color: #a4aca5; }
[data-bs-theme="dark"] .login-rodape .btn-outline-light {
  --bs-btn-color: #ccd5cc;
  --bs-btn-border-color: #5c675e;
  --bs-btn-hover-color: #f4f5f2;
  --bs-btn-hover-bg: #343c36;
  --bs-btn-hover-border-color: #78847a;
}

#calendario {
  --fc-border-color: var(--bs-border-color);
  --fc-page-bg-color: var(--jg-card-bg);
  --fc-today-bg-color: color-mix(in srgb, var(--jg-accent) 12%, transparent);
  --fc-button-bg-color: #496552;
  --fc-button-border-color: #496552;
  --fc-button-hover-bg-color: #374e3e;
  --fc-button-hover-border-color: #374e3e;
  --fc-button-active-bg-color: var(--jg-accent);
  --fc-button-active-border-color: var(--jg-accent);
  --fc-neutral-bg-color: var(--bs-tertiary-bg);
}
[data-bs-theme="dark"] #calendario {
  --fc-button-bg-color: #58765e;
  --fc-button-border-color: #58765e;
  --fc-button-hover-bg-color: #68866e;
  --fc-button-hover-border-color: #68866e;
  --fc-list-event-hover-bg-color: #2b342e;
}
#calendario .fc-toolbar-title { color: var(--bs-heading-color); }
#calendario .fc .fc-button-primary { box-shadow: none; }
#calendario .fc .fc-button-primary:focus { box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--jg-primary) 22%, transparent); }

@media (max-width: 991.98px) {
  .jg-topbar { min-height: 56px; padding: .55rem .85rem; }
  .jg-conteudo { padding: .9rem .8rem 1.3rem; }
}
@media (max-width: 575.98px) {
  .login-card .topo { padding: 1.7rem 1.4rem .8rem; }
  .login-card .card-body { padding: .5rem 1.35rem 1.5rem !important; }
  .jg-topbar .titulo { font-size: 1rem; }
}

/* JG / contraste absoluto: branco no modo claro, preto no modo escuro. */
:root {
  --jg-primary: #111;
  --jg-primary-strong: #050505;
  --jg-accent: #c7f36a;
  --jg-laranja: var(--jg-accent);
  --jg-laranja-escuro: #acd94d;
  --bs-primary: #111;
  --bs-primary-rgb: 17, 17, 17;
  --bs-primary-text-emphasis: #111;
  --bs-primary-bg-subtle: #f0f0f0;
  --bs-primary-border-subtle: #d3d3d3;
  --bs-link-color: #111;
  --bs-link-color-rgb: 17, 17, 17;
  --bs-link-hover-color: #647d27;
  --bs-link-hover-color-rgb: 100, 125, 39;
  --bs-info: #686868;
  --bs-info-rgb: 104, 104, 104;
  --jg-raio: .35rem;
  --jg-raio-sm: .25rem;
  --bs-border-radius: .25rem;
  --bs-border-radius-sm: .2rem;
  --bs-border-radius-lg: .4rem;
  --jg-sidebar-w: 264px;
}

[data-bs-theme="light"] {
  color-scheme: light;
  --bs-body-bg: #fff;
  --bs-body-color: #171717;
  --bs-emphasis-color: #050505;
  --bs-heading-color: #080808;
  --bs-secondary-color: #727272;
  --bs-secondary-color-rgb: 114, 114, 114;
  --bs-tertiary-bg: #fff;
  --bs-secondary-bg: #fff;
  --bs-border-color: #e6e6e6;
  --bs-border-color-translucent: rgba(0, 0, 0, .1);
  --bs-primary: #111;
  --bs-primary-rgb: 17, 17, 17;
  --bs-primary-text-emphasis: #111;
  --bs-primary-bg-subtle: #f3f3f3;
  --bs-primary-border-subtle: #d9d9d9;
  --bs-link-color: #111;
  --bs-link-color-rgb: 17, 17, 17;
  --bs-link-hover-color: #647d27;
  --bs-link-hover-color-rgb: 100, 125, 39;
  --bs-info: #686868;
  --bs-info-rgb: 104, 104, 104;
  --jg-primary: #111;
  --jg-primary-strong: #050505;
  --jg-accent: #c7f36a;
  --jg-laranja: var(--jg-accent);
  --jg-laranja-escuro: #acd94d;
  --jg-card-bg: #fff;
  --jg-campo-bg: #fff;
  --jg-campo-borda: #dedede;
  --jg-thead-bg: #fff;
  --jg-faixa: #fff;
  --jg-zebra: transparent;
  --jg-hover-bg: #f7f7f7;
  --jg-rotulo: #666;
  --jg-sombra: 0 2px 14px rgba(0, 0, 0, .035);
  --jg-sidebar-bg: #fff;
  --jg-sidebar-muted: #888;
}

[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-bg: #050505;
  --bs-body-color: #eee;
  --bs-emphasis-color: #fff;
  --bs-heading-color: #fff;
  --bs-secondary-color: #a2a2a2;
  --bs-secondary-color-rgb: 162, 162, 162;
  --bs-tertiary-bg: #050505;
  --bs-secondary-bg: #050505;
  --bs-border-color: #292929;
  --bs-border-color-translucent: rgba(255, 255, 255, .12);
  --bs-primary: #d2f98b;
  --bs-primary-rgb: 210, 249, 139;
  --bs-primary-text-emphasis: #e0ffad;
  --bs-primary-bg-subtle: #171d10;
  --bs-primary-border-subtle: #3a4821;
  --bs-link-color: #e7e7e7;
  --bs-link-color-rgb: 231, 231, 231;
  --bs-link-hover-color: #d2f98b;
  --bs-link-hover-color-rgb: 210, 249, 139;
  --bs-info: #c5c5c5;
  --bs-info-rgb: 197, 197, 197;
  --jg-primary: #d2f98b;
  --jg-primary-strong: #e0ffad;
  --jg-accent: #d2f98b;
  --jg-laranja: var(--jg-accent);
  --jg-laranja-escuro: #b7df73;
  --jg-card-bg: #050505;
  --jg-campo-bg: #050505;
  --jg-campo-borda: #373737;
  --jg-thead-bg: #050505;
  --jg-faixa: #050505;
  --jg-zebra: transparent;
  --jg-hover-bg: #141414;
  --jg-rotulo: #aaa;
  --jg-sombra: none;
  --jg-sidebar-bg: #050505;
  --jg-sidebar-muted: #858585;
}

html { font-size: 14px; scroll-behavior: smooth; }
body { background: var(--bs-body-bg); color: var(--bs-body-color); font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
::selection { color: #080808; background: #c7f36a; }

/* Uma folha de navegação leve no claro; a mesma folha vira uma silhueta no escuro. */
.jg-sidebar, [data-bs-theme="dark"] .jg-sidebar {
  background: var(--jg-sidebar-bg);
  color: var(--bs-body-color);
  border-right: 1px solid var(--bs-border-color);
  box-shadow: none;
}
.jg-sidebar .marca {
  min-height: 82px;
  padding: 1.1rem 1.15rem;
  gap: .75rem;
  border-bottom: 1px solid var(--bs-border-color);
}
.jg-sidebar .marca img { width: 39px; height: 39px; }
.jg-sidebar .marca strong { color: var(--bs-heading-color); font-size: .9rem; letter-spacing: .075em; }
.jg-sidebar .marca small { margin-top: .22rem; color: var(--jg-rotulo); font-size: .58rem; font-weight: 700; letter-spacing: .2em; }
.jg-sidebar nav { padding: 1.2rem .85rem; }
.jg-sidebar .secao { padding: 1.3rem .8rem .42rem; color: var(--jg-sidebar-muted); font-size: .59rem; font-weight: 750; letter-spacing: .17em; }
.jg-sidebar .nav-link {
  position: relative;
  min-height: 40px;
  margin-bottom: 3px;
  padding: .63rem .78rem;
  gap: .72rem;
  border: 1px solid transparent;
  border-radius: .3rem;
  color: var(--bs-body-color);
  font-size: .83rem;
  font-weight: 530;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.jg-sidebar .nav-link i { width: 1.15rem; color: var(--jg-rotulo); font-size: .98rem; }
.jg-sidebar .nav-link:hover { transform: translateX(2px); background: var(--jg-hover-bg); color: var(--bs-emphasis-color); }
.jg-sidebar .nav-link.active, [data-bs-theme="dark"] .jg-sidebar .nav-link.active {
  background: var(--jg-primary);
  color: #fff;
  font-weight: 650;
  box-shadow: none;
}
.jg-sidebar .nav-link.active i { color: #c7f36a; }
[data-bs-theme="dark"] .jg-sidebar .nav-link.active,
[data-bs-theme="dark"] .jg-sidebar .nav-link.active i { color: #080808; }
[data-bs-theme="dark"] .jg-sidebar .nav-link.active { background: #d2f98b; }
.jg-sidebar .rodape { padding: .8rem .85rem; border-top: 1px solid var(--bs-border-color); }
.jg-sidebar .btn-sair { border-radius: .3rem; padding: .65rem .8rem; color: #9c3e37; font-size: .83rem; }
.jg-sidebar .btn-sair:hover { background: rgba(184, 67, 55, .08); color: #822c26; }
[data-bs-theme="dark"] .jg-sidebar .btn-sair { color: #ef9b91; }

.jg-main { min-width: 0; background: var(--bs-body-bg); }
.jg-topbar {
  min-height: 76px;
  padding: .72rem 2rem;
  gap: 1rem;
  background: var(--bs-body-bg);
  border-bottom: 1px solid var(--bs-border-color);
  backdrop-filter: none;
}
.jg-topbar-titulo { min-width: 0; }
.jg-topbar-contexto { display: block; margin-bottom: .12rem; color: var(--jg-rotulo); font-size: .57rem; font-weight: 700; letter-spacing: .16em; }
.jg-topbar .titulo { color: var(--bs-heading-color); font-size: 1.2rem; font-weight: 680; letter-spacing: -.035em; }
.jg-data { align-items: center; gap: .5rem; color: var(--jg-rotulo); font-size: .72rem; white-space: nowrap; }
.jg-data i { color: var(--jg-primary); }
.jg-usuario-avatar {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--jg-primary);
  color: #fff;
}
[data-bs-theme="dark"] .jg-usuario-avatar { color: #050505; }
.jg-conteudo { padding: 1.8rem 2rem 2.4rem; }

.jg-conteudo h2:not(.modal-title), .jg-conteudo h3, .jg-conteudo h4 { color: var(--bs-heading-color); letter-spacing: -.025em; }
.jg-conteudo > .d-flex.flex-wrap.align-items-center.justify-content-between.mb-3 h2 {
  font-size: 1.75rem;
  font-weight: 690;
  letter-spacing: -.055em;
}
.jg-conteudo > .d-flex.flex-wrap.align-items-center.justify-content-between.mb-3 h2 + div { margin-top: .3rem; }
.jg-painel-overline {
  display: flex;
  align-items: center;
  gap: .48rem;
  margin-bottom: .48rem;
  color: var(--jg-rotulo);
  font-size: .59rem;
  font-weight: 750;
  letter-spacing: .14em;
}
.jg-painel-overline span { width: 7px; height: 7px; background: var(--jg-accent); }
.jg-conteudo > .d-flex.flex-wrap.align-items-center.justify-content-between.mb-3:has(.jg-painel-overline) {
  min-height: 92px;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bs-border-color);
}
.seletor-tema .btn.active { background: #c7f36a; border-color: #c7f36a; color: #080808; }
[data-bs-theme="dark"] .seletor-tema .btn.active { background: #d2f98b; border-color: #d2f98b; color: #050505; }

.card, [data-bs-theme="dark"] .card {
  background: var(--jg-card-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: .4rem;
  box-shadow: var(--jg-sombra);
}
.card-header {
  padding: .82rem 1rem;
  background: var(--jg-card-bg);
  border-bottom: 1px solid var(--bs-border-color);
  color: var(--bs-heading-color);
  font-size: .79rem;
  font-weight: 650;
  letter-spacing: .015em;
  text-transform: none;
}
.card-header > i:first-child, .card-header > span > i:first-child { color: var(--jg-primary) !important; }
.card-body { padding: 1.12rem; }
.card-footer { background: var(--jg-card-bg); border-top: 1px solid var(--bs-border-color); }
.shadow-jg { box-shadow: var(--jg-sombra); }

.btn {
  min-height: 36px;
  border-radius: .25rem;
  font-size: .8rem;
  font-weight: 650;
  letter-spacing: .005em;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.btn-sm { min-height: 30px; font-size: .75rem; }
.btn-primary, [data-bs-theme="dark"] .btn-primary {
  --bs-btn-color: #080808;
  --bs-btn-bg: #c7f36a;
  --bs-btn-border-color: #c7f36a;
  --bs-btn-hover-color: #080808;
  --bs-btn-hover-bg: #d5fa8b;
  --bs-btn-hover-border-color: #d5fa8b;
  --bs-btn-active-color: #080808;
  --bs-btn-active-bg: #acd94d;
  --bs-btn-active-border-color: #acd94d;
  --bs-btn-disabled-color: #444;
  --bs-btn-disabled-bg: #e4edcf;
  --bs-btn-disabled-border-color: #e4edcf;
}
.btn-outline-primary, [data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: #080808;
  --bs-btn-hover-bg: #c7f36a;
  --bs-btn-hover-border-color: #c7f36a;
  --bs-btn-active-color: #080808;
  --bs-btn-active-bg: #c7f36a;
  --bs-btn-active-border-color: #c7f36a;
}
.btn-outline-secondary, [data-bs-theme="dark"] .btn-outline-secondary {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: var(--bs-emphasis-color);
  --bs-btn-hover-bg: var(--jg-hover-bg);
  --bs-btn-hover-border-color: var(--jg-rotulo);
  --bs-btn-active-color: var(--bs-emphasis-color);
  --bs-btn-active-bg: var(--jg-hover-bg);
  --bs-btn-active-border-color: var(--jg-rotulo);
}
.btn-laranja { --bs-btn-bg: #c7f36a; --bs-btn-border-color: #c7f36a; --bs-btn-color: #080808; --bs-btn-hover-color: #080808; }
.btn:focus-visible, .form-control:focus, .form-select:focus {
  border-color: var(--jg-primary);
  box-shadow: 0 0 0 .19rem color-mix(in srgb, var(--jg-primary) 20%, transparent);
}
.form-control, .form-select {
  min-height: 38px;
  border-radius: .25rem;
  background-color: var(--jg-campo-bg);
  border-color: var(--jg-campo-borda);
  color: var(--bs-body-color);
}
.form-control:disabled, .form-control[readonly], .form-select:disabled { background-color: var(--bs-tertiary-bg); }
.form-control::placeholder { color: var(--bs-secondary-color); opacity: .75; }
.input-group-text { background: var(--jg-campo-bg); border-color: var(--jg-campo-borda); color: var(--jg-rotulo); }
.form-label { color: var(--jg-rotulo); font-size: .67rem; font-weight: 720; letter-spacing: .08em; }
.form-check-input:checked, .form-check-input:indeterminate { background-color: #111; border-color: #111; }
[data-bs-theme="dark"] .form-check-input { background-color: #050505; border-color: #555; }
[data-bs-theme="dark"] .form-check-input:checked, [data-bs-theme="dark"] .form-check-input:indeterminate {
  background-color: #d2f98b;
  border-color: #d2f98b;
}

.text-primary { color: var(--jg-primary) !important; }
.bg-primary { background-color: var(--jg-primary) !important; }
.nav-pills { --bs-nav-pills-link-active-bg: var(--jg-primary); }
[data-bs-theme="dark"] .nav-pills { --bs-nav-pills-link-active-bg: #d2f98b; }
.nav-pills .nav-link {
  border: 1px solid var(--bs-border-color);
  border-radius: .25rem;
  color: var(--bs-body-color);
  font-size: .74rem;
  font-weight: 650;
}
.nav-pills .nav-link.active { border-color: var(--jg-primary); color: #fff; }
[data-bs-theme="dark"] .nav-pills .nav-link.active { color: #050505; }
.nav-tabs .nav-link.active { color: var(--jg-primary); }
.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--bs-body-color);
  --bs-table-hover-bg: var(--jg-hover-bg);
  --bs-table-border-color: var(--bs-border-color);
}
.table > :not(caption) > * > * { padding: .68rem .78rem; }
.table thead th { background: var(--jg-card-bg); color: var(--jg-rotulo); font-size: .62rem; letter-spacing: .12em; }
.table > tbody > tr:nth-of-type(even):not(.linha-etapas):not(.grupo-permissoes) > * { background-color: var(--jg-zebra); }
.table-hover > tbody > tr:hover > * { background-color: var(--jg-hover-bg) !important; }
.filtros { background: var(--jg-card-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem; box-shadow: none; }
.badge { border-radius: .18rem; font-size: .68rem; font-weight: 650; letter-spacing: .02em; }
.badge.text-bg-primary, [data-bs-theme="dark"] .text-bg-primary { background: #c7f36a !important; color: #080808 !important; }
.badge.text-bg-info { background: #efefef !important; border: 1px solid #e1e1e1; color: #393939 !important; }
[data-bs-theme="dark"] .badge.text-bg-info { background: #171717 !important; border-color: #343434; color: #ddd !important; }
.badge.text-bg-light, [data-bs-theme="dark"] .text-bg-light { background: var(--jg-card-bg) !important; color: var(--bs-body-color) !important; }
.badge.text-bg-light.border, [data-bs-theme="dark"] .text-bg-light.border { border-color: var(--bs-border-color) !important; }
[data-bs-theme="dark"] .alert-light { --bs-alert-bg: #0c0c0c; --bs-alert-color: #e6e6e6; --bs-alert-border-color: #292929; }
[data-bs-theme="dark"] .modal-content, [data-bs-theme="dark"] .dropdown-menu { background: #050505; }
[data-bs-theme="dark"] .list-group { --bs-list-group-bg: #050505; --bs-list-group-border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .nav-tabs {
  --bs-nav-tabs-link-active-bg: #050505;
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) #050505;
}
.dropdown-menu { --bs-dropdown-bg: var(--jg-card-bg); --bs-dropdown-link-color: var(--bs-body-color); --bs-dropdown-link-hover-bg: var(--jg-hover-bg); }
.dropdown-item { color: var(--bs-body-color); }
.dropdown-divider { border-color: var(--bs-border-color); }
.modal-content { background: var(--jg-card-bg); border-color: var(--bs-border-color); }
.modal-header, .modal-footer { border-color: var(--bs-border-color); }

.kpi, [data-bs-theme="dark"] .kpi { border: 1px solid var(--bs-border-color); border-top: 2px solid var(--kpi-cor, var(--jg-primary)); border-radius: .35rem; }
.kpi .card-body { gap: .8rem; padding: 1rem; }
.kpi .icone {
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--kpi-cor, var(--jg-primary)) 30%, transparent);
  border-radius: .3rem;
  background: color-mix(in srgb, var(--kpi-cor, var(--jg-primary)) 8%, transparent);
  color: var(--kpi-cor, var(--jg-primary));
}
.kpi .rotulo { font-size: .62rem; font-weight: 720; letter-spacing: .105em; }
.kpi .valor { font-size: 1.4rem; font-weight: 690; letter-spacing: -.045em; }
.kpi-azul { --kpi-cor: #555; }
.kpi-laranja { --kpi-cor: #777; }
.kpi-verde { --kpi-cor: #5b7d36; }
.kpi-vermelho { --kpi-cor: #a3443c; }
.kpi-roxo { --kpi-cor: #72617b; }
.kpi-cinza { --kpi-cor: #777; }
.kpi-ciano { --kpi-cor: #587d72; }
.atalho { border: 1px solid var(--bs-border-color); border-radius: .3rem; color: var(--bs-body-color); font-size: .7rem; font-weight: 650; }
.atalho i { color: var(--jg-primary); }
.atalho:hover { border-color: var(--jg-primary); background: var(--jg-primary); color: #fff; }
.atalho:hover i { color: #c7f36a; }
[data-bs-theme="dark"] .atalho:hover { color: #050505; }
[data-bs-theme="dark"] .atalho:hover i { color: #050505; }
.codigo-chip { background: color-mix(in srgb, var(--jg-primary) 12%, transparent); color: var(--jg-primary); }
.codigo-usuario, .matriz-permissoes .grupo-permissoes th { color: var(--jg-primary); }
[data-bs-theme="dark"] .codigo-usuario, [data-bs-theme="dark"] .matriz-permissoes .grupo-permissoes th { color: #d2f98b; }
.escolha-tipo { border-top-color: var(--jg-primary); }
.escolha-tipo:hover, .escolha-tipo:focus-visible { border-color: var(--jg-primary); }
.escolha-tipo .fs-5 { letter-spacing: -.02em; }
.etapa-chip { border-radius: .2rem; }
.etapa-chip.concluida { border-color: #729249; }

/* Calendário e gráficos continuam legíveis sem reintroduzir tons de azul. */
#calendario {
  --fc-border-color: var(--bs-border-color);
  --fc-page-bg-color: var(--jg-card-bg);
  --fc-today-bg-color: color-mix(in srgb, var(--jg-accent) 15%, transparent);
  --fc-button-bg-color: #111;
  --fc-button-border-color: #111;
  --fc-button-hover-bg-color: #333;
  --fc-button-hover-border-color: #333;
  --fc-button-active-bg-color: #c7f36a;
  --fc-button-active-border-color: #c7f36a;
  --fc-neutral-bg-color: var(--jg-card-bg);
  --fc-list-event-hover-bg-color: var(--jg-hover-bg);
}
#calendario .fc .fc-button-primary { border-radius: .22rem; color: #fff; font-weight: 650; box-shadow: none; }
#calendario .fc .fc-button-primary.fc-button-active { color: #080808; }
[data-bs-theme="dark"] #calendario .fc .fc-button-primary { --fc-button-bg-color: #171717; --fc-button-border-color: #383838; }
[data-bs-theme="dark"] #calendario .fc .fc-button-primary:not(.fc-button-active) { color: #eee; }
#calendario .fc .fc-button-primary:focus { box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--jg-primary) 20%, transparent); }
#calendario .fc-toolbar-title { color: var(--bs-heading-color); font-size: 1.15rem; font-weight: 680; letter-spacing: -.025em; }
#calendario a { color: inherit; }
.etapa-concluida { background: color-mix(in srgb, #74964b 10%, transparent); }

/* Login em duas colunas: manifesto da marca + acesso, sem o cartão padrão. */
.login-fundo {
  position: relative;
  display: grid;
  min-height: 100vh;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .82fr);
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}
[data-bs-theme="dark"] .login-fundo { background: #050505; }
.login-apresentacao {
  position: relative;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 5.2rem);
  background: #fff;
  border-right: 1px solid #ededed;
}
[data-bs-theme="dark"] .login-apresentacao { background: #050505; border-right-color: #242424; }
.login-apresentacao-marca { position: relative; z-index: 1; display: flex; align-items: center; gap: .78rem; color: #111; font-size: .83rem; letter-spacing: .13em; }
[data-bs-theme="dark"] .login-apresentacao-marca { color: #fff; }
.login-apresentacao-marca img { width: 40px; height: 40px; }
.login-apresentacao-marca strong { font-weight: 780; }
.login-apresentacao-conteudo { position: relative; z-index: 1; max-width: 570px; padding: 4rem 0 5rem; }
.login-overline { display: inline-flex; align-items: center; gap: .55rem; color: #717171; font-size: .61rem; font-weight: 750; letter-spacing: .17em; }
[data-bs-theme="dark"] .login-overline { color: #a1a1a1; }
.login-overline > span { width: 7px; height: 7px; border-radius: 50%; background: #a4d64c; box-shadow: 0 0 0 3px rgba(199, 243, 106, .19); }
.login-apresentacao-conteudo h2 { margin: 1.35rem 0 1.1rem; color: #101010; font-size: clamp(3.2rem, 6.1vw, 6.1rem); font-weight: 720; line-height: .96; letter-spacing: -.085em; }
[data-bs-theme="dark"] .login-apresentacao-conteudo h2 { color: #f5f5f5; }
.login-apresentacao-conteudo h2 span { color: #909090; }
[data-bs-theme="dark"] .login-apresentacao-conteudo h2 span { color: #888; }
.login-apresentacao-conteudo p { max-width: 380px; margin: 0; color: #777; font-size: .92rem; line-height: 1.75; }
[data-bs-theme="dark"] .login-apresentacao-conteudo p { color: #a0a0a0; }
.login-apresentacao-rodape { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; color: #898989; font-size: .57rem; font-weight: 700; letter-spacing: .13em; }
.login-apresentacao-rodape i { color: #8fba42; font-size: .9rem; vertical-align: middle; }
.login-projeto { position: absolute; right: 4%; bottom: 10%; width: min(34%, 260px); height: 125px; opacity: .28; }
.login-projeto::before { position: absolute; inset: 14px 0 0 15px; border-top: 1px solid #dcdcdc; border-left: 1px solid #dcdcdc; content: ""; }
[data-bs-theme="dark"] .login-projeto::before { border-color: #373737; }
.login-projeto::after { position: absolute; top: 0; left: 0; width: 38%; height: 63%; border-top: 2px solid #b1d963; border-left: 2px solid #b1d963; content: ""; }
.login-projeto-linha { position: absolute; top: 26px; right: 12%; bottom: 0; width: 27%; border: 1px solid #ddd; }
[data-bs-theme="dark"] .login-projeto-linha { border-color: #373737; }
.login-projeto-bloco { position: absolute; display: block; border: 1px solid #cfcfcf; }
[data-bs-theme="dark"] .login-projeto-bloco { border-color: #424242; }
.login-projeto-bloco-1 { left: 15%; bottom: 0; width: 28%; height: 42%; }
.login-projeto-bloco-2 { left: 44%; bottom: 0; width: 25%; height: 70%; }
.login-projeto-cota { position: absolute; display: block; width: 22px; height: 22px; border-color: #9dc64e; border-style: solid; }
.login-projeto-cota-1 { top: 11px; left: 10px; border-width: 1px 0 0 1px; }
.login-projeto-cota-2 { right: 9%; bottom: 0; border-width: 0 1px 1px 0; }
.login-acesso { display: grid; min-height: 100vh; place-items: center; padding: 2.5rem clamp(1.5rem, 5.5vw, 5rem); background: #fff; }
[data-bs-theme="dark"] .login-acesso { background: #050505; }
.login-acesso-conteudo { width: min(100%, 410px); }
.login-acesso-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 4.2rem; }
.login-acesso-cabecalho .btn-group { flex-shrink: 0; }
.login-card, [data-bs-theme="dark"] .login-card { width: 100%; max-width: none; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.login-card .topo { padding: 0 0 1.9rem; text-align: left; }
.login-etiqueta { color: #777; font-size: .59rem; font-weight: 750; letter-spacing: .16em; }
[data-bs-theme="dark"] .login-etiqueta { color: #a1a1a1; }
.login-card .topo h1 { margin: .62rem 0 .28rem; color: #111; font-size: 2.45rem; font-weight: 700; letter-spacing: -.07em; }
[data-bs-theme="dark"] .login-card .topo h1 { color: #f4f4f4; }
.login-card .topo h1 span { color: #89b537; }
.login-card .topo p { margin: 0; color: #777; font-size: .86rem; }
[data-bs-theme="dark"] .login-card .topo p { color: #a0a0a0; }
.login-card .card-body { padding: 0 !important; }
.login-card .form-label { margin-bottom: .48rem; color: #5f5f5f; font-size: .65rem; }
[data-bs-theme="dark"] .login-card .form-label { color: #b0b0b0; }
.login-card .form-control { min-height: 49px; border-radius: .22rem; background: #fff; }
[data-bs-theme="dark"] .login-card .form-control { background: #050505; }
.login-card .input-group-text { min-width: 45px; justify-content: center; border-radius: .22rem 0 0 .22rem; }
.login-card .input-group > .form-control { border-radius: 0 .22rem .22rem 0; }
.login-card .btn-primary { min-height: 49px; justify-content: space-between; margin-top: .25rem; padding-inline: 1rem; border-radius: .22rem; text-align: left; }
.login-card .btn-primary i { font-size: 1rem; }
.login-card .btn-outline-secondary { min-height: 49px; }
.login-card .small.text-body-secondary { color: #777 !important; font-size: .75rem; line-height: 1.65; }
[data-bs-theme="dark"] .login-card .small.text-body-secondary { color: #a0a0a0 !important; }
.login-rodape { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3.2rem; color: #888; font-size: .57rem; letter-spacing: .1em; }
[data-bs-theme="dark"] .login-rodape { color: #929292; }
.login-rodape-divisor { margin: 0 .35rem; color: #a0bf65; }
.login-acesso-cabecalho .seletor-tema .btn.active { background: #c7f36a; border-color: #c7f36a; color: #111; }
[data-bs-theme="dark"] .login-acesso-cabecalho .seletor-tema .btn.active { background: #d2f98b; border-color: #d2f98b; color: #050505; }

@media (max-width: 991.98px) {
  .jg-topbar { min-height: 67px; padding: .55rem 1rem; }
  .jg-conteudo { padding: 1.2rem 1rem 1.7rem; }
  .login-fundo { grid-template-columns: minmax(0, .9fr) minmax(380px, 1fr); }
  .login-apresentacao { padding: 2.5rem; }
  .login-apresentacao-conteudo h2 { font-size: clamp(3.1rem, 7vw, 4.8rem); }
  .login-projeto { right: 4%; bottom: 4%; width: 35%; height: 100px; opacity: .18; }
  .login-acesso { padding: 2rem; }
}
@media (max-width: 767.98px) {
  .login-fundo { display: flex; min-height: 100vh; flex-direction: column; }
  .login-apresentacao { min-height: 0; padding: 1.15rem 1.35rem .7rem; border-right: 0; }
  .login-apresentacao-marca img { width: 33px; height: 33px; }
  .login-apresentacao-conteudo { padding: 2.5rem 0 1.5rem; }
  .login-apresentacao-conteudo h2 { margin: .85rem 0 .6rem; font-size: clamp(2.6rem, 10vw, 4rem); }
  .login-apresentacao-conteudo p { max-width: 420px; font-size: .82rem; }
  .login-projeto { display: none; }
  .login-apresentacao-rodape { display: none; }
  .login-acesso { display: block; min-height: 0; padding: .75rem 1.35rem 2rem; }
  .login-acesso-conteudo { width: min(100%, 480px); margin: 0 auto; }
  .login-acesso-cabecalho { margin-bottom: 1.6rem; }
  .login-card .topo { padding-bottom: 1.15rem; }
  .login-card .topo h1 { font-size: 2rem; }
  .login-rodape { margin-top: 2rem; }
}
@media (max-width: 430px) {
  .jg-topbar-contexto { font-size: .5rem; }
  .jg-topbar .titulo { font-size: 1rem; }
  .login-apresentacao-conteudo p { max-width: 280px; }
  .login-projeto { right: 0; bottom: 4%; width: 48%; opacity: .16; }
}
@media (max-width: 575.98px) {
  .jg-topbar { gap: .55rem; }
  .jg-topbar-contexto { display: none; }
  .jg-conteudo { padding-inline: .75rem; }
  .jg-painel-overline { font-size: .54rem; }
}
