@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Barlow:wght@300;400;500;600&display=swap");.budget-root{--paper:#f6f2ed;--white:#ffffff;--ink:#14110d;--muted:#7a7268;--rule:#ddd7ce;--navy:#1a3055;--navy-lt:#c8d5e8;--red:#b01c1c;--red-mid:#cc3333;--red-lt:#f0d0d0;--teal:#0a5a50;--teal-lt:#bcddd8;--gold:#8a6800;--gold-lt:#ede3c0;--green:#206030;--green-lt:#d0e8d8;--grey:#484440;--grey-lt:#e0dbd5;background:var(--paper);font-family:Barlow,sans-serif;color:var(--ink);font-size:14px;line-height:1.5;min-height:100vh}.budget-root *{box-sizing:border-box}.budget-root a{color:inherit;text-decoration:none}.budget-root .masthead{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr auto;align-items:stretch;overflow:hidden}.budget-root .masthead-left{padding:44px 52px 40px;border-right:1px solid #2a2620}.budget-root .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}.budget-root .eyebrow-flag{width:36px;height:24px;border-radius:2px;object-fit:cover;flex-shrink:0}.budget-root .eyebrow-text{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#888;font-weight:500}.budget-root .masthead h1{font-family:Libre Baskerville,serif;font-size:clamp(2rem,3.5vw,3.1rem);font-weight:400;line-height:1.08;letter-spacing:-.02em;max-width:600px}.budget-root .masthead h1 em{font-style:italic;color:#b0a898}.budget-root .masthead-sub{margin-top:12px;font-size:12px;color:#777;font-weight:300;letter-spacing:.04em;text-transform:uppercase}.budget-root .masthead-right{padding:44px 52px 40px;display:flex;flex-direction:column;justify-content:flex-end;gap:20px;min-width:250px}.budget-root .kpi-label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#666;font-weight:500;margin-bottom:3px}.budget-root .kpi-value{font-family:Libre Baskerville,serif;font-size:2.1rem;font-weight:700;line-height:1}.budget-root .kpi-value.rec{color:#5a9de0}.budget-root .kpi-value.def{color:#e06050}.budget-root .kpi-value.sur{color:#3a9060}.budget-root .kpi-value.out{color:var(--paper)}.budget-root .kpi-value.dbt{color:#c0a060}.budget-root .kpi-note{font-size:10px;color:#666;font-weight:300;margin-top:2px}.budget-root .stripe{height:5px;background:linear-gradient(90deg,var(--navy) 0 20%,var(--red) 20% 40%,var(--teal) 40% 60%,var(--gold) 60% 80%,var(--grey) 80% 100%)}.budget-root .section-label{font-size:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:600;color:var(--muted);padding:28px 52px 0;display:flex;align-items:center;gap:16px}.budget-root .section-label:after{content:"";flex:1;height:1px;background:var(--rule)}.budget-root .two-col{display:grid;grid-template-columns:1fr 1fr;padding:0 52px}.budget-root .col-pad{padding-right:40px}.budget-root .col-divider{border-left:1px solid var(--rule);padding-left:40px}.budget-root .panel-head{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0 14px;border-bottom:2px solid var(--ink);margin-bottom:4px}.budget-root .panel-head h2{font-family:Libre Baskerville,serif;font-size:1rem;font-weight:700}.budget-root .panel-head span{font-size:10px;color:var(--muted)}.budget-root .group-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600;margin:16px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--rule)}.budget-root .bar-row{display:grid;grid-template-columns:200px 1fr 60px;align-items:center;gap:10px;padding:3px 0;opacity:0;transform:translateX(-8px);animation:budgetSlideIn .35s ease forwards}.budget-root .bar-row.right-anim{transform:translateX(8px)}@keyframes budgetSlideIn{to{opacity:1;transform:translateX(0)}}.budget-root .bar-label{font-size:12px;color:var(--ink);line-height:1.3;font-weight:400}.budget-root .bar-label small{display:block;font-size:10px;color:var(--muted);font-weight:300;margin-top:1px}.budget-root .bar-track{height:18px;background:var(--rule);border-radius:2px;overflow:hidden}.budget-root .bar-fill{height:100%;width:0;border-radius:2px;transition:width .95s cubic-bezier(.16,1,.3,1)}.budget-root .bar-val{font-size:11px;font-weight:600;color:var(--ink);text-align:right;white-space:nowrap}.budget-root .bar-val small{display:block;font-size:9px;color:var(--muted);font-weight:400}.budget-root .deficit-row{background:#fff7f7;border:1px solid #f0c8c8;border-radius:3px;padding:10px 14px;margin:10px 0 4px;display:grid;grid-template-columns:200px 1fr 60px;gap:10px;align-items:center}.budget-root .deficit-row .bar-label{color:var(--red);font-weight:500}.budget-root .deficit-row .bar-val{color:var(--red)}.budget-root .surplus-row{background:#f0faf0;border:1px solid #b8dab8;border-radius:3px;padding:10px 14px;margin:10px 0 4px;display:grid;grid-template-columns:200px 1fr 60px;gap:10px;align-items:center}.budget-root .surplus-row .bar-label{color:var(--green);font-weight:500}.budget-root .surplus-row .bar-val{color:var(--green)}.budget-root .total-row{display:grid;grid-template-columns:200px 1fr 60px;gap:10px;align-items:center;padding:8px 0 4px;border-top:2px solid var(--ink);margin-top:6px}.budget-root .total-row .bar-label{font-weight:600;font-size:12px}.budget-root .total-row .bar-val{font-weight:700;font-size:12px}.budget-root .method-note{background:var(--ink);color:#ccc;font-size:10.5px;line-height:1.7;padding:14px 20px;border-radius:3px;margin:10px 0 0;font-weight:300}.budget-root .method-note strong{color:var(--paper);font-weight:600}.budget-root .callouts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--rule);margin:0 52px;border:1px solid var(--rule);border-radius:3px;overflow:hidden}.budget-root .callout{background:var(--white);padding:18px 20px}.budget-root .callout-icon{font-size:18px;margin-bottom:8px;display:block}.budget-root .callout h3{font-family:Libre Baskerville,serif;font-size:.85rem;font-weight:700;margin-bottom:6px}.budget-root .callout p{font-size:11px;color:var(--muted);line-height:1.6;font-weight:300}.budget-root .tag{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:2px 7px;border-radius:2px;margin-top:8px}.budget-root .tag-red{background:var(--red-lt);color:var(--red)}.budget-root .tag-navy{background:var(--navy-lt);color:var(--navy)}.budget-root .tag-teal{background:var(--teal-lt);color:var(--teal)}.budget-root .tag-green{background:var(--green-lt);color:var(--green)}.budget-root .tag-gold{background:var(--gold-lt);color:var(--gold)}.budget-root .tag-grey{background:var(--grey-lt);color:var(--grey)}.budget-root .footnote{padding:24px 52px 40px;border-top:1px solid var(--rule);margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.budget-root .footnote p{font-size:10px;color:var(--muted);line-height:1.7;font-weight:300}.budget-root .footnote strong{font-weight:600;color:var(--ink)}.budget-root .map-wrapper{margin:16px 52px 0;background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:20px;position:relative;overflow:hidden}.budget-root #map{width:100%;max-width:900px;margin:0 auto;display:block}.budget-root #map svg{width:100%;height:auto}.budget-root .map-country{fill:var(--grey-lt);stroke:var(--white);stroke-width:.5;transition:fill .2s ease}.budget-root .map-country.active{fill:var(--navy);cursor:pointer}.budget-root .map-country.active:hover{fill:var(--red)}.budget-root .map-tooltip{position:absolute;background:var(--ink);color:var(--white);padding:6px 12px;border-radius:4px;font-size:11px;font-weight:500;pointer-events:none;opacity:0;transition:opacity .1s ease;z-index:10;letter-spacing:.05em;white-space:nowrap}.budget-root .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:24px 52px 40px}.budget-root .report-card{display:flex;flex-direction:column;text-decoration:none;background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:24px;color:var(--ink);transition:all .25s ease;position:relative}.budget-root .report-card:hover{border-color:var(--muted);transform:translateY(-3px);box-shadow:0 12px 24px -10px rgba(0,0,0,.08)}.budget-root .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.budget-root .card-title h2{font-family:Libre Baskerville,serif;font-size:1.25rem;font-weight:700;margin-bottom:4px}.budget-root .card-title p{font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.budget-root .card-flag{width:36px;height:24px;border-radius:2px;object-fit:cover;flex-shrink:0}.budget-root .card-desc{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:20px;font-weight:300;flex-grow:1}.budget-root .card-tags{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--rule);padding-top:16px}.budget-root .back-link-mast{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#666;margin-bottom:16px;font-weight:400;text-decoration:none}.budget-root .back-link-mast:hover{color:var(--paper)}.budget-root .map-fiscal-row{display:grid;grid-template-columns:1fr 320px;align-items:start;margin:16px 52px 0}.budget-root .map-fiscal-row .map-wrapper{margin:0;border-right:none;border-radius:4px 0 0 4px}.budget-root .fiscal-table-wrap{border:1px solid var(--rule);border-left:none;background:var(--white);max-height:clamp(300px,calc((100vw - 424px) * .521 + 40px),510px);overflow-y:auto;border-radius:0 4px 4px 0;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.budget-root .fiscal-table-wrap::-webkit-scrollbar{width:5px}.budget-root .fiscal-table-wrap::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.budget-root .fiscal-table{width:100%;border-collapse:collapse;font-size:11px;font-family:Barlow,sans-serif}.budget-root .fiscal-table thead th{position:sticky;top:0;user-select:none;background:var(--ink);color:var(--paper);font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;padding:9px 8px;text-align:right;white-space:nowrap;z-index:2}.budget-root .fiscal-table thead th:first-child{text-align:left;padding-left:10px}.budget-root .fiscal-table thead .th-label{display:block;line-height:1.3}.budget-root .fiscal-table tbody tr{border-bottom:1px solid var(--rule);cursor:pointer;transition:background .12s ease;display:table-row}.budget-root .fiscal-table tbody tr:hover{background:#f0ece8}.budget-root .fiscal-table tbody tr:last-child{border-bottom:none}.budget-root .fiscal-table tbody td{padding:6px 8px;text-align:right;vertical-align:middle;color:var(--ink);white-space:nowrap;line-height:1.3}.budget-root .fiscal-table tbody td:first-child{text-align:left;padding-left:10px}.budget-root .country-cell{display:flex;align-items:center;gap:6px}.budget-root .country-cell-flag{width:18px;height:12px;border-radius:1px;object-fit:cover;flex-shrink:0}.budget-root .country-cell-name{font-weight:500;font-size:11px;color:var(--ink)}.budget-root .pct-strong{font-weight:700;color:var(--navy)}.budget-root .val-deficit{color:var(--red);font-weight:500}.budget-root .val-surplus{color:var(--green);font-weight:500}.budget-root .rank-badge{display:inline-block;font-size:8px;font-weight:700;color:var(--muted);min-width:16px;text-align:right;margin-right:4px}@media (max-width:900px){.budget-root .masthead{grid-template-columns:1fr}.budget-root .masthead-right{border-top:1px solid #2a2620;padding:24px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.budget-root .masthead-right>div{display:flex;flex-direction:column}.budget-root .masthead-right>div:nth-child(3){grid-column:1}.budget-root .masthead-right>div:nth-child(4){grid-column:2}.budget-root .masthead-left{padding:32px 20px 28px}.budget-root .two-col{grid-template-columns:1fr;padding:0 20px}.budget-root .col-divider{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:28px;margin-top:28px}.budget-root .col-pad{padding-right:0}.budget-root .section-label{padding:20px 20px 0}.budget-root .callouts{grid-template-columns:1fr;margin:0 20px}.budget-root .map-wrapper{margin:16px 20px 0;padding:10px}.budget-root .back-link-mast{margin-bottom:12px}.budget-root .footnote{grid-template-columns:1fr;padding:20px 20px 32px}.budget-root .bar-row,.budget-root .deficit-row,.budget-root .surplus-row,.budget-root .total-row{grid-template-columns:140px 1fr 52px}.budget-root .card-grid{padding:20px;grid-template-columns:1fr}.budget-root .map-fiscal-row{grid-template-columns:1fr;margin:16px 20px 0}.budget-root .map-fiscal-row .map-wrapper{margin:0;border-right:1px solid var(--rule);border-bottom:none;border-radius:4px 4px 0 0}.budget-root .fiscal-table-wrap{border-left:1px solid var(--rule);border-top:none;border-radius:0 0 4px 4px;max-height:300px}}