/* Atlas Work day/night themes. Load after the page-specific stylesheets.
   Tokens copied read-only from Atlas Suite/suite-v2/web/src/tema.css. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url('/ibm-plex-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url('/ibm-plex-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url('/ibm-plex-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url('/ibm-plex-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url('/ibm-plex-mono-latin-400-normal.woff2') format('woff2')}

:root,html[data-theme="dark"]{
  color-scheme:dark;
  --fundo-de:#081029;--fundo-meio:#081029;--fundo-ate:#081029;--fundo:#081029;
  --lateral:#0E1428;--superficie:#121A33;--superficie-2:#18223F;--conversa:#0F1630;
  --borda:#22305A;--borda-campo:#5F6FA3;--texto:#EEF1FF;--texto-2:#9AA6C8;
  --acento:#8B7CFF;--acento-de:#5647E6;--acento-ate:#6B5CF6;
  --acento-fill:linear-gradient(135deg,var(--acento-de),var(--acento-ate));
  --acento-suave:rgba(124,108,255,.18);--sobre-acento:#FFFFFF;
  --lima:#B6F55A;--lima-texto:#B6F55A;
  --sucesso:#4ADE80;--sucesso-texto:#4ADE80;--sucesso-suave:rgba(74,222,128,.14);
  --perigo:#F87171;--perigo-suave:rgba(248,113,113,.14);
  --alerta:#FBBF24;--sobre-alerta:#081029;--alerta-suave:rgba(251,191,36,.14);
  --azul:#4F8BFF;--foco:#8B7CFF;--sombra:0 12px 32px rgba(0,0,0,.35);
  --raio-cartao:22px;--raio-item:16px;--raio-campo:12px;--raio-pilula:999px;
  --fonte:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fonte-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --navy:var(--texto);--navy-soft:var(--superficie-2);--ink:var(--texto);--text:var(--texto);
  --muted:var(--texto-2);--blue:var(--acento);--teal:var(--sucesso-texto);--line:var(--borda);
  --border:var(--borda);--paper:var(--superficie);--panel:var(--superficie);--canvas:var(--fundo);
  --red:var(--perigo);--red-soft:var(--perigo-suave);--amber:var(--alerta);--amber-soft:var(--alerta-suave);
  --teal-soft:var(--sucesso-suave);--radius:var(--raio-item);
  --cash-green:var(--sucesso);--cash-coral:var(--perigo);--revenue-blue:var(--acento);--revenue-violet:var(--sucesso);
  background:var(--fundo);color:var(--texto);font-family:var(--fonte);font-synthesis:none;
}
/* Day tokens copied from Work's light theme; no financial semantics change. */
html[data-theme="light"] {
  color-scheme: light;
  --fundo-de: #ECEEFF;
  --fundo-meio: #F7F8FC;
  --fundo-ate: #E6F2FF;
  --fundo: linear-gradient(135deg, var(--fundo-de), var(--fundo-meio), var(--fundo-ate));
  --lateral: rgba(255, 255, 255, 0.66);
  --superficie: rgba(255, 255, 255, 0.86);
  --superficie-2: #F0F2FA;
  --conversa: rgba(245, 246, 252, 0.70);
  --borda: rgba(15, 21, 48, 0.08);
  --borda-campo: #7D87A8;
  --texto: #081029;
  --texto-2: #5A6485;
  --acento: #5B4BF5;
  --acento-suave: #ECEAFF;
  --lima: #4D8A0A;
  --lima-texto: #3F7508;
  --sucesso: #15803D;
  --sucesso-texto: #127A38;
  --sucesso-suave: #E3F6EA;
  --perigo: #C2261C;
  --perigo-suave: #FDECEA;
  --alerta: #A15C00;
  --sobre-alerta: #FFFFFF;
  --alerta-suave: #FFF3E0;
  --azul: #2563EB;
  --foco: #5B4BF5;
  --sombra: 0 12px 32px rgba(40, 48, 110, 0.10);
}
html{scrollbar-color:var(--borda-campo) var(--lateral)}
body{background:var(--fundo);color:var(--texto);font:400 14px/1.55 var(--fonte);min-width:320px}
button,input,select,textarea{font-family:var(--fonte);font-synthesis:none}
button:hover{filter:none}
button,a,input,select,textarea,summary{touch-action:manipulation}
a{color:var(--acento);text-underline-offset:3px}
::selection{background:var(--acento);color:var(--sobre-alerta)}
:is(button,input,select,textarea,a,summary,[tabindex]):focus-visible,
.access-page :is(a,button,input,select,summary):focus-visible,
.account-controls :is(a,button):focus-visible,
.pricing-ui :is(input,textarea,select,button,summary,a):focus-visible,
.envios-module :is(input,textarea,select,button,summary,a):focus-visible,
.operational-controls select:focus-visible,.operational-presets button:focus-visible,
.projection-pdf:focus-visible,.projection-v34 summary:focus-visible,.projection-table-wrap:focus-visible,
.mov-refresh:focus-visible,.mov-table-wrap:focus-visible,.mov-details summary:focus-visible,
#apply-period:focus-visible{outline:3px solid var(--foco);outline-offset:3px}
:is(input,select,textarea){color-scheme:inherit;accent-color:var(--acento)}
::placeholder{color:var(--texto-2);opacity:1}
input[type=checkbox],input[type=radio]{accent-color:var(--acento)}
input[type=file]::file-selector-button{font:500 13px var(--fonte);background:var(--superficie-2);color:var(--texto);border:1px solid var(--borda-campo);border-radius:8px;padding:8px 12px;margin-right:10px}

