:root{--ink: #1a1f1c;--muted: #5b6b62;--muted-soft: #8a968e;--line: #d7e2db;--line-soft: #e8ece9;--side: rgba(255, 255, 255, .72);--side-active: #1f6f4a;--bg-panel: rgba(255, 255, 255, .82);--accent: #1f6f4a;--danger: #c43c3c;--ok: #1f6f4a;--busy: #b8860b;--z-skip: 50;--type: "IBM Plex Sans", "Noto Sans SC", sans-serif;color-scheme:light}html,body,#root{height:100%;margin:0;overflow:hidden}#root,#root>.ant-app,#main{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}#main{flex:1 1 auto}body{font:14px/1.5 var(--type);color:var(--ink);background:radial-gradient(circle at 10% 10%,#dceee4 0%,transparent 40%),radial-gradient(circle at 90% 0%,#f3ebe0 0%,transparent 35%),linear-gradient(180deg,#f7faf8,#eef3f0);touch-action:manipulation}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:8px;top:-40px;z-index:var(--z-skip);padding:4px 10px;background:var(--ink);color:#fff}.skip-link:focus{top:8px}.app{display:grid;grid-template-columns:188px minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.app>*{min-height:0;min-width:0}.side{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto}.side-brand{padding:14px 12px 10px;font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--ink)}.side-label{padding:10px 12px 2px;font-size:12px;color:var(--muted-soft)}.side a.item{display:block;margin:0 6px;padding:6px 8px;color:#3d4a43;text-decoration:none;border-radius:6px;border:1px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side a.item:hover{background:#f3f7f4;border-color:#e8ece9}.side a.item.active{background:#1f6f4a;border-color:#1f6f4a;color:#fff;font-weight:600}.side-btn{margin:6px 12px 4px;width:calc(100% - 24px);padding:5px 8px;font:inherit;cursor:pointer;color:var(--accent);background:#f7faf8;border:1px solid #c5d6cc;border-radius:6px;text-align:left}.side-btn:hover{background:#eef5f1}.side a.item.nested,.side-btn.nested{margin-left:12px;width:calc(100% - 30px)}.side-foot{margin-top:auto;padding:10px 12px 12px;border-top:1px solid var(--line);font-size:13px}.side-foot .who{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.side-foot button{background:none;border:0;padding:0;color:var(--ink);cursor:pointer;font:inherit}.side-foot button:hover{color:var(--accent)}.work{min-width:0;display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden;padding:12px 16px;box-sizing:border-box}.work-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;flex-shrink:0}.work-header h1{margin:0;font-size:22px;letter-spacing:.02em;font-weight:600}.toolbar{display:flex;align-items:center;gap:8px;min-height:52px;padding:0;flex-shrink:0}.toolbar h1{margin:0;font-size:20px;font-weight:600;letter-spacing:.02em}.toolbar .meta{color:var(--muted);font-size:13px}.toolbar .grow{flex:1}.body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.work.api-docs-page{position:relative;overflow:hidden}.work.api-docs-page>.work-header{position:relative;z-index:1;background:transparent}.work.api-docs-page>.body.api-docs-body{position:absolute;top:52px;left:16px;right:16px;bottom:12px;display:block;flex:none;height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border:1px solid var(--line)}.api-docs-swagger{padding:8px 0 48px;overflow:visible}.api-docs-swagger .swagger-ui{overflow:visible!important;max-height:none!important}.api-docs-swagger .swagger-ui .wrapper{padding:0 16px;max-height:none!important;overflow:visible!important}.api-docs-swagger .swagger-ui .scheme-container,.api-docs-swagger .swagger-ui .information-container{max-height:none!important;overflow:visible!important}.api-docs-swagger .swagger-ui .topbar{display:none}.panel{background:var(--bg-panel);border:1px solid var(--line);padding:12px;width:100%;box-sizing:border-box;min-height:0}.panel.list-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-shrink:0}.list-filters{flex:1;justify-content:flex-end;min-width:0}.list-table-wrap{flex:1;min-height:0;overflow:hidden}.list-table-wrap .bw-table{height:100%}.list-table-wrap .bw-table .ant-table-thead>tr>th,.list-table-wrap .bw-table .ant-table-tbody>tr>td{white-space:nowrap}.list-table-wrap .bw-table table{table-layout:fixed}.list-pagination{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;padding-top:8px;min-height:36px}.page-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.page-head h1{margin:0 8px 0 0;font-size:20px;font-weight:600;letter-spacing:.02em}.page-head-sticky{position:sticky;top:0;z-index:2;background:transparent;padding-top:4px;padding-bottom:8px}.dense-form .ant-input-number{width:100%}.dense-form .ant-form-item{margin-bottom:8px}.dense-form .ant-form-item-label{padding-bottom:2px!important}.dense-form .ant-form-item-label>label{height:auto}.settings-form{max-width:1120px}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;align-items:start}.settings-col{min-width:0}.settings-col-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text, #1f1f1f)}.settings-ports{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.settings-port-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.settings-switches{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}@media (max-width: 960px){.settings-layout,.settings-ports{grid-template-columns:1fr}}.host-card{border:1px solid var(--line);background:#fff;padding:8px 10px 6px;margin-bottom:8px;border-radius:6px}.host-tabs{margin-top:4px}.host-tabs .ant-tabs-nav{margin-bottom:8px}.host-tab-label{display:inline-flex;align-items:center;gap:2px}.host-tab-del{width:22px;height:22px;min-width:22px;padding:0;margin-inline:-4px 2px;font-size:11px;color:#00000059}.host-tab-del:hover{color:#ff4d4f!important;background:transparent}.worker-adv{margin-top:4px;margin-bottom:4px}.worker-adv .ant-collapse-header{padding:6px 0!important;font-size:13px;font-weight:600;color:var(--text, #1f1f1f)}.worker-adv .ant-collapse-content-box{padding:0 0 4px!important}.list-filters .ant-input-search,.list-filters .ant-input-affix-wrapper,.list-filters .ant-select{font-size:14px}.list-toolbar .ant-btn{height:32px;padding-inline:15px;font-size:14px}.list-toolbar .ant-btn-primary{box-shadow:none}.list-filters .ant-input-search .ant-input-search-button{height:32px;width:32px}.bw-table .ant-btn-link{padding-inline:4px;height:auto}.port-range{display:flex;align-items:center;gap:8px}.port-range-sep{color:var(--muted, #8c8c8c);font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.port-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pane-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.addr{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-bottom:12px;min-width:0}.addr-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);text-decoration:none}.addr-url:hover{text-decoration:underline}.addr-url.empty{color:var(--muted)}.panes{display:flex;gap:4px;flex-shrink:0;margin-bottom:12px;border-bottom:1px solid var(--line)}.panes button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 12px;color:var(--muted);cursor:pointer;font:inherit}.panes button:hover{color:var(--ink)}.panes button[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.empty{padding:48px 16px;text-align:center}.empty p{margin:0 0 16px;color:var(--muted)}.hint{color:var(--muted);padding:48px 8px;max-width:36em}.mono{font-variant-numeric:tabular-nums;font-size:13px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#c5d6cc;vertical-align:0}.status-dot.on{background:var(--ok)}.status-dot.busy{background:var(--busy)}.status-dot.wait{background:var(--accent)}.status-dot.off{background:#c5d6cc}.status-dot.bad{background:var(--danger)}.status-cell{display:inline-block;max-width:100%}.status-err{margin-top:2px;max-width:12em;font-size:12px;line-height:1.35;color:var(--danger);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help;border-bottom:1px dotted rgba(196,60,60,.45)}.status-err-tip{display:block;max-width:360px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.45}.boot-state{min-height:40vh;display:grid;place-items:center;justify-items:center;gap:12px;color:var(--muted);padding:24px;text-align:center}#root>.boot-state{min-height:100dvh}.boot-state p{margin:0;max-width:36em}.human-bar{border:1px solid var(--busy);background:#b8860b0f;padding:10px 12px;margin-bottom:10px;flex-shrink:0}.human-bar-head{display:flex;align-items:center;gap:8px;font-size:14px}.human-bar-count{color:var(--muted);font-size:12px}.human-bar-q{margin:6px 0 8px;font-size:13px;color:var(--muted);line-height:1.5}.human-bar-choices{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.human-choice{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:6px 8px;cursor:pointer;font-size:13px;transition:background .16s ease}.human-choice:hover:not(:disabled){background:#f3f6f4}.human-choice:disabled{cursor:not-allowed;opacity:.6}.human-choice.quit{color:var(--danger);border-style:dashed}.human-choice-key{flex:0 0 auto;min-width:28px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.human-choice-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.human-choice-busy{flex:0 0 auto;font-size:12px;color:var(--muted)}.tl-summary-track{display:flex;height:12px;border:1px solid var(--line);overflow:hidden}.tl-summary-exec{position:relative;height:100%;background:var(--accent)}.tl-human-overlay{position:absolute;inset:0 auto 0 0;height:100%;background:repeating-linear-gradient(45deg,var(--busy) 0 4px,transparent 4px 8px)}.tl-summary-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:12px;color:var(--muted)}.tl-summary-legend i{display:inline-block;width:8px;height:8px;margin-right:4px}.tl-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.tl-metric{border:1px solid var(--line-soft);padding:6px 8px}.tl-metric b{display:block;font-size:16px;font-variant-numeric:tabular-nums}.tl-metric span{font-size:12px;color:var(--muted)}.tl-row{display:grid;grid-template-columns:var(--tl-cols);gap:10px;align-items:center;padding:2px 0}.tl-name{display:flex;align-items:center;gap:2px;font-size:13px;overflow:hidden;white-space:nowrap}.tl-name>span{overflow:hidden;text-overflow:ellipsis}.tl-fold{border:none;background:none;cursor:pointer;color:var(--muted);padding:0 2px;font-size:11px;line-height:1}.tl-skip-text{color:var(--muted-soft);text-decoration:line-through}.tl-cand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-cand-seq{flex:0 0 auto;margin-left:6px;font-size:11px;font-weight:400;color:var(--muted-soft)}.tl-row-cand{background:#1f232906}.tl-row-mark .tl-name{font-size:12px;color:var(--muted)}.tl-track{position:relative;height:14px;background:var(--line-soft)}.tl-bar{position:absolute;top:0;height:100%;min-width:2px;display:flex;align-items:center;overflow:hidden}.tl-bar span{font-size:11px;color:#fff;padding:0 4px;white-space:nowrap}.tl-bar.skip{opacity:.5;background:transparent!important;border:1px dashed var(--muted-soft)}@keyframes tl-breathe{0%,to{opacity:1}50%{opacity:.45}}.tl-bar.running:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--danger);animation:tl-breathe 1.4s ease-in-out infinite}.tl-point{position:absolute;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;transform:rotate(45deg)}.tl-flag{flex:0 0 auto;margin-right:4px;font-size:11px}.tl-flag.fail{color:var(--danger)}.tl-flag.skip{color:var(--muted-soft)}.tl-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.tl-meta>span:first-child{color:var(--text)}.tl-head{display:grid;grid-template-columns:var(--tl-cols);gap:10px;font-size:11px;color:var(--muted-soft);padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--panel, #fff);z-index:1}.tl-head .tl-meta{font-size:11px;color:inherit}.tl-stages{--tl-cols: minmax(110px, 26%) minmax(0, 1fr) 190px;max-height:calc(100dvh - 320px);overflow:auto}.ant-modal{max-width:calc(100vw - 32px);padding-bottom:0}.bw-form-modal .ant-modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden;padding:0;border:1px solid var(--line)}.bw-form-modal .ant-modal-header{flex:0 0 auto;margin:0;padding:10px 16px;border-bottom:1px solid var(--line-soft);background:#fff}.bw-form-modal .ant-modal-close{top:10px}.bw-form-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 16px;overscroll-behavior:contain}.bw-form-modal .ant-modal-footer{flex:0 0 auto;margin:0;padding:8px 16px;border-top:1px solid var(--line-soft);background:#fff}.dlg-copy{margin:0 0 8px}.dlg-muted{margin:8px 0 0;color:var(--muted);font-size:13px}.ant-modal-confirm .ant-modal-content{padding:20px 24px;border:1px solid var(--line);border-radius:6px}.ant-modal-confirm .ant-modal-body{padding:0}.ant-modal-confirm .ant-modal-confirm-body{display:flex;align-items:flex-start;gap:0}.ant-modal-confirm .ant-modal-confirm-body>.anticon{display:none}.ant-modal-confirm .ant-modal-confirm-paragraph{max-width:none;row-gap:8px}.ant-modal-confirm .ant-modal-confirm-title{font-weight:600;color:var(--ink);font-size:16px}.ant-modal-confirm .ant-modal-confirm-content{color:var(--ink);font-size:14px;line-height:1.6}.ant-modal-confirm .ant-modal-confirm-btns{margin-top:20px}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn{height:32px;padding-inline:15px;font-size:14px;box-shadow:none}.bw-table .ant-table-thead>tr>th{background:#f4faf6!important}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}@media (max-width: 720px){.app{grid-template-columns:1fr}.side{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.work{padding:12px}.list-toolbar{flex-direction:column;align-items:stretch}.list-filters{justify-content:flex-start}}.cv-preview-page{gap:16px;min-height:0;overflow:auto;padding-bottom:32px}.cv-preview-public{box-sizing:border-box;min-height:100vh;max-width:min(1600px,94vw);margin:0 auto;padding:20px clamp(16px,2vw,32px) 48px;display:flex;flex-direction:column;background:var(--bg, #f7faf8)}.cv-public-header{margin-bottom:4px}.cv-public-header h1{margin:0;font-size:20px;font-weight:600}.cv-preview-page .muted{margin:4px 0 0;color:var(--muted);font-size:13px}.cv-preview-loading{display:flex;justify-content:center;padding:48px 0}.cv-preview-list{display:flex;flex-direction:column;gap:20px}.cv-candidate-block{padding:12px 0 16px;border-bottom:1px solid var(--line-soft)}.cv-candidate-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cv-candidate-title{font-weight:600;color:var(--ink)}.cv-candidate-error{display:block;margin-bottom:8px}.cv-candidate-body{display:grid;grid-template-columns:minmax(280px,420px) minmax(240px,1fr);gap:20px;align-items:start}@media (max-width: 900px){.cv-candidate-body{grid-template-columns:1fr}}.cv-thumb-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.cv-thumb{display:flex;flex-direction:column;gap:6px}.cv-thumb .ant-image{border:1px solid var(--line);background:#f8faf8;max-width:280px}.cv-thumb .ant-image img{object-fit:contain;max-height:140px}.cv-thumb-label{font-size:12px;color:var(--muted)}.cv-thumb-empty{min-width:120px;min-height:100px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);color:var(--muted-soft);font-size:13px;background:#fafcfa}.cv-text-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0;max-height:280px;align-items:stretch}.cv-text-cols>*{min-width:0;min-height:0;max-height:280px;overflow-y:auto}@media (max-width: 1100px){.cv-text-cols{grid-template-columns:1fr;max-height:none}.cv-text-cols>*{max-height:240px}.cv-parse-info{padding-left:0;border-left:none;padding-top:12px;border-top:1px solid var(--line-soft)}}.cv-text-col-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:8px}.cv-card-info{min-width:0;font-size:13px;color:var(--ink);line-height:1.45}.cv-parse-info{min-width:0;font-size:13px;color:var(--ink);line-height:1.45;padding-left:12px;border-left:1px solid var(--line-soft);display:flex;flex-direction:column}.cv-parse-info-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-shrink:0}.cv-parse-info-head .cv-text-col-label{margin-bottom:0}.cv-parse-json{margin:0;flex:1;min-height:0;padding:8px 10px;border-radius:6px;background:#f6f8f6;border:1px solid var(--line-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;line-height:1.45;color:var(--ink);white-space:pre;overflow:auto;-moz-tab-size:2;tab-size:2}.cv-card-info-empty{color:var(--muted-soft);border:1px dashed var(--line);padding:16px;background:#fafcfa}.cv-card-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 0 12px}.cv-card-dl dt{margin:0;font-size:12px;color:var(--muted)}.cv-card-dl dd{margin:2px 0 0;word-break:break-word}.cv-card-block{margin-top:10px}.cv-card-block-label{font-size:12px;color:var(--muted);margin-bottom:4px}.cv-card-block p{margin:0;white-space:pre-wrap;word-break:break-word}.cv-card-skills{display:flex;flex-wrap:wrap;gap:4px}.cv-card-timeline{margin:0;padding-left:18px}.cv-card-timeline li{margin-bottom:4px}.cv-tl-period{display:inline-block;min-width:7.5em;color:var(--muted);margin-right:8px}:root{--c-surface: #ffffff;--c-line: #e3e8e6;--c-line-soft: #eef2f0;--c-ink: #16201b;--c-ink-2: #5a6b63;--c-ink-3: #8fa19a;--c-brand: #1f6f4a;--c-brand-soft: #e9f3ee;--c-run: #1f6f4a;--c-idle: #2b6cb0;--c-busy: #b8860b;--c-stop: #9aa8a3;--c-fail: #c43c3c;--c-radius: 8px;--c-shadow-hover: 0 4px 14px rgba(16, 32, 24, .08)}.c-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding-bottom:10px}.c-head-title{display:flex;flex-direction:column;gap:2px;min-width:0}.c-head-title h1{margin:0;font-size:20px;font-weight:600;letter-spacing:.01em}.c-head-title p{margin:0;font-size:12px;color:var(--c-ink-3)}.c-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.c-live{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid var(--c-line);border-radius:999px;background:var(--c-surface);font-size:12px;color:var(--c-ink-2);font-variant-numeric:tabular-nums}.c-live .c-dot{width:6px;height:6px;border-radius:50%;background:var(--c-run);animation:c-pulse 2s ease-in-out infinite}.c-live.off .c-dot{background:var(--c-stop);animation:none}@keyframes c-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@media (prefers-reduced-motion: reduce){.c-live .c-dot{animation:none}}.c-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px;flex-shrink:0}.c-kpi{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--c-radius);padding:9px 12px 10px;cursor:pointer;font:inherit;color:inherit;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.c-kpi:hover{border-color:#cfd9d4;box-shadow:var(--c-shadow-hover)}.c-kpi[aria-pressed=true]{border-color:var(--c-brand);box-shadow:inset 0 0 0 1px var(--c-brand)}.c-kpi-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-ink-2)}.c-kpi b{display:block;margin-top:4px;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums;font-weight:600}.c-kpi.is-zero b{color:var(--c-ink-3)}.c-kpi.is-fail[aria-pressed=false] .c-kpi-dot{background:var(--c-fail)}.c-kpi-dot{width:7px;height:7px;border-radius:50%;background:var(--c-stop);flex:0 0 auto}.c-kpi.k-all .c-kpi-dot{background:var(--c-ink-3)}.c-kpi.k-run .c-kpi-dot{background:var(--c-run)}.c-kpi.k-idle .c-kpi-dot{background:var(--c-idle)}.c-kpi.k-busy .c-kpi-dot{background:var(--c-busy)}.c-kpi.k-stop .c-kpi-dot{background:var(--c-stop)}.c-kpi.k-fail .c-kpi-dot{background:var(--c-fail)}.c-hosts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:12px;flex-shrink:0}.c-host{border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--c-radius);padding:9px 11px 8px}.c-host.off{background:#fafbfb;color:var(--c-ink-3)}.c-host-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.c-host-ip{font-size:11px;color:var(--c-ink-3);font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;margin-top:2px}.c-host-meter{display:flex;gap:3px;margin-top:8px;min-height:6px}.c-host-meter i{flex:1 1 0;height:6px;border-radius:2px;background:var(--c-line-soft)}.c-host-meter i.on{background:var(--c-run)}.c-host-meter i.idle{background:var(--c-idle)}.c-host-meter i.busy{background:var(--c-busy)}.c-host-meter i.fail{background:var(--c-fail)}.c-host-meter i.off{background:#c9d3cf}.c-host-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px;color:var(--c-ink-3);font-variant-numeric:tabular-nums}.c-cards{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-auto-rows:min-content;align-items:start;align-content:start;gap:12px;padding:2px}.c-card{border:1px solid var(--c-line);background:var(--c-surface);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .16s ease,box-shadow .16s ease}.c-card:hover{border-color:#cfd9d4;box-shadow:var(--c-shadow-hover)}.c-card-bar{display:block;flex:0 0 4px;height:4px;background:var(--c-stop)}.c-card.run .c-card-bar{background:var(--c-run)}.c-card.idle .c-card-bar{background:var(--c-idle)}.c-card.busy .c-card-bar{background:var(--c-busy)}.c-card.fail .c-card-bar{background:var(--c-fail)}.c-card-body{padding:11px 13px 10px;display:flex;flex-direction:column;gap:9px;flex:1 1 auto;min-width:0;min-height:0}.c-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.c-card-name{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-chips{display:flex;flex-wrap:wrap;gap:6px}.c-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;background:#f5f8f6;border:1px solid var(--c-line-soft);font-size:12px;color:var(--c-ink-2);max-width:100%}.c-chip .status-dot{margin-right:0}.c-chip.mono{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.c-chip.is-on{color:var(--ok);background:#eef8f2;border-color:#cfe8da}.c-chip.is-bad{color:var(--danger);background:#fdf1f0;border-color:#f2d6d3}.c-chip.is-busy{color:var(--busy);background:#fff8e6;border-color:#f0e0bb}.job-note{display:block;overflow:hidden}.job-note .c-chip{max-width:100%}.job-note .c-chip svg{flex:0 0 auto}.job-note-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-card-preview{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;flex:0 0 88px;height:88px;border:1px dashed var(--c-line);border-radius:6px;background:linear-gradient(180deg,#fbfdfc,#f4f8f6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--c-ink-3);cursor:pointer;padding:10px;text-align:center}.c-card-preview:hover:not(:disabled){border-color:var(--c-brand);color:var(--c-brand)}.c-card-preview:disabled{cursor:default;opacity:.7}.c-card-preview b{font-size:13px;font-weight:600;color:inherit}.c-card-preview span{font-size:11px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;color:inherit;opacity:.85}.c-card-foot{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 13px;border-top:1px solid var(--c-line-soft);background:#fbfcfc}.c-card-foot .c-grow{flex:1}.list-toolbar>.ant-space:not(.list-filters){flex:0 0 auto}.c-name-cell{display:flex;align-items:center;gap:8px;min-width:0}.c-name-cell .c-rail{width:3px;height:16px;border-radius:2px;background:var(--c-stop);flex:0 0 auto}.c-name-cell.run .c-rail{background:var(--c-run)}.c-name-cell.idle .c-rail{background:var(--c-idle)}.c-name-cell.busy .c-rail{background:var(--c-busy)}.c-name-cell.fail .c-rail{background:var(--c-fail)}.c-name-cell .c-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-name-cell .c-name.mono{font-size:12px}.c-row-open{cursor:pointer}.bw-table .c-op{display:inline-flex;align-items:center;gap:6px}.c-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--c-line-soft)}.c-drawer-title{display:flex;flex-direction:column;gap:4px;min-width:0}.c-drawer-title h3{margin:0;font-size:16px;font-weight:600;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;word-break:break-all}.c-drawer-acts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.c-sec{margin-top:16px}.c-sec>h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--c-ink-3);letter-spacing:.04em}.c-kv{display:grid;grid-template-columns:minmax(84px,auto) minmax(0,1fr);gap:6px 14px;margin:0;font-size:13px}.c-kv dt{color:var(--c-ink-3);font-size:12px}.c-kv dd{margin:0;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.c-kv dd.mono{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.c-flag{margin-left:6px;font-size:11px;color:var(--c-busy)}.c-flag.bad{color:var(--c-fail)}.c-timeline{display:flex;flex-direction:column;gap:0}.c-tl-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;padding-bottom:10px}.c-tl-rail{position:relative;display:flex;justify-content:center}.c-tl-rail:before{content:"";position:absolute;top:4px;bottom:-10px;width:1px;background:var(--c-line-soft)}.c-tl-item:last-child .c-tl-rail:before{display:none}.c-tl-node{position:relative;z-index:1;width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--c-run)}.c-tl-node.bad{background:var(--c-fail)}.c-tl-node.warn{background:var(--c-busy)}.c-tl-node.mute{background:var(--c-line)}.c-tl-body{min-width:0;font-size:13px}.c-tl-body .c-tl-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.c-tl-body .c-tl-time{font-size:11px;color:var(--c-ink-3);flex:0 0 auto;font-variant-numeric:tabular-nums}.c-tl-body .c-tl-msg{margin:2px 0 0;font-size:12px;color:var(--c-ink-2);word-break:break-word}.settings-shell{flex:1;min-height:0;display:grid;grid-template-columns:168px minmax(0,1fr);gap:16px;overflow:hidden}.settings-nav{display:flex;flex-direction:column;gap:2px;align-content:start;padding-right:10px;border-right:1px solid var(--c-line-soft)}.settings-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font:inherit;width:100%;padding:7px 10px;border-radius:6px;border:1px solid transparent;background:none;color:var(--c-ink-2);cursor:pointer}.settings-nav button:hover{background:#f4f8f6}.settings-nav button[aria-current=true]{background:var(--c-brand-soft);border-color:#cfe3da;color:var(--c-brand);font-weight:600}.settings-nav .settings-nav-count{float:right;font-size:11px;color:var(--c-ink-3)}.settings-main{min-width:0;min-height:0;overflow:auto;padding-right:4px}.settings-sticky{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;margin-bottom:4px;background:var(--c-surface);border-bottom:1px solid var(--c-line-soft)}.settings-dirty{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--c-busy)}.settings-dirty .c-dot{width:6px;height:6px;border-radius:50%;background:var(--c-busy)}.settings-ok{font-size:12px;color:var(--c-ink-3)}.settings-sec{border:1px solid var(--c-line);background:var(--c-surface);border-radius:10px;padding:14px 16px 6px;margin-top:14px;scroll-margin-top:64px}.settings-sec>h2{margin:0 0 2px;font-size:15px;font-weight:600}.settings-sec>.settings-desc{margin:0 0 14px;font-size:12px;color:var(--c-ink-3);line-height:1.6}.settings-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.settings-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.hostedit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding-bottom:12px}.hostedit{border:1px solid var(--c-line);border-radius:8px;padding:12px 12px 4px;background:var(--c-surface);transition:border-color .16s ease}.hostedit.off{background:#fafbfb}.hostedit.focus{border-color:var(--c-brand);box-shadow:0 0 0 2px #1f6f4a1f}.hostedit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--c-line-soft)}.hostedit-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-width:0}.hostedit-title .c-host-ip{margin-top:0;font-weight:400}@media (max-width: 1080px){.c-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-shell{grid-template-columns:1fr}.settings-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--c-line-soft);padding:0 0 8px}}@media (max-width: 820px){.c-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid-2,.settings-grid-3{grid-template-columns:1fr}}.list-table-wrap{overflow:auto}.list-table-wrap .bw-table table{min-width:820px}.list-table-wrap .bw-table,.list-table-wrap .bw-table .ant-table,.list-table-wrap .bw-table .ant-table-container,.list-table-wrap .bw-table .ant-table-content{height:auto;overflow:visible}.list-table-wrap .bw-table .ant-table-thead>tr>th{position:sticky;top:0;z-index:3;background:#f7f9f8!important;border-bottom-color:var(--c-line)}.list-table-wrap .bw-table .ant-table-thead>tr>th,.list-table-wrap .bw-table .ant-table-tbody>tr>td{padding-block:8px}.list-table-wrap .bw-table .ant-table-tbody>tr>td{border-bottom-color:var(--c-line-soft)}.list-table-wrap .bw-table .ant-table-thead>tr>th,.list-table-wrap .bw-table .ant-table-tbody>tr>td{padding-inline:10px!important}.list-table-wrap .bw-table .ant-table-tbody>tr>td:first-child{padding-left:10px}.list-table-wrap .bw-table .ant-table-thead>tr>th:last-child,.list-table-wrap .bw-table .ant-table-tbody>tr>td:last-child{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-8px 0 8px -8px #10201824}.list-table-wrap .bw-table .ant-table-thead>tr>th:last-child{z-index:5;background:#f7f9f8}.list-table-wrap .bw-table .ant-table-tbody>tr:hover>td:last-child{background:#f7faf8}.list-table-wrap .bw-table .ant-table-tbody>tr.ant-table-placeholder>td:last-child{position:static;box-shadow:none;background:transparent}.list-table-wrap .bw-table .ant-table-tbody>tr.c-row-human>td{background:#fffbf0}.list-table-wrap .bw-table .ant-table-tbody>tr.c-row-human:hover>td{background:#fff7e3}.list-table-wrap .bw-table .ant-table-tbody>tr.c-row-human>td:first-child{box-shadow:inset 3px 0 0 var(--busy)}.c-copy{cursor:pointer;font-size:12px;border-bottom:1px dashed transparent;transition:color .14s ease,border-color .14s ease}.c-copy:hover{color:var(--c-brand);border-bottom-color:var(--c-brand)}.list-pagination{min-height:30px;padding-top:6px}.human-bar{border:1px solid #e6cf9a;border-left:3px solid #d8a13a;background:#fffdf6;border-radius:8px;margin-bottom:10px;flex-shrink:0}.human-bar-head{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.human-bar-head:hover{background:#fffbec}.human-bar-meta{flex:0 0 auto;color:var(--c-ink-3);font-size:12px}.human-bar-q-inline{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-ink-3)}.human-bar-toggle{flex:0 0 auto;color:var(--c-brand);font-size:12px}.human-bar-body{padding:0 12px 10px}.human-bar-q{margin:0 0 10px;font-size:13px;color:var(--c-ink-2);line-height:1.6}.human-bar-choices{display:grid;gap:6px;max-height:240px;overflow:auto;padding-right:2px}.human-choice{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:1px solid var(--c-line);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;font-size:13px;color:var(--c-ink);transition:border-color .14s ease,background .14s ease}.human-choice:hover:not(:disabled){border-color:var(--c-brand);background:#f7fbf9}.human-choice:disabled{cursor:not-allowed;opacity:.55}.human-choice.quit{color:var(--c-danger);border-color:#efcfcf;background:snow}.human-choice-key{flex:0 0 auto;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:#f1f5f3;color:var(--c-ink-2);font-size:12px;font-variant-numeric:tabular-nums}.human-choice.quit .human-choice-key{background:#fdecec;color:var(--c-danger)}.human-choice-label{flex:1;min-width:0;line-height:1.5;word-break:break-word}.human-choice-busy{flex:0 0 auto;font-size:12px;color:var(--c-ink-3)}.work{padding:12px 16px}.c-head{padding-bottom:10px}.work-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;margin-bottom:10px}.work-header h1{margin:0;font-size:20px;font-weight:600;letter-spacing:.01em}.panel{background:#fff;border-color:var(--c-line);border-radius:10px}.c-kpis{gap:8px;margin-bottom:10px}.c-kpi{padding:7px 11px 8px}.c-kpi b{margin-top:2px;font-size:19px}.c-hosts{gap:8px;margin-bottom:10px}.c-host{padding:6px 10px}.c-host-meter{margin-top:6px}.c-host-foot{margin-top:4px}
