:root,[data-theme=light]{--color-canvas: #f8fafc;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-ink: #0f172a;--color-ink-muted: #475569;--color-ink-faint: #64748b;--color-border: #e2e8f0;--color-border-strong: #94a3b8;--color-border-control: #7f8ea3;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-link: #2563eb;--color-accent-faint: #dbeafe;--color-accent-faint-ink: #1e40af;--color-accent-soft: rgba(37, 99, 235, .08);--color-halo: rgba(37, 99, 235, .22);--color-success: #16a34a;--color-success-text: #15803d;--color-success-bg: #dcfce7;--color-warn-text: #92400e;--color-warn-bg: #fef3c7;--color-danger: #dc2626;--color-danger-text: #b91c1c;--color-danger-bg: #fee2e2;--color-neutral-text: #334155;--color-neutral-bg: #f1f5f9;--color-focus: #2563eb;--color-focus-dark: #93c5fd;--color-glass: rgba(255, 255, 255, .78);--shadow-card: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px -8px rgba(15, 23, 42, .1);--shadow-1: 0 2px 4px rgba(15, 23, 42, .06), 0 16px 40px -12px rgba(15, 23, 42, .18);--shadow-2: 0 24px 64px -16px rgba(0, 0, 0, .24);--shadow-btn: 0 1px 2px rgba(15, 23, 42, .1), 0 4px 12px -2px rgba(37, 99, 235, .28);--font-body: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;--r-1: 8px;--r-2: 12px;--r-3: 14px;--r-pill: 999px;--tr: .15s cubic-bezier(.2, .8, .3, 1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--nav-w: 232px;--nav-w-collapsed: 64px;--topbar-h: 48px;--content-max: 1440px}[data-theme=dark]{--color-canvas: #0f172a;--color-surface: #1e293b;--color-surface-raised: #253043;--color-ink: #e2e8f0;--color-ink-muted: #94a3b8;--color-ink-faint: #8a9ab2;--color-border: #334155;--color-border-strong: #475569;--color-border-control: #6b7a90;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-link: #60a5fa;--color-accent-faint: #1e3a8a;--color-accent-faint-ink: #bfdbfe;--color-accent-soft: rgba(59, 130, 246, .16);--color-halo: rgba(59, 130, 246, .28);--color-success: #4ade80;--color-success-text: #4ade80;--color-success-bg: #052e16;--color-warn-text: #fbbf24;--color-warn-bg: #422006;--color-danger: #f87171;--color-danger-text: #f87171;--color-danger-bg: #450a0a;--color-neutral-text: #cbd5e1;--color-neutral-bg: rgba(148, 163, 184, .14);--color-focus: #93c5fd;--color-focus-dark: #93c5fd;--color-glass: rgba(30, 41, 59, .72);--shadow-card: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 0 0 1px rgba(148, 163, 184, .1);--shadow-1: 0 24px 64px -16px rgba(0, 0, 0, .5), 0 0 0 1px rgba(148, 163, 184, .12);--shadow-2: 0 24px 64px -16px rgba(0, 0, 0, .5), 0 0 0 1px rgba(148, 163, 184, .12);--shadow-btn: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px -2px rgba(37, 99, 235, .35)}*{box-sizing:border-box}body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 14px;border:1px solid var(--color-border);border-radius:var(--r-2);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background-color var(--tr),border-color var(--tr),color var(--tr),filter var(--tr)}.btn:hover{border-color:var(--color-border-strong)}.btn-primary{background:var(--color-accent);border-color:transparent;color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover,[data-theme=dark] .btn-primary{background:var(--color-accent-hover)}[data-theme=dark] .btn-primary:hover{filter:brightness(.9)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-icon{width:32px;height:32px;padding:0;justify-content:center;border-radius:var(--r-1)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:500;line-height:1.35;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge-info{background:var(--color-accent-faint);color:var(--color-accent-faint-ink)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.table{width:100%;border-collapse:collapse;background:var(--color-surface)}.table th{padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-border-strong);text-align:left;font-size:12.5px;font-weight:500;line-height:1.35;color:var(--color-ink-muted)}.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:13px;line-height:1.4;height:40px}.table td.num,.table time{font-variant-numeric:tabular-nums}.shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-4);background:var(--color-glass);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}[data-theme=dark] .topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-size:16px;font-weight:600;letter-spacing:-.01em}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.chip{display:inline-flex;align-items:center;padding:3px 11px;border:1px solid var(--color-border);border-radius:var(--r-pill);font-size:12.5px;font-weight:500;color:var(--color-ink-muted);background:var(--color-surface);font-variant-numeric:tabular-nums}.account{position:relative}.account-summary{cursor:pointer;list-style:none}.account-summary::-webkit-details-marker{display:none}.account .menu{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--r-1);box-shadow:var(--shadow-1)}.account .menu button{display:block;width:100%;padding:8px 10px;border:0;border-radius:var(--r-1);background:transparent;color:var(--color-ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.account .menu button:hover{background:var(--color-accent-faint);color:var(--color-accent-faint-ink)}.shell-body{display:flex;flex:1;min-height:0}.sidenav{width:var(--nav-w);padding:var(--space-4) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border);transition:width var(--tr);overflow:hidden;flex:none}.shell-collapsed .sidenav{width:var(--nav-w-collapsed)}.shell-collapsed .topbar .brand,.shell-collapsed .nav-title,.shell-collapsed .nav-label{display:none}.nav-group+.nav-group{margin-top:var(--space-5)}.nav-title{margin:0 0 var(--space-1);padding:0 10px;font-size:12.5px;font-weight:500;color:var(--color-ink-faint)}.nav-item{display:flex;align-items:center;padding:7px 10px;border-radius:var(--r-1);color:var(--color-ink-muted);font-size:14px;text-decoration:none;white-space:nowrap;transition:background-color var(--tr),color var(--tr)}.nav-item:hover{background:var(--color-accent-soft);color:var(--color-ink)}.nav-item-active{background:var(--color-accent-soft);color:var(--color-accent-faint-ink);font-weight:500;box-shadow:inset 2px 0 0 var(--color-accent)}.shell-collapsed .nav-item:before{content:attr(data-initial);width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--color-accent-soft);color:var(--color-accent-faint-ink);font-size:12.5px;font-weight:600}.shell-collapsed .nav-item{padding:5px;justify-content:center}.shell-collapsed .nav-item-active{justify-content:flex-start}.content{flex:1;max-width:var(--content-max);margin:0 auto;padding:var(--space-5);min-width:0}@media(prefers-reduced-motion:no-preference){.content>:first-child{animation:none}}:where([data-theme=dark]){color-scheme:dark}:where(main.content) :where([hidden]){display:none!important}:where(main.content) :where(h1,h2){margin:0 0 var(--space-4);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.01em}:where(main.content) :where(label):not(:where([data-decision-table],[data-canvas],.raw-expression) *){display:flex;flex-direction:column;gap:6px;max-width:520px;margin:0 0 var(--space-4);color:var(--color-ink);font-size:14px;font-weight:500}:where(main.content) :where(label:has(>input[type=checkbox],>input[type=radio])):not(:where([data-decision-table],[data-canvas],.raw-expression) *){flex-direction:row;align-items:center;gap:var(--space-2)}:where(main.content) :where(input[type=checkbox],input[type=radio]):not(:where([data-decision-table],[data-canvas],.raw-expression) *){width:16px;height:16px;margin:0;accent-color:var(--color-accent)}:where(main.content) :where(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea):not(:where([data-decision-table],[data-canvas],.raw-expression) *){min-height:36px;padding:7px 10px;border:1px solid var(--color-border-control);border-radius:var(--r-1);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:14px;font-weight:400;line-height:1.4;transition:border-color var(--tr)}:where(main.content) :where(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea):where(:hover):not(:where([data-decision-table],[data-canvas],.raw-expression) *){border-color:var(--color-ink-faint)}:where(main.content) :where(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea):where(:focus):not(:where([data-decision-table],[data-canvas],.raw-expression) *){border-color:var(--color-accent)}:where(main.content) :where(textarea):not(:where([data-decision-table],[data-canvas],.raw-expression) *){min-height:8rem;resize:vertical;font-family:var(--font-mono);font-size:12.5px;line-height:1.5}:where(main.content) :where(input,textarea):not(:where([data-decision-table],[data-canvas],.raw-expression) *)::placeholder{color:var(--color-ink-faint);opacity:1}:where(main.content) :where(a):not(:where([data-decision-table],[data-canvas],.raw-expression) *){color:var(--color-link);text-decoration:none}:where(main.content) :where(a):where(:hover):not(:where([data-decision-table],[data-canvas],.raw-expression) *){text-decoration:underline}:where(main.content) :where(fieldset):not(:where([data-decision-table],[data-canvas],.raw-expression) *){max-width:560px;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4) var(--space-1);border:1px solid var(--color-border);border-radius:var(--r-2)}:where(main.content) :where(legend):not(:where([data-decision-table],[data-canvas],.raw-expression) *){padding:0 var(--space-1);color:var(--color-ink-muted);font-size:12.5px;font-weight:500}:where(main.content) :where(button):not(:where([data-decision-table],[data-canvas],.raw-expression) *){padding:7px 14px;border:1px solid var(--color-border);border-radius:var(--r-2);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;transition:background-color var(--tr),border-color var(--tr),filter var(--tr)}:where(main.content) :where(button):where(:hover):not(:where([data-decision-table],[data-canvas],.raw-expression) *){border-color:var(--color-border-strong)}:where(main.content) :where(button[disabled],button[aria-disabled=true]):not(:where([data-decision-table],[data-canvas],.raw-expression) *){opacity:.45;cursor:not-allowed}:where(main.content) :where(button[type=submit]):not(:where([data-decision-table],[data-canvas],.raw-expression) *){border-color:transparent;background:var(--color-accent);color:#fff;box-shadow:var(--shadow-btn)}:where(main.content) :where(button[type=submit]):where(:hover):not(:where([data-decision-table],[data-canvas],.raw-expression) *){background:var(--color-accent-hover)}:where([data-theme=dark] main.content) :where(button[type=submit]):not(:where([data-decision-table],[data-canvas],.raw-expression) *){background:var(--color-accent-hover)}:where([data-theme=dark] main.content) :where(button[type=submit]):where(:hover):not(:where([data-decision-table],[data-canvas],.raw-expression) *){filter:brightness(.9)}:where(main.content) :where(table):not(:where([data-decision-table],[data-canvas],.raw-expression) *){margin:0 0 var(--space-4);border-collapse:collapse;background:var(--color-surface);font-size:13px}:where(main.content) :where(th):not(:where([data-decision-table],[data-canvas],.raw-expression) *){padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-border-strong);color:var(--color-ink-muted);font-size:12.5px;font-weight:500;line-height:1.35;text-align:left;white-space:nowrap}:where(main.content) :where(td):not(:where([data-decision-table],[data-canvas],.raw-expression) *){height:40px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);line-height:1.4;font-variant-numeric:tabular-nums}:where(main.content) :where(td) :where(input,button):not(:where([data-decision-table],[data-canvas],.raw-expression) *){font-size:13px}.flows-page .flows-head,.versions-page .flows-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-4)}:is(.flows-page,.versions-page) .flows-head h1{margin:0}:is(.flows-page,.versions-page) .flows-muted{color:var(--color-ink-muted);font-size:13px;margin:var(--space-1) 0}:is(.flows-page,.versions-page) .flows-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:is(.flows-page,.versions-page) .flows-mono{font-family:var(--font-mono)}:is(.flows-page,.versions-page) .flows-alert{padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--r-2);margin:var(--space-3) 0}:is(.flows-page,.versions-page) .flows-alert p{margin:0}:is(.flows-page,.versions-page) .flows-alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-text);color:var(--color-danger-text)}:is(.flows-page,.versions-page) .flows-alert-success{background:var(--color-success-bg);border-color:var(--color-success-text);color:var(--color-success-text)}:is(.flows-page,.versions-page) .flows-alert-info{background:var(--color-accent-faint);border-color:var(--color-accent-faint-ink);color:var(--color-accent-faint-ink)}:is(.flows-page,.versions-page) .flows-alert-warn{background:var(--color-warn-bg);border-color:var(--color-warn-text);color:var(--color-warn-text)}:is(.flows-page,.versions-page) .flows-alert-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}:is(.flows-page,.versions-page) .flows-empty{padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--color-border);border-radius:var(--r-3);background:var(--color-surface)}:is(.flows-page,.versions-page) .flows-grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-3);box-shadow:var(--shadow-1);overflow-x:auto}:is(.flows-page,.versions-page) .flows-grid .table{width:100%}.flows-page .flows-row,.versions-page tr[data-flow-row]{cursor:pointer}.flows-page .flows-row:hover,.versions-page tr[data-flow-row]:hover{background:var(--color-neutral-bg)}.versions-page tr[aria-current=true]{background:var(--color-accent-faint)}.versions-page tr[aria-current=true]>td:first-child{font-weight:600;box-shadow:inset 3px 0 0 var(--color-accent)}.versions-page tr[data-flow-row]:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.flows-page .flows-filter{display:flex;gap:var(--space-2);align-items:center;margin:var(--space-3) 0}.flows-page .flows-filter label{margin:0}.flows-page .flows-filter input{min-width:16rem}.flows-page .flow-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:1000px){.flows-page .flow-form-grid{grid-template-columns:1fr}}:is(.flows-page,.versions-page) .flows-card{border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);min-width:0}.flows-page legend{font-weight:600;padding:0 var(--space-1)}:is(.flows-page,.versions-page) .flows-field{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-2) 0}.flows-page .flows-field:has(+.flows-muted){margin-bottom:0}.flows-page .flows-field+.flows-muted{margin:var(--space-1) 0 var(--space-3)}.flows-page .flows-field textarea{font-family:var(--font-mono)}.flows-page .flows-error{color:var(--color-danger-text);font-size:13px;margin:0 0 var(--space-2)}.flows-page .flow-destination{display:flex;align-items:flex-end;gap:var(--space-2);margin:var(--space-2) 0}.flows-page .flow-destination .flows-field{flex:1;margin:0}.flows-page .flow-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) 0;background:var(--color-canvas);border-top:1px solid var(--color-border)}.flows-page .flow-actions .flows-alert{margin:0;margin-inline-end:auto}.versions-page .versions-zones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:start}@media(max-width:1000px){.versions-page .versions-zones{grid-template-columns:1fr}}.versions-page .versions-panel{position:sticky;top:var(--space-4);max-height:calc(100vh - 2 * var(--space-4));overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);padding:var(--space-3) var(--space-4)}.versions-page .versions-panel h3{margin-top:0}.versions-page .versions-stepper{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0 0 var(--space-3)}.versions-page .versions-stepper li{padding:var(--space-1) var(--space-2);border-radius:var(--r-pill);border:1px solid var(--color-border);color:var(--color-ink-muted);font-size:13px}.versions-page .versions-stepper li[data-step=done]{color:var(--color-ink)}.versions-page .versions-stepper li[data-step=done]:before{content:"✓"}.versions-page .versions-stepper li[aria-current=step]{border-color:var(--color-accent);background:var(--color-accent-faint);color:var(--color-accent-faint-ink);font-weight:600}.versions-page .versions-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0}.versions-page .versions-harness{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.versions-page .versions-ghost{background:transparent;box-shadow:none}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-ink) 28%,transparent)}[data-theme=dark] .drawer-scrim{background:color-mix(in srgb,var(--color-canvas) 64%,transparent)}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(480px,100vw);display:flex;flex-direction:column;background:var(--color-surface-raised);color:var(--color-ink);border-left:1px solid var(--color-border);border-radius:var(--r-3) 0 0 var(--r-3);box-shadow:var(--shadow-card);animation:drawer-in .28s cubic-bezier(.2,.8,.3,1)}.drawer:focus{outline:none}.drawer :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.drawer .drawer-title{margin:0;font-size:16px;font-weight:600;line-height:1.3}.drawer-body{flex:1 1 auto;overflow:auto;padding:var(--space-4) var(--space-5) var(--space-5)}.drawer-body form{display:flex;flex-direction:column;gap:var(--space-3)}.drawer-body form input:not([type=checkbox],[type=radio]),.drawer-body form select,.drawer-body form textarea{width:100%;box-sizing:border-box}.drawer-body form button[type=submit]{align-self:flex-start}@keyframes drawer-in{0%{transform:translate(105%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-discard{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-warn-text);background:var(--color-warn-bg);color:var(--color-warn-text)}.drawer-discard p{flex:1 1 100%;margin:0;font-weight:500}.systems-page .systems-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-4)}.systems-page .systems-head h1{margin:0}.systems-page .systems-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:is(.systems-page,.drawer-body) .systems-muted{color:var(--color-ink-muted);font-size:13px;margin:var(--space-1) 0}.systems-page .systems-filter{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.systems-page .systems-filter input{width:22rem;max-width:100%}.systems-page .systems-grid{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);box-shadow:var(--shadow-card)}.systems-page .systems-grid .table{border-radius:var(--r-3)}.systems-page .systems-row:hover td{background:var(--color-accent-soft)}.systems-page .systems-mono{font-family:var(--font-mono);font-size:12.5px}.systems-page .systems-settings{max-width:18rem}.systems-page .systems-settings span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink-muted)}.systems-page .systems-test{min-width:10rem;max-width:16rem}.systems-page .systems-test>span{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%}.systems-page .systems-test .badge{white-space:normal}.systems-page .systems-test-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--color-ink-muted)}.systems-page .systems-actions{white-space:nowrap;text-align:right}.systems-page .systems-actions .btn+.btn{margin-inline-start:var(--space-2)}.systems-page .systems-empty{padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--color-border);border-radius:var(--r-3);background:var(--color-surface)}:is(.systems-page,.drawer-body) .systems-alert{padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--r-2);margin:var(--space-3) 0}:is(.systems-page,.drawer-body) .systems-alert p,:is(.systems-page,.drawer-body) .systems-alert ul{margin:0}:is(.systems-page,.drawer-body) .systems-alert ul{padding-inline-start:var(--space-5)}:is(.systems-page,.drawer-body) .systems-alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-text);color:var(--color-danger-text)}:is(.systems-page,.drawer-body) .systems-alert-danger a{color:inherit;text-decoration:underline}:is(.systems-page,.drawer-body) .systems-alert-success{background:var(--color-success-bg);border-color:var(--color-success-text);color:var(--color-success-text)}:is(.systems-page,.drawer-body) :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.systems-page .systems-empty p{margin:0 0 var(--space-3)}.systems-page .systems-settings .systems-settings-text:focus{white-space:normal;overflow:visible;word-break:break-word;outline:2px solid var(--color-focus);outline-offset:2px}.contracts-page .contracts-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-4)}.contracts-page .contracts-head h1{margin:0}.contracts-page .contracts-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.contracts-page .contracts-mono{font-family:var(--font-mono);font-size:12.5px}.contracts-page .contracts-muted-cell{color:var(--color-ink-muted);font-size:13px}.contracts-page .contracts-list{display:flex;flex-direction:column;gap:var(--space-4)}.contracts-page .contracts-card{border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}.contracts-page .contracts-card-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.contracts-page .contracts-card-head h3{margin:0;font-size:14px;font-weight:600}.contracts-page .contracts-card>.contracts-alert{margin:var(--space-3) var(--space-4) 0}.contracts-page .contracts-table-wrap{overflow-x:auto}.contracts-page .contracts-row:hover td,.contracts-page .contracts-row-compared td{background:var(--color-accent-soft)}.contracts-page .contracts-check{width:5.5rem}.contracts-page .contracts-check-label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:28px;cursor:pointer}.contracts-page .contracts-check input{width:28px;height:28px;accent-color:var(--color-accent)}.contracts-page .contracts-actions{white-space:nowrap}.contracts-page .contracts-actions .btn+.btn,.contracts-page .contracts-actions .btn+.contracts-note-group{margin-inline-start:var(--space-2)}.contracts-page .contracts-note-group{display:inline-flex;align-items:center;gap:var(--space-2)}.contracts-page .contracts-note-group input{width:14rem}.contracts-page .contracts-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.contracts-page .contracts-pane{min-width:0;border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);box-shadow:var(--shadow-card)}.contracts-page .contracts-pane-head{position:sticky;top:var(--topbar-h);z-index:1;margin:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);border-radius:var(--r-3) var(--r-3) 0 0;background:var(--color-surface);font-family:var(--font-mono);font-size:13px;font-weight:600}.contracts-page .contracts-pane-body{padding:var(--space-3) var(--space-4) var(--space-4);overflow-x:auto}.contracts-page .contracts-meta{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);font-size:13px}.contracts-page .contracts-meta dt{color:var(--color-ink-muted)}.contracts-page .contracts-meta dd{margin:0}.contracts-page .contracts-diff-row td{background:var(--color-accent-soft)}.contracts-page .contracts-diff-word{margin-inline-start:var(--space-2)}.contracts-page .contracts-empty{padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--color-border);border-radius:var(--r-3);background:var(--color-surface)}:is(.contracts-page,.drawer-body) .contracts-alert{padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--r-2);margin:var(--space-3) 0}:is(.contracts-page,.drawer-body) .contracts-alert p,:is(.contracts-page,.drawer-body) .contracts-alert ul{margin:0}:is(.contracts-page,.drawer-body) .contracts-alert ul{padding-inline-start:var(--space-5);margin-top:var(--space-2);font-family:var(--font-mono);font-size:12.5px}:is(.contracts-page,.drawer-body) .contracts-alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-text);color:var(--color-danger-text)}:is(.contracts-page,.drawer-body) .contracts-alert-success{background:var(--color-success-bg);border-color:var(--color-success-text);color:var(--color-success-text)}:is(.contracts-page,.drawer-body) :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.contracts-page .contracts-empty p{margin:0 0 var(--space-3)}.contracts-page .contracts-confirm-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.contracts-page .contracts-pane-error{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-danger-text);border-radius:var(--r-2);background:var(--color-danger-bg);color:var(--color-danger-text)}.contracts-page .contracts-table-wrap table{table-layout:fixed;width:100%;min-width:44rem}.contracts-page .contracts-table-wrap th:nth-child(1){width:5.5rem}.contracts-page .contracts-table-wrap th:nth-child(2){width:8rem}.contracts-page .contracts-table-wrap th:nth-child(3){width:10rem}.contracts-page .contracts-table-wrap th:nth-child(4){width:12rem}.operator-page .op-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-3)}.operator-page .op-head h1,.operator-page .op-head h2{margin:0}.operator-page .op-lead,.operator-page .op-muted{margin:var(--space-1) 0 0;color:var(--color-ink-muted);font-size:13px}.operator-page .op-head .op-lead{max-width:62ch}.operator-page .op-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin:var(--space-2) 0 var(--space-3)}.operator-page .op-toolbar label{margin:0}.operator-page .op-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-3);box-shadow:var(--shadow-1);overflow-x:auto}.operator-page .op-card .op-table{width:100%;margin:0}.operator-page .op-table .num{text-align:right;font-variant-numeric:tabular-nums}.operator-page .op-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.operator-page .op-table th[scope=row]{color:var(--color-ink);font-size:13px;white-space:normal;border-bottom:1px solid var(--color-border)}.operator-page .op-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.operator-page .op-sub{color:var(--color-ink-muted);font-size:12.5px}.operator-page a.badge{text-decoration:none;position:relative}.operator-page a.badge:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0;min-height:28px}.operator-page a.badge:hover{text-decoration:underline}.operator-page .op-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;max-width:34rem;min-width:12rem;overflow-wrap:anywhere;font-size:12.5px}.operator-page .op-id{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.operator-page .op-copy{padding:2px 8px;font-size:12.5px;min-height:28px}.operator-page .op-id a{display:inline-block;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:28px;vertical-align:middle}.operator-page .op-alert{padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--r-2);margin:var(--space-3) 0}.operator-page .op-alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-text);color:var(--color-danger-text)}.operator-page .op-empty{padding:var(--space-5, var(--space-4)) var(--space-4);margin:var(--space-3) 0;text-align:center;border:1px dashed var(--color-border);border-radius:var(--r-3);background:var(--color-surface);color:var(--color-ink-muted)}.operator-page p.op-status{margin:var(--space-2) 0;color:var(--color-ink-muted);font-size:13px}.operator-page .op-action{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.operator-page .op-hint{color:var(--color-ink-muted);font-size:12.5px}.operator-page [aria-disabled=true]{opacity:.6;cursor:progress}.operator-page button[data-state=busy]:after{content:" …"}.operator-page button[data-state=done]{cursor:default;background:var(--color-success-bg);border-color:var(--color-success-text);color:var(--color-success-text);opacity:1}.operator-page button[data-state=done]:before{content:"✓ "}.operator-page button[data-state=confirm]{border-color:var(--color-warn-text);background:var(--color-warn-bg);color:var(--color-warn-text)}.operator-page .op-panel{padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-3);box-shadow:var(--shadow-1)}.operator-page .op-dl{display:grid;grid-template-columns:minmax(8rem,max-content) minmax(0,1fr);gap:var(--space-2) var(--space-4);margin:0}.operator-page .op-dl>div{display:contents}.operator-page .op-dl dt{color:var(--color-ink-muted);font-size:12.5px;font-weight:500}.operator-page .op-dl dd{margin:0;min-width:0;overflow-wrap:anywhere;font-size:13px}.operator-page .op-pre{max-height:16rem;margin:0;padding:var(--space-2) var(--space-3);overflow:auto;background:var(--color-neutral-bg);border:1px solid var(--color-border);border-radius:var(--r-2);font-family:var(--font-mono);font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.operator-page .op-section{margin:var(--space-4) 0 var(--space-2);font-size:15px}.operator-page .op-pager{display:flex;gap:var(--space-2);margin:var(--space-3) 0}.operator-page .op-table td.op-empty-cell{height:auto;padding:var(--space-5) var(--space-4);text-align:center;color:var(--color-ink-muted);border-bottom:0}.mapping-page .mapping-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-4)}.mapping-page .mapping-head a{display:inline-block;line-height:28px}.mapping-page .mapping-head h1{margin:0}.mapping-page .mapping-lede,.mapping-page .mapping-muted{margin:0 0 var(--space-3);color:var(--color-ink-muted);font-size:13px}.mapping-page .mapping-mono{font-family:var(--font-mono)}.mapping-page .mapping-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-3);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);min-width:0}.mapping-page .mapping-card>h3{margin:0 0 var(--space-1);font-size:14px;font-weight:600}.mapping-page .mapping-bind{display:flex;flex-wrap:wrap;gap:var(--space-4)}.mapping-page .mapping-bind label{flex:1 1 18rem;margin:0}.mapping-page .mapping-bind select{width:100%}.mapping-page .mapping-canvas-card{padding:0;overflow:hidden}.mapping-page .mapping-canvas-legend{display:flex;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-ink-muted);font-size:12.5px;font-weight:500}.mapping-page .mapping-empty{margin:var(--space-4);padding:var(--space-5) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--r-2);color:var(--color-ink-muted);text-align:center}.mapping-page .mapping-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.mapping-page .mapping-actions .btn{margin:0}.mapping-page .mapping-selection{margin:0 auto 0 0;color:var(--color-ink-muted);font-size:13px}.mapping-page .mapping-selection .mapping-mono{color:var(--color-ink)}.mapping-page .mapping-actions-note{flex-basis:100%;margin:0}.mapping-page .mapping-actions-note:empty{display:none}.mapping-page .mapping-alert{display:block;padding:var(--space-2) var(--space-3);border:1px solid;border-radius:var(--r-2)}.mapping-page .mapping-alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-text);color:var(--color-danger-text)}.mapping-page .mapping-alert-success{background:var(--color-success-bg);border-color:var(--color-success-text);color:var(--color-success-text)}.mapping-page .mapping-grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-3);box-shadow:var(--shadow-card);margin:0 0 var(--space-4);overflow-x:auto}.mapping-page .mapping-grid .table{width:100%;margin:0;border:0}.mapping-page .mapping-grid caption{padding:var(--space-3) var(--space-3) var(--space-2);text-align:left;color:var(--color-ink);font-size:13px;font-weight:600}.mapping-page .mapping-grid td input{width:100%;font-family:var(--font-mono)}.mapping-page .mapping-sub{display:block;color:var(--color-ink-muted);font-size:12.5px}.mapping-page .mapping-grid .btn{margin:0}.mapping-page .mapping-flows{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none}.mapping-page .mapping-flows button{margin:0;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:13px;cursor:pointer}.mapping-page .mapping-flows button:hover{border-color:var(--color-accent)}.mapping-page .mapping-flows button[aria-pressed=true]{background:var(--color-accent-faint);border-color:var(--color-accent);color:var(--color-accent-faint-ink);font-weight:600}.mapping-page .mapping-sample textarea{display:block;width:100%;box-sizing:border-box;font-family:var(--font-mono)}.mapping-page .mapping-sample [data-sample-run]{margin:var(--space-2) 0}.mapping-page .mapping-sample-output{max-height:280px;overflow:auto;white-space:pre-wrap;margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-1);background:var(--color-canvas);font-family:var(--font-mono);font-size:13px}[data-theme] .mapping-page .mapping-canvas{--xy-background-color: transparent;--xy-background-pattern-color: var(--color-border);--xy-edge-stroke: var(--color-accent);--xy-edge-stroke-selected: var(--color-accent-hover);--xy-edge-stroke-width: 2px;--xy-connectionline-stroke: var(--color-accent);--xy-edge-label-background-color: var(--color-surface);--xy-edge-label-color: var(--color-ink);--xy-handle-background-color: var(--color-accent);--xy-handle-border-color: var(--color-surface)}.mapping-page .mapping-canvas .react-flow__edge-text{font-family:var(--font-mono);font-size:12.5px;fill:var(--color-ink)}.mapping-page .mapping-canvas .react-flow__node{cursor:default}.mapping-page .mapping-node{display:flex;align-items:center;border:1px solid var(--color-border-control);border-radius:var(--r-1);background:var(--color-surface)}.mapping-page .mapping-node-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);background:var(--color-accent-faint)}.mapping-page .mapping-node button{margin:0;padding:var(--space-1) var(--space-3);border:0;border-radius:var(--r-1);background:transparent;color:var(--color-ink);font-family:var(--font-mono);font-size:13px;cursor:pointer}.mapping-page .mapping-node-selected button{color:var(--color-accent-faint-ink);font-weight:600}.dashboard-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-5)}.dashboard-head h1{margin:0}.dashboard-greeting{margin:2px 0 0;color:var(--color-ink-muted);font-size:13.5px}.dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger);border-radius:var(--r-2);background:var(--color-danger-bg);color:var(--color-danger-text)}.dashboard-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}@media(max-width:1279px){.dashboard-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:719px){.dashboard-tiles{grid-template-columns:minmax(0,1fr)}}.tile{display:flex;flex-direction:column;gap:var(--space-1);min-height:112px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-ink);text-decoration:none;transition:border-color var(--tr),box-shadow var(--tr)}a.tile:hover{border-color:var(--color-accent);text-decoration:none}.tile-label{color:var(--color-ink-muted);font-size:12.5px;font-weight:500}.tile-number{font-size:30px;font-weight:650;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tile-sub{color:var(--color-ink-muted);font-size:12.5px}.skeleton{display:block;border-radius:var(--r-1);background:var(--color-neutral-bg)}.skeleton-label{width:60%;height:12px}.skeleton-number{width:30%;height:30px;margin:4px 0}.skeleton-sub{width:45%;height:12px}.dashboard-panel{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);box-shadow:var(--shadow-card)}.dashboard-panel h2{margin:0 0 var(--space-3);font-size:15px;font-weight:600}.dashboard-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dashboard-actions .btn{text-decoration:none}.dashboard-recent{margin:0}.dashboard-code{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:12.5px}.dashboard-muted{margin:0;color:var(--color-ink-muted)}.signin{display:grid;place-items:center;min-height:100vh;padding:var(--space-5);background:var(--color-canvas)}.signin-column{width:100%;max-width:420px}.signin-brand{margin:0 0 var(--space-3);color:var(--color-ink);font-size:15px;font-weight:650;letter-spacing:-.01em}.signin-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--r-3);background:var(--color-surface);box-shadow:var(--shadow-card)}.signin-card h1{margin:0 0 2px;font-size:20px;font-weight:600;letter-spacing:-.01em}.signin-lede{margin:0 0 var(--space-4);color:var(--color-ink-muted);font-size:13.5px}.signin-sso{width:100%;justify-content:center;padding-block:10px;font-size:14px}.signin-note{margin:var(--space-3) 0 0;color:var(--color-ink-muted);font-size:12.5px}.signin-error{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger);border-radius:var(--r-2);background:var(--color-danger-bg);color:var(--color-danger-text)}.signin-error p{margin:0 0 var(--space-3)}
