:root{--navy:#213362;--blue:#07519d;--yellow:#ffcd00;--green:#a8cf45;--orange:#ee7c00;--muted:#647896;--border:#dce6f2;--soft:#f3f7fc;--font:'Nunito Sans',Verdana,sans-serif;color-scheme:light}
*{box-sizing:border-box}body.public-panel{margin:0;background:#f2f6fc;color:var(--navy);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select,[tabindex]{outline-offset:3px}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue)}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,p{margin:0}button{color:inherit}button,a,select{transition:background .15s,border-color .15s}button:hover:enabled{filter:brightness(.97)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:10px;z-index:20;padding:12px;background:white}.skip-link:focus{top:6px}
.panel-header{min-height:55px;padding:7px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(105deg,#213362,#1b4472 55%,#213362);border-bottom:3px solid var(--yellow);color:white;box-shadow:0 2px 6px #21336218}.panel-brand{display:flex;align-items:center;gap:18px;min-width:0}.panel-brand img{object-fit:contain;flex-shrink:0}.panel-brand h1{font-size:19px;letter-spacing:.25px;font-weight:800;line-height:1.25}.cut-badge{background:#e5f2c7;border:1px solid #a8cf4570;border-radius:5px;color:#274b19;padding:4px 9px;white-space:nowrap;font-size:10px;font-weight:800}.cut-badge::before{content:'';display:inline-block;width:6px;height:6px;background:#5c8a24;border-radius:50%;margin-right:6px}.header-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.guide-button{border:0;background:none;color:var(--yellow);padding:7px 0;font-size:12px;font-weight:800}.guide-button span{margin-right:4px}.login-button{display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:9px 17px;background:var(--yellow);color:var(--navy);border:1px solid #e1b600;border-radius:6px;font-weight:800;font-size:12px;white-space:nowrap}.login-button:hover{background:#ffdc48}.panel-content{max-width:1760px;margin:0 auto;padding:12px 20px 0}#panel-board{display:flex;flex-direction:column;gap:8px}.panel-box{background:linear-gradient(120deg,#fff,#fcfdff);border:1px solid var(--border);border-radius:13px;padding:9px 14px 8px;box-shadow:0 2px 5px #21336204;min-width:0}.box-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}h2{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:900;line-height:1.3}.box-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#e9f2ff,#c7ddff);color:#142f6a;font-size:11px;font-weight:900;border-radius:5px;padding:6px 11px;letter-spacing:.1px}.help-icon{background:none;border:0;border-radius:50%;color:#526f9a;font-size:15px;line-height:1;padding:3px;min-width:22px;min-height:22px;flex-shrink:0}.download-button{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid #cbd9eb;border-radius:6px;font-size:11px;font-weight:800;background:#f7faff;white-space:nowrap}.download-button:hover{background:#e7f0fc}.download-button>span:first-child{font-size:19px;line-height:1}.file-tag{font-size:9px;padding:2px 4px;border-radius:3px;background:#e4ecf6;color:#486181}.budget-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:9px}.budget-kpi{display:flex;align-items:center;gap:12px;min-height:65px;background:linear-gradient(110deg,#f8fbff,#f1f6fd);border:1px solid var(--border);border-radius:7px;padding:8px 11px;min-width:0}.kpi-icon{display:grid;place-items:center;flex-shrink:0;width:41px;height:41px;border-radius:10px;background:#e1edfc;color:var(--blue)}.kpi-icon svg,.distribution-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.budget-kpi--transferred .kpi-icon{background:#e5f2d7;color:#5c9430}.budget-kpi--pending{background:linear-gradient(110deg,#fffaf4,#fff8ee)}.budget-kpi--pending .kpi-icon{background:#fff0dc;color:var(--orange)}.kpi-copy{min-width:0;flex:1}.kpi-label{font-size:12px;line-height:1.3;margin-bottom:3px;display:block}.budget-kpi--pending .kpi-label{color:#ab650e}.kpi-value{font-size:18px;font-weight:900;white-space:nowrap;letter-spacing:-.45px}.percent-kpi .kpi-copy{display:grid;grid-template-columns:auto 1fr;gap:2px 13px;align-items:end}.percent-kpi .kpi-label{grid-column:1/-1}.percent-kpi .meter{margin-bottom:4px}.meter{height:9px;background:#dbe3ef;overflow:hidden;border-radius:10px;min-width:40px}.meter>span{display:block;height:100%;background:linear-gradient(90deg,#a8cf45,#7cbb43);border-radius:inherit}.budget-distribution{display:grid;grid-template-columns:1fr 1.08fr 3.12fr;gap:6px;padding:5px;border:1px solid #e1eafa;border-radius:9px;background:#f7faff}.distribution-card{min-width:0;border-radius:8px;padding:12px 16px;display:flex;gap:16px;align-items:center}.distribution-icon{flex-shrink:0;width:35px;display:grid;place-items:center}.distribution-card strong{font-size:21px;font-weight:900;letter-spacing:-.3px;display:block;white-space:nowrap}.distribution-card .distribution-label{font-size:14px;display:block;margin-top:1px}.distribution-card small{display:block;font-weight:900;font-size:12px;margin-top:3px}.distribution-total{background:linear-gradient(115deg,#213362,#1b4472);color:var(--yellow)}.distribution-direct{background:linear-gradient(110deg,#b2c9da,#a9cdf5);color:#153668}.distribution-fund{background:linear-gradient(115deg,#dceec1,#cce8aa);color:#174c35;display:grid;grid-template-columns:1fr 1.08fr 1.65fr;gap:7px;padding:10px}.distribution-fund-main{display:flex;gap:12px;align-items:center}.distribution-fund-main strong{font-size:20px}.distribution-child{display:flex;align-items:center;gap:12px;border-radius:6px;padding:8px 12px;min-height:72px}.distribution-child strong{font-size:16px}.distribution-child .distribution-label{font-size:12px}.distribution-child small{font-size:11px}.distribution-ungrd{background:linear-gradient(110deg,#228b50,#249448);color:white}.distribution-sectors{background:#9ecd7160;border:1px solid white}.source-note{font-size:10px;line-height:1.4;color:var(--muted);margin-top:5px}.table-scroll{overflow-x:auto;border-radius:6px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;line-height:1.25}th{font-weight:600}th,td{padding:4px 11px;text-align:left;border-bottom:1px solid #eaf0f8}.sector-table{table-layout:fixed;min-width:820px}.sector-table thead{background:linear-gradient(#f1f6fc,#eaf0f7);color:#496589}.sector-table th:first-child{width:25%}.sector-table th:nth-child(2),.sector-table th:nth-child(3),.sector-table th:nth-child(4){width:17%}.sector-table th:nth-child(5){width:24%;text-align:left;padding-left:32px}.sector-table th{height:29px}.sector-table td:nth-child(2),.sector-table td:nth-child(3),.sector-table td:nth-child(4){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.sector-table td:first-child{width:25%}.sector-table td:nth-child(5){width:7%;text-align:center;white-space:nowrap}.sector-table td:nth-child(6){width:17%}.sector-table .meter{height:9px}.sector-table tbody{background:#fbfdff}.sector-table .group-row{font-weight:900;color:#142859}.sector-table .group-row td{background:#f7faff}.sector-table .subgroup-row td:first-child{padding-left:26px}.sector-table .detail-row td:first-child{padding-left:47px}.hierarchy-mark{display:inline-block;font-size:15px;width:24px;line-height:10px;vertical-align:baseline;color:var(--navy)}.sector-table tr:last-child td{border-bottom:0}.panel-middle{display:grid;grid-template-columns:1fr 1.05fr;gap:8px}.territory-subtitle{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#496589;margin:-2px 0 5px;gap:8px}.territory-subtitle span{font-size:10px;color:#7286a2}.territory-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:22px}.map-frame{position:relative;min-width:0;background:radial-gradient(ellipse at 40% 40%,#fafcff,#f0f5fb);border-radius:9px;overflow:hidden;height:235px}.map-frame>svg{width:100%;height:100%;display:block}.map-tools{position:absolute;left:8px;top:9px;display:grid;gap:0;box-shadow:0 1px 4px #21336222;border:1px solid #d3dfeb;border-radius:5px;overflow:hidden}.map-tools button{border:0;border-bottom:1px solid #d3dfeb;background:white;width:24px;height:25px;font-size:18px;font-weight:800;line-height:1}.map-tools button:last-child{border:0;font-size:16px}.map-inset{position:absolute;right:9px;top:10px;width:70px;height:103px;background:#ffffffed;border:1px solid #d4dce6;border-radius:6px;box-shadow:0 1px 4px #21336214;display:flex;flex-direction:column;align-items:center;padding:5px 1px}.map-inset svg{width:100%;flex:1;min-height:0}.map-inset span{font-size:8px;color:#6c7175}.map-filters{display:flex;flex-direction:column;padding:9px 6px 0 0;min-width:0}.map-filters label{font-size:12px;color:#496589;margin-bottom:4px}select{width:100%;min-width:0;background:#fbfdff;border:1px solid #c7d6e9;border-radius:5px;color:var(--navy);padding:6px 26px 6px 10px;height:32px;cursor:pointer}.map-filters select{margin-bottom:18px}.map-legend{font-size:9px;color:#607694;display:grid;gap:5px}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-department{background:#ffe183;border:1px solid #dca732}.legend-municipality{background:var(--yellow);border:1px solid #c99c00}.map-selection{font-size:10px;color:#496589;margin-top:9px;line-height:1.4}.map-error{position:absolute;inset:45% 12px auto;padding:10px;background:#fff4d3;color:var(--navy);font-size:11px;border-radius:5px}.map-country{fill:#d2d3d5;stroke:white;stroke-width:.7;vector-effect:non-scaling-stroke}.map-country.is-affected{fill:#ffe183}.map-municipality{fill:#ffcd00;stroke:white;stroke-width:.5;vector-effect:non-scaling-stroke}.map-municipality.is-selected{fill:#ee7c00;stroke:#213362;stroke-width:1.2}.map-municipality:hover,.map-country.is-affected:hover{filter:brightness(.94)}.strategy-legend{display:flex;justify-content:flex-end;gap:17px;font-size:9px;color:#587195;margin-top:-3px;margin-bottom:7px}.strategy-legend span{display:flex;align-items:center;gap:4px}.strategy-legend i{background:var(--green);width:10px;height:10px;border-radius:50%}.strategy-legend span:nth-child(2) i{background:var(--orange)}.strategy-cards{display:grid;gap:7px}.strategy-card{display:grid;grid-template-columns:39px minmax(135px,1.4fr) repeat(3,minmax(68px,1fr)) 62px;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(110deg,#fcfdff,#f5f9ff);min-height:66px}.strategy-code{border-radius:9px;display:grid;place-items:center;font-size:17px;font-weight:900;color:#2588df;background:#e5f1fd;width:39px;height:45px}.strategy-card:nth-child(2) .strategy-code{color:#609e27;background:#ecf6e3}.strategy-card:nth-child(3) .strategy-code{color:#00a0cc;background:#e1f4fc}.strategy-name{font-size:12px;font-weight:900}.strategy-description{font-size:10px;line-height:1.25;color:#587195;margin-top:1px}.strategy-count{display:inline-block;padding:2px 9px;border-radius:10px;background:#e2eeff;font-size:9px;font-weight:800;margin-top:3px}.strategy-metric{align-self:center}.strategy-metric span{font-size:9px;color:#587195;display:block;line-height:1.2;white-space:nowrap}.strategy-metric strong{font-size:11px;font-weight:800;color:#627797;display:block;margin-top:3px}.strategy-percent{border-left:1px solid #e0e9f5;padding-left:6px}.strategy-percent strong{background:#e9eff7;border-radius:5px;padding:5px 3px;text-align:center;font-size:10px;white-space:nowrap}.activities-heading{display:flex;align-items:center;gap:10px;margin-bottom:7px}.activities-heading h2{white-space:nowrap;font-size:18px;gap:8px}.activity-filters{display:flex;flex:1;gap:14px;min-width:0;margin-left:10px}.activity-filters label{display:block;flex:1;min-width:0;font-size:11px;color:#587195}.activity-filters select{height:29px;padding:3px 20px 3px 10px;font-size:11px;margin-top:1px}.text-button{border:0;background:none;font-size:11px;font-weight:900;white-space:nowrap;padding:6px}.quiet-button{border:1px solid #cbd9eb;border-radius:5px;background:#fbfdff;padding:6px 12px;font-size:11px;white-space:nowrap}.quiet-button:hover:enabled{background:#eaf1fc}.count-badge{border:1px solid #cbd9eb;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap;min-width:65px;text-align:center}.activity-table{min-width:560px;table-layout:fixed;line-height:1.45}.activity-table thead{background:linear-gradient(105deg,#213362,#1b4472);color:white;text-transform:uppercase;font-size:12px}.activity-table th{font-weight:700;padding-top:6px;padding-bottom:6px}.activity-table th:nth-child(1){width:60%}.activity-table th:nth-child(2){width:22%}.activity-table th:nth-child(3){width:18%}.activity-table td{font-size:14px;padding:9px 12px;vertical-align:middle}.activity-table tbody tr:nth-child(even){background:#f5f9fe}.activity-table td:nth-child(2),.activity-table td:nth-child(3){color:#587195}.activity-table td:first-child{overflow-wrap:anywhere}.pagination{display:flex;gap:16px;align-items:center;justify-content:flex-end;margin-top:7px;color:#607694;font-size:10px}.empty-row{text-align:center!important;color:#647896;padding:25px!important}.panel-footer{display:flex;justify-content:space-between;gap:12px;padding:10px 2px 12px;font-size:9px;color:#7a8ba2}.panel-tooltip{position:fixed;z-index:30;background:#213362;color:white;max-width:min(330px,calc(100vw - 20px));border:1px solid #405684;border-radius:9px;box-shadow:0 5px 20px #14285930;padding:11px 13px;font-size:12px;line-height:1.55;pointer-events:none}.loading-state,.error-state{text-align:center;padding:55px 20px;background:white;border:1px solid var(--border);border-radius:12px;margin-bottom:15px}.loading-state{display:flex;justify-content:center;align-items:center;gap:14px}.loading-spinner{width:23px;height:23px;border:3px solid #dce6f2;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}.error-state button{margin-top:14px;border:1px solid #cbd9eb;padding:8px 16px;border-radius:5px;background:#f5f9ff}@keyframes spin{to{transform:rotate(360deg)}}
.guide-dialog{border:1px solid #b7cbe3;border-top:5px solid var(--yellow);border-radius:13px;color:var(--navy);padding:24px;width:min(480px,calc(100vw - 32px));box-shadow:0 18px 80px #132b5740;font-family:var(--font)}.guide-dialog::backdrop{background:#14244087}.guide-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.guide-eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;color:#587195}.guide-top .help-icon{font-size:24px}.guide-step{font-size:11px;color:#587195}.guide-dialog h2{margin:8px 0 10px;font-size:22px;display:block}.guide-dialog p{font-size:14px;line-height:1.8}.guide-progress{display:flex;gap:5px;margin:24px 0 18px}.guide-progress i{height:4px;background:#e0e8f4;flex:1;border-radius:3px}.guide-progress i.is-current{background:var(--blue)}.guide-actions{display:flex;justify-content:space-between;gap:12px}.guide-actions .quiet-button{font-size:12px}.guide-highlight{outline:3px solid var(--yellow);outline-offset:3px}
/* Row headers share the financial hierarchy, without inheriting column-heading height. */
h3{margin:0}.sector-table thead th{height:29px}.sector-table tbody th{height:auto;font-weight:inherit}.sector-table tbody td,.sector-table tbody th{padding-top:3px;padding-bottom:3px}.sector-table .group-row th{background:#f7faff}.sector-table .subgroup-row th{padding-left:26px}.sector-table .detail-row th{padding-left:47px}.sector-table tbody th{font-weight:600}.sector-table .group-row th{font-weight:900}.sector-table .group-row td{font-weight:900}.distribution-fund{padding:7px}.distribution-child{min-height:64px}.distribution-card{padding-top:9px;padding-bottom:9px}.distribution-fund{padding-top:7px;padding-bottom:7px}.strategy-card{min-height:66px}.budget-kpi{min-height:61px}.activity-table td{padding-top:9px;padding-bottom:9px}
@media(min-width:1650px){.panel-content{padding-top:16px}#panel-board{gap:12px}.panel-box{padding:12px 16px}th,td{padding-top:6px;padding-bottom:6px}.map-frame{height:270px}.strategy-card{min-height:76px}.activity-table td{padding-top:8px;padding-bottom:8px}}
@media(max-width:1250px){.panel-header{padding-inline:16px}.panel-brand{gap:12px}.panel-brand h1{font-size:16px}.header-actions{gap:12px}.cut-badge{font-size:9px}.panel-content{padding-inline:12px}h2,.activities-heading h2{font-size:16px}.panel-box{padding-inline:11px}.distribution-card{padding:11px;gap:10px}.distribution-card strong{font-size:18px}.distribution-fund{padding:8px;gap:6px}.distribution-fund-main{gap:6px}.distribution-child{padding:8px;gap:7px}.distribution-child strong{font-size:15px}.distribution-icon{width:25px}.kpi-value{font-size:16px}.budget-kpi{gap:8px;padding:8px}.kpi-icon{width:34px;height:38px}.territory-layout{gap:12px}.strategy-card{grid-template-columns:32px minmax(100px,1.2fr) repeat(3,minmax(55px,1fr)) 57px;gap:5px;padding:7px 5px}.strategy-code{width:32px;font-size:15px}.strategy-metric span{font-size:8px}.strategy-metric strong{font-size:10px}.activity-filters{gap:7px;margin-left:0}.activities-heading{flex-wrap:wrap}.activities-heading h2{flex:0 0 auto}.activity-filters{min-width:400px}.activities-heading .text-button{margin-left:auto}}
@media(max-width:1000px){.panel-brand{flex-wrap:wrap;column-gap:12px;row-gap:3px}.panel-brand img{width:87px;height:37px}.cut-badge{margin-left:99px}.panel-brand h1{max-width:300px}.panel-header{align-items:flex-start;padding-block:9px}.header-actions{padding-top:5px}.budget-distribution{grid-template-columns:1fr 1fr}.distribution-fund{grid-column:1/-1}.budget-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-middle{grid-template-columns:1fr}.map-frame{height:290px}.territory-layout{grid-template-columns:1.5fr 1fr;gap:25px}.strategy-card{grid-template-columns:40px minmax(150px,1.4fr) repeat(3,1fr) 75px;gap:10px;padding:9px}.strategy-metric span{font-size:10px}.strategy-metric strong{font-size:12px}.strategy-code{width:40px}.strategy-description{font-size:12px}.activity-filters{order:3;flex-basis:100%;min-width:0}.activities-heading h2{flex:1}.download-button{font-size:10px}}
@media(max-width:600px){.panel-header{padding:10px 12px;flex-wrap:wrap;gap:9px}.panel-brand{display:grid;grid-template-columns:79px 1fr;column-gap:10px;row-gap:6px;width:100%}.panel-brand img{width:79px;height:35px;grid-row:1/3}.panel-brand h1{font-size:14px;max-width:none}.cut-badge{margin:0;justify-self:start;font-size:9px;padding:3px 6px}.header-actions{width:100%;justify-content:space-between;padding-top:0}.guide-button{font-size:11px}.login-button{padding:7px 13px;font-size:11px}.panel-content{padding:9px 8px 0}#panel-board{gap:9px}.panel-box{border-radius:10px;padding:9px}.box-heading{flex-wrap:wrap;gap:7px}h2,.activities-heading h2{font-size:15px;gap:6px}.box-badge{font-size:9px;padding:5px 7px}.help-icon{font-size:14px}.download-button{margin-left:47px;padding:4px 7px}.budget-kpis{gap:6px}.budget-kpi{padding:9px 7px;gap:7px;min-height:76px;align-items:flex-start}.kpi-icon{width:25px;height:29px;border-radius:7px}.kpi-icon svg{width:20px;height:20px}.kpi-label{font-size:10px;min-height:24px}.kpi-value{font-size:12px;letter-spacing:-.4px}.percent-kpi .kpi-copy{grid-template-columns:1fr;gap:0}.percent-kpi .kpi-label{grid-column:auto}.percent-kpi .meter{margin-top:6px;margin-bottom:0;height:6px}.budget-distribution{gap:5px;padding:4px;grid-template-columns:1fr 1fr}.distribution-card{padding:11px 8px;gap:8px}.distribution-card strong{font-size:17px}.distribution-card .distribution-label{font-size:11px}.distribution-card small{font-size:10px}.distribution-icon{width:23px}.distribution-icon svg{width:22px;height:22px}.distribution-fund{grid-template-columns:1fr 1fr;padding:7px}.distribution-fund-main{grid-column:1/-1;justify-content:center;padding:3px}.distribution-fund-main>div:last-child{display:flex;align-items:center;gap:8px}.distribution-child{min-height:65px;gap:7px;padding:7px}.distribution-child strong{font-size:13px}.distribution-child .distribution-label{font-size:10px}.source-note{font-size:9px}.territory-subtitle{display:block;font-size:11px;margin-top:1px}.territory-subtitle span{display:block;font-size:10px;margin-top:3px}.territory-layout{grid-template-columns:1fr;gap:5px}.map-frame{height:265px}.map-filters{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:4px 0 0}.map-filters label{font-size:11px;margin-bottom:0;grid-row:1}.map-filters select{margin:0;grid-row:2;font-size:11px}.map-legend{grid-column:1/-1;display:flex;justify-content:center;font-size:9px;gap:12px;margin-top:5px}.map-selection{grid-column:1/-1;text-align:center;margin-top:1px}.strategy-legend{gap:10px;font-size:8px;justify-content:center;margin-top:3px}.strategy-card{grid-template-columns:33px 1fr 1fr 1fr 59px;gap:6px;padding:8px}.strategy-code{width:33px;height:38px;grid-row:1/3;font-size:15px}.strategy-identity{grid-column:2/6;display:grid;grid-template-columns:1fr auto;column-gap:5px}.strategy-name{font-size:12px}.strategy-description{font-size:10px;grid-column:1}.strategy-count{grid-row:1/3;grid-column:2;align-self:center;font-size:8px;margin:0;padding:4px 7px}.strategy-metric span{font-size:8px}.strategy-metric strong{font-size:10px}.strategy-percent{padding-left:5px}.strategy-percent strong{padding:3px 1px;font-size:9px}.activities-heading{gap:6px}.activities-heading h2{flex-basis:100%;margin-bottom:2px}.activities-heading .text-button{margin:0 auto 0 0}.activity-filters{order:0;flex-direction:column;gap:6px;margin-bottom:3px}.activity-filters label{display:flex;align-items:center;gap:8px}.activity-filters select{flex:1;margin:0;font-size:11px}.count-badge{padding:6px 8px}.pagination{justify-content:center;gap:10px}.panel-footer{font-size:8px;display:block;line-height:1.6}.panel-footer span{display:block}.guide-dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Refined controls and typography for the public panel. All UI icons are vectors. */
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.ui-icon { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.help-icon { display:inline-flex; align-items:center; justify-content:center; border-radius:50%; }
.help-icon .ui-icon { width:16px; height:16px; }
.help-icon:hover { background:#eaf1fb; color:#07519d; }
.box-badge { width:30px; height:30px; padding:0; border-radius:8px; background:linear-gradient(135deg,#213362,#1b4472); border-bottom:3px solid #ffcd00; color:#fff; font-size:15px; font-weight:800; box-shadow:0 2px 4px #21336213; }
.guide-button { display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:7px; font-weight:700; }
.guide-button .ui-icon { width:20px; height:20px; stroke-width:1.6; }
.guide-button:hover { background:#ffffff12; }
.download-button { gap:10px; padding:6px 11px 6px 6px; background:linear-gradient(120deg,#fff,#f4f8ff); border:1px solid #cad8eb; border-radius:9px; box-shadow:0 2px 5px #21336207; }
.download-button:hover { background:#eef5ff; border-color:#91add3; box-shadow:0 3px 9px #21336212; }
.download-icon { display:grid; place-items:center; width:32px; height:34px; color:#07519d; background:#e4eefb; border-radius:6px; }
.download-icon .ui-icon { width:21px; height:21px; }
.download-copy { display:grid; gap:1px; line-height:1.3; }
.download-copy small { font-size:9px; letter-spacing:.25px; color:#71819a; font-weight:600; }
.download-copy strong { font-size:11px; font-weight:800; color:#213362; }
.download-button .file-tag { font-size:9px; background:#fff0cf; color:#88620a; border:1px solid #f1deb1; padding:3px 5px; border-radius:4px; }
.download-arrow { width:17px; height:17px; color:#07519d; margin-left:1px; }
.sector-table .group-row th { padding-top:3px; padding-bottom:3px; }
.sector-toggle { display:inline-flex; align-items:center; gap:8px; padding:3px 4px 3px 0; border:0; border-radius:5px; background:transparent; color:#213362; font-size:12px; font-weight:800; line-height:1.3; text-align:left; }
.sector-toggle:hover { background:#e8f0fb; }
.sector-toggle-icon { display:grid; place-items:center; width:21px; height:21px; background:#e2ebf7; border:1px solid #d5e1f1; color:#486588; border-radius:5px; }
.sector-toggle-icon .ui-icon { width:14px; height:14px; stroke-width:2; transition:transform .15s; }
.sector-toggle[aria-expanded=false] .ui-icon { transform:rotate(-90deg); }
.sector-child-count { font-size:9px; font-weight:600; color:#75879d; padding:2px 5px; background:#edf3f9; border-radius:4px; white-space:nowrap; }
.sector-table .detail-row th { border-left:2px solid #e1eaf5; }
.sector-table .group-row td { background:#f3f7fd; }
.sector-table .group-row th { background:#f3f7fd; }
.sector-table .subgroup-row th { padding-left:26px; }
.sector-table tr:hover td,.sector-table tr:hover th { background:#eef5fc; }
.map-country.is-affected { fill:#ffcd00; stroke:#fff; stroke-width:1; cursor:pointer; }
.map-country.is-affected.is-open { fill:#ffe183; stroke:#dca732; stroke-width:1.4; }
.map-country.is-affected:focus-visible { outline:none; stroke:#213362; stroke-width:2.5; fill:#e6b900; }
.map-municipality { fill:#ee7c00; stroke:white; stroke-width:.8; }
.map-municipality.is-selected { fill:#c85810; stroke:#7c2d12; stroke-width:1.6; }
.map-municipality:focus-visible { outline:none; stroke:#213362; stroke-width:2; }
.legend-department { background:#ffcd00; border-color:#dca732; }
.legend-municipality { background:#ee7c00; border-color:#c36500; }
.map-filters select:disabled { background:#f0f4f8; color:#7e8b9e; cursor:default; }
.strategy-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px 10px; padding:9px 10px; }
.strategy-code { grid-row:1/4; align-self:center; width:44px; height:44px; min-height:44px; aspect-ratio:1; border-radius:10px; font-size:16px; line-height:1; }
.strategy-identity { grid-column:2; display:flex; align-items:center; flex-wrap:wrap; gap:3px 8px; }
.strategy-name { font-size:12px; white-space:nowrap; }
.strategy-description { flex:1; min-width:120px; font-size:10px; margin:0; }
.strategy-count { font-size:9px; margin:0; white-space:nowrap; padding:3px 7px; }
.strategy-figures { grid-column:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 65px; gap:9px; }
.strategy-metric span { font-size:9px; }
.strategy-metric strong { color:#213362; font-size:11px; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.25px; }
.strategy-percent strong { background:#eaf3df; color:#496d24; padding:5px 3px; font-size:11px; }
.strategy-progress { grid-column:2; }
.strategy-progress-split { overflow:hidden; border-radius:10px; background:#e1e9f2; }
.strategy-progress-split { display:flex; height:7px; }
.strategy-progress-split span { display:block; height:100%; }
.strategy-progress-transferred { background:var(--green); }
.strategy-progress-pending { background:var(--orange); }
.strategy-finance-note { background:#f4f7fb; border-left:3px solid #b2c9da; border-radius:0 5px 5px 0; padding:7px 9px; margin-top:7px; font-size:10px; line-height:1.5; color:#60718a; }
.panel-tooltip { display:flex; align-items:flex-start; gap:10px; background:#fff; color:#42536a; border:1px solid #dbe4ee; border-radius:11px; box-shadow:0 8px 30px #14285923,0 2px 5px #1428590a; padding:13px; max-width:min(360px,calc(100vw - 20px)); font-size:12px; line-height:1.6; }
.tooltip-symbol { display:grid; place-items:center; flex-shrink:0; width:27px; height:27px; border-radius:8px; background:#fff4cf; color:#8f701c; }
.tooltip-symbol .ui-icon { width:17px; height:17px; }
.tooltip-copy { min-width:0; }
.tooltip-heading { display:block; color:#213362; font-size:11px; font-weight:800; margin-bottom:4px; line-height:1.3; }
.tooltip-copy p { margin:0; overflow-wrap:anywhere; }
.tooltip-arrow { position:absolute; width:9px; height:9px; left:var(--arrow-left,50%); background:#fff; transform:translateX(-50%) rotate(45deg); }
.panel-tooltip[data-placement=above] .tooltip-arrow { bottom:-5px; border-bottom:1px solid #dbe4ee; border-right:1px solid #dbe4ee; }
.panel-tooltip[data-placement=below] .tooltip-arrow { top:-5px; border-top:1px solid #dbe4ee; border-left:1px solid #dbe4ee; }
@media(max-width:1250px) { .strategy-figures { gap:5px; grid-template-columns:repeat(3,minmax(0,1fr)) 58px; } .strategy-metric strong { font-size:10px; } .strategy-metric span { font-size:8px; } }
@media(max-width:1000px) and (min-width:601px) { .strategy-figures { gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)) 70px; } .strategy-metric strong { font-size:12px; } .strategy-metric span { font-size:10px; } }
@media(max-width:600px) { .box-badge { width:27px; height:27px; font-size:13px; border-radius:7px; } .download-button { margin-left:33px; gap:7px; padding:4px 8px 4px 4px; } .download-copy strong { font-size:10px; } .download-copy small { font-size:8px; } .download-icon { width:29px; height:31px; } .download-arrow { width:15px; height:15px; } .guide-button { font-size:11px; padding:5px 0; } .guide-button .ui-icon { width:18px; height:18px; } .sector-child-count { font-size:8px; } .strategy-card { grid-template-columns:29px minmax(0,1fr); gap:5px 7px; padding:9px 7px; } .strategy-code { width:29px; grid-row:1/4; min-height:65px; } .strategy-identity { display:flex; grid-column:2; } .strategy-name { font-size:11px; } .strategy-description { font-size:9px; min-width:0; flex-basis:calc(100% - 83px); } .strategy-count { font-size:8px; margin-left:auto; } .strategy-figures { grid-template-columns:repeat(3,minmax(0,1fr)) 44px; gap:4px; } .strategy-metric strong { font-size:8px; letter-spacing:-.4px; } .strategy-metric span { white-space:normal; font-size:8px; min-height:20px; } .strategy-percent { padding-left:3px; } .strategy-percent strong { font-size:9px; padding:4px 0; } .strategy-finance-note { font-size:9px; } .panel-tooltip { font-size:11px; padding:11px; gap:8px; } }
.map-country:focus,.map-municipality:focus { outline:none; }
/* Give the map the space of its neighboring strategy cards. */
.territory-box { display:flex; flex-direction:column; }
.territory-layout { flex:1; }
.territory-box .map-frame { height:auto; min-height:235px; }
@media(max-width:600px) {
  .territory-box .map-frame { height:265px; min-height:0; }
  .strategy-figures { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; }
  .strategy-metric span { min-height:0; font-size:9px; white-space:nowrap; }
  .strategy-metric strong { font-size:11px; letter-spacing:-.2px; }
  .strategy-percent { border-left:0; padding-left:0; }
  .strategy-percent strong { display:inline-block; font-size:11px; padding:3px 8px; }
}
/* Section colors distinguish explanations without adding technical detail. */
.panel-tooltip { background:var(--tooltip-bg,#fff); border-color:var(--tooltip-border,#dbe4ee); border-top:3px solid var(--tooltip-accent,#71819a); }
.panel-tooltip[data-section=budget-section] { --tooltip-bg:#eff6ff; --tooltip-border:#c8dcef; --tooltip-accent:#07519d; --tooltip-symbol-bg:#dceafc; }
.panel-tooltip[data-section=sectors-section] { --tooltip-bg:#fff2f7; --tooltip-border:#edcddc; --tooltip-accent:#a13b71; --tooltip-symbol-bg:#f8dfe9; }
.panel-tooltip[data-section=territories-section] { --tooltip-bg:#fffbe8; --tooltip-border:#eadca5; --tooltip-accent:#886a0c; --tooltip-symbol-bg:#fff0b6; }
.panel-tooltip[data-section=strategies-section] { --tooltip-bg:#fff3e8; --tooltip-border:#f0d3b6; --tooltip-accent:#a5560d; --tooltip-symbol-bg:#ffe4cb; }
.panel-tooltip[data-section=activities-section] { --tooltip-bg:#f1f8e9; --tooltip-border:#d4e3bf; --tooltip-accent:#53752e; --tooltip-symbol-bg:#e2efcf; }
.panel-tooltip .tooltip-heading { color:var(--tooltip-accent,#213362); }
.panel-tooltip .tooltip-symbol { background:var(--tooltip-symbol-bg,#edf2f8); color:var(--tooltip-accent,#587195); }
.panel-tooltip .tooltip-arrow { background:var(--tooltip-bg,#fff); }
.panel-tooltip[data-placement=above] .tooltip-arrow { border-color:var(--tooltip-border,#dbe4ee); }
.panel-tooltip[data-placement=below] .tooltip-arrow { border-color:var(--tooltip-border,#dbe4ee); }
.panel-tooltip[data-kind=territory] { padding:9px 12px; font-weight:700; }
.panel-tooltip[data-kind=territory] .tooltip-symbol,.panel-tooltip[data-kind=territory] .tooltip-heading { display:none; }
.strategy-card[data-strategy=E1] .strategy-code { background:#e5f0fc; color:#07519d; border:1px solid #d4e3f5; }
.strategy-card[data-strategy=E2] .strategy-code { background:#eef6df; color:#5b8027; border:1px solid #deebc4; }
.strategy-card[data-strategy=E3] .strategy-code { background:#fff0df; color:#b65a0b; border:1px solid #f5ddbf; }
.strategy-card[data-strategy=E2] .strategy-count { background:#eef6df; color:#5b8027; }
.strategy-card[data-strategy=E3] .strategy-count { background:#fff0df; color:#a4530a; }
.territory-subtitle { font-size:15px; color:#213362; margin:1px 0 10px; gap:12px; flex-wrap:wrap; }
.territory-subtitle strong { font-weight:800; line-height:1.4; }
.territory-subtitle span { font-size:11px; }
.map-selection:empty { display:none; }
.panel-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; padding:16px 24px; min-height:78px; background:linear-gradient(105deg,#213362,#1b4472 55%,#213362); border-top:3px solid var(--yellow); color:#fff; font-size:12px; line-height:1.5; }
.footer-brand { display:flex; align-items:center; gap:18px; min-width:0; }
.footer-brand img { object-fit:contain; flex-shrink:0; }
.footer-copy strong { display:block; font-size:15px; font-weight:800; }
.footer-copy p { margin:2px 0 0; color:#e0e9f6; font-size:11px; }
.footer-location { flex-shrink:0; color:#ffdc48; font-weight:700; }
@media(max-width:600px) {
  .panel-footer { flex-direction:column; align-items:stretch; gap:10px; padding:15px 12px; margin-top:14px; }
  .footer-brand { gap:10px; }
  .footer-brand img { width:79px; height:35px; }
  .footer-copy strong { font-size:12px; }
  .footer-copy p { font-size:10px; }
  .footer-location { margin-left:89px; font-size:10px; }
  .strategy-card { grid-template-columns:40px minmax(0,1fr); }
  .strategy-code { width:40px; height:40px; min-height:40px; font-size:15px; }
  .territory-subtitle { font-size:14px; margin-bottom:8px; }
  .territory-subtitle span { font-size:11px; }
}

@media(max-width:600px) { .activity-table td { font-size:13px; padding:8px 10px; } .activity-table thead { font-size:11px; } }

/* Keep financial headings and figures aligned, with gentle row banding. */
.sector-table { min-width:1060px; font-size:14px; line-height:1.45; }
.sector-table thead th { text-align:center; padding:10px 12px; font-size:13px; font-weight:800; height:auto; }
.sector-table thead th:first-child { text-align:left; }
.sector-table thead th:nth-child(5) { text-align:center; padding-left:12px; }
.sector-table tbody tr { --sector-row-bg:#fff; }
.sector-table tbody tr:nth-child(even of :not([hidden])) { --sector-row-bg:#f2f6fc; }
.sector-table tbody tr > th,.sector-table tbody tr > td { background:var(--sector-row-bg); padding-top:8px; padding-bottom:8px; border-bottom:1px solid #e1e8f2; vertical-align:middle; }
.sector-table tbody td:nth-child(2),.sector-table tbody td:nth-child(3),.sector-table tbody td:nth-child(4),.sector-table tbody td:nth-child(5) { text-align:center; }
.sector-table tbody tr.group-row > th,.sector-table tbody tr.group-row > td { background:#e7eef8; }
.sector-table .sector-toggle { font-size:14px; }
.sector-table .sector-child-count { font-size:10px; }
.sector-table tbody tr:hover > th,.sector-table tbody tr:hover > td { background:#eaf2fc; }
.sector-table tbody tr:is(:hover,:focus-within) > th,.sector-table tbody tr:is(:hover,:focus-within) > td { background:#eaf2fc; }
.sector-table tbody tr:is(:hover,:focus-within) > th,.sector-table tbody tr:is(:hover,:focus-within) .sector-toggle { color:#07519d; }
.sector-table tbody tr:is(:hover,:focus-within) > td:nth-child(2) { color:#07519d; }
.sector-table tbody tr:is(:hover,:focus-within) > td:nth-child(3),.sector-table tbody tr:is(:hover,:focus-within) > td:nth-child(5) { color:#327541; }
.sector-table tbody tr:is(:hover,:focus-within) > td:nth-child(4) { color:#a4530a; }
.sector-table tbody tr:is(:hover,:focus-within) > th,.sector-table tbody tr:is(:hover,:focus-within) > td,.sector-table tbody tr:is(:hover,:focus-within) .sector-toggle { font-weight:800; }