/* Header and footer stay visible; only the main content and long navigation scroll. */
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}
.sidebar{position:sticky;inset:0 auto auto 0;top:0;width:232px;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;flex-shrink:0;padding:26px 15px 18px;background:var(--lateral);color:var(--texto);border-right:1px solid var(--borda);align-self:start}
.workspace{margin:0;width:auto;min-width:0;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.brand{display:flex;align-items:center;padding:0 8px;gap:12px;color:var(--texto);text-decoration:none;flex-wrap:nowrap}
.brand .atlas-logo{display:block;width:100px;height:auto;max-width:100%;flex:0 0 100px}
.brand .brand-product{display:block;flex:0 1 auto;color:var(--texto-2);font-size:12px;line-height:1.3;letter-spacing:.02em;margin:0}
.brand strong{font-weight:600;letter-spacing:.08em}
.brand div span,.nav-caption,.sidebar-note,.sidebar-note>span:last-child{color:var(--texto-2)}
.nav-caption{font-size:10px;font-weight:500;letter-spacing:.1em;margin:30px 11px 12px}
.tabs{gap:5px}
.nav-tab,.sidebar .nav-external{font:500 13px/1.4 var(--fonte);border-radius:12px;min-height:44px;padding:11px 12px;gap:10px;color:var(--texto-2);white-space:normal}
.nav-tab:hover,.sidebar .nav-external:hover{background:var(--superficie-2);color:var(--texto)}
.nav-tab.active,.nav-tab.active:hover{background:var(--acento-fill);color:var(--sobre-acento);box-shadow:none}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;height:20px;color:inherit}
.nav-icon svg{width:19px;height:19px}
.sidebar .nav-external{margin-top:7px}
.sidebar-note{border-color:var(--borda);padding:20px 10px 0;margin-top:24px;font-size:12px}
.sidebar-note strong{color:var(--texto);font-weight:500}
.private-dot{background:var(--sucesso)}
.topbar,.topbar:has(.account-controls){background:var(--fundo);border-color:var(--borda);padding:18px 30px;min-height:84px;height:auto;gap:18px;flex-wrap:wrap;color:var(--texto-2);flex:none}
.topbar-identity{gap:16px;min-width:0;color:var(--texto)}
.header-logo,.access-brand img{background:#fff;border-radius:10px;padding:7px 10px;width:150px;height:auto}
.topbar-title{display:block;font-size:13px;line-height:1.4;color:var(--texto-2)}
.topbar-title strong{display:block;color:var(--texto);font-weight:600}
.topbar-actions{gap:12px;min-width:0}
.navigation-toggle{display:none}
.workspace main{width:100%;max-width:1520px;flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:30px 30px 34px}
.page-heading{gap:24px;margin-bottom:25px}
.page-heading h1,.access-page h1,.mov-heading h1{font-family:var(--fonte);font-weight:600;letter-spacing:-.035em;font-size:32px;color:var(--texto)}
.page-heading p:last-child{font-size:14px;line-height:1.6;max-width:760px;color:var(--texto-2)}
.eyebrow,.access-eyebrow,.mov-eyebrow,.bank-eyebrow{color:var(--acento);font-size:11px;letter-spacing:.11em;font-weight:600}
.workspace>.page-footer,.access-footer{position:static;inset:auto;width:auto;z-index:auto;min-height:0;margin-top:auto;padding:16px 30px;border-top:1px solid var(--borda);background:var(--lateral);box-shadow:none;color:var(--texto-2);font:400 11px/1.65 var(--fonte);display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 20px}
.footer-author{white-space:normal}
.page-footer a,.access-footer a{color:var(--acento)}
.back-home{font-size:13px;min-height:40px;align-items:center}
.skip-link,.access-skip{color:var(--texto);background:var(--superficie-2);border:1px solid var(--foco);border-radius:var(--raio-campo)}

/* Quiet panels, legible controls and consistent financial typography. */
.panel,.metric,.process-card,.dashboard-card,.access-card,.bank-panel,.bank-metric,.mov-panel,.mov-metric,.projection-card,.pricing-result-metric{background:var(--superficie);border-color:var(--borda);border-radius:var(--raio-cartao);box-shadow:none;color:var(--texto)}
.panel-padding{padding:24px}
.panel-heading h2,.table-heading h2,.dashboard-heading h2,.pricing-ui .pricing-heading h2{font-family:var(--fonte);font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--texto)}
.panel-heading p,.table-heading span,.dashboard-heading p{font-size:12px;line-height:1.6;color:var(--texto-2)}
.metric{padding:22px;min-height:138px}
.metric-label,.dashboard-card-title,.projection-label{font-size:13px;line-height:1.5;color:var(--texto-2);font-weight:500}
.metric-value,.dashboard-card-value,.company-total,.yoy-value,.proof-value,.balance-year-counts strong,.operational-side strong,.pricing-reference-metric strong,.pricing-result-metric strong,.mov-metric strong,.bank-metric strong,.pay-result-bar strong,.projection-number{font-family:var(--fonte);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--texto)}
.metric-value,.dashboard-card-value{font-size:clamp(20px,1.64vw,28px);white-space:nowrap;overflow-wrap:normal;word-break:normal}
.metric-note,.dashboard-card-note,.mini-note,.table-note,.chart-footnote,.trace-cell-note,.contract-note{font-size:12px;line-height:1.65;color:var(--texto-2)}
.metric.accent,.dashboard-inflow{border-top-color:var(--acento)}
.metric.warning{border-top-color:var(--alerta)}
.dashboard-inflow .dashboard-card-value,.positive{color:var(--sucesso-texto)}
.dashboard-outflow .dashboard-card-value,.negative,.projection-negative{color:var(--perigo)}
.dashboard-card{padding:22px;gap:10px;min-width:0}
.dashboard-card:hover{border-color:var(--borda-campo);background:var(--superficie-2)}
.dashboard-general-grid .dashboard-card{background:var(--superficie)}
.dashboard-card-link,.dashboard-card-period{font-size:12px;color:var(--acento)}
.dashboard-current-note{color:var(--alerta)!important}
.company-filter{background:var(--lateral);border:1px solid var(--borda);padding:5px;border-radius:var(--raio-campo)}
.company-filter button{color:var(--texto-2);font-size:13px;min-height:36px;padding:8px 20px;border-radius:9px}
.company-filter .selected,.operational-presets [aria-pressed=true]{background:var(--acento-suave);color:var(--texto);box-shadow:none;border-color:var(--acento)}
.period-label{color:var(--texto-2);background:var(--superficie);border-color:var(--borda);font:400 12px var(--fonte);border-radius:var(--raio-campo)}
.period-application-status{font-size:12px;color:var(--texto-2)}
.has-pending-period .period-application-status{color:var(--alerta)}
.filter-bar{gap:16px}
select,input:not([type=checkbox]):not([type=radio]),textarea,.search-field,
.envios-module input,.envios-module textarea,.envios-module select,
.pricing-field input,.pricing-field textarea,.pricing-field select,
.access-field input,.access-field select,.bank-filters input,.bank-filters select,.pay-filters input,.pay-filters select,
.operational-range input{background:var(--conversa);color:var(--texto);border-color:var(--borda-campo);border-radius:var(--raio-campo);font-family:var(--fonte);font-size:13px;min-height:42px;line-height:1.4}
textarea{padding:10px 12px}
select option{background:var(--superficie);color:var(--texto)}
.date-filters label,.contract-filter label,.contract-period-filters label,.pricing-field,.envios-module .envios-field{font-size:12px;color:var(--texto-2)}
.secondary-button,.report-download,.icon-button,.access-button,.access-nav-button,.account-controls button,.mov-back,.bank-button,.projection-pdf,.pricing-presets button{background:var(--superficie-2);color:var(--texto);border:1px solid var(--borda-campo);border-radius:var(--raio-campo);font-family:var(--fonte);font-size:13px;min-height:40px;line-height:1.4}
.secondary-button:hover,.report-download:hover,.access-button:hover,.access-nav-button:hover,.account-controls button:hover,.mov-back:hover,.bank-button:hover,.projection-pdf:hover,.pricing-presets button:hover{background:var(--acento-suave);color:var(--texto);border-color:var(--acento)}
.primary-button,#apply-period,.envios-module .envios-primary,.pricing-primary,.access-button-primary,.access-page a.access-button-primary,.mov-refresh{background:var(--acento-fill);border:1px solid transparent;border-radius:var(--raio-campo);color:var(--sobre-acento);font:600 13px/1.4 var(--fonte);min-height:42px;padding:11px 17px}
.primary-button:hover,#apply-period:hover,.pricing-primary:hover,.access-button-primary:hover,.mov-refresh:hover{background:var(--acento-fill);box-shadow:0 0 0 1px var(--acento)}
#apply-period:disabled,button:disabled{cursor:default}
#apply-period:disabled{background:var(--superficie-2);border-color:var(--borda);color:var(--texto-2);opacity:1;box-shadow:none}
.icon-button{width:38px;height:38px;min-height:38px}
.source-button,.contributor-row button,.company-card-heading button{color:var(--acento);font-size:12px}
.status-pill,.badge.good,.envios-module .envios-status-REVISADO,.access-status-active{background:var(--sucesso-suave);color:var(--sucesso-texto);border-color:var(--sucesso)}
.badge{background:var(--superficie-2);color:var(--texto-2);font-size:11px;border-radius:8px}
.badge.warning,.access-status-disabled{color:var(--alerta);background:var(--alerta-suave)}
.notice,.mov-alert,.bank-notice,.projection-notice,.pricing-validity{color:var(--alerta);background:var(--alerta-suave);border-color:var(--alerta);border-radius:var(--raio-item);font-size:13px;line-height:1.65}
.notice.error,.pricing-error,.access-alert-error,.envios-module .envios-error,.envios-module .envios-status-DEVOLVIDO,.envios-module .envios-status-ERRO_VALIDACAO{color:var(--perigo);background:var(--perigo-suave);border-color:var(--perigo)}
.access-alert-success{color:var(--sucesso-texto);background:var(--sucesso-suave);border-color:var(--sucesso)}
.loading-state,.empty-state,.mov-empty{background:var(--superficie);color:var(--texto-2);border-color:var(--borda-campo);border-radius:var(--raio-item);font-size:14px}
.empty-state h2,.mov-empty h2{color:var(--texto)}
.empty-state p{font-size:13px}
.data-list li,.proof-value,.ixc-explanation{color:var(--texto-2)}
.chart-footnote,.finding,.data-list li,.manifest-item,.proof-grid>div,.ixc-titles-section,.contract-trace-section,.balance-section,.balance-chart>.mini-note{border-color:var(--borda)}
.data-list li:before{background:var(--acento)}
.finance-domain,.finance-domain.domain-1,.balance-year-card.difference,.operational-dates,.contract-evidence-group{background:var(--superficie-2);border-color:var(--borda);color:var(--texto);border-radius:var(--raio-item)}
.operational-side{background:var(--superficie);border-color:var(--borda);border-radius:var(--raio-item)}
.operational-side.selected{background:var(--acento-suave);border-color:var(--acento)}
.ixc-cancelled,.table-total .ixc-cancelled{background:var(--alerta-suave);border-color:var(--borda)}

