/* Shared workspace architecture: operational view first, analysis on demand.
   Legal PDF/print layouts, dialogs, permissions and financial calculations stay independent. */
:root{
  /* One palette; compatibility aliases keep the existing modules on the same contract. */
  --workspace-ink:#19362a;--workspace-muted:#50665a;--workspace-line:#d9e4de;
  --workspace-surface:#ffffff;--workspace-soft:#f3f7f4;--workspace-tint:#eaf4ee;
  --workspace-brand:#087047;--workspace-brand-hover:#055b39;--workspace-dark:#083326;
  --workspace-on-dark:#ffffff;--workspace-muted-on-dark:#dae8df;
  --workspace-gold:#c6a343;--workspace-gold-on-dark:#ead17e;
  --workspace-nav-surface:var(--workspace-dark);--workspace-nav-hover:#104333;
  --workspace-nav-active:#15553d;--workspace-nav-active-line:#54886e;
  --workspace-nav-text:#dfece3;--workspace-nav-muted:#abc5b4;--workspace-nav-secondary:#a0b9a8;
  --workspace-nav-raised:#0b382a;--workspace-nav-line:#244c3b;
  --workspace-danger:#b42318;--workspace-danger-soft:#fff1ef;
  --workspace-warning:#8a5d10;--workspace-warning-soft:#fff5de;
  --workspace-info:#315e86;--workspace-info-soft:#f0f5fa;
  --ink:var(--workspace-ink);--text:var(--workspace-ink);--muted:var(--workspace-muted);--sub:var(--workspace-muted);
  --line:var(--workspace-line);--paper:var(--workspace-surface);--card:var(--workspace-surface);
  --bg:var(--workspace-soft);--page:var(--workspace-soft);--surface:var(--workspace-surface);--surface-2:var(--workspace-soft);
  --green:var(--workspace-brand);--green-deep:var(--workspace-brand-hover);--green3:var(--workspace-tint);
  --gold:var(--workspace-gold);--gold2:var(--workspace-gold-on-dark);--danger:var(--workspace-danger);--warning:var(--workspace-warning);
  --og-ink:var(--workspace-ink);--og-muted:var(--workspace-muted);--og-bg:var(--workspace-soft);--og-surface:var(--workspace-surface);--og-surface-soft:var(--workspace-soft);
  --og-line:var(--workspace-line);--og-green:var(--workspace-brand);--og-green-strong:var(--workspace-brand-hover);--og-green-soft:var(--workspace-tint);
  --og-danger:var(--workspace-danger);--og-danger-soft:var(--workspace-danger-soft);--og-warning:var(--workspace-warning);--og-warning-soft:var(--workspace-warning-soft);--og-info:var(--workspace-info);--og-info-soft:var(--workspace-info-soft);
  --og20-text:var(--workspace-ink);--og20-muted:var(--workspace-muted);--og20-green:var(--workspace-brand);--og20-green-dark:var(--workspace-brand-hover);--og20-green-soft:var(--workspace-tint);--og20-line:var(--workspace-line);--og20-soft:var(--workspace-soft);
  --ux25-ink:var(--workspace-ink);--ux25-text:var(--workspace-ink);--ux25-muted:var(--workspace-muted);--ux25-muted-2:var(--workspace-muted);
  --ux25-bg:var(--workspace-soft);--ux25-surface:var(--workspace-surface);--ux25-surface-soft:var(--workspace-soft);--ux25-surface-muted:var(--workspace-tint);--ux25-surface-green:var(--workspace-tint);
  --ux25-green:var(--workspace-brand);--ux25-green-2:var(--workspace-brand);--ux25-green-dark:var(--workspace-brand-hover);--ux25-green-soft:var(--workspace-tint);--ux25-line:var(--workspace-line);--ux25-danger:var(--workspace-danger);--ux25-warning:var(--workspace-warning);--ux25-info:var(--workspace-info);
  --ux28-green:var(--workspace-brand);--ux28-green-dark:var(--workspace-brand-hover);--ux28-paper:var(--workspace-surface);--ux28-soft:var(--workspace-soft);--ux28-line:var(--workspace-line);--ux28-text:var(--workspace-ink);--ux28-muted:var(--workspace-muted);--ux28-danger:var(--workspace-danger);--ux28-focus:var(--workspace-brand);
  --admin-green-700:var(--workspace-brand);--admin-green-100:var(--workspace-tint);--admin-gold:var(--workspace-gold);--admin-red:var(--workspace-danger);--admin-surface:var(--workspace-surface);--admin-surface-soft:var(--workspace-soft);--admin-line:var(--workspace-line);--admin-ink:var(--workspace-ink);--admin-muted:var(--workspace-muted);
}
body>.shell{background:var(--workspace-soft);min-height:100dvh}
.shell>main{max-width:1780px;margin-inline:auto;padding:24px 30px 108px!important;background:var(--workspace-soft)!important;color:var(--workspace-ink)!important}
#mainContent>.page-header{display:flex;align-items:center;gap:20px;padding:20px 22px!important;background:#fff!important;border:1px solid var(--workspace-line);border-radius:14px!important;box-shadow:0 3px 14px #16382705;color:var(--workspace-ink)!important;margin-bottom:12px!important}
#mainContent>.page-header h1{color:var(--workspace-ink)!important;font-size:clamp(23px,2vw,30px)!important;letter-spacing:-.025em;line-height:1.2;margin:5px 0 7px!important}
#mainContent>.page-header p{color:var(--workspace-muted)!important;font-size:13px!important;line-height:1.5;max-width:780px;margin:0!important}
#mainContent .page-breadcrumb{color:#357052!important;font-size:10px!important;letter-spacing:.08em;line-height:1.45}
#mainContent .page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:48%;min-width:0}
.workspace-context{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(180px,.8fr) minmax(240px,1.4fr);gap:18px;padding:12px 4px 18px;margin-bottom:8px;border-bottom:1px solid var(--workspace-line)}
.workspace-context>div{display:grid;align-content:start;gap:5px;min-width:0}
.workspace-context small{color:#466453;font-size:9px;letter-spacing:.09em;font-weight:750}
.workspace-context span{color:var(--workspace-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.workspace-context>div:first-child span{color:var(--workspace-ink);font-weight:650}
#app{min-width:0;display:flow-root;color:var(--workspace-ink)}
#app :where(.card,.farm-detail-card,.statement-card,.report-detail,.farm-module-head,.module-identity){border-color:var(--workspace-line);border-radius:14px;box-shadow:0 3px 15px #17352604}
#app :where(.card,.farm-detail-card,.statement-card){padding:20px}
#app :where(h2,h3,h4){line-height:1.3;letter-spacing:-.015em}
#app :where(.card,.farm-detail-card,.statement-card,.module-intelligence) :where(h2,h3,h4){color:var(--workspace-ink)}
#app :where(.section-title){gap:16px;margin-bottom:18px;align-items:flex-start}
#app :where(.section-title h2,.section-title h3){margin:0 0 6px;font-size:17px}
#app :where(.hint,.card small,.card p){line-height:1.5}
#app :where(.hint){color:var(--workspace-muted)!important;font-size:12px!important}
#app :where(.farm-module-head,.module-identity)>div>p{color:var(--workspace-muted)!important}
#app :where(.farm-tabs,.users-tabs,.issuer-tabs,.fiscal-tabs,.credit-nav,.purchase-phase-tabs){position:relative!important;top:auto!important;z-index:auto!important;display:flex!important;gap:6px!important;flex-wrap:wrap!important;padding:7px!important;margin:0 0 18px!important;background:#fff!important;border:1px solid var(--workspace-line)!important;border-radius:12px!important;box-shadow:none!important}
#app :where(.farm-tabs,.users-tabs,.issuer-tabs,.fiscal-tabs,.credit-nav,.purchase-phase-tabs)>button{flex:0 1 auto!important;min-height:40px;padding:10px 14px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#3c594b!important;white-space:normal;font-size:12px!important;font-weight:600!important}
#app :where(.farm-tabs,.users-tabs,.issuer-tabs,.fiscal-tabs,.credit-nav,.purchase-phase-tabs)>button:is(.active,[aria-selected="true"]){background:var(--workspace-tint)!important;border-color:#b5d7c4!important;color:var(--workspace-brand-hover)!important;box-shadow:none!important}
#app :where(.farm-tabs,.users-tabs,.issuer-tabs,.fiscal-tabs,.credit-nav,.purchase-phase-tabs)>button:focus-visible{outline:3px solid var(--workspace-brand)!important;outline-offset:2px}
#app[data-module-tab-busy]::before{content:'Atualizando a consulta…';display:block;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:#e6f3eb;color:#0c5937;font-size:12px}
.module-tab-error{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.module-tab-error>span{line-height:1.5}
#app :where(.table-wrap,.credit-table){width:100%;overflow-x:auto;border:1px solid var(--workspace-line);border-radius:10px;background:#fff;overscroll-behavior-inline:contain}
#app :where(table){border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
#app :where(thead th){padding:12px 14px!important;background:#edf4ef!important;color:#385545!important;font-size:10px!important;letter-spacing:.04em;white-space:normal;border-bottom:1px solid #cbdacf!important}
#app :where(tbody td){padding:12px 14px!important;line-height:1.5;border-bottom:1px solid #e5ede8;vertical-align:middle}
#app :where(tbody tr:nth-child(even)){background:#fafcfb}
#app :where(.numeric,.amount-in,.amount-out){font-variant-numeric:tabular-nums}
#app :where(.empty){padding:28px 18px;min-height:92px;color:var(--workspace-muted);font-size:13px;line-height:1.6;background:#f8fbf9;border-radius:10px}
#app :where(.module-intelligence-host){margin:24px 0 0!important}
.module-analysis-scope{margin:12px 4px;color:var(--workspace-muted);font-size:11px;line-height:1.5}
#app details.module-intelligence-host>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:16px 18px;background:#fff;border:1px solid var(--workspace-line);border-radius:12px;color:var(--workspace-ink);font-size:13px;font-weight:650;list-style:none}
#app details.module-intelligence-host>summary::after{content:'Abrir análise ↓';font-size:11px;color:#08633b;flex-shrink:0}
#app details.module-intelligence-host[open]>summary{margin-bottom:12px}
#app details.module-intelligence-host[open]>summary::after{content:'Recolher ↑'}
#app .module-intelligence-kpis :where(b){font-size:25px!important;letter-spacing:-.025em}
#app :where(.farm-flow-kpis,.farm-flow-kpis,.farm-mini-kpis,.credit-metrics)>div{min-width:0;background:#fff;border:1px solid var(--workspace-line);border-radius:12px;padding:17px;color:var(--workspace-ink)}
#app .farm-bank-panel{border:1px solid var(--workspace-line)!important;box-shadow:none!important;border-radius:14px!important}
#app :where(.farm-finance-layout){gap:20px}
#app :where(.farm-bank-list){gap:8px}
#app #newBankAccount::before{content:'+';font-size:23px;line-height:1;font-weight:650}
#app :where(.farm-bank-card){padding:12px!important;border-radius:10px!important}
#app .credit-heading h1{font-size:23px;color:var(--workspace-ink)}
#app :where(.credit-heading,.fiscal-config-hero){background:#fff;border:1px solid var(--workspace-line);border-radius:14px;padding:20px;color:var(--workspace-ink)}
#app :where(.credit-heading,.fiscal-config-hero) :where(p,small){color:var(--workspace-muted)!important}
#app .credit-notices{padding:15px 18px;background:#fff8e8;border:1px solid #e8d9ac;border-radius:10px;color:#614813;line-height:1.5}
#app :where(.issuer-tabs button,.issuer-card){scroll-margin-top:20px}
#app .issuer-page>form{display:grid;gap:16px}
#app .issuer-page>form>.issuer-card{margin:0!important}
/* Platform administration uses the same typography and table hierarchy. */
.admin-shell .admin-section-nav{position:relative!important;top:auto!important;z-index:auto!important}
.admin-shell .admin-area-heading{padding:18px 0!important}.admin-shell .admin-area-heading h2{font-size:23px!important}
.admin-shell :where(.admin-card,.chart-card,.admin-metric){border-radius:14px!important;box-shadow:0 3px 15px #17352604!important}
.admin-shell .admin-table{font-size:12px;font-variant-numeric:tabular-nums}.admin-shell .admin-table th{font-size:10px!important;letter-spacing:.04em;padding:12px 14px!important;background:#edf4ef!important;color:#385545!important}.admin-shell .admin-table td{padding:12px 14px!important;line-height:1.5}
.admin-shell .admin-section-nav a[hidden]{display:none!important}
.admin-shell .admin-area-group:empty{display:none}
@media(min-width:1550px){.shell>main{padding-inline:36px!important}}
@media(max-width:1050px){.workspace-context{grid-template-columns:1fr 1fr}.workspace-context>div:last-child{grid-column:1/-1}#mainContent .page-header-actions{max-width:52%}.shell>main{padding-inline:20px!important}}
@media(max-width:700px){.shell>main{padding:18px 14px calc(140px + env(safe-area-inset-bottom))!important}.shell>.topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:10px 14px!important;min-height:64px!important;height:auto!important}.topbar .company-switch{min-width:0!important;width:auto!important;max-width:none!important}.topbar .company-switch-row{min-width:0;width:100%}.topbar #activeCompany{width:100%!important;min-width:0!important;font-size:11px!important}.topbar .top-actions{min-width:0!important;gap:5px!important;flex-wrap:nowrap!important}.topbar .topbar-mobile-brand{display:none!important}#mainContent>.page-header{align-items:flex-start;flex-direction:column;padding:18px!important;gap:14px}#mainContent .page-header-actions{max-width:100%;width:100%;justify-content:flex-start}.workspace-context{gap:12px;padding:8px 3px 16px}.workspace-context span{font-size:11px}#app :where(.card,.farm-detail-card,.statement-card){padding:16px}#app :where(.farm-tabs,.users-tabs,.issuer-tabs,.fiscal-tabs,.credit-nav,.purchase-phase-tabs)>button{min-height:42px;padding:10px 12px!important}.module-tab-error{align-items:flex-start;flex-direction:column}#app details.module-intelligence-host>summary{font-size:12px}.admin-shell .admin-table{min-width:680px}}
@media(prefers-reduced-motion:reduce){#app *,#mainContent>.page-header{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.workspace-context,.module-tab-error{display:none!important}.shell>main{padding:0!important}#app details.module-intelligence-host>summary{display:none!important}}

/* Screen surfaces are explicit pairs, never white text over a translucent light background.
   Fiscal PDFs/iframes and the distinct chart-series colors are not restyled here. */
@media screen{
  /* One continuous institutional surface: no decorative overlay starting at a fixed height. */
  body>.sidebar{background:var(--workspace-nav-surface)!important;color:var(--workspace-nav-text)!important}
  body>.sidebar::before,body>.sidebar::after{content:none!important;display:none!important;background:none!important;box-shadow:none!important}
  body>.sidebar .brand-wrap{background:transparent!important;border:0!important;box-shadow:none!important}
  body>.sidebar .brand-logo{background:transparent!important;filter:none!important;box-shadow:none!important}
  body>.sidebar .product-name{color:var(--workspace-gold-on-dark)!important;opacity:1}
  body>.sidebar :is(.nav-group,.nav-group-toggle,.nav){background:transparent!important}
  body>.sidebar .nav-group-toggle{color:var(--workspace-nav-muted)!important}
  body>.sidebar .nav-group-toggle:hover{background:var(--workspace-nav-hover)!important;color:var(--workspace-nav-text)!important}
  body>.sidebar .nav{color:var(--workspace-nav-text)!important}
  body>.sidebar .nav .ico{color:var(--workspace-nav-muted)!important}
  body>.sidebar .nav:hover{background:var(--workspace-nav-hover)!important;color:var(--workspace-on-dark)!important}
  body>.sidebar .nav.active{background:var(--workspace-nav-active)!important;color:var(--workspace-on-dark)!important;box-shadow:inset 0 0 0 1px var(--workspace-nav-active-line)!important}
  body>.sidebar .nav.active .ico{color:var(--workspace-gold-on-dark)!important}
  body>.sidebar .help-card{background:var(--workspace-nav-raised)!important;color:var(--workspace-nav-text)!important;border-color:var(--workspace-nav-line)!important;box-shadow:none!important}
  body>.sidebar .help-card:hover{background:var(--workspace-nav-hover)!important}
  body>.sidebar .help-card span{color:var(--workspace-nav-secondary)!important}
  body>.sidebar .side-footer{background:transparent!important;border-color:var(--workspace-nav-line)!important;box-shadow:none!important}
  body>.sidebar .side-footer b{color:var(--workspace-gold-on-dark)!important}
  body>.sidebar .side-footer small{color:var(--workspace-nav-secondary)!important}
  body>.sidebar :is(.nav,.nav-group-toggle,.help-card):focus-visible{outline:2px solid var(--workspace-gold-on-dark)!important;outline-offset:3px}
  #app .eyebrow{color:var(--workspace-brand-hover)!important}
  .admin-shell .eyebrow{color:var(--workspace-brand-hover)!important}
  #app :is(.farm-module-head,.module-identity,.credit-heading,.fiscal-config-hero,.cc-onboarding){background:var(--workspace-surface)!important;color:var(--workspace-ink)!important;border:1px solid var(--workspace-line)!important;box-shadow:0 3px 15px #17352604!important}
  #app :is(.farm-module-head,.module-identity,.credit-heading,.fiscal-config-hero,.cc-onboarding) :is(h1,h2,h3,h4){color:var(--workspace-ink)!important}
  #app :is(.farm-module-head,.module-identity,.credit-heading,.fiscal-config-hero,.cc-onboarding) :is(p,small){color:var(--workspace-muted)!important}
  #app :is(.farm-module-head,.module-identity,.credit-heading,.fiscal-config-hero,.cc-onboarding) .eyebrow{color:var(--workspace-brand-hover)!important}
  #app #invoice .wizard-step-heading{align-items:flex-start;min-height:0;padding:16px 18px;border:1px solid var(--workspace-line);border-left:3px solid var(--workspace-brand);border-radius:0 12px 12px 0;background:var(--workspace-tint)!important;color:var(--workspace-ink)!important}
  #app #invoice .wizard-step-heading .eyebrow{color:var(--workspace-brand-hover)!important;opacity:1!important}
  #app #invoice .wizard-step-heading h2{color:var(--workspace-ink)!important;opacity:1!important;font-size:21px;line-height:1.3;margin:6px 0}
  #app #invoice .wizard-step-heading p{color:var(--workspace-muted)!important;opacity:1!important;line-height:1.5;font-weight:400}
  #app .cc-onboarding{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;overflow:visible}
  #app .cc-onboarding-progress{min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:12px}
  #app .cc-onboarding-progress .cc-onboarding-actions{height:auto;min-height:44px;border-radius:0;background:transparent;overflow:visible;align-items:center;gap:8px;grid-column:1/-1}
  #app .cc-onboarding-actions button{min-height:44px;min-width:0;white-space:normal;line-height:1.35}
  #app .cc-onboarding-progress b{color:var(--workspace-ink);font-size:12px;white-space:nowrap}
  #app .cc-onboarding-progress i{background:var(--workspace-brand)}
  :is(.shell,.admin-shell,#modal) .primary:not(.danger):not(.danger-btn):not(.danger-button){background:var(--workspace-brand)!important;border-color:var(--workspace-brand)!important;color:var(--workspace-on-dark)!important;filter:none!important}
  :is(.shell,.admin-shell,#modal) .primary:not(:disabled):not(.danger):not(.danger-btn):not(.danger-button):hover{background:var(--workspace-brand-hover)!important;border-color:var(--workspace-brand-hover)!important}
  :is(.shell,.admin-shell,#modal) :is(.secondary,.mini,.mini-link){background:var(--workspace-surface)!important;color:var(--workspace-brand-hover)!important;border-color:#b8cfc0!important}
  :is(.shell,.admin-shell,#modal) :is(.secondary,.mini,.mini-link):not(:disabled):hover{background:var(--workspace-tint)!important;border-color:var(--workspace-brand)!important}
  :is(.shell,.admin-shell,#modal) :is(button.primary,button.secondary,button.mini):disabled:not(.danger):not(.danger-btn):not(.danger-button){background:#e4ebe6!important;border-color:var(--workspace-line)!important;color:var(--workspace-muted)!important;opacity:1!important;box-shadow:none!important;transform:none!important;cursor:not-allowed}
  :is(.shell,.admin-shell,#modal) :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--workspace-brand)!important;outline-offset:3px}
  #app :is(.badge,.success):not(.warn):not(.danger):not(.gray):not(.blue){background:var(--workspace-tint);color:var(--workspace-brand-hover)}
  #app :is(.badge.warn,.credit-notices){background:var(--workspace-warning-soft)!important;color:var(--workspace-warning)!important}
  #app :is(.badge.danger,.danger-note){background:var(--workspace-danger-soft)!important;color:var(--workspace-danger)!important}
  #app .badge.blue{background:var(--workspace-info-soft)!important;color:var(--workspace-info)!important}
  #app :is(.badge.gray,.empty,.note){color:var(--workspace-muted)!important}
  #app :is(.cc-card,.cc-today,.cc-onboarding,.statement-card,.farm-detail-card,.card)>.eyebrow{color:var(--workspace-brand-hover)}
  #app :is(.dashboard-hero,.executive-hero,.plan-commercial-hero,.cc-hero,.certificate-target-banner,.pass-marketing,.report-cover,.management-summary,.report-methodology aside){background:var(--workspace-dark)!important;color:var(--workspace-on-dark)!important}
  #app :is(.dashboard-hero,.executive-hero,.plan-commercial-hero,.cc-hero,.certificate-target-banner,.pass-marketing,.report-cover,.management-summary,.report-methodology aside) :is(h1,h2,h3,h4){color:var(--workspace-on-dark)!important}
  #app :is(.dashboard-hero,.executive-hero,.plan-commercial-hero,.cc-hero,.certificate-target-banner,.pass-marketing,.report-cover,.management-summary,.report-methodology aside) :is(p,small,.hint){color:var(--workspace-muted-on-dark)!important}
  #app :is(.dashboard-hero,.executive-hero,.plan-commercial-hero,.cc-hero,.certificate-target-banner,.pass-marketing,.report-cover,.management-summary) .eyebrow{color:var(--workspace-gold-on-dark)!important}
  #app .management-summary.is-alert{background:#6c211b!important}
  .admin-shell .admin-command-header{background:var(--workspace-dark)!important;color:var(--workspace-on-dark)}
  .admin-shell .admin-command-header :is(h1,h2,h3){color:var(--workspace-on-dark)!important}
  .admin-shell .admin-command-header :is(p,small){color:var(--workspace-muted-on-dark)!important}
  .admin-shell .admin-command-header .eyebrow{color:var(--workspace-gold-on-dark)!important}
  #app .dfc-total{background:var(--workspace-dark);color:var(--workspace-on-dark)}
  #app .dfc-total .negative{color:#ffb4ab!important}
}
@media screen and (max-width:900px){#app .cc-onboarding{grid-template-columns:1fr;gap:16px}#app .cc-onboarding-actions{justify-content:flex-start}}
@media screen and (max-width:480px){#app .cc-onboarding{padding:16px}#app .cc-onboarding-actions{display:grid;grid-template-columns:1fr;width:100%}#app .cc-onboarding-actions button{width:100%}#app #invoice .wizard-step-heading{padding:14px 15px}#app #invoice .wizard-step-heading h2{font-size:19px}}
