:root{--ink:#12303a;--ink-2:#1d4552;--rust:#c2531b;--rust-soft:#f6e3d8;--bg:#f2f5f5;--surface:#fff;--surface-2:#f7f9f9;--line:#dbe3e4;--fg:#16262b;--muted:#5d7076;--ok:#1f7a4d;--ok-soft:#dcefe4;--warn:#a86a00;--warn-soft:#fbedd0;--bad:#b3261e;--bad-soft:#f8dcd9;--info:#22608a;--info-soft:#dce9f3;--rail-fg:#cfe0e3;--font:"IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#0a1a1f;--ink-2:#163640;--rust:#e2804c;--rust-soft:#3b2418;--bg:#0e1a1d;--surface:#152428;--surface-2:#1a2c31;--line:#2a3f45;--fg:#e2ecee;--muted:#93a8ad;--ok:#5cc28c;--ok-soft:#173326;--warn:#e3b04b;--warn-soft:#3a2d12;--bad:#f0857c;--bad-soft:#3d1c1a;--info:#78b4dc;--info-soft:#16303f;--rail-fg:#b8ccd0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ink:#0a1a1f;--ink-2:#163640;--rust:#e2804c;--rust-soft:#3b2418;--bg:#0e1a1d;--surface:#152428;--surface-2:#1a2c31;--line:#2a3f45;--fg:#e2ecee;--muted:#93a8ad;--ok:#5cc28c;--ok-soft:#173326;--warn:#e3b04b;--warn-soft:#3a2d12;--bad:#f0857c;--bad-soft:#3d1c1a;--info:#78b4dc;--info-soft:#16303f;--rail-fg:#b8ccd0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,[data-bs-theme]{--bs-body-font-family:var(--font);--bs-body-bg:var(--bg);--bs-body-color:var(--fg);--bs-border-color:var(--line);--bs-secondary-color:var(--muted);--bs-tertiary-bg:var(--surface-2);--bs-secondary-bg:var(--surface-2);--bs-emphasis-color:var(--fg);--bs-link-color:var(--info);--bs-link-hover-color:var(--rust);--bs-link-color-rgb:34, 96, 138;--bs-primary:var(--rust);--bs-card-bg:var(--surface)}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:1040;background:var(--surface);position:fixed;inset:0 0 auto}.btn-primary{--bs-btn-bg:var(--rust);--bs-btn-border-color:var(--rust);--bs-btn-hover-bg:#a8461a;--bs-btn-hover-border-color:#a8461a;--bs-btn-active-bg:#8f3c16;--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-disabled-bg:var(--rust);--bs-btn-disabled-border-color:var(--rust)}.btn-outline-primary{--bs-btn-color:var(--rust);--bs-btn-border-color:var(--rust);--bs-btn-hover-bg:var(--rust);--bs-btn-hover-border-color:var(--rust);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--rust)}.btn-light{--bs-btn-bg:var(--surface-2);--bs-btn-border-color:var(--line);--bs-btn-color:var(--fg);--bs-btn-hover-bg:var(--line);--bs-btn-hover-color:var(--fg)}.form-control,.form-select{background-color:var(--surface);border-color:var(--line);color:var(--fg)}.form-control:focus,.form-select:focus,.btn:focus-visible,a:focus-visible{border-color:var(--rust);box-shadow:0 0 0 .2rem color-mix(in srgb, var(--rust) 25%, transparent);outline:none}.form-check-input:checked{background-color:var(--rust);border-color:var(--rust)}.table{--bs-table-bg:transparent;--bs-table-color:var(--fg);--bs-table-border-color:var(--line);--bs-table-hover-bg:var(--surface-2);--bs-table-hover-color:var(--fg);margin:0}.table>thead th{color:var(--muted);letter-spacing:.02em;white-space:nowrap;background:var(--surface-2);font-size:12px;font-weight:600}.modal-content,.offcanvas,.dropdown-menu{background:var(--surface);color:var(--fg);border-color:var(--line)}.dropdown-item{color:var(--fg)}.dropdown-item:hover{background:var(--surface-2);color:var(--fg)}.nav-tabs{--bs-nav-tabs-border-color:var(--line);--bs-nav-tabs-link-active-bg:var(--surface);--bs-nav-tabs-link-active-color:var(--fg);--bs-nav-tabs-link-active-border-color:var(--line) var(--line) var(--surface)}.nav-tabs .nav-link{color:var(--muted);white-space:nowrap}.nav-tabs{scrollbar-width:thin;flex-wrap:nowrap;overflow:auto hidden}.progress{background:var(--surface-2)}.progress-bar{background:var(--rust)}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--ink);color:var(--rail-fg);flex-direction:column;height:100vh;padding-block:16px;display:flex;position:sticky;top:0;overflow-y:auto}.rail .brand{color:#fff;align-items:center;gap:10px;padding:4px 18px 18px;font-size:15px;font-weight:700;display:flex}.brand-mark{background:var(--rust);width:30px;height:30px;font-family:var(--mono);color:#fff;border-radius:6px;flex:none;place-items:center;font-size:12px;display:grid}.rail .group{letter-spacing:.08em;text-transform:uppercase;opacity:.6;padding:14px 18px 6px;font-size:11px}.rail a{color:var(--rail-fg);border-inline-start:3px solid #0000;align-items:center;gap:10px;padding:8px 18px;text-decoration:none;display:flex}.rail a:hover{background:var(--ink-2);color:#fff}.rail a.active{background:var(--ink-2);color:#fff;border-inline-start-color:var(--rust)}.rail a .count{font-family:var(--mono);background:#ffffff1f;border-radius:10px;margin-inline-start:auto;padding:1px 7px;font-size:11px}.rail .foot{opacity:.7;margin-top:auto;padding:16px 18px 0;font-size:12px}.ico{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.topbar{top:env(safe-area-inset-top,0px);z-index:1030;background:var(--surface);border-bottom:1px solid var(--line);padding-block:10px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:sticky}.topbar .search{flex:220px;min-width:0;max-width:420px}.topbar .spacer{flex:1}.demo-banner{background:var(--warn-soft);color:var(--warn);text-align:center;border-bottom:1px solid var(--line);padding:5px 16px;font-size:12px}.main{padding-block:20px 48px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));min-width:0}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.page-head h1{color:var(--fg);text-wrap:balance;margin:0;font-size:22px;font-weight:700}.page-head .sub{color:var(--muted);margin-top:2px;font-size:13px}.menu-btn{display:none}@media (width<=991.98px){.shell{grid-template-columns:minmax(0,1fr)}.rail{z-index:1050;width:260px;padding-top:calc(16px + env(safe-area-inset-top,0px));transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-105%)}[dir=rtl] .rail{transform:translate(105%)}.rail.open{transform:none!important}.menu-btn{display:inline-flex}.scrim{z-index:1045;background:#00000059;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){.rail{transition:none}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0}.panel-h{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.panel-h h2,.panel-h h3{margin:0;font-size:14px;font-weight:600}.panel-b{padding:16px}.panel-b.flush{padding:0}.tbl-wrap{overflow-x:auto}.grid{gap:16px;display:grid}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (width<=1100px){.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.g-2,.g-3,.g-4{grid-template-columns:minmax(0,1fr)}}.kpi{padding:14px 16px}.kpi .lbl{color:var(--muted);font-size:12px}.kpi .val{font-variant-numeric:tabular-nums;margin-top:2px;font-size:24px;font-weight:700}.kpi .note{color:var(--muted);margin-top:4px;font-size:12px}.num,.mono{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);white-space:nowrap;font-size:12.5px}.muted{color:var(--muted)}.small-label{color:var(--muted);font-size:12px}.ltr{direction:ltr;unicode-bidi:isolate}.pill{white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:20px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.pill.info{background:var(--info-soft);color:var(--info);border-color:#0000}.pill.rust{background:var(--rust-soft);color:var(--rust);border-color:#0000}.pill.ai:before{content:"AI";font-family:var(--mono);font-size:10px;font-weight:700}.stage-chip{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.stage-chip b{font-family:var(--mono);background:var(--ink-2);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.stepper{grid-template-columns:repeat(7,minmax(92px,1fr));gap:4px;display:grid;overflow-x:auto}.step{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;min-width:0;padding:10px 10px 9px}.step .n{font-family:var(--mono);color:var(--muted);font-size:11px}.step .t{margin-top:2px;font-size:12.5px;font-weight:600;line-height:1.3}.step .o{color:var(--muted);margin-top:3px;font-size:11px}.step.done{background:var(--ok-soft);border-color:#0000}.step.done .n{color:var(--ok)}.step.current{background:var(--rust-soft);border-color:var(--rust)}.step.current .n{color:var(--rust)}.check-item{border-bottom:1px dashed var(--line);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.check-item:last-child{border-bottom:0}.check-item .form-check-input{flex:none;margin-top:3px}.check-item .req{color:var(--rust);margin-inline-start:4px;font-weight:700}.check-item .who{color:var(--muted);font-size:11px}.gate-box{border-radius:6px;padding:10px 12px;font-size:13px}.gate-box.bad{background:var(--bad-soft);color:var(--bad)}.gate-box.ok{background:var(--ok-soft);color:var(--ok)}.gate-box ul{margin:6px 0 0;padding-inline-start:18px}.dl{grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:7px 14px;margin:0;font-size:13px;display:grid}.dl dt{color:var(--muted);font-weight:400}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.locked{color:var(--muted);font-size:12px;font-style:italic}.btn.ai-field{box-shadow:0 0 0 2px var(--info)}.form-control.ai-field,.form-select.ai-field{background:color-mix(in srgb, var(--info) 10%, var(--surface))!important;border-color:var(--info)!important}.ai-box{border:1px solid var(--info);background:var(--info-soft);border-radius:8px;padding:12px 14px}.ai-box h4{color:var(--info);margin:0 0 6px;font-size:13px;font-weight:600}.sev{border-radius:2px;flex:none;align-self:stretch;width:4px;display:inline-block}.sev.blocker{background:var(--bad)}.sev.warning{background:var(--warn)}.sev.info{background:var(--info)}.issue{border-bottom:1px solid var(--line);gap:10px;padding:10px 0;display:flex}.issue:last-child{border-bottom:0}.rank-badge{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.rank-badge.first{background:var(--rust);color:#fff;border-color:var(--rust)}.pipe-row{grid-template-columns:minmax(120px,190px) minmax(0,1fr) 40px;align-items:center;gap:10px;padding:6px 0;font-size:13px;display:grid}.pipe-bar{background:var(--surface-2);border-radius:3px;height:14px;overflow:hidden}.pipe-bar span{background:var(--ink-2);border-radius:3px;height:100%;display:block}[data-bs-theme=dark] .pipe-bar span{background:var(--rust)}.pipe-row .c{font-family:var(--mono);text-align:end}.svc-grid{flex-wrap:wrap;gap:8px;display:flex}.svc-grid .btn-check+label{font-size:13px}.row-line{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-items:end;gap:8px;margin-bottom:8px;padding:10px;display:grid}.form-section{border-bottom:1px solid var(--line);padding:16px}.form-section:last-child{border-bottom:0}.form-section>h3{align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.form-section>h3 .idx{font-family:var(--mono);color:var(--rust);font-size:11px}.form-label{color:var(--muted);margin-bottom:4px;font-size:12.5px}.problems{top:calc(72px + env(safe-area-inset-top,0px));position:sticky}.paper{color:#1a1a1a;border:1px solid var(--line);background:#fff;border-radius:4px;max-width:860px;margin-inline:auto;padding:32px}.paper .t{color:#12303a}.paper table{border-collapse:collapse;width:100%;font-size:13px}.paper th,.paper td{text-align:start;border-bottom:1px solid #e3e3e3;padding:7px 6px}.paper th{background:#f3f5f5;font-weight:600}.paper .bank{border:1px solid #d5d5d5;border-radius:4px;padding:10px 12px;font-size:12.5px}.words{background:#f6f3ef;border-radius:4px;padding:8px 12px;font-size:13px}.tl-item{gap:10px;padding:8px 0;font-size:13px;display:flex}.tl-dot{background:var(--rust);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.avatar{width:28px;height:28px;font-size:11px;font-weight:700;font-family:var(--mono);background:var(--ink-2);color:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.mention{color:var(--info);font-weight:600}.notif{border-bottom:1px solid var(--line);gap:10px;padding:12px 16px;display:flex}.notif.unread{background:var(--surface-2)}.bell{position:relative}.bell .dot{top:4px;background:var(--rust);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:grid;position:absolute;inset-inline-end:4px}.login-wrap{min-height:100vh;padding-block:24px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));background:var(--ink);place-items:center;display:grid}.login-card{background:var(--surface);border-radius:10px;width:100%;max-width:400px;padding:28px}.login-card h1{font-size:20px;font-weight:700}.toast-area{bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1090;flex-direction:column;gap:8px;display:flex;position:fixed;inset-inline-end:max(16px, env(safe-area-inset-right,0px))}.toast-msg{background:var(--ink);color:#fff;border-radius:6px;max-width:340px;padding:10px 14px;font-size:13px;box-shadow:0 4px 16px #0003}.toast-msg.bad{background:var(--bad)}.empty{text-align:center;color:var(--muted);padding:32px 16px}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters .form-select,.filters .form-control{width:auto;min-width:0;max-width:100%}a.row-link{color:inherit;font-weight:600;text-decoration:none}a.row-link:hover{color:var(--rust)}.split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.table td.route{min-width:150px}.table td.svc{min-width:120px}.table td.client-cell{min-width:130px}.alert-flash{border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.alert-flash.ok{background:var(--ok-soft);color:var(--ok)}.alert-flash.bad{background:var(--bad-soft);color:var(--bad)}.alert-flash ul{margin:4px 0 0;padding-inline-start:18px}.staging-banner{background:var(--bad);color:#fff;text-align:center;letter-spacing:.04em;padding:4px 16px;font-size:12px;font-weight:600}.waiting-wrap{background:var(--ink);min-height:100vh;padding-block:24px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));place-items:center;display:grid}.pagination{--bs-pagination-color:var(--fg);--bs-pagination-bg:var(--surface);--bs-pagination-border-color:var(--line);--bs-pagination-active-bg:var(--rust);--bs-pagination-active-border-color:var(--rust);margin:0}.ai-run-status{font-size:13px}.cost-row{border-bottom:1px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-items:end;gap:8px;padding:8px 0;display:grid}.inline-form{display:inline}.text-pre{white-space:pre-wrap}.grid>*,.stack>*,.panel,.panel-b{min-width:0}.tbl-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.tbl-wrap>.table{min-width:max-content}.tab-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;overflow-x:auto}.tab-scroll .nav-tabs{flex-wrap:nowrap;min-width:max-content}.tab-scroll .nav-link{white-space:nowrap;scroll-snap-align:start}@media (width<=720px){.col-opt{display:none}.table td,.table th{padding:.45rem .5rem}.page-head{flex-wrap:wrap;gap:.5rem}.filters{flex-wrap:wrap}.modal-dialog{margin:.5rem}}
