/* União workspace: semantic financial colors and compact navigation. */
.agenda-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.agenda-stat{padding:20px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--analysis);border-radius:9px;display:flex;flex-direction:column;gap:10px}
.agenda-stat strong{font-size:26px;font-variant-numeric:tabular-nums;line-height:1.2}.agenda-stat>span{font-weight:600}.agenda-stat small{color:var(--muted);line-height:1.6}.agenda-stat.overdue{border-top-color:var(--red)}.agenda-stat.overdue strong{color:var(--red)}.agenda-stat.pending{border-top-color:var(--chart-3)}
.agenda-filters{align-items:end;flex-wrap:wrap}.agenda-filters label{min-width:135px;flex:1}.agenda-filters label:has(input[type=search]){min-width:210px}.agenda-filters button{flex-shrink:0}
.dashboard-agenda{margin-bottom:22px}.dashboard-agenda .agenda-stats{padding:18px 20px 0;gap:12px}.dashboard-agenda .agenda-stat{box-shadow:none;background:var(--surface-raised);padding:15px}.dashboard-agenda .agenda-stat strong{font-size:23px}
.payment-status.status-pending,.payment-status.status-returned{background:var(--analysis-soft);color:var(--analysis)}.payment-status.status-paid{background:var(--positive-soft);color:var(--positive-ink)}.payment-status.status-rejected,.payment-status.status-cancelled{background:var(--danger-soft);color:var(--red)}.payment-status.status-scheduled{background:var(--analysis-soft);color:var(--balance-ink)}
#payment-detail{width:min(900px,calc(100vw - 30px));max-height:90dvh;padding:0}#payment-detail .modal-heading{padding:20px 25px}#payment-detail-body{overflow:auto;max-height:calc(90dvh - 90px);padding:24px}
.payment-detail-lead{padding-bottom:20px;border-bottom:1px solid var(--line)}.payment-detail-lead>strong{display:block;font-size:34px;margin:16px 0;font-variant-numeric:tabular-nums}.payment-detail-lead p{font-size:16px;color:var(--ink)}
.payment-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.payment-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px}.payment-facts dd{margin:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.payment-detail-actions{padding:0 0 24px;border-bottom:1px solid var(--line)}
.payment-files,.payment-history{margin-top:24px}.payment-files h3,.payment-history h3{font-size:16px;margin-bottom:14px}.payment-files li{margin:10px 0}.payment-files small{color:var(--muted)}#payment-upload{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:15px;background:var(--surface-raised);border:1px dashed var(--line);border-radius:8px}#payment-upload label{flex:1;min-width:180px}#payment-upload-error{width:100%;color:var(--red);margin:0}
.payment-history ol{list-style:none;padding:0;margin:0}.payment-history li{padding:12px 0 12px 16px;border-left:2px solid var(--line);position:relative}.payment-history li:before{content:'';width:8px;height:8px;border-radius:50%;position:absolute;left:-5px;top:18px;background:var(--analysis)}.payment-history li small{display:block;color:var(--muted);margin-top:5px}.payment-history li p{white-space:pre-wrap;overflow-wrap:anywhere}
.payment-permissions{border:1px solid var(--line);border-radius:8px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.payment-permissions legend{font-weight:700;padding:0 6px}.payment-permissions>p,.payment-permissions>.full{grid-column:1/-1}.payment-permissions p{color:var(--muted);font-size:12px}.payment-sector-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.payment-sector-options label{display:flex;flex-direction:row;align-items:center;gap:8px}.payment-sector-options input{width:18px;height:18px;margin:0}
@media(max-width:1100px){.agenda-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.agenda-stats{gap:9px}.agenda-stat{padding:13px}.agenda-stat strong{font-size:22px}.dashboard-agenda .agenda-stats{padding:12px}.payment-facts,.payment-permissions{grid-template-columns:1fr}.payment-detail-actions button{flex:1}#payment-detail-body{padding:18px}}
:root {
  --bg:#0e1726;--surface:#162235;--surface-raised:#1b2a40;--surface-hover:#22344c;
  --line:#40516c;--line-soft:#31415a;--ink:#f5f8ff;--muted:#b4c2d6;--text-secondary:#d6e0ee;
  --sidebar:#101a2b;--nav-ink:#c0cbda;--nav-muted:#8294ac;--nav-active:#fff;
  --green:#66dfb0;--positive-ink:#8ce6c2;--positive-soft:#143c35;
  --red:#ff9b9b;--danger-soft:#45262e;--expense-soft:#352631;
  --analysis:#83b8ff;--analysis-soft:#1a3454;--balance-ink:#a8ceff;
  --chart-grid:#34465f;--chart-track:#293b53;--empty-overlay:#162235e8;
  --chart-0:#ff8585;--chart-1:#79adff;--chart-2:#67d5b1;--chart-3:#edbf77;--chart-4:#bca4f4;--chart-5:#97a7bc;
  --table-head:#1b2a40;--panel-shadow:0 5px 20px #050d1918;
}
:root[data-theme="light"] {
  --bg:#eef2f7;--surface:#fff;--surface-raised:#f5f7fb;--surface-hover:#edf3fa;
  --line:#ccd7e5;--line-soft:#dde5ef;--ink:#14263e;--muted:#4d6078;--text-secondary:#344b66;
  --sidebar:#152339;--green:#12714f;--positive-ink:#126849;--positive-soft:#edf8f2;
  --red:#b62e3e;--expense-soft:#fff2f2;--danger-soft:#fff0f2;
  --analysis:#275b9f;--analysis-soft:#edf4ff;--balance-ink:#224f89;
  --chart-grid:#d8e2ef;--chart-track:#e6edf6;--empty-overlay:#ffffffed;
  --chart-0:#c63c4f;--chart-1:#3979c9;--chart-2:#29866d;--chart-3:#a46b14;--chart-4:#8762bc;--chart-5:#73859b;
  --table-head:#f2f6fb;--panel-shadow:0 5px 20px #203b5c06;
}
.app {grid-template-columns:240px minmax(0,1fr)}
aside {padding:25px 15px 0;background:var(--sidebar);border-right:1px solid #ffffff0c;color:var(--nav-ink)}
.sidebar-brand-row {padding-bottom:22px;border-bottom:1px solid #ffffff15;margin-bottom:14px}
.uniao-brand>span {color:#fff!important;font-size:19px}
.uniao-brand small {color:#b2bfd1;font-size:10px}
aside .nav-caption {color:var(--nav-muted);margin:23px 12px 9px;font-size:10px}
aside nav a {color:var(--nav-ink);padding:12px;margin:5px 0;border-radius:7px;gap:12px}
aside nav a:hover {background:#ffffff0a;color:#fff}
aside nav a.active {background:#c00000;color:#fff;border-color:#e5525250;box-shadow:inset 3px 0 #ffb1b1}
nav a>.nav-label {display:inline;width:auto;font-size:12px;white-space:nowrap}
.nav-icon {width:19px;height:19px;flex-shrink:0}
aside .sidebar-help {color:var(--nav-muted);padding-inline:10px;font-size:10px}
aside .sidebar-bottom {border-color:#ffffff15;color:#fff;padding-block:19px}
aside .sidebar-bottom small {color:#b2bfd1}
aside .icon-button {color:#c3cfe0}
aside .avatar {color:#ffb7b7;background:#c0000026;border-color:#d9565650;flex-shrink:0}
.topbar {height:70px;background:var(--surface);border-color:var(--line);padding-inline:30px}
.topbar #menu {display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink)}
.topbar #menu {display:flex;width:auto;gap:8px;padding:9px 12px;font-family:inherit}
.menu-caption {font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
#menu svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
main {padding:28px 30px 22px}
.page-heading {margin-bottom:24px}
.page-heading h1 {font-size:32px;letter-spacing:-.8px}
.page-heading .subtle {color:var(--analysis)}
.page-heading p {font-size:12px}
.primary {border-radius:7px;padding:11px 17px;box-shadow:0 4px 10px #b0000012}
.secondary {border-radius:7px}
.month-navigation {border-radius:11px;border-top:3px solid var(--primary);box-shadow:var(--panel-shadow);margin-bottom:10px}
.month-option {border-radius:6px}
.month-option[aria-pressed="true"] {background:var(--primary);color:#fff;box-shadow:0 2px 8px #c0000020;border-color:var(--primary)}
.month-option[aria-pressed="true"] small {color:#fff}
.toolbar {border:1px solid var(--line);background:var(--surface);padding:15px 18px;border-radius:10px;margin-bottom:24px}
.period-fields label {font-weight:600;color:var(--text-secondary)}
.finance-metrics {gap:16px;margin-bottom:16px}
.finance-metrics .metric {padding:20px 22px 12px;border-radius:10px;border-color:var(--line);border-top-width:3px;box-shadow:var(--panel-shadow)}
.finance-metrics .metric.positive {background:var(--positive-soft);border-top-color:var(--green)}
.finance-metrics .metric.negative {background:var(--expense-soft);border-top-color:var(--red)}
.finance-metrics .metric.balance {background:var(--analysis-soft);border-top-color:var(--analysis)}
.finance-metrics .metric>strong {font-size:clamp(25px,2.4vw,37px);font-weight:650;letter-spacing:-1px;margin-block:10px 3px}
.finance-metrics .metric.positive>strong {color:var(--green)}
.finance-metrics .metric.negative>strong {color:var(--red)}
.finance-metrics .metric.balance>strong {color:var(--balance-ink)}
.metric-label {font-size:12px;font-weight:600}
.metric-icon {width:31px;height:31px;font-size:21px}
.metric.negative .metric-icon {color:var(--red);background:var(--danger-soft)}
.metric.balance .metric-icon {color:var(--analysis);background:var(--analysis-soft)}
.metric-bottom {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:47px}
.metric-bottom small {max-width:65%;font-size:10px;line-height:1.6;color:var(--text-secondary)}
.metric-spark {width:90px;max-width:38%;height:35px;flex-shrink:0;opacity:.7}
.metric.positive .metric-spark {color:var(--green)}
.metric.negative .metric-spark {color:var(--red)}
.metric.balance .metric-spark {color:var(--analysis)}
.spark-empty {height:1px;background:currentColor;opacity:.14}
.period-overview {display:grid;grid-template-columns:1fr minmax(230px,.8fr);gap:26px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin-bottom:24px}
.overview-summary {display:flex;align-items:center;gap:13px}
.overview-icon {display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--analysis);background:var(--analysis-soft);font-size:24px;flex-shrink:0}
.overview-summary h2 {font-size:14px}
.overview-summary p {font-size:11px;color:var(--muted);line-height:1.7;margin:6px 0 0}
.overview-summary strong {white-space:nowrap}
.expense-coverage {border-left:1px solid var(--line-soft);padding-left:26px}
.expense-coverage>div {display:flex;justify-content:space-between;gap:14px;font-size:11px;color:var(--text-secondary)}
.expense-coverage>div strong {color:var(--ink)}
.expense-coverage small {font-size:10px;color:var(--muted)}
.coverage-progress {--tone:var(--analysis);height:6px;margin:9px 0 5px}
.panel {border-radius:10px;box-shadow:var(--panel-shadow)}
.panel-head {padding:20px 22px 17px;border-bottom:1px solid var(--line-soft);margin-bottom:17px}
.panel-head h2 {font-size:16px}
.panel-head p {font-size:11px}
.evolution-panel {border-top:3px solid var(--analysis)}
.distribution-panel {border-top:3px solid var(--primary)}
.detail-grid>.panel:first-child {border-top:3px solid var(--chart-3)}
.detail-grid>.panel:last-child {border-top:3px solid var(--chart-2)}
.chart-footer {background:var(--surface-raised)}
.insight-mini-grid {padding:15px;background:var(--surface-raised);border-radius:8px;gap:15px}
.insight-mini-grid strong {font-size:21px;color:var(--analysis)}
.category-bar {padding:5px 0}
.donut-legend-item {padding:10px 7px}
.donut-empty {font-size:11px}
th {background:var(--table-head);font-size:11px;font-weight:600;padding-block:14px}
td {font-size:12px;padding-block:17px}
.table-actions button {font-size:10px;padding:7px 9px}
.onboarding {border-color:var(--line);border-left:3px solid var(--primary);background:var(--surface)}
.access-stats>div {border-top:3px solid var(--analysis);box-shadow:var(--panel-shadow)}
.access-stats>div:nth-child(2) {border-top-color:var(--primary)}
.access-stats>div:nth-child(3) {border-top-color:var(--green)}
.access-stats>div:nth-child(4) {border-top-color:var(--chart-3)}
.access-stats strong {color:var(--ink)}
.dashboard-enter .category-bar progress {transform-origin:left;animation:categoryGrow .8s ease both}
.dashboard-enter .metric-spark polyline {stroke-dasharray:1;animation:lineDraw .85s ease both}
.dashboard-static .metric,.dashboard-static .donut-svg {animation:none}
@keyframes categoryGrow {from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:901px) {
  :root[data-sidebar="collapsed"] .app {grid-template-columns:78px minmax(0,1fr)}
  :root[data-sidebar="collapsed"] aside {padding-inline:10px}
  :root[data-sidebar="collapsed"] .sidebar-brand-row {margin-inline:0;padding-bottom:20px;justify-content:center}
  :root[data-sidebar="collapsed"] .uniao-brand {gap:0}
  :root[data-sidebar="collapsed"] .uniao-brand>img {width:43px;height:39px}
  :root[data-sidebar="collapsed"] .uniao-brand>span,
  :root[data-sidebar="collapsed"] .nav-label,
  :root[data-sidebar="collapsed"] aside .nav-caption,
  :root[data-sidebar="collapsed"] .sidebar-help,
  :root[data-sidebar="collapsed"] .sidebar-bottom>div {display:none}
  :root[data-sidebar="collapsed"] aside nav a {justify-content:center;padding:13px 9px;margin:8px 0}
  :root[data-sidebar="collapsed"] .sidebar-bottom {margin-top:auto;flex-direction:column;gap:15px}
  :root[data-sidebar="collapsed"] .sidebar-bottom .icon-button {margin:0}
  :root[data-sidebar="collapsed"] #menu svg path {transform:translateX(24px) scaleX(-1)}
}
@media(max-width:1150px) {main{padding-inline:22px}.topbar{padding-inline:22px}.finance-metrics .metric{padding-inline:16px}.finance-metrics .metric>strong{font-size:27px}.period-overview{gap:18px;padding:18px}.metric-bottom small{font-size:9px}}
@media(max-width:900px) {.app{display:block}aside{width:240px}.period-overview{grid-template-columns:1fr 1fr}.topbar{height:62px}}
@media(max-width:650px) {
  main{padding:23px 16px}.topbar{padding-inline:16px}.page-heading h1{font-size:28px}
  .toolbar{padding:14px}.finance-metrics{gap:10px}.finance-metrics .metric{padding:15px 13px 9px}
  .finance-metrics .metric>strong{font-size:25px}.metric-label{font-size:11px}.metric-icon{width:24px;height:24px}
  .metric-bottom{min-height:38px}.metric-bottom small{max-width:100%}.metric-spark{display:none}.balance .metric-spark{display:block}
  .period-overview{grid-template-columns:1fr;gap:15px;padding:16px;margin-bottom:18px}
  .expense-coverage{padding:14px 0 0;border-left:0;border-top:1px solid var(--line-soft)}
  .panel-head{padding:18px 16px 14px}.panel-head h2{font-size:15px}.panel-head p{font-size:10px}
  .distribution-panel{display:block}.donut-visual{width:180px;height:180px}.donut-legend{padding:0 16px 16px}
  .donut-legend-item{font-size:11px}.donut-legend-item>strong{font-size:12px}.legend-name small{font-size:10px}
  .metric-bottom small{font-size:9px}.finance-metrics .balance .metric-bottom small{max-width:65%}
}
@media(prefers-reduced-motion:reduce) {.dashboard-enter .metric-spark polyline{stroke-dasharray:none;animation:none}.dashboard-enter .category-bar progress{animation:none}}

/* Readable operational screens and compact table actions. */
:root {font-family:Arial,'Segoe UI',sans-serif;font-size:15px}
h1,h2,h3 {font-family:'Segoe UI',Arial,sans-serif;font-weight:650}
body,input,select,textarea,button {font-family:Arial,'Segoe UI',sans-serif}
nav a>.nav-label {font-size:14px}
.nav-caption,aside .nav-caption {font-size:12px}
.sidebar-bottom,.sidebar-bottom small,aside .sidebar-help {font-size:12px}
.topbar,#breadcrumb,.topbar-right {font-size:12px}
.page-heading p,.page-heading .subtle {font-size:13px}
input,select,textarea {font-size:14px}
.form-grid label,.login-form label {font-size:14px}
.primary,.secondary {font-size:13px}
.metric-label {font-size:14px}
.metric-bottom small,.finance-metrics .metric-bottom small {font-size:12px}
.finance-metrics .metric>strong {font-family:Arial,'Segoe UI',sans-serif;font-weight:700;letter-spacing:-.6px}
.metric strong,.number,.category-bar strong,.donut-legend-item>strong,.summary-strip strong,.insight-mini-grid strong {font-variant-numeric:lining-nums tabular-nums}
.finance-metrics .metric.balance-negative {background:var(--expense-soft);border-top-color:var(--red)}
.finance-metrics .metric.balance-negative>strong,.metric.balance-negative .metric-icon,.metric.balance-negative .metric-spark {color:var(--red)}
.panel-head p,.panel-head small,.panel-chip,.period-fields label {font-size:12px}
.panel-head {margin-bottom:0}
.panel-head+.chart-legend,.panel-head+.category-chart,.panel-head+.insights {padding-top:17px}
th {font-size:13px;font-weight:600;padding:12px 18px}
td {font-size:14px;padding:12px 18px;line-height:1.45}
td small,.category-bar small,.legend-name small,.insight p,.insight>div>span,.expense-coverage small,.overview-summary p {font-size:12px}
.row-actions,div.table-actions {display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;vertical-align:middle;white-space:nowrap}
.row-actions>.table-actions {display:contents}
.row-actions button,.table-actions button {display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1;min-height:32px;padding:8px 11px;margin:0;border-radius:5px;white-space:nowrap}
.row-actions>.secondary {min-height:32px;padding:8px 11px}
.row-actions button:focus-visible,.table-actions button:focus-visible,#menu:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
.overview-summary h2 {font-size:16px}
.expense-coverage>div,.summary-strip,.chart-legend,.insight strong,.donut-legend-item,.category-bar>div {font-size:13px}
.chart-axis {font-family:Arial,'Segoe UI',sans-serif;font-size:12px}
.month-option strong {font-size:11px}.month-option small {font-size:10px}
@media(max-width:650px){.menu-caption{display:none}.topbar #menu{padding:9px;width:40px}.topbar #breadcrumb{font-size:11px}.metric-label{font-size:12px}.metric-bottom small,.finance-metrics .metric-bottom small{font-size:11px}.page-heading p{font-size:12px}.panel-head p{font-size:12px}.row-actions button,.table-actions button{font-size:12px}.overview-summary h2{font-size:15px}}
td.table-actions {display:table-cell;white-space:nowrap} td.table-actions button+button {margin-left:6px}

/* The collapse handle stays on the sidebar boundary in both states. */
@media(min-width:901px){
 .app {transition:grid-template-columns 260ms cubic-bezier(.2,.7,.3,1)}
 .topbar #menu {position:fixed;z-index:40;left:226px;top:27px;width:28px;height:28px;min-height:28px;padding:5px;display:grid;border-color:var(--line);background:var(--sidebar);color:#e2ebf7;border-radius:7px;box-shadow:0 2px 7px #0002;transition:left 260ms cubic-bezier(.2,.7,.3,1),background .15s}
 .topbar #menu:hover {background:#243751;color:#fff}
 #menu svg {width:16px;height:16px;stroke-width:2}
 :root[data-sidebar="collapsed"] .topbar #menu {left:64px}
 aside .nav-label,aside .uniao-brand>span {animation:menuLabelEnter .2s ease}
}
@keyframes menuLabelEnter {from{opacity:0}to{opacity:1}}
.sector-overview-strip,.sector-detail-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.sector-overview-strip>div,.sector-detail-metrics>div {border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:16px 18px}
.sector-overview-strip span,.sector-detail-metrics span {display:block;font-size:12px;color:var(--text-secondary);margin-bottom:9px}
.sector-overview-strip strong,.sector-detail-metrics strong {font-size:25px;font-variant-numeric:tabular-nums}
.sector-overview-strip .period-label {font-size:14px}
.analyze-sector {color:var(--analysis)!important;border-color:var(--analysis)!important;background:var(--analysis-soft)!important}
#sector-analysis {width:1080px;max-width:calc(100% - 32px);max-height:90vh;overflow:auto}
#sector-analysis>.modal-heading {position:sticky;top:0;z-index:2;background:var(--surface);padding:20px 24px}
#sector-analysis-title {font-size:23px}
#sector-analysis-period {margin-top:9px;font-size:12px;line-height:1.6}
.sector-analysis-body {padding:22px;background:var(--bg)}
.sector-detail-metrics {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sector-detail-metrics strong {font-size:23px}
.sector-category-details {background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;overflow:hidden}
.sector-category-details>summary {padding:15px 18px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink)}
.sector-category-details .category-chart {padding-top:10px}
#sector-analysis .filters {padding-top:16px}
#sector-analysis td small {display:block}
.detail-notes {max-width:260px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.detail-message {padding:22px;font-size:14px;color:var(--text-secondary)}
.detail-retry {margin:0 22px 22px}
@media(max-width:650px){.sector-overview-strip{grid-template-columns:1fr 1fr;gap:10px}.sector-overview-strip>div:last-child{grid-column:1/-1}.sector-overview-strip strong{font-size:23px}.sector-detail-metrics{grid-template-columns:1fr 1fr;gap:10px}.sector-detail-metrics>div{padding:12px}.sector-detail-metrics strong{font-size:20px}.sector-analysis-body{padding:12px}#sector-analysis{max-width:calc(100% - 16px);max-height:94vh}#sector-analysis>.modal-heading{padding:16px}#sector-analysis .summary-strip{flex-direction:column;align-items:start}#sector-analysis .summary-strip .pagination{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.app,.topbar #menu {transition:none}aside .nav-label,aside .uniao-brand>span {animation:none}}
