/* Generated from config/brand.json by tools/build_brand_tokens.py. */
html:has(> body.country-portal){color-scheme:only light}
[data-terrascore-country],.country-portal {
  color-scheme:only light;
  --bg: #F5F7FA;
  --s1: #FFFFFF;
  --s2: #FFFFFF;
  --s3: #F5F7FA;
  --bd: #D8DFEA;
  --bd2: #526071;
  --bdh: #526071;
  --t1: #172B4D;
  --t2: #526071;
  --t3: #526071;
  --t4: #526071;
  --primary: #003399;
  --primary-text: #003399;
  --link-hover: #1646C0;
  --link: #003399;
  --accent-soft: #F5F7FA;
  --on-primary: #FFFFFF;
  --ok: #166534;
  --ok-ink: #166534;
  --warn: #854D0E;
  --warn-ink: #854D0E;
  --crit: #B91C1C;
  --crit-ink: #B91C1C;
  --info: #475569;
  --info-ink: #475569;
  --focus: #1646C0;
  --serif: 'IBM Plex Serif',Georgia,'Times New Roman',serif;
  --sans: 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono: 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-h1: clamp(34px,4.6vw,58px);
  --fs-h2: clamp(26px,3vw,38px);
  --fs-h3: 19px;
  --fs-body: 18px;
  --fs-sm: 16px;
  --fs-caption: 16px;
  --fs-label: 16px;
  --fs-data: 24px;
  --fs-nav: 17px;
  --sp1: 4px;
  --sp2: 8px;
  --sp3: 12px;
  --sp4: 16px;
  --sp5: 24px;
  --sp6: 32px;
  --sp7: 48px;
  --sp8: 72px;
  --sp9: 104px;
  --r1: 4px;
  --r2: 6px;
  --r3: 10px;
  --tap: 44px;
  --max: 1200px;
  --gutter: 40px;
}

