/* Africa financial atlas. Solid colours, cartographic detail, readable data. */
.financial-app {
  --paper: #e2e5dc;
  --ink: #1c241e;
  --muted: #455a4d;
  --line: #c4cec1;
  --wash: #ebeee6;
  --green: #24613f;
  --gold: #b18424;
  --accent: #caaa52;
  background: var(--paper);
  color: var(--ink);
}
.financial-app .topbar { background: #ebeee6; border-top-color: #7c9c52; }
.financial-app .topbar::before { background: #65b7bf; }
.financial-app .topbar::after { background: #caaa52; }
.financial-app .brand { font-size: 20px; letter-spacing: 1.6px; }
.financial-app .brand-debt { color: #caaa52; }
.financial-app .nav-button.active, .financial-app .nav-button:hover { color: #24613f; }
.financial-app .edition { color:var(--muted); font: .875rem/1.5 ui-monospace, monospace; }
.financial-app .app-shell { max-width: 1480px; padding: 0 36px; }
.financial-app main { padding-top: 28px; scroll-margin-top: 100px; }
.financial-app .country-toolbar, .financial-app footer { border-color: var(--line); }
.financial-app h1, .financial-app h2, .financial-app h3 { color:var(--ink); }
.financial-app .page-heading p, .financial-app .context-panel > p,
.financial-app .national-report p, .financial-app .creditors-grid p,
.financial-app .creditor-method p, .financial-app .creditor-method li,
.financial-app .method-sections p, .financial-app .method-sections li { color:var(--muted); }
.financial-app .panel, .financial-app .metric-card:nth-child(n),
.financial-app .chamber-record, .financial-app .fund-record,
.financial-app .method-sections article, .financial-app .sidebar,
.financial-app .metric-grid, .financial-app .comparison-table { background: #ebeee6; border-color: #c4cec1; }
.financial-app .metric-value, .financial-app .metric-grid .metric-value,
.financial-app .activity-grid .metric-value, .financial-app .household-panel strong { color: #24613f; }
.financial-app .activity-grid .metric-card:nth-child(2) .metric-value { color: #a13832; }
.financial-app .clock-card { background: #183a2a; border: 1px solid #3c6548; }
.financial-app .clock-amount > span:first-child { color: #caaa52; }
.financial-app .clock-card .currency-switch button[aria-pressed="true"] { background: #caaa52; color: #102019; }
.financial-app select, .financial-app .country-picker select,
.financial-app .creditors-toolbar select, .financial-app .creditor-detail select,
.financial-app .button.secondary, .financial-app input[type="search"] { background: #ebeee6; color:var(--ink); border-color: #c4d3cc; }
.financial-app .button.primary { background: #caaa52; color: #152219; border-color: #caaa52; }
.financial-app .comparison-table th, .financial-app .creditor-ranking th,
.financial-app .creditor-borrowers th { background: #e9f0eb; color: #354e45; }
.financial-app .comparison-table tbody tr:nth-child(even) { background: #e3e9de; }
.financial-app .comparison-table tbody tr:hover, .financial-app .selected-creditor { background: #e5efe8; }
.financial-app .comparison-table a, .financial-app .method-sections a { color: #24613f; }
.financial-app .national-metric small, .financial-app .indicator-source small,
.financial-app .metric-note, .financial-app .creditor-rank-number { color:var(--muted); }
.financial-app .bar-track, .financial-app .creditor-share-track { background: #dce6df; }
.financial-app .data-empty { background: #dfe6d9; color:var(--muted); }
.financial-app .source-strip { border-color: var(--line); }
.financial-app footer { color:var(--muted); }
.financial-app .topbar.navigation-open nav { background: #ebeee6; }
.financial-app .atlas-intro { display: flex; justify-content: space-between; gap: 28px; padding: 0 0 22px; align-items: center; }
.atlas-kicker { font: .875rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 2px; color: #24613f; margin: 0 0 16px; }
.atlas-kicker > span { display: inline-block; width: 6px; height: 6px; margin-right: 10px; background: #caaa52; }
.atlas-intro h1 { font: 500 clamp(28px, 3.2vw, 48px)/1.15 Arial, sans-serif; letter-spacing: -1.8px; margin: 0 0 12px; }
.atlas-intro h1 > span { color: #24613f; }
.atlas-intro > div > p:last-child { font-size: 14px; color:var(--muted); margin: 0; }
.atlas-edition { display: flex; gap: 14px; align-items: center; color:var(--muted); }
.atlas-edition strong { font: 400 40px/1 ui-monospace, monospace; color: #304b40; }
.atlas-edition span { font: .875rem/1.7 ui-monospace, monospace; border-left: 1px solid #d0dcd5; padding-left: 14px; white-space: nowrap; }
.atlas-totals { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid #c4cec1; margin-bottom: 28px; }
.atlas-totals > div { padding: 14px 24px; border-right: 1px solid #c4cec1; }
.atlas-totals > div:first-child { padding-left: 0; }
.atlas-totals > div:last-child { border-right: 0; }
.atlas-totals span, .atlas-totals small { display: block; font-size: .875rem; color:var(--muted); }
.atlas-totals strong { display: block; color: #203b2d; font: 500 clamp(22px,2.4vw,34px)/1.4 ui-monospace, monospace; letter-spacing: -1px; margin: 5px 0; }
.atlas-totals strong em { font-size: 18px; font-style: normal; color:var(--muted); }
.atlas-totals small { font-size: .875rem; }
.atlas-workspace { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 24px; align-items: stretch; }
.atlas-map-panel { border: 1px solid #cedcd4; background: #d6dece; min-width: 0; display: flex; flex-direction: column; }
.atlas-map-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid #d2dfd6; font: .875rem/1.5 ui-monospace, monospace; letter-spacing: 1px; }
.atlas-map-toolbar > span { color:var(--muted); }
.atlas-map-toolbar i { display: inline-block; width: 5px; height: 5px; background: #8abecb; margin-right: 8px; }
.atlas-map-toolbar button { color:var(--muted); padding: 6px 10px; font-size: .875rem; border: 1px solid transparent; }
.atlas-map-toolbar button[aria-pressed="true"] { background: #173440; border-color: #3d6571; color: #cbe8ec; }
.atlas-canvas-wrap { position: relative; min-height: 580px; flex: 1; overflow: hidden; }
#atlas-map { position: absolute; inset: 0; cursor: grab; }
#atlas-map canvas { display: block; width: 100%; height: 100%; touch-action: pan-y; }
.atlas-map-label { position: absolute; transform: translate(-50%,-50%); font: .875rem/1.2 ui-monospace, monospace; letter-spacing: .7px; padding: 2px; color: #d0eaef; text-shadow: 0 1px #0a202b; border: 0; min-width: 14px; cursor: pointer; }
.atlas-map-label:hover, .atlas-map-label.selected { color: #efffd7; background: #102d27; outline: 1px solid #d7a72f; z-index: 2; }
.atlas-map-label.selected { padding: 4px 6px; font-size: .875rem; }
.atlas-map-label.island-label { color: #9cc1c9; white-space: nowrap; font-size: .875rem; background: #d6dece; padding: 4px 6px; border-left: 2px solid #91c1bb; }
.atlas-ocean { position: absolute; pointer-events: none; color: #3b626f; font: .875rem/1.8 ui-monospace, monospace; letter-spacing: 3px; }
.ocean-west { left: 9%; top: 57%; }
.ocean-east { right: 5%; top: 50%; }
.atlas-compass { position: absolute; pointer-events: none; left: 20px; bottom: 20px; color: #7197a5; text-align: center; font: .875rem/1.3 ui-monospace, monospace; }
.atlas-hover { position: absolute; pointer-events: none; background: #caaa52; color: #11281e; padding: 7px 12px; font-size: .875rem; z-index: 4; }
#atlas-map-status { position: absolute; left: 20px; right: 20px; bottom: 50px; font-size: .875rem; background: #142b37; padding: 14px; color: #b7ced7; }
.atlas-zoom { position: absolute; right: 16px; bottom: 16px; display: grid; gap: 1px; }
.atlas-zoom button { width: 36px; height: 36px; border: 1px solid #35545e; background: #112a35; color: #b7d7df; font-size: 20px; }
.atlas-map-footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px; font: .875rem/1.5 ui-monospace, monospace; color:var(--muted); border-top: 1px solid #d2dfd6; }
.atlas-map-key i { display: inline-block; width: 7px; height: 7px; background: #caaa52; margin-right: 6px; }
.atlas-country { border: 1px solid #c2cdbf; border-top: 2px solid #caaa52; padding: 24px; background: #ebeee6; min-width: 0; }
.atlas-country-heading { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; }
.atlas-country-heading > span { display: grid; place-items: center; height: 34px; width: 36px; color: #24613f; background: #edf4e3; border: 1px solid #a1bc80; font: 14px ui-monospace, monospace; }
.atlas-country-heading p { font: .875rem/1.6 ui-monospace, monospace; letter-spacing: 1.2px; margin: 0; color: #48675a; }
.atlas-country-heading small { display: block; color:var(--muted); font-size: .875rem; }
.atlas-country h2 { font: 500 32px/1.1 Arial, sans-serif; letter-spacing: -1px; margin: 0 0 8px; }
.atlas-country-period { font-size: .875rem; color:var(--muted); margin: 0 0 24px; }
.atlas-country-gdp { border-block: 1px solid #ccd5c7; padding: 18px 0; }
.atlas-country-gdp > span { display: flex; justify-content: space-between; color:var(--muted); font-size: .875rem; }
.atlas-country-gdp small { color:var(--muted); font: .875rem ui-monospace, monospace; }
.atlas-country-gdp strong { display: block; margin: 8px 0 4px; color: #24613f; font: 400 34px/1.2 ui-monospace, monospace; letter-spacing: -1px; }
.atlas-country-gdp p { font-size: .875rem; color:var(--muted); margin: 0; }
.atlas-country-metrics { margin: 12px 0 20px; }
.atlas-country-metrics > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #d0d9ca; align-items: baseline; }
.atlas-country-metrics dt { font-size: .875rem; color:var(--muted); }
.atlas-country-metrics dd { font: .875rem/1.4 ui-monospace, monospace; margin: 0; color: #233e2f; text-align: right; }
.atlas-open { display: flex; justify-content: space-between; gap: 12px; width: 100%; background: #caaa52; padding: 13px 14px; color: #172519; font-size: .875rem; font-weight: 700; }
.atlas-open:hover { background: #f0cf79; color: #172519; }
.atlas-country-links { display: grid; grid-template-columns: 1fr 1fr; margin-top: 14px; gap: 8px 10px; }
.atlas-country-links button { font-size: .875rem; padding: 5px 0; color: #28725c; text-align: left; }
.atlas-country-note { font-size: .875rem; line-height: 1.7; color:var(--muted); margin: 20px 0 0; }
.atlas-directory { margin: 40px 0 28px; }
.atlas-directory-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.atlas-directory .atlas-kicker { margin-bottom: 8px; }
.atlas-directory h2 { font: 400 24px/1.2 Arial, sans-serif; letter-spacing: -.6px; margin: 0; }
.atlas-search { width: min(330px,45%); }
.atlas-search input { width: 100%; padding: 12px 16px; font-size: .875rem; border: 1px solid #c9d8ce; border-radius: 0; min-height: 44px; }
.atlas-directory-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0 18px; }
#atlas-regions { display: flex; gap: 6px; flex-wrap: wrap; }
#atlas-regions button { padding: 7px 12px; font-size: .875rem; border: 1px solid #cddbd1; color:var(--muted); }
#atlas-regions button[aria-pressed="true"] { color: #24613f; border-color: #b18424; background: #e8dfbf; }
#atlas-result-count { white-space: nowrap; color:var(--muted); font: .875rem ui-monospace, monospace; }
.atlas-country-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: #c4cec1; border: 1px solid #c4cec1; }
.atlas-country-list button { display: flex; gap: 12px; align-items: center; padding: 17px 14px; min-width: 0; background: #ebeee6; text-align: left; }
.atlas-country-list button:hover, .atlas-country-list button[aria-pressed="true"] { background: #e8dfbf; color: #24613f; }
.atlas-country-list button > span { color:var(--muted); font: .875rem ui-monospace, monospace; }
.atlas-country-list strong { font-size: .875rem; font-weight: 400; overflow-wrap: anywhere; }
.atlas-country-list small { display: none; }
.atlas-country-list b { margin-left: auto; color:var(--muted); font-weight: 400; }
.atlas-no-results { background: #ebeee6; margin: 0; padding: 20px; grid-column: 1/-1; font-size: .875rem; }
.atlas-footnote { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; border-top: 1px solid #c4cec1; padding-top: 20px; }
.atlas-footnote p { color:var(--muted); font-size: .875rem; line-height: 1.8; margin: 0; }
.atlas-footnote strong { color: #355440; font-weight: 400; }
.map-unavailable .atlas-canvas-wrap { min-height: 260px; }
.map-unavailable canvas, .map-unavailable .atlas-map-label { display: none; }
@media(min-width:1500px){.financial-app .topbar { display:flex; min-height:76px; padding:16px 36px; gap:40px; }.financial-app .topbar nav { width:auto; margin-left:auto; }.financial-app .edition { white-space:nowrap; }}
@media(max-width:1100px){.atlas-workspace { grid-template-columns: minmax(0,1fr) 300px; gap:16px; }.atlas-country { padding:20px; }.atlas-canvas-wrap { min-height:580px; }.atlas-country-list { grid-template-columns:repeat(3,1fr); }.atlas-edition { display:none; }.atlas-map-label:not(.selected):not(.island-label) { display:none; }}
@media(max-width:900px){.financial-app .app-shell { padding:0 20px; }.atlas-workspace { grid-template-columns:1fr; }.atlas-canvas-wrap { min-height:530px; }.atlas-country { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }.atlas-country-heading,.atlas-country h2,.atlas-country-period { grid-column:1/-1; }.atlas-country-metrics { grid-column:2; grid-row:4/7; margin:0; }.atlas-country-links { margin-top:16px; }.atlas-country-note { grid-column:1/-1; }.atlas-open { margin-top:18px; }.atlas-totals { grid-template-columns:repeat(2,1fr); }.atlas-totals > div { padding:16px 20px; }.atlas-totals > div:nth-child(2n) { border-right:0; }.atlas-totals > div:nth-child(n+3) { border-top:1px solid #c4cec1; }.atlas-totals > div:nth-child(3) { padding-left:0; }}
@media(max-width:600px){.financial-app .brand { font-size:14px; letter-spacing:1px; }.financial-app .app-shell { padding:0 14px; }.financial-app main { padding-top:24px; }.atlas-intro { padding:0 0 22px; }.atlas-intro h1 { font-size:32px; letter-spacing:-1px; max-width:300px; }.atlas-intro > div > p:last-child { font-size:.875rem; }.atlas-kicker { font-size:.875rem; letter-spacing:1.4px; }.atlas-totals > div { padding:14px; }.atlas-totals span { font-size:.875rem; }.atlas-totals small { font-size:.875rem; }.atlas-totals strong { font-size:24px; }.atlas-map-toolbar { padding:10px; font-size:.875rem; }.atlas-map-toolbar button { padding:6px; font-size:.875rem; }.atlas-canvas-wrap { min-height:430px; }.atlas-map-footer { font-size:.875rem; flex-wrap:wrap; padding:10px; }.atlas-ocean { font-size:.875rem; letter-spacing:2px; }.atlas-country { display:block; }.atlas-country h2 { font-size:30px; }.atlas-country-metrics { margin:12px 0 20px; }.atlas-country-gdp strong { font-size:32px; }.atlas-country-note { font-size:.875rem; }.atlas-country-links button { font-size:.875rem; }.atlas-directory-heading { display:block; }.atlas-directory h2 { font-size:24px; }.atlas-search { display:block; width:100%; margin-top:20px; }.atlas-directory-controls { flex-wrap:wrap; gap:12px; }.atlas-country-list { grid-template-columns:1fr 1fr; }.atlas-country-list button { gap:8px; padding:15px 10px; }.atlas-country-list strong { font-size:.875rem; }.atlas-footnote { grid-template-columns:1fr; gap:14px; }.atlas-map-label.island-label { font-size:.875rem; }.financial-app .page-heading { flex-wrap:wrap; }}
@media(prefers-reduced-motion:reduce){.financial-app * { scroll-behavior:auto !important; }}

@media (min-width: 601px) and (max-width: 1000px) {
  .financial-app .topbar { min-height: 68px; padding: 12px 20px; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 32px; gap: 0; }
  .financial-app .topbar .edition { display: none; }
  .financial-app .topbar .menu-toggle { display: block; grid-column: 2; min-width: 32px; padding: 0; font-size: 24px; color: #fff; }
  .financial-app .topbar nav { display: none; }
  .financial-app .topbar.navigation-open nav { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; padding: 12px; gap: 0; max-height: calc(100dvh - 68px); overflow-y: auto; border-bottom: 1px solid #c4cec1; }
  .financial-app .topbar.navigation-open .nav-button { padding: 12px 16px; min-height: 44px; text-align: left; }
}
.atlas-country { scroll-margin-top: 90px; }

/* Static Africa map with clickable country profiles. */
#atlas-map { cursor:default; }
#atlas-map canvas { touch-action:pan-y; }
.atlas-globe-caption { position:absolute; left:18px; bottom:20px; pointer-events:none; color:var(--muted); font:.875rem ui-monospace,monospace; letter-spacing:2px; }
.atlas-view-label { color:#8098a5; font-size:.875rem; letter-spacing:1.4px; }

/* Light masthead and island annotations retain readable contrast. */
.financial-app .brand, .financial-app .nav-button, .financial-app .topbar .menu-toggle { color:#203b2d; }
.financial-app .brand-debt { color:#24613f; }
.financial-app .nav-button.active, .financial-app .nav-button:hover { color:#24734c; }
.atlas-map-label.island-label { color:#365f51; text-shadow:none; background:#d6dece; border-left-color:#749b84; }
.atlas-view-label { color:var(--muted); }
.atlas-map-label.selected, .atlas-map-label:hover { color:#efffd7; }
.atlas-country-heading > span { color:#3e6c38; }
.atlas-footnote a { color:#246d53; }
.financial-app .clock-card { color:#f1f7f2; }

/* Country names are written out, with wrapping for longer names. */
.atlas-map-label { font:500 .875rem/1.2 Arial,sans-serif; letter-spacing:0; max-width:94px; white-space:normal; text-align:center; }
.atlas-map-label.selected { max-width:150px; font-size:.875rem; padding:5px 7px; }
.atlas-map-label.island-label { max-width:110px; white-space:normal; }
.atlas-country h2 { overflow-wrap:anywhere; }

/* Pan-African identity: forest green, gold, red and charcoal on warm ivory. */
.financial-app { --red:#a13832; --green:#24613f; --gold:#b18424; --accent:#caaa52; }
.financial-app .topbar { border-top-color:#caaa52; }
.financial-app .topbar::before { background:#a13832; }
.financial-app .topbar::after { background:#24613f; }
.financial-app .brand, .financial-app .topbar .menu-toggle { color:var(--ink); }
.financial-app .brand-debt { color:#a13832; }
.financial-app .nav-button.active, .financial-app .nav-button:hover { color:#24613f; }
.atlas-totals > div { border-top:3px solid #24613f; }
.atlas-totals > div:nth-child(2) { border-top-color:#a13832; }
.atlas-totals > div:nth-child(3) { border-top-color:#caaa52; }
.atlas-totals > div:nth-child(4) { border-top-color:#252b26; }
.atlas-totals > div:nth-child(2) strong { color:#a13832; }
.atlas-open, .financial-app .button.primary { background:#24613f; border-color:#24613f; color:#fff; }
.atlas-open:hover, .financial-app .button.primary:hover { background:#194c30; color:#fff; }
.atlas-country { border-top-color:#caaa52; }
.atlas-map-label.selected, .atlas-map-label:hover { background:#263a2c; outline-color:#caaa52; color:#fff8df; }
.atlas-map-label.island-label { border-left-color:#b18424; color:#3f5d42; }
.atlas-map-toolbar i { background:#a13832; }
#atlas-regions button[aria-pressed="true"] { color:#4c481e; }

/* Shared reading scale across the atlas and all financial pages. */
.financial-app { font-size: 1rem; line-height: 1.6; }
.financial-app :is(.metric-label, .metric-note, .indicator-source, .indicator-source small,
  .chart-note, .chart-legend, .context-footnote, .national-metric small, .record-links,
  .national-actions, .breadcrumb, .eyebrow, .comparison-note, .count-badge,
  .creditor-rank-number, .clock-source, .clock-small-label, .source-strip p,
  .source-strip h2, .context-stat > span, .edition, .creditor-bar small,
  dialog small, dialog a, .method-sections small, .formula, .method-number, .country-code, .toast, .empty-list, .list-ratio, .list-code, .list-meta, .list-label) {
  font-size: .875rem;
  line-height: 1.6;
}
.financial-app :is(label, .text-button, summary, .nav-button, .region-filters button,
  .country-section-button, .list-name, .method-sections a, .currency-switch button) {
  font-size: .875rem;
  line-height: 1.5;
}
.financial-app :is(input[type="search"], select, .country-picker select,
  .creditors-toolbar select, .creditor-detail select) {
  font-size: 1rem;
  line-height: 1.5;
}
.financial-app input::placeholder { color: var(--muted); opacity: 1; }
.financial-app :is(th, td, .comparison-table td:nth-child(2), .comparison-table button) {
  font-size: .875rem;
  line-height: 1.6;
}
.financial-app :is(.metric-label, .metric-note, .record-links) { overflow-wrap: anywhere; }
.financial-app .clock-card h2 { color: #f1f7f2; }
.financial-app .creditor-leader-name { color: var(--ink); }
.financial-app .creditor-leader-amount { color: var(--green); }
.financial-app .creditor-leader .metric-label { color: var(--muted); }
.financial-app .method-number, .financial-app .status-caution { color: #8b302b; }
.financial-app a:hover, .financial-app .text-button:hover { color: #194c30; }
.financial-app .clock-card a:hover, .financial-app .clock-card .text-button:hover { color: #e5cb84; }
.financial-app :is(button, a, input, select, summary):focus-visible {
  outline-color: #24613f;
}
.financial-app .clock-card :is(button, a):focus-visible { outline-color: #e5cb84; }
.financial-app .atlas-country-links { grid-template-columns: 1fr; }
.financial-app .atlas-country-links button { min-height: 36px; }
.financial-app .atlas-map-label {
  font-size: .8125rem;
  line-height: 1.3;
  color: #fff8df;
  background: #263a2c;
  text-shadow: none;
  padding: 3px 5px;
  max-width: 130px;
}
.financial-app .atlas-map-label.selected { max-width: 180px; }
.financial-app .atlas-map-label.island-label {
  color: #263a2c;
  background: #d6dece;
  max-width: 130px;
}
.financial-app .atlas-map-label:hover,
.financial-app .atlas-map-label:focus-visible { color: #fff8df; background: #263a2c; }
.financial-app .atlas-kicker { letter-spacing: 1px; }
.financial-app .atlas-map-toolbar, .financial-app .atlas-map-footer { flex-wrap: wrap; }
.financial-app .atlas-country-gdp > span { gap: 12px; flex-wrap: wrap; }
.financial-app .history-chart { overflow-x: auto; }
.financial-app .history-chart svg { min-width: 620px; }
.financial-app .history-chart text { font-size: 14px; fill: var(--muted); }

.financial-app .activity-grid .metric-note + .metric-note,
.financial-app .country-toolbar .button,
.financial-app .creditor-bar > div:first-child { font-size: .875rem; line-height: 1.6; }
.financial-app .formula { white-space: normal; overflow-wrap: anywhere; }

.financial-app .region-chip[aria-pressed="true"] { color: var(--green); }
.financial-app .list-code { opacity: 1; }
/* Phones start with country selection; continental context is available on demand. */
.atlas-mobile-picker, .atlas-change-country { display: none; }
.atlas-continent-summary > summary, .atlas-directory-disclosure > summary { display: none; }
.atlas-continent-summary, .atlas-directory-disclosure { min-width: 0; }
.atlas-country h2:focus { outline: none; }
.menu-toggle-label { font: 700 .875rem/1.5 Arial, sans-serif; margin-right: 8px; }
@media (max-width: 1000px) {
  .financial-app .topbar .menu-toggle { display: flex; align-items: center; min-height: 44px; }
  .financial-app .topbar { grid-template-rows: minmax(44px,auto); }
  .financial-app .topbar.navigation-open .nav-button.active { background: #d6dece; border-left: 3px solid var(--green); }
  .financial-app .topbar.navigation-open .nav-button.active::after { display: none; }
}
@media (max-width: 600px) {
  .financial-app main { padding-top: 20px; }
  .financial-app .atlas-intro { padding-bottom: 16px; }
  .financial-app .atlas-intro .atlas-kicker { display: none; }
  .financial-app .atlas-intro h1 { font-size: 28px; line-height: 1.2; letter-spacing: -.7px; max-width: none; }
  .financial-app .atlas-mobile-picker { display: block; margin-bottom: 16px; scroll-margin-top: 80px; }
  .atlas-mobile-picker > div { display: flex; align-items: center; justify-content: space-between; gap: 4px 12px; flex-wrap: wrap; }
  .atlas-mobile-picker label { font-weight: 700; }
  .atlas-mobile-picker button { min-height: 44px; font-size: .875rem; color: var(--green); text-decoration: underline; }
  .financial-app .atlas-mobile-picker select { display: block; width: 100%; min-height: 48px; padding: 10px 12px; }
  .financial-app .atlas-canvas-wrap { min-height: 300px; }
  .financial-app .atlas-map-toolbar { padding: 10px 12px; }
  .financial-app .atlas-view-label, .financial-app .atlas-globe-caption, .financial-app .atlas-map-key { display: none; }
  .financial-app .atlas-map-footer { padding: 10px 12px; }
  .financial-app .atlas-country { padding: 20px 16px; scroll-margin-top: 80px; }
  .financial-app .atlas-country-heading { justify-content: space-between; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
  .financial-app .atlas-change-country { display: block; min-height: 44px; color: var(--green); font-size: .875rem; text-decoration: underline; }
  .financial-app .atlas-country h2 { font-size: 28px; line-height: 1.2; }
  .financial-app .atlas-country-period { margin-bottom: 16px; }
  .financial-app .atlas-country-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .financial-app .atlas-country-links button { min-height: 48px; padding: 8px; border: 1px solid var(--line); line-height: 1.5; }
  .financial-app .atlas-continent-summary, .financial-app .atlas-directory-disclosure { margin-top: 20px; border: 1px solid var(--line); background: var(--wash); }
  .financial-app .atlas-continent-summary > summary, .financial-app .atlas-directory-disclosure > summary { display: list-item; padding: 16px; cursor: pointer; font-weight: 700; min-height: 52px; }
  .atlas-continent-summary > summary span { font-weight: 400; color: var(--muted); margin-left: 8px; }
  .financial-app .atlas-totals { margin: 0; border-bottom: 0; }
  .financial-app .atlas-totals > div:nth-child(n) { padding: 14px; }
  .financial-app .atlas-directory { margin: 0; padding: 0 16px 16px; }
  .financial-app .atlas-directory .atlas-kicker, .financial-app .atlas-directory h2 { display: none; }
  .financial-app .atlas-search { margin-top: 0; }
  .financial-app .atlas-directory-controls { margin-top: 16px; }
  .financial-app .atlas-country-list { grid-template-columns: 1fr; }
  .financial-app .atlas-country-list button { min-height: 48px; }
  .financial-app .atlas-footnote { margin-top: 24px; }
  .financial-app :is(.metric-grid,.fiscal-grid) { grid-template-columns: 1fr; }
  .financial-app .metric-grid .metric-card:nth-child(n) { border-right: 0; border-top: 1px solid var(--line); }
  .financial-app .metric-grid .metric-card:first-child { border-top: 0; }
}
