/* SIPO interface: persistent navigation, scoped financial overview and accessible login. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body.sipo-modern{width:100%;max-width:none;text-align:left;margin:0;min-width:0;background:#f5f6f2;color:#203930;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}.sipo-modern h1,.sipo-modern h2,.sipo-modern h3{font-family:inherit;color:#163e30;letter-spacing:-.045em;line-height:1.12}.sipo-modern a{text-decoration:none}.skip-link{position:fixed;top:-90px;left:24px;z-index:99999;padding:14px;background:#fff;color:#123a2e}.skip-link:focus{top:10px}.app-sidebar{width:254px;position:fixed;inset:0 auto 0 0;background:#103b2d;color:#d7e4da;display:flex;flex-direction:column;z-index:30;padding:35px 20px 25px;background-image:radial-gradient(ellipse at bottom left,#24604744,transparent 60%)}.app-brand{display:flex;align-items:center;gap:12px;color:#fff!important;font-weight:650;font-size:29px;letter-spacing:.015em;line-height:1}.app-brand small{display:block;color:#b9ccbd;font-size:7.6px;letter-spacing:1.05px;margin-top:10px;font-weight:450}.brand-symbol{display:flex;align-items:center;justify-content:center;width:43px;height:48px;border:1px solid #bba76a77;border-radius:8px;color:#d6c392}.brand-symbol .pi{font-size:24px}.sidebar-section-label{font-size:9px;letter-spacing:1.8px;color:#81a290;margin:52px 12px 16px;font-weight:600}.app-nav{display:flex;flex-direction:column;gap:6px}.app-nav a{display:flex;gap:13px;align-items:center;padding:12px 15px;color:#c5d8cc!important;font-size:12px;border-radius:7px;transition:background .15s,color .15s}.app-nav a .pi{font-size:16px;opacity:.85}.app-nav a:hover,.app-nav a.is-active{background:#2a5945;color:#fff!important}.app-nav a.is-active{box-shadow:inset 3px 0 #ccbb80}.sidebar-footer{margin-top:auto;padding:30px 13px 0}.demo-label{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#cfbc80;display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:#b9ab70;border-radius:50%;display:inline-block}.sidebar-footer p{font-size:15px;font-weight:350;line-height:1.55;color:#d3e1d7;margin:20px 0}.sidebar-footer>a{font-size:10px;color:#8db59e!important;display:flex;gap:10px;align-items:center}.app-topbar{margin-left:254px;height:88px;border-bottom:1px solid #e4e8e1;background:#fdfefb;display:flex;justify-content:space-between;align-items:center;padding:0 42px}.topbar-context{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600}.topbar-context>.pi{border:1px solid #dce4dc;padding:10px;border-radius:7px;color:#57755e}.topbar-context small{display:block;font-size:8px;color:#89978d;letter-spacing:1px;font-weight:500;margin-top:2px}.topbar-actions{display:flex;align-items:center;gap:13px}.environment-badge{font-size:9px;color:#7b7049;border:1px solid #e7e1cb;background:#faf8ef;padding:5px 10px;border-radius:20px}.user-avatar{background:#e9eee4;color:#648068;border-radius:50%;display:grid;place-items:center;width:32px;height:32px}.user-name{font-size:10px;font-weight:600}.logout-button.ui-button{background:transparent!important;border:0!important;box-shadow:none!important;color:#52725d!important;font-size:10px!important}.app-main{margin-left:254px;padding:48px 42px 32px;max-width:1800px;min-height:calc(100vh - 151px)}.app-main .sub-navigation:empty{display:none}.app-main .sub-navigation{margin-bottom:25px}.app-main>div[id]{max-width:100%}.app-main .ui-tabs{width:100%!important}.app-main .ui-widget{font-family:inherit}.app-main .ui-datatable-tablewrapper{overflow-x:auto}.app-main .ui-panelgrid td{vertical-align:top}.app-main .ui-panelgrid .ui-panelgrid-cell{padding:9px}.app-main input.ui-inputfield:not([type=checkbox]):not([type=radio]),.app-main textarea.ui-inputfield{max-width:100%}.app-main .titulo{font-size:25px;font-weight:650;color:#193d2d;margin:0 0 24px;padding:0;border:0;background:none}.app-footer{margin-left:254px;border-top:1px solid #e2e6df;padding:22px 42px;display:flex;justify-content:space-between;color:#89928b;font-size:9px;letter-spacing:.15px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.75px;color:#8c855c}.dashboard-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.dashboard-heading h1{font-size:clamp(29px,3vw,44px);font-weight:550;margin:16px 0}.dashboard-heading h1 em{font-family:Georgia,serif;font-weight:400;color:#759079;letter-spacing:-.04em}.dashboard-heading p{font-size:11px;color:#7a8980;max-width:390px;line-height:1.8;margin-bottom:0}.dashboard-org{max-width:220px;font-size:10px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#6e7d70;border-left:1px solid #dce2d8;padding-left:20px;margin-bottom:5px}.dashboard-org small{font-size:8px;color:#9ba398;line-height:1.7;display:block;margin-left:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:52px}.metric-card{border:1px solid #e0e6db;background:#fff;border-radius:10px;min-height:160px;position:relative;padding:23px 22px;box-shadow:0 3px 9px #143c2103}.metric-card:first-child{border-top:3px solid #507d58;padding-top:21px}.metric-label{font-size:10px;color:#738374;display:block}.metric-card strong{display:block;font-size:clamp(21px,2vw,29px);font-weight:550;color:#224a33;margin:17px 0 5px;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-card small{color:#9aa295;font-size:8px}.metric-icon{position:absolute;right:18px;top:21px;color:#8b9e84;font-size:15px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.section-heading h2{font-size:25px;font-weight:550;margin:12px 0 0}.section-heading>p{font-size:10px;color:#8b958a;margin-bottom:2px}.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.workspace-card{display:block;border:1px solid #dde4d7;border-radius:10px;background:#fcfdf9;padding:26px;position:relative;transition:transform .15s,box-shadow .15s}.workspace-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #1738240a;border-color:#aebea4}.workspace-number{font-size:9px;color:#b4baa9;position:absolute;right:23px;top:22px}.workspace-card>.pi{font-size:23px;color:#668b5e;display:inline-block;margin:1px 0 20px}.workspace-card h3{font-size:16px;letter-spacing:-.4px;font-weight:600;margin:0 0 13px}.workspace-card p{font-size:10px;color:#82917d;line-height:1.8;max-width:210px;min-height:40px;margin:0 0 26px}.workspace-action{font-size:9px;color:#4e7748;font-weight:600;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5e9df;padding-top:19px}.workspace-action>span{font-size:17px}.dashboard-note{margin-top:30px;border:1px solid #e2e6d9;background:#eef1e6;border-radius:8px;display:flex;gap:16px;align-items:center;padding:20px 24px}.dashboard-note>.pi{font-size:21px;color:#94a07c}.dashboard-note strong{font-size:10px;color:#627451;font-weight:600}.dashboard-note p{font-size:9px;color:#8a967e;margin:5px 0 0;line-height:1.7}.dashboard-note>a{margin-left:auto;white-space:nowrap;color:#6d8358!important;font-size:9px}.public-main{min-height:100vh}.sipo-login .public-main{padding:0;margin:0;max-width:none}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#123b2d;color:#fff;padding:50px 65px;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate}.login-story:before{content:"";position:absolute;width:600px;height:600px;border:1px solid #a8bd8040;border-radius:50%;right:-420px;top:30%;box-shadow:0 0 0 45px #81976508,0 0 0 90px #81976507,0 0 0 135px #81976506,0 0 0 180px #81976505;z-index:-1}.login-story:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at left bottom,#75884c33,transparent 70%);z-index:-1}.login-editorial{margin:auto 0;padding:70px 0}.login-editorial .eyebrow{color:#b9b67e;font-size:9px}.sipo-modern .login-editorial h1{font-size:clamp(44px,5.6vw,83px);font-weight:450;color:#f0f3e6;line-height:1.07;letter-spacing:-3.5px;margin:25px 0}.login-editorial h1 em{font-family:Georgia,serif;font-weight:400;color:#a6b392}.login-editorial p{max-width:275px;font-size:13px;color:#9cbaa5;line-height:1.85;font-weight:350}.login-story-footer{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.4px;color:#8da58e}.login-form-panel{background:#fbfcf8;display:flex;flex-direction:column;padding:48px 12%;position:relative}.back-to-poc{font-size:10px;color:#84957a!important;align-self:flex-end;white-space:nowrap}.back-to-poc span{margin-right:10px}.login-form-content{margin:auto 0;padding:70px 0;max-width:390px}.login-kicker{font-size:8px;letter-spacing:1.6px;color:#8f977e;font-weight:650}.login-form-content h2{font-size:32px;font-weight:550;letter-spacing:-1.4px;margin:15px 0}.login-form-content>p{font-size:12px;color:#8a9582;line-height:1.8;margin-bottom:35px}.login-field{margin-bottom:22px}.login-field label{display:block;font-size:10px;font-weight:600;margin-bottom:10px;color:#53694d}.login-field .ui-inputfield,.login-field .ui-password{width:100%!important;max-width:100%!important;font-size:12px!important}.login-field input.ui-inputfield{height:49px!important;padding:12px 16px!important;border:1px solid #dfe6d5!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;color:#375533!important}.login-field input::placeholder{color:#a5af9f!important}.login-submit.ui-button{width:100%!important;height:49px!important;background:#24523a!important;border:1px solid #24523a!important;border-radius:6px!important;font-size:11px!important;font-weight:550!important;box-shadow:0 5px 10px #244c3510!important}.login-submit .ui-button-text{padding:.75rem!important}.login-help{display:flex;justify-content:space-between;align-items:center;margin:22px 0 30px}.login-help a,.login-help .ui-commandlink{font-size:9px!important;color:#6d8660!important}.login-assurance{display:flex;gap:11px;align-items:flex-start;padding-top:26px;border-top:1px solid #e5e9df}.login-assurance>.pi{color:#9eac8d;font-size:12px;margin-top:3px}.login-assurance p{color:#97a08b;font-size:9px;line-height:1.85;margin:0}.login-form-footer{font-size:8px;letter-spacing:.4px;color:#a2ab98;text-align:center}.sipo-login .ui-messages{position:static!important}.sipo-login .ui-dialog{max-width:95vw!important}.app-main .ui-tabs-panel{overflow-x:auto}.app-main .ui-selectonemenu{max-width:100%}.app-main .ui-dialog-content{max-width:100%}.app-main .ui-toolbar{display:flex;flex-wrap:wrap;gap:10px}
@media(min-width:1700px){.app-main{padding:60px 65px}.metric-card{padding:30px}.metric-card strong{font-size:32px}.workspace-card{padding:32px}.workspace-card p{font-size:12px}.workspace-action{font-size:11px}}
@media(max-width:1150px){.app-sidebar{width:215px;padding-left:13px;padding-right:13px}.app-topbar,.app-main,.app-footer{margin-left:215px}.app-topbar{padding:0 25px}.app-main{padding:33px 25px}.app-brand{font-size:25px}.app-brand small{font-size:6.5px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{min-height:130px}.workspace-card{padding:21px}.dashboard-org{display:none}.user-name{display:none}.login-story{padding:40px}.login-form-panel{padding:40px 10%}.section-heading>p{display:none}}
@media(max-width:760px){.app-sidebar{position:relative;width:100%;padding:20px;display:block}.app-sidebar .app-brand{font-size:25px}.app-sidebar .sidebar-section-label,.app-sidebar .sidebar-footer{display:none}.app-nav{flex-direction:row;overflow-x:auto;margin-top:20px;padding-bottom:4px;gap:4px}.app-nav a{white-space:nowrap;font-size:10px;padding:9px 11px}.app-nav a .pi{font-size:13px}.app-topbar,.app-main,.app-footer{margin-left:0}.app-topbar{height:70px;padding:0 20px}.environment-badge{display:none}.topbar-context{font-size:10px}.topbar-context small{font-size:7px}.app-main{padding:30px 20px}.dashboard-heading h1{font-size:32px}.metric-grid{margin-bottom:35px}.metric-card{padding:18px 16px}.metric-card strong{font-size:25px}.metric-icon{display:none}.metric-label{font-size:9px}.metric-card small{font-size:7px}.workspace-grid{grid-template-columns:1fr}.workspace-card{padding:25px}.workspace-card p{max-width:none;min-height:0;font-size:12px}.workspace-card h3{font-size:21px}.workspace-action{font-size:11px}.dashboard-note{padding:20px;align-items:flex-start}.dashboard-note>a{display:none}.dashboard-note p{font-size:10px}.app-footer{padding:20px;gap:18px;font-size:8px}.login-layout{grid-template-columns:1fr;min-height:100vh}.login-story{padding:25px;min-height:145px}.login-editorial{padding:25px 0 0;margin:0}.login-editorial .eyebrow,.login-editorial p,.login-story-footer{display:none}.sipo-modern .login-editorial h1{font-size:27px;margin:0;letter-spacing:-.8px}.login-editorial h1 br{display:none}.login-editorial h1 em{margin-left:7px}.login-form-panel{padding:25px}.login-form-content{padding:35px 0;max-width:440px;width:100%;margin:auto}.login-form-content h2{font-size:29px}.back-to-poc{align-self:flex-start}.login-form-footer{margin-top:15px}.app-main .ui-panelgrid-cell{padding:5px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.app-sidebar,.app-topbar,.app-footer,.skip-link{display:none}.app-main{margin:0;padding:0}.metric-grid{grid-template-columns:repeat(4,1fr)}.workspace-grid{display:none}}

/* Runtime QA: avoid fixed-height flex shrink and legacy floated subnavigation. */
body.sipo-modern{height:auto;min-height:100vh}
.sipo-modern .app-main{flex:1 0 auto;min-width:0}
.sipo-modern .app-topbar{flex:0 0 auto}
.sipo-modern .app-footer{position:static;inset:auto;width:auto;height:auto;flex:0 0 auto;clear:both}
.sipo-modern .sub-navigation{display:flow-root;max-width:100%;margin-bottom:22px}
.sipo-modern .sub-navigation:empty{display:none}
.sipo-modern .sub-navigation .ui-menu{float:none!important;width:100%!important;max-width:100%;margin:0!important}
.sipo-modern .sub-navigation .ui-menu>.ui-menu-list{position:static;display:flex;flex-wrap:wrap;gap:3px;min-width:0;max-width:100%;box-shadow:none}
.sipo-modern .sub-navigation .ui-menu>.ui-menu-list>li{float:none;width:auto;flex:0 0 auto}
.sipo-modern .sub-navigation .ui-menu>.ui-menu-list>.ui-widget-header{flex-basis:100%}
@media(max-width:760px){
 .sipo-modern .app-main #contents,.sipo-modern .app-main form{max-width:100%;min-width:0}
 .sipo-modern .app-main #contents form{width:100%!important}
 .sipo-modern .app-main form div[style*="width"]{max-width:100%}
 .sipo-modern .app-main .ui-panel,.sipo-modern .app-main .ui-datatable{width:100%!important;max-width:100%;min-width:0}
 .sipo-modern .app-main .ui-panel-content,.sipo-modern .app-main .ui-fieldset-content{min-width:0;max-width:100%}
 .sipo-modern .app-main .ui-panel-content>table,.sipo-modern .app-main .ui-fieldset-content>table{display:block;width:100%!important;max-width:100%}
 .sipo-modern .app-main .ui-panel-content>table>tbody,.sipo-modern .app-main .ui-fieldset-content>table>tbody{display:block;width:100%}
 .sipo-modern .app-main .ui-panel-content>table>tbody>tr,.sipo-modern .app-main .ui-fieldset-content>table>tbody>tr{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:13px}
 .sipo-modern .app-main .ui-panel-content>table>tbody>tr>td,.sipo-modern .app-main .ui-fieldset-content>table>tbody>tr>td{display:block;width:auto;min-width:0;padding:0}
 .sipo-modern .app-main .ui-panel-content input:not([type=checkbox]):not([type=radio]),.sipo-modern .app-main .ui-panel-content textarea,.sipo-modern .app-main .ui-panel-content .ui-selectonemenu,.sipo-modern .app-main .ui-panel-content .ui-password{max-width:100%!important;width:100%!important;min-width:0!important}
 .sipo-modern .app-main .ui-fieldset{min-width:0;max-width:100%}
 .sipo-modern .app-main .ui-datatable-tablewrapper{overflow-x:auto;max-width:100%}
 .sipo-modern .app-main .ui-datatable-tablewrapper>table{min-width:620px}
 .sipo-modern .sub-navigation .ui-menu>.ui-menu-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px}
 .sipo-modern .sub-navigation .ui-menu>.ui-menu-list>.ui-widget-header{flex-basis:auto}
 .sipo-modern .sub-navigation .ui-menuitem-link{white-space:nowrap;font-size:11px}
 .sipo-modern .ui-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);left:12px!important;top:12px!important;overflow:hidden}
 .sipo-modern .ui-dialog .ui-dialog-titlebar{padding:16px 18px;min-height:58px}
 .sipo-modern .ui-dialog .ui-dialog-title{max-width:calc(100% - 36px);white-space:normal}
 .sipo-modern .ui-dialog .ui-dialog-content{width:auto!important;max-width:100%;max-height:calc(100dvh - 88px)!important;overflow:auto!important;padding:16px}
 .sipo-modern .ui-dialog .ui-datatable-tablewrapper{width:100%;max-width:100%;overflow-x:auto}
 .sipo-modern .ui-dialog .ui-datatable-tablewrapper>table{min-width:620px}
}

