.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--bg: #f2f6f8;--card: #fff;--card2: #f8fafc;--text: #0f172a;--muted: #64748b;--line: #e2e8f0;--grid: #e2e8f0;--acc: #0899c9;--navy: #16324f;--cyan: #29abe2;--ok: #16a34a;--warn: #d97706;--bad: #dc2626;--info: #0284c7;--shadow: 0 1px 3px rgba(15, 23, 42, .08)}[data-theme=dark]{--bg: #0b1220;--card: #131c31;--card2: #0f172a;--text: #e2e8f0;--muted: #94a3b8;--line: #243247;--grid: #243247;--acc: #29abe2;--shadow: 0 1px 3px rgba(0, 0, 0, .5)}*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans Arabic,sans-serif;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}select,input,textarea{background:var(--card2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 9px;inline-size:100%}input[type=checkbox],input[type=radio]{inline-size:auto}input:focus,select:focus,button:focus-visible{outline:2px solid var(--acc);outline-offset:1px}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched{border-color:var(--bad)}.app{display:grid;grid-template-columns:264px 1fr;min-block-size:100vh}.sidebar{background:var(--card);border-inline-end:1px solid var(--line);padding:14px;position:sticky;inset-block-start:0;block-size:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.brand{display:flex;gap:10px;align-items:center;padding:6px 4px}.logoalt{font-weight:800;font-size:18px;color:var(--navy)}.side-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 4px 2px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;gap:9px;align-items:center;color:var(--text);padding:8px 10px;border-radius:8px;text-align:start;text-decoration:none}.nav a:hover{background:var(--card2)}.nav a.on{background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc);font-weight:600}.nav .ico{inline-size:20px;text-align:center}.side-foot{margin-block-start:auto;font-size:12px;color:var(--muted);border-block-start:1px solid var(--line);padding-block-start:10px}.collapseBtn{background:none;border:1px solid var(--line);border-radius:8px;padding:6px;color:var(--muted);align-self:flex-end}.sidebar.collapsed{inline-size:60px;padding:14px 8px}.sidebar.collapsed .side-label,.sidebar.collapsed .logoalt,.sidebar.collapsed .side-foot,.sidebar.collapsed .nav .lbl{display:none}.sidebar.collapsed .nav a{justify-content:center;padding:10px 4px}.main{min-inline-size:0}.topbar{position:sticky;inset-block-start:0;z-index:30;display:flex;align-items:center;gap:8px;padding:10px 18px;background:color-mix(in srgb,var(--card) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-block-end:1px solid var(--line)}.topbar h2{font-size:15px;margin:0;flex:1;min-inline-size:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbtn{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 10px;color:var(--text);position:relative}.tbtn:hover{border-color:var(--acc)}.sitefilter{inline-size:150px;min-inline-size:0;font-size:12px;padding:5px 6px;border-radius:8px}.usermenu{display:flex;gap:6px;align-items:center;font-size:12px}main{padding:18px;display:flex;flex-direction:column;gap:16px}.center-page{min-block-size:100vh;display:grid;place-items:center}.mobile-only{display:none}@media(max-width:1100px){.g4,.g3{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;inset-inline-start:-280px;inline-size:264px;transition:inset-inline-start .25s;z-index:70}.sidebar.open{inset-inline-start:0}.g2,.g3,.g4{grid-template-columns:1fr}.heat{grid-template-columns:repeat(3,1fr)}.mobile-only{display:inline-block}}@media print{.sidebar,.topbar,.noprint,.toasts,.panel{display:none!important}main{padding:0}.card{box-shadow:none;break-inside:avoid}}.print-brand{display:none}@media print{body.print-one .rep-card:not(.print-me),body.print-one .rep-intro,body.print-one .rep-form-card{display:none!important}body.print-one .print-me .print-brand{display:block;font-weight:700;margin-bottom:8px}}.sim-out{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.sim-out .cell{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}.sim-out .v{font-size:18px;font-weight:800}.highlights{list-style:none;padding:0;margin:6px 0 10px;display:grid;gap:4px}.highlight.bad{color:var(--bad)}.highlight.warn{color:var(--warn)}.highlight.ok{color:var(--ok)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px}.card h3{margin:0 0 10px;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sp{flex:1}.hint{color:var(--muted);font-size:12px}.kpi{display:flex;flex-direction:column;gap:4px}.kpi-l{font-size:12px;color:var(--muted)}.kpi-v{font-size:24px;font-weight:700;letter-spacing:-.02em}.delta{font-size:12px;font-weight:600}.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}.delta.warn{color:var(--warn)}.delta.flat{color:var(--muted)}.chart{inline-size:100%;block-size:220px}.chart.sm{block-size:170px}.chip{display:inline-block;border-radius:99px;padding:2px 9px;font-size:11px;font-weight:700;white-space:nowrap}.chip.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.chip.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.chip.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.chip.info{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info)}.chip.mut{background:var(--card2);color:var(--muted);border:1px solid var(--line)}.alert{border:1px solid var(--line);border-inline-start-width:4px;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:var(--card2)}.alert.critical{border-inline-start-color:var(--bad)}.alert.warning{border-inline-start-color:var(--warn)}.alert.info{border-inline-start-color:var(--info)}.act{display:flex;gap:6px;flex-wrap:wrap}.abtn{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-size:12px;color:var(--text)}.abtn:hover:not(:disabled){border-color:var(--acc);color:var(--acc)}.abtn.pri{background:var(--acc);border-color:var(--acc);color:#fff}.abtn.on{border-color:var(--acc);color:var(--acc);font-weight:700}.ibtn{background:none;border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:12px;color:var(--muted);margin-inline-end:3px}.ibtn:hover{border-color:var(--acc);color:var(--acc)}.tblwrap{overflow:auto;max-block-size:360px}table.tbl{inline-size:100%;border-collapse:collapse;font-size:13px}.tbl th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:start;padding:7px 8px;border-block-end:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;position:sticky;inset-block-start:0;background:var(--card)}.tbl td{padding:7px 8px;border-block-end:1px solid var(--line);vertical-align:top}.tbl tr:hover td{background:var(--card2)}.tbl tr.sel td{background:color-mix(in srgb,var(--acc) 10%,transparent)}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-block-start:6px}form.grid{gap:8px}.f-l{font-size:11px;color:var(--muted);margin-block-end:2px;display:block}.field-error{color:var(--bad);font-size:11px}.btn{background:var(--acc);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:600}.btn.danger{background:var(--bad)}.form-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.heat{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.heat .cell{border-radius:10px;padding:8px;color:#fff;font-size:12px;display:flex;flex-direction:column;gap:2px;cursor:pointer;border:0;text-align:start}.heat .cell.ok{background:var(--ok)}.heat .cell.warn{background:var(--warn)}.heat .cell.bad{background:var(--bad)}.heat .cell.sel{outline:3px solid var(--navy)}.panel{position:fixed;inset-block-start:56px;inset-inline-end:14px;inline-size:min(420px,94vw);max-block-size:80vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #00000040;z-index:60;padding:12px}.toasts{position:fixed;inset-block-end:16px;inset-inline-end:16px;display:flex;flex-direction:column;gap:8px;z-index:90}.toast{background:var(--navy);color:#fff;border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 8px 24px #0000004d;animation:tin .25s ease;display:flex;gap:10px;align-items:flex-start}.toast.error{background:var(--bad)}.toast.ok{background:var(--ok)}.toast.warn{background:var(--warn)}.toast button{background:none;border:0;color:inherit}@keyframes tin{0%{transform:translateY(8px);opacity:0}}.leg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;color:var(--muted);margin-block-start:8px}.accbox{display:flex;gap:6px;flex-wrap:wrap}.accbox label{cursor:pointer}.pcat{margin:12px 0 4px;font-size:12px;font-weight:700;color:var(--acc);text-transform:uppercase;letter-spacing:.05em}.tabs{display:flex;gap:6px}.dialog{background:var(--card);border-radius:14px;padding:18px;inline-size:min(480px,92vw)}.dialog h3{margin-block-start:0}.setlink p{margin-block:0 8px}.setlink-row{display:flex;gap:8px}.setlink-row input{flex:1;min-inline-size:0;font-family:ui-monospace,Consolas,monospace;font-size:12px}.pct{display:flex;align-items:center;gap:8px;min-inline-size:140px}.bar{flex:1;block-size:8px;border-radius:99px;background:var(--line);overflow:hidden}.bar>i{display:block;block-size:100%}.bell{position:relative}.bell .badge{position:absolute;inset-block-start:-4px;inset-inline-end:-4px;min-inline-size:18px;padding-inline:4px;border-radius:99px;background:var(--bad);color:#fff;font-size:11px;line-height:18px;text-align:center}.alerts-panel{position:absolute;inset-inline-end:12px;inset-block-start:calc(100% + 6px);inline-size:min(420px,92vw);max-block-size:70vh;overflow-y:auto;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 8px 24px #0000001f}.alerts-head{display:flex;align-items:center;gap:8px}.alert-row{display:flex;gap:8px;align-items:flex-start;padding-block:8px;border-block-start:1px solid var(--line)}.alert-row.acked{opacity:.65}.alert-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-inline-size:0}.linkish{background:none;border:0;padding:0;color:var(--acc);font-weight:600;text-align:start;cursor:pointer}.steps{display:grid;gap:4px;padding-inline-start:12px}.steps label{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.vet-hint{margin-block-start:4px;white-space:normal}.protocol-form{margin-block-start:12px}.protocol-form textarea{inline-size:100%}.card h3 .inline-select{inline-size:auto;min-inline-size:140px;font-weight:400}.pipelines{gap:12px}.stlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}.strow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--line);border-radius:10px}.strow .idx{inline-size:22px;block-size:22px;border-radius:99px;background:var(--card2);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.strow .nm{font-weight:600;min-inline-size:140px}.strow.done{opacity:.7}.strow.done .idx{background:var(--ok);color:#fff}.strow.cur{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 6%,transparent)}.strow.cur .idx{background:var(--acc);color:#fff}.strow .inline-select{inline-size:auto}.stage-editor{display:grid;gap:6px}.stage-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.stage-line input,.stage-line select{inline-size:auto;flex:1;min-inline-size:120px}.kpi .spark{display:block;width:100%;height:24px;margin-top:4px;color:var(--acc)}