/* Table scrolling stays inside each panel; numeric cells use the local mono face. */
table{font-size:12px}
th,.bank-table th,#movimento-page th{background:var(--superficie-2);color:var(--texto-2);border-color:var(--borda);font-size:11px;font-weight:500;letter-spacing:.035em}
td,.bank-table td,.bank-table th,#movimento-page th,#movimento-page td{border-color:var(--borda)}
tbody tr:hover,#movimento-page tbody tr:hover{background:var(--superficie-2)}
.table-total td,.pricing-fiscal tbody tr:last-child{background:var(--acento-suave);color:var(--texto);border-color:var(--borda)}
.numeric,.hash,code,pre,.access-field .access-code-input,.access-secret code,.access-recovery-codes code,
.pricing-field input[inputmode=decimal],.pay-table pre{font-family:var(--fonte-mono);font-weight:400;font-variant-numeric:tabular-nums}
.numeric.emphasis{font-weight:400;color:var(--texto)}
.envios-module .envios-table td{font-family:var(--fonte)}
.table-wrap,.pricing-table-wrap,.bank-table-wrap,.mov-table-wrap,.projection-table-wrap{max-width:100%;scrollbar-color:var(--borda-campo) var(--lateral)}
.table-note,.pagination,.table-total td,.table-page-size select{border-color:var(--borda)}
dialog,#bank-dialog{background:var(--superficie);color:var(--texto);border:1px solid var(--borda-campo);border-radius:var(--raio-cartao);box-shadow:var(--sombra)}
dialog::backdrop,#bank-dialog::backdrop{background:rgba(8,16,41,.8);backdrop-filter:blur(5px)}
.dialog-header h2{font-family:var(--fonte);font-weight:600}