/* Legacy icon names retained in XHTML; glyph map verified in PrimeFaces 15.0.18 primeicons.css. */
.sipo-modern .ui-icon[class*="ui-icon-"]{font-family:primeicons!important;font-style:normal;font-weight:normal;font-size:1rem;text-indent:0;overflow:visible;background-image:none;line-height:1;width:1em;height:1em}
.sipo-modern .ui-icon-disk:before{content:"\e95b"}.sipo-modern .ui-icon-trash:before{content:"\e93d"}.sipo-modern .ui-icon-search:before{content:"\e908"}.sipo-modern .ui-icon-check:before{content:"\e909"}.sipo-modern .ui-icon-close:before{content:"\e90b"}.sipo-modern .ui-icon-print:before{content:"\e94b"}.sipo-modern .ui-icon-locked:before{content:"\e95f"}.sipo-modern .ui-icon-unlocked:before{content:"\e96a"}.sipo-modern .ui-icon-refresh:before,.sipo-modern .ui-icon-arrowrefresh-1-w:before{content:"\e938"}.sipo-modern .ui-icon-arrowreturnthick-1-w:before{content:"\e994"}.sipo-modern .ui-icon-gear:before{content:"\e94a"}.sipo-modern .ui-icon-pencil:before{content:"\e942"}.sipo-modern .ui-icon-document-b:before{content:"\e958"}.sipo-modern .ui-icon-circle-triangle-n:before{content:"\e903"}.sipo-modern .ui-icon-circle-triangle-s:before{content:"\e902"}.sipo-modern .ui-icon-alert:before{content:"\e922"}

