/* Spend Assurance app styles, scoped under .zs by tools/scope_css.py from
   tools/source/spend-assurance-app.css. Do not edit by hand: change the
   source or the script and run it again. */
.zs .react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}
.zs .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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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}
.zs .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}
.zs .react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}
.zs .react-flow__pane{z-index:1;touch-action:none}
.zs .react-flow__pane.draggable{cursor:grab}
.zs .react-flow__pane.dragging{cursor:grabbing}
.zs .react-flow__pane.selection{cursor:pointer}
.zs .react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}
.zs .react-flow__renderer{z-index:4}
.zs .react-flow__selection{z-index:6}
.zs .react-flow__nodesselection-rect:focus,.zs .react-flow__nodesselection-rect:focus-visible{outline:none}
.zs .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}
.zs .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}
.zs .react-flow .react-flow__edges{position:absolute}
.zs .react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}
.zs .react-flow__edge{pointer-events:visibleStroke}
.zs .react-flow__edge.selectable{cursor:pointer}
.zs .react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}
.zs .react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}
.zs .react-flow__edge.inactive{pointer-events:none}
.zs .react-flow__edge.selected,.zs .react-flow__edge:focus,.zs .react-flow__edge:focus-visible{outline:none}
.zs .react-flow__edge.selected .react-flow__edge-path,.zs .react-flow__edge.selectable:focus .react-flow__edge-path,.zs .react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}
.zs .react-flow__edge-textwrapper{pointer-events:all}
.zs .react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}
.zs .react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}
.zs .react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}
.zs .react-flow__connection{pointer-events:none}
.zs .react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}
.zs svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}
.zs .react-flow__nodes{pointer-events:none;transform-origin:0 0}
.zs .react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}
.zs .react-flow__node.selectable{cursor:pointer}
.zs .react-flow__node.draggable{cursor:grab;pointer-events:all}
.zs .react-flow__node.draggable.dragging{cursor:grabbing}
.zs .react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}
.zs .react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}
.zs .react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}
.zs .react-flow__handle.connectingfrom{pointer-events:all}
.zs .react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}
.zs .react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}
.zs .react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}
.zs .react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}
.zs .react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}
.zs .react-flow__edgeupdater{cursor:move;pointer-events:all}
.zs .react-flow__pane.selection .react-flow__panel{pointer-events:none}
.zs .react-flow__panel{z-index:5;margin:15px;position:absolute}
.zs .react-flow__panel.top{top:0}
.zs .react-flow__panel.bottom{bottom:0}
.zs .react-flow__panel.top.center,.zs .react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}
.zs .react-flow__panel.left{left:0}
.zs .react-flow__panel.right{right:0}
.zs .react-flow__panel.left.center,.zs .react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}
.zs .react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}
.zs .react-flow__attribution a{color:#999;text-decoration:none}
@keyframes dashdraw{0%{stroke-dashoffset:10px}}
.zs .react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}
.zs .react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}
.zs .react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}
.zs .react-flow__minimap-svg{display:block}
.zs .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)))}
.zs .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)))}
.zs .react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}
.zs .react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}
.zs .react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}
.zs .react-flow__controls{flex-direction:column;display:flex}
.zs .react-flow__controls.horizontal{flex-direction:row}
.zs .react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}
.zs .react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}
.zs .react-flow__node-input,.zs .react-flow__node-default,.zs .react-flow__node-output,.zs .react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}
.zs .react-flow__node-input.selected,.zs .react-flow__node-input:focus,.zs .react-flow__node-input:focus-visible,.zs .react-flow__node-default.selected,.zs .react-flow__node-default:focus,.zs .react-flow__node-default:focus-visible,.zs .react-flow__node-output.selected,.zs .react-flow__node-output:focus,.zs .react-flow__node-output:focus-visible,.zs .react-flow__node-group.selected,.zs .react-flow__node-group:focus,.zs .react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}
.zs .react-flow__nodesselection-rect,.zs .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))}
.zs .react-flow__resize-control{position:absolute}
.zs .react-flow__resize-control.left,.zs .react-flow__resize-control.right{cursor:ew-resize}
.zs .react-flow__resize-control.top,.zs .react-flow__resize-control.bottom{cursor:ns-resize}
.zs .react-flow__resize-control.top.left,.zs .react-flow__resize-control.bottom.right{cursor:nwse-resize}
.zs .react-flow__resize-control.bottom.left,.zs .react-flow__resize-control.top.right{cursor:nesw-resize}
.zs .react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}
.zs .react-flow__resize-control.handle.left{top:50%;left:0}
.zs .react-flow__resize-control.handle.right{top:50%;left:100%}
.zs .react-flow__resize-control.handle.top{top:0;left:50%}
.zs .react-flow__resize-control.handle.bottom{top:100%;left:50%}
.zs .react-flow__resize-control.handle.top.left,.zs .react-flow__resize-control.handle.bottom.left{left:0}
.zs .react-flow__resize-control.handle.top.right,.zs .react-flow__resize-control.handle.bottom.right{left:100%}
.zs .react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}
.zs .react-flow__resize-control.line.left,.zs .react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}
.zs .react-flow__resize-control.line.left{border-left-width:1px;left:0}
.zs .react-flow__resize-control.line.right{border-right-width:1px;left:100%}
.zs .react-flow__resize-control.line.top,.zs .react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}
.zs .react-flow__resize-control.line.top{border-top-width:1px;top:0}
.zs .react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
.zs{--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Roboto Mono", ui-monospace, Menlo, Consolas, monospace;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:28px;--leading-tight:1.25;--leading-body:1.5;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow:0 1px 3px #16181c0d;--shadow-overlay:0 12px 32px #16181c21;--bg:#f8f9fb;--surface:#fff;--surface-2:#f2f4f7;--surface-sunken:#eaecf0;--surface-selected:#edeffc;--border:#dfe1e6;--border-hairline:#ecedf1;--border-strong:#8f9196;--text:#16181c;--text-2:#3b3d42;--text-muted:#6b6d72;--text-faint:#a9abb0;--link:#123a5e;--accent:#3e49c6;--accent-text:#fff;--accent-soft:#edeffc;--primary:#011e41;--primary-hover:#123a5e;--primary-text:#fff;--rail:#011e41;--rail-text:#ffffff9e;--rail-active:#ffffff1f;--rail-active-text:#fff;--signal:#e83971;--signal-soft:#fbeef2;--success:#1b7a4b;--success-soft:#e5f5ed;--warning:#b33d00;--warning-soft:#ffeedb;--danger:#a81f26;--danger-soft:#fceaeb;--overlay:#16181c52;--logo-sap:#0092db;--logo-ms:#0079d6;--logo-google:#2e9449;--logo-docusign:#432ab2;--logo-neutral:#f2f4f7;--on-logo:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-pill:999px}
.zs *,.zs :before,.zs :after{box-sizing:border-box}
.zs,.zs,.zs{height:100%;margin:0;padding:0}
.zs{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
.zs h1,.zs h2,.zs h3,.zs p{margin:0}
.zs h1{font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.01em}
.zs button,.zs input,.zs select{font:inherit;color:inherit}
.zs button{cursor:pointer}
.zs a{color:var(--link);text-decoration:none}
.zs svg{flex:none}
.zs :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.zs .app{background:var(--bg);grid-template-columns:64px 1fr;height:100vh;display:grid;overflow:hidden}
.zs .rail{align-items:center;gap:var(--space-2);padding:var(--space-4) 0 var(--space-3);background:var(--rail);color:var(--rail-text);flex-direction:column;display:flex}
.zs .rail-logo{width:40px;height:40px;margin-bottom:var(--space-3);place-items:center;display:grid}
.zs .rail-logo svg{width:36px;height:36px}
.zs .rail-logo .frame{stroke:var(--signal)}
.zs .rail-logo .letters{fill:var(--rail-active-text);font-family:var(--font-sans);letter-spacing:.04em;font-size:11px;font-weight:800}
.zs .rail-nav{gap:var(--space-2);isolation:isolate;--nav-index:0;flex-direction:column;display:flex;position:relative}
.zs .rail-indicator{border-radius:var(--radius-lg);background:var(--rail-active);width:40px;height:40px;transform:translateY(calc(var(--nav-index) * (40px + var(--space-2))));pointer-events:none;z-index:0;transition:transform .34s cubic-bezier(.22,.8,.25,1);position:absolute;top:0;left:0}
.zs .rail-item{z-index:1;border-radius:var(--radius-lg);width:40px;height:40px;color:var(--rail-text);background:0 0;border:0;place-items:center;transition:color .2s;display:grid;position:relative}
.zs .rail-item svg{width:20px;height:20px}
.zs .rail-item:hover:not(:disabled),.zs .rail-item.is-active{color:var(--rail-active-text)}
.zs .rail>.rail-item.is-active{background:var(--rail-active)}
@media (prefers-reduced-motion:reduce){.zs .rail-indicator,.zs .rail-item{transition:none}}
.zs .rail-item:disabled{opacity:.45;cursor:default}
.zs .rail-spacer{flex:1}
.zs .rail-avatar{border-radius:var(--radius-pill);background:var(--signal);width:32px;height:32px;color:var(--on-logo);font-size:var(--text-xs);border:0;place-items:center;font-weight:600;display:grid}
.zs .main{flex-direction:column;min-width:0;min-height:0;display:flex}
.zs .page-head{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);display:flex;position:relative}
.zs .page-head .titles{min-width:0}
.zs .page-head h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.zs .page-head h1>span:empty:before{content:"�a0"}
.zs .page-actions{display:contents}
.zs .page-head .spacer{flex:1}
.zs .product{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.zs .page-body{min-height:0;padding:0 var(--space-6) var(--space-5);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}
.zs .page-body.is-fixed{overflow:hidden}
.zs .spacer{flex:1}
.zs .seg{border-radius:var(--radius-lg);background:var(--surface-2);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}
.zs .seg-item{align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;font-weight:500;display:inline-flex}
.zs .seg-item:hover{color:var(--text)}
.zs .seg-item.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.zs .count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}
.zs .btn{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-lg);background:var(--primary);color:var(--primary-text);font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;font-weight:600;display:inline-flex}
.zs .btn:hover:not(:disabled){background:var(--primary-hover)}
.zs .btn:disabled{opacity:.55;cursor:default}
.zs .btn svg{width:16px;height:16px}
.zs .btn--ghost{background:var(--surface);border-color:var(--border);color:var(--text)}
.zs .btn--ghost:hover:not(:disabled){background:var(--surface-2)}
.zs .btn--danger{background:var(--danger)}
.zs .btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--text-xs)}
.zs .btn--link{height:auto;color:var(--link);font-weight:600;font-size:inherit;background:0 0;border:0;padding:0}
.zs .btn--link:hover:not(:disabled){background:0 0;text-decoration:underline}
.zs .icon-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:28px;height:28px;color:var(--text-2);place-items:center;display:grid}
.zs .icon-btn svg{width:14px;height:14px}
.zs .icon-btn:disabled{opacity:.45;cursor:default}
.zs .search{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-faint);font-size:var(--text-sm);display:flex}
.zs .search:focus-within{border-color:var(--accent)}
.zs .search svg{width:16px;height:16px}
.zs .search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}
.zs .search input::placeholder{color:var(--text-faint)}
.zs .select{height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-size:var(--text-sm)}
.zs .eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}
.zs .mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}
.zs .muted{color:var(--text-muted);font-size:var(--text-sm)}
.zs .badge{height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:4px;font-weight:500;display:inline-flex}
.zs .badge--success{background:var(--success-soft);color:var(--success)}
.zs .badge--warning{background:var(--warning-soft);color:var(--warning)}
.zs .badge--danger{background:var(--danger-soft);color:var(--danger)}
.zs .badge--accent{background:var(--accent-soft);color:var(--accent)}
.zs .dot{border-radius:var(--radius-pill);background:currentColor;width:6px;height:6px}
.zs .dot.is-live{animation:1.2s ease-in-out infinite pulse}
@keyframes pulse{50%{opacity:.3}}
.zs .kind{font-family:var(--font-mono);color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);white-space:nowrap;padding:1px 6px;font-size:11px}
.zs .sig{height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;align-items:center;font-weight:500;display:inline-flex}
.zs .sig--high{background:var(--danger-soft);color:var(--danger)}
.zs .sig--check{background:var(--warning-soft);color:var(--warning)}
.zs .sig--info{background:var(--surface-2);color:var(--text-2)}
.zs .ok{color:var(--success);font-size:var(--text-xs);align-items:center;gap:4px;font-weight:500;display:inline-flex}
.zs .ok svg{width:14px;height:14px}
.zs .sev-dot{border-radius:var(--radius-pill);flex:none;width:8px;height:8px}
.zs .sev-dot--high{background:var(--danger)}
.zs .sev-dot--check{background:var(--warning)}
.zs .sev-dot--info{background:var(--text-faint)}
.zs .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.zs .card-pad{padding:var(--space-4)}
.zs .logo{border-radius:var(--radius-lg);background:var(--logo-neutral);width:36px;height:36px;color:var(--text-2);font-size:var(--text-xs);letter-spacing:.02em;flex:none;place-items:center;font-weight:700;display:grid}
.zs .logo--lg{width:48px;height:48px;font-size:var(--text-sm)}
.zs .logo--sm{border-radius:var(--radius-md);width:22px;height:22px;font-size:9px}
.zs .logo--xs{border-radius:var(--radius-sm);width:18px;height:18px;font-size:10px}
.zs .logo--sap{background:var(--logo-sap);color:var(--on-logo)}
.zs .logo--ms{background:var(--logo-ms);color:var(--on-logo)}
.zs .logo--google{background:var(--logo-google);color:var(--on-logo)}
.zs .logo--docusign{background:var(--logo-docusign);color:var(--on-logo)}
.zs .table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
.zs .table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface);z-index:2;background-clip:padding-box;font-size:11px;font-weight:500;position:sticky;top:0}
.zs .table td{padding:8px var(--space-3);border-bottom:1px solid var(--border-hairline);vertical-align:middle}
.zs .table tbody tr.is-row{cursor:pointer}
.zs .table tbody tr.is-row:hover td{background:var(--bg)}
.zs .table tr.is-selected td{background:var(--surface-selected)}
.zs .table td.num,.zs .table th.num{text-align:right}
.zs .table td.mono{white-space:nowrap}
.zs .cell-main{color:var(--text);font-weight:500}
.zs .cell-sub{font-size:var(--text-xs);color:var(--text-muted)}
.zs .scroll-area{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-height:0;overflow:auto}
.zs .scroll-area::-webkit-scrollbar{width:8px;height:8px}
.zs .scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}
.zs .backdrop{z-index:50;background:var(--overlay);padding:var(--space-5);place-items:center;display:grid;position:fixed;inset:0}
.zs .dialog{background:var(--surface);border-radius:var(--radius-lg);width:820px;max-width:100%;max-height:calc(100vh - 48px);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;overflow:hidden}
.zs .dialog-head{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .dialog-body{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow:auto}
.zs .dialog-foot{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-hairline);background:var(--bg);display:flex}
.zs .pop-anchor{display:inline-flex;position:relative}
.zs .pop{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);font-size:var(--text-xs);color:var(--text);position:absolute;left:-8px}
.zs .pop--card{width:300px;padding:var(--space-3);flex-direction:column;gap:6px;display:flex;top:calc(100% + 8px)}
.zs .pop--tip{padding:6px var(--space-2);background:var(--text);color:var(--surface);border-color:var(--text);white-space:nowrap;bottom:calc(100% + 8px)}
.zs .pop-head{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}
.zs .pop-row{gap:var(--space-2);grid-template-columns:70px 1fr;display:grid}
.zs .pop-row span:last-child{overflow-wrap:anywhere}
.zs .empty{place-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-muted);text-align:center;font-size:var(--text-sm);display:grid}
.zs .toast{z-index:60;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--text);color:var(--surface);font-size:var(--text-sm);box-shadow:var(--shadow-overlay);position:fixed;bottom:24px;right:24px}
.zs .tile-btn{border-radius:var(--radius-md);background:0 0;border:0;padding:0;display:inline-flex}
.zs .plogo{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--surface);flex:none;place-items:center;width:40px;height:40px;padding:6px;display:grid}
.zs .plogo img{object-fit:contain;width:100%;height:100%}
.zs .plogo--lg{width:48px;height:48px;padding:8px}
.zs .plogo--xs{border-radius:var(--radius-md);width:22px;height:22px;padding:3px}
.zs .sk{border-radius:var(--radius-sm);background:var(--surface-2);height:10px;display:block}
.zs .sk--logo{border-radius:var(--radius-lg);width:40px;height:40px}
.zs .sk--w60{width:60%;height:12px}
.zs .sk--w30{width:30%}
.zs .sk--w80{width:80%}
.zs .sk--chip{width:90px;height:22px}
.zs .spinner{border-radius:var(--radius-pill);border:2px solid var(--border);border-top-color:var(--accent);flex:none;width:14px;height:14px;animation:.9s linear infinite spin}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.zs .spinner{animation:none}}
.zs .sk--num{height:20px}
.zs .sk--big{height:28px}
.zs .sk--pill{border-radius:var(--radius-pill);height:20px}
.zs .sk--block{width:100%;height:72px}
.zs .sk-stack{gap:var(--space-2);flex-direction:column;display:flex}
.zs .sk-page{gap:var(--space-3);flex-direction:column;animation:.12s ease-out fade-in;display:flex}
.zs .sk-page .dash-num{gap:var(--space-3)}
.zs .sk-page .dash-bars{flex:1;align-self:stretch;align-items:flex-end}
.zs .sk-page .sub{justify-content:space-between;gap:var(--space-2);display:flex}
.zs .sk-page .dash-panel-head{min-height:28px}
.zs .sk-sheet{aspect-ratio:210/297;width:min(100%,640px);padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}
.zs .sk-sheet-top{align-items:center;gap:var(--space-4);padding-bottom:var(--space-3);display:flex}
.zs .sk-sheet-cols{gap:var(--space-5);padding-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}
.zs .sk-line{gap:var(--space-4);display:flex}
.zs .sk-sheet-totals{align-items:flex-end;gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}
.zs .sk-facts{gap:var(--space-3);padding:var(--space-4)}
.zs .sk-fld{align-items:center;gap:var(--space-3);grid-template-columns:110px 1fr;display:grid}
.zs .sk-gap{height:var(--space-3)}
.zs .sk-row td{height:45px}
.zs .sk-doc{gap:var(--space-3)}
.zs .sk-row .num .sk{margin-left:auto}
.zs .sk-list{flex-direction:column;animation:.12s ease-out fade-in;display:flex}
.zs .sk-list-row{align-items:center;gap:var(--space-4);height:52px;padding:0 var(--space-4);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .sk-tree{padding:var(--space-4) var(--space-3);flex-direction:column;gap:1px;animation:.12s ease-out fade-in;display:flex}
.zs .sk-tree-row{height:30px;padding:0 var(--space-2);align-items:center;display:flex}
.zs .sk-tree-row.is-sub{margin-left:var(--space-5)}
.zs .sk-avatar{background:var(--rail-active)}
.zs .loadbar{left:var(--space-6);right:var(--space-6);border-radius:var(--radius-pill);opacity:0;pointer-events:none;height:2px;transition:opacity .2s;position:absolute;bottom:0;overflow:hidden}
.zs .loadbar.is-on{opacity:1;background:var(--accent-soft)}
.zs .loadbar-run{border-radius:var(--radius-pill);background:var(--accent);width:34%;animation:1.1s cubic-bezier(.22,.8,.25,1) infinite loadbar-run;position:absolute;top:0;bottom:0}
@keyframes loadbar-run{0%{left:-34%}to{left:100%}}
.zs .is-revealed{animation:.12s ease-out fade-in}
@keyframes fade-in{0%{opacity:0}}
.zs .page-body.is-stale>*{opacity:.5;transition:opacity .12s}
@media (prefers-reduced-motion:reduce){.zs .loadbar-run{animation:none;left:18%}
.zs .sk-page,.zs .sk-list,.zs .sk-tree,.zs .is-revealed{animation:none}}
.zs .dialog--wide{width:920px}
.zs .umenu-anchor{position:relative}
.zs .rail-avatar.is-open{box-shadow:0 0 0 2px var(--rail), 0 0 0 4px var(--rail-active-text)}
.zs .umenu{z-index:60;width:280px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);color:var(--text);font-size:var(--text-sm);flex-direction:column;display:flex;position:absolute;bottom:0;left:calc(100% + 16px)}
.zs .umenu-head{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .umenu-item{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text);text-align:left;background:0 0;border:0;font-weight:500;display:flex}
.zs .umenu-item:hover,.zs .umenu-item:focus-visible{background:var(--surface-2)}
.zs .umenu-item svg{width:16px;height:16px;color:var(--text-muted)}
.zs .signin{background:var(--bg);min-height:100vh;padding:var(--space-5);place-items:center;display:grid}
.zs .signin-card{gap:var(--space-4);width:400px;max-width:100%;padding:var(--space-6);flex-direction:column;display:flex}
.zs .signin-brand{align-items:center;gap:var(--space-3);display:flex}
.zs .signin-brand .tile{border-radius:var(--radius-lg);background:var(--rail);place-items:center;width:44px;height:44px;display:grid}
.zs .signin-brand svg{width:36px;height:36px}
.zs .signin-brand .frame{stroke:var(--signal)}
.zs .signin-brand .letters{fill:var(--rail-active-text);letter-spacing:.04em;font-size:11px;font-weight:800}
.zs .field{font-size:var(--text-sm);flex-direction:column;gap:6px;display:flex}
.zs .field input{height:40px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);outline:0}
.zs .field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.zs .fault{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm)}
.zs .docs-page .drop{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);transition:background .12s,border-color .12s;display:flex}
.zs .docs-page .drop.is-over{border-color:var(--accent);background:var(--accent-soft)}
.zs .docs-page .drop-icon{width:24px;height:24px;color:var(--accent)}
.zs .docs-page .logos{gap:4px;display:inline-flex}
.zs .docs-page .rejected{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--text-2);font-size:var(--text-sm);display:flex}
.zs .docs-page .rejected svg{width:16px;height:16px;color:var(--danger)}
.zs .docs-page .rejected strong{color:var(--danger)}
.zs .docs-page .uploading{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}
.zs .docs-page .docs{gap:var(--space-4);flex:1;grid-template-columns:272px 1fr;min-height:520px;display:grid}
.zs .tree{min-height:0;font-size:var(--text-sm);flex-direction:column;display:flex}
.zs .tree-find{margin:var(--space-3)}
.zs .tree-scroll{min-height:0;padding:0 var(--space-2) var(--space-3);flex-direction:column;flex:1;gap:1px;display:flex}
.zs .tree-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-1);display:flex}
.zs .tree-row{align-items:center;gap:var(--space-2);width:100%;min-height:30px;padding:0 var(--space-2);border-radius:var(--radius-md);text-align:left;font-size:var(--text-sm);background:0 0;border:0;display:flex}
.zs .tree-row:hover{background:var(--bg)}
.zs .tree-row .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}
.zs .tree-row.is-active{background:var(--surface-selected);color:var(--accent)}
.zs .tree-cat{color:var(--text);font-weight:600}
.zs .tree-sup{font-weight:500}
.zs .tree-ent{color:var(--text-muted)}
.zs .tree-branch{padding-left:var(--space-2);border-left:1px solid var(--border);flex-direction:column;gap:1px;margin-left:15px;display:flex}
.zs .tree-more{padding:4px var(--space-2);font-size:var(--text-xs);color:var(--link);background:0 0;border:0;align-self:flex-start;font-weight:500}
.zs .caret{width:14px;height:14px;color:var(--text-muted);flex:none;place-items:center;transition:transform .12s;display:grid}
.zs .caret svg{width:14px;height:14px}
.zs .caret.is-open{transform:rotate(90deg)}
.zs .count--warning{color:var(--warning);font-weight:600}
.zs .doc-list{flex-direction:column;min-height:0;display:flex;overflow:hidden}
.zs .doc-list .list-tools{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);display:flex}
.zs .doc-list .list-tools .search{flex:0 560px}
.zs .filters{align-items:center;gap:var(--space-2);padding:0 var(--space-3) var(--space-3);border-bottom:1px solid var(--border-hairline);font-size:var(--text-sm);flex-wrap:wrap;display:flex;position:relative}
.zs .filters>svg{width:16px;height:16px;color:var(--text-muted)}
.zs .chip{height:28px;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:var(--text-sm);border:0;align-items:center;gap:6px;display:inline-flex}
.zs .chip-label{color:var(--text-muted);font-weight:400}
.zs .chip svg{width:14px;height:14px}
.zs .add-filter{height:28px;padding:0 var(--space-3);border:1px dashed var(--border);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-sm);background:0 0;align-items:center;display:inline-flex}
.zs .add-filter:hover,.zs .add-filter.is-open{border-color:var(--accent);color:var(--accent)}
.zs .menu{z-index:30;min-width:200px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:absolute;top:calc(100% - 4px)}
.zs .menu button{justify-content:space-between;gap:var(--space-3);padding:6px var(--space-3);border-radius:var(--radius-md);text-align:left;font-size:var(--text-sm);background:0 0;border:0;display:flex}
.zs .menu button:hover{background:var(--bg)}
.zs .result{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);display:flex}
.zs .crumbs{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}
.zs .crumbs svg{width:14px;height:14px}
.zs .crumbs strong{color:var(--text)}
.zs .list-foot{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-hairline);align-items:center;margin-top:auto;display:flex}
.zs .doc-table td{padding-top:7px;padding-bottom:7px}
.zs .doc-table .grp td{padding:var(--space-3) var(--space-3) var(--space-1);background:var(--surface);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);cursor:default;border-bottom:0;font-size:11px;font-weight:600}
.zs .doc-table .grp .count{margin-left:var(--space-2)}
.zs .doc{align-items:center;gap:var(--space-2);min-width:0;display:flex}
.zs .doc .cell-main{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}
.zs .doc .cell-main.is-file{color:var(--text-2);font-style:italic;font-weight:400}
.zs .lvl-1 .doc{padding-left:4px}
.zs .lvl-2 .doc{padding-left:28px}
.zs .lvl-3 .doc{padding-left:52px}
.zs .lvl-0 .doc .cell-main{font-weight:600}
.zs .elbow{border-left:1.5px solid var(--border-strong);border-bottom:1.5px solid var(--border-strong);border-bottom-left-radius:4px;flex:none;width:14px;height:14px;margin-top:-8px}
.zs .dtype{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);flex:none;padding:1px 6px;font-size:11px;font-weight:600}
.zs .dtype--contract{background:var(--primary);color:var(--primary-text)}
.zs .dtype--rental_agreement{background:var(--accent-soft);color:var(--accent)}
.zs .dtype--copy{color:var(--text-muted)}
.zs .src-icons{align-items:center;gap:6px;display:inline-flex}
.zs .src-icons .pop-anchor>:first-child{border-radius:var(--radius-md)}
.zs .fmt{border-radius:var(--radius-md);width:30px;height:22px;font-family:var(--font-mono);background:var(--surface-2);color:var(--text-2);place-items:center;font-size:9px;font-weight:700;display:grid}
.zs .fmt--pdf{background:var(--danger-soft);color:var(--danger)}
.zs .fmt--docx{background:var(--accent-soft);color:var(--accent)}
.zs .fmt--image{background:var(--warning-soft);color:var(--warning)}
.zs .pop-link{color:var(--link);align-items:center;gap:2px;font-weight:600;display:inline-flex}
.zs .pop-link svg{width:12px;height:12px}
.zs .checks{align-items:center;gap:var(--space-1);display:inline-flex}
.zs .more{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}
.zs .review{gap:var(--space-4);flex:1;grid-template-columns:minmax(0,1fr) 480px;min-height:0;display:grid}
.zs .viewer{flex-direction:column;min-height:0;display:flex;overflow:hidden}
.zs .viewer-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .pager{align-items:center;gap:2px;display:inline-flex}
.zs .pager .mono{padding:0 var(--space-2)}
.zs .pager b{color:var(--text)}
.zs .viewer-main{flex:1;min-height:0;display:flex}
.zs .thumbs{align-items:center;gap:var(--space-3);width:96px;padding:var(--space-4) 0;border-right:1px solid var(--border-hairline);background:var(--surface);flex-direction:column;flex:none;display:flex;overflow:auto}
.zs .thumb{background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}
.zs .thumb img{border:1px solid var(--border);background:var(--surface);border-radius:2px;width:58px;display:block}
.zs .thumb.is-active img{border:2px solid var(--accent)}
.zs .thumb.is-active .mono{color:var(--accent);font-weight:600}
.zs .viewer-canvas{background:var(--surface-sunken);min-height:0;padding:var(--space-5);align-items:center;gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}
.zs .sheet{background:var(--surface);box-shadow:var(--shadow-overlay);flex:none;position:relative}
.zs .sheet img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}
.zs .mark{pointer-events:none;border-radius:3px;position:absolute}
.zs .mark--issue{box-shadow:inset 0 0 0 1.5px var(--danger);background:#e2363f24}
.zs .mark--warn{box-shadow:inset 0 0 0 1.5px var(--warning);background:#ff880029}
.zs .mark--ok{box-shadow:inset 0 -2px 0 var(--success);background:#37956624}
.zs .mark--focus{box-shadow:inset 0 0 0 2px var(--accent);background:#3f4ac624}
.zs .mark .pin{position:absolute;top:-9px;right:-9px}
.zs .pin{border-radius:var(--radius-pill);background:var(--success);min-width:18px;height:18px;color:var(--on-logo);font-family:var(--font-mono);place-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:inline-grid}
.zs .pin--bad{background:var(--danger)}
.zs .no-pages{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-6)}
.zs .facts{flex-direction:column;min-height:0;display:flex;overflow:hidden}
.zs .facts-scroll{min-height:0;padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow:auto}
.zs .sum{padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-lg);background:var(--bg);border:1px solid var(--border-hairline);flex-direction:column;gap:6px;display:flex}
.zs .sum-head{align-items:center;gap:var(--space-2);display:flex}
.zs .sum-head strong{color:var(--danger);font-size:var(--text-sm)}
.zs .sum-row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);text-align:left;background:0 0;border:0;padding:2px 0;font-weight:500;display:flex}
.zs .sum-row .grow{flex:1}
.zs .sum-row:hover .grow{text-decoration:underline}
.zs .cls{margin-bottom:var(--space-3);flex-direction:column;gap:6px;display:flex}
.zs .cls-row{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}
.zs .cls-label{width:96px;color:var(--text-muted);font-size:var(--text-xs);flex:none}
.zs .cls-why{font-size:var(--text-xs);color:var(--text-muted);padding-left:104px}
.zs .flds{margin-bottom:var(--space-3);flex-direction:column;display:flex}
.zs .fld{align-items:center;gap:var(--space-2);border:0;border-bottom:1px solid var(--border-hairline);text-align:left;font-size:var(--text-sm);background:0 0;grid-template-columns:150px 1fr auto;width:100%;padding:5px 4px;display:grid}
.zs .fld:hover{background:var(--bg)}
.zs .fld.is-focus{background:var(--surface-selected)}
.zs .fld-label{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;overflow:hidden}
.zs .fld-value{overflow-wrap:anywhere;font-weight:500}
.zs .fld .nobox{color:var(--text-faint);font-size:10px}
.zs .fld-wrap.has-issue{padding:0 var(--space-2) var(--space-2);border-left:3px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);margin:2px 0}
.zs .fld-wrap.is-high{border-left-color:var(--danger);background:var(--danger-soft)}
.zs .fld-wrap.has-issue .fld{background:0 0;border-bottom:0}
.zs .iss{align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-2);padding-top:2px;line-height:1.45;display:flex}
.zs .iss .grow{flex:1}
.zs .iss .btn--link{font-size:var(--text-xs);white-space:nowrap}
.zs .passed{margin-top:var(--space-2);flex-direction:column;gap:4px;display:flex}
.zs .passed-row{align-items:center;gap:var(--space-2);color:var(--success);font-size:var(--text-xs);font-weight:500;display:flex}
.zs .passed-row svg{flex:none;width:14px;height:14px}
.zs .failed-row{color:var(--warning)}
.zs .facts-foot{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);background:var(--bg);align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}
.zs .processing{align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-muted);flex-direction:column;display:flex}
.zs .inv{gap:var(--space-4);flex:1;grid-template-columns:minmax(0,1fr) 340px minmax(0,1fr);min-height:0;display:grid}
.zs .pane,.zs .links{flex-direction:column;min-height:0;display:flex;overflow:hidden}
.zs .pane-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-hairline);font-size:var(--text-sm);display:flex}
.zs .pane-bar>div{min-width:0}
.zs .pane-bar strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}
.zs .pane .viewer-canvas{padding:var(--space-4)}
.zs .links-head{gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-hairline);flex-direction:column;display:flex}
.zs .links-sum{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);font-size:var(--text-sm);display:flex}
.zs .links-list{gap:var(--space-2);min-height:0;padding:0 var(--space-3) var(--space-3);flex-direction:column;flex:1;display:flex;overflow:auto}
.zs .lk{padding:var(--space-2) var(--space-3);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);font-size:var(--text-sm);background:var(--surface);text-align:left;flex-direction:column;gap:4px;width:100%;display:flex}
.zs .lk.is-bad{border-color:var(--danger);background:var(--danger-soft)}
.zs .lk.is-focus{box-shadow:0 0 0 2px var(--accent)}
.zs .lk-head{align-items:center;gap:var(--space-2);display:flex}
.zs .lk-head .grow{flex:1;min-width:0}
.zs .lk-vals{align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-left:26px;display:flex}
.zs .lk-vals .mono{color:var(--text);white-space:nowrap}
.zs .lk-note{font-size:var(--text-xs);color:var(--text-2);padding-left:26px}
.zs .ne{color:var(--danger);font-weight:700}
.zs .links-foot{align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-hairline);background:var(--bg);display:flex}
.zs .dup-title{font-size:var(--text-lg);flex-direction:column;gap:4px;min-width:0;display:flex}
.zs .files{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}
.zs .file{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--text-sm);flex-direction:column;gap:6px;display:flex}
.zs .file.is-filed{background:var(--bg)}
.zs .file .src{align-items:center;gap:var(--space-2);display:inline-flex}
.zs .cmp{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
.zs .cmp th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:500}
.zs .cmp td{padding:8px var(--space-2);border-bottom:1px solid var(--border-hairline)}
.zs .cmp td:first-child{color:var(--text-muted)}
.zs .cmp tr.is-diff td{background:var(--bg)}
.zs .note{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--text-2);font-size:var(--text-sm);display:flex}
.zs .icon-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;place-items:center;display:grid}
.zs .icon-close:hover{background:var(--surface-2)}
.zs .icon-close svg{width:20px;height:20px}
.zs .kpis{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}
.zs .kpi{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}
.zs .kpi-value{font-size:var(--text-2xl);font-weight:600;font-family:var(--font-mono);letter-spacing:-.02em}
.zs .kpi--danger{color:var(--danger)}
.zs .kpi--success{color:var(--success)}
.zs .sig-list{flex-direction:column;flex:1;min-height:360px;display:flex;overflow:hidden}
.zs .sig-list .list-tools{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-hairline);flex-wrap:wrap;display:flex}
.zs .sig-cell{align-items:flex-start;gap:var(--space-3);display:flex}
.zs .sig-cell .sev-dot{margin-top:6px}
.zs .table tr.is-row.is-new td{background:var(--success-soft)}
.zs .table tr.is-row.is-inactive td{color:var(--text-muted)}
.zs .table tr.is-row.is-inactive td>*{opacity:.55}
.zs .case-table .grp td{padding:var(--space-3) var(--space-3) var(--space-1);background:var(--surface);border-bottom:0}
.zs .grp-toggle{align-items:center;gap:var(--space-2);font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600;display:inline-flex}
.zs .case-table .elbow{margin-top:-4px;margin-left:4px}
.zs .section-title{align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-3);display:flex}
.zs .int{gap:var(--space-4);flex:1;grid-template-columns:232px 1fr;min-height:0;display:grid}
.zs .cats{min-height:0;font-size:var(--text-sm);flex-direction:column;display:flex;overflow:hidden}
.zs .cats-scroll{min-height:0;padding:var(--space-2);flex-direction:column;flex:1;gap:1px;display:flex}
.zs .cats-head{padding:var(--space-3) var(--space-2) var(--space-1)}
.zs .cat-row{align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-2);border-radius:var(--radius-md);text-align:left;font-size:var(--text-sm);color:var(--text);background:0 0;border:0;flex:none;display:flex}
.zs .cat-row:hover{background:var(--bg)}
.zs .cat-row.is-active{background:var(--surface-selected);color:var(--accent);font-weight:600}
.zs .cat-row .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}
.zs .cats-more{padding:4px var(--space-2);text-align:left;font-size:var(--text-xs);color:var(--link);background:0 0;border:0;font-weight:500}
.zs .int-list{min-height:0;padding-right:var(--space-1);overflow:auto}
.zs .pgrid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}
.zs .pgrid--eco{margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.zs .pcard{gap:var(--space-3);min-width:0;padding:var(--space-4);text-align:left;color:var(--text);font:inherit;flex-direction:column;display:flex}
.zs button.pcard:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.zs .pcard.is-connected{border-color:var(--success)}
.zs .pcard-head{align-items:center;gap:var(--space-3);display:flex}
.zs .pcard-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}
.zs .pcard-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);overflow:hidden}
.zs .pcard-desc{-webkit-line-clamp:2;font-size:var(--text-sm);color:var(--text-2);-webkit-box-orient:vertical;flex:none;line-height:1.45;display:-webkit-box;overflow:hidden}
.zs .pcard-sigs{gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}
.zs .chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}
.zs .pcard-sigs .chips{flex-wrap:nowrap;overflow:hidden}
.zs .pcard-sigs .badge{flex:none}
.zs .pcard-foot{font-size:var(--text-xs);margin-top:auto}
.zs .pcard.is-loading{gap:var(--space-2);min-height:180px}
.zs .svc-chip{height:28px;padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-xs);align-items:center;gap:6px;font-weight:500;display:inline-flex}
.zs .svc-chip:has(.plogo){padding-left:3px}
.zs .loading-more{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);display:flex}
.zs .sig-scroll{flex:1;min-height:0;overflow:auto}
.zs .cat-signals td{vertical-align:top}
.zs .cat-signals td .eyebrow{color:var(--accent);margin-bottom:4px}
.zs .sig-key{font-family:var(--font-mono);color:var(--text-faint);margin-top:2px;font-size:11px}
.zs .logos{align-items:center;gap:4px;display:inline-flex}
.zs .pd-top{align-items:flex-start;gap:var(--space-4);display:flex}
.zs .pd-desc{font-size:var(--text-md);color:var(--text-2);flex:1;line-height:1.5}
.zs .pd-links{gap:var(--space-4);margin-top:calc(-1 * var(--space-2));display:flex}
.zs .pd-links a{color:var(--link)}
.zs .pd-table{margin-top:var(--space-2)}
.zs .pd-table td{padding-top:7px;padding-bottom:7px}
.zs .pd-table th,.zs .nowrap{white-space:nowrap}
.zs .pd-more{margin-top:var(--space-2)}
.zs .svc-list{margin-top:var(--space-2);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex}
.zs .svc{align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border-hairline);font-size:var(--text-sm);grid-template-columns:140px 1fr auto;display:grid}
.zs .svc:last-child{border-bottom:0}
.zs .svc-name{align-items:center;gap:var(--space-2);display:inline-flex}
.zs .scopes{gap:6px var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}
.zs .ptabs{gap:var(--space-4);padding:0 var(--space-4);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .ptab{height:40px;font-size:var(--text-sm);color:var(--text-muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;font-weight:500;display:inline-flex}
.zs .ptab.is-active{border-bottom-color:var(--accent);color:var(--text);font-weight:600}
.zs .btn--link.is-quiet{color:var(--text-muted)}
.zs .iss .btn--link+.btn--link{margin-left:var(--space-2)}
.zs .iss--cleared{color:var(--text-muted);align-items:flex-start}
.zs .iss--cleared svg{width:14px;height:14px;color:var(--success);flex:none;margin-top:2px}
.zs .iss--cleared .grow{flex-direction:column;gap:2px;display:flex}
.zs .cleared-by{color:var(--success);font-size:var(--text-xs);font-weight:600}
.zs .fld-wrap.is-cleared{border-left-color:var(--success);background:var(--success-soft)}
.zs .sum-row.is-cleared{color:var(--text-muted);font-weight:400}
.zs .sum-row.is-cleared svg{width:14px;height:14px;color:var(--success);flex:none}
.zs .reason{gap:var(--space-2);margin:var(--space-2) 0 var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}
.zs .reason-head{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}
.zs .reason-foot{align-items:center;gap:var(--space-2);display:flex}
.zs .reason-foot .muted{font-size:var(--text-xs)}
.zs .textarea{width:100%;min-height:64px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font:inherit;font-size:var(--text-sm);color:var(--text);resize:vertical;line-height:1.5}
.zs .textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.zs .textarea--tall{min-height:104px;margin-top:var(--space-2)}
.zs .hist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}
.zs .hist-row{align-items:flex-start;gap:var(--space-3);padding:0 0 var(--space-3);font-size:var(--text-xs);color:var(--text-2);line-height:1.45;display:flex;position:relative}
.zs .hist-row:before{content:"";background:var(--border);width:1px;position:absolute;top:12px;bottom:0;left:3px}
.zs .hist-row:last-child:before{display:none}
.zs .hist-row strong{color:var(--text);font-weight:600}
.zs .hist-row .grow{flex:1;min-width:0}
.zs .hist-row .mono{white-space:nowrap}
.zs .hist-dot{border-radius:var(--radius-pill);background:var(--border-strong);flex:none;width:7px;height:7px;margin-top:5px}
.zs .hist-row--blocked .hist-dot{background:var(--danger)}
.zs .hist-row--accepted .hist-dot,.zs .hist-row--cleared .hist-dot{background:var(--success)}
.zs .hist-row--returned .hist-dot,.zs .hist-row--email_written .hist-dot{background:var(--accent)}
.zs .hist-note{padding:4px var(--space-2);border-left:2px solid var(--border);color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px;font-style:italic;display:block}
.zs .hist-note.is-folded{max-height:5.8em;overflow:hidden}
.zs .hist-note .btn--link{font-style:normal;font-size:var(--text-xs);margin-top:4px;display:block}
.zs .act{display:inline-flex;position:relative}
.zs .btn.is-open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.zs .dropmenu{z-index:40;width:300px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0}
.zs .dropmenu-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-align:left;font-size:var(--text-sm);color:var(--text);background:0 0;border:0;flex-direction:column;gap:2px;display:flex}
.zs .dropmenu-item:hover,.zs .dropmenu-item:focus-visible{background:var(--surface-2)}
.zs .dropmenu-item .muted{font-size:var(--text-xs)}
.zs .ret-row{align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);display:flex}
.zs .ret-field{display:block}
.zs .ret-issues{margin-top:var(--space-2);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex}
.zs .ret-iss{align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border-hairline);font-size:var(--text-sm);cursor:pointer;display:flex}
.zs .ret-iss:last-child{border-bottom:0}
.zs .ret-iss .grow{flex-direction:column;flex:1;gap:2px;display:flex}
.zs .ret-iss:not(.is-on){color:var(--text-muted)}
.zs .ret-iss input{width:16px;height:16px;accent-color:var(--accent)}
.zs .note svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}
.zs .lk-pick{text-align:left;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}
.zs .lk-act{font-size:var(--text-xs);padding-left:24px}
.zs .lk .reason{margin-top:var(--space-2)}
.zs .spacer-row td{border:0;padding:0}
.zs .toolbar{align-items:center;gap:var(--space-3);flex:none;display:flex}
.zs .toolbar .search{flex:0 420px}
.zs .toolbar .spacer{flex:1}
.zs .ck-layout{gap:var(--space-4);flex:1;grid-template-columns:248px minmax(0,1fr) auto;min-height:0;display:grid}
.zs .ck-list{padding:var(--space-3);min-height:0;font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex;overflow:auto}
.zs .ck-list .seg-item{height:26px;font-size:var(--text-xs)}
.zs .ck-list-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-1);display:flex}
.zs .ck-item{align-items:center;gap:var(--space-2);min-height:32px;padding:4px var(--space-2);border-radius:var(--radius-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}
.zs .ck-item:hover{background:var(--surface-2)}
.zs .ck-item.is-active{background:var(--surface-selected);color:var(--accent);font-weight:600}
.zs .ck-item.is-builtin{color:var(--text-muted);cursor:default}
.zs .ck-item.is-builtin:hover{background:0 0}
.zs .ck-item .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.zs .ck-dot{border-radius:var(--radius-pill);background:var(--border-strong);flex:none;width:6px;height:6px}
.zs .ck-dot.is-live{background:var(--success)}
.zs .ck-marks{gap:2px;display:inline-flex}
.zs .ck-tb{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}
.zs .ck-tb:hover{background:var(--surface-2)}
.zs .ck-tb svg{width:15px;height:15px}
.zs .ck-canvas{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}
.zs .ck-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .ck-name{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.zs .ck-error-inline{color:var(--danger);font-size:var(--text-xs)}
.zs .ck-view{touch-action:none;cursor:grab;background-color:var(--bg);background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:18px 18px;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}
.zs .ck-view:active{cursor:grabbing}
.zs .ck-wires{pointer-events:none;position:absolute;inset:0;overflow:visible}
.zs .ck-wires marker path{fill:var(--border-strong);stroke:none}
.zs .ck-wires path{fill:none;stroke:var(--border-strong);stroke-width:1.5px;stroke-dasharray:4 3}
.zs .ck-label{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;padding:1px 8px;font-size:11px;position:absolute;transform:translate(-50%,-50%)}
.zs .ck-add{pointer-events:all;border-radius:var(--radius-pill);background:var(--surface);border:1px dashed var(--border-strong);width:28px;height:28px;color:var(--text-muted);cursor:pointer;place-items:center;padding:0;display:grid;position:absolute}
.zs .ck-add:hover{border-color:var(--accent);color:var(--accent)}
.zs .ck-add svg{width:14px;height:14px}
.zs .ck-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;height:100%;box-shadow:var(--shadow);font:inherit;font-size:var(--text-xs);text-align:left;color:var(--text);cursor:pointer;flex-direction:column;justify-content:flex-start;gap:6px;padding:12px 14px;display:flex;position:relative;overflow:hidden}
.zs .ck-card>*{flex:none}
.zs .ck-card:hover{border-color:var(--border-strong)}
.zs .ck-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.zs .ck-card.is-off{border-style:dashed}
.zs .ck-card--signal{border-color:var(--warning)}
.zs .ck-card--approve{border-color:var(--success);cursor:default}
.zs .ck-cog{color:var(--text-faint);position:absolute;top:10px;right:10px}
.zs .ck-cog svg{width:13px;height:13px}
.zs .ck-head{align-items:center;gap:var(--space-2);padding-right:18px;display:flex}
.zs .ck-titles{flex-direction:column;min-width:0;display:flex}
.zs .ck-titles strong{font-size:var(--text-sm)}
.zs .ck-titles small{color:var(--text-muted);font-size:11px}
.zs .ck-ic{border-radius:var(--radius-md);background:var(--signal-soft);width:26px;height:26px;color:var(--signal);flex:none;place-items:center;display:grid}
.zs .ck-ic svg{width:14px;height:14px}
.zs .ck-zmark{background:var(--rail);border-color:var(--rail);padding:2px}
.zs .ck-zmark svg{width:100%;height:100%}
.zs .ck-zmark .frame{stroke:var(--signal)}
.zs .ck-zmark .letters{fill:var(--rail-active-text);font-size:11px;font-weight:800}
.zs .ck-regmark{color:var(--text-2);background:var(--surface-2)}
.zs .ck-regmark svg{width:100%;height:100%}
.zs .ck-sig{border-top:1px solid var(--border-hairline);flex-direction:column;gap:2px;padding-top:6px;display:flex}
.zs .ck-sig code,.zs .ck-out code,.zs .ck-pick code{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}
.zs .ck-logic{border-radius:var(--radius-md);background:var(--primary);min-width:36px;height:26px;color:var(--primary-text);font-family:var(--font-mono);place-items:center;padding:0 4px;font-size:11px;font-weight:600;display:inline-grid}
.zs .ck-rules{font-family:var(--font-mono);color:var(--text-2);flex-direction:column;gap:4px;font-size:11px;display:flex}
.zs .ck-out{color:var(--text-2);flex-direction:column;gap:2px;line-height:1.45;display:flex}
.zs .ck-thr{font-size:var(--text-md);margin-left:auto;padding-right:8px;font-weight:600}
.zs .ck-crit{color:var(--text-2);line-height:1.45}
.zs .ck-track{border-radius:var(--radius-pill);background:var(--surface-2);height:6px;position:relative}
.zs .ck-track span{border-radius:var(--radius-pill);background:var(--accent-soft);position:absolute;top:0;bottom:0;left:0}
.zs .ck-track i{background:var(--accent);width:2px;height:12px;position:absolute;top:-3px}
.zs .ck-term{align-items:center;gap:var(--space-2);height:100%;display:flex}
.zs .ck-term svg{flex:none;width:18px;height:18px}
.zs .ck-card--signal .ck-term svg{color:var(--warning)}
.zs .ck-card--approve .ck-term svg{color:var(--success)}
.zs .ck-tools{left:50%;bottom:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);align-items:center;gap:2px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}
.zs .ck-side{flex-direction:column;width:360px;min-height:0;display:flex;overflow:hidden}
.zs .ck-side-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline);align-items:center;display:flex}
.zs .ck-side-head strong{font-size:var(--text-md)}
.zs .ck-side-body{gap:var(--space-3);min-height:0;padding:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}
.zs .ck-add-btn{align-self:flex-start}
.zs .ck-add-btn.is-quiet{color:var(--text-muted);border-color:#0000}
.zs .ck-field{flex-direction:column;gap:4px;display:flex}
.zs .ck-field-label{font-size:var(--text-xs);color:var(--text-2);font-weight:600}
.zs .ck-input{width:100%;min-height:36px;padding:6px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm)}
.zs .ck-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}
.zs .ck-input:disabled{background:var(--surface-2);color:var(--text-2)}
.zs .ck-input.is-invalid{border-color:var(--danger)}
.zs .ck-textarea{resize:vertical;min-height:96px;line-height:1.5}
.zs .ck-srow{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-hairline);flex-direction:column;display:flex}
.zs .ck-srow-head{align-items:center;gap:var(--space-2);display:flex}
.zs .ck-srow-head .grow{flex-direction:column;min-width:0;display:flex}
.zs .ck-sedit{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--bg);flex-direction:column;display:flex}
.zs .ck-cond{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;padding-right:36px;display:flex;position:relative}
.zs .ck-cond-x{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}
.zs .ck-cond-x svg{width:14px;height:14px}
.zs .ck-pick{flex-direction:column;max-height:520px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}
.zs .ck-pick button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--border-hairline);font:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}
.zs .ck-pick button:hover{background:var(--surface-selected)}
.zs .ck-pick .grow{flex-direction:column;display:flex}
.zs .ck-pick-who{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;display:inline-flex}
.zs .ck-test-pick{align-items:center;gap:var(--space-3);display:flex}
.zs .ck-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm)}
.zs .ck-test{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 320px;display:grid}
.zs .ck-steps{flex-direction:column;display:flex}
.zs .ck-step{gap:var(--space-3);padding-bottom:var(--space-3);display:flex;position:relative}
.zs .ck-step:before{content:"";background:var(--border);width:1px;position:absolute;top:24px;bottom:0;left:11px}
.zs .ck-step:last-child:before{display:none}
.zs .ck-step-dot{border-radius:var(--radius-pill);background:var(--success-soft);width:24px;height:24px;color:var(--success);flex:none;place-items:center;display:grid}
.zs .ck-step.is-ok:not(:first-child) .ck-step-dot{background:var(--warning-soft);color:var(--warning)}
.zs .ck-step-dot svg{width:14px;height:14px}
.zs .ck-step-title{font-weight:600;font-size:var(--text-sm);margin-bottom:4px}
.zs .ck-kv{flex-direction:column;gap:2px;display:flex}
.zs .ck-kv-row{gap:var(--space-3);grid-template-columns:minmax(0,220px) minmax(0,1fr);display:grid}
.zs .ck-kv-row .cell-sub{font-family:var(--font-mono);overflow-wrap:anywhere}
.zs .ck-kv-row .mono{color:var(--text);white-space:pre-wrap;word-break:break-word}
.zs .ck-result{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bg);flex-direction:column;align-self:start;display:flex}
.zs .ck-result-head{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--success-soft);display:flex}
.zs .ck-result--signal .ck-result-head{background:var(--warning-soft)}
.zs .ck-result--unavailable .ck-result-head{background:var(--surface-2)}
.zs .ck-result-head svg{width:18px;height:18px}
.zs .ck-issue{padding:var(--space-3);border-left:3px solid var(--warning);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);flex-direction:column;gap:4px;display:flex}
.zs .ck-signals{table-layout:fixed}
.zs .ck-signals td{vertical-align:top}
.zs .ck-signals th:first-child{width:38%}
.zs .ck-group-row td{background:var(--bg);padding-top:var(--space-3)}
.zs .ck-ins{flex-wrap:wrap;gap:4px;display:flex}
.zs .ck-in{height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:var(--text-xs);color:var(--text-2);white-space:nowrap;align-items:center;display:inline-flex}
.zs .ck-used{font-size:var(--text-xs);flex-direction:column;align-items:flex-start;gap:4px;display:flex}
.zs .warn-line{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--warning-soft);color:var(--text-2);font-size:var(--text-sm);display:flex}
.zs .warn-line svg{width:16px;height:16px;color:var(--warning);flex:none}
.zs .cs-title{align-items:baseline;gap:var(--space-2);display:inline-flex}
.zs .cs-crumb{font:inherit;font-size:var(--text-xl);color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:400;display:inline-flex}
.zs .cs-crumb:hover{color:var(--link)}
.zs .cs-crumb svg{width:18px;height:18px}
.zs .cs{gap:var(--space-4);flex:1;grid-template-columns:minmax(0,1fr) 400px;min-height:0;display:grid}
.zs .cs-main{flex-direction:column;min-height:0;display:flex;overflow:hidden}
.zs .cs-bar{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline);display:flex}
.zs .cs-scroll{min-height:0;padding:var(--space-3) var(--space-4);flex:1;overflow:auto}
.zs .cs-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:inline-flex}
.zs .cs-lg{align-items:center;gap:6px;display:inline-flex}
.zs .cs-lg-bar{background:var(--border-strong);border-radius:2px;width:18px;height:8px}
.zs .cs-lg-self{background:var(--warning);border-radius:2px;width:18px;height:8px}
.zs .cs-lg-band{background:var(--success-soft);border-left:2px solid var(--success);width:18px;height:10px}
.zs .cs-lg-window{background:var(--accent-soft);border:1px solid var(--accent);width:18px;height:10px}
.zs .cs-lg-roll{background:var(--accent);width:8px;height:8px;transform:rotate(45deg)}
.zs .cs-tl{min-width:760px;position:relative}
.zs .cs-axis{background:var(--border);width:2px;position:absolute;top:10px;left:113px}
.zs .cs-month{color:var(--text-faint);position:absolute;left:0}
.zs .cs-band{background:var(--success-soft);position:absolute;top:10px}
.zs .cs-median{background:var(--success);width:2px;position:absolute;top:10px}
.zs .cs-band-label{color:var(--success);white-space:nowrap;font-size:11px;position:absolute;top:0}
.zs .cs-row{height:22px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex;position:absolute;left:0;right:0}
.zs .cs-row:disabled{cursor:default}
.zs .cs-row:hover:not(:disabled) .cs-num{color:var(--link)}
.zs .cs-date{text-align:right;flex:none;width:104px;padding-right:8px}
.zs .cs-dot{z-index:1;border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--border-strong);flex:none;width:12px;height:12px;margin-left:4px;margin-right:34px;position:relative}
.zs .cs-amount{background:var(--border-strong);opacity:.55;border-radius:3px;flex:none;height:12px}
.zs .cs-amt{color:var(--text);position:absolute}
.zs .cs-num{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;position:absolute}
.zs .cs-note{color:var(--warning);margin-left:6px;font-weight:600}
.zs .cs-row.is-self .cs-dot{border-color:var(--warning);background:var(--warning)}
.zs .cs-row.is-self .cs-amount{background:var(--warning);opacity:1}
.zs .cs-row.is-self .cs-amt{font-weight:700}
.zs .cs-row.in-window:not(.is-self) .cs-amount{background:var(--accent);opacity:.7}
.zs .cs-row.is-expected .cs-dot{border-style:dashed;border-color:var(--success)}
.zs .cs-row.is-expected .cs-num{color:var(--success);font-weight:600}
.zs .cs-miss{border-left:2px dashed var(--warning);width:0;position:absolute;left:113px}
.zs .cs-miss span{color:var(--warning);white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:50%;left:8px;transform:translateY(-50%)}
.zs .cs-gap{font-family:var(--font-mono);color:var(--text-faint);font-size:10px;position:absolute;left:124px}
.zs .cs-window{border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft);position:absolute;left:100px;right:0}
.zs .cs-window-label{font-size:var(--text-xs);color:var(--accent);font-weight:600;position:absolute;top:6px;right:8px}
.zs .cs-sum{align-items:center;gap:var(--space-2);display:flex;position:absolute}
.zs .cs-sum-bar{background:var(--accent);border-radius:3px;height:14px}
.zs .cs-sum-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);white-space:nowrap;font-weight:700}
.zs .cs-roll{background:var(--accent);opacity:.8;width:9px;height:9px;margin-top:7px;margin-left:-4px;position:absolute;transform:rotate(45deg)}
.zs .cs-side{flex-direction:column;min-height:0;display:flex;overflow:hidden}
.zs .cs-side-head{padding:var(--space-4);border-bottom:1px solid var(--border-hairline);flex-direction:column;gap:2px;display:flex}
.zs .cs-side-head strong{font-size:var(--text-md)}
.zs .cs-side-body{gap:var(--space-3);min-height:0;padding:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}
.zs .cs-side-foot{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-hairline);background:var(--bg);flex-wrap:wrap;display:flex}
.zs .cs-side-foot .reason{flex-basis:100%}
.zs .cs-issue{padding:var(--space-2) var(--space-3);border-left:3px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);font-size:var(--text-sm);flex-direction:column;gap:4px;display:flex}
.zs .cs-step{flex-direction:column;gap:4px;display:flex}
.zs .cs-kv{flex-direction:column;gap:2px;display:flex}
.zs .cs-kv-row{gap:var(--space-3);grid-template-columns:minmax(0,170px) minmax(0,1fr);display:grid}
.zs .cs-kv-row .cell-sub{font-family:var(--font-mono);overflow-wrap:anywhere}
.zs .cs-kv-row .mono{color:var(--text)}
.zs .cs-rule{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:11px;display:flex}
.zs .cs-rule svg{flex:none;width:13px;height:13px}
.zs .cs-rule.is-held{color:var(--warning)}
.zs .cs-val{color:var(--text);font-weight:700}
.zs .cs-quote{padding:4px var(--space-2);border-left:2px solid var(--border);font-size:var(--text-xs);color:var(--text-2);margin-top:4px;line-height:1.5}
.zs .cs-gate{gap:var(--space-2);font-size:var(--text-xs);color:var(--text-2);display:flex}
.zs .cs-gate .mono{color:var(--warning);white-space:nowrap;font-weight:700}
.zs .cat-dot{width:10px;height:10px;margin-right:var(--space-2);vertical-align:-1px;border-radius:3px;flex:none;display:inline-block}
.zs .cat-dot--fraud{background:var(--danger)}
.zs .cat-dot--pricing{background:var(--warning)}
.zs .cat-dot--credits{background:var(--accent)}
.zs .cat-dot--terms{background:var(--success)}
.zs .cat-dot--usage{background:var(--signal)}
.zs .cat-dot--matching{background:var(--logo-sap)}
.zs .page-body.dash{gap:var(--space-3)}
.zs .page-body.dash>*{flex:none}
.zs .dash-hero{gap:var(--space-3);grid-template-columns:1.6fr 1fr;display:grid}
.zs .dash-big{align-items:flex-end;gap:var(--space-5);padding:var(--space-4) var(--space-5);display:flex}
.zs .dash-big.is-recovered{border-color:var(--success);background:var(--success-soft)}
.zs .dash-num{gap:var(--space-2);flex-direction:column;display:flex}
.zs .dash-value{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--success);white-space:nowrap;font-size:40px;font-weight:600;line-height:1.1}
.zs .dash-value.is-plain{color:var(--text);font-size:34px}
.zs .dash-bars{flex:1;align-items:flex-end;gap:6px;height:112px;display:flex}
.zs .dash-bar-col{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}
.zs .dash-bar-col .mono{font-size:10px}
.zs .dash-bar{background:var(--success);border-radius:3px 3px 0 0;width:100%;max-width:20px;min-height:2px}
.zs .dash-panel{flex-direction:column;display:flex;overflow:hidden}
.zs .dash-panel-head{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-hairline);font-size:var(--text-sm);display:flex}
.zs .dash-panel-head .seg{padding:2px}
.zs .dash-panel-head .seg-item{height:24px;padding:0 var(--space-2);font-size:var(--text-xs)}
.zs .chain{padding:var(--space-3) var(--space-4);align-items:flex-start;display:flex}
.zs .chain-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}
.zs .stage{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--bg);border:1px solid var(--border-hairline);flex-direction:column;gap:2px;display:flex}
.zs .stage-label{font-size:var(--text-sm);color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}
.zs .stage-label svg{width:14px;height:14px;color:var(--accent);flex:none}
.zs .stage strong{font-size:var(--text-xl);color:var(--text)}
.zs .stage.is-done{background:var(--success-soft);border-color:var(--success)}
.zs .stage.is-done strong{color:var(--success)}
.zs .sub{margin-left:var(--space-4);padding:5px var(--space-3);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);font-size:var(--text-xs);color:var(--text);flex-direction:column;gap:1px;font-weight:500;display:flex;position:relative}
.zs .sub:before{content:"";border-left:1.5px solid var(--border-strong);border-bottom:1.5px solid var(--border-strong);border-bottom-left-radius:4px;width:10px;height:30px;position:absolute;top:-8px;left:-12px}
.zs .sub-nums{align-items:baseline;gap:var(--space-2);display:flex}
.zs .sub strong{color:var(--text)}
.zs .sub.is-person{background:var(--warning-soft);border-color:var(--warning)}
.zs .sub.is-person strong{color:var(--warning)}
.zs .chain-arrow{width:24px;height:74px;color:var(--text-faint);flex:none;place-items:center;display:grid}
.zs .chain-arrow svg{width:16px;height:16px}
.zs .dash-stats{align-items:center;gap:var(--space-6);padding:var(--space-2) var(--space-5);grid-template-columns:1fr 300px;display:grid}
.zs .dash-legend{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
.zs .dash-legend th{text-align:left;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);padding:6px 0;font-size:11px;font-weight:500}
.zs .dash-legend td{border-top:1px solid var(--border-hairline);height:30px;color:var(--text)}
.zs .dash-legend .num{text-align:right;width:110px}
.zs .dash-legend .strong{color:var(--text);font-weight:600}
.zs .ring{margin:0 auto;position:relative}
.zs .ring svg{width:100%;height:100%}
.zs .ring-empty{stroke:var(--surface-2)}
.zs .ring-fraud{stroke:var(--danger)}
.zs .ring-pricing{stroke:var(--warning)}
.zs .ring-credits{stroke:var(--accent)}
.zs .ring-terms{stroke:var(--success)}
.zs .ring-usage{stroke:var(--signal)}
.zs .ring-matching{stroke:var(--logo-sap)}
.zs .ring-pct{color:var(--text-2);font-weight:600;position:absolute;transform:translate(-50%,-50%)}
.zs .ring-mid{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}
.zs .ring-mid strong{font-size:var(--text-2xl);color:var(--text)}
.zs .ring-mid .cell-sub{max-width:110px}
.zs .agent{gap:var(--space-3);flex-direction:column;display:flex}
.zs .ag-case{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--warning-soft);border:1px solid var(--warning);flex-direction:column;gap:6px;display:flex}
.zs .ag-case.is-done{background:var(--success-soft);border-color:var(--success)}
.zs .ag-case.is-off{background:var(--bg);border-color:var(--border)}
.zs .ag-case-head{align-items:center;gap:var(--space-2);display:flex}
.zs .ag-case-head .cat-dot{margin-right:0}
.zs .ag-case-sum{align-items:baseline;gap:var(--space-2);display:flex}
.zs .ag-case-sum strong{font-size:var(--text-lg);color:var(--warning)}
.zs .ag-case.is-done .ag-case-sum strong{color:var(--success)}
.zs .ag-case.is-off .ag-case-sum strong{color:var(--text-muted)}
.zs .ag-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}
.zs .ag-row{gap:var(--space-3);padding-bottom:var(--space-3);font-size:var(--text-sm);color:var(--text-2);line-height:1.45;display:flex;position:relative}
.zs .ag-row:before{content:"";background:var(--border);width:1px;position:absolute;top:28px;bottom:0;left:13px}
.zs .ag-row:last-child:before{display:none}
.zs .ag-row strong{color:var(--text);font-weight:600}
.zs .ag-icon{border-radius:var(--radius-pill);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);flex:none;place-items:center;display:grid}
.zs .ag-icon svg{width:14px;height:14px}
.zs .ag-row--supplier .ag-icon{background:var(--surface-2);color:var(--text-2)}
.zs .ag-row--person .ag-icon{background:var(--warning-soft);color:var(--warning)}
.zs .ag-line{padding-top:4px}
.zs .ag-msg{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--bg);border:1px solid var(--border-hairline);font-size:var(--text-xs);color:var(--text-2);white-space:pre-line;flex-direction:column;gap:2px;margin-top:6px;display:flex}
.zs .ag-meta{align-items:center;gap:var(--space-2);margin-top:4px;display:flex}
.zs .esc-quote{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}