/* Country portal layout only. Active light tokens are embedded from config/brand_tokens.css. */
@font-face{font-family:'IBM Plex Sans';font-weight:400;src:url('fonts/IBMPlexSans-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Sans';font-weight:600;src:url('fonts/IBMPlexSans-SemiBold.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Serif';font-weight:400;src:url('fonts/IBMPlexSerif-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Serif';font-weight:600;src:url('fonts/IBMPlexSerif-SemiBold.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Mono';font-weight:400;src:url('fonts/IBMPlexMono-Regular.woff2') format('woff2');font-display:swap}
.country-portal{background:var(--bg);color:var(--t1);font:16px/1.6 var(--sans);margin:0;min-width:0}
.country-portal *{box-sizing:border-box}.country-portal a{color:var(--link);text-underline-offset:4px}.country-portal a:hover{color:var(--link-hover)}.country-portal :focus-visible{outline:3px solid var(--focus);outline-offset:4px}.country-portal .skip{position:absolute;left:12px;top:-90px;background:var(--primary);color:var(--on-primary);padding:12px;z-index:9}.country-portal .skip:focus{top:8px}
.top,main,footer{max-width:1240px;margin:auto;padding:0 32px}.top{background:var(--s1);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;min-height:86px;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--bd)}.identity{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.brand{color:var(--t1)!important;font:600 21px var(--serif);letter-spacing:.2px;white-space:nowrap;text-decoration:none}.brand .score{color:var(--primary)}.brand sup{font:10px var(--sans);vertical-align:super;margin-left:3px}.country{border-left:1px solid var(--bd);padding-left:22px;color:var(--t2);font-size:15px}.languages{display:flex;gap:4px;flex-wrap:wrap}.languages a{display:grid;place-items:center;min-height:44px;min-width:44px;font-size:13px;text-decoration:none;border:1px solid transparent}.languages a[aria-current]{border-color:var(--link);color:var(--primary-text);background:var(--s3)}
.portal-head{padding:36px 0 22px}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--primary-text);margin:0 0 12px}.country-portal h1{font:600 clamp(28px,3.1vw,40px)/1.25 var(--serif);margin:0 0 14px}.country-portal h2{font:400 26px/1.3 var(--serif);margin:0 0 16px}.country-portal h3{font-size:var(--fs-h3);line-height:1.4;margin:0 0 12px}.country-portal p{margin:0 0 14px}.lead{color:var(--t2);max-width:850px}.coverage{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--t3)}.tabs{display:flex;flex-wrap:wrap;gap:4px 20px;border-bottom:1px solid var(--bd)}.tabs a{display:flex;align-items:center;min-height:48px;padding:8px 0;font-size:14px;text-decoration:none;border-bottom:2px solid transparent}.tabs a[aria-current]{color:var(--primary-text);border-bottom-color:var(--link)}
.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(85px,.45fr) auto;gap:var(--sp4) var(--sp5);align-items:end;padding:var(--sp5) 0;border-bottom:1px solid var(--bd);margin-bottom:var(--sp6)}.filters label{display:flex;flex-direction:column;min-width:0;font-size:var(--fs-label);color:var(--t2);gap:7px}.filters select,.filters button{font:16px var(--sans);min-height:46px;border:1px solid var(--bd2);border-radius:2px;padding:10px 12px;max-width:100%;min-width:0}.filters select{width:100%;color:var(--t1);background:var(--s2);color-scheme:light}.filters button{background:var(--primary);color:var(--on-primary);font-weight:600;cursor:pointer}.filters button:hover{background:var(--primary);border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link)}
.selection,.section-head{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;margin:0 0 20px}.selection h2{font-size:32px;margin:0}.pill{display:inline-block;border:1px solid var(--bd);padding:5px 10px;color:var(--t2);font-size:12px;max-width:100%}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--sp4);margin:24px 0}.metrics article{padding:24px;background:var(--s1);border:1px solid var(--bd);min-width:0}.metrics span{font-size:var(--fs-label);color:var(--t2)}.metrics strong{display:block;font:400 clamp(23px,3vw,34px)/1.4 var(--mono);margin-top:14px;overflow-wrap:anywhere}.panel{padding:var(--sp5);background:var(--s1);border:1px solid var(--bd);margin-bottom:var(--sp6);min-width:0}.panel>p{color:var(--t2)}.baseline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:26px 0}.baseline-grid article{min-width:0;border-left:2px solid var(--bd);padding-left:18px}.baseline-grid strong{display:block;font:400 27px var(--mono);margin:14px 0}.baseline-grid p{font-size:13px}.caption{font-size:13px;color:var(--t3)}.mono,.country-portal code,.country-portal td{font-family:var(--mono)}.two-col{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px}.chart svg{display:block;max-width:100%;height:auto;margin:24px 0}.chart details{border-top:1px solid var(--bd);padding-top:10px}.country-portal summary{cursor:pointer;padding:8px 0;min-height:44px;color:var(--primary-text)}.export-links{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.export-links a,.download-button{display:inline-block;min-height:44px;border:1px solid var(--bd2);padding:10px 14px;text-decoration:none;font-size:16px;color:var(--primary-text)}.export-links a:hover,.download-button:hover{background:var(--s3)}.country-portal code{display:block;font-size:11px;overflow-wrap:anywhere;color:var(--t3)}.downloads small{display:block;color:var(--t3)}.risk-note{border-left:2px solid var(--bd);padding:0 20px;margin:12px 0 30px;color:var(--t2)}.risk-note p{margin-top:10px;font-size:14px}
.territory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.territory-card{padding:18px;background:var(--s1);border:1px solid var(--bd)}.territory-card h3 a{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:44px}.territory-card h3 a span{color:var(--primary)}.territory-card p{font-size:13px;color:var(--t2)}.territory-card strong{display:block;font-size:22px;font-weight:400;margin-top:10px}.text-link{color:var(--primary-text)!important}.scroll{overflow-x:auto;max-width:100%;scrollbar-color:var(--bd2) var(--s1)}.country-portal table{border-collapse:collapse;width:100%;min-width:530px;font-size:13px}.country-portal th,.country-portal td{padding:12px;text-align:right;border-bottom:1px solid var(--bd);font-weight:400}.country-portal th:first-child{text-align:left}.country-portal thead th{color:var(--t3);background:var(--s2)}.country-portal th a{display:inline-block;min-height:24px}.country-portal tbody tr:hover{background:var(--s3)}.country-portal dl{margin-top:25px}.country-portal dt{font-size:13px;color:var(--t3);margin-top:18px}.country-portal dd{margin:4px 0;overflow-wrap:anywhere;font-size:14px}.data-gaps{padding-left:20px;color:var(--t2)}.data-gaps li{margin-bottom:18px}.formula{font-family:var(--mono);color:var(--primary-text)!important;overflow-wrap:anywhere}.method{max-width:940px}.method h3{margin-top:32px}.notes{border-top:1px solid var(--bd);padding:24px 0;margin-top:36px;font-size:13px;color:var(--t3)}.notes p{margin-bottom:8px}footer{border-top:1px solid var(--bd);padding-top:24px;padding-bottom:32px;color:var(--t3);font-size:13px}.footer-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.footer-top strong{color:var(--t2);font-weight:600}footer small{font-size:11px}
@media(max-width:1000px){.territory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1fr)}.filters{grid-template-columns:1fr 1.5fr}.filters button{width:100%}}
@media(max-width:650px){.top,main,footer{padding-left:18px;padding-right:18px}.identity{gap:12px}.country{padding-left:12px}.top{gap:8px}.languages{margin-left:auto}.portal-head{padding-top:26px}.metrics{grid-template-columns:minmax(0,1fr)}.metrics article{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.metrics span{max-width:52%;font-size:16px}.metrics strong{margin:0;font-size:25px}.baseline-grid{grid-template-columns:minmax(0,1fr);gap:22px}.baseline-grid strong{font-size:25px}.territory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px}.selection h2{font-size:28px}.tabs{column-gap:18px}.filters{grid-template-columns:minmax(0,1fr)}.country-portal h2{font-size:23px}.section-head{gap:12px}}
@media(max-width:370px){.territory-grid{grid-template-columns:minmax(0,1fr)}.identity{gap:8px}.country{padding-left:8px}.top{padding-top:12px;padding-bottom:12px}.metrics article{display:block}.metrics span{max-width:none}.metrics strong{margin-top:6px}}
@media print{.country-portal{background:#fff;color:#171717}.top,.tabs,.filters,.languages,.downloads,.skip{display:none}.panel,.metrics article,.territory-card{background:#fff;color:#171717}.panel,.metrics{border-color:#ccc}.notes,footer,.caption{color:#444}.country-portal h1,.country-portal h2,.country-portal p,.country-portal strong{color:#171717}.scroll{overflow:visible}.country-portal table{min-width:0}.country-portal th,.country-portal td{color:#171717}.country-portal thead th{background:#F5F5F5;color:#171717}}

.map-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px}.map-visual,.map-description{min-width:0}.country-map{display:block;max-width:100%;width:100%;height:auto;max-height:620px}.country-map .selected-territory{stroke-width:2.5;filter:drop-shadow(0 0 1px #fff)}.country-map a:focus-visible path,.country-map a:hover path{stroke-width:3;filter:drop-shadow(0 0 1.5px #fff)}.map-description{padding-top:54px}.map-scale{display:flex;height:16px;margin:20px 0 10px}.map-scale i{flex:1}.map-scale i:nth-child(1){background:#deebf7}.map-scale i:nth-child(2){background:#9ecae1}.map-scale i:nth-child(3){background:#6baed6}.map-scale i:nth-child(4){background:#3182bd}.map-scale i:nth-child(5){background:#08519c}@media(max-width:700px){.map-panel{grid-template-columns:minmax(0,1fr);gap:18px}.map-description{padding-top:0}.country-map{max-height:480px}}

.country-portal .compare-form{display:grid;gap:.65rem;max-width:48rem}.country-portal .compare-form select{width:100%;min-height:10rem}.country-portal .compare-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}

.country-portal .compare-form select,.country-portal .map-filter select{font:16px var(--sans);color:var(--t1);background:var(--s2);color-scheme:light;padding:10px;border:1px solid var(--bd2);max-width:100%}.country-portal .compare-form button,.country-portal .map-filter button{font:600 16px var(--sans);background:var(--primary);color:var(--on-primary);min-height:46px;padding:10px 16px;border:1px solid var(--link);cursor:pointer}.country-portal .map-filter{display:grid;gap:10px}

/* Native controls stay light even when the operating system requests dark UI. */
.country-portal select,.country-portal option,.country-portal input{color-scheme:light;background:var(--s2);color:var(--t1);accent-color:var(--link)}
.country-portal select:hover{border-color:var(--bdh)}
.country-portal option:checked{background:var(--primary);color:var(--on-primary)}
.country-portal option:hover{background:var(--s3);color:var(--t1)}
.country-portal button:hover{box-shadow:inset 0 0 0 1px var(--link)}
.country-portal :disabled{color:var(--t2);background:var(--bd);border-color:var(--bd2);cursor:not-allowed;opacity:1}
.country-portal .languages a:hover,.country-portal .tabs a:hover{background:var(--s3);color:var(--link)}
.country-portal a:active{color:var(--t1)}
.country-portal .brand:hover{color:var(--t1)}
.country-portal .error-wrap{max-width:800px;padding-top:40px;padding-bottom:40px}
.country-portal .error-message{color:var(--t1);border-left:4px solid var(--link)}
.country-portal .error-wrap .back-link{color:var(--link);display:inline-block;min-height:44px;padding:10px 0}

/* Keep the requested outer control border and a clearly visible inner edge. */
.country-portal select,.country-portal .export-links a,.country-portal .download-button{box-shadow:inset 0 0 0 1px var(--bdh)}
.country-portal .filters button{border-color:var(--link)}
.country-portal option:checked:hover{background:var(--primary);color:var(--on-primary)}
.country-portal .chart-visual{overflow-x:auto;max-width:100%;scrollbar-color:var(--bd2) var(--s1)}
.country-portal .chart-visual svg{min-width:640px;width:100%;margin:16px 0}
@media print{.country-portal .chart-visual{overflow:visible}.country-portal .chart-visual svg{min-width:0}}

.climate-filters{grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr) minmax(130px,1fr) auto}.climate-filters input{font:16px var(--sans);min-height:46px;border:1px solid var(--bdh);padding:10px;width:100%;min-width:0}@media(max-width:750px){.climate-filters{grid-template-columns:minmax(0,1fr)}}

.calculation-chart svg{display:block;width:100%;max-width:700px;height:auto}.calculation-overview{margin-top:20px}.calculation-overview .metrics{margin:16px 0}details.panel>summary{cursor:pointer;font-size:1.1rem;font-weight:600} .country-portal code{overflow-wrap:anywhere}

/* R6: visible common navigation and result-first, progressively enhanced forms. */
.country-portal{font-size:18px;line-height:1.6}
.top{min-height:68px;padding-top:10px;padding-bottom:10px}
.country-portal .primary-navigation{max-width:1240px;margin:0 auto;padding:12px 32px;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--bd);background:var(--s1)}
.country-portal .primary-navigation a{font-size:16px;font-weight:600;display:flex;align-items:center;min-height:46px;padding:8px 12px;border:1px solid var(--bdh);border-radius:6px;text-decoration:none;line-height:1.35}
.country-portal .primary-navigation a[aria-current="page"]{background:var(--primary);color:var(--on-primary);border-color:var(--primary);box-shadow:inset 0 -3px 0 currentColor}
.country-portal .primary-navigation a[aria-current="page"]:hover{background:var(--primary);color:var(--on-primary)}
.portal-head{padding:22px 0 12px;margin:0}.portal-head h1{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:8px 0}.portal-head .lead{font-size:18px;max-width:70ch;margin:8px 0}
.country-portal .caption,.country-portal small,.country-portal .eyebrow{font-size:16px;line-height:1.5}
.country-portal .languages a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.quick-downloads{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:18px 0}.quick-downloads a{min-height:44px;display:inline-flex;align-items:center}
.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.scenario-grid label{display:flex;flex-direction:column;gap:8px;font-size:17px;min-width:0}.scenario-grid input,.scenario-grid select{min-height:48px;width:100%;min-width:0;font:18px var(--sans);padding:10px;border:1px solid var(--bdh)}
.scenario-form button{font:600 18px var(--sans);min-height:48px;padding:12px 20px;color:var(--on-primary);background:var(--primary);border:1px solid var(--link);cursor:pointer;margin-top:18px;max-width:100%}
.confirm-scenario{display:flex;align-items:flex-start;gap:12px;max-width:80ch}.confirm-scenario input{flex:none;width:24px;height:24px;margin-top:4px}
.request-status:not(:empty){max-width:1176px;margin:14px auto;padding:12px;border:2px solid var(--link);background:var(--s1)}
.country-portal main.updating .result-summary,.country-portal main.updating .metrics,.country-portal main.updating .panel:not(form){opacity:.45}
.country-portal #result,.country-portal #downloads,.country-portal #statistical-map{scroll-margin-top:16px}
.country-portal table{font-size:16px}.country-portal th,.country-portal td{overflow-wrap:break-word}
@media(max-width:960px){.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.top,main,footer{padding-left:16px;padding-right:16px}.country-portal .primary-navigation{padding:10px 16px;gap:6px}.country-portal .primary-navigation a{flex:1 1 calc(50% - 6px);padding:8px;min-width:0}.scenario-grid{grid-template-columns:minmax(0,1fr)}.country-portal .panel{padding:18px}.country-portal .metrics{grid-template-columns:minmax(0,1fr)}.quick-downloads{gap:8px}.country-portal .filters{grid-template-columns:minmax(0,1fr)}}
@media print{.primary-navigation,.quick-downloads,.request-status,.scenario-form{display:none!important}}