/* Explicit tabular budget grids retain header spans and readable currency columns. */
.sipo-modern .ui-panelgrid[id$=":pteto"]{display:table;width:100%!important;max-width:760px;table-layout:fixed;border-collapse:collapse;border:1px solid #dfe6d9;background:#fff;margin-top:24px}
.sipo-modern .ui-panelgrid[id$=":pteto"] th,.sipo-modern .ui-panelgrid[id$=":pteto"] td{width:25%;padding:12px 10px!important;white-space:nowrap;overflow:visible;text-overflow:clip;font-size:12px;font-variant-numeric:tabular-nums;border-bottom:1px solid #e7ece2}
.sipo-modern .ui-panelgrid[id$=":pteto"] thead th{background:#eef3ea;color:#395340;font-size:11px}
.sipo-modern .ui-panelgrid[id$=":pteto"] th[colspan]{width:auto;text-align:left;background:#204e39;color:#fff;font-size:13px;font-weight:600}
.sipo-modern .ui-panelgrid[id$=":pteto"] tbody td:first-child{text-align:left;font-weight:550}
.sipo-modern .ui-panelgrid[id$=":pteto"] tbody tr:last-child td{background:#f0f4ec;border-top:1px solid #cbd8c3;font-weight:650}
@media(max-width:760px){.sipo-modern .app-main .ui-panelgrid[id$=":pteto"]{min-width:540px;max-width:none}}

/* Monetary values retain their full precision inside cards and monitoring tables. */
.sipo-modern .metric-card-financial strong{white-space:nowrap;overflow:visible;text-overflow:clip}
@media(min-width:1151px){
 .sipo-modern .metric-grid{grid-template-columns:minmax(240px,1.4fr) minmax(240px,1.4fr) repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .sipo-modern .metric-grid .metric-card-financial{grid-column:1/-1}
 .sipo-modern .metric-card-financial strong{font-size:clamp(18px,6vw,25px)}
}
.sipo-modern .ui-dialog.monitoramento-dialog{max-width:calc(100vw - 48px)}
.sipo-modern .monitoramento-table.ui-datatable{max-width:100%;min-width:0}
.sipo-modern .monitoramento-table .ui-datatable-tablewrapper{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.sipo-modern .monitoramento-table.ui-datatable .ui-datatable-tablewrapper>table{width:100%;min-width:1000px;table-layout:auto}
.sipo-modern .monitoramento-table .mo-col-valor{min-width:170px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;overflow:visible;text-overflow:clip}
.sipo-modern .monitoramento-table .mo-col-finalidade{min-width:240px;max-width:360px;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-align:left}
.sipo-modern .monitoramento-table .mo-col-acao{min-width:70px;width:70px;white-space:nowrap;text-align:center}
@media(min-width:761px) and (max-width:1149px){
 .sipo-modern .ui-dialog.monitoramento-dialog{width:calc(100vw - 48px)!important;left:24px!important}
}