/* Chart marks retain their semantics against the dark work surfaces. */
.chart-axis,.chart-unknown,.pricing-chart-label,.pricing-chart-axis{fill:var(--texto-2);font-family:var(--fonte)}
.chart-value,.pricing-chart-value{fill:var(--texto);font-family:var(--fonte)}
.chart-grid{stroke:var(--borda)}
.chart-zero,.balance-zero,.pricing-chart-zero{stroke:var(--borda-campo)}
.chart-point{fill:var(--superficie)}
.bar-track{background:var(--superficie-2)}
.bar-fill{background:var(--borda-campo)}
.overview-visual-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-bottom:24px;align-items:stretch}
.overview-visual-grid>.panel{margin-bottom:0}
.revenue-mix{display:flex;flex-direction:column;min-width:0}
.revenue-mix h2{font-size:18px;font-weight:600;letter-spacing:-.02em}
.mix-chart{display:block;width:220px;max-width:100%;height:auto;align-self:center;margin:8px auto 18px}
.mix-global{stroke:var(--acento);fill:var(--acento)}
.mix-jm{stroke:var(--sucesso);fill:var(--sucesso)}
.mix-chart circle.mix-global,.mix-chart circle.mix-jm{fill:none}
.mix-total{fill:var(--texto);font:600 21px var(--fonte);letter-spacing:-.03em;text-anchor:middle}
.mix-label{fill:var(--texto-2);font:400 11px var(--fonte);text-anchor:middle}
.mix-legend{display:grid;gap:12px;margin-top:auto}
.mix-legend-row{display:flex;align-items:center;gap:9px;min-height:44px;width:100%;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;appearance:none;text-align:left;font:400 13px/1.4 var(--fonte);color:var(--texto-2);cursor:pointer}
.mix-legend-row:hover,.mix-legend-row:focus-visible{background:var(--superficie-2);border-color:var(--borda-campo);color:var(--texto)}
.mix-legend-row strong{margin-left:auto;color:var(--texto);font-weight:600;font-variant-numeric:tabular-nums}
.mix-swatch{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%;background:var(--acento)}
.mix-swatch.mix-jm{background:var(--sucesso)}

/* Account, authentication and the standalone bank/day pages share the theme. */
.access-page{--access-navy:var(--texto);--access-blue:var(--acento);--access-teal:var(--sucesso);--access-ink:var(--texto);--access-muted:var(--texto-2);--access-line:var(--borda);--access-canvas:var(--fundo);background:var(--fundo);color:var(--texto);font-family:var(--fonte);padding-bottom:0}
.access-header{background:var(--lateral);border-color:var(--borda);padding:22px 32px}
.access-page a,.access-details summary,.access-text-button,.account-controls a{color:var(--acento)}
.access-page a.access-button{color:var(--texto)}
.access-page a.access-button-primary{color:var(--sobre-acento)}
.access-brand-divider,.account-controls .account-role{color:var(--texto-2);border-color:var(--borda)}
.access-main-narrow{max-width:540px;padding-top:60px;padding-bottom:60px}
.access-main-narrow>.access-card{border-top:1px solid var(--borda);box-shadow:var(--sombra);padding:32px}
.access-page h2,.access-page h3{font-family:var(--fonte);font-weight:600;color:var(--texto)}
.access-eyebrow{color:var(--acento)}
.access-field input:focus,.access-field select:focus{border-color:var(--foco)}
.access-field input[aria-invalid=true]{border-color:var(--perigo)}
.access-button-danger,.access-suspend summary,.account-controls .account-feedback{color:var(--perigo);border-color:var(--perigo)}
.access-button-danger:hover{background:var(--perigo-suave)}
.access-recovery{background:var(--sucesso-suave);border-color:var(--borda-campo)}
.access-recovery p{color:var(--texto)}
.access-recovery-codes li{background:var(--conversa);border-color:var(--borda-campo)}
.access-secret{background:var(--conversa);border-color:var(--borda-campo)}
.access-qr{background:white;padding:10px;border-radius:12px}
.account-controls,.account-controls button{font-family:var(--fonte)}
.account-controls .account-role{font-size:11px}
.bank-eyebrow{color:var(--acento)}
.bank-metric p,.bank-panel>p{color:var(--texto-2)}
.bank-filters{background:var(--superficie-2);border-radius:var(--raio-item)}
.bank-find{border-color:var(--acento)}
.bank-filters label{color:var(--texto-2)}
#movimento-page{--mov-navy:var(--texto);--mov-ink:var(--texto);--mov-muted:var(--texto-2);--mov-line:var(--borda);--mov-blue:var(--acento);--mov-teal:var(--sucesso);font-family:var(--fonte);color:var(--texto)}
.mov-bank,.pay-result-bar,.pay-source{background:var(--superficie-2);border-color:var(--borda);border-radius:var(--raio-item)}
.mov-bank p,.mov-table-hint{color:var(--texto-2)}
.mov-bank-badge{background:var(--alerta-suave);color:var(--alerta);border-color:var(--alerta);border-radius:var(--raio-pilula)}
#movimento-page .pay-date-conflict{color:var(--alerta)}
.pay-filters button,.pay-actions a,.pay-pagination button{font-family:var(--fonte)}

