
:root{
  --bg:#f2f8f7;--paper:#fff;--ink:#133d44;--muted:#6a8186;--line:#dce9e8;
  --brand:#0d776d;--brand2:#28b7a9;--deep:#062f39;--soft:#eef8f6;--gold:#b99139;
  --desal:#0d776d;--ground:#72b9a9;--surface:#c6a658;
  --shadow:0 18px 50px rgba(5,56,67,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
radial-gradient(circle at 80% 0,#d9f5ee 0,transparent 26%),
linear-gradient(180deg,#f9fcfb,#eef7f5);color:var(--ink);
font-family:"Noto Naskh Arabic","Traditional Arabic","Geeza Pro","Arabic Typesetting",Tahoma,Arial,serif;font-size:18px;line-height:1.85}
button,select{font:inherit}
.shell{max-width:1220px;margin:auto;padding:24px 18px 46px}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#052f39,#08766d 58%,#1caf9f);color:#fff;border-radius:30px;padding:34px;box-shadow:var(--shadow)}
.hero:after{content:"";position:absolute;left:-100px;top:-140px;width:420px;height:420px;border-radius:50%;background:#b8fff235}
.brandline{display:flex;align-items:center;gap:10px;color:#d6f5ef;font-size:13px}.branddrop{width:38px;height:38px;border-radius:12px;background:#ffffff17;border:1px solid #ffffff30;display:grid;place-items:center}
.hero-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:22px;align-items:end;margin-top:22px;position:relative;z-index:1}
.hero h1{font-size:clamp(34px,5vw,62px);line-height:1.08;margin:0 0 14px}.hero p{max-width:760px;color:#e6f8f4;font-size:17px;line-height:1.9;margin:0}
.hero-kpi{background:#ffffff12;border:1px solid #ffffff30;border-radius:20px;padding:18px;backdrop-filter:blur(8px)}
.hero-kpi small{color:#cdeee8}.hero-kpi strong{display:block;font-size:38px;margin:5px 0}.hero-kpi span{font-size:12px;color:#dff6f1}

.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:16px 0;flex-wrap:wrap}
.segment{display:flex;gap:6px;background:#e8f3f1;padding:5px;border-radius:14px}.segment button{border:0;background:transparent;color:#587176;border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:700}.segment button.active{background:#fff;color:var(--brand);box-shadow:0 3px 12px #073b4630}
.actionset{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.primary{background:var(--brand);color:#fff}.btn.secondary{background:#fff;color:var(--brand);border:1px solid var(--line)}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:23px;padding:20px;box-shadow:0 10px 30px rgba(8,62,72,.05)}
.card h2{font-size:20px;margin:0 0 5px}.card .sub{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:15px}
.kpis{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px}.kpi small{color:var(--muted);display:block}.kpi b{font-size:28px;display:block;color:var(--deep);margin:6px 0}.kpi span{font-size:11px;color:#5e767c}
.trend{grid-column:span 7}.regions{grid-column:span 5}.sources{grid-column:span 7}.insights{grid-column:span 5}
.svg-wrap{width:100%;overflow:hidden}.trend-svg{width:100%;height:300px;display:block}.axis{font-size:11px;fill:#6d858a}.gridline{stroke:#e6efef;stroke-width:1}.trend-line{fill:none;stroke:var(--brand);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend-area{fill:url(#areaFill)}.point{fill:#fff;stroke:var(--brand);stroke-width:3}.point-label{font-size:11px;fill:#214d55;font-weight:700}
.note{margin-top:10px;padding:11px 12px;background:#f4faf8;border:1px solid #e0efec;border-radius:12px;color:#5b7277;font-size:11px;line-height:1.7}

.region-list{display:flex;flex-direction:column;gap:9px}.region-row{display:grid;grid-template-columns:120px 1fr 78px;gap:9px;align-items:center;cursor:pointer;border-radius:10px;padding:4px}.region-row:hover{background:#f7fbfa}.region-row.active{background:#eef9f6}.region-row label{font-size:12px}.bar{height:9px;background:#edf2f2;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:999px}.region-row b{font-size:11px;text-align:left}
.region-detail{margin-top:14px;background:linear-gradient(145deg,#073743,#0a786f);color:#fff;border-radius:18px;padding:16px}.region-detail small{color:#ccece6}.region-detail b{font-size:28px;display:block;margin:4px 0}.region-detail span{font-size:12px;color:#dff6f1}

.source-list{display:flex;flex-direction:column;gap:14px}.source-row{border:1px solid var(--line);border-radius:16px;padding:13px}.source-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.source-head b{font-size:13px}.source-head span{font-size:11px;color:var(--muted)}.stack{height:16px;border-radius:999px;overflow:hidden;display:flex;background:#edf3f2}.stack i{height:100%;display:block}.stack .desal{background:var(--desal)}.stack .ground{background:var(--ground)}.stack .surface{background:var(--surface)}
.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:#657d82}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:4px}

.insight-list{display:flex;flex-direction:column;gap:10px}.insight{border:1px solid #dbe9e7;border-radius:15px;padding:13px;background:#fafdfc}.insight strong{display:block;color:var(--brand);margin-bottom:4px;font-size:13px}.insight p{margin:0;font-size:12px;color:#5c7378;line-height:1.75}
.quality{margin-top:14px;padding:13px;border-radius:15px;background:#fff9eb;border:1px solid #f0e0b7}.quality b{color:#8c681c;font-size:12px}.quality p{font-size:11px;line-height:1.7;margin:5px 0 0;color:#6e6247}
.footer{text-align:center;color:#84969a;font-size:10px;margin-top:22px}
.tab-panel[hidden]{display:none!important}

@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.trend,.regions,.sources,.insights{grid-column:1/-1}}
@media(max-width:620px){.shell{padding:12px 10px 30px}.hero{padding:24px 18px;border-radius:22px}.card{padding:16px;border-radius:18px}.kpis{grid-template-columns:1fr}.region-row{grid-template-columns:105px 1fr 68px}.hero-kpi{max-width:340px}}
@media print{body{background:#fff}.toolbar{display:none}.shell{max-width:none}.hero,.card,.kpi{box-shadow:none}.grid{display:block}.card{margin-bottom:12px}.tab-panel[hidden]{display:block!important}}


/* v1.0.1 — معالجة الخط بأسلوب صحفي عربي */
body{
  font-family:"Noto Naskh Arabic","Traditional Arabic","Geeza Pro","Arabic Typesetting",Tahoma,Arial,serif;
  font-size:18px;
  line-height:1.9;
  letter-spacing:0;
}
.hero h1{
  font-family:"Noto Naskh Arabic","Traditional Arabic","Geeza Pro","Arabic Typesetting",serif;
  font-size:clamp(44px,5.5vw,72px);
  font-weight:700;
  line-height:1.18;
}
.hero p{
  font-size:21px;
  line-height:1.95;
  max-width:820px;
}
.brandline{font-size:16px}
.hero-kpi small{font-size:15px}
.hero-kpi strong{font-size:45px;line-height:1.25}
.hero-kpi span{font-size:14px}
.card h2{
  font-family:"Noto Naskh Arabic","Traditional Arabic","Geeza Pro","Arabic Typesetting",serif;
  font-size:28px;
  line-height:1.35;
  font-weight:700;
}
.card .sub{
  font-size:16px;
  line-height:1.85;
}
.kpi small{font-size:15px}
.kpi b{
  font-family:"Noto Naskh Arabic","Traditional Arabic","Geeza Pro","Arabic Typesetting",serif;
  font-size:34px;
  line-height:1.25;
}
.kpi span{font-size:14px}
.region-row label{font-size:16px;font-weight:600}
.region-row b{font-size:15px}
.region-detail small{font-size:15px}
.region-detail b{font-size:36px}
.region-detail span{font-size:15px}
.source-head b{font-size:18px}
.source-head span{font-size:14px}
.legend{font-size:14px}
.insight strong{font-size:18px}
.insight p{font-size:16px;line-height:1.9}
.quality b{font-size:16px}
.quality p{font-size:15px;line-height:1.85}
.note{font-size:15px;line-height:1.9}
.footer{font-size:13px}
.segment button,.btn{
  font-family:"Noto Naskh Arabic","Traditional Arabic","Geeza Pro",Tahoma,Arial,serif;
  font-size:16px;
}
.axis{font-size:13px}
.point-label{font-size:14px}
@media(max-width:620px){
  body{font-size:17px}
  .hero h1{font-size:42px}
  .hero p{font-size:19px}
  .card h2{font-size:25px}
  .kpi b{font-size:31px}
  .region-row label{font-size:14px}
}


/* v1.0.2 — تكبير شامل للخط وتحسين القراءة الصحفية */
body{
  font-size:22px !important;
  line-height:2 !important;
  color:#123b43;
}
.shell{
  max-width:1480px;
}
.hero{
  padding:42px 46px;
}
.brandline{
  font-size:19px !important;
}
.hero h1{
  font-size:clamp(54px,5.2vw,82px) !important;
  line-height:1.16 !important;
  font-weight:700 !important;
  margin-bottom:18px !important;
}
.hero p{
  font-size:25px !important;
  line-height:1.95 !important;
  max-width:930px !important;
}
.hero-kpi{
  padding:24px !important;
}
.hero-kpi small{
  font-size:18px !important;
}
.hero-kpi strong{
  font-size:52px !important;
  line-height:1.3 !important;
}
.hero-kpi span{
  font-size:17px !important;
}
.toolbar{
  margin:22px 0 !important;
}
.segment button,
.btn{
  font-size:19px !important;
  padding:13px 18px !important;
}
.kpis{
  gap:16px !important;
}
.kpi{
  padding:22px !important;
  min-height:170px;
}
.kpi small{
  font-size:18px !important;
}
.kpi b{
  font-size:44px !important;
  line-height:1.35 !important;
  margin:10px 0 !important;
}
.kpi span{
  font-size:17px !important;
}
.card{
  padding:28px !important;
}
.card h2{
  font-size:36px !important;
  line-height:1.4 !important;
  margin-bottom:8px !important;
}
.card .sub{
  font-size:19px !important;
  line-height:1.9 !important;
  margin-bottom:20px !important;
}
.axis{
  font-size:16px !important;
}
.point-label{
  font-size:17px !important;
}
.note{
  font-size:18px !important;
  line-height:1.95 !important;
  padding:15px 17px !important;
}
.region-row{
  grid-template-columns:170px 1fr 115px !important;
  gap:14px !important;
  padding:8px 6px !important;
}
.region-row label{
  font-size:20px !important;
}
.region-row b{
  font-size:18px !important;
}
.region-detail{
  padding:22px !important;
}
.region-detail small{
  font-size:18px !important;
}
.region-detail b{
  font-size:44px !important;
}
.region-detail span{
  font-size:18px !important;
}
.source-row{
  padding:18px !important;
}
.source-head b{
  font-size:22px !important;
}
.source-head span{
  font-size:17px !important;
}
.legend{
  font-size:17px !important;
}
.insight{
  padding:18px !important;
}
.insight strong{
  font-size:22px !important;
}
.insight p{
  font-size:19px !important;
  line-height:2 !important;
}
.quality{
  padding:18px !important;
}
.quality b{
  font-size:19px !important;
}
.quality p{
  font-size:18px !important;
  line-height:1.95 !important;
}
.footer{
  font-size:16px !important;
  line-height:1.9 !important;
  margin-top:28px !important;
}
.footer a{
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
}
.footer a:hover{
  text-decoration:underline;
}
.source-credit{
  margin:18px 0 8px;
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
  box-shadow:0 8px 24px rgba(8,62,72,.05);
}
.source-credit-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,var(--deep),var(--brand));
  color:#fff;
  font-size:23px;
  font-weight:700;
}
.source-credit small{
  display:block;
  color:var(--muted);
  font-size:15px;
  line-height:1.4;
}
.source-credit strong{
  display:block;
  color:var(--deep);
  font-size:21px;
  line-height:1.6;
}
.source-credit span{
  display:block;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
}
.source-credit a{
  margin-right:auto;
  color:#fff;
  background:var(--brand);
  text-decoration:none;
  font-size:17px;
  font-weight:700;
  padding:10px 15px;
  border-radius:11px;
}
@media(max-width:980px){
  body{font-size:20px !important}
  .hero h1{font-size:54px !important}
  .hero p{font-size:22px !important}
  .card h2{font-size:32px !important}
}
@media(max-width:620px){
  body{font-size:19px !important}
  .hero{padding:28px 20px !important}
  .hero h1{font-size:42px !important}
  .hero p{font-size:20px !important}
  .kpi b{font-size:36px !important}
  .card h2{font-size:28px !important}
  .card .sub,.insight p,.note{font-size:17px !important}
  .region-row{grid-template-columns:115px 1fr 80px !important}
  .region-row label{font-size:16px !important}
  .source-credit{align-items:flex-start;flex-wrap:wrap}
  .source-credit a{margin-right:60px}
}


/* v1.0.3 — إظهار مصدر البيانات داخل كل قسم */
.data-source,
.kpi-source-note{
  margin:8px 0 18px;
  padding:10px 14px;
  border-radius:12px;
  background:#f3faf8;
  border:1px solid #d9ebe7;
  color:#577276;
  font-size:17px !important;
  line-height:1.7 !important;
  font-weight:600;
}
.kpi-source-note{
  margin-top:10px;
  margin-bottom:18px;
}
.data-source a,
.kpi-source-note a,
.footer a{
  color:var(--brand);
  font-weight:800;
  text-decoration:none;
}
.data-source a:hover,
.kpi-source-note a:hover,
.footer a:hover{
  text-decoration:underline;
}
.footer b{
  color:var(--deep);
}


/* v1.0.4 — المصدر الرسمي ظاهر مباشرة أسفل عنوان الخدمة */
.hero-source{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
  padding:14px 18px;
  width:max-content;
  max-width:100%;
  border-radius:14px;
  background:#fff;
  color:#083b43;
  border:2px solid #d9b95b;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.hero-source span{
  font-size:20px !important;
  font-weight:700;
  color:#5e6e70;
}
.hero-source a{
  font-size:23px !important;
  font-weight:800;
  color:#0d776d;
  text-decoration:none;
}
.hero-source a:hover{text-decoration:underline}
.source-credit{
  border:2px solid #b8dcd5 !important;
}
.source-credit small{
  font-size:17px !important;
  font-weight:700;
}
.source-credit strong{
  font-size:24px !important;
}
.source-credit span{
  font-size:17px !important;
}
.data-source,
.kpi-source-note{
  border-right:5px solid var(--brand) !important;
  font-size:19px !important;
  background:#eef9f6 !important;
}
.footer{
  background:#eef8f6;
  border:1px solid #d9ebe7;
  padding:14px 18px;
  border-radius:14px;
}
@media(max-width:620px){
  .hero-source{width:100%;align-items:flex-start}
  .hero-source span{font-size:18px !important}
  .hero-source a{font-size:20px !important}
}
