*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.mb-3{margin-bottom:.75rem}.block{display:block}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ws-radius:12px;--footer-h:20px;--ws-backdrop:#020617a6}:root[data-theme=dark],:root:not([data-theme]){--ws-bg:#0b1020;--ws-fg:#e8ecf8;--ws-panel:#111827ee;--ws-border:#ffffff24;--ws-soft:#0f172a2e;--ws-soft2:#0f172a1a;--ws-pre-bg:#02061738;--ws-shadow:#00000052;--ws-btn-bg:#ffffff12;--ws-btn-hover:#ffffff1c;--ws-btn-fg:#e5e7eb;--ws-progress-track:#ffffff1a;--ws-progress-border:#ffffff24;--ws-progress-running:#3b82f6cc;--ws-progress-done:#22c55ecc;--ws-progress-error:#ef4444cc;--ws-row-running:#3b82f642;--ws-row-done:#22c55e42;--ws-row-error:#ef444442;--ws-backdrop:#020617a6}:root[data-theme=light]{--ws-bg:#f6f8fc;--ws-fg:#0b1020;--ws-panel:#fff;--ws-border:#cfd5e3;--ws-soft:#0206170a;--ws-soft2:#02061708;--ws-pre-bg:#0206170a;--ws-shadow:#0f172a1a;--ws-btn-bg:#0206170a;--ws-btn-hover:#02061714;--ws-btn-fg:#0b1020;--ws-progress-track:#02061714;--ws-progress-border:#0206171f;--ws-progress-running:#3b82f6d9;--ws-progress-done:#22c55ed9;--ws-progress-error:#ef4444d9;--ws-row-running:#3b82f62e;--ws-row-done:#22c55e2e;--ws-row-error:#ef44442e;--ws-backdrop:#0206176b}html,body,#root{height:100%;color:var(--ws-fg)}body{background:var(--ws-bg);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#bg{z-index:0;width:100%;height:100%;position:fixed;inset:0}.page.full{height:100%;position:relative}.content{z-index:1;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.ws-dashboard{grid-template-columns:var(--ws-dashboard-left-w) var(--ws-splitter-size) minmax(420px, 1fr) var(--ws-splitter-size) var(--ws-dashboard-right-w);padding-top:52px;padding-left:8px;padding-right:8px;padding-bottom:calc(var(--footer-h) + 4px);box-sizing:border-box;gap:0;height:100%;display:grid;overflow:hidden}.ws-col{background:var(--ws-panel);border:1px solid var(--ws-border);border-radius:var(--ws-radius);height:100%;min-height:0;box-shadow:0 14px 30px var(--ws-shadow);flex-direction:column;padding:8px;display:flex;overflow:hidden}.ws-col>.panel{flex:auto;min-height:0}.panel{flex-direction:column;width:100%;min-height:0;display:flex}.panel-body{flex:auto;min-height:0;overflow:auto}.panel-error{color:var(--ws-fg);background:#ef44441a;border:1px solid #ef444459;border-radius:10px;margin:6px 0 0;padding:6px 8px;font-size:12px}.ws-panel-toolbar{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.ws-panel-toolbar--divider{border-bottom:1px solid var(--ws-border);margin-bottom:10px;padding-bottom:8px}.ws-panel-toolbar__left{align-items:center;gap:8px;min-width:0;font-weight:800;display:flex}.ws-panel-toolbar__leading{align-items:center;display:inline-flex}.ws-panel-toolbar__title{align-items:center;gap:6px;min-width:0;display:inline-flex}.ws-panel-toolbar__actions{align-items:center;gap:8px;min-width:0;margin-left:auto;display:inline-flex}:root{--ws-splitter-size:8px;--ws-dashboard-left-w:300px;--ws-dashboard-right-w:340px;--ws-run-tasks-h:260px}.ws-split-handle{-webkit-user-select:none;user-select:none;touch-action:none;background:var(--ws-panel);border-left:1px solid var(--ws-border);border-right:1px solid var(--ws-border);border-radius:var(--ws-radius);position:relative;overflow:hidden}.ws-split-handle--col{width:var(--ws-splitter-size);height:100%}.ws-split-handle--row{height:var(--ws-splitter-size);border-left:none;border-right:none;border-top:1px solid var(--ws-border);border-bottom:1px solid var(--ws-border);border-radius:var(--ws-radius);width:100%;overflow:hidden}.ws-split-handle:after{content:"";opacity:.75;background:#94a3b847;border-radius:999px;position:absolute}.ws-split-handle--col:after{width:2px;height:46px;top:calc(50% - 23px);left:calc(50% - 1px)}.ws-split-handle--row:after{width:46px;height:2px;top:calc(50% - 1px);left:calc(50% - 23px)}body.ws-split-dragging{-webkit-user-select:none;user-select:none}body.ws-split-dragging--col{cursor:col-resize!important}body.ws-split-dragging--row{cursor:row-resize!important}.app-footer{height:var(--footer-h);min-height:var(--footer-h);color:var(--ws-fg);opacity:.85;pointer-events:none;z-index:30;justify-content:space-between;align-items:flex-end;padding:0 10px 2px;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}.app-footer-left{pointer-events:auto;align-items:flex-end;display:flex}.app-footer-right{pointer-events:auto;align-items:flex-end;gap:4px;display:flex}.app-footer-right:before{content:""}.app-footer-right img{opacity:.85;height:14px}.header{z-index:20;align-items:center;height:48px;padding:4px 12px;display:flex;position:fixed;top:0;left:0;right:0}.header .title{align-items:center;gap:8px;font-weight:700;display:flex}.header .right{white-space:nowrap;align-items:center;gap:6px;margin-left:auto;display:flex}.header .right button{align-items:center;gap:6px;display:inline-flex}.header .right .header-lang-btn{padding-left:12px;padding-right:12px}.user-label{color:var(--ws-fg);opacity:.85;font-size:13px}.header-user-label{margin-right:8px}.header-lang-text{font-size:12px}.header-logout-icon{width:16px;height:16px;display:block}.app-title-text{color:var(--ws-fg);font-size:14px;font-weight:600}.login-root{min-height:100vh;padding-top:72px;padding-bottom:calc(var(--footer-h) + 28px);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.login-card{background:var(--ws-panel);border:1px solid var(--ws-border);width:min(92vw,360px);box-shadow:0 18px 40px var(--ws-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:16px 16px 14px}.login-title{margin:2px 0 14px;font-size:16px;font-weight:800;line-height:1.2}.login-form{flex-direction:column;gap:12px;display:flex}.login-form-row{flex-direction:column;gap:6px;display:flex}.login-form-label{opacity:.82;font-size:12px}.login-input{width:100%}.login-form-submit{text-align:center;justify-content:center;align-items:center;width:100%;margin-top:4px;display:flex}.login-error{color:var(--ws-fg);background:#ef44441a;border:1px solid #ef444459;border-radius:12px;margin-top:2px;padding:8px 10px;font-size:12px}.login-brand{text-align:center;opacity:.9;margin-top:20px}.login-brand-logo{width:120px;height:auto}.btn{background:var(--ws-btn-bg);color:var(--ws-btn-fg);border:1px solid var(--ws-border);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;line-height:1;transition:background .12s ease-out,transform 50ms ease-out,box-shadow .12s ease-out;display:inline-flex}.btn:hover:not(:disabled){background:var(--ws-btn-hover);box-shadow:0 8px 20px #0f172a33}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px #60a5fa8c}.btn:disabled{opacity:.6;cursor:default;box-shadow:none}.btn-icon{justify-content:center;width:34px;padding:6px}.btn[data-variant=default],.btn:not([data-variant]),.btn[data-variant=ghost]{background:var(--ws-btn-bg);border-color:var(--ws-border);color:var(--ws-btn-fg)}.btn[data-variant=ghost]:hover:not(:disabled){background:var(--ws-btn-hover)}.btn[data-variant=primary]{color:#fff;background:#3b82f6;border-color:#3b82f6}.btn[data-variant=primary]:hover:not(:disabled){background:#2563eb}.btn[data-variant=success]{color:var(--ws-fg);background:#22c55e33;border-color:#22c55e66}.btn[data-variant=success]:hover:not(:disabled){background:#22c55e47}.input{color:var(--ws-fg);border:1px solid var(--ws-border);background:0 0;border-radius:10px;outline:none;padding:8px 10px;font-size:13px}.input:focus{border-color:#60a5fa;box-shadow:0 0 0 1px #60a5faa6}.iconbtn,.icon-btn{border:1px solid var(--ws-border);background:var(--ws-btn-bg);color:var(--ws-btn-fg);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:6px;transition:background .12s ease-out,transform 50ms ease-out,box-shadow .12s ease-out;display:inline-flex}.iconbtn:hover,.icon-btn:hover{background:var(--ws-btn-hover);box-shadow:0 8px 20px #0f172a33}.iconbtn:active,.icon-btn:active{box-shadow:none;transform:translateY(1px)}.iconbtn:focus-visible,.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #60a5fa8c}.icon-btn{border-radius:9999px;width:26px;height:26px;padding:0;font-size:13px;line-height:1}.modal-backdrop{background:var(--ws-backdrop);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--ws-panel);border:1px solid var(--ws-border);border-radius:12px;flex-direction:column;width:auto;min-width:360px;max-width:900px;max-height:86vh;display:flex}.modal-card-wide{width:min(95vw,1100px);max-width:1100px}.modal-card-confirm{max-width:420px}.modal-header{border-bottom:1px solid var(--ws-border);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.modal-title{font-size:14px;font-weight:800}.modal-close{color:var(--ws-fg);cursor:pointer;background:0 0;border:1px solid #94a3b847;border-radius:9999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:inline-flex}.modal-close:hover{background:var(--ws-soft)}.modal-body{padding:10px 12px;overflow:auto}.modal-actions{border-top:1px solid var(--ws-border);justify-content:flex-end;gap:8px;padding:10px 12px;display:flex}select.input,.modal-card textarea{color:var(--ws-fg);border:1px solid var(--ws-border);background:0 0;border-radius:10px;outline:none;padding:8px 10px;font-size:13px}.modal-card textarea:focus,select.input:focus{border-color:#60a5fa;box-shadow:0 0 0 1px #60a5faa6}:root[data-theme=dark] select option,:root:not([data-theme]) select option{color:#e8ecf8;background:#0b1020}:root[data-theme=light] select option{color:#0b1020;background:#fff}.modal-form{flex-direction:column;gap:10px;display:flex}.modal-field{flex-direction:column;gap:4px;display:flex}.modal-label{opacity:.8;font-size:12px}.modal-textarea{resize:vertical}.modal-strong{font-weight:700}.modal-note{font-size:13px;line-height:1.4}.modal-confirm-message{white-space:pre-line;font-size:14px;line-height:1.4}.ws-progress-track{background:var(--ws-progress-track);border:1px solid var(--ws-progress-border);border-radius:999px;height:8px;overflow:hidden}.ws-progress-fill{background:var(--ws-progress-running);width:0%;height:100%}.ws-progress-fill[data-status=running]{background:var(--ws-progress-running)}.ws-progress-fill[data-status=done]{background:var(--ws-progress-done)}.ws-progress-fill[data-status=error]{background:var(--ws-progress-error)}.ws-task-row{max-width:100%;position:relative}.ws-task-row-fill{pointer-events:none;width:0%;position:absolute;top:0;bottom:0;left:0}.ws-task-row-fill[data-status=running]{background:var(--ws-row-running)}.ws-task-row-fill[data-status=done]{background:var(--ws-row-done)}.ws-task-row-fill[data-status=error]{background:var(--ws-row-error)}pre{margin:0}.ws-task-row{cursor:pointer;background:0 0;border-bottom:1px solid #94a3b824;padding:8px}.ws-task-row[data-active="1"]{background:#3b82f61a}.ws-task-row[data-status=running] .ws-task-stripe{background:#f59e0bf2}.ws-task-row[data-status=done] .ws-task-stripe{background:#22c55ef2}.ws-task-row[data-status=error] .ws-task-stripe{background:#ef4444f2}.ws-task-row-fill[data-status=running]{opacity:.3}.ws-task-row-fill[data-status=done],.ws-task-row-fill[data-status=error]{opacity:.22}.ws-task-line1{align-items:center;gap:10px;display:flex}.ws-task-right{opacity:.9;white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.ws-task-dt,.ws-task-user{opacity:.85}.ws-task-badge{background:var(--ws-soft2);white-space:nowrap;border:1px solid #94a3b84d;border-radius:999px;padding:2px 8px;font-size:11px}.ws-task-line2{opacity:.9;white-space:nowrap;align-items:center;gap:12px;margin-top:3px;font-size:12px;display:flex}.ws-task-line2-right{opacity:.9;margin-left:auto}.ws-host-select-all{cursor:pointer;width:16px;height:16px}.ws-host-row:hover{background:var(--ws-soft)}.ws-host-tree{min-width:0}.ws-host-group-block{margin-bottom:10px}.ws-host-group-row,.ws-host-row{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.ws-host-group-row{cursor:pointer;-webkit-user-select:none;user-select:none;gap:6px}.ws-host-row{padding-left:var(--ws-indent,0px);border-radius:4px}.ws-host-group-left,.ws-host-row-left{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.ws-host-group-left{padding-left:var(--ws-indent,0px)}.ws-host-icon{opacity:.9;justify-content:center;width:18px;font-size:14px;display:inline-flex}.ws-host-icon-host{font-size:13px}.ws-host-group-title{font-weight:600}.ws-host-name,.ws-host-group-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ws-host-name{font-size:13px}.ws-host-actions{gap:4px;display:flex}.ws-host-empty{padding-left:var(--ws-indent,0px);margin-top:4px;margin-bottom:4px;font-size:12px}.ws-host-delete-warning{margin-top:6px}.ws-pb-select-all{cursor:pointer;width:16px;height:16px}.ws-playbooks-body{border:1px solid var(--ws-border);border-radius:10px;overflow:auto}.ws-playbooks-body-inner{padding:6px}.ws-pb-group-block{margin-bottom:10px}.ws-pb-empty{padding-left:calc(var(--ws-indent,0px) + 32px);margin-top:4px;margin-bottom:4px;font-size:12px}.ws-pb-group-row{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:6px;padding:2px 4px;display:flex}.ws-pb-group-left{min-width:0;padding-left:var(--ws-indent,0px);flex:1;align-items:center;gap:6px;display:flex}.ws-pb-icon{opacity:.9;justify-content:center;width:18px;font-size:14px;display:inline-flex}.ws-pb-group-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ws-pb-actions{gap:4px;display:flex}.ws-pb-row{padding:2px 4px;padding-left:var(--ws-indent,0px);border-radius:4px;justify-content:space-between;align-items:center;display:flex}.ws-pb-row-left{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.ws-pb-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ws-pb-icon-doc{opacity:.9;justify-content:center;width:18px;font-size:13px;display:inline-flex}.ws-pb-editor-card{height:min(90vh,820px);max-height:90vh}.ws-pb-editor-fixed{flex:none}.ws-pb-editor-body{flex:auto;min-height:0;overflow:hidden}.ws-pb-editor-form,.ws-pb-editor-yaml-wrap,.ws-pb-editor-yaml-field,.ws-pb-editor-details{flex-direction:column;display:flex}.ws-pb-editor-form{gap:8px;height:100%;min-height:0}.ws-pb-editor-yaml-wrap{flex:auto;gap:8px;min-height:0}.ws-pb-editor-yaml-field{flex:auto;gap:4px;min-height:0}.ws-pb-editor-details{flex:none;gap:4px}.ws-pb-editor-yaml,.ws-pb-editor-details-text{box-sizing:border-box;white-space:pre;width:100%;max-width:min(90vw,1100px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow:auto}.ws-pb-editor-yaml{resize:none;flex:auto;min-height:0}.ws-pb-editor-details-text{resize:vertical;height:min(22vh,200px)}.ws-pb-editor-actions{flex:none;justify-content:space-between;align-items:center}.ws-pb-editor-validation{white-space:pre-wrap;text-align:left;max-width:60%;min-height:18px;font-size:12px}.ws-pb-editor-validation-ok{color:#4caf50}.ws-pb-editor-validation-error{color:#f55;cursor:pointer;text-decoration:underline}.ws-pb-editor-buttons{gap:8px;display:flex}.ws-run-root{flex-direction:column;height:100%;min-height:0;display:flex}.ws-run-split{grid-template-rows:var(--ws-run-tasks-h,260px) var(--ws-splitter-size,10px) 1fr;flex:auto;gap:0;min-height:0;display:grid}.ws-tasks-root{flex-direction:column;min-height:0;display:flex}.ws-tasks-box{border:1px solid var(--ws-border);border-radius:10px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.ws-tasks-head{background:var(--ws-soft2);border-bottom:1px solid var(--ws-border);align-items:center;gap:10px;padding:8px 10px;display:flex}.ws-tasks-title{font-size:13px;font-weight:900}.ws-tasks-head-right{align-items:center;margin-left:auto;display:flex}.ws-tasks-filters{gap:6px;display:flex}.ws-tasks-filter-btn{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.ws-tasks-scroll{flex:auto;min-height:0;overflow:hidden auto}.ws-tasks-empty{opacity:.7;padding:10px;font-size:12px}.ws-tasks-row{cursor:pointer;background:0 0;border-bottom:1px solid #94a3b824;padding:8px;position:relative}.ws-tasks-row[data-active=true]{background:#3b82f61a}.ws-task-stripe{width:3px;position:absolute;top:0;bottom:0;left:0}.ws-tasks-row[data-status=running] .ws-task-stripe{background:var(--ws-row-running)}.ws-tasks-row[data-status=done] .ws-task-stripe{background:var(--ws-row-done)}.ws-tasks-row[data-status=error] .ws-task-stripe{background:var(--ws-row-error)}.ws-tasks-row .ws-task-row-fill{width:var(--ws-task-pct);opacity:.22;left:3px}.ws-tasks-row[data-status=running] .ws-task-row-fill{opacity:.3}.ws-task-content{z-index:1;padding-left:8px;position:relative}.ws-task-top{align-items:center;gap:10px;display:flex}.ws-task-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.ws-task-meta{opacity:.9;white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.ws-task-meta-item{opacity:.85}.ws-task-pill{background:var(--ws-soft2);white-space:nowrap;border:1px solid #94a3b84d;border-radius:999px;padding:2px 8px;font-size:11px}.ws-tasks-row[data-status=done] .ws-task-pill{background:#22c55e33;border-color:#22c55e66}.ws-tasks-row[data-status=error] .ws-task-pill{background:#ef444424;border-color:#ef444452}.ws-tasks-row[data-status=starting] .ws-task-pill{background:#3b82f624;border-color:#3b82f64d}.ws-tasks-row[data-status=running] .ws-task-pill{background:#eab30829;border-color:#eab30859}.ws-task-bottom{opacity:.9;white-space:nowrap;align-items:center;gap:12px;margin-top:3px;font-size:12px;display:flex}.ws-task-stats{align-items:center;gap:12px;display:flex}.ws-task-summary{opacity:.9;margin-left:auto}.ws-console-root{flex-direction:column;min-height:0;display:flex}.ws-console-box{border:1px solid var(--ws-border);border-radius:10px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.ws-console-head{background:var(--ws-soft2);border-bottom:1px solid var(--ws-border);align-items:center;gap:10px;padding:8px 10px;display:flex}.ws-console-title{font-size:13px;font-weight:900}.ws-console-head-right{align-items:center;margin-left:auto;display:flex}.ws-console-scroll{flex:auto;min-height:0;padding:10px;overflow:hidden auto}.ws-console-empty{opacity:.7;font-size:12px}.ws-console-warning{color:#fde68a;background:#f59e0b1f;border:1px solid #f59e0b73;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;font-size:12px;display:flex}.ws-console-hostlist{flex-direction:column;gap:10px;display:flex}.ws-console-hostcard{border:1px solid var(--ws-border);border-radius:10px;position:relative;overflow:hidden}.ws-console-pbcard{border:1px solid #94a3b82e;border-radius:10px;position:relative;overflow:hidden}.ws-console-stripe{width:3px;position:absolute;top:0;bottom:0;left:0}.ws-console-hostcard[data-status=done] .ws-console-stripe{background:#22c55ef2}.ws-console-hostcard[data-status=running] .ws-console-stripe{background:#f59e0bf2}.ws-console-hostcard[data-status=error] .ws-console-stripe{background:#ef4444f2}.ws-console-hostcard[data-status=queued] .ws-console-stripe{background:#94a3b8d9}.ws-console-pbcard[data-status=done] .ws-console-stripe{background:#22c55ef2}.ws-console-pbcard[data-status=running] .ws-console-stripe{background:#f59e0bf2}.ws-console-pbcard[data-status=queued] .ws-console-stripe{background:#94a3b8d9}.ws-console-pbcard[data-status=error] .ws-console-stripe{background:#ef4444f2}.ws-console-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex}.ws-console-row-host{background:var(--ws-soft2)}.ws-console-row-pb{background:#94a3b80f;padding:7px 10px 7px 12px}.ws-console-chevron{text-align:center;opacity:.9;width:18px}.ws-console-hostname{font-size:13px;font-weight:900}.ws-console-pbname{font-size:12px;font-weight:800}.ws-console-right{white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.ws-console-count{opacity:.9}.ws-console-pblist{flex-direction:column;gap:8px;padding:10px 10px 10px 12px;display:flex}.ws-console-lines{padding:10px 10px 10px 12px}.ws-console-line{white-space:pre-wrap;opacity:.95;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.35}.ws-console-muted{opacity:.6}.ws-ml-auto{margin-left:auto}.ws-run-name-modal,.ws-run-name-field,.ws-run-name-section{flex-direction:column;display:flex}.ws-run-name-modal{gap:14px}.ws-run-name-field{gap:8px}.ws-run-name-section{gap:10px}.ws-run-name-label{opacity:.8;font-size:12px}.ws-run-name-radio-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ws-run-name-radio{align-items:center;gap:8px;display:inline-flex}.ws-run-name-actions{justify-content:flex-end;gap:8px;display:flex}
