:root{
  --navy:#12395B; --navy-2:#1B4F7A; --blue:#1F6FB2; --blue-600:#175C93; --sky:#EAF2F9;
  --line:#D7E2EC; --line-2:#C3D2E0; --bg:#F3F7FA; --card:#FFFFFF;
  --ink:#16283A; --ink-2:#3D4B59; --muted:#6B7A88; --muted-2:#8A98A6;
  --ok:#157F4B; --warn:#B7791F; --danger:#B23A48; --teal:#0E7490;
  --r:16px; --r-sm:10px; --sh:0 6px 20px rgba(18,57,91,.08); --sh-2:0 12px 32px rgba(18,57,91,.14);
  --f:"Segoe UI","Tahoma",system-ui,-apple-system,"Noto Naskh Arabic",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--f);background:var(--bg);color:var(--ink);line-height:1.7;direction:rtl;text-align:right}
button,input,select{font-family:inherit}
a{color:var(--blue-600)}
.skip{position:absolute;inset-inline-start:-9999px}
.skip:focus{inset-inline-start:12px;top:12px;background:var(--card);padding:8px 14px;border-radius:8px;z-index:99}
.app-header{background:linear-gradient(135deg,var(--navy) 0%,var(--blue-600) 100%);color:#fff;padding:22px 0 0}
.app-header .wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.brand{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:space-between}
.brand h1{margin:0;font-size:clamp(1.15rem,2.1vw,1.6rem);font-weight:700;letter-spacing:-.2px}
.brand .org{margin:6px 0 0;font-size:.95rem;color:#CFE2F2}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;
  padding:5px 11px;border-radius:999px;font-size:.76rem;white-space:nowrap}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0}
.tab{background:rgba(255,255,255,.10);color:#DCE9F4;border:1px solid rgba(255,255,255,.18);
  border-bottom:none;border-radius:12px 12px 0 0;padding:11px 18px;font-size:.9rem;font-weight:600;
  cursor:pointer;transition:background .18s ease,color .18s ease}
.tab:hover{background:rgba(255,255,255,.2);color:#fff}
.tab[aria-selected="true"]{background:var(--bg);color:var(--navy);border-color:var(--bg)}
.tab:focus-visible{outline:2px solid #fff;outline-offset:2px}
main{max-width:1280px;margin:0 auto;padding:24px 20px 60px}
.panel{display:none}
.panel.active{display:block;animation:fadeUp .35s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);
  padding:18px 20px;margin:0 0 18px}
.card-h{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:baseline;margin:0 0 4px}
.card-h h2{margin:0;font-size:1.02rem;font-weight:700;color:var(--navy)}
.card-h .sub{font-size:.78rem;color:var(--muted)}
.note{font-size:.78rem;color:var(--muted);margin:10px 0 0;padding-inline-start:14px;border-inline-start:3px solid var(--line-2)}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);
  padding:15px 16px;transition:transform .2s ease,box-shadow .2s ease}
