:root{--ink:#060b18;--navy:#0b1630;--navy2:#13234a;--panel:#0e1b38;--panel2:#16264a;--line:rgba(214,182,121,.28);--gold:#d6b679;--fg:#efe7d6;--muted:#a3adc2;--ok:#6fd39a;--warn:#f0b36a;--bad:#ef7b7b;
--ur:"Noto Naskh Arabic","Noto Sans Arabic",Tahoma,sans-serif;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace;--display:"Cormorant Garamond",Georgia,serif}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ink);color:var(--fg);font:15px/1.6 var(--ur)}
a{color:var(--gold)}
code,.mono{font-family:var(--mono);font-size:.85em}
[hidden]{display:none!important}
.muted{color:var(--muted)} .note{color:var(--muted);font-size:.85rem} .err{color:var(--bad)} .small{font-size:.85rem}
button,.btn,select,input,textarea{font:inherit;color:var(--fg);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 12px;min-height:38px}
button,.btn{cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
button:hover,.btn:hover{border-color:var(--gold)}
button.on{background:linear-gradient(180deg,rgba(214,182,121,.32),rgba(184,147,90,.16));border-color:var(--gold)}
button.primary{background:linear-gradient(180deg,#e2c68d,#b8935a);color:#1a1405;border-color:#e2c68d;font-weight:700}
button.danger{border-color:rgba(239,123,123,.6);color:#ffd2d2}
button:disabled{opacity:.5;cursor:default}
input,textarea,select{width:100%}
textarea{resize:vertical;min-height:70px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.center{min-height:100vh;display:grid;place-items:center;padding:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:0 0 14px}
.login{width:min(380px,100%);display:grid;gap:10px}
.login label{display:grid;gap:4px}
.logo{font-family:var(--display);font-weight:700;letter-spacing:.2em;color:var(--gold);direction:ltr;font-size:1.15rem}
h1,h2,h3{margin:0 0 10px;font-weight:700} h1{font-size:1.4rem} h2{font-size:1.15rem} h3{font-size:1rem}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(6,11,24,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brand{display:flex;gap:10px;align-items:center}
nav{display:flex;flex-wrap:wrap;gap:6px}
.who{display:flex;gap:8px;align-items:center}
main{max-width:1100px;margin:16px auto;padding:0 16px}
.banner{background:#4a3410;color:#ffe7b8;padding:8px 16px;font-size:.9rem}
.pill{font-size:.75rem;border-radius:99px;padding:2px 9px;border:1px solid var(--line);white-space:nowrap}
.pill.off{color:var(--muted)} .pill.ok{color:var(--ok);border-color:rgba(111,211,154,.5)}
.badge{background:var(--gold);color:#1a1405;border-radius:99px;padding:0 7px;font-size:.75rem}
.badge:empty{display:none}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.grow{flex:1}
.cmd{display:grid;gap:8px}
.reply{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--panel2);border-inline-start:4px solid var(--gold)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;align-items:end;margin:8px 0 14px}
.grid label{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}
.list{display:grid;gap:8px}
.item{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.item .meta{color:var(--muted);font-size:.82rem}
.item .row{justify-content:space-between}
.empty{color:var(--muted);padding:8px 0}
.steps{display:grid;gap:6px;margin-top:8px}
.step{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:.9rem}
.bar{grid-column:1/-1;height:6px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.bar i{display:block;height:100%;background:var(--gold);transition:width .4s}
.st{font-size:.75rem;border-radius:99px;padding:1px 9px;border:1px solid var(--line);white-space:nowrap}
.st.done,.st.approved,.st.completed{color:var(--ok);border-color:rgba(111,211,154,.5)}
.st.running,.st.active{color:#9cc7ff;border-color:rgba(156,199,255,.5)}
.st.needs_approval,.st.pending,.st.draft{color:var(--warn);border-color:rgba(240,179,106,.6)}
.st.failed,.st.blocked,.st.rejected{color:var(--bad);border-color:rgba(239,123,123,.6)}
.live{font-family:var(--mono);font-size:.7rem;color:#ff8a8a;border:1px solid rgba(255,138,138,.5);border-radius:6px;padding:0 5px;direction:ltr}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.kpi{background:var(--panel2);border-radius:12px;padding:10px 12px;border-top:3px solid var(--gold)}
.kpi b{display:block;font-size:1.3rem;font-family:var(--mono);direction:ltr;text-align:right}
table{width:100%;border-collapse:collapse;font-size:.85rem} td,th{padding:6px;border-bottom:1px solid var(--line);text-align:start}
iframe{width:100%;height:70vh;border:0;border-radius:10px;background:#fff}
.toast{position:fixed;bottom:16px;inset-inline:16px;margin:auto;max-width:520px;background:var(--panel2);border:1px solid var(--gold);border-radius:12px;padding:10px 14px;z-index:20}
.ltr{direction:ltr;unicode-bidi:isolate}
@media (max-width:640px){.top{padding:8px 10px}.who .muted{display:none}main{padding:0 10px}}
.row select,.row input{width:auto}
input[type=checkbox]{width:18px!important;height:18px;min-height:0;padding:0;accent-color:var(--gold)}
label.row{gap:6px;cursor:pointer}
.grid label.row{display:flex;align-items:center}
.grid label.row{flex-wrap:nowrap}

.logo{display:inline-flex;align-items:center;gap:8px}.logoimg{height:30px;width:auto;display:block}.logosub{font-family:var(--body,inherit);font-weight:600;letter-spacing:.04em;font-size:.72rem;color:#b8c2cf;border:1px solid #3a4352;border-radius:999px;padding:1px 8px}

/* ---------- themes (picked in the header, remembered per browser) ---------- */
html[data-theme="emerald"]{--ink:#0b1426;--navy:#0f1b33;--navy2:#16264a;--panel:#12203d;--panel2:#182a4d;--line:rgba(16,185,129,.28);--gold:#10b981;--fg:#eef2f7;--muted:#9fb0c8;--ok:#34d399;--warn:#f59e0b;--bad:#f87171}
html[data-theme="emerald"] button.primary{background:linear-gradient(180deg,#34d399,#10b981);color:#04261a;border-color:#34d399}
html[data-theme="emerald"] button.on{background:linear-gradient(180deg,rgba(16,185,129,.32),rgba(16,185,129,.14))}
html[data-theme="emerald"] .badge{background:#f59e0b;color:#261802}
html[data-theme="light"]{--ink:#f3f5f9;--navy:#ffffff;--navy2:#eef1f7;--panel:#ffffff;--panel2:#f5f7fb;--line:rgba(15,27,51,.14);--gold:#4f46e5;--fg:#111827;--muted:#5b6475;--ok:#059669;--warn:#d97706;--bad:#dc2626}
html[data-theme="light"] .top{background:rgba(255,255,255,.94)}
html[data-theme="light"] button.primary{background:#4f46e5;color:#fff;border-color:#4f46e5}
html[data-theme="light"] button.on{background:rgba(79,70,229,.12)}
html[data-theme="light"] .badge{background:#f59e0b;color:#fff}
html[data-theme="light"] .logoimg{filter:invert(1) brightness(.2)}
html[data-theme="light"] .bottomnav{background:rgba(255,255,255,.97)}
/* ---------- home ---------- */
.home-hello h1{font-size:1.5rem;margin:4px 0 0}
.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}
.hcard{all:unset;cursor:pointer;display:grid;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px 18px;transition:transform .15s,border-color .15s}
.hcard:hover,.hcard:focus-visible{transform:translateY(-2px);border-color:var(--gold)}
.hcard .hk{font-size:.9rem;color:var(--muted)} .hcard .hv{font-size:2.2rem;font-weight:700;line-height:1.1}
.hcard .hs{font-size:.82rem;color:var(--muted)} .hcard.alert{border-color:var(--warn)} .hcard.bad{border-color:var(--bad)}
.hcard .hv.hot{color:var(--warn)}
.quick{display:flex;flex-wrap:wrap;gap:8px} .quick button,.quick .btn{min-height:46px;padding:8px 16px;font-size:1rem}
/* ---------- mobile: bottom bar, bigger touch targets, top tabs in "مزید" ---------- */
.bottomnav{display:none}
@media (max-width:760px){
  body{padding-bottom:72px}
  .top nav#tabs{display:none;width:100%;order:9}
  .top nav#tabs.open{display:flex}
  .top .who #who{display:none}
  main{margin-top:10px}
  .bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(11,20,38,.97);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));backdrop-filter:blur(8px)}
  .bottomnav button{flex-direction:column;gap:0;border:0;background:none;min-height:56px;font-size:1.25rem;justify-content:center;position:relative;padding:4px}
  .bottomnav button span{font-size:.72rem}
  .bottomnav button.on{color:var(--gold)}
  .bottomnav .badge{position:absolute;top:2px;inset-inline-end:16%}
  button,select,input{min-height:44px}
  .home-cards{grid-template-columns:1fr 1fr}
  .hcard .hv{font-size:1.8rem}
}
:root[style*="--accent"] button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
/* custom palette (theme.js sets --ink --panel --gold --fg --on-accent; the rest is derived) */
html[data-theme="custom"]{--navy:var(--panel);--navy2:color-mix(in srgb,var(--panel) 88%,var(--fg));--panel2:color-mix(in srgb,var(--panel) 92%,var(--fg));--line:color-mix(in srgb,var(--gold) 32%,transparent);--muted:color-mix(in srgb,var(--fg) 60%,var(--ink));--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444}
html[data-theme="custom"] .top{background:color-mix(in srgb,var(--ink) 94%,transparent)}
html[data-theme="custom"] .bottomnav{background:color-mix(in srgb,var(--panel) 97%,transparent)}
html[data-theme="custom"] button.primary{background:var(--gold);color:var(--on-accent);border-color:var(--gold)}
html[data-theme="custom"] button.on{background:color-mix(in srgb,var(--gold) 18%,transparent);border-color:var(--gold)}
html[data-theme="custom"] .badge{background:#f59e0b;color:#1a1200}
html[data-theme="custom"][data-tone="light"] .logoimg{filter:invert(1) brightness(.2)}
html[data-theme="custom"][data-tone="light"] .hcard{box-shadow:0 1px 3px rgba(0,0,0,.06)}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatches button{padding:4px 10px 4px 4px;gap:8px;min-height:36px}
.swatches i{display:inline-flex;width:34px;height:26px;border-radius:7px;overflow:hidden;border:1px solid rgba(0,0,0,.15)}
.swatches i b{flex:1}
