.auto-refresh{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:100%}.auto-refresh__switch{display:inline-flex;align-items:center;gap:8px;margin:-4px -6px;padding:4px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-strong);font:inherit;font-size:13px;font-weight:500;line-height:1.3;text-align:left;cursor:pointer}.auto-refresh__switch:hover{background:var(--surface-hover)}.auto-refresh__label{white-space:nowrap}.auto-refresh__track{position:relative;flex:none;width:30px;height:18px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-sunken);transition:background-color .12s ease,border-color .12s ease}.auto-refresh__thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);box-shadow:var(--shadow);transition:transform .12s ease,background-color .12s ease}.auto-refresh__switch[aria-checked=true] .auto-refresh__track{border-color:var(--accent);background:var(--accent)}.auto-refresh__switch[aria-checked=true] .auto-refresh__thumb{background:var(--text-inverted);transform:translate(12px)}.auto-refresh__status{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 6px;padding-left:38px;color:var(--text-muted);font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums}.auto-refresh__time{white-space:nowrap}@media(max-width:480px){.auto-refresh__status{padding-left:0}}.auto-refresh__dot{position:relative;flex:none;width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.auto-refresh[data-state=on] .auto-refresh__dot{background:var(--ok)}.auto-refresh[data-state=failing] .auto-refresh__dot{background:var(--warn)}.auto-refresh[data-state=on] .auto-refresh__dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--ok);animation:auto-refresh-beat 2s ease-out infinite}@keyframes auto-refresh-beat{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}@media(prefers-reduced-motion:reduce){.auto-refresh__track,.auto-refresh__thumb{transition:none}.auto-refresh[data-state=on] .auto-refresh__dot:after{animation:none;display:none}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.process-reference{display:grid;gap:20px}.process-reference__purpose{margin:0;color:var(--text-strong);font-size:14px;line-height:1.6}.process-reference .process-facts{gap:12px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunken)}.process-reference .process-facts dt{font-size:12px}.process-reference .process-facts dd{font-size:13px;line-height:1.55}.process-reference__path{display:grid;gap:12px}.process-reference__path-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.process-steps{margin:0;padding:0;list-style:none}.process-steps__step{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;padding-bottom:18px;overflow-wrap:anywhere}.process-steps__step:last-child{padding-bottom:0}.process-steps__step:not(:last-child):before{content:"";position:absolute;top:32px;bottom:4px;left:13px;width:2px;border-radius:1px;background:var(--line-strong)}.process-steps__number{grid-column:1;grid-row:1 / span 3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700}.process-steps__system{grid-column:2;padding-top:6px;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.03em;line-height:16px;text-transform:uppercase}.process-steps__step strong{grid-column:2;margin-top:2px;color:var(--text-strong);font-size:14px;line-height:20px}.process-steps__step p{grid-column:2;margin:2px 0 0;font-size:13px;line-height:1.55}.process-reference-icon{flex:none;width:1.15em;height:1.15em}.button.process-reference-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.process-reference-toggle--end{margin-left:auto}.process-reference-toggle--link{padding:0;border:0;background:none;color:var(--accent);font:inherit;line-height:inherit;cursor:pointer}.process-reference-toggle--link:hover{text-decoration:underline}.process-reference-toggle--link .process-reference-icon{display:inline-block;margin-right:4px;vertical-align:-.2em}.process-reference__flows{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.process-reference__flows-intro{color:var(--text-muted);font-size:12px}.process-reference__flows-options{display:flex;flex-wrap:wrap;gap:6px}.button.process-reference__flow[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.side-panel,body:has(>.side-panel){--side-panel-width: 480px}.side-panel{position:fixed;top:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:min(var(--side-panel-width),100%);background:var(--surface-raised);color:var(--text);border-left:1px solid var(--line);box-shadow:var(--shadow-dialog);animation:side-panel-enter .18s ease-out}.side-panel__header{display:flex;align-items:flex-start;gap:12px;padding:16px 12px 14px 20px;border-bottom:1px solid var(--line)}.side-panel__heading{flex:1;min-width:0}.side-panel__title{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.side-panel .side-panel__title:focus,.side-panel .side-panel__title:focus-visible{outline:none}.side-panel__subtitle{margin:2px 0 0;color:var(--text-muted);font-size:12px}.button.side-panel__close{flex:none;margin-top:-4px;padding:6px;color:var(--text-muted)}.button.side-panel__close:hover:not(:disabled){color:var(--text-strong)}.side-panel__close-icon{display:block}.side-panel__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 24px}.side-panel__body:focus-visible{outline-offset:-2px}.side-panel__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-sunken)}@keyframes side-panel-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.side-panel{animation:none}}@media(min-width:1280px){body:has(>.side-panel) .page{padding-right:var(--side-panel-width)}.side-panel{box-shadow:var(--shadow)}}.flow-chip{display:inline-block;padding:0 8px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-raised);color:var(--accent);font-size:12px;font-weight:600;line-height:18px;white-space:nowrap}.flow-chip:hover,.flow-chip:focus-visible{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}:root{color-scheme:light;--surface-page: #f4f5f8;--surface-raised: #ffffff;--surface-sunken: #f0f1f5;--surface-code: #f8f9fb;--surface-hover: #f1f3f7;--surface-sidebar: #fcfcfd;--surface-selected: #ffffff;--surface-overlay: rgb(15 18 25 / 45%);--text-strong: #11141a;--text: #2e333d;--text-muted: #626977;--text-inverted: #ffffff;--line: #e1e4ea;--line-strong: #c8cdd6;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0fe;--accent-ring: rgb(79 70 229 / 26%);--ok: #117136;--ok-soft: #e2f4e7;--warn: #8a5700;--warn-soft: #fbf0d4;--danger: #b42318;--danger-soft: #fde8e6;--danger-solid: #b42318;--neutral: #4b5260;--neutral-soft: #eceef2;--tooltip-bg: #1d2129;--tooltip-text: #f5f6f8;--chart-volume: #4f46e5;--chart-failed: #b42318;--radius: 10px;--radius-sm: 6px;--gap: 16px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 1px rgb(16 24 40 / 3%);--shadow-dialog: 0 18px 48px rgb(16 24 40 / 18%), 0 4px 12px rgb(16 24 40 / 8%);--sidebar-width: 248px;--sidebar-rail: 64px;--topbar-height: 52px;--page-gutter: 24px;--control-height: 32px;--control-height-sm: 26px;--sticky-offset: 0px}:root[data-theme=dark]{color-scheme:dark;--surface-page: #121419;--surface-raised: #1a1d24;--surface-sunken: #20242c;--surface-code: #15181e;--surface-hover: #242933;--surface-sidebar: #0f1115;--surface-selected: #2c313c;--surface-overlay: rgb(0 0 0 / 60%);--text-strong: #f2f4f7;--text: #d3d7de;--text-muted: #9aa1ad;--text-inverted: #10131a;--line: #2a2f38;--line-strong: #3b414d;--accent: #a5b4fc;--accent-hover: #c7d2fe;--accent-soft: #262b4d;--accent-ring: rgb(165 180 252 / 30%);--ok: #5fd08a;--ok-soft: #15301f;--warn: #e5b451;--warn-soft: #362a10;--danger: #f58a8a;--danger-soft: #3d1b1d;--danger-solid: #c9302c;--neutral: #aab1bd;--neutral-soft: #272b33;--tooltip-bg: #e9ebf0;--tooltip-text: #11141a;--chart-volume: #7c83f0;--chart-failed: #e25c5c;--shadow: 0 1px 2px rgb(0 0 0 / 45%);--shadow-dialog: 0 18px 48px rgb(0 0 0 / 55%), 0 4px 12px rgb(0 0 0 / 35%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-page: #121419;--surface-raised: #1a1d24;--surface-sunken: #20242c;--surface-code: #15181e;--surface-hover: #242933;--surface-sidebar: #0f1115;--surface-selected: #2c313c;--surface-overlay: rgb(0 0 0 / 60%);--text-strong: #f2f4f7;--text: #d3d7de;--text-muted: #9aa1ad;--text-inverted: #10131a;--line: #2a2f38;--line-strong: #3b414d;--accent: #a5b4fc;--accent-hover: #c7d2fe;--accent-soft: #262b4d;--accent-ring: rgb(165 180 252 / 30%);--ok: #5fd08a;--ok-soft: #15301f;--warn: #e5b451;--warn-soft: #362a10;--danger: #f58a8a;--danger-soft: #3d1b1d;--danger-solid: #c9302c;--neutral: #aab1bd;--neutral-soft: #272b33;--tooltip-bg: #e9ebf0;--tooltip-text: #11141a;--chart-volume: #7c83f0;--chart-failed: #e25c5c;--shadow: 0 1px 2px rgb(0 0 0 / 45%);--shadow-dialog: 0 18px 48px rgb(0 0 0 / 55%), 0 4px 12px rgb(0 0 0 / 35%)}}*,*:before,*:after{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body,#root{min-height:100%}body{margin:0;background:var(--surface-page);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{margin:0;color:var(--text-strong);font-weight:600;line-height:1.3}h1{font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.015em}h2{font-size:16px;letter-spacing:-.005em}h3{font-size:14px}p{margin:0 0 8px}a{color:var(--accent);text-decoration:none;text-underline-offset:2px}a:hover,a:focus-visible{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.navlink:focus-visible,.button:focus-visible,.metric--link:focus-visible,.process-menu__item:focus-visible,.sidebar__brand:focus-visible,.topbar__brand:focus-visible{text-decoration:none}::selection{background:var(--accent-ring)}code{padding:1px 5px;border-radius:4px;background:var(--surface-sunken);font-family:var(--font-mono);font-size:.9em}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--text-muted)}.nowrap{white-space:nowrap}.truncate{display:block;max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:flex;flex-direction:column;gap:var(--gap)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.visually-hidden,.tip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.num{text-align:right;font-variant-numeric:tabular-nums}.num--danger{color:var(--danger);font-weight:600}.icon{display:block;flex:none}.icon-button{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:6px;width:var(--control-height);height:var(--control-height);padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;transition:background-color .12s ease,color .12s ease}.icon-button:hover{background:var(--surface-hover);color:var(--text-strong)}.app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;min-height:100dvh}.app[data-environment=production]{--env-stripe: var(--danger-solid)}.app[data-environment=staging]{--env-stripe: var(--warn)}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:8px 14px;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-inverted);font-weight:600;transform:translateY(calc(-100% - 24px))}.skip-link:focus,.skip-link:focus-visible{transform:none;box-shadow:var(--shadow-dialog);text-decoration:none;outline-offset:3px}.topbar{display:none;align-items:center;gap:10px;height:var(--topbar-height);padding:0 12px 0 8px;background:var(--surface-sidebar);border-bottom:1px solid var(--line)}.topbar:before,.sidebar:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--env-stripe, transparent);pointer-events:none}.topbar__brand{display:flex;flex:none;align-items:center;gap:8px;margin-right:auto;padding:4px;border-radius:var(--radius-sm);color:var(--text-strong);font-size:15px;font-weight:700;letter-spacing:-.01em}.topbar__brand:hover{text-decoration:none}.topbar__env{min-width:0}.topbar__env .env-badge__name{min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar__nav{display:flex;gap:4px}.topbar__user{display:flex;align-items:center;gap:10px}.topbar__identity{display:flex;flex-direction:column;line-height:1.25}.topbar__email{color:var(--text-strong);font-size:13px}.sidebar{position:sticky;top:0;z-index:20;grid-column:1;grid-row:1;display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--surface-sidebar);border-right:1px solid var(--line)}.sidebar__header{display:flex;align-items:center;gap:6px;padding:16px 10px 10px 12px}.sidebar__brand{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:2px;border-radius:var(--radius-sm);color:var(--text-strong)}.sidebar__brand:hover{text-decoration:none}.sidebar__mark{display:block;flex:none}.sidebar__brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.sidebar__name{font-size:16px;font-weight:700;letter-spacing:-.015em}.sidebar__tagline{margin-top:2px;overflow:hidden;color:var(--text-muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.sidebar__close{display:none}.sidebar__env{padding:2px 14px 10px}.sidebar__env .env-badge{display:flex;width:100%;height:26px;border-radius:var(--radius-sm)}.sidebar__nav{flex:1;min-height:0;overflow-y:auto;padding:6px 10px 16px;scrollbar-width:thin}.navgroup+.navgroup{margin-top:16px}.navgroup__title{display:block;padding:0 10px 6px;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.navgroup__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.navlink{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--radius-sm);color:var(--text);font-size:13.5px;font-weight:500;transition:background-color .12s ease,color .12s ease}.navlink:hover{background:var(--surface-hover);color:var(--text-strong);text-decoration:none}.navlink__icon{color:var(--text-muted);transition:color .12s ease}.navlink:hover .navlink__icon{color:var(--text)}.navlink--active,.navlink--active:hover{background:var(--accent-soft);color:var(--accent);font-weight:600}.navlink--active .navlink__icon,.navlink--active:hover .navlink__icon{color:var(--accent)}.navlink--active:before{content:"";position:absolute;top:7px;bottom:7px;left:-10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.navlink__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__footer{display:flex;flex-direction:column;gap:12px;padding:12px 14px 14px;border-top:1px solid var(--line)}.sidebar__theme-cycle{display:none}.sidebar__user{display:flex;align-items:center;gap:10px;min-width:0}.sidebar__identity{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.3}.sidebar__email{overflow:hidden;color:var(--text-strong);font-size:12.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sidebar__role{color:var(--text-muted);font-size:11.5px}.sidebar__logout{width:auto;padding:0 8px;font-size:12.5px;font-weight:500}.avatar{flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;object-fit:cover}.avatar--initials{display:inline-grid;place-items:center;border-color:transparent;background:var(--accent-soft);color:var(--accent);font-size:11.5px;font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.app__backdrop{display:none}.main{grid-column:2;grid-row:1;min-width:0;padding:24px var(--page-gutter) 48px}.main:focus{outline:none}.env-badge{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 9px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase;white-space:nowrap}.env-badge:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}.env-badge__short{display:none}.env-badge--staging{border-color:transparent;background:var(--warn-soft);color:var(--warn)}.env-badge--production{border-color:transparent;background:var(--danger-solid);color:#fff}.theme-switch{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-sunken)}.theme-switch__option{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:28px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .12s ease,color .12s ease}.theme-switch__option:hover{color:var(--text-strong)}.theme-switch__option[aria-pressed=true]{background:var(--surface-selected);color:var(--text-strong);box-shadow:var(--shadow)}.theme-switch--icons{display:inline-grid}.theme-switch--icons .theme-switch__option{width:30px;padding:0}.page{display:flex;flex-direction:column;gap:20px;min-width:0}.page__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 24px}.page__header>div:first-child{min-width:0}.page__header h1{overflow-wrap:anywhere}.page__header>div>p.muted:first-child{margin:0 0 6px;font-size:12.5px}.page__subtitle{max-width:90ch;margin:6px 0 0;color:var(--text-muted);font-size:13.5px}.page__subtitle.mono{font-size:12.5px;overflow-wrap:anywhere}.page__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.panel{min-width:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;min-height:48px;padding:10px 16px;border-bottom:1px solid var(--line)}.panel__header h2,.panel__header h3{font-size:14px;font-weight:600}.panel__meta{color:var(--text-muted);font-size:12.5px}.panel__header .input{width:280px}.filters-panel__toggle{display:none}.panel__body{padding:16px}.panel__body--flush{padding:0}.panel>.table__wrap:last-child{border-radius:0 0 var(--radius) var(--radius)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:var(--gap);align-items:start}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:150px}.field--wide{flex:1;min-width:240px}.field__label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.01em}.input,.select,.textarea{width:100%;height:var(--control-height);padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background-color:var(--surface-raised);color:var(--text-strong);font:inherit;font-size:13px;line-height:1.3;transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder,.textarea::placeholder{color:var(--text-muted);opacity:1}.input:focus,.select:focus,.textarea:focus{outline:2px solid transparent;outline-offset:2px;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input:disabled,.select:disabled,.textarea:disabled{cursor:not-allowed;opacity:.6}.input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.textarea{height:auto;min-height:96px;padding:8px 10px;line-height:1.5;resize:vertical}.input--mono{font-family:var(--font-mono);font-size:12px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a919e' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:14px;cursor:pointer}.select--auto{width:auto}.select--sm{height:var(--control-height-sm);padding-right:26px;padding-left:8px;background-position:right 7px center;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height);padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-strong);font:inherit;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 1px 1px #1018280a;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.button:hover{text-decoration:none}.button:hover:not(:disabled){background:var(--surface-hover)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverted)}.button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button--danger{border-color:var(--danger);color:var(--danger)}.button--danger:hover:not(:disabled){background:var(--danger-soft)}.button--ghost{border-color:transparent;background:transparent;color:var(--text);box-shadow:none}.button--sm{height:var(--control-height-sm);padding:0 9px;font-size:12px}.table__wrap{overflow-x:auto;scrollbar-width:thin;container-type:inline-size}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums}.table th{position:sticky;top:0;z-index:1;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface-sunken);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.table th.num{text-align:right}.table td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color .1s ease}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:has(>td[colspan]),.table tbody tr:has(>td[colspan]):hover{background:var(--surface-code)}.table td[colspan]>*{contain:inline-size}@media(min-width:900px){.table td.mono{min-width:16ch;overflow-wrap:anywhere}}.table tbody tr[data-clickable=true]{cursor:pointer}.table__actions{display:flex;justify-content:flex-end;gap:6px}@container (max-width: 1120px){.table__actions{flex-wrap:wrap}}.table__error{max-width:46ch;color:var(--danger)}.table__message{min-width:24ch;max-width:70ch;white-space:normal;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:999px;background:var(--neutral-soft);color:var(--neutral);font-size:11.5px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle}.badge:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}.badge--received,.badge--queued{background:var(--neutral-soft);color:var(--neutral)}.badge--processing{background:var(--accent-soft);color:var(--accent)}.badge--processing:before{animation:badge-pulse 1.4s ease-in-out infinite}.badge--processed,.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--failed,.badge--quarantined,.badge--error{background:var(--warn-soft);color:var(--warn)}.badge--dead{background:var(--danger-soft);color:var(--danger)}.badge--inbound,.badge--outbound{border:1px solid var(--line-strong);background:transparent;color:var(--text);font-weight:500}.badge--inbound:before,.badge--outbound:before{width:10px;height:10px;border-radius:0;-webkit-mask:var(--badge-arrow) center / contain no-repeat;mask:var(--badge-arrow) center / contain no-repeat}.badge--inbound:before{--badge-arrow: 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.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 7 7 17M7 9v8h8'/%3E%3C/svg%3E")}.badge--outbound:before{--badge-arrow: 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.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E")}@keyframes badge-pulse{50%{opacity:.35}}.kv{display:grid;grid-template-columns:minmax(140px,max-content) minmax(0,1fr);gap:6px 20px;margin:0;font-size:13px}.kv__row{display:contents}.kv__key,.kv dt{padding-top:1px;color:var(--text-muted);font-size:12.5px}.kv__value,.kv dd{margin:0;color:var(--text-strong);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.json{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-code)}.json__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px;min-height:36px;padding:4px 6px 4px 12px;border-bottom:1px solid var(--line);background:var(--surface-sunken)}.json__header>.row{margin-left:auto}.json__title{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.json__header .muted{font-size:12px}.json__code{max-height:480px;margin:0;padding:12px 14px;overflow:auto;color:var(--text-strong);font-family:var(--font-mono);font-size:12px;line-height:1.6;white-space:pre;-moz-tab-size:2;tab-size:2;scrollbar-width:thin}.json__empty{margin:0;padding:14px;color:var(--text-muted);font-style:italic}.attempt{margin-bottom:10px;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised)}.attempt:last-child{margin-bottom:0}.attempt--ok{border-left-color:var(--ok)}.attempt--error{border-left-color:var(--danger)}.attempt__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;cursor:pointer}.attempt__summary::marker{color:var(--text-muted)}.attempt[open]>.attempt__summary{border-bottom:1px solid var(--line)}.attempt__no{color:var(--text-strong);font-weight:700}.attempt__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:12px;padding:12px}.attempt__error{grid-column:1 / -1;margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.banner{padding:12px 14px;border:1px solid var(--line-strong);border-left-width:4px;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-strong);font-size:13px}.banner--error{border-color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);border-left-color:var(--danger);background:var(--danger-soft)}.banner--warning{border-color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent);border-left-color:var(--warn);background:var(--warn-soft)}.banner--info{border-color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);border-left-color:var(--accent);background:var(--accent-soft)}.banner__title{margin-bottom:2px;font-weight:600}.banner--error .banner__title{color:var(--danger)}.banner--warning .banner__title{color:var(--warn)}.banner--info .banner__title{color:var(--accent)}.banner__issues{margin:6px 0 0;padding-left:18px;font-family:var(--font-mono);font-size:12px}.banner__actions{display:flex;gap:8px;margin-top:10px}.issues{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.issue{padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--radius-sm);background:var(--surface-code)}.issue__path{color:var(--text-strong);font-family:var(--font-mono);font-size:12px;font-weight:700}.issue__message{margin:2px 0 0}.issue__meta{margin-top:4px;color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px;border-top:1px solid var(--line);font-size:12.5px;font-variant-numeric:tabular-nums}.pagination__summary{margin-right:auto;color:var(--text-muted);font-size:12.5px}.empty{padding:40px 16px;color:var(--text-muted);text-align:center}.empty>p:first-child{margin-bottom:4px;color:var(--text-strong);font-weight:500}.empty>p:last-child{margin-bottom:0}.loading{display:flex;align-items:center;gap:10px;margin:0;padding:24px 16px;color:var(--text-muted)}.loading:before{content:"";flex:none;width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--surface-overlay)}.dialog{display:flex;flex-direction:column;gap:14px;width:min(560px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.dialog h2{font-size:16px}.dialog>p{margin:0}.dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.login{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:32px 16px}.login__card{display:flex;flex-direction:column;gap:20px;width:min(420px,100%);padding:32px 28px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.login__brand{display:flex;align-items:center;gap:14px}.login__title{font-size:22px;font-weight:700;letter-spacing:-.02em}.login__tagline{margin:2px 0 0;color:var(--text-muted);font-size:12.5px}.login__intro{margin:0;color:var(--text);font-size:13.5px}.login__google{display:flex;justify-content:center;min-height:44px}.login__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.auth-gate{display:grid;place-items:center;align-content:center;gap:8px;min-height:100vh;min-height:100dvh;padding:24px 16px}.auth-gate .loading{padding:0}.auth-gate__card{width:min(520px,100%);padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-dialog)}.not-found{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;max-width:640px;margin:6vh auto 0;padding:32px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow)}.not-found__brand{display:flex;align-items:center;gap:10px;color:var(--text-strong);font-size:13px}.not-found__code{margin:12px 0 0;color:var(--accent);font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1}.not-found__path{padding:1px 6px;border-radius:4px;background:var(--surface-sunken);color:var(--text-strong);overflow-wrap:anywhere}.dashboard{display:flex;flex-direction:column;gap:24px;transition:opacity .2s ease}.dashboard--refreshing{opacity:.6}.dashboard__section{display:flex;flex-direction:column;gap:10px}.section-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}.section-header h2{font-size:15px}.section-header__note{margin:0;color:var(--text-muted);font-size:12.5px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.metric{position:relative;display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:2px;align-content:start;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);color:var(--text)}.metric__label{color:var(--text-muted);font-size:12.5px;font-weight:500}.metric__value{margin-top:2px;color:var(--text-strong);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}.metric__hint{margin-top:4px;color:var(--text-muted);font-size:12px}.metric__hint--ok{color:var(--ok)}.metric__hint--warn{color:var(--warn)}.metric__hint--danger{color:var(--danger)}.metric--ok{box-shadow:inset 3px 0 0 var(--ok),var(--shadow)}.metric--ok .metric__value{color:var(--ok)}.metric--warn{box-shadow:inset 3px 0 0 var(--warn),var(--shadow)}.metric--warn .metric__value{color:var(--warn)}.metric--danger{box-shadow:inset 3px 0 0 var(--danger),var(--shadow)}.metric--danger .metric__value{color:var(--danger)}.metric--link .metric__label{padding-right:22px}.metric--link{transition:background-color .12s ease,border-color .12s ease}.metric--link:hover{border-color:var(--line-strong);background:var(--surface-hover);text-decoration:none}.metric__go{position:absolute;top:14px;right:12px;color:var(--text-muted);transition:transform .15s ease,color .15s ease}.metric--link:hover .metric__go{color:var(--text-strong);transform:translate(2px)}.all-clear{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:inset 3px 0 0 var(--ok),var(--shadow)}.all-clear__icon{margin-top:1px;color:var(--ok)}.all-clear__title{margin:0 0 2px;color:var(--text-strong);font-weight:600}.all-clear__hint{margin:0;color:var(--text-muted);font-size:13px}.dashboard__split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(600px,100%),1fr));gap:var(--gap);align-items:start}.rate{display:inline-flex;align-items:center;gap:6px}.rate:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--neutral)}.rate--ok:before{background:var(--ok)}.rate--warn:before{background:var(--warn)}.rate--danger:before{background:var(--danger)}.daychart{--plot-height: 160px;display:flex;flex-direction:column;gap:12px;margin:0}.daychart__legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--text-muted);font-size:12px}.daychart__legend>span{display:inline-flex;align-items:center;gap:6px}.daychart__key{display:inline-block;width:10px;height:10px;border-radius:2px}.daychart__key--ok{background:var(--chart-volume)}.daychart__key--failed{background:var(--chart-failed)}.daychart__plot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}.daychart__axis{position:relative;min-width:3ch;height:var(--plot-height);color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;line-height:1}.daychart__tick{position:absolute;right:0;transform:translateY(-50%)}.daychart__tick--max{top:0}.daychart__tick--mid{top:50%}.daychart__tick--zero{top:100%}.daychart__bars{position:relative;display:flex;gap:4px;min-width:0}.daychart__bars:before{content:"";position:absolute;top:0;right:0;left:0;height:var(--plot-height);border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);background:linear-gradient(var(--line),var(--line)) 0 50% / 100% 1px no-repeat;pointer-events:none}.daychart__day{position:relative;display:flex;flex:1;flex-direction:column;align-items:stretch;min-width:0}.daychart__track{display:flex;align-items:flex-end;justify-content:center;height:var(--plot-height);border-radius:4px 4px 0 0;transition:background-color .12s ease}.daychart__day:hover .daychart__track{background:var(--surface-hover)}.daychart__stack{display:flex;flex-direction:column;gap:2px;width:min(24px,70%)}.daychart__stack:not(:empty){min-height:3px}.daychart__stack>:first-child{border-radius:4px 4px 0 0}.daychart__seg{display:block;flex-basis:0}.daychart__seg--ok{background:var(--chart-volume)}.daychart__seg--failed{min-height:2px;background:var(--chart-failed)}.daychart__day:hover .daychart__stack{filter:brightness(1.12)}.daychart__label{height:20px;padding-top:6px;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;line-height:1;text-align:center}.daychart__data>summary{width:fit-content;color:var(--accent);font-size:12.5px;cursor:pointer}.daychart__data[open]>summary{margin-bottom:8px}.daychart__data .table__wrap{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.trace{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.trace__hop{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.trace__hop:first-child{padding-top:4px}.trace__hop:last-child{border-bottom:none;padding-bottom:4px}.trace__when{padding-top:2px;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.trace__what{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding-left:22px}.trace__what:before{content:"";position:absolute;top:5px;left:0;width:10px;height:10px;border:2px solid var(--accent);border-radius:50%;background:var(--surface-raised)}.trace__what:after{content:"";position:absolute;top:17px;bottom:-19px;left:4px;width:2px;background:var(--line)}.trace__hop:last-child .trace__what:after{display:none}.process-reference-tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12.5px;font-weight:600;white-space:nowrap}.process-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.process-menu{position:sticky;top:calc(var(--sticky-offset) + 16px);display:grid;gap:4px;max-height:calc(100vh - var(--sticky-offset) - 32px);overflow-y:auto;scrollbar-width:thin}.process-menu__item{display:flex;align-items:baseline;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font-size:13px;line-height:1.35;text-decoration:none;transition:background-color .12s ease,border-color .12s ease}.process-menu__item:hover{border-color:var(--line-strong);background:var(--surface-hover);text-decoration:none}.process-menu__item[aria-current=page]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.process-menu__id{min-width:30px;font-weight:700;font-variant-numeric:tabular-nums}.process-detail{display:grid;gap:20px;min-width:0}.process-heading{flex-wrap:wrap;gap:12px}.process-facts{display:grid;gap:16px;margin-bottom:0}.process-facts dt{margin-bottom:4px;color:var(--text-strong);font-weight:600}.process-facts dd{margin:0;line-height:1.6}.process-diagram{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:28px;margin:0;padding:10px 0;list-style:none}.process-diagram__step{position:relative;padding:16px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);overflow-wrap:anywhere}.process-diagram__step:not(:last-child):after{content:"→";position:absolute;top:52px;right:-24px;color:var(--accent);font-size:22px}.process-diagram__number{display:inline-grid;place-items:center;width:26px;height:26px;margin-bottom:12px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700}.process-diagram__system{display:block;margin-bottom:8px;color:var(--text-muted);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.process-diagram__step strong{display:block;color:var(--text-strong)}.process-diagram__step p{margin-bottom:0;font-size:13px;line-height:1.6}@media(max-width:1150px){.process-diagram{grid-template-columns:1fr;grid-auto-flow:row}.process-diagram__step:not(:last-child):after{content:"↓";top:auto;right:auto;bottom:-30px;left:24px}}@media(max-width:760px){.process-layout{grid-template-columns:minmax(0,1fr);gap:16px}.process-menu{position:static;grid-auto-columns:max-content;grid-auto-flow:column;gap:6px;max-height:none;margin:0 calc(-1 * var(--page-gutter));padding:2px var(--page-gutter) 6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.process-menu::-webkit-scrollbar{display:none}.process-menu__item{padding:8px 12px;font-size:13px;white-space:nowrap}}.flow-graph__toolbar,.flow-graph__orientation,.flow-graph__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.flow-graph__toolbar{justify-content:space-between;margin-bottom:12px}.flow-graph__orientation{gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-sunken)}.flow-graph__orientation .button{height:28px;border-color:transparent;background:transparent;color:var(--text-muted);box-shadow:none}.flow-graph__orientation .button:hover:not(:disabled){background:transparent;color:var(--text-strong)}.flow-graph__orientation .button[aria-pressed=true]{border-color:transparent;background:var(--surface-selected);color:var(--text-strong);box-shadow:var(--shadow)}.flow-graph__canvas{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-code);--xy-background-color: var(--surface-code);--xy-edge-stroke: var(--text-muted);--xy-edge-label-background-color: var(--surface-raised);--xy-edge-label-color: var(--text-muted);--xy-attribution-background-color: transparent;--xy-controls-button-background-color: var(--surface-raised);--xy-controls-button-background-color-hover: var(--surface-hover);--xy-controls-button-color: var(--text);--xy-controls-button-color-hover: var(--text-strong);--xy-controls-button-border-color: var(--line);--xy-controls-box-shadow: var(--shadow);--xy-handle-background-color: var(--line-strong);--xy-handle-border-color: var(--surface-raised);--xy-selection-background-color: var(--accent-ring);--xy-selection-border: 1px dashed var(--accent);--xy-node-boxshadow-selected: 0 0 0 2px var(--accent)}.flow-graph__canvas .react-flow__controls{overflow:hidden;border:1px solid var(--line);border-radius:8px}.flow-graph__canvas .react-flow__controls-button{width:28px;height:28px}.flow-graph__canvas .react-flow__controls-button:last-child{border-bottom:0}.flow-graph__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-muted)}.flow-graph__hint{margin:8px 0 0;color:var(--text-muted);font-size:12px}@media(hover:none){.flow-graph__hint-hover{display:none}}.flow-graph__legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--text-muted);font-size:12px}.flow-graph__legend>span{display:inline-flex;align-items:center;gap:6px}.flow-graph__line{width:24px;border-top:2px solid currentColor}.flow-graph__line--inferred{border-top-style:dashed}.flow-graph__line--expected{border-top-style:dotted}.flow-step{display:flex;flex-direction:column;padding:12px 14px;border-radius:10px;text-align:left;cursor:grab;box-shadow:var(--shadow)}.flow-step .react-flow__handle{opacity:0}.flow-step__system{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:11px;font-weight:600;letter-spacing:.03em;line-height:16px;text-transform:uppercase}.flow-step__current{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:0;text-transform:none}.flow-step__label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;margin:6px 0 4px;overflow:hidden;color:var(--text-strong);font-size:14px;font-weight:600;line-height:20px;overflow-wrap:anywhere}.flow-step__meta,.flow-step__activity{font-size:11px;line-height:16px}.flow-step__meta{color:var(--text)}.flow-step__status{display:flex;align-items:center;gap:6px;margin-top:auto;font-size:12px;font-weight:600;line-height:18px}.flow-step__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.flow-graph .react-flow__node.selected .flow-step,.flow-step--processing{outline:2px solid var(--accent);outline-offset:3px}.flow-step__spinner{display:inline-block;width:9px;height:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:flow-step-spin .8s linear infinite}@keyframes flow-step-spin{to{transform:rotate(360deg)}}.flow-step-detail__error{margin:12px 0;color:var(--danger);overflow-wrap:anywhere}@media(max-width:1599px){.table th,.table td{padding-right:10px;padding-left:10px}.table .truncate{max-width:26ch}}@media(max-width:1439px){.table .truncate{max-width:20ch}}@media(max-width:899px){.table--stack,.table--stack tbody{display:block}.table--stack thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.table--stack tr{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:12px 16px;border-bottom:1px solid var(--line)}.table--stack tbody tr:last-child{border-bottom:0}.table--stack td{min-width:0;max-width:100%;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}.table--stack td>.row{display:inline-flex;vertical-align:baseline}.table--stack td[data-label]:before{content:attr(data-label);margin-right:6px;color:var(--text-muted);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.table--stack .table__lead{order:-2;flex-basis:100%;color:var(--text-strong);font-size:13.5px;font-weight:600}.table--stack .table__lead.mono{font-size:13px}.table--stack .table__pill{order:-1}.table--stack .table__cell--wide,.table--stack td:has(>.table__actions),.table--stack td[colspan]{flex-basis:100%}.table--stack .table__cell--wide{order:1}.table--stack td:has(>.table__actions){order:2;padding-top:4px}.table--stack .table__placeholder{display:none}.table--stack .num{text-align:left}.table--stack .table__actions{flex-wrap:wrap;justify-content:flex-start}.table--stack .truncate{display:-webkit-box;max-width:100%;white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical}.table--stack .table__open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.table--stack td a:not(.table__open),.table--stack td button{position:relative;z-index:1}}@media(min-width:900px){.app--rail{grid-template-columns:var(--sidebar-rail) minmax(0,1fr)}.app--rail .sidebar__brand-text,.app--rail .navgroup__title,.app--rail .sidebar__identity,.app--rail .env-badge__name,.app--rail .navlink__label,.app--rail .sidebar__logout-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.app--rail .sidebar__header{flex-direction:column;gap:10px;padding:16px 0 10px}.app--rail .sidebar__brand{flex:none;padding:0}.app--rail .sidebar__env{display:flex;justify-content:center;padding:0 6px 10px}.app--rail .sidebar__env .env-badge{width:auto;height:20px;padding:0 6px;border-radius:4px;font-size:9.5px;letter-spacing:.04em}.app--rail .sidebar__env .env-badge:before{display:none}.app--rail .env-badge__short{display:inline}.app--rail .sidebar__nav{overflow:visible;padding:4px 10px 16px}.app--rail .navgroup+.navgroup{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.app--rail .navlink{justify-content:center;width:44px;height:40px;margin:0 auto;padding:0}.app--rail .sidebar__footer{align-items:center;gap:8px;padding:10px 0 14px}.app--rail .sidebar__theme{display:none}.app--rail .sidebar__theme-cycle{display:inline-flex}.app--rail .sidebar__user{flex-direction:column;gap:8px}.app--rail .sidebar__logout{width:var(--control-height);padding:0}.icon-button:hover>.tip,.icon-button:focus-visible>.tip,.app--rail .navlink:hover>.navlink__label,.app--rail .navlink:focus-visible>.navlink__label,.app--rail .sidebar__logout:hover>.sidebar__logout-label,.app--rail .sidebar__logout:focus-visible>.sidebar__logout-label{top:50%;left:calc(100% + 10px);z-index:60;width:auto;height:auto;margin:0;padding:5px 9px;overflow:visible;clip:auto;clip-path:none;border-radius:6px;background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:var(--shadow-dialog);font-size:12px;font-weight:500;line-height:1.35;transform:translateY(-50%);pointer-events:none}}@media(max-width:899px){:root{--page-gutter: 16px;--sticky-offset: var(--topbar-height)}.app{display:block}.topbar{position:sticky;top:0;z-index:30;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(300px,86vw);height:auto;border-right:1px solid var(--line);transform:translate(-100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.app--nav-open .sidebar{transform:none;visibility:visible;box-shadow:var(--shadow-dialog);transition:transform .22s ease}.sidebar__toggle{display:none}.sidebar__close{display:inline-flex}.app__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;background:var(--surface-overlay)}.main{padding:16px var(--page-gutter) 40px}.flow-graph__canvas{max-height:65vh;max-height:65svh}}@media(max-width:600px){h1{font-size:20px}.page{gap:16px}.filters .field{flex:1 1 calc(50% - 6px);min-width:0}.filters .field--wide,.filters .field--datetime{flex-basis:100%}.filters>.row{flex-basis:100%}.filters>.row>.button{flex:1}.filters-panel__toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 16px;border:0;border-radius:var(--radius);background:transparent;color:var(--text-strong);font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.filters-panel__toggle>.icon{color:var(--text-muted)}.filters-panel__count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.filters-panel__chevron{margin-left:auto;transition:transform .15s ease}.filters-panel--open .filters-panel__chevron{transform:rotate(90deg)}.filters-panel__body{display:none;border-top:1px solid var(--line)}.filters-panel--open .filters-panel__body{display:block}.pagination__pages{flex:1 1 100%;flex-wrap:nowrap;justify-content:space-between}.pagination__pages>.muted{min-width:0;text-align:center}.panel__search{flex:1 1 100%}.panel__header .panel__search .input{width:100%}.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv__value,.kv dd{margin-bottom:8px}.trace__hop{grid-template-columns:minmax(0,1fr);gap:6px}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.metric__value{font-size:24px}.panel__body{padding:14px}.not-found{padding:24px 20px}}@media(pointer:coarse){:root{--control-height: 40px;--control-height-sm: 32px}.input,.select,.textarea{font-size:16px}.navlink{height:44px}.theme-switch__option,.flow-graph__orientation .button{height:36px}.theme-switch--icons .theme-switch__option{width:36px}.flow-graph__canvas .react-flow__controls-button{width:36px;height:36px}}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.flow-step__spinner{animation:none}}@media(forced-colors:active){.navlink--active,.theme-switch__option[aria-pressed=true],.flow-graph__orientation .button[aria-pressed=true],.process-menu__item[aria-current=page]{outline:2px solid Highlight;outline-offset:-2px}}@media print{.skip-link,.topbar,.sidebar,.app__backdrop{display:none}.app{display:block}.main{padding:0}}
