/* ============================================================
   منصة دعم القرار — قطاع الإسكان
   الهوية: وزارة البلديات والإسكان (momah.gov.sa) على نظام التصميم الحكومي
   الرموز مستخرجة من الموقع الرسمي: brand-600 #1B8354 · 700 #166A45 · 800 #14573A · 50 #F0FAF5 · 100 #DCFAE9
   النص #161616 · الرمادي #6B7280 / #F3F4F6 · IBM Plex Sans Arabic (h1 700 · h2 600) · زوايا 4px للأزرار و 8px للبطاقات
   ============================================================ */
:root{
  --g900:#14573a;--g800:#14573a;--g700:#166a45;--g600:#1b8354;--g500:#25935f;--g300:#7fc8a3;--g100:#dcfae9;--g50:#f0faf5;
  --logo-teal:#026c68;--logo-green:#7ebc00;--lime:#7ebc00;--lime100:#eef6d9;
  --ink:#161616;--ink2:#4d5761;--ink3:#6b7280;--line:#e5e7eb;--line2:#d2d6db;--bg:#f9fafb;--card:#fff;--gray100:#f3f4f6;
  --amber:#b54708;--amber-bg:#fffaeb;--amber-line:#fedf89;--red:#b42318;--red-bg:#fff1f3;--gray:#9da4ae;
  --r:8px;--rb:4px;--sh:0 1px 2px rgba(16,24,40,.05);
}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:hidden;max-width:100%}
body{font-family:"IBM Plex Sans Arabic","TheSansArabic",system-ui,-apple-system,sans-serif;font-weight:400;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}
h2,h3,h4,b,strong,th{font-weight:600}
h1{font-size:16px;margin:0;line-height:1.3;font-weight:700}
h2{font-size:14.5px;margin:0}
p{margin:0}
a{color:inherit}
.skip{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{width:auto;height:auto;clip:auto;inset-inline-start:8px;top:8px;background:#fff;padding:8px;z-index:99}
.muted{color:var(--ink3);font-size:12px}
.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:embed}

/* ---- header ---- */
.hdr{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.govbar{background:var(--gray100);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2)}
.govbar .in{max-width:1400px;margin:0 auto;padding:6px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.govbar .flag{display:inline-flex;align-items:center;gap:8px}
.govbar .flag i{display:inline-block;width:22px;height:15px;border-radius:2px;background:#006923;position:relative}
.govbar .flag i::after{content:"";position:absolute;inset:3px 5px 6px 5px;border-bottom:1.5px solid #fff;opacity:.9}
.govbar .draft{color:var(--amber);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.govbar .draft::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}
.hdr-row{max-width:1400px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:28px;min-height:70px}
.brand{display:flex;align-items:center;gap:16px;min-width:320px}
.brand img{height:46px;width:auto;display:block}
.brand .sep{width:1px;height:40px;background:var(--line2)}
.brand p{font-size:11.5px;color:var(--ink3);font-weight:500}
.brand p b{color:var(--amber);font-weight:600}
.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--g900);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.tabs{display:flex;gap:6px;margin-inline-start:auto;align-self:stretch}
.tabs a{display:inline-flex;align-items:center;gap:8px;padding:0 14px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;border-bottom:3px solid transparent;position:relative}
.tabs a i{color:var(--ink3);font-size:13px}
.tabs a:hover{color:var(--g600)}
.tabs a.on{color:var(--g700);border-bottom-color:var(--g600)}
.tabs a.on i{color:var(--g600)}
.hdr-tools{display:flex;gap:8px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--rb);border:1px solid var(--line2);background:#fff;color:var(--ink);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.btn:hover{border-color:var(--g600);color:var(--g700)}
.btn.primary{background:var(--g600);color:#fff;border-color:var(--g600)}
.btn.primary:hover{background:var(--g700);color:#fff}
.btn.ghost{background:transparent}
.btn.sm{padding:4px 10px;font-size:12px}
.btn:disabled{opacity:.5;cursor:default}
.sel,select,input[type=number],input[type=text],input[type=date]{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line2);border-radius:var(--rb);background:#fff;color:var(--ink);min-width:0}
select:focus,input:focus{outline:2px solid var(--g100);border-color:var(--g600)}
.sel.sm{padding:3px 8px;font-size:12px}
.filter-row{max-width:1400px;margin:0 auto;padding:10px 20px 12px;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);background:#fff}
.filter-row label{display:grid;gap:2px;font-size:11px;color:var(--ink3);font-weight:600}
.filter-row select{min-width:180px}
.filter-note{margin-inline-start:auto;font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:8px}
.filter-note .warn{color:var(--amber)}

/* ---- layout ---- */
.main{max-width:1400px;margin:0 auto;padding:20px}
.tab{display:none;flex-direction:column;gap:16px}
.tab.on{display:flex}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-action{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:16px;align-items:start}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh);min-width:0}
.card.sticky{position:sticky;top:132px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.card-tools{display:flex;align-items:center;gap:8px}
.card-sub{font-size:12px;color:var(--ink2);margin:-6px 0 12px}
.chart{position:relative}
.h-52{height:208px}.h-56{height:224px}.h-60{height:240px}
.legend-note{font-size:11.5px;color:var(--ink3);margin-top:8px}
.tab-foot{font-size:11.5px;color:var(--ink3);border-top:1px solid var(--line);padding-top:10px;line-height:1.8}

/* ---- tags (kind) ---- */
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap;text-decoration:none}
.tag.official{background:var(--g50);color:var(--g700);border:1px solid var(--g100)}
.tag.estimated{background:var(--gray100);color:var(--ink2);border:1px solid var(--line)}
.tag.experimental{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-line)}
.tag.verified{background:var(--g50);color:var(--g700);border:1px solid var(--g100)}
.tag.axis{background:#eef4fb;color:#1f4e79;border:1px solid #cfe0f3}
.glossary td{vertical-align:top}
.tag.pending{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-line)}
.tag.link:hover{text-decoration:underline}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin:0 2px}
.dot.official{background:var(--g600)}.dot.estimated{background:var(--gray)}.dot.experimental{background:var(--amber)}
.k{display:inline-block;width:7px;height:7px;border-radius:50%;margin-inline-start:4px;vertical-align:middle}
.k.official{background:var(--g600)}.k.estimated{background:var(--gray)}.k.experimental{background:var(--amber)}

/* ---- answers (المشهد) ---- */
.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ans{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:10px;min-width:0}
.ans-q{font-size:13px;color:var(--ink);font-weight:600;display:flex;align-items:center;gap:10px}
.ans-q i{width:36px;height:36px;border-radius:50%;background:var(--g50);color:var(--g600);display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.ans.who .ans-q i{background:var(--amber-bg);color:var(--amber)}
.ans.what .ans-q i{background:var(--lime100);color:#5f8f00}
.ans-v{font-size:30px;font-weight:700;line-height:1.15;color:var(--g800);letter-spacing:-.01em}
.ans-v small{font-size:13px;color:var(--ink2);font-weight:400;display:block;margin-top:2px}
.ans-l{font-size:13px;color:var(--ink2)}
.ans-l b{color:var(--ink)}
.ans-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);padding-top:10px}
.ans-row div span{display:block;font-size:11px;color:var(--ink3)}
.ans-row div b{font-size:14px}
.ans-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:11.5px;color:var(--ink3)}
.ans-foot a{color:var(--g600);text-decoration:none;font-weight:600}
.ans-foot a:hover{text-decoration:underline}
.neg{color:var(--red)}.pos{color:var(--g600)}.amb{color:var(--amber)}
.na{color:var(--amber);background:var(--amber-bg);border-radius:6px;padding:0 6px;font-size:.85em;white-space:nowrap}

