:root{--ground: #f4f6fb;--surface: #ffffff;--surface-2: #f7f9fd;--line: #dde3ee;--line-strong: #c7d0e0;--ink: #10192b;--ink-2: #45516a;--ink-3: #6b7690;--azure: #2f6df0;--azure-soft: #e6eefe;--violet: #7c53e6;--violet-soft: #efe9fc;--good: #12a06a;--good-soft: #dcf3e9;--warn: #c9820a;--warn-soft: #fbeed2;--crit: #d83a55;--crit-soft: #fbe2e7;--shadow: 0 1px 2px rgba(16,25,43,.06), 0 12px 32px -12px rgba(16,25,43,.16);--radius: 14px;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--ground: #05080f;--surface: #0d1524;--surface-2: #111b2e;--line: #1e2a41;--line-strong: #2a3a58;--ink: #eef2fb;--ink-2: #aeb9d0;--ink-3: #7a879f;--azure: #4d8bff;--azure-soft: #12233f;--violet: #9a76f2;--violet-soft: #1d1a3a;--good: #37d39a;--good-soft: #0f2b26;--warn: #ffb648;--warn-soft: #2c2412;--crit: #ff6478;--crit-soft: #2e1620;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 14px 34px -14px rgba(0,0,0,.6)}}:root[data-theme=light]{--ground: #f4f6fb;--surface: #ffffff;--surface-2: #f7f9fd;--line: #dde3ee;--line-strong: #c7d0e0;--ink: #10192b;--ink-2: #45516a;--ink-3: #6b7690;--azure: #2f6df0;--azure-soft: #e6eefe;--violet: #7c53e6;--violet-soft: #efe9fc;--good: #12a06a;--good-soft: #dcf3e9;--warn: #c9820a;--warn-soft: #fbeed2;--crit: #d83a55;--crit-soft: #fbe2e7}:root[data-theme=dark]{--ground: #05080f;--surface: #0d1524;--surface-2: #111b2e;--line: #1e2a41;--line-strong: #2a3a58;--ink: #eef2fb;--ink-2: #aeb9d0;--ink-3: #7a879f;--azure: #4d8bff;--azure-soft: #12233f;--violet: #9a76f2;--violet-soft: #1d1a3a;--good: #37d39a;--good-soft: #0f2b26;--warn: #ffb648;--warn-soft: #2c2412;--crit: #ff6478;--crit-soft: #2e1620}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;text-wrap:balance}button{font-family:inherit;cursor:pointer}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono)}a{color:var(--azure)}.bx{max-width:1120px;margin:0 auto;padding:18px}.bx-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.bx-logo{display:flex;align-items:center;gap:11px}.bx-logo .name{font-size:18px;font-weight:800;letter-spacing:-.01em}.bx-logo .name small{display:block;color:var(--ink-3);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:1px}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 11px;font-size:11.5px;font-weight:650;color:var(--ink-2)}.led{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.led.good{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 22%,transparent)}.led.warn{background:var(--warn)}.led.off{background:var(--ink-3)}.led.violet{background:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 22%,transparent)}.btn{border:1px solid transparent;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px;color:var(--ink);background:var(--surface)}.btn.primary{background:linear-gradient(135deg,var(--azure),#3f6fe6);color:#fff;border:0}.btn.violet{background:linear-gradient(135deg,var(--violet),#6b45d6);color:#fff;border:0}.btn.ghost{background:var(--surface);border-color:var(--line-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--azure);outline-offset:2px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.tab{border:0;background:transparent;color:var(--ink-2);font-size:13.5px;font-weight:650;padding:11px 14px;border-radius:9px 9px 0 0;position:relative;white-space:nowrap}.tab .chip{margin-left:7px;background:var(--surface-2);color:var(--ink-3);font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 6px}.tab.active{color:var(--ink)}.tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2.5px;border-radius:3px;background:linear-gradient(90deg,var(--azure),var(--violet))}.tab.settings{margin-left:auto;color:var(--ink-3)}.tab.settings.active{color:var(--ink)}.tab:focus-visible{outline:2px solid var(--azure);outline-offset:-4px;border-radius:9px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.grid{display:grid;gap:14px}.head-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;flex-wrap:wrap}.head-row h3{font-size:17px;font-weight:750;letter-spacing:-.01em}.head-row p{color:var(--ink-2);font-size:13px;margin:3px 0 0;max-width:70ch;line-height:1.5}.switch{position:relative;width:42px;height:24px;flex:0 0 auto;display:inline-block}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--line-strong);transition:.2s}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0000004d}.switch input:checked+.track{background:linear-gradient(90deg,var(--azure),var(--violet))}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:2px solid var(--azure);outline-offset:2px}.stat{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}.stat.pass{color:var(--good);background:var(--good-soft)}.stat.fail{color:var(--crit);background:var(--crit-soft)}.stat.pend{color:var(--warn);background:var(--warn-soft)}.empty{padding:40px;text-align:center;color:var(--ink-3);font-size:13px}.note{color:var(--ink-3);font-size:12px;margin-top:14px;line-height:1.5}.err{color:var(--crit);background:var(--crit-soft);border:1px solid color-mix(in srgb,var(--crit) 30%,var(--line));border-radius:10px;padding:10px 13px;font-size:12.5px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi{padding:14px 16px}.kpi .lab{font-size:10.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.kpi .num{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:4px}.kpi .num.good{color:var(--good)}.kpi .num.crit{color:var(--crit)}.kpi .num.warn{color:var(--warn)}.tbl{width:100%}.trow{display:grid;grid-template-columns:1.7fr 1.1fr .9fr .9fr auto;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid var(--line);font-size:13px}.trow.head{border-top:0;color:var(--ink-3);font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.jname{font-weight:650;display:flex;align-items:center;gap:9px}.jname .g{width:8px;height:8px;border-radius:2px;flex:0 0 auto}.g.pass{background:var(--good)}.g.fail{background:var(--crit)}.g.pending,.g.pend,.g.partial{background:var(--warn)}.stat.partial{color:var(--warn);background:var(--warn-soft)}.kpis-5{grid-template-columns:repeat(5,1fr)}.jrow{grid-template-columns:1.7fr 1.35fr .7fr .95fr .8fr 150px}.jrow>:last-child{justify-content:flex-end}.rowclick{cursor:pointer;transition:background .12s}.rowclick:hover{background:var(--surface-2)}.rowclick .jname{color:var(--ink-1);font-weight:600}.chip-pick{display:flex;flex-wrap:wrap;gap:6px;max-height:132px;overflow-y:auto;padding:2px}.chip-opt{font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:7px;padding:4px 9px;cursor:pointer;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chip-opt:hover{border-color:var(--azure)}.chip-opt.on{background:color-mix(in srgb,var(--azure) 15%,var(--surface-2));border-color:var(--azure);color:var(--ink-1)}.srow{grid-template-columns:1.9fr 1.4fr 1fr .7fr}.sched-sub{font-size:12px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;max-width:52ch}.linklike{background:none;border:0;padding:0;text-align:left;color:inherit;cursor:pointer;font:inherit}.linklike:hover{color:var(--azure)}.jname.linklike{display:inline-flex;align-items:center;gap:9px}.action-card .linklike:hover b{color:var(--azure)}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a1280;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:60;animation:fade .12s ease}.drawer{width:min(480px,94vw);height:100%;background:var(--surface);border-left:1px solid var(--line-strong);display:flex;flex-direction:column;box-shadow:-16px 0 48px #00000047;animation:slidein .18s cubic-bezier(.2,.7,.3,1)}@keyframes slidein{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer-h{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.drawer-h .x{margin-left:auto}.drawer-b{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.dsec{display:flex;flex-direction:column;gap:6px}.dsec-lab{font-size:10.5px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.codeblock{font-family:var(--mono);font-size:12px;line-height:1.55;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:9px;padding:11px 13px;color:var(--ink);white-space:pre-wrap;word-break:break-word;overflow-x:auto;margin:0}.outcome-banner{border-radius:11px;padding:13px 15px;margin-bottom:16px;border:1px solid}.outcome-banner .outcome-label{font-size:15px;font-weight:750;letter-spacing:-.01em}.outcome-banner .outcome-desc{font-size:12.5px;margin-top:3px;opacity:.85}.outcome-banner.pass{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 40%,transparent);color:var(--good)}.outcome-banner.partial{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}.outcome-banner.fail{background:var(--crit-soft);border-color:color-mix(in srgb,var(--crit) 40%,transparent);color:var(--crit)}.outcome-banner.pend{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-2)}.cov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px;align-items:start}.cov-col{padding:12px}.cov-tactic{font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.cov-cells{display:flex;flex-direction:column;gap:7px}.cov-cell{border-radius:8px;padding:8px 10px;border:1px solid var(--line);display:flex;flex-direction:column;gap:1px}.cov-cell .cov-id{font-family:var(--mono);font-size:10.5px;font-weight:700;opacity:.85}.cov-cell .cov-name{font-size:12.5px;font-weight:620}.cov-cell .cov-status{font-size:10.5px;font-weight:700;margin-top:2px}.cov-pass{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 40%,transparent);color:var(--good)}.cov-fail{background:var(--crit-soft);border-color:color-mix(in srgb,var(--crit) 40%,transparent);color:var(--crit)}.cov-partial{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}.cov-pend{background:var(--surface-2);color:var(--ink-3)}.cov-cell .cov-name{color:var(--ink)}.cov-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.cov-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}.cov-legend .cov-pass{background:var(--good)}.cov-legend .cov-fail{background:var(--crit)}.cov-legend .cov-partial{background:var(--warn)}.cov-legend .cov-pend{background:var(--line-strong)}.sig-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.sig-grid>div{display:flex;align-items:center;gap:8px}.sig-k{font-size:10.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);min-width:66px}.sig-v{font-size:12.5px;color:var(--ink)}.sig-v.mono{font-family:var(--mono);font-size:12px}.vpill{display:inline-flex;align-items:center;gap:5px}.vlabel{font-size:10px;font-weight:750;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--ink-2);font-size:12.5px}.tgt-table{display:flex;flex-direction:column;gap:2px}.tgt-row{display:grid;grid-template-columns:1.6fr .9fr .7fr .7fr 1fr;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:var(--surface-2);font-size:12.5px}.tgt-row.tgt-head{background:transparent;padding:2px 9px 4px;font-size:10.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.tgt-row .mono{font-family:var(--mono);font-size:12px;color:var(--ink)}.trace-block{margin-bottom:12px}.trace-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.mini{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:650;color:var(--ink-2)}.auto-toggle{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:650;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 11px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface)}.auto-toggle input{accent-color:var(--violet);width:15px;height:15px;cursor:pointer}.auto-toggle:has(input:disabled){opacity:.55;cursor:not-allowed}.auto-toggle:has(input:checked){border-color:color-mix(in srgb,var(--violet) 45%,var(--line-strong));color:var(--ink-1)}.auth-splash{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--ink-2)}.auth-card{width:100%;max-width:340px;padding:22px;display:flex;flex-direction:column;gap:12px}.a-skills{display:flex;flex-wrap:wrap;gap:5px}.skill-chip{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px}@media (max-width:780px){.kpis{grid-template-columns:repeat(2,1fr)}.trow{grid-template-columns:1.4fr 1fr auto}.col-hide{display:none}}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}.agent{padding:15px;display:flex;flex-direction:column;gap:12px}.a-top{display:flex;align-items:center;gap:12px}.a-av{width:42px;height:42px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--c1,#4d8bff),var(--c2,#2f6df0))}.a-id{min-width:0;flex:1}.a-id b{font-size:15px;display:block;letter-spacing:-.01em}.a-id span{font-size:11.5px;color:var(--ink-3);display:block;margin-top:1px}.a-blurb{font-size:12.5px;color:var(--ink-2);line-height:1.45}.a-run{font-size:12px;line-height:1.45;border-radius:9px;padding:9px 11px;max-height:120px;overflow:auto}.a-run.ok{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.a-run.err-inline{background:var(--crit-soft);border:1px solid color-mix(in srgb,var(--crit) 30%,var(--line));color:var(--crit)}.a-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.model{font-size:11px;font-weight:750;color:var(--violet);background:var(--violet-soft);border-radius:999px;padding:3px 10px}.a-state{font-size:11.5px;color:var(--ink-3);font-weight:600;display:inline-flex;gap:6px;align-items:center}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden}.seg button{border:0;background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:650;padding:6px 12px}.seg button.on{background:color-mix(in srgb,var(--azure) 12%,var(--surface));color:var(--azure)}.firstrun{display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--azure) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--azure) 35%,var(--line));border-radius:12px;padding:11px 14px;margin-bottom:14px;font-size:13px;color:var(--ink-2)}.src-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}.srcpick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.src{text-align:left;border:1px solid var(--line-strong);background:var(--surface-2);border-radius:11px;padding:10px 12px;color:var(--ink-2)}.src b{display:block;font-size:13px;color:var(--ink)}.src span{display:block;font-size:11px;color:var(--ink-3);margin-top:1px}.src.on{border-color:var(--azure);background:color-mix(in srgb,var(--azure) 9%,var(--surface));box-shadow:0 0 0 1px var(--azure) inset}.src.on b{color:var(--azure)}.step{padding:18px;display:grid;grid-template-columns:30px 1fr;gap:14px}.step+.step{border-top:1px solid var(--line)}.step .n{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--good-soft);color:var(--good)}.step h4{font-size:14.5px;font-weight:700}.step .sub{color:var(--ink-2);font-size:12.5px;margin:3px 0 12px;line-height:1.5}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.field input,.field select{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:9px;padding:9px 11px;font-size:12.5px;color:var(--ink);font-family:var(--mono);width:100%}.field input:focus,.field select:focus{outline:2px solid var(--azure);outline-offset:1px}.conn{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.conn .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:var(--azure-soft);color:var(--azure);font-weight:800}.conn .meta{min-width:0;flex:1}.conn .meta b{font-size:13.5px;display:block}.conn .meta span{font-size:12px;color:var(--ink-3)}.testline{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.erow{display:grid;grid-template-columns:1.6fr .8fr 1fr .9fr .8fr;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);font-size:13px}.erow.head{border-top:0;color:var(--ink-3);font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.plat{font-size:11px;font-weight:700;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 8px}.health{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650}.health.up{color:var(--good)}.health.down{color:var(--ink-3)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#03060c99;display:grid;place-items:center;z-index:40;padding:20px}.modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;max-width:560px;width:100%;box-shadow:var(--shadow);overflow:hidden}.modal-h{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.modal-h h4{font-size:16px;font-weight:750}.modal-h .x{margin-left:auto;border:0;background:transparent;color:var(--ink-3);font-size:18px}.modal-b{padding:18px}.os-tabs{display:flex;gap:6px;margin-bottom:12px}.os-tabs button{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink-2);border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:650}.os-tabs button.on{border-color:var(--azure);color:var(--azure);background:color-mix(in srgb,var(--azure) 9%,var(--surface))}.cmd{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 13px;font-family:var(--mono);font-size:12px;color:var(--ink);white-space:pre-wrap;word-break:break-all;position:relative}.cmd button{position:absolute;top:8px;right:8px;border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;padding:3px 9px;font-size:11px;font-weight:650}.waiting{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2);margin-top:14px}.warnbox{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));border-radius:11px;padding:12px 14px;font-size:12.5px;color:var(--ink);line-height:1.5}.warnbox b{color:var(--warn)}@media (max-width:780px){.erow{grid-template-columns:1.4fr .8fr auto}}.locked{padding:44px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.locked .lock-ic{font-size:34px;opacity:.8}.locked h4{font-size:16px;font-weight:750}.locked p{color:var(--ink-2);font-size:13px;max-width:52ch;line-height:1.55;margin:0}.locked .btn{margin-top:6px}.panel{animation:fade .25s ease}@keyframes fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.panel{animation:none}}
