:root{--fg: #1d1f23;--muted: #6b7280;--bg: #f7f7f8;--card: #ffffff;--border: #e3e5ea;--border-hover: #c3c8d1;--accent: #0f62fe;--accent-hover: #0050d4;--ok: #168f4b;--err: #c0392b;--warn: #b07d00;--surface-hover: #f3f4f6;--surface-sunken: #fafbfc;--surface-info: #f3f6fb;--row-hover: #f7f8fa;--control-disabled: #b8c0cc;--control-disabled-fg: #b9bdc5;--hover-strong: #e5e7eb;--accent-soft-bg: #f0f4ff;--accent-soft-bg-hover: #e3ebff;--accent-soft-border: #cdd9f9;--accent-icon-hover-bg: #eff4ff;--accent-chip-bg: #dbeafe;--accent-chip-fg: #1e40af;--accent-chip-border: #bfdbfe;--accent-wash: rgba(15, 98, 254, .06);--accent-tint: rgba(15, 98, 254, .08);--accent-tint-strong: rgba(15, 98, 254, .18);--ok-soft-bg: #ecfdf5;--ok-soft-fg: #065f46;--err-soft-bg: #fff5f5;--err-soft-border: #f5c2c2;--err-strong: #a52a1c;--sev-error-bg: #fde2e1;--sev-warning-bg: #fcefd4;--sev-warning-border: #fbe0b0;--sev-info-bg: #e5e7eb;--stage-assess-bg: #dbeafe;--stage-assess-fg: #1d4ed8;--stage-transform-bg: #fdecd2;--stage-transform-fg: #b9770e;--stage-validate-bg: #d9f3e4;--stage-validate-fg: var(--ok);--run-bar-bg: #eef0f3;--backdrop: rgba(0, 0, 0, .3);--shadow-menu: 0 6px 20px rgba(20, 24, 33, .14);--shadow-dialog: 0 14px 48px rgba(20, 24, 33, .28);--shadow-tooltip: 0 6px 18px rgba(0, 0, 0, .2);--icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");--tooltip-bg: #4a4f57;--tooltip-width: 320px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lh: 1.45;--fs-h1: 18px;--fs-h2: 14px;--fs-body: 14px;--fs-sm: 12px;--fs-meta: 12px;--fs-micro: 10px;--fs-nano: 10px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 12px;--sp-5: 16px;--sp-6: 20px;--sp-7: 24px;--sp-8: 32px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-pill: 999px;--sidebar-w: 200px;--content-max: 720px;--content-max-wide: 1100px;--t-fast: .12s}*,*:before,*:after{box-sizing:border-box}:focus,:focus-visible{outline:none}::-moz-focus-inner{border:0}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);color:var(--fg);background:var(--bg);line-height:var(--lh)}h1{margin:0;font-size:var(--fs-h1);font-weight:var(--fw-semibold)}h2{margin:0 0 var(--sp-5);font-size:var(--fs-h2);font-weight:var(--fw-semibold)}h3{margin:0;font-size:var(--fs-h2);font-weight:var(--fw-semibold)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--font-mono)}.eyebrow{font-size:var(--fs-micro);color:var(--muted);font-weight:var(--fw-semibold)}.row-title{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--fg);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.app-shell{height:100vh;overflow:hidden;display:flex;flex-direction:column}body.app-shell header{flex:0 0 auto;position:relative;z-index:50}body.app-shell .shell{flex:1 1 auto;min-height:0;align-items:stretch;overflow:hidden}body.app-shell main{overflow-y:auto;min-height:0}header{padding:10px var(--sp-8);border-bottom:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7)}header .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}header .brand{display:flex;align-items:center;gap:var(--sp-4)}header .brand .brand-logo{width:auto;display:block}header .brand .brand-sub{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--muted);padding-left:var(--sp-4);border-left:1px solid var(--border);white-space:nowrap}.shell{display:flex;align-items:flex-start}main{flex:1;min-width:0;padding:var(--sp-7) var(--sp-7)}main>*{max-width:var(--content-max);margin-left:auto;margin-right:auto}main.wide>*{max-width:var(--content-max-wide)}.page-crumb h1{display:flex;align-items:center;gap:2px;font-size:var(--fs-sm);font-weight:var(--fw-regular);min-width:0}header .page-crumb{position:absolute;top:50%;transform:translateY(-50%);left:calc(var(--sidebar-w) + var(--sp-7));right:calc(var(--sp-7) + var(--chat-w, 0px));display:flex;justify-content:center;pointer-events:none;transition:right .16s ease}header .page-crumb h1{width:100%;max-width:1100px;justify-content:flex-start;pointer-events:auto}header .page-crumb h1>:first-child{margin-left:-8px}.page-crumb .crumb-ctx,.page-crumb .crumb-cur{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40ch}a.crumb-ctx:hover,a.crumb-ctx:focus-visible{background:#f3f4f6;color:var(--fg);text-decoration:none;outline:none}.page-crumb .crumb-cur{font-weight:var(--fw-semibold);color:var(--accent)}.page-crumb button.crumb-cur{background:transparent;border:0;font:inherit;cursor:pointer}.page-crumb button.crumb-cur:hover:not(:disabled){filter:none;background:#f3f4f6}.page-crumb .crumb-swap{width:12px;height:12px;margin-left:var(--sp-2);flex:0 0 auto;opacity:.7}.page-crumb .crumb-hint{background:#f3f4f6;border:0;color:var(--muted);margin-left:var(--sp-2)}.page-crumb :not(.crumb-hint)+.crumb-hint{margin-left:var(--sp-5)}a.crumb-hint:hover,a.crumb-hint:focus-visible{background:#e8eaee;color:var(--fg)}.page-crumb .crumb-desc{color:var(--muted);font-weight:var(--fw-regular);margin-right:var(--sp-1)}.page-crumb .crumb-cur .crumb-desc{color:inherit;opacity:.55}.page-crumb .crumb-sep{color:var(--muted);opacity:.45;user-select:none}.header-settings{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 8px;border-radius:6px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted);white-space:nowrap;cursor:pointer;text-decoration:none}.header-settings:hover,.header-settings:focus-visible{background:#f3f4f6;color:var(--fg);text-decoration:none;outline:none}.header-settings svg{width:14px;height:14px;flex:0 0 auto}.header-settings[hidden]{display:none}header .header-settings-slot{position:absolute;top:50%;transform:translateY(-50%);left:calc(var(--sidebar-w) + var(--sp-7));right:calc(var(--sp-7) + var(--chat-w, 0px));display:flex;justify-content:center;pointer-events:none;z-index:1;transition:right .16s ease}header .header-settings-box{width:100%;max-width:1100px;display:flex;justify-content:flex-end;pointer-events:none}header .header-settings-box>.header-settings{pointer-events:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-6)}.card h2{margin:0 0 var(--sp-3)}.card .card-sub{color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--sp-5);max-width:66%}.card-head{position:relative;margin:0 0 var(--sp-3)}.card-head>h2,.card-head>h3,.card-head>h4{margin:0}.card-head>button,.card-head>.card-head-action{position:absolute;top:50%;right:0;transform:translateY(-50%)}.card-head>button[hidden],.card-head>.card-head-action[hidden]{display:none!important}.lane{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.lane>h4,.lane-head h4{margin:0;font-size:var(--fs-meta);font-weight:var(--fw-semibold);color:var(--muted)}.lane-head{display:flex;align-items:center;gap:var(--sp-3)}.lane-head h4{flex:1 1 auto;min-width:0}.tabs{display:flex;align-items:flex-end;gap:var(--sp-2);border-bottom:1px solid var(--border);margin:0 0 var(--sp-6)}.tab{appearance:none;background:transparent;border:0;cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted);padding:var(--sp-3) 14px;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--r-sm)}.tab:hover{color:var(--fg);text-decoration:none}.tab.is-active{color:var(--fg);border-bottom-color:var(--accent)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-sm)}.tabs>.tabs-aside{margin-left:auto}.tab.tabs-aside{font-weight:var(--fw-regular);white-space:nowrap}.tabs>.menu-wrap{align-self:center}.ws-hint{border:1px dashed var(--border);border-radius:var(--r-md);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:34px 24px;min-height:170px;color:var(--muted)}.ws-hint.create{border:0}.ws-hint .ws-hint-ic{width:32px;height:32px;color:#b9bdc6;flex:0 0 auto}.ws-hint-title{font-size:var(--fs-body);font-weight:var(--fw-medium);color:#808795}.ws-hint-sub{font-size:var(--fs-sm);max-width:46ch;margin:0;line-height:1.5}.ws-hint-step{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:var(--fw-semibold);color:#9aa1ad;margin-bottom:-2px}.ws-hint>.ws-hint-cta{margin-top:2px}.ws-hint.lane{padding:26px 16px;min-height:150px}.ws-hint.lane .ws-hint-ic{width:26px;height:26px}.ws-hint.lane .ws-hint-title{font-size:var(--fs-sm)}.ws-hint.lane .ws-hint-sub{font-size:var(--fs-micro);max-width:28ch}.scope-na-bar{display:flex;width:fit-content;max-width:100%;align-items:center;gap:10px;margin:calc(var(--sp-5) * 2) 0;padding:8px 12px;border:1px dashed var(--border);border-radius:var(--r-md);background:transparent;color:var(--muted)}.scope-na-ico{flex:0 0 auto;margin:0 6px;color:var(--border);font-size:20px;line-height:1}.scope-na-text{display:flex;flex-direction:column;gap:1px;min-width:0}.scope-na-title{font-size:var(--fs-body);font-weight:var(--fw-medium);color:#808795}.scope-na-sub{font-size:var(--fs-sm);color:var(--muted)}#sidebarHost{flex:0 0 var(--sidebar-w);align-self:stretch;min-height:0}.side-panel{flex:0 0 var(--panel-w, 380px);min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--bg);font-size:var(--fs-sm);color:var(--fg);transition:flex-basis .16s ease;overflow:hidden}.side-panel.is-collapsed{flex-basis:var(--panel-w, 40px)}.side-panel>:not(.side-panel-rail){width:var(--panel-open-w, 380px)}.side-panel.is-collapsed:not(.is-closing)>:not(.side-panel-rail){visibility:hidden}.side-panel-rail{position:fixed;top:50%;transform:translateY(-50%);width:24px;height:44px;padding:0;cursor:pointer;align-items:center;justify-content:center;right:0;z-index:40}.side-panel .side-panel-rail{display:flex;background:var(--card);border:1px solid var(--border);border-right:0;border-radius:var(--r-md) 0 0 var(--r-md)}@media(max-width:900px){.side-panel{position:fixed;top:0;bottom:0;right:calc(-1 * var(--panel-open-w, 380px));width:min(380px,100vw);z-index:40;box-shadow:-8px 0 24px #0000002e;transition:right .16s ease}.side-panel:not(.is-collapsed){right:0}}label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted);margin-bottom:var(--sp-2)}label .hint{font-weight:var(--fw-regular);color:var(--muted)}label .req{color:var(--err);font-weight:var(--fw-bold)}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input:where([type=date]),select,textarea{width:100%;padding:var(--sp-3) 10px;font-size:var(--fs-sm);font-family:inherit;border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;color:var(--fg);transition:border-color var(--t-fast)}input:where([type=date]){line-height:normal}input:hover:where(:not(:focus)):where(:not(:disabled)):where(:not(.invalid)),select:hover:where(:not(:focus)):where(:not(:disabled)),textarea:hover:where(:not(:focus)):where(:not(:disabled)){border-color:var(--border-hover)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-hover)}input:disabled,select:disabled,textarea:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:12px;height:12px;margin-left:4px;cursor:pointer;background-color:var(--muted);-webkit-mask:var(--icon-close) center / 100% 100% no-repeat;mask:var(--icon-close) center / 100% 100% no-repeat}input[type=search]:hover::-webkit-search-cancel-button,input[type=search]:focus::-webkit-search-cancel-button{background-color:var(--fg)}input.invalid{border-color:var(--err);background:var(--err-soft-bg)}input[type=file]{width:100%;font-size:var(--fs-body);padding:var(--sp-2) 0}input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;box-sizing:border-box;width:14px;height:14px;margin:0;vertical-align:middle;border:1.5px solid var(--border-hover);border-radius:4px;background:#fff center / 12px 12px no-repeat;cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast)}input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.8 7.2 L6.1 9.5 L10.2 4.6'/%3E%3C/svg%3E")}input[type=checkbox]:indeterminate{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cline x1='4' y1='7' x2='10' y2='7' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}input[type=checkbox].dm-check--quiet:checked,input[type=checkbox].dm-check--quiet:indeterminate,.show-inactive-row input[type=checkbox]:checked,.show-inactive-row input[type=checkbox]:indeterminate,.ov-og-oos-row input[type=checkbox]:checked,.ov-og-oos-row input[type=checkbox]:indeterminate,.activation-inline input[type=checkbox]:checked,.activation-inline input[type=checkbox]:indeterminate,.profile-empty-check input[type=checkbox]:checked,.profile-empty-check input[type=checkbox]:indeterminate{background-color:var(--muted);border-color:var(--muted)}.field{margin-bottom:var(--sp-5)}.field:last-child{margin-bottom:0}.row{display:flex;gap:var(--sp-4);align-items:center}.row>*{flex:1}.editable{cursor:text;padding:1px var(--sp-1);margin:-1px -4px;border-radius:var(--r-sm);outline:none;transition:background var(--t-fast)}.editable:hover{background:#0000000d}.editable:focus,.editable.editing{background:#3b82f61a}.editable:empty:before{content:attr(data-placeholder);color:var(--muted);font-style:italic}.edit-row{display:inline-flex;align-items:center;gap:var(--sp-2)}.edit-row input{flex:1 1 auto;min-width:0;padding:3px 7px;font-size:var(--fs-sm);border:1px solid var(--accent);border-radius:var(--r-sm);background:#fff;color:var(--fg)}.edit-row input.invalid{border-color:var(--err);background:var(--err-soft-bg)}.edit-row .icon-btn.save:hover:not(:disabled){color:var(--ok);background:var(--ok-soft-bg);border-color:transparent}.edit-row .icon-btn.cancel:hover:not(:disabled){color:var(--err);background:var(--err-soft-bg);border-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:var(--accent);color:#fff;border:0;padding:9px 16px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-family:inherit;font-weight:var(--fw-medium);cursor:pointer}button:hover:not(:disabled){filter:brightness(.96)}button:disabled{background:var(--control-disabled);cursor:not-allowed}button.secondary,.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--border)}button.secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){filter:none;background:var(--accent-icon-hover-bg);border-color:var(--accent);color:var(--accent)}a.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:6px 12px;border-radius:var(--r-sm);font-size:var(--fs-micro);font-weight:var(--fw-medium);text-decoration:none}a.btn-secondary:hover{text-decoration:none}button.ghost,.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}button.ghost:hover:not(:disabled){filter:none;background:var(--surface-hover);border-color:var(--border)}button.danger,.btn-danger{background:var(--err)}.link-btn{background:transparent;color:var(--accent);border:0;padding:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.link-btn:hover:not(:disabled){filter:none;text-decoration:underline}.link-btn:disabled{background:transparent;color:var(--muted);cursor:default}.filters{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end}.filters label:not(.menu-item){display:flex;flex-direction:column;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--fg);gap:var(--sp-2);margin-bottom:0}.filters input:not([type=checkbox]),.filters select{font:inherit;font-size:var(--fs-sm);padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;color:var(--fg);min-width:130px;width:auto}.filters button{background:var(--accent);color:#fff;border:0;padding:7px 14px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer}.filters button:hover:not(:disabled){filter:none;background:var(--accent-hover)}.filters button.ghost{background:#fff;color:var(--fg);border:1px solid var(--border)}.filters button.ghost:hover:not(:disabled){filter:none;background:var(--surface-hover)}.icon-btn,.add-btn,.kebab-btn{background:transparent;color:var(--muted);border:1px solid transparent;padding:var(--sp-1) var(--sp-2);cursor:pointer;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.icon-btn:hover:not(:disabled){filter:none;background:var(--surface-hover);color:var(--fg);border-color:var(--border)}.kebab-btn:hover:not(:disabled),.kebab-btn[aria-expanded=true]{filter:none;background:var(--card);color:var(--fg);border-color:var(--border)}.kebab-btn{width:30px;height:22px;padding:0}.kebab-btn svg{width:18px;height:18px}.icon-btn.accent:hover:not(:disabled),.add-btn:hover:not(:disabled),.add-btn[aria-expanded=true]{filter:none;background:var(--surface-hover);color:var(--accent);border-color:transparent}.icon-btn.danger,.btn-quiet.danger{background:transparent;border-color:transparent}.icon-btn.danger:hover:not(:disabled){background:var(--card);color:var(--err);border-color:transparent}.icon-btn svg,.add-btn svg,.kebab-btn svg{width:16px;height:16px;display:block}.icon-btn:disabled,.add-btn:disabled,.kebab-btn:disabled,.icon-btn:disabled:hover{background:transparent;border-color:transparent;opacity:.4;cursor:not-allowed}.add-btn{font-size:var(--fs-h1);line-height:1}.add-btn svg{width:13px;height:13px}.btn-quiet{display:inline-flex;align-items:center;gap:var(--sp-2);background:transparent;color:var(--fg);border:1px solid transparent;padding:var(--sp-2) 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-family:inherit;font-weight:var(--fw-medium);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.btn-quiet svg{width:13px;height:13px;flex:0 0 auto;display:block}.btn-quiet:hover:not(:disabled){background:var(--surface-hover);color:var(--fg);border-color:var(--border)}.btn-quiet.accent{color:var(--accent)}.btn-quiet.accent:hover:not(:disabled){background:var(--accent-icon-hover-bg);color:var(--accent);border-color:var(--accent)}.btn-quiet.danger{color:var(--err)}.btn-quiet.compact{font-size:var(--fs-meta);padding:3px 6px;gap:5px;line-height:1.4}.btn-quiet.compact svg{width:12px;height:12px}.btn-quiet.danger:hover:not(:disabled){background:var(--err-soft-bg);color:var(--err);border-color:transparent}.btn-quiet:disabled{background:transparent;border-color:transparent;opacity:.4;cursor:not-allowed}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.seg>button.seg-btn,.seg>button.seg-btn:hover:not(:disabled){background:var(--card);color:var(--muted);border:0;border-radius:0;filter:none;padding:3px 10px;font:inherit;font-size:var(--fs-sm);cursor:pointer}.seg>button.seg-btn+button.seg-btn{border-left:1px solid var(--border)}.seg>button.seg-btn:hover:not(:disabled){color:var(--fg)}.seg>button.seg-btn[aria-pressed=true]{background:var(--surface-info);color:var(--fg);font-weight:var(--fw-semibold)}.is-quiet{opacity:0;transition:opacity var(--t-fast)}:hover>.is-quiet,:focus-within>.is-quiet,.is-quiet[aria-expanded=true]{opacity:1}.status{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--sp-4);min-height:18px}.status.ok{color:var(--ok)}.status.err{color:var(--err)}.status.warn{color:var(--warn)}.callout,.action-desc,.section-divider{background:var(--surface-info);border-left:3px solid var(--accent);padding:10px 14px;font-size:var(--fs-sm);color:var(--fg);border-radius:0 var(--r-sm) var(--r-sm) 0;margin-bottom:var(--sp-5)}.section-divider{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-meta);font-weight:var(--fw-semibold);margin:var(--sp-4) 0 var(--sp-3)}.callout.ok{border-left-color:var(--ok);background:var(--ok-soft-bg)}.callout.warn{border-left-color:var(--warn);background:var(--sev-warning-bg)}.callout.err{border-left-color:var(--err);background:var(--err-soft-bg)}.callout:empty,.action-desc:empty{display:none}pre.err-detail{background:var(--err-soft-bg);border:1px solid var(--err-soft-border);color:var(--err);padding:10px 12px;border-radius:var(--r-sm);font-size:var(--fs-meta);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}pre.code{background:var(--surface-sunken);border:1px solid var(--border);color:var(--muted);border-radius:var(--r-sm);padding:10px;font-size:var(--fs-meta);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}.toast{position:fixed;right:var(--sp-6);bottom:var(--sp-6);z-index:6000;display:inline-flex;align-items:center;gap:var(--sp-3);padding:10px 14px;max-width:360px;background:var(--fg);color:#fff;border-radius:var(--r-md);font-size:var(--fs-sm);box-shadow:var(--shadow-dialog)}.toast.ok{background:var(--ok)}.toast.err{background:var(--err)}.toast.warn{background:var(--warn);color:var(--fg)}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table{--cell-py: 9px;--cell-px: 8px}th,td{text-align:left;padding:var(--cell-py) var(--cell-px);border-top:1px solid var(--border);vertical-align:middle}th:first-child,td:first-child{padding-left:var(--sp-5)}th:last-child,td:last-child{padding-right:var(--sp-5)}th{font-size:var(--fs-micro);color:var(--muted);font-weight:var(--fw-semibold);border-top:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.card>table{width:calc(100% + 2 * var(--sp-5));margin-inline:calc(-1 * var(--sp-5))}.empty{color:var(--muted);font-size:var(--fs-sm);padding:var(--sp-3) 0}[data-table~=dense]{--cell-py: 5px}[data-table~=dense] th,[data-table~=dense] td{white-space:nowrap}[data-table~=compact]{--cell-py: 2px}[data-table~=headerless] tbody tr:first-child td{border-top:0}[data-table~=scroll] th,[data-table~=scroll] td{white-space:nowrap}.card:has(>table[data-table~=scroll]){overflow-x:auto}table[data-table~=fit],.card>table[data-table~=fit]{width:auto}table[data-table~=bleed]{width:calc(100% + 2 * var(--sp-5));margin-inline:calc(-1 * var(--sp-5))}.cell-primary{display:inline-block;font-weight:var(--fw-medium);color:var(--fg);text-decoration:none}a.cell-primary:hover{text-decoration:underline}.cell-meta{display:block;font-size:var(--fs-meta);color:var(--muted)}.cell-aside{font-size:var(--fs-meta);color:var(--muted);font-style:italic;margin-left:var(--sp-2)}tr.table-group>td{padding-block:4px;background:var(--surface-sunken);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--muted)}.table-group-meta{font-weight:var(--fw-regular)}th.actions-col,td.actions-col{text-align:right;width:1%;white-space:nowrap}th.pick-col,td.pick-col{width:calc(14px + 2 * var(--sp-5));padding-left:var(--sp-5);padding-right:var(--sp-5);white-space:nowrap;vertical-align:middle}th.pick-col+th,td.pick-col+td{padding-left:0}.pick-col>input[type=checkbox]{display:block}.cell-clip{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(td,th):has(.cell-clip){position:relative;overflow:visible}.cell-clip.is-clipped:hover{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:6;width:max-content;max-width:min(560px,88vw);overflow:visible;white-space:normal;contain:none;padding:5px 12px 5px 18px;background:var(--card, #fff);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-menu, 0 6px 20px rgba(16, 24, 40, .16))}.table-toolbar{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 14px}.table-toolbar input[type=search]{width:260px;max-width:100%;flex:0 0 auto;padding:8px 10px;font-size:var(--fs-sm);border-radius:4px}.table-count{color:var(--muted);font-weight:var(--fw-regular);font-size:var(--fs-sm)}th>button.th-sort,th>button.th-sort:hover:not(:disabled){background:transparent;border:0;padding:0;margin:0;box-shadow:none;filter:none;font:inherit;color:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer;border-radius:2px}th>button.th-sort,th>span.th-label{display:inline-flex;align-items:center;gap:4px;vertical-align:top;white-space:nowrap}th.num>button.th-sort,th.num>span.th-label{flex-direction:row-reverse}th>button.th-sort:after{content:"";flex:none;width:0;height:0;border:4px solid transparent;border-bottom-width:0;border-top-color:currentColor;opacity:0}th:not(.has-filter)>button.th-sort:after{margin-right:-12px}th.num:not(.has-filter)>button.th-sort:after{margin-right:0;margin-left:-12px}th[aria-sort=ascending]>button.th-sort:after{transform:scaleY(-1);opacity:1}th[aria-sort=descending]>button.th-sort:after{opacity:1}th[aria-sort=none]>button.th-sort:hover:after,th[aria-sort=none]>button.th-sort:focus-visible:after{opacity:.5}th[aria-sort=ascending],th[aria-sort=descending]{color:var(--fg)}th>button.th-sort:focus-visible,th>span.th-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}th.has-filter{position:relative}th>.th-filter{display:none;position:absolute;top:calc(100% - var(--cell-py) + 2px);left:var(--cell-px);z-index:100;min-width:200px;padding:var(--sp-2);background:#fff;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-menu);font-weight:var(--fw-regular);text-align:left}th:first-child>.th-filter{left:var(--sp-5)}th.pick-col+th>.th-filter{left:0}th.num>.th-filter{left:auto;right:var(--cell-px)}th.num:last-child>.th-filter{right:var(--sp-5)}th.filter-open>.th-filter{display:block}th>.th-filter input.col-filter{width:100%;min-width:0;padding:6px 8px;font-size:var(--fs-sm);border-radius:var(--r-sm)}th.has-filter>button.th-sort:before,th.has-filter>span.th-label:before{content:"";order:1;flex:none;width:9px;height:9px;visibility:hidden;background:var(--muted);clip-path:polygon(0 0,100% 0,62% 46%,62% 100%,38% 100%,38% 46%)}th.has-filter.filtered>button.th-sort:before,th.has-filter.filtered>span.th-label:before{visibility:visible}tr.table-status>td{color:var(--muted);font-size:var(--fs-sm)}tr.table-status[data-status=error]>td{color:var(--err)}caption.table-live{caption-side:top;text-align:left}.dm-dv-grid{font-family:var(--font-mono);font-size:var(--fs-nano);line-height:1.2}.dm-dv-rowhead{background:#fafbfd;border-bottom:1px solid var(--border)}.dm-dv-hcell{padding:3px 6px;border-right:1px solid #eef0f4;display:flex;flex-direction:column;gap:1px;overflow:hidden}.dm-dv-hgroup{font-weight:var(--fw-semibold);color:var(--accent);font-size:8px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-dv-hname{font-weight:var(--fw-bold);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-dv-hlabel{font-weight:var(--fw-regular);color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-block;font-size:var(--fs-micro);padding:2px var(--sp-3);border-radius:var(--r-pill);background:var(--surface-hover);color:var(--fg)}.pill.ok,.pill.good{background:var(--ok-soft-bg);color:var(--ok)}.pill.bad{background:var(--err-soft-bg);color:var(--err)}.pill.off{background:var(--surface-hover);color:var(--muted)}.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:var(--fs-micro);font-weight:var(--fw-semibold)}.badge:first-letter{text-transform:uppercase}.badge.sev-error{background:var(--sev-error-bg);color:var(--err)}.badge.sev-warning{background:var(--sev-warning-bg);color:var(--warn)}.badge.sev-info{background:var(--sev-info-bg);color:var(--muted)}.badge.subtle{background:#eef2f7;color:var(--fg);font-weight:var(--fw-medium)}.badge.edited{background:var(--ok-soft-bg);color:var(--ok-soft-fg);font-weight:var(--fw-medium)}.history-chip{display:inline-block;font-size:var(--fs-micro);font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-hover);color:var(--muted);white-space:nowrap}.history-chip:first-letter{text-transform:uppercase}.history-chip-create{background:#dcfce7;color:#166534}.history-chip-update{background:var(--accent-chip-bg);color:var(--accent-chip-fg)}.history-chip-delete{background:#fee2e2;color:#991b1b}.history-chip-restore{background:var(--ok-soft-bg);color:var(--ok-soft-fg)}.history-chip-revert{background:var(--sev-warning-bg);color:var(--warn)}.env-badge{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:var(--r-pill);background:#fde047;color:#713f12;font-size:var(--fs-micro);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;line-height:1.6}.obj-tag{display:inline-block;font-size:var(--fs-nano);font-weight:var(--fw-bold);line-height:1;padding:4px 9px;border-radius:var(--r-pill);border:1.5px solid var(--border);text-transform:uppercase;letter-spacing:.03em}.obj-tag-custom{box-sizing:border-box;width:16px;height:16px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:0}.progress-bar{height:6px;border-radius:var(--r-pill);background:var(--run-bar-bg);overflow:hidden}.progress-bar>i{display:block;height:100%;border-radius:inherit;background:var(--warn);transition:width .3s ease}.progress-bar.done>i{background:var(--ok)}@media(prefers-reduced-motion:reduce){.progress-bar>i{transition:none}}.progress-pct{font-size:var(--fs-sm);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;text-align:right}.progress-pct.muted{color:var(--muted);font-weight:var(--fw-regular)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#cbd5e1;vertical-align:middle}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.err{background:var(--err)}.dot.busy{background:#2563eb;animation:dm-pulse 1.2s infinite}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-3);border-radius:12px;font-size:var(--fs-micro);font-family:var(--font-mono);cursor:pointer;border:1px solid transparent}.chip.primary{background:var(--accent-chip-bg);color:var(--accent-chip-fg);border-color:var(--accent-chip-border)}.chip.condition{background:var(--surface-hover);color:var(--muted);border-color:var(--hover-strong)}.chip.target{background:var(--sev-warning-bg);color:var(--warn);border-color:var(--sev-warning-border)}.chip:hover{filter:brightness(.95)}.chip .role{font-size:9px;opacity:.65;text-transform:uppercase}.check-type-pill{display:inline-block;padding:1px var(--sp-3);border-radius:10px;font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.02em;background:#eef2f7;color:var(--fg)}.check-type-pill:focus-within{outline:2px solid var(--accent);outline-offset:1px}.check-type-pill:first-letter{text-transform:uppercase}.check-type-pill.ck-mandatory{background:#e2e8f0;color:#475569}.check-type-pill.ck-format{background:#dbeafe;color:#1e40af}.check-type-pill.ck-allowed_values{background:#e0e7ff;color:#3730a3}.check-type-pill.ck-regex{background:#ede9fe;color:#6d28d9}.check-type-pill.ck-uniqueness{background:#cffafe;color:#155e75}.check-type-pill.ck-cross_field{background:#e0f2fe;color:#075985}.check-type-pill.ck-cross_sheet{background:#ddd6fe;color:#5b21b6}.check-type-pill.ck-cross_object_ref{background:#f3e8ff;color:#7e22ce}.check-type-pill.ck-structural{background:#fef3c7;color:#92400e}.check-type-pill.ck-value_map{background:#cffafe;color:#155e75}.check-type-pill.ck-direct_copy{background:#e3ecd5;color:#4b6b32}.check-type-pill.ct-auto,.check-type-pill.deriving{background:#eef2f7;color:var(--muted);font-style:italic}.downloads a,a.download-tile{display:block;padding:var(--sp-2) var(--sp-3);background:var(--accent-soft-bg);border:1px solid var(--accent-soft-border);border-radius:var(--r-sm);color:var(--accent);text-decoration:none;margin-bottom:var(--sp-1);font-size:var(--fs-sm)}.downloads a:hover,a.download-tile:hover{background:var(--accent-soft-bg-hover);text-decoration:none}.count-group{display:inline-flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-meta);color:var(--muted)}.count-group .cnt{display:inline-flex;align-items:center;gap:5px}.count-group .cnt svg{width:13px;height:13px;display:block}dialog{border:1px solid var(--border);border-radius:var(--r-lg);padding:0;background:var(--card);color:var(--fg)}dialog:focus,dialog:focus-visible{outline:none}dialog::backdrop{background:var(--backdrop)}.dialog-head{display:flex;align-items:center;gap:var(--sp-3);padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-head h3{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-head h3 .rule-meta{color:var(--muted);font-weight:var(--fw-regular);font-size:var(--fs-sm);margin-left:var(--sp-1)}.dialog-head h3 .rule-num{color:var(--muted);font-weight:var(--fw-medium);font-size:var(--fs-sm);margin-left:var(--sp-2)}.dialog-head-actions{display:flex;gap:var(--sp-1);align-items:center}.dialog-body{padding:var(--sp-5) 18px;overflow:auto;max-height:70vh}.dialog-body.roomy{padding-top:var(--sp-8);padding-bottom:var(--sp-8)}.confirm-dialog{min-width:320px;max-width:420px;padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}.confirm-dialog .actions{display:flex;gap:var(--sp-3);justify-content:flex-end;margin-top:var(--sp-5)}.confirm-dialog button{padding:7px 14px;font-size:var(--fs-sm)}.field-grid{display:grid;grid-template-columns:80px 1fr;gap:var(--sp-2) var(--sp-4);align-items:baseline}.field-grid .fg-label{color:var(--muted);font-size:var(--fs-meta);font-weight:var(--fw-semibold)}.field-grid .fg-value{font-size:var(--fs-sm)}.field-grid .fg-empty{color:var(--muted);font-style:italic}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:100;min-width:180px;padding:var(--sp-1);background:#fff;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-menu)}.menu-head{font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--muted);padding:2px 6px 6px}.menu-head:first-letter{text-transform:uppercase}.menu-item{display:block;width:100%;text-align:left;padding:var(--sp-3) 10px;background:transparent;color:var(--muted);border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-regular);cursor:pointer}.menu-item:hover:not(:disabled){filter:none;background:var(--surface-hover)}.menu-item.danger{color:var(--err);background:transparent;border-color:transparent}.menu-item.danger:hover:not(:disabled){color:var(--err);background:var(--err-soft-bg)}.menu-sep{height:1px;margin:var(--sp-1) 2px;background:var(--border)}.tooltip-host{position:relative;display:inline-flex}.tooltip,.dm-tooltip{white-space:normal;width:max-content;max-width:min(var(--tooltip-width),90vw);background:var(--tooltip-bg);color:#fff;font-size:var(--fs-micro);line-height:1.45;padding:var(--sp-3) 10px;border-radius:var(--r-md);box-shadow:var(--shadow-tooltip);pointer-events:none}.tooltip-title,.dm-tooltip-title{display:block;font-weight:var(--fw-semibold);font-size:var(--fs-micro);margin-bottom:var(--sp-1)}.tooltip{position:absolute;bottom:calc(100% + 6px);left:0;z-index:60;opacity:0;visibility:hidden}.tooltip-host:hover .tooltip{opacity:1;visibility:visible}.dm-tooltip{position:fixed;z-index:1000;top:0;left:0;opacity:0;visibility:hidden;transition:opacity .14s ease}.dm-tooltip.is-visible{opacity:1;visibility:visible}.dm-tooltip.is-compact{padding:5px 9px}.dm-tooltip-title[hidden]{display:none}.dm-tooltip-body{display:block;white-space:pre-line}.tip-card{position:fixed;z-index:1000;width:max-content;max-width:360px;white-space:normal;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);box-shadow:var(--shadow-tooltip);pointer-events:none;font-size:var(--fs-micro)}.disclosure{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;color:var(--muted);border:0;border-radius:var(--r-sm);cursor:pointer}.disclosure:hover:not(:disabled){filter:none;color:var(--fg)}.disclosure svg{width:15px;height:15px;display:block;transition:transform var(--t-fast)}.is-open>.disclosure svg,.disclosure.is-open svg{transform:rotate(90deg)}.history-expand{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;color:var(--muted);border:0;border-radius:var(--r-sm);cursor:pointer}.history-expand:hover:not(:disabled){filter:none;color:var(--fg)}.history-expand svg{width:14px;height:14px;display:block;transition:transform var(--t-fast)}.history-expand.is-open svg{transform:rotate(90deg)}.collapsible{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);margin-bottom:var(--sp-6);overflow:hidden}.collapsible>.collapsible-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);cursor:pointer;user-select:none;position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--border)}.collapsible.collapsed>.collapsible-head{border-bottom:0}.collapsible.collapsed>.collapsible-body{display:none}.collapsible-head .title{font-weight:var(--fw-semibold);font-size:var(--fs-h2);letter-spacing:-.01em}.collapsible-head .count{color:var(--muted);font-size:var(--fs-sm)}.collapsible-head .head-actions{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.collapsible-body{padding:0}.list-row{border:0;border-bottom:1px solid var(--border);background:#fff;cursor:pointer;transition:background .1s}.list-row:last-child{border-bottom:0}.list-row.is-open{background:var(--surface-sunken)}:where([data-row],.list-row):hover{background:var(--row-hover)}.list-row .row-top{display:flex;align-items:center;gap:var(--sp-2);padding:10px var(--sp-7)}.list-row .row-id{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-micro);opacity:.7}.list-row .row-id:hover{color:var(--accent);opacity:1}.nav{background:var(--card);border-right:1px solid var(--border);padding:12px 0;font-size:var(--fs-meta)}.nav-label{font-size:var(--fs-meta);color:var(--muted);font-weight:var(--fw-semibold);padding:var(--sp-1) 14px}.nav-list{list-style:none;margin:0;padding:0}.nav-list li{padding:var(--sp-1) 14px;cursor:pointer;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-list li:hover{background:var(--surface-hover)}.nav-list li.is-selected{background:var(--bg)}.nav-list li.nav-child{position:relative;margin-left:16px;padding-left:14px;color:var(--muted);border-radius:var(--r-sm) 0 0 var(--r-sm)}.nav-list li.nav-child.is-selected{color:var(--fg)}.nav-list li.nav-child.is-selected:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:3px;background:var(--accent);border-radius:var(--r-pill)}.nav-list li.nav-child.is-active{padding-right:24px}.nav-list li.nav-child.is-active:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--ok)}.cascade{display:inline-flex;align-items:stretch;height:30px;font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;color:var(--muted)}.cascade-seg{display:inline-flex;align-items:center;background:transparent;color:inherit;border:0;padding:0 18px 0 14px;font:inherit;cursor:pointer;position:relative;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);margin-right:-10px}.cascade-seg:first-child{width:100px;justify-content:center;padding:0}.cascade-seg+.cascade-seg{padding-left:22px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%)}.cascade-seg:last-child{padding-right:16px;margin-right:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%)}.cascade-seg:first-child:last-child{padding:0;clip-path:none}.cascade-seg:first-child.lit{color:var(--fg)}.cascade-seg:not(:first-child).lit{background:var(--accent-tint);color:var(--fg)}.cascade-seg:first-child.origin,.cascade-seg:not(:first-child).origin{background:var(--accent-tint-strong);color:var(--accent);font-weight:var(--fw-semibold);cursor:default}.cascade-seg:not(.origin):not(:first-child):hover{background:var(--accent-wash)}.cascade-seg.disabled-for-project,.cascade-seg.disabled-for-project.lit,.cascade-seg.disabled-for-project.origin{background:transparent;color:var(--muted);font-weight:var(--fw-regular);text-decoration:line-through}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.file-row{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);padding:var(--sp-2) 0;border-top:1px solid var(--border)}.file-row:first-child{border-top:0}.file-row a,.file-row .file-name{flex:1 1 auto;min-width:0;color:var(--fg);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row a:hover{text-decoration:underline}.file-row .file-meta{font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.status-slot{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid #c7d0dd;border-top-color:var(--spin-color, var(--accent));animation:ws-spin .7s linear infinite}.spinner.ok{--spin-color: var(--ok)}.spinner.lg{width:30px;height:30px;border-width:3px}.upload-ring{width:14px;height:14px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--pct, 0) * 1%),#c7d0dd 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}.dropzone{position:relative}.dropzone.is-dragover{border-color:var(--accent);border-style:dashed;background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent)}.dropzone.is-dragover *{pointer-events:none}.drop-hint{display:none}.dropzone.is-dragover .drop-hint{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:2;border-radius:inherit;background:var(--accent-soft-bg);color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:center;padding:0 var(--sp-4)}.run-bar{margin:0 calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4));width:auto;height:33px;border:0;border-top:1px solid var(--border);border-radius:0 0 var(--r-md) var(--r-md);display:flex;align-items:center;justify-content:center;gap:var(--sp-3);background:var(--run-bar-bg);color:var(--fg);font-size:var(--fs-meta);font-weight:var(--fw-semibold);letter-spacing:.02em;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.run-bar svg{width:15px;height:15px}.run-bar:not(:disabled):hover{filter:none;border-color:var(--border)}.stage-nav{display:inline-flex;align-items:center;gap:0}.stage{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 14px 0 0;background:transparent;border:.5px solid transparent;border-radius:var(--r-sm);color:var(--muted);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.stage .stage-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap}.stage svg{width:18px;height:18px;display:block;flex:0 0 auto;box-sizing:content-box;padding:7px;border-radius:var(--r-sm) 0 0 var(--r-sm);background:transparent;transition:background .16s ease}.stage:hover{color:var(--fg)}.stage:hover:not(:disabled){filter:none}.stage.is-active{background:#fff;border-color:color-mix(in srgb,currentColor 50%,transparent)}.stage-assessment:hover,.stage-assessment.is-active{color:var(--stage-assess-fg)}.stage-assessment.is-active svg{background:var(--stage-assess-bg)}.stage-transformation:hover,.stage-transformation.is-active{color:var(--stage-transform-fg)}.stage-transformation.is-active svg{background:var(--stage-transform-bg)}.stage-validation:hover,.stage-validation.is-active{color:var(--stage-validate-fg)}.stage-validation.is-active svg{background:var(--stage-validate-bg)}.stage-link{width:38px;height:2px;border-radius:1px;background:var(--border);margin:0 6px;pointer-events:none}.run-bar.transform:not(:disabled):hover{filter:none;background:var(--stage-transform-bg);color:var(--stage-transform-fg);border-color:var(--border)}.run-bar.validate:not(:disabled):hover{filter:none;background:var(--stage-validate-bg);color:var(--stage-validate-fg);border-color:var(--border)}.run-bar:disabled{color:var(--control-disabled-fg);background:#f6f7f9;cursor:not-allowed}.linked-block{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 calc(-1 * var(--sp-4)) var(--sp-3);padding:var(--sp-2) var(--sp-4);cursor:pointer;border-top:1px solid var(--border);border-bottom:1px solid var(--border);transition:background var(--t-fast)}.linked-block:hover,.linked-block:focus-visible{background:var(--surface-hover);outline:none}.linked-block .link-cue{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;opacity:0;transition:opacity var(--t-fast)}.linked-block:hover .link-cue,.linked-block:focus-visible .link-cue{opacity:1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6)}@media(max-width:720px){.two-col{grid-template-columns:1fr}}.muted{color:var(--muted)}.text-ok{color:var(--ok)}.text-err{color:var(--err)}.text-warn{color:var(--warn)}.tabular{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes dm-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ws-spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}