/* ---- scope bars ---- */
.bars{display:grid;gap:8px}
.bar{display:grid;grid-template-columns:150px 1fr 120px;align-items:center;gap:10px;font-size:12.5px}
.bar .lbl{display:flex;flex-direction:column}
.bar .lbl small{color:var(--ink3);font-size:11px}
.bar .trk{height:10px;background:var(--gray100);border-radius:5px;position:relative;overflow:hidden}
.bar .trk i{position:absolute;inset:0 auto 0 0;background:var(--g600);border-radius:5px}
.bar .trk i.r{background:var(--amber)}
.bar .val{text-align:end}
.bar .val small{color:var(--ink3);display:block;font-size:11px}
.bar.sel .lbl{color:var(--g700);font-weight:600}
.bar:hover{cursor:pointer}

/* ---- tables ---- */
.tbl-wrap{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:12.5px}
table.t th{background:var(--gray100);color:var(--ink2);font-size:11.5px;text-align:start;padding:9px 10px;border-bottom:1px solid var(--line2);white-space:nowrap}
table.t td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.t tr.tot td{background:var(--gray100);font-weight:600}
table.t tr.first td{border-top:2px solid var(--line)}
table.t.sm{font-size:12px}
table.t tr.hl td{background:var(--g50)}
.pill{display:inline-block;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:600}
.pill.r{background:var(--red-bg);color:var(--red)}.pill.m{background:var(--amber-bg);color:var(--amber)}.pill.g{background:var(--g100);color:var(--g800)}
.reasons span{display:inline-block;background:#f3f4f6;border-radius:6px;padding:0 6px;margin:1px 2px;font-size:11px;color:var(--ink2)}
.reasons span b{color:var(--red)}

/* ---- kpis ---- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh)}
.kpi .lbl{font-size:11.5px;color:var(--ink3);font-weight:600;display:flex;justify-content:space-between;gap:6px;align-items:center}
.kpi .val{font-size:24px;font-weight:700;color:var(--g800);margin-top:2px}
.kpi .sub{font-size:11.5px;color:var(--ink2);margin-top:2px}
.kpi.warn .val{color:var(--amber)}.kpi.danger .val{color:var(--red)}

/* ---- matrix (فئة × أسرة) ---- */
.matrix{display:grid;grid-template-columns:150px repeat(5,1fr);gap:4px;font-size:12px}
.matrix .mh{font-size:11.5px;color:var(--ink2);font-weight:600;padding:6px 8px;text-align:center}
.matrix .mh.r{text-align:start}
.matrix .mc{border-radius:var(--rb);padding:8px;background:var(--gray100);cursor:pointer;border:1px solid transparent;min-height:60px;display:flex;flex-direction:column;gap:2px}
.matrix .mc:hover{border-color:var(--g600)}
.matrix .mc.sel{border-color:var(--g700);background:#fff;box-shadow:0 0 0 2px var(--g100)}
.matrix .mc b{font-size:13px}
.matrix .mc small{color:var(--ink2);font-size:11px}
.matrix .mc.c0{background:var(--red-bg)}.matrix .mc.c1{background:var(--amber-bg)}.matrix .mc.c2{background:var(--g100)}.matrix .mc.c3{background:var(--g50)}
.matrix .mc.empty{background:transparent;border:1px dashed var(--line);cursor:default}
.mx-legend{display:flex;gap:14px;font-size:11.5px;color:var(--ink3);margin-top:8px;flex-wrap:wrap}
.mx-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-inline-end:4px}
.cell-detail{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;display:none}
.cell-detail.on{display:block}
.cell-detail h3{font-size:13px;margin-bottom:6px}
.cell-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;font-size:12.5px}
.cell-grid span{display:block;color:var(--ink3);font-size:11px}

