*,: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}.fixed{position:fixed}.mb-3{margin-bottom:.75rem}.block{display:block}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.resize{resize:both}.blur{--tw-blur:blur(8px);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)}.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{--footer-h:20px;--ws-font-ui:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ws-font-mono:ui-monospace,"JetBrains Mono",Consolas,monospace;--ws-type-brand:16px;--ws-type-title:19px;--ws-type-body:13px;--ws-type-meta:11px;--ws-status-dot-running:#d99a16;--ws-color-primary:#16a34a;--ws-color-primary-hover:#15803d;--ws-color-primary-contrast:#fff;--ws-color-danger:#dc2626;--ws-color-danger-hover:#b91c1c;--ws-radius-control:10px;--ws-radius-card:18px;--ws-radius-panel:22px;--ws-radius-pill:999px;--ws-radius:var(--ws-radius-control);--ws-radius-large:var(--ws-radius-panel);--ws-shadow-control:0 6px 14px -7px #0f151240;--ws-shadow-card:0 3px 8px -4px #0e2a1c2e;--ws-shadow-panel:0 20px 44px -24px #0e2a1c3d;--ws-focus:0 0 0 3px color-mix(in srgb,var(--ws-color-primary) 28%,transparent)}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ws-surface-page:#f1f5f2;--ws-surface-panel:#ffffff85;--ws-surface-card:#ffffffb8;--ws-surface-modal:#fff;--ws-surface-inset:#ebf1edcc;--ws-surface-control:#fff9;--ws-surface-hover:#e9f1ec;--ws-surface-selected:#dceee2;--ws-border-panel:#ffffffbf;--ws-border-subtle:#111d1724;--ws-border-strong:#8a978e;--ws-text-primary:#111d17;--ws-text-secondary:#6b7280;--ws-text-muted:#7d848d;--ws-status-success:#15803d;--ws-status-success-bg:#dcfce7;--ws-status-error:#dc2626;--ws-status-error-bg:#fef2f2;--ws-status-running:#92400e;--ws-status-running-bg:#fef3c7;--ws-status-neutral:#6b7280;--ws-status-neutral-bg:#edf0ee;--ws-status-info:#1d4ed8;--ws-status-info-bg:#eff6ff;--ws-backdrop:#111d1761}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ws-surface-page:#0b1510;--ws-surface-panel:#13211ae0;--ws-surface-card:#23352b;--ws-surface-modal:#192b21;--ws-surface-inset:#102017;--ws-surface-control:#2a4033;--ws-surface-hover:#304b3b;--ws-surface-selected:#365742;--ws-border-panel:#ffffff29;--ws-border-subtle:#dcede22e;--ws-border-strong:#698472;--ws-text-primary:#edf5ef;--ws-text-secondary:#bac9bf;--ws-text-muted:#9fafa5;--ws-status-success:#86efac;--ws-status-success-bg:#163e26;--ws-status-error:#fca5a5;--ws-status-error-bg:#482328;--ws-status-running:#fde68a;--ws-status-running-bg:#483b19;--ws-status-neutral:#c0cec5;--ws-status-neutral-bg:#304237;--ws-status-info:#93c5fd;--ws-status-info-bg:#1b3544;--ws-backdrop:#030c07ad}:root{--ws-bg:var(--ws-surface-page);--ws-fg:var(--ws-text-primary);--ws-panel:var(--ws-surface-panel);--ws-border:var(--ws-border-subtle);--ws-soft:var(--ws-surface-hover);--ws-soft2:var(--ws-surface-inset);--ws-pre-bg:var(--ws-surface-inset);--ws-btn-bg:var(--ws-surface-control);--ws-btn-hover:var(--ws-surface-hover);--ws-btn-fg:var(--ws-text-primary);--ws-primary:var(--ws-color-primary);--ws-success:var(--ws-color-primary);--ws-error:var(--ws-status-error);--ws-warning:var(--ws-status-running);--ws-shadow:#0e2a1c2e;--ws-dash-panel:var(--ws-surface-panel);--ws-dash-card:var(--ws-surface-card);--ws-dash-hover:var(--ws-surface-hover);--ws-dash-selected:var(--ws-surface-selected);--ws-dash-border:var(--ws-border-panel);--ws-dash-text:var(--ws-text-primary);--ws-dash-muted:var(--ws-text-muted);--ws-dash-button:var(--ws-surface-control);--ws-dash-create:#0f1512;--ws-dash-inset:var(--ws-surface-inset);--ws-dash-shadow:var(--ws-shadow-panel);--ws-progress-track:var(--ws-border-subtle);--ws-progress-border:var(--ws-border-subtle);--ws-progress-running:var(--ws-color-primary);--ws-progress-done:var(--ws-color-primary);--ws-progress-error:var(--ws-status-error);--ws-row-running:var(--ws-status-running-bg);--ws-row-done:var(--ws-status-success-bg);--ws-row-error:var(--ws-status-error-bg)}html,body,#root{height:100%;color:var(--ws-fg)}body{background:var(--ws-bg);font-family:var(--ws-font-ui);margin:0;overflow:hidden}body{background:radial-gradient(ellipse at 90% 95%,color-mix(in srgb,var(--ws-color-primary) 12%,transparent),transparent 65%),var(--ws-surface-page)}*{scrollbar-width:thin;scrollbar-color:var(--ws-border-strong) transparent}button,input,select,textarea{font-family:inherit}pre,code{font-family:var(--ws-font-mono)}.muted{color:var(--ws-text-secondary)}#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:12px;--ws-dashboard-left-w:280px;--ws-dashboard-right-w:310px;--ws-run-tasks-h:calc(100% - 202px)}.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}.ws-dashboard .ws-split-handle{background:0 0;border:0;border-radius:0}.ws-dashboard .ws-split-handle:after{opacity:0}.ws-dashboard .ws-split-handle:hover:after,.ws-dashboard .ws-split-handle:focus-visible:after{opacity:.6}.app-footer{height:var(--footer-h);min-height:var(--footer-h);color:var(--ws-text-muted);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{box-sizing:border-box;z-index:20;align-items:center;height:48px;padding:4px 20px;display:flex;position:fixed;top:0;left:0;right:0}.header .title{align-items:center;gap:10px;display:flex}.app-mark{flex-shrink:0;width:26px;height:26px}.app-title-text{color:var(--ws-text-primary);font-weight:700;font-size:var(--ws-type-brand)}.header .right{white-space:nowrap;align-items:center;gap:8px;margin-left:auto;display:flex}.header .icon-btn{border-radius:6px;width:30px;height:30px;padding:0;font-size:12px}.header .header-lang-btn{width:auto;min-width:30px;padding-inline:6px}.header-divider{background:var(--ws-border-subtle);width:1px;height:20px;margin-inline:4px}.header-avatar{color:#fff;background:#0f1512;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10.5px;display:grid}.header-user-label{text-overflow:ellipsis;max-width:180px;font-size:13px;font-weight:500;overflow:hidden}.header-login{height:84px;padding:24px 28px}.header-login .app-mark{width:36px;height:36px}:root[data-theme=dark] .header-avatar{background:var(--ws-color-primary);color:var(--ws-color-primary-contrast);border:1px solid var(--ws-border-panel);box-sizing:border-box}.login-root{isolation:isolate;box-sizing:border-box;background:var(--ws-surface-modal);justify-content:center;align-items:center;min-height:100%;padding:100px 20px 32px;display:flex;position:relative;overflow:auto}.login-root:before,.login-root:after{content:"";pointer-events:none;z-index:-1;position:fixed}.login-root:before{background:url("data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='1637.6'%20height='1637.6'%20viewBox='0%200%201637.6%201637.6'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%203'%20filter='url(%23filter0_f_0_104)'%3e%3cg%20id='Ellipse%202'%20filter='url(%23filter1_f_0_104)'%3e%3ccircle%20cx='818.8'%20cy='818.8'%20r='642.5'%20fill='%23087A2A'/%3e%3c/g%3e%3cg%20id='Ellipse%203'%20filter='url(%23filter2_f_0_104)'%3e%3ccircle%20cx='801.771'%20cy='848.927'%20r='504.616'%20fill='%2313DF3D'/%3e%3c/g%3e%3cg%20id='Ellipse%204'%20filter='url(%23filter3_f_0_104)'%3e%3cellipse%20cx='780.461'%20cy='831.899'%20rx='402.161'%20ry='391.628'%20fill='%2355F56E'/%3e%3c/g%3e%3cg%20id='Ellipse%205'%20filter='url(%23filter4_f_0_104)'%3e%3cellipse%20cx='779.503'%20cy='844.998'%20rx='286.3'%20ry='278.64'%20fill='%23A2FFB3'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_f_0_104'%20x='0'%20y='0'%20width='1637.6'%20height='1637.6'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='88.15'%20result='effect1_foregroundBlur_0_104'/%3e%3c/filter%3e%3cfilter%20id='filter1_f_0_104'%20x='90.4'%20y='90.4'%20width='1456.8'%20height='1456.8'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='42.95'%20result='effect1_foregroundBlur_0_104'/%3e%3c/filter%3e%3cfilter%20id='filter2_f_0_104'%20x='211.255'%20y='258.411'%20width='1181.03'%20height='1181.03'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='42.95'%20result='effect1_foregroundBlur_0_104'/%3e%3c/filter%3e%3cfilter%20id='filter3_f_0_104'%20x='292.4'%20y='354.371'%20width='976.122'%20height='955.056'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='42.95'%20result='effect1_foregroundBlur_0_104'/%3e%3c/filter%3e%3cfilter%20id='filter4_f_0_104'%20x='407.303'%20y='480.457'%20width='744.401'%20height='729.08'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20stdDeviation='42.95'%20result='effect1_foregroundBlur_0_104'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e") 50%/contain no-repeat;width:1638px;height:1638px;top:14px;left:calc(50% - 339px)}:root[data-theme=dark] .login-root:before{opacity:.25}.login-card{box-sizing:border-box;background:var(--ws-surface-modal);width:min(533px,100%);min-height:445px;box-shadow:var(--ws-shadow-panel);border-radius:16px;flex-shrink:0;padding:44px 59px}.login-title{font:700 24px/1.3 var(--ws-font-ui);margin:0 0 28px}.login-subtitle{font:400 14px/1.3 var(--ws-font-ui);color:var(--ws-text-secondary);margin:0 0 35px}.login-form{flex-direction:column;gap:22px;display:flex}.login-form-row{position:relative}.login-form-row .login-input{border-radius:4px;width:100%;height:42px;min-height:42px;padding:8px 14px;font-size:16px}.login-form-label{color:var(--ws-text-secondary);pointer-events:none;padding:0 4px;font-size:16px;transition:top .12s,font-size .12s;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.login-input:not(:-moz-placeholder-shown)+.login-form-label{background:var(--ws-surface-modal);font-size:12px;top:0}.login-input:focus+.login-form-label,.login-input:not(:placeholder-shown)+.login-form-label{background:var(--ws-surface-modal);font-size:12px;top:0}.login-input:focus+.login-form-label{color:var(--ws-color-primary)}.login-form-row .login-input:focus{box-shadow:none;border:2px solid #50a868;padding-inline:13px}.login-options{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.login-remember{white-space:nowrap;align-items:center;gap:8px;display:flex}.login-remember input[type=checkbox]{width:24px;height:24px;margin:0}.login-recovery{color:var(--ws-color-primary);font:600 14px var(--ws-font-ui);cursor:pointer;background:0 0;border:0;padding:0}.login-form .login-form-submit{width:100%;min-height:40px;margin-top:12px;font-size:14px;font-weight:600}@media (width<=600px){.login-card{padding:32px 24px}.login-options{flex-wrap:wrap;gap:12px}.header-login{padding-inline:20px}}@media (height<=650px){.login-root{align-items:flex-start}}.login-pattern-canvas{pointer-events:none;z-index:-1;width:100vw;height:100vh;position:fixed;inset:0}.btn,.icon-btn,.iconbtn,.modal-close{--control-bg:var(--ws-surface-control);--control-hover:var(--ws-surface-hover);--control-fg:var(--ws-text-primary);--control-border:var(--ws-border-subtle);box-sizing:border-box;border:1px solid var(--control-border);border-radius:var(--ws-radius-control);background:var(--control-bg);min-height:38px;color:var(--control-fg);font:500 13px/1 var(--ws-font-ui);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 14px;transition:background .12s,box-shadow .12s;display:inline-flex}.btn:hover:not(:disabled),.icon-btn:hover:not(:disabled),.iconbtn:hover:not(:disabled),.modal-close:hover{background:var(--control-hover)}.btn:active:not(:disabled),.icon-btn:active:not(:disabled){box-shadow:inset 0 1px 3px #0000001f}.btn:disabled,.icon-btn:disabled,.iconbtn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn[data-variant=primary]{--control-bg:var(--ws-color-primary);--control-hover:var(--ws-color-primary-hover);--control-fg:var(--ws-color-primary-contrast);--control-border:var(--ws-color-primary);box-shadow:0 10px 22px -10px #16a34a99}.btn[data-variant=danger]{--control-bg:var(--ws-color-danger);--control-hover:var(--ws-color-danger-hover);--control-fg:#fff;--control-border:var(--ws-color-danger)}.btn[data-variant=ghost],.icon-btn,.modal-close{--control-bg:transparent;--control-border:transparent}.btn[data-variant=success]{--control-bg:var(--ws-status-success-bg);--control-fg:var(--ws-status-success)}.btn[data-variant=warning]{--control-bg:var(--ws-status-running-bg);--control-fg:var(--ws-status-running)}.icon-btn,.iconbtn,.btn-icon,.modal-close{flex-shrink:0;width:28px;height:28px;min-height:28px;padding:5px}:where(.ws-panel-toolbar,.ws-tasks-head,.ws-console-head,.ws-scheduler-header,.ws-schedule-actions,.ws-console-right) .btn{border-radius:var(--ws-radius-pill);white-space:nowrap;min-height:28px;padding:5px 10px;font-size:12px}.ws-panel-toolbar .btn{padding-inline:8px;font-size:11px}.ws-panel-toolbar .btn:is([data-action=addHost],[data-action=addPB]){--control-bg:#0f1512;--control-hover:#263c30;--control-fg:#fff;--control-border:transparent;box-shadow:var(--ws-shadow-control)}.ws-tasks-head-right>.btn,.ws-scheduler-head-right>.btn{border-radius:var(--ws-radius-pill);height:28px;min-height:28px;padding:5px 10px;font-size:12px}.ws-dashboard :is(.ws-host-actions,.ws-pb-actions) .icon-btn{width:28px;height:28px;min-height:28px;padding:5px}.ws-icon{vertical-align:middle;flex:0 0 14px;width:14px;height:14px;display:inline-block}.ws-icon-asset{-o-object-fit:contain;object-fit:contain}:root[data-theme=dark] .ws-icon-asset{filter:brightness(2)}button:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible,a:focus-visible{outline:2px solid var(--ws-color-primary);outline-offset:2px;box-shadow:var(--ws-focus)}.input,.modal-card input:not([type=checkbox]):not([type=radio]),.modal-card select,.modal-card textarea{box-sizing:border-box;border:1px solid var(--ws-border-strong);border-radius:var(--ws-radius-control);background:var(--ws-surface-modal);min-width:0;min-height:38px;color:var(--ws-text-primary);font:400 13px/1.4 var(--ws-font-ui);outline:none;padding:8px 10px}.input:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--ws-color-primary);box-shadow:var(--ws-focus)}.input:disabled,.modal-card :is(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}[aria-invalid=true]{border-color:var(--ws-status-error)}select option{background:var(--ws-surface-modal);color:var(--ws-text-primary)}textarea,.modal-card textarea{font-family:var(--ws-font-mono);resize:vertical;background:var(--ws-surface-inset)}input:is([type=checkbox],[type=radio]){width:16px;height:16px;accent-color:var(--ws-color-primary);vertical-align:middle;flex-shrink:0}input:is([type=checkbox],[type=radio]):focus-visible{outline:2px solid var(--ws-color-primary);outline-offset:2px}.modal-label,.modal-field>label,.ws-schedule-fields label{color:var(--ws-text-secondary);font-size:12px;font-weight:500}.modal-form{flex-direction:column;gap:14px;display:flex}.modal-field{flex-direction:column;gap:6px;display:flex}.modal-textarea{resize:vertical}.modal-strong{font-weight:600}.modal-note{font-size:13px;line-height:1.5}.modal-backdrop{z-index:50;background:var(--ws-backdrop);box-sizing:border-box;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--ws-surface-modal);color:var(--ws-text-primary);border:1px solid var(--ws-border-panel);box-shadow:var(--ws-shadow-panel);border-radius:18px;flex-direction:column;width:auto;min-width:min(360px,100vw - 32px);max-width:min(900px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;overflow:hidden}.modal-card-wide{width:min(95vw,1100px);max-width:1100px}.modal-card-confirm{width:420px;max-width:calc(100vw - 32px)}.modal-header{box-sizing:border-box;border-bottom:1px solid var(--ws-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 18px;display:flex}.modal-title{font-size:19px;font-weight:600}.modal-body{min-height:0;padding:18px;overflow:auto}.modal-actions{border-top:1px solid var(--ws-border-subtle);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.modal-body>.modal-actions{margin:18px -18px -18px}.modal-confirm-message{white-space:pre-line;font-size:13px;line-height:1.6}.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:var(--ws-surface-selected)}.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-dashboard .ws-host-group-block{margin-bottom:8px}.ws-dashboard .ws-host-group-row{gap:4px;min-height:36px;padding:0 4px}.ws-dashboard .ws-host-row{min-height:53px;padding:4px 4px 4px max(8px, calc(var(--ws-indent) - 16px));border-radius:8px}.ws-dashboard .ws-host-group-title{color:var(--ws-dash-muted);font-size:13px;font-weight:400}.ws-dashboard .ws-host-row-left{cursor:pointer;gap:8px}.ws-dashboard .ws-host-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.ws-dashboard .ws-host-copy .muted{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.ws-dashboard .ws-host-name{font-weight:500;line-height:18px}.ws-dashboard .ws-host-actions{gap:0}.ws-dashboard .ws-host-icon{flex:0 0 14px;width:14px}.ws-dashboard .ws-host-row[data-selected=true]{background:var(--ws-dash-selected)}.ws-group-count{color:var(--ws-dash-muted);margin-left:auto;font-size:11px}.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:var(--ws-status-success)}.ws-pb-editor-validation-error{color:var(--ws-status-error);cursor:pointer;text-decoration:underline}.ws-pb-editor-buttons{gap:8px;display:flex}.ws-dashboard .ws-pb-group-block{margin-bottom:8px}.ws-dashboard .ws-pb-group-row{gap:4px;min-height:36px;padding:0 4px}.ws-dashboard .ws-pb-group-title{color:var(--ws-dash-muted);font-size:13px;font-weight:400}.ws-dashboard .ws-pb-row{min-height:46px;padding:4px 4px 4px max(8px, calc(var(--ws-indent) - 16px));border-radius:8px}.ws-dashboard .ws-pb-row-left{cursor:pointer;gap:8px}.ws-dashboard .ws-pb-actions{gap:0}.ws-dashboard .ws-pb-icon,.ws-dashboard .ws-pb-icon-doc{flex:0 0 14px;width:14px}.ws-dashboard .ws-pb-row:hover{background:var(--ws-dash-hover)}.ws-dashboard .ws-pb-row[data-selected=true]{background:var(--ws-dash-selected)}.ws-run-root{flex-direction:column;height:100%;min-height:0;display:flex}.ws-run-split{grid-template-rows:min(var(--ws-run-tasks-h,calc(100% - 202px)), calc(100% - 132px)) var(--ws-splitter-size,12px) minmax(0, 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:var(--ws-surface-selected)}.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:var(--ws-status-running-bg);border-color:var(--ws-status-running)}.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{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.ws-console-repeat{min-width:28px;padding:2px 7px}.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}.ws-console-loading{opacity:.8;align-items:center;gap:6px;min-height:22px;padding:4px 8px;font-size:12px;display:flex}.ws-console-diagnostic{white-space:pre;max-width:100%;font-family:var(--font-mono,monospace);margin:0;font-size:12px;overflow-x:auto}.ws-console-row-pb[data-clickable=false]{cursor:default}.ws-console-hostcard,.ws-console-pbcard,.ws-console-pblist,.ws-console-lines{min-width:0}.ws-dashboard{color:var(--ws-dash-text);padding:54px 20px calc(var(--footer-h) + 6px);grid-template-columns:min(var(--ws-dashboard-left-w), 26vw) var(--ws-splitter-size) minmax(0,1fr) var(--ws-splitter-size) min(var(--ws-dashboard-right-w), 27vw)}.ws-dashboard .ws-col{border-radius:var(--ws-radius-large);min-width:0;box-shadow:var(--ws-dash-shadow);border-color:var(--ws-border-panel);padding:0}.ws-dashboard .ws-col:nth-child(3){box-shadow:none;background:0 0;border:0;overflow:visible}.ws-dashboard .panel-body{border:0;border-radius:0;padding:8px}.ws-dashboard .ws-hosts-body-inner,.ws-dashboard .ws-playbooks-body-inner{padding:0}.ws-dashboard :is(.panel-body,.ws-tasks-scroll,.ws-console-scroll,pre){scrollbar-width:thin;scrollbar-color:var(--ws-dash-muted) transparent}.ws-dashboard input[type=checkbox]{width:16px;height:16px;accent-color:var(--ws-success);cursor:pointer;flex:0 0 16px;margin:0}.ws-dashboard .muted{color:var(--ws-dash-muted)}.ws-dashboard-icon{-o-object-fit:contain;object-fit:contain;flex:0 0 14px;width:14px;height:14px;display:inline-block}:root[data-theme=light] .ws-dashboard-icon{filter:brightness(.45)}:root[data-theme=light] [data-action=run] .ws-dashboard-icon{filter:none}.ws-dashboard .ws-panel-toolbar{flex:none;gap:6px;height:52px;margin:0;padding:0 10px}.ws-dashboard .ws-panel-toolbar__left{gap:6px;font-size:14px;font-weight:400}.ws-panel-toolbar__heading{flex-direction:column;gap:3px;min-width:0;display:flex}.ws-panel-toolbar__subtitle{color:var(--ws-dash-muted);font-size:12px;font-weight:400}.ws-dashboard .ws-panel-toolbar__actions{gap:4px}.ws-dashboard .ws-run-root>.ws-panel-toolbar{border:0;height:42px;margin-bottom:14px;padding:0}.ws-dashboard .ws-run-root>.ws-panel-toolbar .ws-panel-toolbar__title{letter-spacing:-.38px;font-size:19px}.ws-dashboard :is(.ws-tasks-box,.ws-console-box){background:var(--ws-dash-panel);border-radius:var(--ws-radius-large);box-shadow:var(--ws-dash-shadow);border-color:var(--ws-border-panel)}.ws-dashboard :is(.ws-tasks-head,.ws-console-head){box-sizing:border-box;flex:0 0 52px;height:52px;padding:0 16px}.ws-dashboard :is(.ws-tasks-title,.ws-console-title){font-size:14px;font-weight:400}.ws-dashboard .ws-tasks-filters{border:1px solid var(--ws-border);background:var(--ws-dash-inset);border-radius:999px;gap:0;padding:3px}.ws-dashboard .ws-tasks-filter-btn{height:24px;min-height:24px;color:var(--ws-dash-muted);background:0 0;border:0;padding:3px 8px;font-size:11px;font-weight:400}.ws-dashboard .ws-tasks-filter-btn[data-active=true]{background:var(--ws-success);color:#fff}.ws-dashboard .ws-tasks-scroll{padding:8px 10px}.ws-dashboard .ws-tasks-row{border:1px solid var(--ws-border);border-radius:var(--ws-radius-card);background:var(--ws-dash-card);box-shadow:var(--ws-shadow-card);box-sizing:border-box;min-height:66px;margin-bottom:6px;padding:9px 12px}.ws-dashboard .ws-tasks-row:hover{background:var(--ws-dash-hover)}.ws-dashboard .ws-tasks-row[data-active=true]{background:var(--ws-dash-selected);border-color:color-mix(in srgb,var(--ws-success) 45%,var(--ws-border))}.ws-dashboard .ws-task-content{grid-template-columns:minmax(160px,1fr) minmax(140px,240px) minmax(150px,.8fr);align-items:center;gap:12px;padding:0;display:grid}.ws-task-left,.ws-task-center{min-width:0}.ws-task-center{justify-self:center;width:100%;max-width:240px}.ws-dashboard .ws-task-name{align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.ws-dashboard .ws-task-stats{color:var(--ws-dash-muted);gap:8px;padding-left:16px;font-size:11px;display:flex}.ws-dashboard .ws-task-summary{text-align:center;font-family:var(--ws-font-mono);color:var(--ws-dash-muted);margin:0;font-size:11px}.ws-dashboard .ws-task-summary b{font-weight:400}.ws-dashboard .ws-task-meta{color:var(--ws-dash-muted);opacity:1;grid-area:1/3;font-size:11px}.ws-dashboard .ws-task-progress{background:var(--ws-progress-track);border-radius:999px;width:100%;height:4px;margin-top:6px;display:block;position:relative;overflow:hidden}.ws-dashboard .ws-task-row-fill{width:var(--ws-task-pct);opacity:1;background:var(--ws-success);top:0;bottom:0;left:0}.ws-status-dot{background:var(--ws-status-neutral);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.ws-status-dot[data-status=done]{background:var(--ws-color-primary)}.ws-status-dot[data-status=error]{background:var(--ws-status-error)}.ws-status-dot[data-animated=true]{background:var(--ws-status-dot-running);animation:1.8s ease-in-out infinite ws-status-pulse}@keyframes ws-status-pulse{0%,to{opacity:.85;box-shadow:0 0 0 0 color-mix(in srgb,var(--ws-status-dot-running) 22%,transparent);transform:scale(1)}50%{opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--ws-status-dot-running) 14%,transparent);transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.ws-status-dot[data-animated=true]{animation:2.4s ease-in-out infinite ws-status-pulse-reduced}}.ws-dashboard .ws-console-scroll{padding:8px 12px}.ws-dashboard .ws-console-hostlist{gap:4px}.ws-dashboard :is(.ws-console-hostcard,.ws-console-pbcard){border:0;border-radius:6px}.ws-dashboard .ws-console-row{gap:8px;min-height:32px;padding:4px 8px}.ws-dashboard .ws-console-hostname{font-size:13px;font-weight:500}.ws-dashboard .ws-console-pbname{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:400;overflow:hidden}.ws-dashboard .ws-console-row-pb{background:0 0}.ws-dashboard .ws-console-pblist{gap:0;padding:0 0 0 22px}.ws-dashboard .ws-console-stripe{opacity:.6;width:2px}.ws-dashboard .ws-console-lines{padding:6px 8px}.ws-dashboard .ws-console-diagnostic{background:var(--ws-dash-inset);border:1px solid var(--ws-border);box-sizing:border-box;border-radius:8px;padding:10px;line-height:1.5}.ws-dashboard .ws-console-repeat{width:24px;min-width:24px;min-height:24px;color:var(--ws-dash-muted);background:0 0;border-color:#0000;padding:2px}.ws-dashboard .ws-console-right{gap:6px}.ws-dashboard .ws-console-right .btn{min-height:24px;padding:3px 8px;font-size:11px}.ws-dashboard .ws-console-warning{color:var(--ws-dash-text)}@media (width<=1450px){.ws-dashboard{padding-left:12px;padding-right:12px}.ws-dashboard .ws-panel-toolbar{gap:4px;padding-left:8px;padding-right:8px}.ws-dashboard .ws-console-right{flex-wrap:wrap;justify-content:flex-end}}@keyframes ws-status-pulse-reduced{0%,to{opacity:.75;box-shadow:0 0 0 2px color-mix(in srgb,var(--ws-status-dot-running) 4%,transparent)}50%{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--ws-status-dot-running) 18%,transparent)}}.ws-feedback,.panel-error,.ws-schedule-warning,.ws-console-warning,.ws-host-test-result:not(:empty){--feedback-bg:var(--ws-status-error-bg);--feedback-fg:var(--ws-status-error);border:1px solid color-mix(in srgb,var(--feedback-fg) 28%,transparent);background:var(--feedback-bg);color:var(--feedback-fg);font:400 12px/1.5 var(--ws-font-ui);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px}.ws-feedback[data-tone=info]{--feedback-bg:var(--ws-status-info-bg);--feedback-fg:var(--ws-status-info)}.ws-feedback[data-tone=success],.ws-host-test-result[data-ok=true]{--feedback-bg:var(--ws-status-success-bg);--feedback-fg:var(--ws-status-success)}.ws-feedback[data-tone=warning],.ws-console-warning,.ws-schedule-warning{--feedback-bg:var(--ws-status-running-bg);--feedback-fg:var(--ws-status-running)}.ws-spinner,.ws-console-spinner,.ws-host-test-spinner{border:2px solid var(--ws-border-subtle);border-top-color:var(--ws-color-primary);border-radius:50%;flex:0 0 12px;width:12px;height:12px;animation:.8s linear infinite ws-spin;display:inline-block}@keyframes ws-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ws-spinner,.ws-console-spinner,.ws-host-test-spinner{animation:none}}.ws-tasks-empty,.ws-console-empty{color:var(--ws-text-secondary);padding:12px;font-size:13px;line-height:1.5}