/* Pricing retains positive/negative/partial distinctions, now using Work colors. */
.pricing-ui{--pricing-blue:var(--acento);--pricing-violet:var(--azul);--pricing-teal:var(--sucesso);--pricing-coral:var(--perigo);--pricing-wash:var(--superficie-2)}
.pricing-scope,.pricing-reference-metric,.pricing-chart{border-radius:var(--raio-item)}
.pricing-base-note,.pricing-tabs{border-color:var(--borda)}
.pricing-field small,.pricing-note,.pricing-reference-metric span,.pricing-result-metric span,.pricing-warnings{font-size:12px}
.pricing-reference-metric strong{font-size:23px}
.pricing-result-metric strong{font-size:27px}
.pricing-primary{border-color:transparent}
.pricing-main-actions{position:static;background:var(--superficie-2);border-color:var(--borda);border-radius:var(--raio-item);box-shadow:none}
.pricing-tab{font-family:var(--fonte);color:var(--texto-2);font-size:14px}
.pricing-tab[aria-selected=true]{background:var(--acento-suave);border-bottom-color:var(--acento);color:var(--texto)}
.pricing-partial,.pricing-partial strong{color:var(--alerta)!important}
.pricing-result-metric.pricing-partial{border-top-color:var(--alerta)}
.pricing-chart .pricing-partial{fill:var(--alerta);background:var(--alerta)}
.pricing-chart-legend .pricing-partial{background:var(--alerta)}
.pricing-history{background:var(--superficie-2);border-color:var(--borda);border-left-color:var(--sucesso);border-radius:var(--raio-item)}
.pricing-history-grid small,.pricing-pending-costs dt{color:var(--texto-2)}
.pricing-pending-costs summary{color:var(--acento)}
.pricing-chart-label,.pricing-chart-value,.pricing-chart-axis{font-family:var(--fonte)}
.projection-v34 h3,.projection-v34 h4{font-family:var(--fonte);font-weight:600;color:var(--texto)}
.projection-card{border-radius:var(--raio-item)}
.projection-pdf{color:var(--texto)}

