:root{--bg:#F5F6F3;--surface:#FFFFFF;--surface-2:#ECEFEA;--fg:#18211D;--muted:#5A675F;--line:#D5DBD5;--accent:#0B6B4F;--accent-soft:#E1F0E9;--accent-ink:#064A37;--warn:#8E5400;--warn-soft:#FBEBD2;--crit:#A1341F;--crit-soft:#F8E1DB;--info:#2A5A8C;--info-soft:#E1EAF4;--display:"Noto Kufi Arabic","IBM Plex Sans Arabic",system-ui,sans-serif;--body:"IBM Plex Sans Arabic","Segoe UI",Tahoma,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111715;--surface:#192019;--surface-2:#1F2824;--fg:#E6ECE8;--muted:#9DAAA3;--line:#2B3531;--accent:#5BC79E;--accent-soft:#1B3A2F;--accent-ink:#A9E7CF;--warn:#E3A84F;--warn-soft:#3A2D14;--crit:#E57F6A;--crit-soft:#40231E;--info:#7FB0E0;--info-soft:#1C2E40;color-scheme:dark}}:root[data-theme=dark]{--bg:#111715;--surface:#192019;--surface-2:#1F2824;--fg:#E6ECE8;--muted:#9DAAA3;--line:#2B3531;--accent:#5BC79E;--accent-soft:#1B3A2F;--accent-ink:#A9E7CF;--warn:#E3A84F;--warn-soft:#3A2D14;--crit:#E57F6A;--crit-soft:#40231E;--info:#7FB0E0;--info-soft:#1C2E40;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--display);margin:0 0 .5rem;line-height:1.3}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem;color:var(--accent-ink)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}@media (max-width:860px){.shell{grid-template-columns:1fr}}.side{background:var(--surface);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:6px}.side .brand{font-family:var(--display);font-weight:700;color:var(--accent-ink);margin-bottom:10px}.side a{display:block;padding:7px 10px;border-radius:8px;color:var(--fg)}.side a.active,.side a:hover{background:var(--accent-soft);text-decoration:none}.main{padding:20px 24px;min-width:0;max-width:1200px}.topbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi b{display:block;font-family:var(--mono);direction:ltr;font-size:1.4rem;color:var(--accent-ink)}.kpi span{color:var(--muted);font-size:.85rem}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}th{background:var(--surface-2);font-size:.8rem}td.n,th,th.n{white-space:nowrap}td.n,th.n{text-align:end;font-family:var(--mono);direction:ltr;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.btn,button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:7px 14px;border-radius:8px;cursor:pointer}.btn.ghost,button.ghost{background:transparent;color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.danger{background:var(--crit);border-color:var(--crit);color:#fff}button.ghost.danger{background:transparent;color:var(--crit)}input,select,textarea{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);width:100%}label{grid-gap:4px;gap:4px;font-size:.85rem;color:var(--muted)}.row,label{display:grid}.row{grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;margin-bottom:10px}.pill{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.pill.ok{background:var(--accent-soft);color:var(--accent-ink)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}.pill.info{background:var(--info-soft);color:var(--info)}.alert{padding:10px 14px;border-radius:8px;background:var(--crit-soft);color:var(--crit);margin-bottom:12px}.alert.ok{background:var(--accent-soft);color:var(--accent-ink)}.muted{color:var(--muted)}.mono{font-family:var(--mono);unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.mono,pre{direction:ltr}pre{background:var(--surface-2);padding:10px;border-radius:8px;overflow:auto;text-align:left;font-size:.8rem}.login{max-width:420px;margin:8vh auto;padding:0 16px}.drawer-btn{position:fixed;inset-block-end:18px;inset-inline-end:18px;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.2);z-index:20}.drawer{position:fixed;inset-block:0;inset-inline-end:0;width:min(420px,100vw);background:var(--surface);-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line);display:flex;flex-direction:column;z-index:30;box-shadow:0 0 24px rgba(0,0,0,.18)}.drawer header{justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.drawer .msgs,.drawer header{display:flex;gap:8px;padding:12px 14px}.drawer .msgs{flex:1 1;overflow:auto;flex-direction:column}.msg{padding:8px 12px;border-radius:10px;max-width:92%;white-space:pre-wrap;font-size:.9rem}.msg.me{background:var(--accent-soft);align-self:flex-start}.msg.bot{background:var(--surface-2);align-self:flex-end}[dir=rtl] .msg.me{align-self:flex-start}.drawer footer{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.steps{display:grid;grid-gap:8px;gap:8px}.step{display:grid;grid-template-columns:32px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.step .num{width:28px;height:28px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-family:var(--mono);font-size:.8rem}.step.done .num{background:var(--accent);color:#fff}.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-block:6px 14px}.bar i{display:block;height:100%;background:var(--accent)}.flow{display:grid;grid-gap:6px;gap:6px}.flow .node{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font-size:.85rem}.flow .node b{font-family:var(--mono);font-size:.78rem}.tree ul{list-style:none;margin:0;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line)}.tree li{padding:4px 0}.side{overflow-y:auto;max-height:100vh;position:-webkit-sticky;position:sticky;top:0}.side a{padding:4px 10px;font-size:.88rem}.navgroup{font-size:.72rem;color:var(--muted);margin:10px 10px 2px;font-weight:600}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px;border-bottom:1px solid var(--line)}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:6px 12px}.tabs button.on{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}tr.sum td{font-weight:700;background:var(--surface-2)}tr.l1 td{font-weight:600}@media print{.drawer-btn,.noprint,.side,.tabs,.topbar{display:none!important}.shell{display:block}}