/* Economy Portal v7
   Editorial data portal theme. Square edges, compact typography, light workspace, dark institutional navigation. */
:root{
  --ed-bg:#e8edf2;
  --ed-bg-2:#f2f5f8;
  --ed-paper:#ffffff;
  --ed-paper-2:#f7f9fb;
  --ed-paper-3:#eef3f7;
  --ed-line:#c8d2dc;
  --ed-line-2:#dce3ea;
  --ed-text:#111827;
  --ed-strong:#07111f;
  --ed-muted:#5f6f82;
  --ed-muted-2:#7b8796;
  --ed-navy:#081421;
  --ed-navy-2:#0f1d2b;
  --ed-navy-3:#16283a;
  --ed-blue:#155e75;
  --ed-blue-2:#0f6e8f;
  --ed-red:#9f2d20;
  --ed-green:#206a42;
  --ed-warn:#8a5a12;
  --ed-font:Arial, Helvetica, sans-serif;
  --ed-serif:Georgia, "Times New Roman", serif;
  --ed-mono:Consolas, "Courier New", monospace;
  --radius:0;
  --v2-radius:0;
}

*,*::before,*::after{box-sizing:border-box!important;border-radius:0!important}
html{background:var(--ed-bg)!important;scrollbar-gutter:stable!important}
body,body.v2-home,body.asia-page{
  margin:0!important;
  background:var(--ed-bg)!important;
  color:var(--ed-text)!important;
  font-family:var(--ed-font)!important;
  font-size:13px!important;
  line-height:1.42!important;
  letter-spacing:0!important;
}
a{color:var(--ed-blue)!important;text-decoration:none!important}
a:hover{text-decoration:underline!important;color:#0a4f67!important}
img,svg{max-width:100%!important}
hr{border:0!important;border-top:1px solid var(--ed-line)!important}
pre,code,.mono{font-family:var(--ed-mono)!important}

/* Global shell */
.frame,.v2-shell,body.v2-home.asia-page .asia-shell{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  background:var(--ed-bg)!important;
  border:0!important;
  box-shadow:none!important;
  min-height:100vh!important;
}
.layout{
  display:grid!important;
  grid-template-columns:258px minmax(0,1fr)!important;
  min-height:calc(100vh - 54px)!important;
  background:var(--ed-bg)!important;
}
main.content-main,.content-main,.main,.wrap,.v2-main,body.v2-home.asia-page .asia-main{
  background:var(--ed-bg)!important;
  color:var(--ed-text)!important;
  padding:18px 22px 38px!important;
  min-width:0!important;
}

/* Header */
header.site-header,.site-header,.v2-topbar,.topbar,.topbar-lite{
  background:var(--ed-navy)!important;
  color:#e7edf4!important;
  border-bottom:1px solid #223247!important;
  box-shadow:none!important;
  position:sticky!important;
  top:0!important;
  z-index:80!important;
}
.header-main,.v2-topbar{
  min-height:54px!important;
  height:54px!important;
  padding:0 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
}
.brand,.v2-brand{
  color:#f5f7fa!important;
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  min-width:max-content!important;
  text-decoration:none!important;
}
.brand strong,.v2-brand span:last-child,.v2-brand{
  color:#f5f7fa!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}
.brand span{font-size:10px!important;color:#8da0b5!important;font-family:var(--ed-mono)!important;font-weight:400!important}
.v2-brand-mark{display:none!important}
.header-tools{display:flex!important;align-items:center!important;gap:16px!important;flex:1!important;min-width:0!important;justify-content:flex-end!important}
.v2-nav,.topnav,.v2-toplinks{
  display:flex!important;
  gap:2px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
}
.v2-nav a,.topnav a,.v2-toplinks a{
  color:#c4cfdb!important;
  font-size:12px!important;
  line-height:1!important;
  padding:9px 10px!important;
  border:0!important;
  border-left:1px solid transparent!important;
  background:transparent!important;
  font-weight:700!important;
  text-decoration:none!important;
  min-height:auto!important;
}
.v2-nav a:hover,.topnav a:hover,.v2-toplinks a:hover,.topnav a.active,.v2-nav a.active{
  color:#fff!important;
  background:var(--ed-navy-3)!important;
  text-decoration:none!important;
}
.v2-toplinks{border-left:1px solid #25364b!important;padding-left:12px!important}

/* Search and clock in legacy header */
.hs-wrap,.v2-search,.search-box{
  background:#ffffff!important;
  border:1px solid #9aabba!important;
  color:#142033!important;
  box-shadow:none!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 10px!important;
  max-width:520px!important;
}
.hs-input,.v2-search input,.search-box input{
  color:#142033!important;
  background:transparent!important;
  border:0!important;
  height:32px!important;
  min-height:32px!important;
  font-size:12px!important;
  padding:0 6px!important;
}
.hs-input::placeholder,.v2-search input::placeholder,input::placeholder,textarea::placeholder{color:#7a8490!important}
.hs-results{background:#fff!important;border:1px solid var(--ed-line)!important;color:var(--ed-text)!important;box-shadow:0 16px 30px rgba(8,20,33,.16)!important}
.hs-result{border-bottom:1px solid var(--ed-line-2)!important;color:var(--ed-text)!important}
.hs-result:hover{background:#eef4f8!important}
.market-clock,.breadcrumbbar{
  background:#101c2a!important;
  border-top:1px solid #223247!important;
  border-bottom:1px solid #223247!important;
  color:#8da0b5!important;
  min-height:26px!important;
  padding:0 22px!important;
  font-size:10px!important;
  overflow:hidden!important;
}
.market-clock strong,.breadcrumbbar .path{font-family:var(--ed-mono)!important;color:#c2d0df!important;font-size:10px!important}
.market-clock .clock-label{color:#7e90a5!important}

/* Sidebar */
aside.sidebar,.sidebar{
  background:#111b27!important;
  border-right:1px solid #26364a!important;
  color:#aebccc!important;
  padding:12px 10px 20px!important;
  max-height:calc(100vh - 54px)!important;
  overflow:auto!important;
}
.side-title{
  margin:18px 0 7px!important;
  color:#8190a3!important;
  font-family:var(--ed-mono)!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}
.side-title:first-child{margin-top:3px!important}
.side-item{
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid #253448!important;
  color:#d0d8e2!important;
  padding:7px 7px!important;
  margin:0!important;
  line-height:1.18!important;
  font-size:12px!important;
}
.side-item:hover{background:#1a2838!important;color:#fff!important;text-decoration:none!important}
.side-item.active{background:#e8edf2!important;color:#07111f!important;border-color:#e8edf2!important;font-weight:700!important;padding-left:8px!important}
.side-item span:last-child{font-size:9px!important;color:#7e90a5!important;font-family:var(--ed-mono)!important;margin-top:3px!important}
.side-item.active span:last-child{color:#4d5b6b!important}

/* Page titles */
.titlebar,.tool-hero,.asia-hero-card,.v2-hero{
  background:var(--ed-paper)!important;
  border:1px solid var(--ed-line)!important;
  color:var(--ed-text)!important;
  box-shadow:none!important;
}
.titlebar{
  padding:22px 24px!important;
  margin:0 0 14px!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  align-items:flex-start!important;
}
h1,.titlebar h1,.v2-hero h1,.asia-hero h1,.tool-hero h1{
  color:var(--ed-strong)!important;
  font-family:var(--ed-serif)!important;
  font-size:clamp(28px,2.1vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
  margin:0!important;
}
.titlebar h1{font-size:clamp(28px,1.9vw,36px)!important}
.subtitle,.v2-lead,p.lead,body.v2-home.asia-page .asia-hero p{
  color:#526276!important;
  font-size:13px!important;
  line-height:1.45!important;
  max-width:980px!important;
}
.status{font-size:9px!important;color:#66758a!important;min-width:220px!important;font-family:var(--ed-mono)!important;line-height:1.55!important;text-align:right!important}
.v2-kicker,.asia-kicker,.rating-kicker{
  color:#5f7289!important;
  font-family:var(--ed-mono)!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}

/* Panels and cards */
.panel,.card,.widget,.box,.paper,.seo-context,.tool-frame-wrap,.tool-info,.related-section,.economic-rating-card,
body.v2-home.asia-page .asia-panel,body.v2-home.asia-page .asia-kpi,body.v2-home.asia-page .asia-metric,body.v2-home.asia-page .asia-country-card,.v2-panel,.v2-kpi,.v2-forecast-card,.v2-region-card{
  background:var(--ed-paper)!important;
  border:1px solid var(--ed-line)!important;
  color:var(--ed-text)!important;
  box-shadow:none!important;
}
.panel,.card,.widget,.box,.paper{margin-bottom:14px!important}
.panel-head,.tool-frame-head{
  background:var(--ed-paper-2)!important;
  border-bottom:1px solid var(--ed-line)!important;
  min-height:34px!important;
  padding:9px 11px!important;
}
.panel-head h2,h2,h3,.rating-title,body.v2-home.asia-page .asia-panel h2,body.v2-home.asia-page .asia-score-card strong,body.v2-home.asia-page .asia-kpi strong,body.v2-home.asia-page .asia-metric strong,body.v2-home.asia-page .asia-country-card strong{
  color:var(--ed-strong)!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.panel-head span{font-size:9px!important;color:var(--ed-muted)!important;font-family:var(--ed-mono)!important}
.panel .note,.note,.callout,.panel-soft,.asia-alert{background:#f5f8fa!important;border:1px solid var(--ed-line)!important;color:#4f6175!important;padding:11px 12px!important}

/* Forms */
.controls{
  display:grid!important;
  grid-template-columns:1.25fr 1fr 1fr auto!important;
  gap:8px!important;
  background:#dfe6ed!important;
  border:1px solid var(--ed-line)!important;
  padding:8px!important;
  margin-bottom:14px!important;
  box-shadow:none!important;
}
select,input,textarea{
  background:#fff!important;
  color:var(--ed-text)!important;
  border:1px solid #aebbc8!important;
  height:30px!important;
  min-height:30px!important;
  padding:5px 8px!important;
  font-size:12px!important;
  font-family:var(--ed-font)!important;
  box-shadow:none!important;
}
textarea{height:auto!important;min-height:90px!important}
button,.button,.btn,.v2-button,.asia-button,.tool-actions a,.tool-actions button,input[type=submit]{
  background:var(--ed-navy-2)!important;
  color:#fff!important;
  border:1px solid #213348!important;
  min-height:30px!important;
  height:30px!important;
  padding:6px 12px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
  box-shadow:none!important;
}
button:hover,.button:hover,.btn:hover,.v2-button:hover,.asia-button:hover,.tool-actions a:hover,.tool-actions button:hover,input[type=submit]:hover{background:#192b3f!important;text-decoration:none!important;color:#fff!important}
.button.secondary,.btn.secondary,.asia-button.secondary{background:#f4f7fa!important;color:#142033!important;border-color:#aebbc8!important}
.button.secondary:hover,.btn.secondary:hover,.asia-button.secondary:hover{background:#e7edf3!important;color:#07111f!important}

/* Rating */
.economic-rating-card{padding:15px 17px!important;margin:0 0 14px!important;background:#fff!important}
.rating-topline{gap:14px!important;margin-bottom:10px!important}
.rating-title{font-size:14px!important}
.rating-subtitle,.rating-label,.rating-note{font-size:11px!important;color:#5a6a7e!important}
.rating-main{gap:12px!important}
.rating-grade{font-size:34px!important;color:#123d5a!important;font-weight:700!important;min-width:64px!important;font-family:var(--ed-serif)!important}
.rating-score{font-size:12px!important;color:#28384b!important;font-family:var(--ed-mono)!important}
.rating-bar{height:5px!important;background:#d8e1ea!important;margin:10px 0!important;overflow:hidden!important}
.rating-bar span{background:#155e75!important}
.rating-components{gap:6px!important}
.rating-component{background:#f7f9fb!important;border:1px solid var(--ed-line)!important;padding:8px 9px!important}
.rating-component strong{font-size:10px!important;color:#203040!important}
.rating-component span{font-size:10px!important;color:#536477!important;font-family:var(--ed-mono)!important}

/* KPI and charts */
.kpis{background:#f6f8fa!important;border-bottom:1px solid var(--ed-line)!important}
.kpi,.metric,.status-box{background:#fff!important;border:1px solid var(--ed-line)!important;color:var(--ed-text)!important;padding:10px 12px!important}
.kpi label,.metric label{font-size:9px!important;color:#68778a!important;font-family:var(--ed-mono)!important;text-transform:uppercase!important;letter-spacing:.07em!important;margin-bottom:5px!important}
.kpi strong,.metric strong{font-size:22px!important;color:var(--ed-strong)!important;font-weight:700!important;letter-spacing:-.02em!important}
.kpi span,.metric span{font-size:10px!important;color:#6b7a8c!important}
.chartbox{background:#fff!important;padding:12px!important;border:1px solid var(--ed-line)!important}
.chart{height:360px!important;border-left:1px solid #aebbc8!important;border-bottom:1px solid #aebbc8!important;background:#fff!important}
.svg-chart text{fill:#5e6d7f!important;font-size:10px!important}
.svg-chart path,.svg-chart line{stroke:#c7d2de!important}.svg-chart .series{stroke:#155e75!important}

/* Tables */
table,.v2-table,.asia-table{width:100%!important;border-collapse:collapse!important;border-spacing:0!important;background:#fff!important;color:var(--ed-text)!important;font-size:12px!important}
th,.v2-table th,body.v2-home.asia-page .asia-table th{
  background:#eef3f7!important;
  color:#536477!important;
  border-bottom:1px solid var(--ed-line)!important;
  font-size:10px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  font-weight:700!important;
  padding:7px 8px!important;
}
td,.v2-table td,body.v2-home.asia-page .asia-table td{
  color:#1f2e3e!important;
  border-bottom:1px solid var(--ed-line-2)!important;
  background:transparent!important;
  padding:8px!important;
}
tr:hover td,.v2-indicator-row:hover{background:#f4f8fb!important}
.num{font-variant-numeric:tabular-nums!important;text-align:right!important}
.v2-indicator-row{grid-template-columns:1fr 105px 55px!important;gap:8px!important;padding:8px 0!important;border-bottom:1px solid var(--ed-line-2)!important;color:var(--ed-text)!important}
.v2-indicator-row strong{font-size:12px!important;color:var(--ed-strong)!important}
.v2-indicator-row small{font-size:10px!important;color:#607085!important}
.v2-indicator-row svg{height:24px!important;color:#155e75!important}

/* Home page */
.v2-main,body.v2-home.asia-page .asia-main{padding:0 22px 38px!important}
.v2-hero{padding:30px 22px 24px!important;border-left:0!important;border-right:0!important;border-top:0!important;background:linear-gradient(180deg,#ffffff,#f5f8fa)!important}
.v2-grid-hero{grid-template-columns:minmax(380px,690px) minmax(420px,1fr)!important;gap:28px!important}
body.v2-home .v2-hero h1{font-size:clamp(36px,3.4vw,54px)!important}
.v2-search{max-width:680px!important;margin-top:16px!important}
.v2-pills{gap:6px!important;margin-top:12px!important}
.v2-pills a,.tag,.badge,.rating-badge,.v2-rating,.asia-rating{
  background:#edf3f7!important;
  border:1px solid #c8d2dc!important;
  color:#193246!important;
  padding:4px 8px!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.v2-pills a:hover,.tag:hover{background:#dfe8ef!important;color:#07111f!important;text-decoration:none!important}
.v2-forecast-card{min-height:212px!important;padding:16px!important;background:#fff!important;grid-template-columns:1fr 230px!important}
.v2-map-abstract,.v2-world-grid{background:#edf3f7!important;border:1px solid var(--ed-line)!important;opacity:1!important}
.v2-map-abstract{height:176px!important;background-image:radial-gradient(#9fb0c2 1px,transparent 1px)!important;background-size:11px 11px!important}
.v2-map-abstract span{background:#155e75!important;box-shadow:none!important;width:7px!important;height:7px!important}
.v2-forecast-lines strong{font-size:13px!important;color:var(--ed-strong)!important}
.v2-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding:12px 22px!important}
.v2-kpi{padding:14px!important;grid-template-columns:34px 1fr!important;column-gap:10px!important;min-height:82px!important;background:#fff!important}
.v2-kpi strong{font-size:22px!important;color:var(--ed-strong)!important;font-weight:700!important;letter-spacing:-.02em!important}
.v2-kpi p{font-size:11px!important;color:#66758a!important;margin:0!important}
.v2-icon{width:32px!important;height:32px!important;background:#edf3f7!important;border:1px solid var(--ed-line)!important}
.v2-dashboard-grid{grid-template-columns:1.05fr 1.05fr 1fr .95fr!important;gap:10px!important;padding:0 22px 14px!important}
.v2-panel{padding:14px!important;background:#fff!important}
.v2-panel-head{margin-bottom:10px!important}
.v2-panel-head h2,.v2-section-head h2{font-size:16px!important;color:var(--ed-strong)!important;font-weight:700!important;letter-spacing:-.01em!important}
.v2-panel-head a{font-size:11px!important;color:var(--ed-blue)!important;font-weight:700!important}
.v2-section-head{padding:4px 22px 0!important}
.v2-section-head p{font-size:12px!important;color:#66758a!important}
.v2-region-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding:0 22px 30px!important}
.v2-region-card{min-height:148px!important;background:#101b28!important;border:1px solid #26364a!important;color:#fff!important;padding:15px!important;overflow:hidden!important}
.v2-region-card:before{background-image:linear-gradient(100deg,rgba(8,20,33,.96),rgba(8,20,33,.76)),radial-gradient(circle at 84% 20%,rgba(21,94,117,.35),transparent 38%),linear-gradient(135deg,rgba(255,255,255,.05) 0,transparent 1px)!important;background-size:auto,auto,18px 18px!important}
.v2-region-card strong{font-size:16px!important;color:#fff!important}
.v2-region-card em{font-size:12px!important;color:#c7d3df!important}
.v2-region-card b{font-size:18px!important;color:#e6edf3!important}

/* Asia module */
.v2-subnav{background:#142235!important;border-bottom:1px solid #2a3a50!important;padding:7px 22px!important;gap:4px!important}
.v2-subnav a{font-size:12px!important;color:#cad5e1!important;padding:7px 9px!important;border:0!important;background:transparent!important;font-weight:700!important}
.v2-subnav a.active,.v2-subnav a:hover{background:#e8edf2!important;color:#07111f!important;text-decoration:none!important}
.asia-kpis,.asia-card-grid,.asia-metric-grid{gap:10px!important}
body.v2-home.asia-page .asia-kpi,body.v2-home.asia-page .asia-metric{padding:12px!important;background:#fff!important}
body.v2-home.asia-page .asia-kpi strong,body.v2-home.asia-page .asia-metric strong{font-size:22px!important}

/* Footer */
.site-footer,.v2-footer,body.v2-home.asia-page .asia-footer,footer.site-footer{
  background:var(--ed-navy)!important;
  border-top:1px solid #223247!important;
  color:#d9e3ee!important;
  padding:24px 22px!important;
  box-shadow:none!important;
}
.site-footer a,.v2-footer a,body.v2-home.asia-page .asia-footer a{color:#d9e3ee!important}
.site-footer p,.v2-footer p,body.v2-home.asia-page .asia-footer p{color:#92a3b7!important;font-size:12px!important}

/* Legacy fixes */
.tool-frame,.tool-frame iframe{background:#fff!important}
.card-title,.tool-title{color:var(--ed-strong)!important}
.report-download,.download{background:var(--ed-navy-2)!important;color:#fff!important;border:1px solid #213348!important}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#e1e7ed}::-webkit-scrollbar-thumb{background:#9dafc0;border:2px solid #e1e7ed}

@media(max-width:1200px){
  .layout{grid-template-columns:1fr!important}.sidebar{display:none!important}
  .v2-grid-hero,.v2-forecast-card{grid-template-columns:1fr!important}
  .v2-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v2-region-grid,.v2-kpi-row,body.v2-home.asia-page .asia-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .header-main,.v2-topbar{height:auto!important;min-height:54px!important;flex-wrap:wrap!important;padding:9px 16px!important}
  .v2-nav,.topnav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:2px!important;justify-content:flex-start!important}
  main.content-main,.content-main,.main,.wrap,.v2-main,body.v2-home.asia-page .asia-main{padding-left:16px!important;padding-right:16px!important}
}
@media(max-width:760px){
  .v2-dashboard-grid,.v2-region-grid,.v2-kpi-row,body.v2-home.asia-page .asia-kpis,.asia-card-grid,.asia-metric-grid,.rating-components,.kpis{grid-template-columns:1fr!important}
  h1,.titlebar h1,.v2-hero h1,.asia-hero h1{font-size:28px!important}
  .titlebar{flex-direction:column!important;padding:15px!important}.status{text-align:left!important;min-width:0!important}
  .controls{grid-template-columns:1fr!important}.chart{height:300px!important}.v2-toplinks{display:none!important}
}