/* ---- details ---- */
details.dt{padding:0}
details.dt>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}
details.dt>summary::-webkit-details-marker{display:none}
details.dt>summary h2{flex:1}
details.dt>summary i.fa-chevron-down{color:var(--ink3);font-size:12px}
details.dt[open]>summary i.fa-chevron-down{transform:rotate(180deg)}
details.dt>*:not(summary){padding:0 16px 16px}
details.dt-inline{margin-top:10px}
details.dt-inline>summary{font-size:12.5px;color:var(--g600);font-weight:600;cursor:pointer;list-style:none}
details.dt-inline>summary::-webkit-details-marker{display:none}
details.dt-inline>summary::before{content:"+ ";}
details.dt-inline[open]>summary::before{content:"− ";}
details.dt-inline>*:not(summary){margin-top:8px}

/* ---- units filters/pager ---- */
.units-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.units-filters select,.units-filters input{font-size:12px;padding:4px 8px}
.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;font-size:12px}
.pager button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px 10px;cursor:pointer}
.pager button:disabled{opacity:.4}
.unit-badge{display:inline-block;font-size:11px;padding:0 6px;border-radius:6px;font-weight:600}
.unit-badge.ok{background:var(--g100);color:var(--g900)}.unit-badge.hold{background:var(--amber-bg);color:var(--amber)}.unit-badge.sold{background:#eef1f0;color:var(--ink2)}

/* ---- recommendations ---- */
.recs{display:grid;gap:10px}
.rec{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:grid;grid-template-columns:52px 1fr;gap:12px;cursor:pointer;background:#fff}
.rec:hover{border-color:var(--g600)}
.rec.sel{border-color:var(--g600);box-shadow:inset 3px 0 0 var(--g600)}
.rec-p{display:flex;flex-direction:column;align-items:center;gap:2px}
.rec-p b{font-size:22px;line-height:1;color:var(--g800);font-weight:700}
.rec-p span{font-size:10.5px;font-weight:600;padding:0 6px;border-radius:999px}
.rec-p span.c{background:var(--red-bg);color:var(--red)}.rec-p span.h{background:var(--amber-bg);color:var(--amber)}.rec-p span.m{background:var(--gray100);color:var(--ink2)}
.rec-b{min-width:0}
.rec-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink3);margin-bottom:2px}
.rec-top b{color:var(--ink)}
.rec-issue{font-size:13px;margin-bottom:4px}
.rec-act{font-size:12.5px;color:var(--ink2)}
.rec-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 12px;font-size:11.5px;color:var(--ink2);margin-top:8px;border-top:1px solid var(--line);padding-top:8px}
.rec-meta span{color:var(--ink3)}
.rec-track{display:none;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.rec.sel .rec-track{display:grid}
.rec-track input,.rec-track select{font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;font-family:inherit}
.rec-track .full{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.status{font-size:11px;font-weight:600;padding:0 8px;border-radius:999px;background:var(--gray100);color:var(--ink2)}

/* ---- simulation ---- */
.sim-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.sim-inputs label{display:grid;gap:2px;font-size:11px;color:var(--ink3);font-weight:600}
.sim-source{font-size:12px;color:var(--ink2);background:var(--g50);border-radius:var(--rb);padding:8px 10px;margin-bottom:10px;display:none}
.sim-source.on{display:block}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.ba{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.ba h3{font-size:11.5px;color:var(--ink3);margin-bottom:6px;display:flex;justify-content:space-between}
.ba .row{display:flex;justify-content:space-between;font-size:12.5px;padding:2px 0}
.ba .row b{font-size:14px}
.ba.after{border-color:var(--g500);background:var(--g50)}
.ba .delta{font-size:11px;color:var(--g600);font-weight:600}
.msg{font-size:12px;padding:6px 10px;border-radius:var(--rb);margin-top:6px;background:var(--gray100);color:var(--ink2)}
.msg.warn{background:var(--amber-bg);color:var(--amber)}
.msg.good{background:var(--g50);color:var(--g700)}
.steps,.assump{font-size:12px;color:var(--ink2);padding-inline-start:18px;margin:0;line-height:1.8}
.assump{list-style:disc;margin-top:8px}

/* ---- sources ---- */
.sources{display:grid;gap:8px}
.src{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:12.5px}
.src.pending{border-inline-start:3px solid var(--amber)}
.src.verified{border-inline-start:3px solid var(--g600)}
.src-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.src-h b{flex:1;min-width:200px}
.src-m{color:var(--ink3);font-size:11.5px;margin-top:2px}
.src-d{margin-top:4px;font-size:12px}
.src-d a{color:var(--g600);font-weight:600;text-decoration:none}
.method{display:grid;gap:10px;font-size:12.5px;color:var(--ink2)}
.method h3{font-size:13px;color:var(--ink);margin-bottom:2px}
.method ul{margin:0;padding-inline-start:18px;line-height:1.8}

/* ---- drawer ---- */
.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(440px,100%);background:#fff;border-inline-start:1px solid var(--line);z-index:60;transform:translateX(-100%);display:flex;flex-direction:column;box-shadow:-8px 0 24px rgba(0,0,0,.08)}
[dir=rtl] .drawer{transform:translateX(-100%)}
.drawer.on{transform:none}
.drawer>header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.drawer>header h2{flex:1}
.drawer>form{flex:1;overflow:auto;padding:14px 16px}
.drawer>footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}
.drawer>footer p{width:100%}
.drawer-bg{position:fixed;inset:0;background:rgba(10,61,44,.25);z-index:55;display:none}
.drawer-bg.on{display:block}
.rules{display:grid;gap:12px}
.rule{display:grid;gap:4px;font-size:12.5px}
.rule>span{font-weight:600;color:var(--ink2)}
.rule.row{display:flex;align-items:center;gap:8px}
.rule input[type=number]{width:100%}
.rule-5{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.rule-5 label{display:grid;gap:2px}
.rule-5 small,.rule-types small{font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rule-types{display:grid;gap:6px}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{border:1px solid var(--line);border-radius:999px;padding:0 9px;font-size:11.5px;cursor:pointer;user-select:none;background:#fff}
.chip input{display:none}
.chip.on{background:var(--g600);color:#fff;border-color:var(--g600)}

/* ---- toast ---- */
.toast{position:fixed;bottom:20px;inset-inline-start:50%;transform:translateX(50%);background:var(--g800);color:#fff;padding:8px 16px;border-radius:10px;font-size:13px;display:none;z-index:80}
.toast.on{display:block}
.toast.err{background:var(--red)}
.site-foot{background:var(--g800);color:#d9e8df;margin-top:24px}
.site-foot .in{max-width:1400px;margin:0 auto;padding:22px 20px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;font-size:12px}
.site-foot .logo-w{background:#fff;border-radius:var(--rb);padding:6px 10px;display:inline-block}
.site-foot .logo-w img{height:30px;display:block}
.site-foot b{color:#fff}
.site-foot a{color:#d9e8df}
.site-foot .dot{border:1px solid rgba(255,255,255,.4)}
.site-foot .legal{border-top:1px solid rgba(255,255,255,.15);padding-top:10px;margin-top:6px;grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:#b8d0c3}

/* ---- present mode ---- */
body.present .filter-row,body.present .site-foot,body.present .tabs,body.present details.dt,body.present .tab-foot,body.present .govbar{display:none!important}
body.present .hdr-row{padding:8px 32px}
body.present .main{max-width:1600px;padding:24px 32px}
body.present .ans-v{font-size:34px}
body.present .ans-l{font-size:15px}
body.present .h-60{height:320px}
body.present .bar{font-size:14px;grid-template-columns:200px 1fr 140px}
body.present #btn-present span::after{content:" — إنهاء"}

/* ---- responsive ---- */
@media (max-width:1100px){.answers{grid-template-columns:1fr}.grid-action{grid-template-columns:1fr}.card.sticky{position:static}}
@media (max-width:860px){
  .govbar .in{justify-content:center;text-align:center;font-size:11px;padding:4px 12px}
  .govbar .flag{display:none}
  .brand p{display:none}
  .brand img{height:30px}
  .site-foot .in{grid-template-columns:1fr}
  .tabs a{padding:8px 10px;border-bottom-width:2px}
  .brand .sep{display:none}
  .brand h1{font-size:13px}
  .grid-2{grid-template-columns:1fr}
  .hdr-row{flex-wrap:wrap;gap:10px}
  .brand{min-width:0;flex:1}
  .tabs{order:3;width:100%;overflow-x:auto;margin:0}
  .tabs a span{font-size:12px}
  .hdr-tools .btn span{display:none}
  .filter-row select{min-width:130px;flex:1}
  .filter-row label{flex:1}
  .filter-note{width:100%;margin:0}
  .main{padding:12px}
  .matrix{grid-template-columns:90px repeat(5,1fr);font-size:11px}
  .matrix .mc{padding:5px;min-height:48px}
  .matrix .mc b{font-size:12px}
  .bar{grid-template-columns:110px 1fr 90px}
  .sim-inputs,.before-after,.rec-track{grid-template-columns:1fr}
  .ans-v{font-size:22px}
}

/* ---- print: مختصر (المشهد التنفيذي + التدخل) ---- */
@media print{
  @page{size:A4 landscape;margin:10mm}
  html,body{background:#fff;font-size:10.5px;width:auto;overflow:visible}
  .skip,.hdr,.govbar,.site-foot,.toast,.drawer,.drawer-bg,.btn,.filter-row,.pager,.units-filters,.rec-track,.sim-inputs,details.dt-inline,.legend-note,.sim-source,.ans-foot a,.mx-legend{display:none!important}
  .main{padding:0;max-width:none;width:100%}
  .tab{display:none!important}
  .tab.on,body.print-brief #overview,body.print-brief #action{display:block!important}
  .answers{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}
  canvas{max-width:100%!important;height:auto!important}
  .ans,.card,.rec,.ba{min-width:0;overflow-wrap:anywhere}
  .ans-row,.rec-meta,.cell-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ans{padding:10px;gap:6px}
  .ans-v{font-size:18px}
  .ans-v small,.ans-l{font-size:10px}
  .ans-row div b{font-size:11px}
  .grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
  .grid-action{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.print-brief #action{page-break-before:always}
  body.print-brief #action .recs .rec:nth-child(n+3){display:none}
  body.print-brief #action .chart,body.print-brief #action #sm-msgs .msg:nth-child(n+3),body.print-brief #ac-foot{display:none!important}
  body.print-brief #ov-deliveries-card,body.print-brief #action .card-tools{display:none!important}
  .card,.ans,.kpi,.rec{box-shadow:none;break-inside:avoid;border-color:#ccc;page-break-inside:avoid}
  .card{padding:10px}
  .card.sticky{position:static}
  .chart{height:150px!important}
  .rec{grid-template-columns:40px 1fr;padding:8px 10px}
  .rec-p b{font-size:16px}
  .rec-meta{grid-template-columns:repeat(4,1fr)}
  .before-after{display:grid!important}
  .bar{grid-template-columns:120px 1fr 90px;font-size:10px}
  .print-stamp{display:flex!important;align-items:center;gap:10px;font-size:9px;color:#555;border-top:1px solid #ccc;padding-top:4px;margin-top:8px;position:fixed;bottom:0;inset-inline:0;background:#fff}
  .print-stamp img{height:22px}
  .print-head{display:flex!important;direction:rtl;align-items:center;justify-content:flex-start;gap:12px;border-bottom:2px solid #1b8354;padding-bottom:6px;margin-bottom:8px}
  .print-head img{height:34px}
  .print-head b{font-size:12px;color:#14573a}
  .print-head small{color:#666;font-size:9px}
  .tab-foot{font-size:9px}
  h2{font-size:12px}
}
.print-stamp,.print-head{display:none}

/* ---- الخريطة والتفاعل ---- */
.grid-map{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.map{height:380px;border-radius:var(--rb);overflow:hidden;border:1px solid var(--line);background:#eef2f0;z-index:0}
.map .leaflet-container{font-family:inherit;font-size:12px}
.map-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink3);margin-top:8px;align-items:center}
.map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;margin-inline-end:4px}
.mk-scope{background:var(--g600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer;font-family:inherit;text-align:center;line-height:1.1}
.mk-scope.r{background:var(--amber)}
.mk-scope.sel{outline:3px solid var(--g100)}
.mk-dist{border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.25);cursor:pointer}
.leaflet-popup-content{font-family:inherit;font-size:12.5px;line-height:1.6;margin:10px 12px;direction:rtl;text-align:right}
.leaflet-popup-content b{color:var(--g800)}
.leaflet-popup-content .pp-a{display:inline-block;margin-top:6px;color:var(--g600);font-weight:600;cursor:pointer}
.seg-detail{display:none;margin-top:10px;border:1px solid var(--line);border-radius:var(--rb);padding:10px 12px;background:var(--g50);font-size:12.5px}
.seg-detail.on{display:block}
.seg-detail .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 12px;margin-top:4px}
.seg-detail .g span{display:block;color:var(--ink3);font-size:11px}
.dist-list{display:grid;gap:6px}
.dist{display:grid;grid-template-columns:1fr 70px 90px;align-items:center;gap:8px;font-size:12.5px;padding:6px 8px;border-radius:var(--rb);border:1px solid transparent;cursor:pointer}
.dist:hover{border-color:var(--g600)}
.dist.sel{background:var(--g50);border-color:var(--g600)}
.dist small{color:var(--ink3);display:block;font-size:11px}
.dist .trk{height:8px;background:var(--gray100);border-radius:4px;overflow:hidden}
.dist .trk i{display:block;height:100%;background:var(--g600)}
.dist .trk i.r{background:var(--amber)}
.ba.base{border-color:var(--line2);background:var(--gray100)}
.ba .row .same{color:var(--ink3);font-size:11px}
.ans-v .lbl{display:block;font-size:12px;color:var(--ink3);font-weight:500;margin-bottom:2px}
.ans-gaps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ans-gaps div{border:1px solid var(--line);border-radius:var(--rb);padding:8px 10px}
.ans-gaps span{display:block;font-size:11px;color:var(--ink3)}
.ans-gaps b{font-size:18px;color:var(--g800)}
.ans-gaps div.match{border-color:var(--amber-line);background:var(--amber-bg)}
.ans-gaps div.match b{color:var(--amber)}
.tag.official.pending{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}
.tag.official.verified{background:var(--g50);color:var(--g700)}
.int-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px;border-top:1px solid var(--line);padding-top:8px}
.int-grid span{display:block;font-size:11px;color:var(--ink3)}
.int-grid b{font-size:13px}
.int-action{font-size:12.5px;color:var(--ink2);line-height:1.6;border-inline-start:3px solid var(--g600);padding-inline-start:10px}
body.busy .main{opacity:.55;pointer-events:none;transition:opacity .15s}
@media (max-width:1100px){.grid-map{grid-template-columns:1fr}.map{height:320px}}
@media (max-width:860px){.ans-gaps,.int-grid{grid-template-columns:1fr 1fr}.map{height:280px}.dist{grid-template-columns:1fr 60px}.dist .trk{display:none}}
@media print{.map-card,#ov-seg-detail,#ov-map-hint{display:none!important}.grid-map{display:block!important}}
/* ---- صقل: حالة المحاكاة قيد التحديث، وسوم العناوين، الروابط داخل التوصية ---- */
#sm-ba.pending{opacity:.6;transition:opacity .12s}
.ans-q .tag{margin-inline-start:auto;font-size:10.5px}
.ans-q{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.int-grid a.int-loc{color:var(--g700);text-decoration:underline dotted;cursor:pointer}
.int-grid a.int-loc:hover{color:var(--g900)}
.ans-gaps small.muted{font-size:10.5px}
.ans-gaps b{display:inline-block;margin-inline-end:4px}
#ac-unified .g b{font-size:13px}
.dist-list .dist .num b{font-size:14px;color:var(--g800)}
.dist.sel .num b{color:var(--g900)}
.seg-detail .g b{color:var(--ink)}
.leaflet-container a.leaflet-popup-close-button{left:4px;right:auto}
.leaflet-control-attribution{font-size:9px;direction:ltr}
.tag.official .fas{font-size:10px}
@media (max-width:860px){.ans-q .tag{margin-inline-start:0}}
.leaflet-tooltip.dist-lbl{font-family:inherit;font-size:11px;font-weight:600;color:var(--g900);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--rb);padding:2px 6px;direction:rtl}
.leaflet-tooltip.dist-lbl::before{display:none}
.ba .same{font-size:11.5px;color:var(--ink3);background:#fff;border:1px dashed var(--line2);border-radius:var(--rb);padding:4px 8px;margin-bottom:6px}
.ba h3{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
.ba h3 .tag{font-size:10px;padding:1px 6px}
/* طباعة المختصر: صفحتان — المشهد (أجوبة + نطاقات + شرائح) ثم التدخل (توصية موحّدة + توصيتان + قبل/بعد) */
@media print{
  body.print-brief .grid-map{display:block!important}
  body.print-brief #ov-districts,body.print-brief .grid-2>article:nth-child(2),body.print-brief #ov-map-legend{display:none!important}
  body.print-brief .grid-2{display:block!important}
  body.print-brief .grid-2>article{break-inside:avoid}
  body.print-brief .ans-gaps{grid-template-columns:1fr 1fr;gap:4px}
  body.print-brief .ans-gaps div{padding:4px 6px}
  body.print-brief .ans-gaps b{font-size:13px}
  body.print-brief .int-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 6px;padding-top:4px}
  body.print-brief .int-grid b{font-size:10px}
  body.print-brief .int-action{font-size:9.5px}
  body.print-brief .ans-v .lbl{font-size:9px}
  body.print-brief #action .recs .rec:nth-child(n+3){display:none}
  body.print-brief #action .rec-track,body.print-brief #action .card-sub,body.print-brief #sm-steps,body.print-brief #sm-assump,body.print-brief #action details{display:none!important}
  body.print-brief #ac-unified{padding:6px 8px;font-size:10px}
  body.print-brief .ba .same{display:none}
  body.print-brief .sim-inputs{display:none!important}
}
@media print{
  body.print-brief #overview .chart{height:115px!important}
  body.print-brief #overview .grid-2 .legend-note,body.print-brief #ov-foot{display:none!important}
  body.print-brief .ans-v{font-size:16px}
  body.print-brief .ans-l{display:none}
  body.print-brief .bar{font-size:9px;padding:2px 0}
  body.print-brief #action .recs .rec:nth-child(n+2){display:none}
  body.print-brief .before-after{gap:6px}
  body.print-brief #sm-msgs .msg:nth-child(n+2){display:none!important}
}
@media print{
  /* المشهد على صفحة واحدة: الأجوبة ثم (النطاقات | شرائح الدخل) جنباً إلى جنب */
  body.print-brief #overview .grid-map{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  body.print-brief #overview .grid-map .map-card{display:none!important}
  body.print-brief #overview .grid-2{display:contents!important}
  body.print-brief #overview .grid-2>article:first-child{grid-column:2;grid-row:1}
  body.print-brief #overview .grid-map>article:nth-child(2){grid-column:1;grid-row:1}
  body.print-brief #overview .card{margin:0}
}
@media print{
  body.print-brief #overview{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}
  body.print-brief #overview>#print-head,body.print-brief #overview>.answers{grid-column:1/-1}
  body.print-brief #overview .grid-map,body.print-brief #overview .grid-2{display:contents!important}
  body.print-brief #overview .answers{margin-bottom:0}
}
@media print{
  body.print-brief #overview{grid-template-rows:auto auto auto}
  body.print-brief #overview>#print-head{grid-row:1;grid-column:1/-1}
  body.print-brief #overview>.answers{grid-row:2;grid-column:1/-1}
  body.print-brief #overview .grid-map>article:nth-child(2){grid-column:1;grid-row:3}
  body.print-brief #overview .grid-2>article:first-child{grid-column:2;grid-row:3}
  body.print-brief #overview .answers .ans{align-self:start}
}
@media print{
  body.print-brief .ans{padding:6px 8px;gap:3px}
  body.print-brief .ans .ans-foot{display:none}
  body.print-brief .ans-q{font-size:10px}
  body.print-brief .ans-v{font-size:14px}
  body.print-brief .ans-v small{font-size:8.5px}
  body.print-brief .ans-row{gap:4px;padding-top:3px}
  body.print-brief .int-grid b{font-size:9px}
  body.print-brief .int-grid span,body.print-brief .ans-gaps span{font-size:8.5px}
  body.print-brief .int-action{font-size:8.5px;line-height:1.4}
  body.print-brief #overview .chart{height:95px!important}
  body.print-brief .card{padding:6px 8px}
  body.print-brief .card-h{margin-bottom:4px}
  body.print-brief .bar .lbl small{display:none}
}

/* ---- الدورة 9: أثر المقترح، جدول التوافق، تسميات الخريطة ---- */
.rec-impact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border:1px solid var(--g100);background:var(--g50);border-radius:var(--rb);padding:8px 10px;margin:6px 0 2px}
.rec-impact span{display:block;font-size:10.5px;color:var(--ink3)}
.rec-impact b{font-size:13px}
.rec-target{display:block;margin-bottom:4px}
.rec details.dt-inline{margin-top:4px}
.rec details.dt-inline summary{font-size:12px}
.rec-top .tag{margin-inline-start:auto}
.int-details summary{font-size:12px}
.int-details .t{margin-top:8px}
.ans details.dt-inline{margin:0}
.ans details.dt-inline summary{font-size:11.5px;color:var(--ink3)}
.ans details.dt-inline ul.assump{margin:6px 0 0;padding-inline-start:16px;font-size:12px;color:var(--ink2)}
.ba.target{background:var(--g50);border-color:var(--g100)}
.ba .tgt{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ba .tgt span{display:block;font-size:10.5px;color:var(--ink3)}
.ba .tgt b{font-size:14px}
.leaflet-tooltip.dist-lbl{font-size:10.5px;line-height:1.35;font-weight:500}
.leaflet-tooltip.dist-lbl b{font-weight:700}
.map-legend .map-tot{flex-basis:100%;font-size:12px;color:var(--ink2)}
.map-legend .map-tot b{color:var(--g800)}
.map-legend details{font-size:11px}
.map-legend details summary{cursor:pointer;color:var(--g700)}
.status.s-2{background:var(--g100);color:var(--g800)}.status.s-3{background:var(--amber-bg);color:var(--amber)}.status.s-4{background:var(--gray100);color:var(--ink3)}
@media (max-width:860px){.rec-impact{grid-template-columns:1fr 1fr}}
@media print{body.print-brief .ans details,body.print-brief .rec details,body.print-brief .int-details{display:none!important}body.print-brief .rec-impact{padding:4px 6px}body.print-brief .rec-impact b{font-size:10px}}
.mk-d{border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;cursor:pointer;font-family:inherit;text-shadow:0 0 2px rgba(0,0,0,.35)}
.mk-d b{font-size:11px}.mk-d small{font-size:8.5px;opacity:.95}
.mk-d.sel{outline:3px solid var(--g900);outline-offset:1px}
.leaflet-tooltip.dist-lbl{pointer-events:none}
