/* Rumo Exato — tokens oficiais de trabalho; marca pendente de validação jurídica. */
:root{--re-graphite:#1F2937;--re-primary:#14532D;--re-primary-hover:#166534;--re-mineral:#EAF4EE;--re-warm:#D97706;--re-bg:#FAFAFA;--re-surface:#fff;--re-text:#1F2937;--re-muted:#6B7280;--re-line:#E5E7EB;--re-success:#166534;--re-warning:#92400E;--re-danger:#B91C1C;--re-info:#1D4ED8;--re-font:Inter,system-ui,Arial,sans-serif;--re-radius:12px;--re-space:8px;--navy:var(--re-graphite);--accent:var(--re-primary);--ink:var(--re-text);--muted:var(--re-muted);--line:var(--re-line);--bg:var(--re-bg);--ok:var(--re-success);font-family:var(--re-font)}
html body,body.bn-embedded{font-family:var(--re-font)!important;color:var(--re-text)!important;background:var(--re-bg)!important;font-size:16px;line-height:1.5}
body *,body *:before,body *:after{box-sizing:border-box}body :is(h1,h2,h3){color:var(--re-text);line-height:1.25;overflow-wrap:anywhere}body h1{font-weight:650;letter-spacing:-.035em}body :is(h2,h3){font-weight:650;letter-spacing:-.015em}body :is(input,select,textarea,button){font-family:var(--re-font)!important}body :is(td,.kpi,.metric strong,.end){font-variant-numeric:tabular-nums}
body :is(#side,.side,aside.nav){background:var(--re-graphite)!important;color:#e7f0eb!important}body.bn-shell .navFoot{background:var(--re-graphite)!important}body.bn-shell .navItem.active{background:#234c3e!important;box-shadow:inset 3px 0 var(--re-mineral)!important;color:#fff!important}body.bn-shell .navItem:hover:not(.active){background:#283c34!important;color:#fff!important}body :is(.eyebrow,.eyelabel,.kicker,.sectionlabel){color:var(--re-primary)!important}
body .bn-official-logo{display:block;width:180px!important;max-width:100%;height:auto!important;object-fit:contain;flex:none}body #side .logo>.bn-official-logo{width:165px!important}body :is(#login,#authbox,#pending){border-radius:18px!important;border-color:var(--re-line)!important;box-shadow:0 18px 60px #1F29370a!important}body .bn-brand-heading{margin-bottom:24px}body .bn-brand-heading .bn-official-logo{width:230px!important}
body :is(.card,.box,.panel,.metric,.work,section){border-color:var(--re-line)}body :is(.card,.box,.panel,.metric,.work){background:var(--re-surface);border-radius:var(--re-radius)}body .metric.important{background:var(--re-graphite)!important;color:#fff!important}body .metric.important :is(strong,.caption,small){color:#fff!important}
body :is(button,.btn,.button){border:1px solid var(--re-line)!important;background:#eef4f0!important;color:var(--re-primary)!important;border-radius:8px!important;min-height:44px;font-weight:600!important;line-height:1.4;padding:10px 14px;cursor:pointer;max-width:100%;white-space:normal}body :is(button,.btn,.button):hover:not(:disabled){background:#dfece4!important}body :is(button[type=submit],.btn.primary,.btnPrimary,.button.primary,#login button){background:var(--re-primary)!important;color:#fff!important;border-color:var(--re-primary)!important}body #side :is(button,a){background:transparent!important;border-color:transparent!important;color:#dbe9e0!important}body #side .navItem.active{background:#234c3e!important;color:#fff!important}body #side .navItem:hover:not(.active){background:#283c34!important}body #bnMenuToggle{background:var(--re-graphite)!important;color:#fff!important}
body :is(.danger,.red,.negative){color:var(--re-danger)!important;background:#fff1f2!important}body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--re-primary)!important;outline-offset:3px}body button:disabled{opacity:.5;cursor:not-allowed}body button[aria-busy=true]{cursor:progress}body a:not(.btn):not(.navItem){color:var(--re-primary);text-underline-offset:3px}
body form label,body.bn-embedded label{display:flex!important;flex-direction:column;gap:7px;margin:0 0 16px!important;min-width:0;font-weight:600;color:var(--re-muted)}body label:has([type=checkbox]),body label:has([type=radio]){flex-direction:row!important;align-items:center}body :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]){min-height:44px!important;width:100%;min-width:0;max-width:100%;padding:10px 12px!important;border:1px solid var(--re-line)!important;background:#fff!important;color:var(--re-text)!important;border-radius:8px!important;font-size:14px!important}body table{border-collapse:collapse;width:100%}body th{color:var(--re-muted);background:#f5f8f6;font-weight:650}body :is(td,th){padding:12px 14px;border-bottom:1px solid var(--re-line);vertical-align:top;text-align:left}body :is(.grid,.formgrid)>*{min-width:0}body :is(.scroll,.tableWrap){overflow:auto;max-width:100%}body [role=alert]{color:var(--re-danger)}body [role=status],body .tag.neutral{color:var(--re-primary)}body .tag.warning{background:#fff1d9;color:var(--re-warning)}body [aria-current=page]{background:var(--re-primary)!important;color:#fff!important}
body.bn-shell.bn-shell-auth #app>header{box-shadow:none!important;border-color:var(--re-line)!important}body.bn-shell.bn-shell-auth #app>header>.bn-official-logo{width:76px!important;height:38px!important}body #bnFinanceSections a{border-color:var(--re-line)!important;color:var(--re-primary)!important;background:#fff!important}body #bnFinanceSections a[aria-current=page]{background:var(--re-primary)!important;color:#fff!important}body #bnEnvironment{background:#eef4f0!important;color:#294a3c!important}
@media(max-width:750px){body.bn-shell.bn-shell-auth #app>header>.bn-official-logo{width:50px!important;height:32px!important}body :is(.grid.two,.grid.three,.formgrid){grid-template-columns:minmax(0,1fr)!important}body.bn-embedded main{padding:16px 10px!important}body :is(td,th){padding:10px}body h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){body *,body *:before,body *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body .bn-official-logo{print-color-adjust:exact}body #side,body #bnMenuToggle,body #bnEnvironment{display:none!important}}
/* Especificidade explÃ­cita para os mÃ³dulos legados embutidos. */
html body.bn-embedded :is(button,.btn,.button){background:#eef4f0!important;color:var(--re-primary)!important;border-color:var(--re-line)!important}
html body.bn-embedded :is(button[type=submit],.btn.primary,.btnPrimary,.button.primary){background:var(--re-primary)!important;color:#fff!important;border-color:var(--re-primary)!important}
html body.bn-embedded :is(button.danger,button.red,button.negative){color:var(--re-danger)!important;background:#fff1f2!important}
html body.bn-embedded a:not(.btn):not(.button){color:var(--re-primary)!important}
html body.bn-embedded :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]){color:var(--re-text)!important;border-color:var(--re-line)!important}
body :is(dialog,[role=dialog],.modal-content){border:1px solid var(--re-line);border-radius:16px;background:var(--re-surface);color:var(--re-text);max-width:min(640px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px}body dialog::backdrop{background:#1F293780}
body :is(.toast,.notice,[role=status]):not(#bnBoot){border-color:var(--re-line)}body :is(.empty,.empty-state){padding:24px;text-align:center;color:var(--re-muted)}body :is(.badge,.tag){border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600}body .loading{color:var(--re-muted)}body [aria-label="Breadcrumb"]{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--re-muted)}

/* DireÃ§Ã£o C: adaptação dos tokens oficiais, sem substituir componentes funcionais. */
body :is(#side,.side,aside.nav),body.bn-shell .navFoot{background:var(--re-primary)!important}
body #side .navItem.active,body.bn-shell .navItem.active{background:var(--re-mineral)!important;color:var(--re-primary)!important;box-shadow:inset 3px 0 var(--re-warm)!important}
body #side .navItem:hover:not(.active),body.bn-shell .navItem:hover:not(.active){background:var(--re-success)!important;color:#fff!important}
body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--re-info)!important;outline-offset:3px}
body :is(h1,h2,h3){text-wrap:balance}body h1{font-weight:700}
@media(min-width:1024px){body h1{font-size:36px}}

body #side .logo{padding:22px 7px 18px!important}body #side .logo>.bn-official-logo{width:180px!important;max-width:100%!important}
body :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]){border-color:#9CA3AF!important}
body :is(.card,.box,.panel,.metric,.work){border-radius:14px;box-shadow:0 3px 15px rgba(31,41,55,.06)}
@media(max-width:750px){body :is(button,.btn,.button){min-height:48px}}
/* Estados explícitos: o hover genérico não pode clarear botão com texto branco. */
body :is(button[type=submit],.btn.primary,.btnPrimary,.button.primary,#login button):hover:not(:disabled),html body.bn-embedded :is(button[type=submit],.btn.primary,.btnPrimary,.button.primary):hover:not(:disabled){background:#0D4424!important;color:#fff!important;border-color:#0D4424!important}
body #side :is(button,a):focus-visible{outline:3px solid #fff!important;outline-offset:-4px}
html body.bn-embedded :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]),body :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]){border-color:var(--re-muted)!important}
body .tag.warning::before{content:'! ';font-weight:700}
