[data-esg-country-tracker-root],
[data-esg-country-tracker]{
  --esg-cyan:#74e7ef;
  --esg-gold:#d9b85f;
  --esg-verified:#3fc4ad;
  --esg-partial:#d7b253;
  --esg-source:#6e8fe7;
  --esg-blocked:#ce727e;
  --esg-na:#8a7bb7;
  --esg-unknown:#394f60;
  display:grid;
  gap:1rem;
  max-width:1180px;
  margin-inline:auto;
  color:#edf8ff;
}

.esg-coverage-legend,
.esg-tracker-toolbar,
.esg-country-map-panel,
.esg-country-list-panel,
.esg-country-detail-panel{
  border:1px solid rgba(116,231,239,.25);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(8,32,50,.96),rgba(3,15,29,.94));
  box-shadow:0 24px 70px rgba(0,0,0,.2);
}

.esg-coverage-legend{
  display:grid;
  grid-template-columns:minmax(180px,.6fr) minmax(0,2fr);
  gap:1rem;
  align-items:end;
  padding:clamp(1rem,2vw,1.5rem);
}
.esg-coverage-legend h2{margin:.15rem 0 0;font-size:clamp(1.25rem,2.2vw,1.8rem);}
.esg-coverage-legend ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
  margin:0;
  padding:0;
  list-style:none;
}
.esg-coverage-legend li{
  display:grid;
  grid-template-columns:.65rem auto 1fr;
  gap:.45rem;
  align-items:center;
  min-width:0;
  padding:.5rem .6rem;
  border:1px solid rgba(142,181,201,.16);
  border-radius:12px;
  background:rgba(4,18,31,.66);
}
.esg-coverage-legend li>span{width:.6rem;height:.6rem;border-radius:999px;background:var(--coverage-color,var(--esg-unknown));}
.esg-coverage-legend li>strong{font-size:.9rem;}
.esg-coverage-legend li>small{min-width:0;color:#b7cad4;font-size:.66rem;line-height:1.25;}

[data-coverage-state="CONTENT_VERIFIED"]{--coverage-color:var(--esg-verified);}
[data-coverage-state="PARTIAL_CONTENT_VERIFIED"]{--coverage-color:var(--esg-partial);}
[data-coverage-state="SOURCE_IDENTIFIED_NOT_CONTENT_VERIFIED"]{--coverage-color:var(--esg-source);}
[data-coverage-state="BLOCKED_FRESHNESS"]{--coverage-color:var(--esg-blocked);}
[data-coverage-state="NOT_APPLICABLE"]{--coverage-color:var(--esg-na);}
[data-coverage-state="NOT_VERIFIED"]{--coverage-color:var(--esg-unknown);}

.esg-tracker-toolbar{padding:1rem;}
.esg-tracker-toolbar label{display:grid;gap:.45rem;font-weight:700;}
.esg-tracker-toolbar input{
  min-height:48px;
  border:1px solid rgba(116,231,239,.34);
  border-radius:12px;
  padding:.7rem .9rem;
  background:#041525;
  color:inherit;
  font:inherit;
}

.esg-country-explorer{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
  gap:1rem;
  align-items:start;
}
.esg-country-map-panel,
.esg-country-list-panel,
.esg-country-detail-panel{padding:clamp(1rem,2vw,1.5rem);}
.esg-country-map-panel h2,
.esg-country-list-panel h2{font-size:clamp(1.05rem,2vw,1.35rem);margin:0 0 .8rem;}
[data-esg-country-map] svg{display:block;width:100%;height:auto;max-height:520px;}
.esg-world-ocean{fill:#031221;stroke:rgba(116,231,239,.13);}
.esg-world-country{fill:var(--coverage-color,var(--esg-unknown));stroke:#78909d;stroke-width:.5;vector-effect:non-scaling-stroke;}
.esg-world-country.is-untracked{opacity:.56;}
.esg-world-country.is-tracked{cursor:pointer;transition:filter .16s ease,stroke-width .16s ease;}
.esg-world-country:is(:hover,:focus,.is-selected){filter:brightness(1.35);stroke:#fff;stroke-width:1.8;outline:none;}

[data-esg-country-list]{display:grid;gap:.5rem;max-height:480px;overflow:auto;padding-inline-end:.3rem;}
[data-esg-country-list] button{
  min-height:54px;
  display:grid;
  grid-template-columns:2.4rem 1fr;
  gap:.1rem .55rem;
  align-items:center;
  width:100%;
  padding:.62rem .72rem;
  border:1px solid rgba(142,181,201,.2);
  border-inline-start:3px solid var(--coverage-color,var(--esg-unknown));
  border-radius:12px;
  background:#071b2c;
  color:inherit;
  text-align:start;
  cursor:pointer;
}
[data-esg-country-list] button>span{grid-row:1/3;color:var(--esg-cyan);font-size:.76rem;font-weight:800;letter-spacing:.08em;}
[data-esg-country-list] button>strong{font-size:.9rem;}
[data-esg-country-list] button>small{color:#aec4d1;font-size:.68rem;line-height:1.25;}
[data-esg-country-list] button:is(:hover,:focus,.is-selected){border-color:var(--esg-cyan);background:#0a2940;outline:none;}

.esg-country-detail-head{display:grid;gap:.35rem;margin-bottom:1rem;}
.esg-country-detail-head h2{font-size:clamp(1.65rem,4vw,3rem);margin:0;}
.esg-country-code{margin:0;color:var(--esg-cyan);font-size:.75rem;font-weight:800;letter-spacing:.08em;}
.esg-source-language-note{margin:.25rem 0 0;max-width:72ch;color:#bbccd5;font-size:.82rem;}
.esg-country-summary,
.esg-country-claim{
  display:grid;
  gap:.75rem;
  min-width:0;
  padding:1rem;
  border:1px solid rgba(116,231,239,.18);
  border-radius:16px;
  background:rgba(3,18,31,.72);
}
.esg-country-summary{border-inline-start:4px solid var(--coverage-color,var(--esg-unknown));}
.esg-country-summary-head,.esg-country-claim-head{display:flex;flex-wrap:wrap;gap:.45rem .8rem;align-items:center;justify-content:space-between;}
.esg-country-summary-head>span,.esg-country-claim-head>span{color:var(--esg-cyan);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.esg-country-summary h3{margin:0;font-size:1.1rem;}
.esg-country-summary p,.esg-country-claim p{margin:0;color:#c6d7df;line-height:1.55;}
.esg-country-summary dl,.esg-country-claim dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;}
.esg-country-summary dl>div,.esg-country-claim dl>div{display:grid;gap:.2rem;padding:.6rem;border-radius:10px;background:rgba(9,38,57,.55);}
.esg-country-summary dt,.esg-country-claim dt{color:#8fb0c1;font-size:.7rem;font-weight:700;}
.esg-country-summary dd,.esg-country-claim dd{margin:0;overflow-wrap:anywhere;font-size:.78rem;line-height:1.4;}
.esg-country-summary ul,.esg-country-claim ul{display:grid;gap:.35rem;margin:0;padding-inline-start:1.2rem;color:#b8cbd4;font-size:.78rem;line-height:1.45;}
.esg-country-action{padding:.7rem .8rem;border-inline-start:3px solid var(--esg-gold);background:rgba(50,42,18,.35);}
.esg-country-claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:.8rem;margin-top:.85rem;}
.esg-country-datapoint-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;}
.esg-country-datapoint-counts span{display:flex;gap:.4rem;align-items:center;padding:.5rem;border-radius:10px;border-inline-start:3px solid var(--coverage-color,var(--esg-unknown));background:rgba(9,38,57,.55);font-size:.72rem;}
.esg-country-sources{display:grid;gap:.4rem;min-width:0;font-size:.72rem;}
.esg-country-sources strong{color:#edf8ff;}
.esg-country-sources a,.esg-country-sources span{min-width:0;overflow-wrap:anywhere;padding:.45rem .55rem;border-radius:9px;background:rgba(116,231,239,.08);color:var(--esg-cyan);}
.esg-country-sources a:is(:hover,:focus){outline:2px solid var(--esg-cyan);outline-offset:2px;}
.esg-tracker-loading,.esg-tracker-error,.esg-tracker-empty{padding:1rem;border-radius:12px;background:rgba(8,31,48,.92);}
.esg-tracker-error{border:1px solid rgba(217,184,95,.55);color:#ffe3a0;}

@media(max-width:900px){
  .esg-coverage-legend{grid-template-columns:1fr;}
}

@media(max-width:760px){
  .esg-coverage-legend ul{grid-template-columns:1fr 1fr;}
  .esg-country-explorer{grid-template-columns:1fr;}
  [data-esg-country-map] svg{max-height:310px;}
  [data-esg-country-list]{max-height:290px;}
  .esg-country-summary dl,.esg-country-claim dl,.esg-country-datapoint-counts{grid-template-columns:1fr;}
  .esg-country-claims{grid-template-columns:1fr;}
}

@media(max-width:430px){
  .esg-coverage-legend ul{grid-template-columns:1fr;}
}

@media(prefers-reduced-motion:reduce){
  .esg-world-country{transition:none;}
}