@media(max-width:1150px) and (min-width:768px){
  .sidebar{width:232px;padding:22px 14px}
  .workspace{margin:0;width:auto}
  .workspace main{padding:25px 22px 30px}
  .topbar,.topbar:has(.account-controls){padding:16px 22px}
  .topbar-title{font-size:12px}
  .topbar-actions{flex-wrap:wrap}
  .overview-visual-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1250px) and (min-width:768px){
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .app-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "nav" "main" "footer";grid-template-rows:auto auto minmax(0,1fr) auto;height:100vh;height:100dvh;min-height:0}
  .workspace{display:contents;margin:0;width:auto;height:auto;min-height:0;overflow:visible}
  .topbar,.topbar:has(.account-controls){grid-area:header;position:static;min-height:76px;padding:15px 16px;gap:12px;background:var(--lateral);align-items:center;flex-wrap:wrap}
  .topbar-identity{gap:11px;flex:1;min-width:0}
  .header-logo{width:116px;padding:6px 8px;flex-shrink:0}
  .topbar-title{display:block;font-size:12px;line-height:1.3;min-width:0}
  .topbar-title strong{display:block;font-size:12px}
  .topbar-actions{flex-wrap:wrap;gap:10px}
  .topbar:has(.account-controls) .topbar-actions{width:100%;justify-content:space-between}
  .navigation-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;max-width:100%;padding:10px 12px;border:1px solid var(--borda-campo);border-radius:var(--raio-campo);background:var(--superficie-2);color:var(--texto);font:500 13px/1.3 var(--fonte);cursor:pointer}
  .navigation-toggle[aria-expanded=true]{background:var(--acento-suave);border-color:var(--acento)}
  .navigation-toggle svg{width:18px;height:18px;flex:none}
  .app-shell>.sidebar,.app-shell>#financial-sidebar{display:none;grid-area:nav;position:static;inset:auto;width:auto;height:auto;max-height:45vh;max-height:45dvh;overflow:auto;padding:20px 16px;border-right:0;border-bottom:1px solid var(--borda)}
  body.navigation-open .app-shell>.sidebar,body.navigation-open .app-shell>#financial-sidebar{display:flex;flex-direction:column}
  .sidebar .brand{padding:0 8px 16px}
  .sidebar .atlas-logo{width:100px}
  .nav-caption,.sidebar-note{display:none}
  .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;overflow:visible;width:100%}
  .nav-tab{justify-content:flex-start;min-width:0;min-height:54px;flex:none;padding:11px 10px;border-radius:12px;white-space:normal;font-size:13px;text-align:left;gap:8px}
  .nav-tab.active{box-shadow:none}
  .sidebar .nav-external{justify-content:flex-start;margin:9px 0 0;padding:11px 10px;border:0;border-radius:12px;min-height:44px;font-size:13px}
  .workspace main{grid-area:main;min-width:0;min-height:0;width:100%;overflow:auto;padding:24px 16px 30px}
  .workspace>.page-footer{grid-area:footer;position:static;width:auto;padding:16px;align-items:flex-start;flex-direction:column;gap:5px;font-size:11px}
  .page-heading{gap:12px;flex-wrap:wrap}
  .page-heading h1,.access-page h1,.mov-heading h1{font-size:28px}
  .page-heading p:last-child{font-size:13px}
  .page-heading .period-label{max-width:none;font-size:12px;white-space:normal}
  .eyebrow{font-size:10px}
  .panel-padding{padding:20px}
  .overview-visual-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .metric,.dashboard-card{padding:19px;min-height:0}
  .metric-value,.dashboard-card-value,.balance-metrics .metric-value,.operational-metrics .metric-value,.contract-period-section .metric-value{font-size:clamp(20px,3.25vw,25px);white-space:nowrap;overflow-wrap:normal}
  .metric-label,.dashboard-card-title{font-size:13px}
  .metric-note,.dashboard-card-note,.mini-note,.table-note{font-size:12px}
  .filter-bar,.date-filters{width:100%;min-width:0}
  .date-filters{margin-left:0;flex-wrap:wrap}
  .company-filter{width:100%}
  .company-filter button{flex:1;min-width:0;padding:8px 12px}
  select,input:not([type=checkbox]):not([type=radio]),textarea,
  .access-field input,.access-field select,.pricing-field input,.pricing-field textarea,.pricing-field select,
  .envios-module input,.envios-module textarea,.envios-module select,
  .bank-filters input,.bank-filters select,.pay-filters input,.pay-filters select,.operational-range input{font-size:16px;min-height:44px;max-width:100%}
  .contract-filter,.contract-period-filters,.operational-controls{min-width:0;gap:12px}
  .contract-filter .search-field{min-width:0}
  .contract-period-filters select{width:100%}
  .operational-side strong{font-size:18px}
  .operational-side>span{font-size:12px}
  .secondary-button,.report-download,.access-button,.mov-back,.bank-button,.projection-pdf{min-height:44px}
  .access-page{padding-bottom:0}
  .access-header{padding:18px 16px}
  .access-brand img{width:142px}
  .access-main-narrow{padding:32px 16px}
  .access-main-narrow>.access-card{padding:26px 22px}
  .access-footer{position:static;padding:16px;gap:5px 16px;font-size:11px}
  .access-footer>span:last-child{width:100%}
  .bank-metric strong,.mov-metric strong{white-space:normal;overflow-wrap:anywhere}
  .pricing-tabs{gap:0}
  .pricing-tab{font-size:13px;padding:14px 10px}
  .pricing-source-content dl{font-size:12px}
  .pricing-main-actions{position:static}
}
@media(max-width:640px){
  .metrics{grid-template-columns:minmax(0,1fr)}
  .metric-value,.dashboard-card-value,.balance-metrics .metric-value,.operational-metrics .metric-value,.contract-period-section .metric-value{font-size:25px}
}
@media(max-width:430px){
  .metrics,.company-summary,.proof-grid{grid-template-columns:minmax(0,1fr)}
  .topbar-title{font-size:11px}
  .topbar-title strong{font-size:11px}
  .topbar-identity{gap:8px}
  .header-logo{width:107px}
  .navigation-toggle{padding:10px;gap:6px}
  .period-month-fields{grid-template-columns:auto minmax(0,1fr);width:100%}
  .period-month-fields #apply-period{grid-column:1/-1;min-height:44px}
  .panel-heading{flex-wrap:wrap}
  .legend{font-size:11px;gap:12px;white-space:normal;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep the owned mark and account context visible while only menu items scroll. */
@media(min-width:768px){
  .sidebar{overflow:hidden}
  .sidebar .brand,.sidebar-note{flex-shrink:0}
  .sidebar-navigation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 0 8px}
  .sidebar-navigation .nav-caption{margin-top:18px}
  .sidebar-note{padding:12px 8px 0;margin-top:8px}
  .sidebar-note p{margin:5px 0}
}
@media(max-width:767px){.sidebar-navigation{display:contents}}
/* The daily, bank and account screens share the same non-overlapping footer. */
.access-page{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.access-header,.access-footer{flex-shrink:0}
.access-page .access-main{flex:1;min-height:0;overflow:auto;margin:0 auto;overscroll-behavior:contain}

/* V35: fit the actual browser pane, including widths between phone and desktop. */
html,body { max-width:100%; overflow-x:clip; }
body { min-width:0; font-size:13px; line-height:1.5; }
.app-shell { grid-template-columns:208px minmax(0,1fr); }
.sidebar { width:208px; padding:18px 10px 12px; }
.sidebar .brand { gap:10px; padding:0 5px; }
.brand .atlas-logo { width:90px; flex-basis:90px; }
.brand .brand-product { font-size:11px; }
html[data-theme="light"] .brand .atlas-logo { filter:brightness(.22) saturate(.65); }
.nav-tab,.sidebar .nav-external { font-size:12px; min-height:40px; padding:9px 10px; gap:8px; }
.sidebar-navigation .nav-caption { margin-bottom:9px; }
.sidebar-note { font-size:11px; }
.topbar,.topbar:has(.account-controls) { min-height:64px; padding:10px 20px; gap:10px; }
.topbar-identity { gap:10px; }
.header-logo { width:120px; padding:5px 7px; }
.topbar-title { font-size:12px; }
.topbar-actions,.account-controls { gap:6px 10px; }
.account-controls .account-role { padding-right:9px; }
.workspace main { padding:20px; overflow-x:hidden; }
.page-heading { gap:12px; margin-bottom:16px; align-items:flex-start; }
.page-heading h1,.access-page h1,.mov-heading h1 { font-size:26px; line-height:1.2; }
.page-heading p:last-child { font-size:13px; margin-top:7px; line-height:1.45; }
.eyebrow { margin-bottom:6px; font-size:10px; }
.period-label { padding:8px 10px; white-space:normal; max-width:100%; }
.filter-bar { gap:10px 12px; margin-bottom:16px; align-items:flex-start; }
.company-filter { padding:3px; }
.company-filter button { min-height:34px; padding:6px 14px; }
.date-filters { flex:1 1 350px; gap:4px; }
.period-month-fields { gap:7px; }
.period-application-status { font-size:11px; line-height:1.4; }
.filter-description { flex-basis:100%; margin-left:0; }
.panel { margin-bottom:16px; }
.panel-padding { padding:18px; }
.panel-heading,.dashboard-heading { gap:12px; margin-bottom:13px; }
.panel-heading h2,.table-heading h2,.dashboard-heading h2,.revenue-mix h2,
.pricing-ui .pricing-heading h2 { font-size:16px; }
.metric,.dashboard-card { padding:16px; min-height:0; }
.metric-label { margin-bottom:9px; }
.metric-label,.dashboard-card-title { font-size:12px; line-height:1.4; }
.metric-note,.dashboard-card-note { font-size:11px; line-height:1.45; margin-top:7px; }
.metric-value,.dashboard-card-value,.balance-metrics .metric-value,
.operational-metrics .metric-value,.contract-period-section .metric-value {
  font-size:clamp(19px,1.7vw,24px); line-height:1.25;
}
.metrics,.dashboard-grid { gap:10px; margin-bottom:16px; }
.overview-visual-grid { gap:16px; margin-bottom:16px; }
.mix-chart { width:180px; margin:4px auto 10px; }
.mix-period { margin:2px 0 8px; font-size:12px; color:var(--texto-2); }
.mix-legend { gap:4px; }
.mix-legend-row { font-size:12px; padding:6px; gap:7px; }
.notice { padding:10px 12px; margin-bottom:12px; font-size:12px; line-height:1.5; }
.workspace>.page-footer,.access-footer {
  padding:6px 14px; font-size:10px; line-height:1.3; gap:2px 12px;
  flex-direction:row; align-items:center;
}
.footer-author { display:inline; }
.theme-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-height:40px; min-width:40px; padding:8px 11px;
  border:1px solid var(--borda-campo); border-radius:var(--raio-campo);
  background:var(--superficie-2); color:var(--texto); font:500 12px/1.2 var(--fonte);
  cursor:pointer;
}
.theme-toggle:hover { border-color:var(--acento); background:var(--acento-suave); }
.theme-toggle svg { width:17px; height:17px; flex:none; }

/* Content may shrink; wide evidence tables scroll only inside their own wrapper. */
.workspace main>*,.tab-panel,.tab-panel>*,.panel,.metric,.dashboard-card,
.overview-grid>*,.overview-visual-grid>*,.company-summary>*,.pricing-ui,
.pricing-ui>*,.projection-v34,.bank-panel,.mov-panel { min-width:0; max-width:100%; }
.table-wrap,.table-scroll,.cash-chart-scroll,.pricing-table-wrap,.bank-table-wrap,
.mov-table-wrap,.projection-table-wrap,.envios-table-wrap,.chart-data {
  min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain;
}
.contract-filter,.contract-period-filters,.operational-controls,.bank-filters,
.pay-filters,.pricing-scope,.envios-module .envios-filters { min-width:0; max-width:100%; flex-wrap:wrap; }
.contract-filter>*,.contract-period-filters>*,.operational-controls>*,
.bank-filters>*,.pay-filters>*,.envios-module .envios-filters>* { min-width:0; max-width:100%; }
.contract-filter .search-field,.operational-controls .search-field { min-width:0; flex:1 1 180px; }
.panel-heading,.chart-footnote,.projection-heading { flex-wrap:wrap; }
.chart-footnote>*,.page-heading>*,.mix-legend-row>* { min-width:0; }
.legend,.period-chart-legend { flex-wrap:wrap; white-space:normal; }
.access-header { padding:14px 20px; gap:12px; }
.access-page .access-main { padding:24px 20px; overflow-x:hidden; }
.access-main-narrow>.access-card { padding:24px; }
.bank-metric,.mov-metric,.projection-card { padding:14px; }
.pricing-reference-metric strong,.pricing-result-metric strong { font-size:22px; }

@media (min-width:768px) and (max-width:1100px) {
  .app-shell { grid-template-columns:184px minmax(0,1fr); }
  .sidebar { width:184px; padding:16px 8px 10px; }
  .brand .atlas-logo { width:80px; flex-basis:80px; }
  .brand .brand-product { font-size:10px; }
  .nav-tab,.sidebar .nav-external { padding:8px; gap:6px; font-size:11px; }
  .workspace main { padding:16px; }
  .topbar,.topbar:has(.account-controls) { padding:10px 16px; }
  .topbar-title { font-size:11px; }
  .header-logo { width:110px; }
  .page-heading { flex-wrap:wrap; }
  .filter-bar { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  .company-filter { justify-self:start; }
  .date-filters { width:100%; }
  .period-month-fields { display:grid; grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto; }
  .period-month-fields select { width:100%; }
  .period-month-fields #apply-period { white-space:nowrap; padding-inline:10px; }
  .metrics,.dashboard-grid,.finance-domains,.contract-evidence-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .overview-grid,.overview-visual-grid { grid-template-columns:minmax(0,1fr); }
  .contract-period-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .contract-period-filters select { width:100%; }
}

@media (max-width:767px) {
  .app-shell { grid-template-columns:minmax(0,1fr); }
  .topbar,.topbar:has(.account-controls) { min-height:60px; padding:8px 12px; gap:7px; }
  .topbar-title,.topbar-title strong { font-size:11px; }
  .header-logo { width:104px; }
  .topbar-identity { gap:8px; }
  .topbar-actions,.topbar:has(.account-controls) .topbar-actions { gap:6px; }
  .account-controls { gap:4px 8px; font-size:11px; }
  .account-controls .account-role { display:none; }
  .topbar-actions .status-pill { display:none; }
  .navigation-toggle { min-height:44px; padding:9px 10px; }
  .theme-toggle { min-height:40px; padding:8px 9px; }
  .app-shell>.sidebar,.app-shell>#financial-sidebar { padding:12px; }
  .sidebar .brand { padding-bottom:10px; }
  .nav-tab { min-height:44px; padding:9px; font-size:12px; }
  .workspace main { padding:16px 12px; }
  .page-heading h1,.access-page h1,.mov-heading h1 { font-size:23px; }
  .page-heading { gap:8px; margin-bottom:12px; }
  .page-heading p:last-child { font-size:12px; line-height:1.45; margin-top:5px; }
  .page-heading .period-label { padding:6px 8px; font-size:11px; }
  .filter-bar { gap:8px; margin-bottom:12px; }
  .company-filter button { min-height:40px; padding:7px 12px; }
  .date-filters { flex-basis:100%; }
  .period-month-fields { display:grid; grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr); width:100%; gap:6px; }
  .period-month-fields select { width:100%; padding:6px 22px 6px 8px; min-height:40px; font-size:14px; }
  .period-month-fields #apply-period { grid-column:1/-1; min-height:40px; padding:8px 12px; }
  .panel-padding { padding:14px; }
  .panel-heading { margin-bottom:10px; }
  .metric,.dashboard-card { padding:13px; }
  .metric-value,.dashboard-card-value,.balance-metrics .metric-value,
  .operational-metrics .metric-value,.contract-period-section .metric-value { font-size:20px; }
  .metric-label,.dashboard-card-title { font-size:12px; }
  .metric-note,.dashboard-card-note { font-size:11px; }
  .metrics,.dashboard-grid { gap:10px; margin-bottom:12px; }
  .overview-visual-grid { gap:12px; }
  .workspace>.page-footer,.access-footer { padding:6px 12px; gap:2px 10px; font-size:10px; line-height:1.3; flex-direction:row; }
  .access-footer>span:last-child { width:auto; }
  .footer-author { display:inline; }
  .back-home { min-height:40px; margin-bottom:10px; }
  .access-header { padding:12px; gap:8px; }
  .access-page .access-main { padding:18px 12px; }
}

@media (min-width:440px) and (max-width:767px) {
  .metrics,.dashboard-grid,.dashboard-general-grid,.balance-metrics,
  .operational-metrics,.contract-period-section .balance-metrics,
  .projection-grid,.finance-domains,.contract-evidence-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .balance-money-metrics .metric:last-child { grid-column:auto; }
}

@media (min-width:540px) and (max-width:767px) {
  .period-month-fields { grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto; }
  .period-month-fields #apply-period { grid-column:auto; font-size:12px; padding-inline:10px; }
}

@media (max-width:439px) {
  .metrics,.dashboard-grid,.dashboard-general-grid,.company-summary,.finance-domains,
  .contract-evidence-groups,.operational-sides,.projection-grid { grid-template-columns:minmax(0,1fr); }
  .page-heading h1,.access-page h1,.mov-heading h1 { font-size:22px; }
  .metric-value,.dashboard-card-value { font-size:22px; }
  .topbar-title { max-width:142px; }
}

/* Keep the standalone day/bank pages compact in a narrow desktop pane. */
@media (min-width:480px) and (max-width:900px) {
  .access-header {
    display:grid; grid-template-columns:minmax(0,1fr) auto;
    align-items:center; gap:8px 12px; padding:12px;
  }
  .access-header .access-brand { grid-column:1; grid-row:1; flex-wrap:nowrap; gap:10px; min-width:0; }
  .access-header .access-brand img { width:120px; flex:none; }
  .access-header .access-brand>span { flex-basis:auto; font-size:11px; }
  .access-header>.theme-toggle { grid-column:2; grid-row:1; justify-self:end; }
  .access-header .access-nav { grid-column:1/-1; grid-row:2; gap:4px 12px; font-size:11px; }
  .access-nav a { display:inline-flex; align-items:center; min-height:40px; padding:6px 0; }
  .access-nav-button { min-height:40px; padding:8px 12px; }
  .mov-heading { gap:12px; margin-bottom:16px; }
  .mov-heading-actions { display:flex; flex-wrap:wrap; gap:8px; width:100%; margin-top:0; }
  .mov-heading-actions>.mov-back,.mov-heading-actions>.mov-refresh {
    display:inline-flex; align-items:center; justify-content:center;
    flex:1 1 140px; min-width:0; width:auto; max-width:100%; min-height:40px;
    padding:9px 10px; margin-top:0; white-space:normal; text-align:center;
    font-size:12px; line-height:1.3;
  }
}

/* Sun and moon selector: the highlighted icon represents the current theme. */
.theme-toggle { width:72px; min-width:72px; min-height:40px; padding:4px; gap:2px; border-radius:22px; }
.theme-toggle svg { width:29px; height:29px; padding:5px; border-radius:50%; color:var(--texto-2); }
html[data-theme="light"] .theme-toggle .theme-icon-light,
html[data-theme="dark"] .theme-toggle .theme-icon-dark { color:var(--sobre-acento); background:var(--acento-fill); }
