/* [claude-opus-5-5 2026-09-24] Nodes console, console dock and deploy wizard. Compact, tabular and bevelled to
   match the wider operator dashboard; everything is scoped under .fc, .uq-dock or .fc-window. */

/* ---------- shared bits ---------- */
.led{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:#4b4f57;box-shadow:inset 0 1px 1px #0008;vertical-align:middle}
.led.ok{background:radial-gradient(circle at 35% 35%,#b9f5cf,#3fbf73 60%);box-shadow:0 0 5px #3fbf7399}
.led.warn{background:radial-gradient(circle at 35% 35%,#fbe7b9,#d9a441 60%);box-shadow:0 0 5px #d9a44188}
.led.bad{background:radial-gradient(circle at 35% 35%,#ffc6bf,#e0584a 60%);box-shadow:0 0 5px #e0584a88}
.led.busy{background:radial-gradient(circle at 35% 35%,#cfe4ff,#4f9bf0 60%);box-shadow:0 0 6px #4f9bf0aa;animation:fc-pulse 1.2s ease-in-out infinite}
.led.off{background:#3b3e45}
@keyframes fc-pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.led.busy,.fc-steps i[data-state=running],.fc-spin{animation:none}}

/* ---------- console page ---------- */
/* The operations console is tabular: give it the width a dense fleet table needs. */
.workspace-root .content:has(> .fc),.workspace-root .content:has(.fc){max-width:1480px}
.fc{font-size:12px;--fc-cap:linear-gradient(#1c1e22,#131417);--fc-row:#ffffff05;--fc-hover:#ffffff0b;--fc-sel:#9bb9df1f}
.fc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin-bottom:12px}
.fc-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}
.fc-title h1{margin:0}
.fc-sub{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.fc-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fc-actions .segmented button{padding:4px 9px;font-size:11px;min-height:26px}
.fc-actions .button.small{min-height:28px;padding:5px 11px;font-size:11.5px}
.fc-panel{background:var(--panel);border:1px solid var(--line);border-radius:5px;box-shadow:inset 0 1px 0 #ffffff08,0 1px 0 #000;overflow:hidden;min-width:0}
.fc-panel+.fc-panel,.fc-runs{margin-top:12px}
.fc-cap{display:flex;align-items:center;gap:10px;min-height:30px;padding:3px 10px;background:var(--fc-cap);border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--subtle)}
.fc-cap-title{color:var(--text);font-weight:650}
.fc-cap-meta{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;font-size:11px}
.fc-cap .fc-filter,.fc-cap .fc-link{margin-left:auto}
.fc-filter{width:190px;max-width:40vw;min-height:24px!important;padding:3px 8px!important;font-size:11.5px!important;text-transform:none;letter-spacing:0}
.fc-link{background:none;border:0;padding:0;color:var(--mint);font:inherit;font-size:11px;text-transform:none;letter-spacing:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.fc-link[hidden]{display:none}
.fc-dim{color:var(--subtle)}
.fc-busy{color:#9cc6f7}
.fc-warn-text{color:var(--amber)}
.fc-table-wrap{overflow-x:auto;overscroll-behavior-x:contain}
.fc-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.fc-table th{height:24px;padding:0 8px;text-align:left;font-size:9.5px;font-weight:650;letter-spacing:.7px;text-transform:uppercase;color:var(--subtle);background:#0e0f12;border-bottom:1px solid var(--line);white-space:nowrap}
.fc-table td{padding:5px 8px;border-bottom:1px solid #ffffff0b;vertical-align:middle;white-space:nowrap}
.fc-table tbody tr:nth-child(even) td{background:var(--fc-row)}
.fc-table tbody tr[data-node],.fc-table tbody tr[data-run]{cursor:pointer}
.fc-table tbody tr:hover td{background:var(--fc-hover)}
.fc-table tbody tr.selected td{background:var(--fc-sel)}
.fc-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--mint)}
.fc-table tbody tr:focus-visible{outline:1px solid var(--mint);outline-offset:-1px}
.fc-table tbody tr.pending td{background:#4f9bf00d}
.fc-table .num{text-align:right}
.fc-table .num-left{font-variant-numeric:tabular-nums;color:var(--muted)}
.fc-table .c-led{width:22px;padding-right:0;text-align:center}
.fc-table .c-act{width:1%;text-align:right;padding-left:4px}
.fc-table .c-act .fc-icon+.fc-icon{margin-left:4px}
.fc-table .c-node strong{display:block;font-weight:600;color:var(--text);max-width:320px;overflow:hidden;text-overflow:ellipsis}
.fc-table .c-node small{display:block;margin-top:1px;font-size:10.5px;color:var(--subtle);max-width:340px;overflow:hidden;text-overflow:ellipsis}
.fc-table .c-hw{max-width:170px;overflow:hidden;text-overflow:ellipsis}
.fc-table .c-access{font-family:"Cascadia Mono",Consolas,monospace;font-size:11px;color:var(--muted)}
.fc-table .c-access .led{margin-right:6px}
.fc-empty{padding:18px 10px!important;text-align:center;color:var(--subtle);white-space:normal!important}
.fc-tag{display:inline-block;padding:0 5px;border:1px solid #4a5364;border-radius:3px;font-size:9.5px;font-weight:650;letter-spacing:.6px;line-height:16px;color:#bcd0ee;background:#1b2330}
.fc-tag.qwen{border-color:#5a4b69;color:#d8c5ee;background:#241d2c}
.fc-bar{display:inline-block;width:36px;height:6px;margin-right:6px;vertical-align:middle;background:#ffffff10;border:1px solid #ffffff18;border-radius:1px;overflow:hidden}
.fc-bar i{display:block;height:100%;background:linear-gradient(#8fe0aa,#3fa865)}
.fc-bar.vram i{background:linear-gradient(#a9c8f3,#4f86cf)}
.fc-icon{display:inline-grid;place-items:center;width:24px;height:22px;padding:0;border:1px solid #454951;border-radius:3px;background:linear-gradient(#2c2f35,#202227);color:var(--muted);cursor:pointer;box-shadow:inset 0 1px 0 #ffffff10;vertical-align:middle}
.fc-icon:hover{color:var(--text);border-color:#5d6470}
.fc-icon.danger:hover{color:var(--red);border-color:#7a4a45}
.fc-icon svg{width:12px;height:12px}
.fc-steps{display:inline-flex;gap:2px;vertical-align:middle}
.fc-steps i{width:9px;height:7px;border-radius:1px;background:#ffffff14;box-shadow:inset 0 1px 0 #0006}
.fc-steps i[data-state=done]{background:#3fbf73}
.fc-steps i[data-state=skipped]{background:#3fbf7355}
.fc-steps i[data-state=running]{background:#4f9bf0;animation:fc-pulse 1.1s infinite}
.fc-steps i[data-state=failed]{background:#e0584a}
.fc-copy{background:none;border:0;padding:0;font:inherit;font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px;color:var(--muted);cursor:copy}
.fc-copy:hover{color:var(--text)}

/* node detail */
.fc-node{margin-top:16px}
.fc-node[hidden]{display:none}
.fc-node-head{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:10px 12px;background:var(--fc-cap);border:1px solid var(--line);border-radius:5px 5px 0 0;border-bottom:0}
.fc-node-id{display:flex;align-items:center;gap:10px;min-width:0}
.fc-node-id .led{width:10px;height:10px}
.fc-node-id h2{margin:0;font-size:16px;line-height:1.25}
.fc-node-id small{display:block;color:var(--subtle);font-size:11px;margin-top:2px}
.fc-node-actions{display:flex;gap:6px;flex-wrap:wrap}
.fc-node-actions .button.small{min-height:26px;padding:4px 10px;font-size:11px}
.fc-tabs{display:flex;gap:2px;padding:0 8px;overflow-x:auto;background:#0e0f12;border:1px solid var(--line);border-bottom-color:var(--line);scrollbar-width:none}
.fc-tabs button{flex:none;padding:7px 12px 6px;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;margin:4px 0 -1px;background:none;color:var(--muted);font-size:11.5px;cursor:pointer}
.fc-tabs button:hover{color:var(--text);background:#ffffff08}
.fc-tabs button[aria-selected=true]{background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:inset 0 2px 0 var(--mint)}
.fc #operator-monitor{margin-top:10px}
.fc #operator-monitor>.monitor-heading,.fc #operator-monitor>[data-slot=fleet],.fc #operator-monitor .node-detail>.monitor-cap{display:none!important}
.fc #node-inspector>*+*{margin-top:12px}
.fc[data-tab=overview] #node-inspector>:not(.node-detail),
.fc[data-tab=engine] #node-inspector>:not(.engine-controls),
.fc[data-tab=tests] #node-inspector>:not(.experiments),
.fc[data-tab=logs] #node-inspector>:not(.log-panel),
.fc[data-tab=machine] #node-inspector>:not(.gpu-panel){display:none!important}
.fc:not([data-tab=infra]) #operator-monitor>.provider-panel{display:none!important}
.fc[data-tab=infra] #node-inspector,.fc[data-tab=access] #operator-monitor{display:none!important}
.fc:not([data-tab=access]) .fc-access{display:none}
/* [claude-opus-5-5 2026-09-25] Traffic tab: the node's served requests replace the engine inspector. */
.fc:not([data-tab=traffic]) .fc-traffic{display:none}
.fc[data-tab=traffic] #operator-monitor{display:none!important}
.fc-traffic{margin-top:10px}
.fc[data-tab=machine] .gpu-panel>summary{pointer-events:none}
.fc-access{margin-top:10px}
.fc-access-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:start}
.fc-access-grid .fc-panel+.fc-panel{margin-top:0}
.fc-unmanaged p{margin:12px;color:var(--muted);max-width:60ch}
.fc-kv{display:grid;grid-template-columns:140px minmax(0,1fr);margin:0;font-size:12px}
.fc-kv dt,.fc-kv dd{margin:0;padding:5px 10px;border-bottom:1px solid #ffffff0a;min-width:0}
.fc-kv dt{color:var(--subtle);font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;padding-top:7px}
.fc-kv dd{overflow-wrap:anywhere}
.fc-kv dd code,.fc-kv code{font-size:11px}
.fc-kv dd .led{margin-right:6px}
.fc-btns{display:flex;flex-wrap:wrap;gap:6px;padding:10px}
.fc-btns .button.small{min-height:26px;padding:4px 10px;font-size:11px}

/* ---------- console dock ---------- */
.uq-dock{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column;zoom:calc(1 / var(--site-scale,1));background:#0a0b0d;border-top:1px solid #3b3f47;box-shadow:0 -8px 22px #0009;font-size:12px;color:var(--text);transition:height .14s ease}
.uq-dock[hidden]{display:none}
.uq-dock .dock-grip{position:absolute;left:0;right:0;top:-4px;height:8px;cursor:ns-resize;z-index:2}
.dock-bar{flex:none;display:flex;align-items:flex-end;gap:8px;height:34px;padding:0 8px;background:linear-gradient(#23262c,#16181c);border-bottom:1px solid #2b2e35}
.dock-brand{display:inline-flex;align-items:center;gap:6px;align-self:center;height:24px;padding:0 8px;border:1px solid #3f434b;border-radius:3px;background:linear-gradient(#2d3036,#1f2126);color:var(--text);font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.dock-brand svg{width:12px;height:12px}
.dock-tabs{flex:1;display:flex;align-items:flex-end;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:thin}
.dock-tab{flex:none;display:inline-flex;align-items:center;gap:6px;height:27px;max-width:240px;padding:0 4px 0 8px;border:1px solid #33363d;border-bottom:0;border-radius:4px 4px 0 0;background:#16181c;color:var(--muted);cursor:pointer;font-size:11.5px}
.dock-tab:hover{color:var(--text)}
.dock-tab.active{background:#0a0b0d;color:var(--text);border-color:#454a53;box-shadow:inset 0 2px 0 #7fa6d8}
.dock-tab-kind{font-size:8.5px;font-weight:700;letter-spacing:.7px;color:var(--subtle)}
.dock-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dock-x{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:none;color:var(--subtle);cursor:pointer}
.dock-x:hover{background:#ffffff14;color:var(--text)}
.dock-x svg{width:11px;height:11px}
.dock-actions{display:flex;align-items:center;gap:4px;align-self:center}
.dock-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border:1px solid #3f434b;border-radius:3px;background:linear-gradient(#2d3036,#1f2126);color:var(--muted);font-size:11px;cursor:pointer}
.dock-btn.icon{width:26px;padding:0;justify-content:center}
.dock-btn:hover{color:var(--text)}
.dock-btn svg{width:12px;height:12px}
.uq-dock[data-mode=max] [data-dock=max] svg{transform:rotate(180deg)}
.uq-dock[data-mode=min] [data-dock=min] svg{transform:rotate(180deg)}
.dock-body{position:relative;flex:1;min-height:0}
.uq-dock[data-mode=min] .dock-body{display:none}
.dock-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:16px;text-align:center;color:var(--subtle)}
.dock-empty[hidden]{display:none}
.dock-empty strong{color:var(--text);font-size:13px}
.dock-empty span{max-width:52ch}
.dock-pane{position:absolute;inset:0;display:flex;min-height:0}
.dock-pane[hidden]{display:none}
.term-pane{flex-direction:column}
.term-strip{flex:none;display:flex;align-items:center;gap:10px;height:26px;padding:0 8px;border-bottom:1px solid #1f2227;background:#101114;font-size:11px;color:var(--subtle);overflow:hidden}
.term-where{display:inline-flex;align-items:center;gap:6px;font-family:"Cascadia Mono",Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.term-snips{display:flex;gap:3px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.term-snips button,.term-tools button{flex:none;height:19px;padding:0 7px;border:1px solid #30333a;border-radius:3px;background:#17191d;color:var(--muted);font:inherit;font-size:10.5px;cursor:pointer}
.term-snips button:hover,.term-tools button:hover{color:var(--text);border-color:#4a4e57}
.term-tools{display:flex;gap:3px}
.term-tools button{display:grid;place-items:center;width:22px;padding:0}
.term-tools svg{width:11px;height:11px}
.term-wrap{flex:1;min-width:0;min-height:0;padding:4px 2px 2px 8px}
.term-host{width:100%;height:100%}
.term-host .xterm{height:100%}
.term-host .xterm-viewport{scrollbar-width:thin;scrollbar-color:#3a3e46 transparent}
.run-pane{flex-direction:row}
.run-side{flex:none;width:300px;overflow-y:auto;border-right:1px solid #22252b;background:#0f1013;padding:10px;display:flex;flex-direction:column;gap:10px}
.run-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.run-head small{display:block;font-size:9.5px;letter-spacing:.8px;color:var(--subtle)}
.run-head strong{display:block;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.run-meta{display:block;margin-top:2px;font-size:10.5px;color:var(--subtle);overflow-wrap:anywhere}
.run-state{flex:none;padding:1px 7px;border:1px solid #3d5e8a;border-radius:3px;background:#162234;color:#b7d3f7;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.run-state[data-state=succeeded]{border-color:#2f6b47;background:#132519;color:#aee7c1}
.run-state[data-state=failed],.run-state[data-state=cancelled]{border-color:#7a3f3a;background:#2a1513;color:#f4b8b0}
.run-state[data-state=detached]{border-color:#6b5a2f;background:#29220f;color:#f0d8a0}
.run-actions{display:flex;flex-wrap:wrap;gap:5px}
.run-actions .button.small{min-height:24px;padding:3px 9px;font-size:11px}
.run-error{flex-basis:100%;margin:2px 0 0;padding:6px 8px;border:1px solid #6d3a35;border-radius:3px;background:#24110f;color:#f4c0b8;font-size:11px;overflow-wrap:anywhere}
.run-steps{list-style:none;margin:0;padding:0;border:1px solid #22252b;border-radius:4px;background:#0b0c0e}
.run-steps li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;column-gap:7px;align-items:center;padding:4px 8px;border-bottom:1px solid #ffffff08;font-size:11.5px;color:var(--subtle)}
.run-steps li:last-child{border-bottom:0}
.run-steps li i{width:10px;height:10px;border-radius:50%;border:1px solid #4a4e57}
.run-steps li[data-state=done]{color:var(--text)}
.run-steps li[data-state=done] i{background:#3fbf73;border-color:#3fbf73}
.run-steps li[data-state=skipped] i{background:#3a3e45;border-color:#3a3e45}
.run-steps li[data-state=running]{color:#cfe4ff}
.run-steps li[data-state=running] i{background:#4f9bf0;border-color:#4f9bf0;animation:fc-pulse 1.1s infinite}
.run-steps li[data-state=failed]{color:#f6b6ad}
.run-steps li[data-state=failed] i{background:#e0584a;border-color:#e0584a}
.run-steps .step-time{font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--subtle)}
.run-steps small{grid-column:2/4;font-size:10.5px;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.run-progress{padding:8px;border:1px solid #2b3f5c;border-radius:4px;background:#0f1622}
.run-progress[hidden]{display:none}
.prog-head,.prog-foot{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.prog-head strong{color:var(--text);font-variant-numeric:tabular-nums}
.prog-foot{font-size:10.5px;font-variant-numeric:tabular-nums}
.meter{height:8px;margin:5px 0;border:1px solid #2e3b4f;border-radius:2px;background:#0a0e14;overflow:hidden}
.meter i{display:block;height:100%;background:linear-gradient(#8cc0ff,#3f7fd1);transition:width .4s}
.meter i.indeterminate{background:repeating-linear-gradient(45deg,#3f7fd1 0 8px,#2b5a98 8px 16px);animation:fc-slide 1s linear infinite}
@keyframes fc-slide{to{background-position:22px 0}}
.run-stats{display:flex;flex-direction:column;gap:3px;padding:8px;border:1px solid #22252b;border-radius:4px;background:#0b0c0e}
.stats-empty{color:var(--subtle);font-size:11px}
.stat-row{display:grid;grid-template-columns:46px minmax(0,1fr) 90px;align-items:center;gap:6px;font-size:11px}
.stat-row span{color:var(--subtle);text-transform:uppercase;font-size:9.5px;letter-spacing:.6px}
.stat-row strong{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-row svg{width:90px;height:20px;fill:none;stroke:#7fb0ea;stroke-width:1.2;vector-effect:non-scaling-stroke}
.gpu-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:3px;margin-top:5px}
.gpu-cell{display:grid;grid-template-columns:20px 1fr 30px;grid-template-rows:auto auto;column-gap:5px;align-items:center;font-size:10px;color:var(--subtle)}
.gpu-cell span{grid-row:1/3}
.gpu-cell em{grid-row:1/3;grid-column:3;font-style:normal;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.gpu-cell .bar{height:4px;background:#ffffff10;border-radius:1px;overflow:hidden}
.gpu-cell .bar i{display:block;height:100%;background:#3fbf73}
.gpu-cell .bar.vram i{background:#4f86cf}
.dock-menu{position:absolute;z-index:5;width:min(460px,calc(100vw - 16px));max-height:min(420px,70vh);overflow:auto;border:1px solid #474b54;border-radius:5px;background:#17191d;box-shadow:0 12px 30px #000c}
.dock-menu[hidden]{display:none}
.menu-head{padding:7px 10px;font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--subtle);border-bottom:1px solid #2a2d33}
.menu-loading{padding:14px 12px;color:var(--muted)}
.menu-host{padding:7px 10px;border-bottom:1px solid #24272c}
.menu-host-name{display:flex;align-items:center;gap:7px;min-width:0}
.menu-host-name small{color:var(--subtle);font-size:10.5px;margin-left:auto;font-family:"Cascadia Mono",Consolas,monospace;white-space:nowrap}
.menu-kinds{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.menu-kinds button{height:22px;padding:0 8px;border:1px solid #3a3e46;border-radius:3px;background:linear-gradient(#2a2d33,#1e2024);color:var(--muted);font-size:11px;cursor:pointer}
.menu-kinds button:hover{color:var(--text);border-color:#58606c}
.workspace-root .content{padding-bottom:calc(var(--dock-h,0px) / var(--site-scale,1) + 24px)}

/* ---------- deploy wizard window ---------- */
.fc-window{width:min(1000px,96vw);height:min(740px,92vh);max-width:none;max-height:none;padding:0;border:1px solid #4d525c;border-radius:6px;background:var(--panel);color:var(--text);box-shadow:0 24px 70px #000d,inset 0 1px 0 #ffffff0d;font-size:12px}
.fc-window[open]{display:flex;flex-direction:column}
.fc-window::backdrop{background:#000a}
.fc-win-bar{flex:none;display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 10px;background:linear-gradient(#2c2f36,#1c1e22);border-bottom:1px solid #3b3f47}
.fc-win-icon svg{width:13px;height:13px;color:var(--mint)}
.fc-win-bar strong{font-size:12.5px}
.fc-win-sub{color:var(--subtle);font-family:"Cascadia Mono",Consolas,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.fc-win-close{margin-left:auto;display:grid;place-items:center;width:26px;height:24px;border:1px solid #454951;border-radius:3px;background:linear-gradient(#34373e,#24262b);color:var(--muted);cursor:pointer}
.fc-win-close:hover{color:var(--text)}
.fc-win-close svg{width:12px;height:12px}
.fc-win-body{flex:1;display:flex;min-height:0}
.fc-win-steps{flex:none;width:200px;margin:0;padding:10px 8px;list-style:none;background:#0f1013;border-right:1px solid var(--line);overflow-y:auto}
.fc-win-steps li button{display:flex;align-items:flex-start;gap:9px;width:100%;padding:8px;border:1px solid transparent;border-radius:4px;background:none;color:var(--muted);text-align:left;cursor:pointer;font:inherit}
.fc-win-steps li button:disabled{opacity:.45;cursor:default}
.fc-win-steps li button b{flex:none;display:grid;place-items:center;width:20px;height:20px;border:1px solid #4a4e57;border-radius:50%;font-size:10.5px}
.fc-win-steps li button span{display:flex;flex-direction:column;font-size:12px;color:var(--text)}
.fc-win-steps li button small{font-size:10.5px;color:var(--subtle)}
.fc-win-steps li.current button{background:#9bb9df14;border-color:#3d4e66}
.fc-win-steps li.current b{background:#35598a;border-color:#5b86c0;color:#fff}
.fc-win-steps li.done b{background:#245c3b;border-color:#3fa865;color:#dff5e7}
.fc-win-main{flex:1;min-width:0;overflow-y:auto;padding:16px 20px 20px}
.fc-win-main h3{margin:0 0 4px;font-size:15px}
.fc-win-main>p{margin:0 0 12px}
.fc-win-error{margin-top:12px;color:var(--red);font-size:12px;overflow-wrap:anywhere}
.fc-win-error:empty{display:none}
.fc-win-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:6px 12px;background:#121316;border-top:1px solid var(--line)}
.fc-win-foot>div{display:flex;gap:6px}
.fc-win-foot .fc-dim{font-size:11px}
.fc-spin{display:inline-block;width:10px;height:10px;margin-right:5px;border:2px solid #4f9bf0;border-right-color:transparent;border-radius:50%;animation:fc-rot .8s linear infinite;vertical-align:-1px}
@keyframes fc-rot{to{transform:rotate(360deg)}}
.fc-field{display:flex;flex-direction:column;gap:4px;margin:10px 0 0;min-width:0}
.fc-field>span{display:flex;align-items:baseline;gap:8px;font-size:10.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}
.fc-field>span small{text-transform:none;letter-spacing:0;font-weight:400}
.fc-field>span .fc-link{margin-left:auto}
.fc-field input,.fc-field select,.fc-field textarea{width:100%;min-width:0;font-size:12px}
.fc-field textarea,.fc-field input[name=address],.fc-field input[name^=p_command],.fc-field input[name=p_check_script],.fc-field input[name=p_extra_args]{font-family:"Cascadia Mono",Consolas,monospace;font-size:11.5px}
.fc-field textarea{resize:vertical}
.fc-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
.fc-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px}
.fc-grid2 .wide{grid-column:1/-1}
.fc-check{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;font-size:12px;color:var(--muted);cursor:pointer}
.fc-check input{margin-top:2px}
.fc-radio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 4px}
.fc-radio label{display:flex;gap:9px;padding:10px;border:1px solid var(--line);border-radius:4px;background:#ffffff04;cursor:pointer}
.fc-radio label:has(input:checked){border-color:#4f73a6;background:#9bb9df12}
.fc-radio input[type=radio],.fc-check input[type=checkbox]{flex:none;width:14px;height:14px;min-height:0;margin:2px 0 0;padding:0;border:0;box-shadow:none;background:none;accent-color:#6f98cf}
.fc-radio label span{display:flex;flex-direction:column;gap:2px}
.fc-radio small{color:var(--subtle);font-size:11px}
.fc-radio.compact{margin-top:12px}
.fc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.fc-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #40444c;border-radius:3px;background:linear-gradient(#2a2d33,#1e2024);color:var(--text);font-size:11.5px;cursor:pointer}
.fc-chip small{color:var(--subtle);font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px}
.fc-chip:hover{border-color:#5b6370}
.fc-note{margin-top:10px;padding:10px;border:1px solid #33405a;border-radius:4px;background:#101622}
.fc-note p{margin:4px 0 8px;color:var(--muted)}
.fc-note small{color:var(--subtle);font-family:"Cascadia Mono",Consolas,monospace}
.fc-copyline{display:flex;gap:6px;align-items:center}
.fc-copyline code{flex:1;min-width:0;padding:5px 7px;border:1px solid #2c3444;border-radius:3px;background:#0a0d13;font-size:10.5px;overflow-x:auto;white-space:nowrap}
.fc-probe{margin-top:12px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.fc-probe-head{display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--fc-cap,#16181c);border-bottom:1px solid var(--line)}
.fc-probe-head small{display:block;color:var(--subtle);font-size:10.5px;margin-top:2px;overflow-wrap:anywhere}
.fc-probe-head.bad{background:#2a1513}
.fc-probe .fc-check{margin:8px 10px}
.fc-probe .fc-kv{border-top:1px solid #ffffff0a}
.fc-row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:8px}
.fc-engines{display:flex;flex-wrap:wrap;gap:5px}
.fc-engine{padding:6px 11px;border:1px solid #40444c;border-radius:3px;background:linear-gradient(#2a2d33,#1e2024);color:var(--muted);font-size:11.5px;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff0c}
.fc-engine strong{font-weight:600}
.fc-engine.selected{border-color:#5579a7;background:linear-gradient(#304c70,#1b304b);color:#e4f0ff}
.fc-saved select{font-size:11.5px;min-height:28px;max-width:260px}
.fc-adv{margin-top:14px;border:1px solid var(--line);border-radius:4px;padding:0 10px 10px;background:#ffffff03}
.fc-adv summary{padding:8px 0;margin:0 -10px;padding-left:10px;cursor:pointer;font-size:10.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.fc-adv[open] summary{border-bottom:1px solid var(--line);margin-bottom:2px}
.fc-preview{margin-top:10px}
.fc-preview span{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--subtle)}
.fc-preview pre{margin:4px 0 0;max-height:180px;overflow:auto;padding:8px;border:1px solid #22252b;border-radius:3px;background:#0a0b0d;color:#cfd6e0;font-family:"Cascadia Mono",Consolas,monospace;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}
.fc-save{display:flex;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.fc-save input{flex:1;min-width:0;font-size:12px}
.fc-warnings{margin:8px 0 10px;padding:8px 10px;border:1px solid #6b5a2f;border-radius:4px;background:#1f1a0d}
.fc-warnings p{display:flex;gap:7px;align-items:flex-start;margin:3px 0;color:#f0d8a0}
.fc-warnings svg{flex:none;width:13px;height:13px;margin-top:2px}
.fc-kv.wide{grid-template-columns:170px minmax(0,1fr);border:1px solid var(--line);border-radius:4px;margin:8px 0 12px}

@media(max-width:1100px){.fc-access-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 .fc-head{align-items:flex-start}
 .fc-actions{width:100%}
 .fc-actions .segmented{order:9}
 .fc-cap{flex-wrap:wrap}
 .fc-filter{width:100%;max-width:none;flex-basis:100%}
 .fc-node-actions{width:100%}
 .fc-kv{grid-template-columns:110px minmax(0,1fr)}
 .run-pane{flex-direction:column}
 .run-side{width:auto;max-height:42%;border-right:0;border-bottom:1px solid #22252b}
 .run-stats{display:none}
 .term-snips{display:none}
 .dock-btn span,.dock-brand span{display:none}
 .dock-tab{max-width:150px}
 .fc-window{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}
 .fc-win-body{flex-direction:column}
 .fc-win-steps{width:auto;display:flex;gap:2px;padding:6px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}
 .fc-win-steps li button{padding:5px 7px}
 .fc-win-steps li button small{display:none}
 .fc-win-main{padding:12px 14px 16px}
 .fc-grid2,.fc-grid3,.fc-radio{grid-template-columns:minmax(0,1fr)}
 .fc-win-foot{flex-wrap:wrap}
}

/* [claude-opus-5-5 2026-09-24] Saved configurations (recipes): compatibility cards and one-click deploy. */
.fc-recipes{margin-top:14px}
.fc-recipes h4{margin:0 0 8px;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--subtle)}
.fc-recipe{margin-top:8px;border:1px solid var(--line);border-radius:5px;background:#ffffff04;overflow:hidden}
.fc-recipe.selected{border-color:#4f73a6;box-shadow:inset 3px 0 0 #6f98cf}
.fc-recipe[data-verdict=fail]{opacity:.75}
.fc-recipe-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 10px;background:linear-gradient(#1d2025,#16181c);border-bottom:1px solid var(--line)}
.fc-recipe-head strong{display:block;font-size:13px}
.fc-recipe-head small{display:block;margin-top:2px;color:var(--subtle);font-size:11px}
.fc-verdict{flex:none;padding:1px 7px;border:1px solid #2f6b47;border-radius:3px;background:#132519;color:#aee7c1;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.fc-verdict[data-verdict=warn]{border-color:#6b5a2f;background:#29220f;color:#f0d8a0}
.fc-verdict[data-verdict=fail]{border-color:#7a3f3a;background:#2a1513;color:#f4b8b0}
.fc-checks{list-style:none;margin:0;padding:6px 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:3px 14px}
.fc-checks li{display:grid;grid-template-columns:10px auto minmax(0,1fr);gap:6px;align-items:baseline;font-size:11.5px}
.fc-checks li i{width:8px;height:8px;border-radius:50%;background:#3fbf73;align-self:center}
.fc-checks li[data-status=warn] i{background:#d9a441}
.fc-checks li[data-status=fail] i{background:#e0584a}
.fc-checks li strong{font-weight:600;white-space:nowrap}
.fc-checks li span{color:var(--muted);overflow-wrap:anywhere}
.fc-recipe .fc-kv{border-bottom:1px solid #ffffff0a}
.fc-token{display:flex;align-items:flex-end;gap:8px;margin:0;padding:8px 10px;border-top:1px solid #ffffff0a;font-size:12px}
.fc-token.ok{align-items:center;gap:6px;color:#aee7c1}
.fc-token.ok svg{width:13px;height:13px}
.fc-token .fc-field{flex:1;margin:0}
.fc-recipe-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 10px;border-top:1px solid #ffffff0a;background:#0f1013}
.fc-recipe-actions small{margin-left:auto;font-size:10.5px}
@media(max-width:700px){.fc-recipe-actions small{margin-left:0;flex-basis:100%}.fc-token{flex-wrap:wrap}}

/* [claude-opus-5-5 2026-09-24] Pools & access page and the per-account access editor; moderators see the fleet read-only. */
[data-readonly-fleet] [data-fc=deploy],[data-readonly-fleet] [data-fc=secrets],[data-readonly-fleet] [data-fc=shell],[data-readonly-fleet] [data-fc=tail],
[data-readonly-fleet] [data-fc=redeploy],[data-readonly-fleet] [data-fc=upgrade],[data-readonly-fleet] [data-fc=forget],[data-readonly-fleet] [data-fc=run-cancel],
[data-readonly-fleet] [data-fc=run-redeploy],[data-readonly-fleet] [data-fc=run-reattach],[data-readonly-fleet] [data-fc=manual]{display:none!important}
.ax-pool .fc-cap{flex-wrap:wrap;gap:6px 14px}
.ax-pool-form{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:12px}
.ax-pool-form select{font-size:12px;padding:2px 4px}
.ax-table input[type=number]{width:64px;font-size:12px;padding:2px 4px;text-align:right}
.ax-table select{font-size:12px;padding:2px 4px}
.ax-table td{vertical-align:middle}
.fc-chip{display:inline-block;margin:1px 2px;padding:0 6px;border:1px solid var(--line,#ffffff22);border-radius:3px;font-size:11px;text-decoration:none;color:inherit;white-space:nowrap}
.ax-lower{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);margin-top:12px}
.ax-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 12px;font-size:12px}
.ax-add label{display:flex;flex-direction:column;gap:3px;flex:1 1 220px}
.ax-add .form-error{flex-basis:100%}
.ax-roles dd{margin-bottom:6px}
.ax-editor{display:grid;gap:10px}
.ax-editor label{display:grid;gap:4px}
.ax-editor label.fc-check{display:flex;align-items:center;gap:6px}
.ax-editor fieldset{border:1px solid var(--line,#ffffff22);border-radius:4px;padding:6px 10px;display:flex;flex-wrap:wrap;gap:4px 16px}
.ax-editor fieldset legend{font-size:12px;padding:0 4px}
.ax-pins{flex-direction:column}
/* [claude-opus-5-5 2026-09-25] Customer assignment and standing rules, in the console's compact style. */
.ax-assign,.ax-rules{margin-top:12px}
.ax-assign .fc-cap{flex-wrap:wrap;gap:6px 14px}
.ax-filters{display:flex;gap:6px;margin-left:auto}
.ax-filters input,.ax-filters select,.ax-add input,.ax-add select{font-size:12px;padding:2px 6px}
.ax-filters input{width:170px}
.ax-add input[type=number]{width:60px;text-align:right}
.ax-batch,.ax-suggest{border-top:1px solid var(--line,#ffffff22);align-items:center}
.ax-batch label,.ax-suggest label,.ax-rules .ax-add label{flex:0 1 auto;flex-direction:row;align-items:center;gap:6px}
.ax-checks{display:flex;flex-wrap:wrap;gap:2px 10px}
.ax-table select[name=tier]{min-width:96px}
.ax-places{white-space:nowrap}.ax-places .fc-check{display:inline-flex;margin-left:6px}
.ax-batch label,.ax-suggest label,.ax-batch strong{white-space:nowrap}
.ax-hint{flex-basis:100%}
.ax-preview{border-top:1px solid var(--line,#ffffff22);padding:8px 12px;display:grid;gap:6px;font-size:12px}
.ax-preview p{margin:0}
.ax-assign .ax-table td .fc-dim{font-size:11px}
@media (max-width:760px){.ax-lower{grid-template-columns:minmax(0,1fr)}.ax-pool-form{margin-left:0;flex-wrap:wrap}}
.ax-pool-form,.ax-pool-form label{text-transform:none;letter-spacing:normal;font-weight:400;color:inherit}
.ax-pool-form label{display:flex;align-items:center;gap:6px}
.ax-lower{display:grid;gap:12px}
.ax-add input,.ax-add select,.ax-editor input:not([type=checkbox]),.ax-editor select{height:28px;min-height:0;padding:2px 8px;font-size:12px}
.ax-add .button{height:28px}
.ax-table td strong{font-weight:600}

/* [claude-opus-5-5 2026-09-24] GPUHub instances & credit. */
.cl-credit{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding:8px 12px;border-bottom:1px solid var(--line,#ffffff1a)}
.cl-credit small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.cl-credit strong{font-size:15px;font-variant-numeric:tabular-nums}
.cl-credit[data-level=critical]{background:#e0584a1f}.cl-credit[data-level=warn]{background:#d9a4411a}
.cl-spark{color:#4f9bf0;margin-left:auto}
.cl-note{flex-basis:100%;margin:2px 0 0;font-size:12px;color:#f0a79e}
.cl-pad{padding:8px 12px}
.fc-cloud select{font-size:12px;padding:2px 4px;max-width:220px}

.cl-actions{white-space:nowrap}.cl-actions .button{margin-left:4px}
.cl-log summary{cursor:pointer;font-size:11px;opacity:.75}.cl-log div{font-size:11px;margin:2px 0}

/* [claude-opus-5-5 2026-09-25] Pool commitment under a node's committed streams. */
.fc-sub-num{display:block;font-size:10px;line-height:1.2}
/* [claude-opus-5-5 2026-09-25] A node's model ID handle under its name. */
.ax-handle{display:flex;align-items:center;gap:0;margin-top:4px;font-size:11px}.ax-handle code{opacity:.75}.ax-handle input{width:140px;font-size:11px;padding:1px 4px;font-family:var(--mono,ui-monospace,monospace)}

/* [claude-opus-5-5 2026-09-25] Pools & capacity: one page, five tabs (Capacity merged in). Each tab shows its own sections. */
#access-console .pools-tabs{margin:2px 0 12px}
.fc-tabs a{flex:none;padding:7px 12px 6px;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;margin:4px 0 -1px;color:var(--muted);font-size:11.5px}
.fc-tabs a:hover{color:var(--text);background:#ffffff08}
.fc-tabs a[aria-selected=true]{background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:inset 0 2px 0 var(--mint)}
#access-console:not([data-tab=routing]) [data-ax=pools],
#access-console:not([data-tab=customers]) [data-ax=assign],
#access-console:not([data-tab=team]) .ax-lower,
#access-console:not([data-tab=admissions]) .pools-admissions,
#access-console:not([data-tab=sharing]) .pools-sharing,
#access-console:not([data-tab=guard]) .pools-guard{display:none!important}
#access-console .pools-admissions,#access-console .pools-sharing{margin-top:0}

/* ---------- Tests console and Engine versions ---------- */
/* [claude-opus-5-5 2026-09-28] Tests tab rebuilt table-first (capacity board, filters, run table with inline detail,
   comparison) and the Engine tab's version-control register, both in the console's dense bevelled style. Scoped to
   .tx (Tests) and .ev (Engine versions); status colours follow the console LEDs. */
.fc .experiments,.fc .engine-controls{border-radius:5px}
.fc .experiments{background:transparent;border:0;overflow:visible}
.fc .experiments>[data-slot=bench-body]:not(:empty){margin-bottom:10px;background:var(--panel);border:1px solid var(--line);border-radius:5px}
.fc .experiments .benchmark-settings{border-top:0;padding:8px 12px}
.fc .experiments .benchmark-settings summary{font-size:11.5px;font-weight:600}
.fc .experiments .benchmark-settings[open] summary{margin-bottom:6px}
.fc .experiments .bench-prompt{margin:8px 0;gap:8px}
.fc .experiments .bench-prompt textarea{min-height:52px;font-size:11.5px}
.fc .experiments .bench-inputs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.fc .experiments .bench-inputs input,.fc .experiments .bench-prompt select{padding:4px 7px;font-size:11.5px;border-radius:3px}
.fc .experiments .benchmark-settings p{font-size:10.5px;margin:6px 0}
.tx,.ev{background:var(--panel);border:1px solid var(--line);border-radius:5px;box-shadow:inset 0 1px 0 #ffffff08,0 1px 0 #000;overflow:hidden;min-width:0;font-size:12px}
.ev{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.tx .fc-cap .fc-link,.ev .fc-cap .fc-link{margin-left:auto}
.tx-badge{display:inline-block;min-width:34px;padding:0 5px;border:1px solid;border-radius:2px;font-size:9px;font-weight:700;letter-spacing:.6px;line-height:15px;text-align:center;vertical-align:1px;white-space:nowrap}
.tx-badge.ok{color:#9fe8bb;border-color:#2f6e48;background:linear-gradient(#1c3526,#152a1d)}
.tx-badge.bad{color:#ffb4aa;border-color:#7a3a33;background:linear-gradient(#3a201d,#2c1715)}
.tx-badge.busy{color:#b9d7fb;border-color:#335a88;background:linear-gradient(#1c2c42,#152234)}
.tx-badge.warn{color:#f3d58f;border-color:#6d5626;background:linear-gradient(#352b16,#2a2211)}
.tx-badge.off{color:var(--muted);border-color:#4a4d54;background:linear-gradient(#26282c,#1d1f22)}
.tx-d{margin-left:5px;font-size:9.5px;font-weight:600;white-space:nowrap}
.tx-d.good{color:#6fd49a}.tx-d.bad{color:#f08a7e}.tx-d.same{color:var(--subtle)}.tx-d.warn{color:var(--amber)}
.tx-none{padding:10px 12px;color:var(--subtle);font-size:11px}
/* capacity board */
.tx-board{padding:8px 10px;border-bottom:1px solid var(--line);background:linear-gradient(#ffffff04,transparent);overflow-x:auto}
.tx-board[hidden]{display:none}
.tx-matrix{width:auto;border-collapse:separate;border-spacing:2px;font-variant-numeric:tabular-nums}
.tx-matrix td{width:96px}
.tx-more td{padding:8px!important;text-align:center;color:var(--subtle)}
.tx-matrix th{padding:2px 8px;font-size:9.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle);text-align:center;white-space:nowrap}
.tx-matrix thead th:first-child{text-align:left}
.tx-matrix-cap{padding:0 2px 4px;font-size:9.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}
.tx-matrix-cap small{margin-left:8px;text-transform:none;letter-spacing:0;font-weight:400;font-size:10px}
.tx-matrix caption{caption-side:top;text-align:left;padding:0 2px 4px;font-size:9.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}
.tx-matrix caption small{margin-left:8px;text-transform:none;letter-spacing:0;font-weight:400;font-size:10px}
.tx-matrix th small{margin-left:6px;text-transform:none;letter-spacing:0;font-weight:400;font-size:10px}
.tx-matrix tbody th{text-align:left;text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:600;color:var(--text);max-width:260px;overflow:hidden;text-overflow:ellipsis;font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px}
.tx-matrix td{min-width:74px;height:32px;padding:2px 6px;border:1px solid #ffffff10;border-radius:2px;text-align:center;cursor:pointer;background:#ffffff05;box-shadow:inset 0 1px 0 #ffffff0a}
.tx-matrix td b{display:block;font-size:13px;line-height:15px}
.tx-matrix td small{display:block;font-size:9.5px;color:var(--subtle);line-height:12px}
.tx-matrix td.goal{background:linear-gradient(#1f4a31,#173a26);border-color:#2f7a4c}.tx-matrix td.goal b{color:#a9f0c4}
.tx-matrix td.min{background:linear-gradient(#233429,#1b281f);border-color:#39573f}.tx-matrix td.min b{color:#cfe9d6}
.tx-matrix td.under{background:linear-gradient(#3a2f18,#2c2412);border-color:#6d5626}.tx-matrix td.under b{color:#f3d58f}
.tx-matrix td.none{background:linear-gradient(#3a201d,#2c1715);border-color:#6e3530}.tx-matrix td.none b{color:#ffb4aa}
.tx-matrix td.empty{cursor:default;color:var(--subtle);background:none;box-shadow:none;border-style:dashed}
.tx-matrix td:not(.empty):hover{outline:1px solid var(--mint);outline-offset:-1px}
/* [claude-sonnet-4-6 2026-09-28] Inset, dashed probe peak stays distinct from solid wave passes. */
.tx-matrix td.has-peak{padding:2px;vertical-align:top}
.tx-cap-peak{display:block;border:1px dashed;padding:2px 4px;border-radius:1px}
.tx-cap-peak.goal{background:linear-gradient(#1f4a31,#173a26);border-color:#2f7a4c;color:#a9f0c4}
.tx-cap-peak.min{background:linear-gradient(#233429,#1b281f);border-color:#39573f;color:#cfe9d6}
.tx-cap-peak.under{background:linear-gradient(#3a2f18,#2c2412);border-color:#6d5626;color:#f3d58f}
.tx-matrix .tx-cap-peak small{color:inherit;opacity:.85;white-space:nowrap}
.tx-cap-wave{display:block}
.has-peak .tx-cap-wave{margin-top:2px;padding:2px 4px;border-top:1px solid #ffffff18}
.has-peak .tx-cap-wave b{font-size:11px}
.tx-cap-wave.goal{color:#a9f0c4}.tx-cap-wave.min{color:#cfe9d6}.tx-cap-wave.under{color:#f3d58f}.tx-cap-wave.none{color:#ffb4aa}
/* filters */
.tx-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid var(--line);background:#0e0f12}
.tx-filters select,.tx-filters input{width:auto;min-height:24px;padding:2px 7px;border-radius:3px;font-size:11.5px;background:#141518}
.tx-filters select{max-width:230px}
.tx-filters input{flex:1 1 180px;min-width:120px;max-width:320px}
.tx-filters .button.small{min-height:24px;padding:2px 10px;font-size:11px}
/* runs table */
.tx-table td,.tx-table th{padding:4px 6px}
.tx-table .c-pick{width:22px;padding-right:0}
.tx-table .c-pick input{width:13px;height:13px;margin:0;vertical-align:middle}
.tx-table tbody tr.tx-row{cursor:pointer}
.tx-table tbody tr.tx-row.open td{background:var(--fc-sel)}
.tx-table tbody tr.tx-row.open td:first-child{box-shadow:inset 3px 0 0 var(--mint)}
.tx-table tbody tr.tx-row:focus-visible{outline:1px solid var(--mint);outline-offset:-1px}
.tx-run b{font-weight:650;color:var(--text)}
.tx-run small{display:inline;margin-left:6px;font-size:10.5px;color:var(--subtle)}
.tx-reason{display:inline-block;max-width:clamp(140px,17vw,290px);margin-left:7px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;color:var(--muted);font-size:11.5px}
.tx-row.fail .tx-reason{color:#e9b1a9}
.tx-row.running .tx-reason{color:#b9d7fb}
.tx-table td.goal{color:#8fe0aa;font-weight:700}.tx-table td.min{color:var(--text);font-weight:650}.tx-table td.under{color:var(--amber)}
.tx-prof{max-width:120px;overflow:hidden;text-overflow:ellipsis;font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px;color:var(--muted)}
.tx-empty{padding:26px 10px!important}
.tx-drow>td{padding:0!important;background:#0c0d10!important;white-space:normal!important;border-bottom:1px solid var(--line)!important}
.tx-detail{padding:10px 12px 12px;border-left:3px solid var(--mint)}
/* The expanded run spans the visible panel (width set from the host in JS) and stays in view when the table scrolls sideways. */
.tx-detail,.ev-detail{box-sizing:border-box;width:var(--tx-w,auto);max-width:var(--tx-w,none);position:sticky;left:0}
.tx-scroll{overflow-x:auto;max-width:100%}
/* global `td small` is a block; inside the expanded rows small labels stay inline unless set otherwise */
.tx-drow small,.ev-drow small,.tx-table td small,.ev-table td small{margin-top:0}
.tx-charts figcaption small,.tx-cmp-grid figcaption small,.tx-tails small{display:inline}
/* detail */
.tx-dhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.tx-verdict{display:flex;gap:8px;align-items:baseline;min-width:0;flex:1}
.tx-verdict p{margin:0;color:var(--text);font-size:12px;overflow-wrap:anywhere}
.tx-dact{display:flex;gap:6px;flex-wrap:wrap}
.tx-dact .button.small{min-height:24px;padding:2px 10px;font-size:11px}
.tx-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 8px;color:var(--subtle);font-size:11px}
.tx-meta b{color:var(--muted);font-weight:600}
.tx-art{font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px;overflow-wrap:anywhere}
.tx-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#ffffff04}
.tx-kpi{padding:5px 8px;border-right:1px solid #ffffff0b;border-bottom:1px solid #ffffff0b;min-width:0}
.tx-kpi small{display:block;font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-kpi b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.tx-kpi b i{font-style:normal;font-size:10px;font-weight:400;color:var(--subtle);margin-left:3px}
.tx-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;margin-top:8px}
.tx-charts.one{grid-template-columns:minmax(0,1fr)}
.tx-charts figure,.tx-cmp-grid figure{margin:0;border:1px solid var(--line);border-radius:3px;background:#08090b;padding:4px 6px 6px;min-width:0}
.tx-charts figcaption,.tx-cmp-grid figcaption{font-size:9.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle);margin:0 0 3px}
.tx-charts figcaption small,.tx-cmp-grid figcaption small{text-transform:none;letter-spacing:0;margin-left:6px}
.tx-dist,.tx-tl,.ev-tl{display:block;width:100%;height:120px}
.tx-cmp-grid .tx-dist{height:170px}
.tx-dist rect.ok{fill:#4f9e6c}.tx-dist rect.low{fill:#d0584b}.tx-dist rect.none{fill:#3a3d44}
.tx-dist .floor,.tx-tl .breach{stroke:#e7c992;stroke-width:1;stroke-dasharray:3 3}
.tx-dist .cmp{fill:none;stroke:#9bb9df;stroke-width:1.5}
.tx-dist .lbl,.tx-tl .lbl,.ev-tl .lbl{fill:#7c7d80;font-size:9px;font-family:inherit}
.tx-dist .floor-t{fill:#e7c992}
.tx-tl .dec{fill:#4f9bf033;stroke:#6aa8f0;stroke-width:1}
.tx-tl .run{fill:none;stroke:#e7c992;stroke-width:1.2}
.tx-tl .pre{fill:#b58be0}
.tx-tl .breach{stroke:#e0584a}
.tx-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:10px;color:var(--subtle)}
.tx-legend span::before{content:"";display:inline-block;width:10px;height:3px;margin-right:4px;vertical-align:middle;background:currentColor}
.tx-legend .dec::before{background:#6aa8f0}.tx-legend .run::before{background:#e7c992}.tx-legend .pre::before{background:#b58be0}.tx-legend .breach::before{background:#e0584a}
.tx-settings{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 4px;font-size:11px;color:var(--muted)}
.tx-settings small{display:block;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:var(--subtle)}
.tx-streams-toggle{margin:6px 0 4px;padding:0;background:none;border:0;color:var(--mint);font:inherit;font-size:11px;cursor:pointer}
.tx-streams{margin-top:2px;border:1px solid var(--line)}
.tx-streams tbody tr.tx-srow{cursor:pointer}
.tx-err{max-width:340px;overflow:hidden;text-overflow:ellipsis;color:#e9b1a9;font-size:11px}
.tx-out>td{white-space:normal!important;background:#08090b!important}
.tx-tails{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tx-tails small{font-size:9px;letter-spacing:.6px;color:var(--subtle)}
.tx-tails pre{max-height:180px;padding:6px 8px;border:1px solid var(--line);border-radius:3px;font-size:10.5px;line-height:1.5;white-space:pre-wrap;overflow:auto}
.tx-gate{margin-top:8px;font-size:11.5px;color:var(--muted)}.tx-gate p{margin:0 0 4px}
.tx-lines{margin-top:8px;max-height:160px;padding:6px 8px;border:1px solid var(--line);border-radius:3px;font-size:10.5px;line-height:1.5;overflow:auto}
.tx-raw{margin-top:8px;font-size:11px;color:var(--muted)}
.tx-raw summary{cursor:pointer;color:var(--subtle)}
.tx-raw pre{max-height:260px;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:3px;font-size:10.5px;line-height:1.5}
/* comparison */
.tx-compare{border-bottom:1px solid var(--line);background:#0c0d10}
.tx-cmp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:8px 10px}
.tx-cmp{table-layout:fixed}
.tx-cmp td,.tx-cmp th{white-space:normal!important;overflow-wrap:anywhere}
.tx-cmp thead th:first-child,.tx-cmp tbody th{width:34%}
.tx-cmp th{font-size:11px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0;background:none;height:auto;padding:3px 8px}
.tx-cmp thead th{font-size:9.5px;text-transform:uppercase;letter-spacing:.6px}
/* [claude-opus-5-5 2026-09-28] Prefill beside decode: prefill KPIs, decode/prefill flow per second, admission waterfall,
   TTFT per stream, live capacity tier. Prefill keeps the timeline's violet; queue is grey, decode the timeline's blue. */
.tx-sec{margin:8px 0 3px;font-size:9.5px;font-weight:650;letter-spacing:.8px;text-transform:uppercase;color:#c9b3ea}
.tx-pf .tx-kpis{background:linear-gradient(#b58be00a,#ffffff03);border-color:#3b3148}
.tx-pf .tx-kpi small{color:#a99bbd}
.tx-late{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:11px;color:var(--muted)}
.tx-late small{margin:0 4px;color:var(--subtle)}.tx-late b{font-weight:600;color:#e9b1a9}
.tx-livetier .tx-lt{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));border:1px solid #335a88;border-radius:3px;background:linear-gradient(#1c2c4222,#15223411)}
.tx-lt span{padding:4px 8px;border-right:1px solid #ffffff0b;border-bottom:1px solid #ffffff0b;min-width:0}
.tx-lt small{display:block;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-lt b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tx-flow{display:block;width:100%;height:150px}
.tx-flow .dec{fill:#4f9bf02e;stroke:#6aa8f0;stroke-width:1}
.tx-flow .pre{fill:#b58be033;stroke:#b58be0;stroke-width:1}
.tx-flow .axis{stroke:#ffffff14}
.tx-flow .cq,.tx-wf .q,.tx-ttft .q{fill:#6b7079}
.tx-flow .cp,.tx-wf .p,.tx-ttft .p{fill:#b58be0}
.tx-flow .cw,.tx-wf .w,.tx-ttft .w{fill:#8a6cae}
.tx-flow .cd,.tx-wf .d{fill:#4f86c6}
.tx-wf .d.bad{fill:#d0584b}
.tx-flow .hit{fill:transparent}.tx-flow .hit:hover{fill:#ffffff12}
.tx-flow .breach{stroke:#e0584a;stroke-width:1;stroke-dasharray:3 3}
.tx-flow .lbl,.tx-wf .lbl,.tx-ttft .lbl{fill:#7c7d80;font-size:9px;font-family:inherit}
.tx-flow .lbl.pf{fill:#b58be0}
.tx-wf{display:block;width:100%}
.tx-wf .tick{stroke:#ffffff0d}
.tx-wf g:hover rect{opacity:.75}
.tx-ttft .late rect{stroke:#e0584a;stroke-width:1}
.tx-ttft .med{stroke:#e7c992;stroke-width:1;stroke-dasharray:3 3}.tx-ttft .med-t{fill:#e7c992}
.tx-legend .cq::before{background:#6b7079}.tx-legend .cp::before{background:#b58be0}.tx-legend .cw::before{background:#8a6cae}.tx-legend .cd::before{background:#4f86c6}
.tx-legend .pre::before{background:#b58be0}
.tx-table td.tx-pfc{color:#d9c6f2}
.tx-table td.tx-pfc small{display:inline;margin-left:4px;font-size:9.5px;color:var(--subtle)}.tx-table td.tx-pfc small.bad{color:#f08a7e}  /* [claude-opus-5-5 2026-09-28] inline: one-line rows */
.tx-tiers td.tx-pfbad{color:#f3d58f}
.ev-pf{font-variant-numeric:tabular-nums;font-size:11px;color:#d9c6f2;white-space:nowrap}.ev-pf small{display:block;color:var(--subtle);font-size:9.5px}
.ev-cmp{margin-top:6px}.ev-cmp td,.ev-cmp th{padding:3px 8px}.ev-cmp .pf{color:#d9c6f2}
/* [claude-opus-5-5 2026-09-28] Prefill vs decode load (bars per group of streams decoding) and an opened capacity tier. */
.tx-trade p{margin:2px 0 5px;font-size:11.5px;color:var(--muted)}.tx-trade p b{color:#d9c6f2;font-weight:600}
.tx-trade>small{display:block;margin-top:3px;font-size:9.5px}
.tx-tradeoff{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}
.tx-tradeoff th,.tx-tradeoff td{padding:2px 6px;border-bottom:1px solid #ffffff08;text-align:left;font-weight:400}
.tx-tradeoff thead th{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--subtle)}
.tx-tradeoff tbody th{color:var(--muted);white-space:nowrap;width:1%}
.tx-tradeoff .num{text-align:right;width:1%;white-space:nowrap}
.tx-bar{position:relative;display:block;height:14px;min-width:70px;background:#ffffff05;border-radius:2px;overflow:hidden}
.tx-bar i{position:absolute;inset:0 auto 0 0;border-radius:2px}
.tx-bar.pf i{background:linear-gradient(90deg,#b58be066,#b58be0aa)}.tx-bar.dc i{background:linear-gradient(90deg,#4f86c655,#4f86c699)}
.tx-bar b{position:relative;padding-left:5px;font-size:10.5px;line-height:14px;font-weight:600;color:var(--text)}
.tx-tiert{font-weight:600;white-space:nowrap}
.tx-tiers tr.open>td{background:#b58be00d}
.tx-tierscroll{container-type:inline-size}
.tx-tierx{box-sizing:border-box;width:calc(100cqw - 20px);position:sticky;left:8px;padding:4px 2px 6px}
.tx-pf .tx-kpis{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}.tx-tierx .tx-charts{margin-top:2px}
.tx-tierstreams{max-height:320px;overflow:auto;margin-top:6px}

/* ---------- Engine versions ---------- */
.fc[data-tab=engine] .engine-controls>.operation-grid{padding:8px 12px 0}
.ev-now{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);background:linear-gradient(#ffffff05,transparent)}
.ev-now>div{padding:6px 10px;border-right:1px solid #ffffff0b;min-width:0}
.ev-now small{display:block;font-size:9.5px;letter-spacing:.6px;color:var(--subtle)}
.ev-now b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-now span{font-size:11px;color:var(--muted)}
.ev-now .bad,.ev-now em.bad{color:#f08a7e;font-style:normal}.ev-now .warn{color:var(--amber)}.ev-now .busy{color:#9cc6f7}
.ev-timeline{padding:6px 10px 8px;border-bottom:1px solid var(--line)}
.ev-tl-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.ev-tl-head small{font-size:9.5px;letter-spacing:.6px;color:var(--subtle)}
.ev-tl-head .segmented{padding:2px;gap:2px;border-radius:4px}
.ev-tl-head .segmented button{padding:2px 8px;font-size:10.5px}
.ev-tl{height:74px;background:#08090b;border:1px solid var(--line);border-radius:3px}
.ev-tl .era{fill:hsl(var(--h) 45% 32%);stroke:hsl(var(--h) 55% 55%);stroke-width:1}
.ev-tl .era.unverified{fill:hsl(var(--h) 25% 22%);stroke-dasharray:3 2}
.ev-tl .era-t{fill:#e9ebef;font-size:10px;font-family:"Cascadia Mono",Consolas,monospace;pointer-events:none}
.ev-tl .tick{stroke:#ffffff10}
.ev-tl .mark{fill:#6fd49a}.ev-tl .mark.failed{fill:#e0584a}.ev-tl .mark.unknown,.ev-tl .mark.expired{fill:#d9a441}
.ev-tl .crash{fill:#e0584a;stroke:#000;stroke-width:1}
.ev-tl .test{fill:#3a3d44}.ev-tl .test.pass{fill:#3fbf73}.ev-tl .test.fail{fill:#e0584a}
.tx-legend .era::before{background:hsl(210 45% 40%)}.tx-legend .mark-f::before{background:#e0584a}.tx-legend .mark-u::before{background:#d9a441}.tx-legend .crash::before{background:#e0584a;height:7px;width:7px;border-radius:50%}.tx-legend .tpass::before{background:#3fbf73}.tx-legend .tfail::before{background:#e0584a}
.ev-table td{padding:4px 8px}
.ev-table tbody tr.ev-row{cursor:pointer}
.ev-table tbody tr.ev-row.open td{background:var(--fc-sel)}
.ev-table tbody tr.ev-row.open td:first-child{box-shadow:inset 3px 0 0 var(--mint)}
.ev-table .c-node strong{font-family:"Cascadia Mono",Consolas,monospace;font-size:11px;max-width:300px}
.ev-swatch{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:1px;background:hsl(var(--h) 45% 40%);border:1px solid hsl(var(--h) 55% 60%);vertical-align:0}
.ev-why{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;color:#e9b1a9;font-size:10.5px}
.ev-table .c-act .button.small{min-height:22px;padding:1px 9px;font-size:10.5px}
.ev-cap{display:inline-flex;gap:2px;vertical-align:middle}
.ev-cap i{display:inline-grid;place-items:center;min-width:30px;height:24px;padding:0 2px;border:1px solid #ffffff12;border-radius:2px;font-style:normal;font-size:11px;font-weight:650;line-height:11px;background:#ffffff05}
.ev-cap i small{font-size:8px;font-weight:500;color:var(--subtle)}
.ev-cap i.goal{background:#1f4a31;border-color:#2f7a4c;color:#a9f0c4}.ev-cap i.min{background:#233429;border-color:#39573f;color:#cfe9d6}
.ev-cap i.under{background:#3a2f18;border-color:#6d5626;color:#f3d58f}.ev-cap i.none{background:#3a201d;border-color:#6e3530;color:#ffb4aa}
.ev-cap i.empty{color:var(--subtle);border-style:dashed;background:none}
.ev-drow>td{padding:0!important;background:#0c0d10!important;white-space:normal!important}
.ev-detail{padding:8px 12px 12px;border-left:3px solid var(--mint)}
.ev-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.ev-cols+.ev-cols{margin-top:10px}
.ev-detail h4{margin:4px 0 4px;font-size:9.5px;font-weight:650;letter-spacing:.7px;text-transform:uppercase;color:var(--subtle)}
.ev-detail .fc-kv{grid-template-columns:120px minmax(0,1fr);border:1px solid var(--line);border-radius:3px}
.ev-detail .fc-table{border:1px solid var(--line)}
.ev-detail .fc-table td,.ev-detail .fc-table th{padding:3px 8px;white-space:normal}
.ev-detail .fc-table td.nw{white-space:nowrap}
.ev-cfg th{font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px;text-transform:none;letter-spacing:0;color:var(--muted);background:none;height:auto}
.ev-cfg td{font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px;white-space:normal!important;overflow-wrap:anywhere}
.ev-cfg tr.changed td:nth-child(2){color:#f3d58f}.ev-cfg tr.added td:nth-child(2){color:#8fe0aa}.ev-cfg tr.removed td:nth-child(3){color:#f08a7e;text-decoration:line-through}
.ev-msg{max-width:520px;white-space:normal!important;overflow-wrap:anywhere;color:var(--muted);font-size:11px}
.ev-tests{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:11px;color:var(--muted)}
.ev-tests b.pass{color:#8fe0aa}.ev-tests b.fail{color:#f08a7e}
.ev-fold{display:flex;align-items:center;gap:10px}
.ev-table tbody[hidden]{display:none}
.ev-table tr.ev-fold-row td{padding:6px 10px!important;background:#0e0f12!important;border-top:1px solid var(--line)}
.ev-fold input{width:260px;max-width:50%;min-height:22px;padding:2px 7px;border-radius:3px;font-size:11.5px}
.ev-now span i{font-style:normal;color:var(--subtle)}
.ev-journal-box{border-top:1px solid var(--line)}
.ev-journal-box>summary{padding:7px 10px;cursor:pointer;font-size:11.5px;font-weight:600;background:var(--fc-cap)}
.ev-journal-box>summary span{margin-left:8px;font-weight:400;color:var(--subtle);font-size:11px}
.ev-journal-box .fc-link{margin:6px 10px}
.ev-checks{list-style:none;margin:10px 0;padding:0;font-size:12px}
.ev-checks li{position:relative;padding:4px 0 4px 20px;color:var(--muted)}
.ev-checks li::before{position:absolute;left:0;top:4px;font-weight:700}
.ev-checks li.ok::before{content:"✓";color:#6fd49a}.ev-checks li.bad{color:#f5b1a8}.ev-checks li.bad::before{content:"✕";color:#f08a7e}.ev-checks li.warn::before{content:"!";color:var(--amber)}
.ev-checks .checkbox-label{margin-top:4px}
.ev-note{font-size:11.5px}
@media (max-width:900px){
 .tx-charts,.tx-cmp-grid,.ev-cols,.tx-tails{grid-template-columns:minmax(0,1fr)}
 .ev-now{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .ev-now>div:first-child{grid-column:1/-1}
}
@media (max-width:600px){
 /* phone: run and verdict first; start time and workload tags live in the expanded detail */
 .tx-table th:nth-child(3),.tx-table tr.tx-row>td:nth-child(3),.tx-run small{display:none}
 .tx-matrix tbody th{max-width:120px}
 .tx-reason{max-width:150px}
 /* [claude-opus-5-5 2026-09-28] + the Prefill column (8, before Capacity); Saved moved to 10 */
 .ev-table th:nth-child(n+4):nth-child(-n+8),.ev-table tr.ev-row>td:nth-child(n+4):nth-child(-n+8),.ev-table th:nth-child(10),.ev-table tr.ev-row>td:nth-child(10){display:none}
}
/* [claude-opus-5-5 2026-10-11] GPUHub rentals strip (cloud_panel.js): term, time left and end per rented instance. */
.cl-rentals{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}
.cl-rental{display:grid;grid-template-columns:12px minmax(140px,1.3fr) minmax(80px,.6fr) minmax(110px,.8fr) minmax(120px,1fr);align-items:center;gap:12px;font-size:11.5px}
.cl-rental small{display:block;font-size:10px;color:var(--muted)}.cl-rental strong{font-variant-numeric:tabular-nums}
.cl-rentals .cl-note{margin:2px 0 0}
/* [claude-opus-5-5 2026-10-11] Routing rows: per-user live speeds under Active; the model handle never widens the row. */
.ax-live{white-space:normal;max-width:240px;margin-top:2px;line-height:1.35}
.ax-handle{max-width:240px}.ax-handle code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;display:inline-block;vertical-align:middle}
.ax-handle input{width:120px!important}
/* [claude-opus-5-5 2026-10-11] Owner: "completely revise and update the entire nodes page and all associated controls" in the
   site's compact register vocabulary (Silver first), the node graph made distinct like the Home page's, with per-stream
   decode as its own statistic and no limit on its plots. Panel captions read like the site's register headers (sentence
   case, 14px) and table headings like its column band; the node's readouts are inset wells; the graph's statistics,
   scope, window and Now/Average/Peak sit on one toolbar. */
.fc-head{align-items:center;margin-bottom:10px}
.fc-title h1{font-size:24px}
.fc-cap{min-height:40px;padding:6px 14px;background:linear-gradient(#ffffff07,#0000);font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted)}
.fc-cap-title{font-size:14px;font-weight:700;color:var(--text)}
.fc-cap-meta{display:inline-flex;align-items:center;gap:8px}
.fc-live{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--muted)}
.fc-table th{height:26px;padding:0 9px;font-size:10.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);background:linear-gradient(#00000026,#00000012);border-top:1px solid #ffffff06}
.fc-table th small{font-size:9.5px;color:var(--subtle);font-weight:400}
.fc-table td{padding:6px 9px}
.fc-fleet-table .c-node strong{font-size:12.5px}
.fc-fleet-table .c-node small{max-width:420px}
.fc-fleet-table .stream-pips{margin-right:6px;height:12px;vertical-align:-2px}
.fc-fleet-table .fc-pu{display:block;font-size:10px;line-height:1.2}
.fc-warn-text{color:#f0d19b}
.fc-alias{font-size:11px;font-weight:500;color:var(--muted);padding:1px 6px;margin-left:6px;border:1px solid var(--line);border-radius:3px;background:#0002;vertical-align:2px}
.fc-node-head{padding:9px 14px;background:linear-gradient(#ffffff07,#0000)}
.fc-node-id h2{font-size:15px}
.fc-tabs button{font-size:12px}
/* node detail: scope line, wells, toolbar, picker band, chart, legend */
.fc .node-detail{border-radius:0 0 5px 5px;border-top:0}
.fc .nd-scope-line{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:7px 14px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
.fc .nd-scope-line .metric-scope-label{display:inline;padding:0;font-size:11px}
.fc .nd-scope-line b{color:var(--text);font-weight:600}
.fc .nd-live{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:10.5px;font-variant-numeric:tabular-nums}
.fc .nd-head-acts{display:flex;gap:6px;flex-wrap:wrap}
.fc .nd-wells{grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 14px;border-bottom:1px solid var(--line)}
.fc .nd-wells dd>small b{color:var(--text);font-weight:600}
.fc .nd-wells dd>small .stream-pips{height:11px;margin-right:4px;grid-auto-columns:4px}
.fc .nd-dec .u-val{color:color-mix(in srgb,#3987e5 55%,var(--text))}
.fc .nd-pre .u-val{color:color-mix(in srgb,#9085e9 55%,var(--text))}
.fc .nd-ttft .u-val{color:color-mix(in srgb,#e0663a 50%,var(--text))}
.fc .nd-meter{width:100%;margin-top:3px}
.fc .nd-bar{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:8px 14px;border-bottom:1px solid var(--line);background:linear-gradient(#ffffff06,#00000010)}
.fc .nd-stats{display:flex;flex-wrap:wrap;gap:4px;padding:0;border:0;background:none}
.fc .nd-stat{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:3px;background:linear-gradient(#ffffff09,#00000012);color:var(--muted);font-size:11px;cursor:pointer}
.fc .nd-stat i{width:12px;height:3px;border-radius:1px;background:var(--stat);opacity:.3}
.fc .nd-stat:hover{color:var(--text)}
.fc .nd-stat[aria-pressed=true]{color:var(--text);border-color:color-mix(in srgb,var(--stat) 55%,var(--line));background:color-mix(in srgb,var(--stat) 15%,#0000);box-shadow:inset 0 1px 2px #0005}
.fc .nd-stat[aria-pressed=true] i{opacity:1}
.fc .nd-stats .nd-stat.primary::after{display:none}
.fc .nd-head-acts .button.small{min-height:24px;padding:2px 9px;font-size:11px;font-weight:500;gap:5px}
.fc .nd-head-acts .button.small svg{width:12px;height:12px}
.fc-fleet-table td.num{white-space:nowrap}
.fc-actions .button.small{min-height:26px;padding:3px 10px;font-size:11px}
.fc .nd-stat:disabled{opacity:.38;cursor:default}
.fc .nd-ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fc .nd-ctl .segmented{border:1px solid var(--line);margin:0}
.fc .nd-ctl .segmented button{min-height:24px;padding:2px 9px;font-size:11px}
.fc .nd-ctl .stat-toggle{margin-left:auto}
.fc .nd-range{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:8px 14px;border-bottom:1px solid var(--line);background:#0001;font-size:10.5px;color:var(--muted)}
.fc .nd-range[hidden],.fc .nd-picker[hidden]{display:none}
.fc .nd-range label{display:grid;gap:3px}
.fc .nd-range input{height:26px;font-size:11px}
.fc .nd-picker{border-bottom:1px solid var(--line);background:#00000010}
.fc .nd-picker-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 14px 5px}
.fc .nd-picker-title{font-size:11.5px;font-weight:600;color:var(--text)}
.fc .nd-picker-title span{font-weight:400;color:var(--muted)}
.fc .nd-picker .track-search{flex:1;min-width:120px;max-width:240px;height:26px;padding:3px 8px!important;font-size:11px!important}
.fc .nd-picker-acts{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.fc .nd-picker .track-options{display:flex;flex-wrap:wrap;gap:4px;padding:0 14px 6px;max-height:86px;overflow:auto;scrollbar-width:thin}
.fc .nd-opt{display:inline-flex;align-items:center;gap:5px;max-width:260px;height:24px;padding:0 8px 0 5px;border:1px solid var(--line);border-radius:3px;background:#0000;color:var(--muted);font-size:11px;cursor:pointer}
.fc .nd-opt>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc .nd-opt small{margin-left:5px;color:var(--subtle)}
.fc .nd-opt .track-check{display:inline-grid;place-items:center;width:13px;height:13px;border:1px solid var(--line);border-radius:2px;background:#0003}
.fc .nd-opt .track-check svg{width:10px;height:10px}
.fc .nd-opt[aria-checked=true]{color:var(--text);border-color:color-mix(in srgb,var(--track,#3987e5) 60%,var(--line));background:color-mix(in srgb,var(--track,#3987e5) 13%,#0000)}
.fc .nd-opt[aria-checked=true] .track-check{background:var(--track,#3987e5);border-color:var(--track,#3987e5);color:#fff}
.fc .nd-opt.active::after{content:'';width:6px;height:6px;margin-left:5px;border-radius:50%;background:#3fbf73;box-shadow:0 0 4px #3fbf7399}
.fc .nd-picker .track-picker-foot{padding:0 14px 7px;font-size:10px;color:var(--subtle)}
.fc .nd-chart{padding:10px 14px 8px}
.fc .nd-plot{position:relative;height:236px;border:0;background:none;padding:0}
.fc .nd-plot svg{display:block;overflow:visible}
.nd-grid{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges;opacity:.6}
.nd-grid.base{opacity:1}
.nd-ax{font-size:9.5px;fill:var(--subtle);font-variant-numeric:tabular-nums}
.nd-line{fill:none;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.nd-area{fill-opacity:.12;stroke:none}
.fc .nd-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding-top:7px;font-size:11px;color:var(--muted)}
.fc .nd-key{display:inline-flex;align-items:center;gap:6px;min-width:0}
.fc .nd-key i{flex:none;width:14px;height:3px;border-radius:1px}
.fc .nd-key b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.fc .nd-key small{color:var(--subtle);font-size:10px}
.fc .nd-track{max-width:240px;border:0;background:none;padding:2px 5px;border-radius:3px;color:var(--muted);font-size:11px;cursor:pointer}
.fc .nd-track>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc .nd-track:hover{background:#ffffff0b;color:var(--text)}
.fc .nd-track svg{width:10px;height:10px;opacity:.5}
.fc .nd-legend-sep{width:1px;height:14px;background:var(--line)}
.fc .chart-scope-note{padding-top:4px;font-size:10px;color:var(--subtle)}
.fc .chart-tooltip strong small{font-weight:400;color:var(--muted);font-size:9px}
/* requests and users register under the graph */
.fc .graph-register{border-top:1px solid var(--line)}
.fc .graph-register>.monitor-cap{min-height:40px;padding:6px 14px;background:linear-gradient(#ffffff07,#0000)}
.fc .graph-register>.monitor-cap h2{font-size:14px}
.fc .stream-tools{padding:7px 14px}
.fc .stream-register th{font-size:10.5px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted);background:linear-gradient(#00000026,#00000012);padding:6px 14px}
.fc .stream-register td{padding:6px 14px;font-size:12px}
/* hardware: one register row per GPU */
.fc .gpu-panel>summary{min-height:40px;padding:6px 14px}
.fc .gpu-row{grid-template-columns:minmax(150px,1.2fr) minmax(120px,1fr) minmax(150px,1.3fr) 90px;padding:8px 14px;gap:14px}
@media(max-width:1100px){.fc .nd-wells{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.fc .nd-wells{grid-template-columns:repeat(2,minmax(0,1fr))}.fc .nd-ctl .stat-toggle{margin-left:0}.fc .nd-live{margin-left:0}.fc .nd-plot{height:200px}}
/* [claude-opus-5-5 2026-10-11] Nodes page frame: More menu, the node's workspace under the fleet, tab-strip shortcuts, Rental tab. */
.fc .fc-node{margin-top:12px}
.fc .fc-cloud{margin-top:16px}
.fc-more{position:relative}
.fc-more .button svg,.fc-actions .button svg{width:12px;height:12px}
.fc-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:230px;padding:4px;border:1px solid var(--line);border-radius:5px;background:var(--panel);box-shadow:0 8px 24px #0009,inset 0 1px #ffffff08}
.fc-menu[hidden]{display:none}
.fc-menu button{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;border:0;border-radius:3px;background:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer}
.fc-menu button small{color:var(--subtle);font-size:10.5px}
.fc-menu button:hover,.fc-menu button:focus-visible{background:#ffffff0d;outline:none}
.fc-node-head{border-radius:5px 5px 0 0}
.fc-node-id h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fc-node-state{font-size:11px;font-weight:500;color:var(--muted)}
.fc-node-state.warn{color:#f0d19b}
.fc-node-actions .button.small{min-height:26px;padding:3px 10px;font-size:11px;gap:5px}
.fc-node-actions .button.small svg{width:12px;height:12px}
.fc-copy{font:inherit;font-family:"Cascadia Mono",Consolas,monospace;font-size:10.5px;color:var(--muted);background:none;border:0;padding:0;cursor:copy}
.fc-copy:hover{color:var(--text);text-decoration:underline dotted}
.fc-tabs{align-items:flex-end}
.fc-tab-acts{display:flex;gap:4px;margin-left:auto;align-self:center;padding:4px 0}
.fc-tab-act{height:22px;padding:0 8px;border:1px solid var(--line);border-radius:3px;background:linear-gradient(#ffffff09,#00000012);color:var(--muted);font-size:11px;cursor:pointer}
.fc-tab-act:hover{color:var(--text)}
.fc .fc-rental>.fc-panel{border-radius:0 0 5px 5px;border-top:0}
.fc-rental-wells{grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 14px}
.fc-rental-wells .u-val small{font-size:11px}
.fc[data-tab=infra] #operator-monitor>.provider-panel{margin-top:12px}
@media(max-width:1100px){.fc-rental-wells{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.fc-rental-wells{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-tab-acts{display:none}}
/* [claude-opus-5-5 2026-10-11] the line picker is the legend for compared users or streams: two rows until opened */
.fc .nd-picker .track-options{max-height:58px}
.fc .nd-picker.open .track-options{max-height:240px}
.fc .nd-opt b{margin-left:6px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.fc .nd-legend-lead{font-size:10px;color:var(--subtle)}
/* [claude-opus-5-5 2026-10-11] Engine tab: one register with the controls in its header, wells, notices, then versions. */
.fc .engine-controls{border-radius:0 0 5px 5px;border-top:0}
.fc .ec-head{flex-wrap:wrap}
.fc .ec-acts{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.fc .ec-acts .button.small{min-height:24px;padding:2px 9px;font-size:11px;font-weight:500;gap:5px}
.fc .ec-acts .button.small svg{width:12px;height:12px}
.fc .ec-wells{grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 14px}
.fc .ec-wells .u-val{gap:6px}
.fc .ec-wells .u-well.warn .u-val{color:#f0d19b}
.fc .ec-wells .u-well.bad .u-val{color:#f6c3ce}
.fc .engine-controls .u-notice{margin:0 14px 10px}
.fc .ec-off{margin:0 14px 10px;font-size:10.5px;color:var(--subtle)}
.fc .engine-versions{border-top:1px solid var(--line)}
.fc .ev-now{display:block;border:0;background:none}
.fc .ev-wells{grid-template-columns:2fr repeat(3,minmax(0,1fr));padding:10px 14px}
.fc .ev-wells .u-val{overflow:hidden;text-overflow:ellipsis}
.fc .ev-wells em.bad{color:#f6c3ce;font-style:normal}
.fc .ev-timeline{padding:6px 14px 10px}
.fc .ev-tl-head small{font-size:10.5px;letter-spacing:0;color:var(--muted)}
.fc .ev-journal-box>summary,.fc .operation-history>summary{display:flex;align-items:baseline;gap:8px;min-height:38px;padding:9px 14px;border-top:1px solid var(--line);background:linear-gradient(#ffffff06,#0000);font-size:13px;font-weight:700;cursor:pointer}
.fc .ev-journal-box>summary span,.fc .operation-history>summary span{font-size:11px;font-weight:400;color:var(--muted)}
.fc .ev-table .fc-tag{font-size:9px}
@media(max-width:1100px){.fc .ec-wells{grid-template-columns:repeat(3,minmax(0,1fr))}.fc .ev-wells{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.fc .ec-wells{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* engine tab fit: no inherited padding around the wells, the history band flush, capacity cells compact; rental meter */
.fc .engine-controls .engine-controls-body{display:block;padding:0}
.fc .engine-controls .operation-history{padding:0;margin:0;border:0;background:none}
.fc .engine-controls .operation-history>summary>span{display:inline;margin:0}
.fc .engine-controls .operation-history [data-operation-list]{padding:6px 14px}
.fc .ev-cap i{min-width:26px;height:22px;font-size:10.5px}
.fc .ev-table td,.fc .ev-table th{padding-left:7px;padding-right:7px}
.fc .fc-rental-wells .u-meter{width:100%}
/* [claude-opus-5-5 2026-10-11] Logs, Hardware and Access tabs in the register vocabulary. */
.fc .log-panel{border-radius:0 0 5px 5px;border-top:0;padding:0}
.fc .log-panel .log-acts{display:flex;gap:4px;margin-left:auto}
.fc .runtime-log-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 14px;border-bottom:1px solid var(--line);background:linear-gradient(#ffffff06,#00000010)}
.fc .runtime-log-toolbar>input{flex:1;min-width:180px;height:26px;padding:3px 8px!important;font-size:11.5px!important}
.fc .runtime-log-toolbar select{height:26px;padding:2px 6px;font-size:11.5px}
.fc .runtime-log-toolbar .log-period{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:end;gap:8px;padding-top:4px;font-size:10.5px;color:var(--muted)}
.fc .runtime-log-toolbar .log-period[hidden]{display:none}
.fc .runtime-log-toolbar .log-period label{display:grid;gap:3px}
.fc .runtime-log-toolbar .log-period input{height:26px;font-size:11px}
.fc .fc-tab-act[aria-pressed=false],.fc .fc-tab-act[aria-expanded=true]{color:var(--text);border-color:#8b7047;background:#352b1c}
.fc .fc-tab-act.danger{color:#f6c3ce}
.fc .log-output{max-height:520px;min-height:200px;overflow:auto;padding:4px 0;font-size:11px;background:#00000014;scrollbar-width:thin}
.fc .log-line{display:grid;grid-template-columns:76px 62px 84px minmax(0,1fr);gap:10px;align-items:baseline;padding:2px 14px;border:0;line-height:1.45}
.fc .log-line:nth-child(even){background:#ffffff04}
.fc .log-line:hover{background:#ffffff09}
.fc .log-line time{color:var(--subtle);font-variant-numeric:tabular-nums;white-space:nowrap}
.fc .log-line .log-level{justify-self:start;padding:0 5px;border:1px solid var(--line);border-radius:3px;font-size:9.5px;line-height:15px;color:var(--muted);background:var(--raised);text-transform:none}
.fc .log-line .log-level.warning{background:#352b1c;border-color:#8b7047;color:#f0d19b}
.fc .log-line .log-level.error{background:#382028;border-color:#925c6a;color:#f6c3ce}
.fc .log-line .log-level.debug{opacity:.7}
.fc .log-line .log-source{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc .log-line code{font-family:"Cascadia Mono",Consolas,monospace;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);background:none;padding:0}
.fc .log-line.error code{color:#f6c3ce}.fc .log-line.warning code{color:#f0d19b}
.fc .log-foot{display:flex;align-items:center;gap:10px;padding:6px 14px;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted)}
.fc .log-foot [data-log-context]{margin-left:auto;color:var(--subtle)}
/* hardware */
.fc .gpu-panel{border-radius:0 0 5px 5px;border-top:0}
.fc .gpu-panel>summary{list-style:none}
.fc .gpu-panel>summary::-webkit-details-marker{display:none}
.fc .hardware-content{padding:0}
.fc .hw-wells{grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 14px;border-bottom:1px solid var(--line)}
.fc .hw-wells .u-meter{width:100%;margin-top:3px}
.fc .hw-table td{vertical-align:middle}
.fc .hw-meter{min-width:180px}
.fc .hw-meter b{display:block;font-weight:600;font-variant-numeric:tabular-nums}
.fc .hw-meter b small{font-weight:400;color:var(--muted)}
.fc .hw-meter .u-meter{max-width:220px;margin-top:3px}
/* access */
.fc .fc-access-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:7px 14px;border-bottom:1px solid var(--line);background:linear-gradient(#ffffff06,#00000010);font-size:11px}
.fc .fc-access-bar .fc-dim{margin-right:4px}
.fc .fc-access-sep{width:1px;height:16px;margin:0 6px;background:var(--line)}
.fc-kv dt{text-transform:none;letter-spacing:0;font-size:11px;color:var(--muted);padding:5px 14px}
.fc-kv dd{padding:5px 14px}
.fc-kv dd .fc-copy{font-size:11px}
@media(max-width:1100px){.fc .hw-wells{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.fc .hw-wells{grid-template-columns:repeat(2,minmax(0,1fr))}.fc .log-line{grid-template-columns:60px 54px minmax(0,1fr)}.fc .log-line .log-source{display:none}.fc-access-grid{grid-template-columns:1fr}}
.fc .fc-tabs .fc-tab-act{flex:none;height:22px;margin:0;padding:0 8px;border:1px solid var(--line);border-radius:3px;background:linear-gradient(#ffffff09,#00000012);color:var(--muted);font-size:11px;box-shadow:none}
.fc .fc-tabs .fc-tab-act:hover{color:var(--text);background:linear-gradient(#ffffff12,#00000012)}
.fc #operator-monitor{margin-top:0}
.fc .hw-meter b small{display:inline;margin-left:3px}
.fc .fc-access-bar .danger{margin-left:auto}
/* [claude-opus-5-5 2026-10-11] Tests tab: sentence-case captions, the filters as the site's toolbar strip, a table that fits. */
.fc .experiments{border-radius:0 0 5px 5px;border-top:0;padding:0;overflow:hidden}
.fc .tx-board{padding:8px 14px}
.fc .tx-matrix-cap,.fc .tx-matrix caption{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);padding:0 0 6px}
.fc .tx-matrix-cap small,.fc .tx-matrix caption small{color:var(--subtle)}
.fc .tx-matrix th{font-size:10.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.fc .tx-filters{padding:7px 14px;background:linear-gradient(#ffffff06,#00000010)}
.fc .tx-filters select,.fc .tx-filters input{min-height:26px;background:var(--bg)}
.fc .tx-filters select{max-width:180px}
.fc .tx-filters .fc-link{margin-left:auto}
.fc .tx-table td,.fc .tx-table th{padding:5px 7px}
.fc .tx-reason{max-width:clamp(120px,13vw,220px)}
.fc .tx-prof{max-width:110px}
.fc .tx-table .tx-badge{font-size:9.5px}
/* the engine test launcher above the runs */
.fc .benchmark-settings{border-bottom:1px solid var(--line)}
.fc .benchmark-settings>summary{display:flex;align-items:baseline;gap:8px;min-height:40px;padding:9px 14px;background:linear-gradient(#ffffff07,#0000);font-size:14px;font-weight:700;cursor:pointer}
.fc .benchmark-settings>summary span{font-size:11px;font-weight:400;color:var(--muted)}
.fc .benchmark-settings .bench-prompt,.fc .benchmark-settings .bench-inputs,.fc .benchmark-settings .bench-budget,.fc .benchmark-settings>p,.fc .benchmark-settings>button{margin-left:14px;margin-right:14px}
.fc-fleet-table td small.fc-dim:not(.fc-pu):not(.fc-sub-num){display:inline}
.fc .graph-register>.monitor-cap h2{font-weight:700}
.fc .stream-tools .segmented{padding:2px;gap:0}
.fc .stream-tools .segmented button{min-height:22px;padding:2px 9px;font-size:11px}
.fc .stream-tools input{height:26px;font-size:11.5px}
.fc .stream-register td small{font-size:10px}
.fc .tx-table td,.fc .tx-table th{padding:5px 6px}
.fc .tx-reason{max-width:clamp(110px,11vw,190px)}
.fc .tx-prof{max-width:92px}
/* [claude-opus-5-5 2026-10-11] Deploy wizard and node dialogs: sentence-case field labels, tidy host chips, compact inputs. */
.fc-field>span{font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.fc-window .fc-chip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 9px;line-height:1.3}
.fc-window .fc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.fc-window .fc-field input,.fc-window .fc-field select{min-height:30px}
.node-admin-dialog input,.node-admin-dialog select{min-height:30px;padding:5px 9px;font-size:12px}
.node-admin-dialog label{font-size:11px;color:var(--muted)}
.node-admin-dialog .node-settings-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:#00000014;font-size:11.5px}
.node-admin-dialog .node-settings-links span{color:var(--subtle)}
.node-admin-dialog .node-settings-links p{display:none}
.node-admin-dialog .node-danger .admin-cap h2{font-size:13px}
/* [claude-opus-5-5 2026-10-11] GPUHub panel: the credit row as inset wells, compact link selects and power buttons. */
.cl-credit{gap:6px;padding:10px 14px}
.cl-credit>div{min-width:120px;padding:6px 9px 7px;border-radius:4px;border:1px solid var(--u-well-edge);background:var(--u-well-bg);box-shadow:var(--u-well-shadow)}
.cl-credit>div.cl-spark{min-width:0;border:0;background:none;box-shadow:none}
.cl-credit small{font-size:9.5px;text-transform:none;letter-spacing:0;opacity:1;color:var(--subtle)}
.cl-credit strong{display:block;font-size:15px;font-weight:600}
.cl-credit>.led{margin-right:2px}
.fc-cloud select{height:24px;font-size:11px;padding:1px 4px;max-width:180px}
.cl-actions .button.small{min-height:24px;padding:2px 9px;font-size:11px}
.cl-rentals{padding:10px 14px}
.fc-menu{min-width:320px}
.fc .fc-access{margin-top:0}.fc .fc-access .fc-access-grid{margin-top:12px}
.fc .nd-picker-acts .button.small,.fc .nd-range .button.small{min-height:24px;padding:2px 9px;font-size:11px;font-weight:500}
.fc .nd-range [data-slot=history-range-label]{flex-basis:100%;font-size:10px;color:var(--subtle)}
/* [claude-opus-5-5 2026-10-11] Nodes at a glance: views, the fleet bar, one card per node, the node menu, the Machine tab. */
.fc:not([data-view=nodes]) .fc-view-nodes,.fc:not([data-view=rentals]) .fc-view-rentals,.fc:not([data-view=deploys]) .fc-view-deploys{display:none}
.fc .fc-views{margin-right:6px}
.fc .fc-views button,.fc .fc-fleet-mode button{min-height:26px;padding:3px 11px;font-size:11.5px}
.fc-fleet-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px;min-height:30px}
.fc-fleet-bar .fc-cap-meta{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.fc-fleet-bar .fc-filter{margin-left:auto}
.fc[data-fleet=cards] .fc-fleet,.fc[data-fleet=table] .fc-cards{display:none}
.fc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}
.fc-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:var(--panel);box-shadow:inset 0 1px 0 #ffffff08,0 1px 0 #000;cursor:pointer;min-width:0}
.fc-card:hover{border-color:color-mix(in srgb,var(--mint) 35%,var(--line))}
.fc-card.selected{border-color:color-mix(in srgb,var(--mint) 70%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mint) 40%,transparent),0 1px 0 #000}
.fc-card:focus-visible{outline:1px solid var(--mint);outline-offset:1px}
.fc-card.bad{border-left:3px solid #c0504d}.fc-card.warn{border-left:3px solid #c98500}
.fc-card header{display:flex;align-items:center;gap:8px;min-width:0}
.fc-card header strong{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-card-state{margin-left:auto;flex:none;padding:0 6px;border:1px solid var(--line);border-radius:3px;font-size:10.5px;line-height:17px;white-space:nowrap}
.fc-card-state.ok{background:#203a2d;border-color:#557f64;color:#bce7ca}.fc-card-state.warn{background:#352b1c;border-color:#8b7047;color:#f0d19b}.fc-card-state.bad{background:#382028;border-color:#925c6a;color:#f6c3ce}
.fc-card-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
.fc-card-nums>div{padding:5px 8px 6px;border-radius:4px;border:1px solid var(--u-well-edge);background:var(--u-well-bg);box-shadow:var(--u-well-shadow);min-width:0}
.fc-card-nums dt{font-size:9.5px;color:var(--subtle);white-space:nowrap}.fc-card-nums dt small{font-size:9px}
.fc-card-nums dd{margin:1px 0 0;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.fc-card-nums dd small{font-size:10.5px;font-weight:500;color:var(--muted);margin-left:3px}
.fc-card-nums>div>small{display:block;font-size:10px;color:var(--muted);white-space:nowrap}
.fc-card-nums .dec dd{color:color-mix(in srgb,#3987e5 55%,var(--text))}.fc-card-nums .pre dd{color:color-mix(in srgb,#9085e9 55%,var(--text))}.fc-card-nums .ttft dd{color:color-mix(in srgb,#e0663a 50%,var(--text))}
.fc-card-load{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--muted)}
.fc-card-load b{color:var(--text);font-variant-numeric:tabular-nums}
.fc-card-load .stream-pips{margin-right:0}
.fc-spark{display:block;width:100%;height:34px}
.fc-spark path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.fc-spark .dec{stroke:#3987e5}.fc-spark .pre{stroke:#9085e9;opacity:.75}
.fc-spark-key{display:flex;gap:10px;margin-top:-4px;font-size:9.5px;color:var(--subtle)}
.fc-spark-key i{display:inline-block;width:10px;height:2px;margin-right:4px;vertical-align:middle}.fc-spark-key i.dec{background:#3987e5}.fc-spark-key i.pre{background:#9085e9}
.fc-spark-key span:last-child{margin-left:auto}
.fc-card footer{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding-top:6px;border-top:1px solid #ffffff0a;font-size:11px;color:var(--muted)}
.fc-card-rent{display:inline-flex;align-items:center;gap:6px}.fc-card-rent b{color:var(--text)}
.fc-card-rent .u-meter{width:70px;margin:0}
.fc-card-issues{margin-left:auto;color:#f0d19b}
.fc-node-menu{min-width:280px}
.fc-node-actions{display:flex;align-items:center;gap:6px}
.fc-node-actions [data-fc=node-menu]{min-width:30px;font-size:14px;line-height:1}
/* the Machine tab: hardware, then the rental, then access */
.fc[data-tab=machine] .fc-node{display:flex;flex-direction:column}
.fc[data-tab=machine] .fc-node>.fc-node-head{order:0}.fc[data-tab=machine] .fc-node>.fc-tabs{order:1}
.fc[data-tab=machine] .fc-node>#operator-monitor{order:2}.fc[data-tab=machine] .fc-node>.fc-rental{order:3;margin-top:12px}.fc[data-tab=machine] .fc-node>.fc-access{order:4;display:block}
.fc[data-tab=machine] #node-inspector>:not(.gpu-panel){display:none!important}
.fc:not([data-tab=machine]) .fc-rental,.fc:not([data-tab=machine]) .fc-access{display:none!important}
.fc[data-tab=machine] .fc-rental>.fc-panel{border-top:1px solid var(--line);border-radius:5px}
.fc[data-tab=machine] .fc-access .fc-access-grid{margin-top:12px}
.fc .fc-provider-host .provider-panel{margin-top:12px}
@media(max-width:700px){.fc-cards{grid-template-columns:1fr}.fc .fc-views{order:9;width:100%}.fc-fleet-bar .fc-filter{margin-left:0;flex:1}}
/* [claude-opus-5-5 2026-10-11] Live tab: one toolbar row, the statistics picker, combined/split and S/M/L, a drag-to-resize
   edge, who is on the node now, and the full register folded. */
.fc .nd-bar{flex-direction:row;padding:7px 14px}
.fc .nd-bar .nd-ctl{width:100%}
.fc .nd-bar .stat-toggle{margin-left:auto}
.fc .nd-bar [data-monitor=pause]{min-height:24px;padding:2px 9px;font-size:11px;font-weight:500}
.fc .nd-pop{position:relative}
.fc .nd-pop-btn{height:26px;padding:0 10px;font-size:11.5px;color:var(--text)}
.fc .nd-pop-btn b{display:inline-block;min-width:16px;margin:0 2px;padding:0 4px;border-radius:8px;background:#3987e5;color:#fff;font-size:10px;line-height:15px;text-align:center}
.fc .nd-pop-panel{position:absolute;left:0;top:calc(100% + 4px);z-index:30;width:250px;padding:6px;border:1px solid var(--line);border-radius:5px;background:var(--panel);box-shadow:0 8px 24px #0009}
.fc .nd-pop-panel[hidden]{display:none}
.fc .nd-pop-head{padding:2px 4px 6px;font-size:11px;font-weight:600}.fc .nd-pop-head small{font-weight:400;color:var(--subtle);margin-left:4px}
.fc .nd-pop-panel .nd-stats{display:grid;grid-template-columns:1fr;gap:2px}
.fc .nd-pop-panel .nd-stat{justify-content:flex-start;width:100%;height:26px;border-color:transparent;background:none}
.fc .nd-pop-panel .nd-stat::before{content:'';width:12px;height:12px;border:1px solid var(--line);border-radius:2px;background:#0003;flex:none}
.fc .nd-pop-panel .nd-stat[aria-pressed=true]::before{background:var(--stat);border-color:var(--stat);box-shadow:inset 0 0 0 2px var(--panel)}
.fc .nd-pop-panel .nd-stat i{width:16px;height:3px;opacity:1}
.fc .nd-pop-panel .nd-stat[aria-pressed=true]{background:color-mix(in srgb,var(--stat) 10%,#0000);border-color:transparent;box-shadow:none}
.fc .nd-viewseg button,.fc .nd-sizeseg button{min-height:24px;padding:2px 9px;font-size:11px}
.fc .nd-plots{position:relative}
.fc .nd-chart.split .nd-plot+.nd-plot{margin-top:4px;border-top:1px dashed #ffffff0d}
.fc .nd-plot{height:auto}
.nd-plot-title{font-size:10.5px;fill:var(--muted)}
.fc .nd-resize{height:9px;margin:2px 0 0;cursor:ns-resize;border-radius:3px;background:linear-gradient(#0000 3px,var(--line) 3px,var(--line) 4px,#0000 4px,#0000 6px,var(--line) 6px,var(--line) 7px,#0000 7px) center/40px 9px no-repeat}
.fc .nd-resize:hover{background-color:#ffffff08}
.fc .nd-now,.fc .nd-register{border-top:1px solid var(--line)}
.fc .nd-now>.fc-cap,.fc .nd-register>summary{border-bottom:1px solid var(--line)}
.fc .nd-register>summary{cursor:pointer;list-style:none}
.fc .nd-register>summary::-webkit-details-marker{display:none}
.fc .nd-register>summary .fc-cap-title::before{content:'▸ ';color:var(--muted)}
.fc .nd-register[open]>summary .fc-cap-title::before{content:'▾ '}
.fc .nd-register .graph-register>.monitor-cap{display:none}
.fc .nd-register .graph-register{border-top:0}
.fc .nd-now-table td{padding:5px 9px}
.fc .nd-now-dec{min-width:200px}.fc .nd-now-dec b{font-variant-numeric:tabular-nums}
.fc .nd-now-dec .u-meter{display:inline-block;width:110px;margin:0 0 0 10px;vertical-align:middle}
.fc .nd-now-table .owner-link{font-weight:600}
.fc .nd-scope-line{padding:6px 14px;border-bottom:0}
@media(max-width:700px){.fc .nd-bar .stat-toggle{margin-left:0}.fc .nd-now-dec .u-meter{display:none}}
.fc .nd-ctl .segmented{padding:1px;gap:0;border-radius:4px}
.fc .nd-ctl .segmented button{min-height:22px;padding:1px 8px;font-size:11px;border-radius:3px}
.fc .nd-ctl{gap:5px}
.fc .nd-now-dec{white-space:nowrap}.fc .nd-now-table td.num{white-space:nowrap}
.fc .nd-now-dec small{margin-right:2px}
.fc .nd-now-table small{display:inline}
.fc[data-tab=machine] .fc-node>.fc-rental{display:block}
/* [claude-opus-5-5 2026-10-11] The chart draws at its own measured size; operator.css's .chart-plot svg{width:100%;height:100%}
   was rescaling it. */
.fc .nd-plot svg{width:auto;height:auto;max-width:none}
/* [claude-opus-5-5 2026-10-11] Streams now: every stream on one 21px line, user rows as bands, side-by-side columns so the
   whole node fits without scrolling. */
.fc .nd-now>.fc-cap{gap:12px}
.fc .nd-now>.fc-cap .fc-cap-meta b{color:var(--text);font-weight:600}
.fc .nd-b-mode{margin-left:auto}.fc .nd-b-mode button{min-height:22px;padding:1px 9px;font-size:11px}
.nd-board{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));align-items:start}
.nd-board>.nd-b-table+.nd-b-table{border-left:1px solid var(--line)}
.nd-b-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11.5px;font-variant-numeric:tabular-nums}
.nd-b-table th{height:22px;padding:0 6px;font-size:10px;font-weight:500;color:var(--muted);text-align:left;background:linear-gradient(#00000026,#00000012);border-bottom:1px solid var(--line);white-space:nowrap}
.nd-b-table th.num{text-align:right}
.nd-b-table th button{all:unset;cursor:pointer;color:inherit}.nd-b-table th button:hover{color:var(--text)}
.nd-b-table th.sorted{color:var(--text)}
.nd-b-table th:first-child{width:auto;padding-left:12px}
.nd-board.grouped .nd-b-table th:nth-child(2){width:96px}.nd-board.grouped .nd-b-table th:nth-child(3){width:68px}
.nd-board .nd-b-table th:nth-last-child(4){width:50px}.nd-board .nd-b-table th:nth-last-child(3){width:44px}
.nd-board .nd-b-table th:nth-last-child(2){width:58px}.nd-board .nd-b-table th:nth-last-child(1){width:36px}
.nd-board.flat .nd-b-table th:first-child{width:100px}.nd-board.flat .nd-b-table th:nth-child(2){width:auto}.nd-board.flat .nd-b-table th:nth-child(3){width:84px}.nd-board.flat .nd-b-table th:nth-child(4){width:70px}.nd-board.flat .nd-b-table th:first-child{width:92px}
.nd-b-table td{height:21px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid #ffffff06}
.nd-b-table td.num{text-align:right}.nd-b-table td:first-child{padding-left:12px}
.nd-b-table td small{margin-left:3px;font-size:9.5px;color:var(--subtle)}
.nd-b-table tr.nd-b-row:hover td{background:#ffffff07}
.nd-b-table .text-button{font-size:11.5px;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.nd-b-id .text-button{color:var(--muted);font-family:Consolas,'Lucida Console',monospace;font-size:10.5px}
.nd-b-id .text-button:hover,.nd-b-user .text-button:hover{color:var(--text);text-decoration:underline}
.nd-b-lamp{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;vertical-align:middle;background:#5d6b7a;box-shadow:inset 0 1px #ffffff55,0 0 0 1px #0007}
.nd-b-lamp.decode,.nd-b-lamp.running{background:#3987e5}.nd-b-lamp.prefill{background:#9085e9}.nd-b-lamp.queued{background:#d49a1c}.nd-b-lamp.recovering{background:#e0663a}
.nd-b-dec{position:relative}
.nd-b-dec b,.nd-b-pre b{font-weight:600}
.nd-b-dec b{color:color-mix(in srgb,#3987e5 50%,var(--text))}.nd-b-pre b{color:color-mix(in srgb,#9085e9 50%,var(--text))}
.nd-b-dec.slow b,td.slow{color:#f0d19b}
.nd-b-bar{position:absolute;left:6px;right:6px;bottom:2px;height:2px;border-radius:1px;background:#0000002e}
.nd-b-bar>i{display:block;height:100%;border-radius:1px;background:#3987e5;opacity:.75}
.nd-b-dec.slow .nd-b-bar>i{background:#d49a1c}
.nd-b-q{color:#f0d19b;font-size:10.5px}
.nd-b-user-row td{height:22px;background:linear-gradient(#ffffff08,#ffffff03);border-top:1px solid #ffffff0a;border-bottom:1px solid var(--line);font-weight:600}
.nd-b-user-row td.num{font-weight:600;color:var(--text)}
.nd-b-user-row .owner-link{font-weight:600}
.nd-b-user-row td:first-child small{margin-left:6px;padding:0 5px;border-radius:7px;background:#0000003a;color:var(--muted);font-weight:500}
.nd-b-table tbody tr:first-child.nd-b-user-row td{border-top:0}
@media(max-width:700px){.nd-board{grid-template-columns:1fr;overflow-x:auto}.nd-b-table{min-width:430px}.nd-board>.nd-b-table+.nd-b-table{border-left:0}.fc .nd-b-mode{margin-left:0}}
.fc .nd-b-table td small{display:inline;margin-top:0}
.nd-b-dc{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.nd-b-dc>b,.nd-b-dc>span{flex:none;min-width:30px;text-align:right}
.fc .nd-b-dec .nd-b-bar{position:static;flex:1;min-width:16px;height:5px;border-radius:2px;background:linear-gradient(#08090b,#101114);box-shadow:inset 0 1px 2px #0009,0 1px #ffffff07}
.fc .nd-b-dec .nd-b-bar>i{border-radius:2px;background:linear-gradient(#5ea2f0,#2f74cc);box-shadow:inset 0 1px #ffffff40;opacity:1}
.fc .nd-b-dec.slow .nd-b-bar>i{background:linear-gradient(#e6b24a,#b98213)}
@media(max-width:700px){.nd-board{display:block;overflow-x:auto}.nd-board .nd-b-table{min-width:470px}.nd-board.flat .nd-b-table{min-width:560px}.fc .nd-b-dec .nd-b-bar{display:none}}

/* [claude-opus-5-5 2026-10-11] Every request in the window: one 21px line per row, figures in their own right-aligned columns. */
.fc .nd-register .stream-register{max-height:min(560px,62vh)}
.fc .stream-register th{height:22px;padding:0 8px;font-size:10px;white-space:nowrap}
.fc .stream-register th.num{text-align:right}.fc .stream-register th:first-child,.fc .stream-register td:first-child{padding-left:14px}
.fc .stream-register th small{display:inline;font-size:9px;color:var(--subtle);margin:0}
.fc .stream-register td{height:21px;padding:0 8px;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;border-bottom:1px solid #ffffff06}
.fc .stream-register td.num{text-align:right}
.fc .stream-register td small{display:inline;margin:0 0 0 4px;font-size:9.5px;color:var(--subtle)}
.fc .stream-register tr:nth-child(even) td{background:#ffffff04}.fc .stream-register tbody tr:hover td{background:#ffffff08}
.fc .stream-register strong{font-weight:600;color:color-mix(in srgb,#3987e5 50%,var(--text))}
.fc .stream-register .stream-id{display:inline;font-family:Consolas,"Lucida Console",monospace;font-size:10.5px;color:var(--muted)}
.fc .stream-register .owner-link{display:inline;font-size:11.5px;font-weight:600}
.fc .stream-register .text-button{font-size:11.5px;color:var(--text)}
.fc .stream-register .stream-phase{font-size:10.5px}
.fc .stream-register table.reg-streams th:nth-child(1){width:22%}.fc .stream-register table.reg-streams th:nth-child(2){width:15%}.fc .stream-register table.reg-streams th:nth-child(3){width:13%}
.fc .stream-register table.reg-users th:nth-child(1){width:22%}
.fc .stream-tools{padding:6px 14px}.fc .stream-tools .segmented button{min-height:22px;padding:1px 9px;font-size:11px}.fc .stream-tools input{height:24px;font-size:11.5px}
@media(max-width:700px){.fc .stream-register{overflow-x:auto}.fc .stream-register table{display:table;min-width:640px}.fc .stream-register thead{display:table-header-group}.fc .stream-register tbody{display:table-row-group}.fc .stream-register tr{display:table-row;padding:0}.fc .stream-register td{display:table-cell;padding:0 8px}.fc .stream-register td:before{content:none}}
.xp-shell .fc .stream-register strong{color:#1B4FA8}.xp-shell .fc .stream-register tr:nth-child(even) td{background:#F7F6F0}.xp-shell .fc .stream-register tbody tr:hover td{background:#EEF3FB}