.kpi:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.kpi .val{font-size:1.55rem;font-weight:700;color:var(--navy);line-height:1.2}
.kpi .val small{font-size:.8rem;font-weight:600;color:var(--muted)}
.kpi .lbl{font-size:.82rem;color:var(--ink-2);margin-top:4px}
.kpi .hint{font-size:.72rem;color:var(--muted-2);margin-top:3px}
.kpi.b-ok{border-top:3px solid var(--ok)}
.kpi.b-warn{border-top:3px solid var(--warn)}
.kpi.b-blue{border-top:3px solid var(--blue)}
.kpi.b-navy{border-top:3px solid var(--navy)}
.kpi.b-danger{border-top:3px solid var(--danger)}
.alert{border-radius:var(--r);padding:13px 16px;font-size:.85rem;margin:0 0 18px;border:1px solid}
.alert.info{background:#EFF7FD;border-color:#C6DFF2;color:#14507E}
.alert.warn{background:#FEF7E7;border-color:#F0DDB0;color:#7A5410}
.alert strong{font-weight:700}
/* bars + scales */
.bars{display:flex;flex-direction:column;gap:12px}
.bar-row{display:grid;grid-template-columns:14rem 1fr auto;gap:12px;align-items:center}
.bar-row .nm{font-size:.85rem;font-weight:600;color:var(--ink-2)}
.track{position:relative;height:16px;background:var(--sky);border-radius:8px;overflow:hidden}
.fill{position:absolute;inset-inline-start:0;top:0;bottom:0;background:linear-gradient(90deg,var(--blue),var(--navy));border-radius:8px}
.fill.alt{background:linear-gradient(90deg,#4C9BD1,var(--blue-600))}
.val-2{font-size:.82rem;color:var(--muted);min-width:6.5rem;text-align:start}
.scale{position:relative;height:20px;background:var(--sky);border-radius:10px;overflow:hidden}
.scale .cur{position:absolute;inset-inline-start:0;top:0;bottom:0;background:#B9D3E8}
.scale .gapz{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#E4971F,#E4971F 6px,#F2B75C 6px,#F2B75C 12px)}
.scale .mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--navy)}
.stacked{display:flex;height:26px;border-radius:8px;overflow:hidden;border:1px solid var(--line-2)}
.stacked span{display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#fff;font-weight:600}
.stacked .s1{background:linear-gradient(90deg,var(--blue),var(--navy))}
.stacked .s2{background:#C3D2E0;color:#41525F}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.78rem;color:var(--ink-2);margin-top:10px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:6px}
.donut{width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--blue) 0 var(--pct,#60.9%), #DCE7F0 0);
  display:grid;place-items:center;margin:0 auto}
.donut .hole{width:96px;height:96px;border-radius:50%;background:var(--card);display:grid;place-items:center;text-align:center;
  box-shadow:inset 0 0 0 1px var(--line)}
.donut .hole b{display:block;font-size:1.15rem;color:var(--navy)}
.donut .hole span{font-size:.68rem;color:var(--muted)}
/* tables */
.tw{overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.82rem}
caption{text-align:start;font-size:.78rem;color:var(--muted);padding:8px 12px}
th,td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:start;white-space:nowrap}
thead th{background:var(--sky);color:var(--navy);font-weight:700;font-size:.78rem;position:sticky;top:0}
tbody tr{transition:background .16s ease}
tbody tr:hover{background:#F7FBFF;cursor:pointer}
tbody tr:last-child td{border-bottom:none}
td.num,th.num{text-align:center}
tfoot td{background:#F7FAFD;font-weight:700}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid}
.chip.ok{background:#E8F6EE;border-color:#B9E1CB;color:#0F6B3E}
.chip.warn{background:#FEF4E0;border-color:#F0DBA8;color:#8A5B0D}
.chip.no{background:#F1F4F7;border-color:#DBE3EA;color:#5B6874}
.chip.danger{background:#FCECEE;border-color:#F3C9CE;color:#8E2530}
.chip.p1{background:#EAF2F9;border-color:#C6DFF2;color:#14507E}
/* heatmap */
.heat{border:1px solid var(--line);border-radius:var(--r-sm);overflow:auto;background:var(--card)}
.heat table{font-size:.75rem}
.heat th,.heat td{padding:6px 8px;text-align:center;white-space:nowrap}
.heat td.cell{width:44px;font-weight:700;color:#41525F}
.heat .g0{background:#F2F6FA;color:#93A2AF}
.heat .g1{background:#DCEBF7}
.heat .g2{background:#FBE3B8}
.heat .g3{background:#EFA9A2;color:#7C1F28}
.heat .gx{background:#C0392B;color:#fff}
.heat tbody tr:hover{background:#F7FBFF}
/* filters */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:.78rem;font-weight:600;color:var(--ink-2)}
.field select,.field input{padding:9px 11px;border:1px solid var(--line-2);border-radius:var(--r-sm);
  background:var(--card);font-size:.85rem;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}
.field select:focus,.field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,178,.15)}
.btn{border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);padding:9px 15px;border-radius:var(--r-sm);
  font-size:.83rem;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh);background:#F7FBFF}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.primary:hover{background:var(--blue-600)}
.btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.slider{width:100%;accent-color:var(--blue)}
.summary-inline{display:flex;flex-wrap:wrap;gap:16px;font-size:.85rem;color:var(--ink-2);margin-top:10px}
.summary-inline b{color:var(--navy)}
/* drawer */
.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(430px,94vw);background:var(--card);
  box-shadow:-14px 0 40px rgba(18,57,91,.2);transform:translateX(102%);transition:transform .28s ease,visibility 0s linear .28s;
  z-index:60;display:flex;flex-direction:column}
html[dir="rtl"] .drawer{transform:translateX(-102%)}
.drawer.open,html[dir="rtl"] .drawer.open{transform:none;visibility:visible;transition:transform .28s ease,visibility 0s}
.drawer:not(.open){visibility:hidden}
.drawer header{background:linear-gradient(135deg,var(--navy),var(--blue-600));color:#fff;padding:16px 18px}
.drawer header h3{margin:0;font-size:1rem}
.drawer header p{margin:4px 0 0;font-size:.8rem;color:#CFE2F2}
.drawer .body{padding:16px 18px;overflow:auto;flex:1}
.drawer .close{position:absolute;top:12px;inset-inline-start:12px;background:rgba(255,255,255,.18);border:none;color:#fff;
  width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem}
.backdrop{position:fixed;inset:0;background:rgba(12,32,50,.45);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:55}
.backdrop.show{opacity:1;pointer-events:auto}
/* stepper / journey */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh);
  transition:transform .2s ease,box-shadow .2s ease}
.step:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.step .no{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--sky);color:var(--navy);
  align-items:center;justify-content:center;font-weight:700;font-size:.85rem;margin-bottom:8px}
.step h4{margin:0 0 6px;font-size:.92rem;color:var(--navy)}
.step ul{margin:6px 0 0;padding-inline-start:18px;font-size:.8rem;color:var(--ink-2)}
.step .own{margin-top:8px;font-size:.75rem;color:var(--muted)}
.step .st{position:absolute;top:14px;inset-inline-start:14px}
/* toast */
.toast{position:fixed;bottom:22px;inset-inline-start:22px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;
  font-size:.85rem;box-shadow:var(--sh-2);opacity:0;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease;z-index:80}
.toast.show{opacity:1;transform:none}
/* skeleton */
.skeleton{position:fixed;inset:0;background:var(--bg);z-index:90;display:grid;place-items:center}
.skeleton.hide{display:none}
.sk{width:min(760px,88vw);display:grid;gap:12px}
.sk i{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,#E4ECF3,#F4F7FA,#E4ECF3);
  background-size:200% 100%;animation:sh 1.2s linear infinite}
.sk i:nth-child(1){height:30px;width:52%}
.sk i:nth-child(4){height:74px}
@keyframes sh{from{background-position:200% 0}to{background-position:-200% 0}}
footer{border-top:1px solid var(--line);background:var(--card);padding:20px}
footer .wrap{max-width:1280px;margin:0 auto;padding:0 20px;font-size:.78rem;color:var(--muted)}
footer h5{margin:0 0 6px;font-size:.84rem;color:var(--navy)}
footer ul{margin:6px 0 0;padding-inline-start:18px}
.hide{display:none!important}
@media(max-width:640px){
  .bar-row{grid-template-columns:1fr;gap:4px}
  .val-2{text-align:start}
  .tab{padding:9px 13px;font-size:.84rem}
}

/* ===== الهوية والشعار ===== */
.brand-main{display:flex;align-items:center;gap:16px;min-width:0}
.brand-txt{min-width:0}
.brand-logo{display:flex;align-items:center;justify-content:center;flex:none;margin:0}
.brand-logo[hidden]{display:none}
.brand-logo img{height:var(--logo-h,52px);width:auto;max-width:230px;object-fit:contain;display:block}
.brand-logo.chip img{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.5);border-radius:10px;padding:5px 8px}
/* ===== صفحة المظهر والألوان ===== */
.pals{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px}
.pal{display:flex;flex-direction:column;gap:3px;align-items:stretch;text-align:start;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.pal:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.pal.on{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,178,.18)}
.pal b{font-size:.85rem;color:var(--navy)}
.pal em{font-size:.72rem;color:var(--muted);font-style:normal}
.pal .dots{display:flex;gap:5px;margin-bottom:6px}
.pal .dots i{width:16px;height:16px;border-radius:5px;border:1px solid rgba(0,0,0,.12)}
.seg{display:inline-flex;background:var(--sky);border:1px solid var(--line);border-radius:10px;padding:3px;gap:3px}
.seg button{border:none;background:transparent;color:var(--ink-2);font-size:.83rem;font-weight:600;
  padding:7px 16px;border-radius:8px;cursor:pointer;transition:background .16s ease,color .16s ease}
.seg button.on{background:var(--card);color:var(--navy);box-shadow:var(--sh)}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px;margin-top:4px}
.cgroup{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:12px 0 0;font-size:.78rem;font-weight:700;
  color:var(--muted);letter-spacing:.2px}
.cgroup:first-child{margin-top:2px}
.cgroup:after{content:"";flex:1;height:1px;background:var(--line)}
.shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sbtn{border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);border-radius:999px;padding:5px 11px;
  font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .18s,box-shadow .18s}
.sbtn:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.sbtn.on{border-color:var(--blue);color:var(--navy);background:var(--sky)}
.io{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;background:var(--sky)}
.io textarea{width:100%;min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;
  direction:ltr;text-align:left;border:1px solid var(--line-2);border-radius:8px;padding:9px;background:var(--card);color:var(--ink)}
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:2px 0 4px}
.flow div{border:1px solid var(--line);background:var(--sky);border-radius:var(--r-sm);padding:11px 12px}
.flow b{display:block;font-size:.82rem;color:var(--navy);margin-bottom:3px}
.flow span{font-size:.74rem;color:var(--muted)}
.cfield{display:grid;grid-template-columns:1fr 44px 92px auto;gap:9px;align-items:center;
  background:var(--sky);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px}
.cfield .cinfo{min-width:0}
.cfield .cinfo b{display:block;font-size:.83rem;color:var(--navy)}
.cfield .cinfo span{font-size:.72rem;color:var(--muted)}
.cfield input[type=color]{width:44px;height:32px;padding:2px;border:1px solid var(--line-2);border-radius:8px;
  background:var(--card);cursor:pointer}
.cfield input.hex{width:92px;padding:7px 9px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);
  color:var(--ink);font-size:.8rem;font-family:ui-monospace,Menlo,Consolas,monospace;text-align:center;direction:ltr}
.btn.xs{padding:6px 10px;font-size:.75rem}
.logo-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.logo-slot{display:flex;align-items:center;justify-content:center;min-height:96px;border:1px dashed var(--line-2);
  border-radius:var(--r-sm);background:var(--sky);padding:12px}
.logo-slot img{max-height:82px;max-width:100%;object-fit:contain}
.switch{display:flex;align-items:center;gap:9px;font-size:.85rem;color:var(--ink-2);margin:0 0 9px}
.switch input{width:18px;height:18px;accent-color:var(--blue);cursor:pointer}
.preview{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.preview .ph{background:linear-gradient(135deg,var(--navy) 0%,var(--blue-600) 100%);color:#fff;padding:14px 16px}
.preview .ph b{display:block;font-size:.92rem}
.preview .ph span{font-size:.74rem;color:rgba(255,255,255,.82)}
.preview .pb{background:var(--bg);padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mini{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.78rem;color:var(--ink-2)}
.mini b{color:var(--navy)}
.thm-tip{font-size:.76rem;color:var(--muted);margin-top:10px}

/* ===== الوضع الداكن ===== */
html[data-scheme="dark"]{
  --bg:#0F1A24; --card:#16232F; --sky:#1D2C3A; --line:#26374A; --line-2:#33475C;
  --ink:#E8EFF5; --ink-2:#C3D0DC; --muted:#95A6B6; --muted-2:#7B8C9C;
}
html[data-surface="dark"]{--sh:0 6px 20px rgba(0,0,0,.34);--sh-2:0 12px 32px rgba(0,0,0,.46)}
html[data-surface="dark"] .app-header{background:linear-gradient(135deg,#0B141C 0%,var(--navy-2) 100%)}
html[data-surface="dark"] tbody tr:hover{background:#1B2938}
html[data-surface="dark"] tfoot td{background:#1B2938}
html[data-surface="dark"] .donut{background:conic-gradient(var(--blue) 0 var(--pct,#60.9%), #22323F 0)}
html[data-surface="dark"] .donut .hole b{color:var(--blue)}
html[data-surface="dark"] .stacked .s2{background:#2A3B4C;color:#C3D0DC}
html[data-surface="dark"] .scale .cur{background:#2C4256}
html[data-surface="dark"] .heat .g0{background:#1B2938;color:#7B8C9C}
html[data-surface="dark"] .heat .g1{background:#1E3A52}
html[data-surface="dark"] .heat .g2{background:#4A3A16}
html[data-surface="dark"] .heat .g3{background:#5B2620;color:#F3C9CE}
html[data-surface="dark"] .chip.ok{background:#12301F;border-color:#1E5334;color:#7BD3A0}
html[data-surface="dark"] .chip.warn{background:#372807;border-color:#5C4A16;color:#EFD08F}
html[data-surface="dark"] .chip.danger{background:#3A161B;border-color:#6B2A32;color:#F0A9B1}
html[data-surface="dark"] .chip.no{background:#1E2C39;border-color:#33475C;color:#A9B8C6}
html[data-surface="dark"] .chip.p1{background:#152838;border-color:#24506E;color:#A8CDEA}
html[data-surface="dark"] .alert.info{background:#152838;border-color:#24506E;color:#A8CDEA}
html[data-surface="dark"] .alert.warn{background:#33280F;border-color:#5C4A16;color:#EBD59A}
html[data-surface="dark"] .field select,html[data-surface="dark"] .field input{color-scheme:dark}
html[data-surface="dark"] .btn:hover{background:#1D2C3A}
html[data-surface="dark"] .sk i{background:linear-gradient(90deg,#1E2C39,#26374A,#1E2C39);background-size:200% 100%}
html[data-surface="dark"] .preview .ph{background:linear-gradient(135deg,#0B141C 0%,var(--navy-2) 100%)}
html[data-surface="dark"] .drawer{box-shadow:-14px 0 40px rgba(0,0,0,.55)}
@media print{html[data-surface="dark"]{--bg:#fff;--card:#fff;--ink:#000}}

/* شريط التقارير الجاهزة للإرسال */
.xbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;background:linear-gradient(90deg,var(--navy),var(--navy-2));
border-radius:var(--r);padding:14px 16px;margin:0 0 18px;color:#fff;box-shadow:var(--sh)}
.xbar-t b{display:block;font-size:.93rem;margin-bottom:3px}
.xbar-t span{font-size:.78rem;opacity:.88;line-height:1.65;display:block;max-width:64ch}
.xbar-b{display:flex;flex-wrap:wrap;gap:8px}
.xbar-b .btn{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.38);color:#fff}
.xbar-b .btn:hover{background:rgba(255,255,255,.20)}
.xbar-b .btn.primary{background:#fff;border-color:#fff;color:var(--navy)}
.xbar-b .btn.primary:hover{background:#EAF2F9}
.badges .btn.xs{background:var(--card);color:var(--navy);border-color:var(--line-2)}
@media print{.xbar{display:none}}