.mobile-table-hint{display:none}@media(max-width:600px){.mobile-table-hint{display:block;font-size:16px}}

/* Preserve chart label sizes on narrow screens; its region is keyboard scrollable. */
.calculation-chart{overflow-x:auto;max-width:100%}.calculation-chart svg{min-width:600px}
@media print{.calculation-chart{overflow:visible}.calculation-chart svg{min-width:0}}

/* Scenario editor: wraps labels without widening the page; no nested scroll except tables. */
.scenario-library select,.scenario-form select {max-width:100%;min-width:0;width:100%;white-space:normal}
.scenario-library form {display:grid;gap:1rem}.scenario-form input{min-width:0;max-width:100%}
.scenario-editor-actions {margin-top:1.5rem;border-top:2px solid #D8DFEA;padding-top:1rem}
.editor-buttons {display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.editor-buttons button {min-height:44px}
.scenario-form label span {font-size:1rem;font-weight:400;line-height:1.5}.import-scenario input{display:block;width:100%}
.scenario-library,.scenario-form,.scenario-grid>*{min-width:0}.scenario-library option{max-width:100%}

/* Consent is a checkbox plus readable text, not a full-width text input. */
.country-portal .confirm-scenario{min-height:48px;align-items:flex-start}
.country-portal .confirm-scenario input[type="checkbox"]{flex:0 0 24px;width:24px;height:24px;min-height:24px;padding:0;margin:4px 0 0}
.country-portal .confirm-scenario>span{flex:1;min-width:0;overflow-wrap:anywhere}
.scenario-other-context .candidate-filters{margin-bottom:0}

/* Selecting a reference example is a primary editor action. */
.country-portal .scenario-library select{font:18px var(--sans);min-height:48px;padding:10px;border:1px solid var(--bdh)}
.country-portal .scenario-library button{font:600 18px var(--sans);min-height:48px;padding:12px 20px;max-width:100%;white-space:normal;color:var(--on-primary);background:var(--primary);border:1px solid var(--link);cursor:pointer}

/* Shared UX 1.3: reading surfaces stay open; cards group independent results. */
.country-portal .coverage,.country-portal .pill,.country-portal .baseline-grid p,.country-portal .risk-note p,.country-portal .territory-card p,.country-portal dt,.country-portal dd,.country-portal .notes,.country-portal footer{font-size:16px;line-height:1.5}
.country-portal .coverage,.country-portal dt,.country-portal .notes{color:var(--t2)}
.country-portal .filters{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.country-portal .filters>button[type="submit"]{justify-self:start;align-self:end;width:auto;max-width:100%;white-space:normal}
.country-portal .filters>.form-status,.country-portal .filters>.filter-reset{grid-column:1/-1}
.country-portal .report-section{min-width:0;margin:var(--sp7) 0;padding:0;border:0;background:transparent;overflow-wrap:anywhere}
.country-portal .report-section>p{max-width:90ch;color:var(--t2)}
.country-portal .report-section .scroll{background:var(--s1);border-block:1px solid var(--bd)}
.country-portal .report-details{padding:var(--sp4) 0;margin:var(--sp6) 0;border-block:1px solid var(--bd)}
.country-portal .report-details>summary{font-weight:600}
.country-portal .scroll{scroll-padding-inline:var(--sp4);overscroll-behavior-x:contain}
.country-portal th,.country-portal td{font-variant-numeric:tabular-nums;vertical-align:top}
.country-portal .quick-downloads{margin:var(--sp4) 0 var(--sp5);gap:var(--sp3) var(--sp5)}
.country-portal .quick-downloads>.download-button{font-weight:600;background:var(--primary);color:var(--on-primary);border-radius:var(--r1)}
.country-portal .quick-downloads>.download-button:hover{background:var(--link-hover)}
.country-portal .form-status{grid-column:1/-1;margin:0;padding:var(--sp3) var(--sp4);border-left:3px solid var(--warn);background:#fff8e8;font-size:16px;color:var(--t1);max-width:90ch}
.country-portal .form-status:empty{display:none}
.country-portal .filter-reset{grid-column:1/-1;justify-self:start;width:auto;max-width:100%;background:var(--s1);color:var(--link);font:600 16px/1.4 var(--sans);min-height:44px;padding:var(--sp2) var(--sp4);border:1px solid var(--bd2);cursor:pointer}
.country-portal a[aria-disabled="true"]{color:var(--t2);background:var(--s3);cursor:not-allowed;text-decoration:none;box-shadow:none}
.country-portal .pending-result .metrics{border-left:3px solid var(--warn)}
.country-portal .pending-result .quick-downloads>.download-button{background:var(--s3);color:var(--t2)}
.country-portal .country-switch{margin-top:var(--sp3);font-size:16px}
.country-portal .country-switch nav{display:flex;flex-wrap:wrap;gap:var(--sp2) var(--sp5)}
.country-portal .country-switch nav a{min-height:44px;display:inline-flex;align-items:center}
.country-portal .status-note{max-width:95ch}
@media(max-width:650px){.country-portal .report-section{margin-block:var(--sp6)}.country-portal .metrics strong{font-size:24px}.country-portal .quick-downloads{align-items:stretch}.country-portal .quick-downloads>.download-button{justify-content:center;text-align:center;flex:1 1 240px}.country-portal .quick-downloads>a{min-height:44px}.country-portal .report-section .scroll{margin-top:var(--sp4)}}
@media print{.country-portal .form-status,.country-portal .filter-reset{display:none!important}.country-portal .report-section{margin:20px 0}.country-portal .report-section h2{break-after:avoid}.country-portal .report-section tr{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared brand 2.0.0. Supplied SVG is immutable; ACS ownership is separate. */
.ts-brand{display:inline-flex;flex-direction:column;align-items:center;gap:7px;box-sizing:border-box;width:236px;max-width:100%;padding:10px 12px;background:#003399;color:#fff!important;text-decoration:none!important;border-radius:6px;flex-shrink:0;line-height:1.2}
.ts-brand-owner{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0}
.ts-brand .ts-brand-mark{display:block;flex:0 0 28px;width:28px;height:28px;object-fit:contain}
.ts-brand .ts-brand-parent{font:600 10px/1.4 'IBM Plex Sans',Arial,sans-serif;letter-spacing:.09em;color:#fff;white-space:nowrap}
.ts-brand .ts-brand-logo{display:block;width:100%;height:auto;aspect-ratio:2066/414;object-fit:contain}
.ts-brand:focus-visible{outline:3px solid #FFCC00;outline-offset:3px;box-shadow:0 0 0 5px #003399}
@media print{.ts-brand{print-color-adjust:exact;-webkit-print-color-adjust:exact;background:#003399!important;color:#fff!important}}

/* Shared analytical shell 1.3.1; country adapters supply routes and localized labels. */
body[data-portal-shell]{display:grid;grid-template-columns:264px minmax(0,1fr);grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100dvh;font-size:18px;background-image:linear-gradient(to right,#003399 0 264px,transparent 264px)}
[data-portal-shell] [hidden]{display:none!important}
[data-portal-shell] .skip{z-index:50}
[data-portal-shell] .mobile-brand{display:none}
[data-portal-shell] .portal-sidebar{grid-column:1;grid-row:1/4;position:sticky;top:0;align-self:start;box-sizing:border-box;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#003399;color:#fff;border-right:1px solid var(--bd);padding:16px 12px;min-width:0;z-index:20}
[data-portal-shell] .sidebar-heading{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:22px}
[data-portal-shell] .sidebar-heading .ts-brand{justify-content:center;padding:10px 8px;gap:8px}
[data-portal-shell] .primary-navigation{display:flex;flex-direction:column;flex-wrap:nowrap;gap:6px;border:0;padding:0;margin:0;background:transparent}
[data-portal-shell] .primary-navigation a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid transparent;border-left:4px solid transparent;border-radius:4px;font:400 17px/1.35 var(--sans);color:#fff;text-decoration:none;overflow-wrap:break-word}
[data-portal-shell] .primary-navigation a:hover{background:#1646C0;border-color:#fff}
[data-portal-shell] .primary-navigation a[aria-current="page"]{background:#1646C0;border-color:#fff;border-left-color:#FFCC00;color:#fff;font-weight:600;box-shadow:none}
[data-portal-shell] .primary-navigation a:focus-visible{outline:3px solid #FFCC00;outline-offset:1px;position:relative;z-index:1}
[data-portal-shell] .shell-services{grid-column:2;grid-row:1;width:100%;max-width:none;margin:0;padding:12px 28px;min-height:68px;display:flex;align-items:center;gap:var(--sp2) var(--sp4);flex-wrap:wrap;border-bottom:1px solid var(--bd)}
[data-portal-shell] .shell-country{font:600 18px/1.4 var(--sans)}
[data-portal-shell] .languages{margin-left:auto}
[data-portal-shell] .languages a{font-size:16px;min-height:44px;min-width:44px}
[data-portal-shell] #request-status:empty{display:none}
[data-portal-shell] #request-status{flex-basis:100%;margin:0;font-size:16px;min-height:0;overflow-wrap:anywhere}
[data-portal-shell] main{grid-column:2;grid-row:2;width:100%;max-width:none;min-width:0;margin:0;padding:22px 28px 36px;scroll-margin-top:12px}
[data-portal-shell] main:focus-visible{outline:3px solid #2054b3;outline-offset:-3px}
[data-portal-shell] .portal-head{padding:0 0 16px}
[data-portal-shell] .portal-head .lead{max-width:90ch}
[data-portal-shell] footer{grid-column:2;grid-row:3;width:100%;max-width:none;min-width:0;margin:0;padding:24px 28px}
[data-portal-shell] .shell-menu,[data-portal-shell] .shell-close{display:none;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid #60697b;border-radius:4px;padding:9px 14px;background:#fff;color:#153d70;font:600 17px/1.35 var(--sans);cursor:pointer}
[data-portal-shell] .portal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:30}
[data-portal-shell] main.updating{opacity:.5;pointer-events:none}
[data-portal-shell] main.stale-result{border-top:3px solid #854d0e}
@media(max-width:1000px){
 body[data-portal-shell]{display:block;background-image:none}
 [data-portal-shell] .portal-sidebar{position:static;height:auto;max-height:none;width:100%;border-right:0;border-bottom:1px solid var(--bd)}
 [data-portal-shell] .shell-services,[data-portal-shell] main,[data-portal-shell] footer{padding-left:18px;padding-right:18px}
 [data-shell-enhanced] .shell-menu{display:inline-flex}
 [data-portal-shell] .mobile-brand{display:flex;flex-basis:100%}
 [data-shell-enhanced] .portal-sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,calc(100vw - 24px));height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow-y:auto;z-index:40;border-right:1px solid var(--bd);padding:16px}
 [data-shell-enhanced] .shell-close{display:flex}
 [data-portal-shell] .shell-services{min-height:64px;gap:10px;background:#003399;color:#fff;border-bottom-color:#003399}
 [data-portal-shell] .mobile-brand .ts-brand-owner,[data-portal-shell] .sidebar-heading .ts-brand-owner{display:none}
 [data-portal-shell] .mobile-brand .ts-brand{padding:0;width:252px}
 [data-portal-shell] .shell-services .shell-release-note,[data-portal-shell] .shell-services #request-status,[data-portal-shell] .shell-services #request-status a{color:#fff}
 [data-portal-shell] .shell-services .languages a,[data-portal-shell] .shell-services .shell-menu{color:#fff;background:transparent;border-color:#9cb6e7}
 [data-portal-shell] .shell-services .languages a[aria-current="true"]{color:#fff;background:#1646c0;border-color:#ffcc00;font-weight:600}
 [data-portal-shell] .shell-services .languages a:hover,[data-portal-shell] .shell-services .shell-menu:hover{background:#1646c0}
 [data-portal-shell] .shell-services :focus-visible{outline:3px solid #ffcc00;outline-offset:2px}
}
@media(max-width:370px){[data-portal-shell] .shell-services{padding-left:12px;padding-right:12px;gap:8px}[data-portal-shell] .shell-country{font-size:16px}[data-portal-shell] .languages{gap:2px}[data-portal-shell] .languages a{min-width:40px}[data-portal-shell] .shell-menu{padding:8px 10px}}
@media print{body[data-portal-shell]{display:block;background-image:none}[data-portal-shell] .portal-sidebar,[data-portal-shell] .shell-services,[data-portal-shell] .portal-backdrop{display:none!important}[data-portal-shell] main,[data-portal-shell] footer{width:100%;padding:0}}

.report-print-brand{display:none}@media print{.report-print-brand{display:block;margin:0 0 16px;break-inside:avoid}.report-print-brand .ts-brand{max-width:420px;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

[data-portal-shell] .shell-release-note{flex-basis:100%;margin:0;color:var(--t2);font:400 16px/1.5 var(--sans)}
[data-portal-shell] .shell-country{min-width:0;overflow-wrap:anywhere}

[data-portal-shell] .nav-module-status{display:block;font:400 15px/1.4 var(--sans);margin-top:4px;color:#fff}

/* Report logo sizing is served from same-origin CSS under the strict CSP. */
.ts-report-logo{display:block;width:320px;max-width:100%;height:auto;object-fit:contain;print-color-adjust:exact;-webkit-print-color-adjust:exact}

.ts-corporate{box-sizing:border-box;flex:1 0 100%;width:100%;min-width:0;margin:24px 0 0;padding:24px 0;color:#172b4d;background:#f5f7fa;border-top:1px solid #b6c8e4;font:16px/1.6 system-ui,sans-serif;text-align:left}.ts-corporate *{box-sizing:border-box}.ts-corporate h2{font:600 21px/1.35 system-ui,sans-serif;margin:0 0 20px}.ts-corporate h3{font:600 17px/1.4 system-ui,sans-serif;margin:0 0 12px;color:#172b4d}.ts-corporate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px}.ts-corporate p,.ts-corporate address{font:16px/1.6 system-ui,sans-serif;margin:8px 0;color:#172b4d;overflow-wrap:anywhere}.ts-corporate a{color:#003399;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;display:inline-block;min-height:24px;padding:4px 0}.ts-corporate a:focus-visible{outline:3px solid #1646c0;outline-offset:3px}.ts-corporate a:hover{color:#12285b}.ts-corporate section{min-width:0}.ts-corporate address{font-style:normal}@media(max-width:480px){.ts-corporate a{min-height:44px}.ts-corporate-grid{gap:20px}}@media print{.ts-corporate{background:white;color:black}.ts-corporate-grid{display:block}.ts-corporate-grid>section{break-inside:avoid}.ts-corporate a{color:black}}

.ts-company-identity{display:flex;align-items:center;gap:16px;margin-bottom:16px;min-width:0}.ts-company-identity h3{margin:0;min-width:0;overflow-wrap:anywhere}.ts-company-mark{display:block;flex:0 0 64px;width:64px;height:64px;object-fit:contain}.ts-corporate .ts-corporate-attribution{margin:24px 0 0;padding-top:16px;border-top:1px solid #b6c8e4;font-weight:600}

/* Printed reports retain corporate text, with TerraSCORE as the sole visual brand. */
@media print{.ts-corporate .ts-company-mark,.ts-corporate-attribution,footer .ts-brand-owner{display:none!important}}

.ts-back-top{position:fixed;right:16px;bottom:16px;z-index:25;min-height:48px;max-width:calc(100vw - 32px);padding:10px 16px;border:2px solid #003399;border-radius:6px;background:#fff;color:#003399;font:600 16px/1.4 system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 8px #172b4d33}.ts-back-top:hover{background:#eaf0ff}.ts-back-top:focus-visible{outline:3px solid #003399;outline-offset:3px}.ts-footer-actions{position:relative;flex:1 0 100%;width:100%;min-width:0;height:68px}.ts-back-top.at-footer{position:absolute;display:block;right:0;top:0;bottom:auto;margin:0}.ts-back-top[hidden]{display:none!important}@media print{.ts-back-top,.ts-footer-actions{display:none!important}}

/* RO/PL analytical content; shared shell, brand and corporate footer untouched. */
.country-portal #main { min-width:0; }
.country-portal #main .portal-head { margin-bottom:24px; }
.country-portal #main .eyebrow { font:600 1rem/1.5 var(--sans); letter-spacing:0; text-transform:none; color:var(--t1); }
.country-portal #main .candidate-filters { grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:16px 24px; padding:0 0 24px; margin:0 0 24px; }
.country-portal #main .candidate-filters label { font-size:.95rem; line-height:1.5; color:var(--t1); }
.country-portal #main .candidate-filters select { margin-top:8px; font-size:1rem; min-height:48px; }
.country-portal #main .candidate-filters button { min-height:48px; }
/* Hidden compatible context remains in the form, but cannot imply a working
   filter or a calculation on a view which has no applicable controls. */
.country-portal #main .candidate-filters:not(:has(label)) { display:none; }
.country-portal #main > :is(.panel,.report-section) { border:0; border-top:1px solid var(--bd); background:transparent; padding:24px 0; margin:24px 0 0; }
.country-portal #main > :is(.panel,.report-section) > h2 { margin:0 0 12px; font:600 clamp(1.3rem,2vw,1.65rem)/1.3 var(--sans); }
.country-portal #main > :is(.panel,.report-section) > p { margin:0 0 20px; }
.country-portal #main .status-note { margin:24px 0; line-height:1.6; }
.country-portal #main .metrics { gap:16px; margin:24px 0; }
.country-portal #main .metrics article { min-width:0; padding:20px; }
.country-portal #main .metrics strong { font-size:clamp(1.4rem,2.1vw,2rem); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.country-portal #main .metrics span { color:var(--t1); font-size:1rem; }
.country-portal #main .scroll { max-width:100%; border:1px solid var(--bd); background:var(--s1,#fff); }
.country-portal #main th,.country-portal #main td { padding:12px 16px; line-height:1.5; vertical-align:top; }
.country-portal #main td:nth-child(2) { white-space:normal; font-variant-numeric:tabular-nums; }
.country-portal #main table:not(:has(thead th:nth-child(4))) { min-width:0; width:100%; table-layout:fixed; }
.country-portal #main th,.country-portal #main td { overflow-wrap:anywhere; }
.country-portal #main .readable-provenance { font-size:1rem; }
.country-portal #main > :is(.panel,.report-section) li { overflow-wrap:anywhere; }
.country-portal #main .country-map-panel a:focus-visible path { stroke:var(--focus); stroke-width:5; }
.country-portal #main .country-map-panel .selected { stroke:var(--link); stroke-width:3; }
.country-portal #main .map-current { font-size:18px; margin:16px 0 8px; }
.country-portal #main .map-selection { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:16px 0 24px; }
.country-portal #main .map-selection label { flex:1 1 240px; min-width:0; display:flex; flex-direction:column; gap:8px; }
.country-portal #main .map-selection select { width:100%; max-width:100%; min-width:0; min-height:48px; }
.country-portal #main .map-selection button { min-height:48px; white-space:normal; }
@media(max-width:600px){.country-portal #main .map-selection button { width:100%; }}
@media(max-width:600px) {
 .country-portal #main > :is(.panel,.report-section) { padding:20px 0; margin-top:20px; }
 .country-portal #main .candidate-filters { gap:16px; }
 .country-portal #main .status-note { padding:12px 16px; }
 .country-portal #main th,.country-portal #main td { padding:10px 12px; }
 .country-portal #main .metrics article { padding:16px; }
}
@media print {
 .country-portal #main .scroll { border:0; }
 .country-portal #main .map-selection,.country-portal #main #map-selection-help { display:none!important; }
}
