.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-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.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}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{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%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.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))}:root{--navy-950:#070f1c;--navy-900:#0d1b30;--navy-800:#12243a;--navy-600:#29415a;--slate-400:#a9bad0;--teal-400:#43d9d0;--teal-600:#0e8f89;--teal-700:#0b7570;--purple-400:#a67cff;--purple-600:#7a4fe0;--font-body:Inter, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-display:"Space Grotesk", Inter, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--radius:8px;--ease:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light],.paper{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6faff;--bg-decor:radial-gradient(1200px 600px at 100% -10%, #a67cff14, transparent 60%), radial-gradient(900px 500px at -10% 110%, #43d9d01a, transparent 60%);--surface:#fff;--surface-glass:#ffffffd1;--surface-2:#f1f5fb;--surface-3:#e8eef7;--input-bg:#fff;--border:#dde5f0;--border-strong:#c3cfdf;--text:#12243a;--text-muted:#5b6f88;--heading:#0d1b30;--primary:var(--teal-700);--primary-hover:#095f5b;--primary-fill:linear-gradient(135deg, var(--teal-700), var(--purple-600));--primary-contrast:#fff;--primary-soft:#0e8f891a;--accent:var(--purple-600);--accent-soft:#7a4fe01a;--glow:0 0 0 transparent;--btn-fill:#0e8f8912;--btn-fill-hover:#0e8f8924;--btn-border:var(--teal-700);--btn-contrast:var(--teal-700);--btn-glow:0 0 0 3px #0e8f891f;--btn-text:#1d4ed8;--btn-soft:#2563eb17;--danger:#c8293d;--danger-bg:#fdecef;--danger-text:#8a1f2d;--warn:#9a5a08;--warn-bg:#fff4e0;--ok:#1a7a43;--ok-bg:#e5f6ec;--focus:0 0 0 3px #0e8f894d;--shadow:0 1px 2px #12243a0f, 0 4px 16px #12243a0f;--code-bg:var(--navy-900);--code-text:#dfe8f5;--dots:#12243a17}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--navy-950);--bg-decor:radial-gradient(1000px 520px at 85% -8%, #a67cff29, transparent 62%), radial-gradient(900px 560px at -5% 105%, #43d9d021, transparent 60%), linear-gradient(180deg, #0a1628 0%, var(--navy-950) 100%);--surface:#0f1e33;--surface-glass:#1020369e;--surface-2:#a9bad00f;--surface-3:#a9bad01c;--input-bg:#070f1c8c;--border:#a9bad021;--border-strong:#a9bad042;--text:#e6edf7;--text-muted:#93a6c0;--heading:#f4f8ff;--primary:var(--teal-400);--primary-hover:#6ee5de;--primary-fill:linear-gradient(135deg, var(--teal-400), var(--purple-400));--primary-contrast:#06121f;--primary-soft:#43d9d01f;--accent:var(--purple-400);--accent-soft:#a67cff24;--glow:0 0 24px #43d9d047;--btn-fill:var(--navy-900);--btn-fill-hover:#43d9d01a;--btn-border:var(--teal-400);--btn-contrast:var(--teal-400);--btn-glow:0 0 18px #43d9d059;--btn-text:#8db6ff;--btn-soft:#3b7bff24;--danger:#ff7a8a;--danger-bg:#ff5c701f;--danger-text:#ffb3bd;--warn:#ffc069;--warn-bg:#ffb0401f;--ok:#5ee69a;--ok-bg:#40dc821f;--focus:0 0 0 3px #43d9d059;--shadow:0 1px 0 #ffffff0a inset, 0 12px 40px #00000059;--code-bg:#040a14b3;--code-text:#cfe0f5;--dots:#a9bad014}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-decor), var(--bg);color:var(--text);font:14px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}h1,h2,h3,h4,h5{color:var(--heading);line-height:1.2;font-family:var(--font-display);margin:0;font-weight:600}code,.mono{font-family:var(--font-mono);font-size:12.5px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}::selection{background:#43d9d059}.muted{color:var(--text-muted)}.small{font-size:12px}.strong{color:var(--heading);font-weight:600}.required{color:var(--danger);margin-left:2px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.97);box-shadow:0 0 #43d9d073}to{transform:none;box-shadow:0 0 0 10px #43d9d000}}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;white-space:nowrap;height:36px;color:var(--text);align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .2s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible,.icon-btn:focus-visible,.input:focus{box-shadow:var(--focus);outline:none}.btn-primary:focus-visible{box-shadow:var(--focus)}.btn-ghost:focus-visible{box-shadow:0 0 0 3px #3b7bff66}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--btn-fill);border:1px solid var(--btn-border);color:var(--btn-contrast);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--btn-fill-hover);border-color:var(--btn-border);box-shadow:var(--btn-glow)}.btn-primary.btn-sm{font-size:11px}.btn-ghost{color:var(--btn-text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--btn-soft);border-color:#0000}.btn-ghost.danger{color:var(--danger)}.btn-ghost.danger:hover:not(:disabled){background:var(--danger-bg)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--heading)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.input{border:1px solid var(--border-strong);background:var(--input-bg);width:100%;height:36px;color:var(--text);font:inherit;border-radius:6px;padding:0 10px;transition:border-color .15s,box-shadow .15s}.input:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 45%, var(--border-strong))}.input:focus{border-color:var(--primary)}.input::placeholder{color:var(--text-muted);opacity:.7}textarea.input{resize:vertical;height:auto;padding:8px 10px}.select-trigger{text-align:left;cursor:pointer;align-items:center;gap:6px;min-width:0;padding-right:8px;display:flex}.select-trigger .select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-trigger.is-empty .select-value{color:var(--text-muted)}.select-trigger:disabled{cursor:not-allowed}.select-chevron{opacity:.6;flex:none}.select-pop{z-index:1100;background:var(--surface);border:1px solid var(--border-strong);animation:rise .12s var(--ease) both;border-radius:10px;display:grid;position:fixed;overflow:hidden;box-shadow:0 14px 36px #00000038}.select-search{border-bottom:1px solid var(--border);height:38px;color:var(--text-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.select-search.is-hidden{opacity:0;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.select-search input{min-width:0;height:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.select-list{padding:4px;overflow-y:auto}.select-group{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 4px;font-size:11px;font-weight:700}.select-option{cursor:pointer;color:var(--text);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13.5px;display:flex}.select-option.is-grouped{padding-left:18px}.select-option.is-active{background:var(--primary-soft);color:var(--primary)}.select-option.is-selected{font-weight:600}.select-option.is-disabled{opacity:.45;cursor:not-allowed}.select-empty{color:var(--text-muted);text-align:center;padding:12px 10px;font-size:13px}.input:disabled{background:var(--surface-2);color:var(--text-muted)}.input-sm{height:30px;font-size:13px}textarea.input-sm{height:auto}.input-error,.input-error:focus,.input-error:hover:not(:disabled){border-color:var(--danger)}.input-affix{border:1px solid var(--border-strong);background:var(--input-bg);border-radius:6px;align-items:center;display:flex}.input-affix span{color:var(--text-muted);padding:0 8px 0 10px;font-weight:500}.input-affix .input{background:0 0;border:0;padding-left:0}.input-affix:focus-within{box-shadow:var(--focus);border-color:var(--primary)}.shell{min-height:100%;display:flex}.sidebar{--sb-text:#b9c8dc;z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#dfe8f5;width:248px;height:100dvh;transition:width .22s var(--ease);background:radial-gradient(260px 220px at 0 0,#43d9d01f,#0000 70%),radial-gradient(240px 260px at 100% 100%,#a67cff1a,#0000 70%),linear-gradient(#12243af0,#081323f5);border-right:1px solid #a9bad01a;flex-direction:column;flex:none;gap:4px;padding:16px 12px 12px;display:flex;position:sticky;top:0}.brand{color:#fff;padding:2px 6px 16px}.lupa-logo{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.lupa-logo-mark{flex:none}.lupa-logo-text{line-height:1.1;display:grid}.lupa-logo-name{font-family:var(--font-display);letter-spacing:.1em;font-size:21px;font-weight:700}.lupa-logo small{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--slate-400);margin-top:2px;font-size:9.5px;font-weight:500}.tenant{margin-bottom:10px;position:relative}.tenant-trigger{cursor:pointer;text-align:left;color:#fff;background:#ffffff0a;border:1px solid #a9bad01f;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px;transition:background .15s,border-color .15s;display:flex}.tenant-trigger:hover,.tenant-trigger[aria-expanded=true]{background:#ffffff12;border-color:#a9bad03d}.tenant-trigger:focus-visible{box-shadow:var(--focus);outline:none}.tenant-avatar{width:32px;height:32px;font:600 12px/1 var(--font-display);letter-spacing:.04em;color:#fff;background:linear-gradient(135deg, #2f6cf6, var(--purple-600));border-radius:9px;flex:none;place-items:center;display:grid}.tenant-avatar-sm{border-radius:7px;width:26px;height:26px;font-size:10.5px}.tenant-text{flex:1;min-width:0;line-height:1.25;display:grid}.tenant-text small{color:var(--slate-400);font-size:10.5px}.tenant-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.tenant-chevron{color:var(--slate-400);flex:none}.tenant-menu{z-index:20;animation:modal-in .16s var(--ease) both;background:#0f1e33;border:1px solid #a9bad02e;border-radius:12px;min-width:220px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 48px #00000080}.tenant-menu-label{letter-spacing:.16em;text-transform:uppercase;color:var(--slate-400);margin:4px 8px 6px;font-size:10px;font-weight:600}.tenant-option{color:#dfe8f5;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 8px;font-size:13px;display:flex}.tenant-option:hover{background:#ffffff0f}.tenant-option[aria-selected=true]{color:#fff}.tenant-check{color:var(--teal-400);margin-left:auto}.nav-groups{scrollbar-width:thin;scrollbar-color:#a9bad033 transparent;flex-direction:column;flex:auto;gap:14px;min-height:0;margin:0 -12px;padding:0 12px 8px;display:flex;overflow-y:auto}.nav-group{gap:2px;display:grid}.nav-label{letter-spacing:.18em;text-transform:uppercase;color:#a9bad08c;white-space:nowrap;margin:0 10px 4px;font-size:10px;font-weight:600}.nav-item{color:var(--sb-text);white-space:nowrap;border-radius:10px;align-items:center;gap:11px;padding:6px 8px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0d;text-decoration:none}.nav-icon{background:#ffffff0a;border:1px solid #a9bad014;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;transition:background .2s,box-shadow .2s,color .2s,border-color .2s;display:grid}.nav-item:hover .nav-icon{border-color:#a9bad02e}.nav-text{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-item.active{color:#fff;background:linear-gradient(90deg,#3b7bff29,#43d9d00a 70%,#0000)}.nav-item.active:before{content:"";background:linear-gradient(180deg, var(--teal-400), #3b7bff);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px;box-shadow:0 0 12px #43d9d0cc}.nav-item.active .nav-icon{color:#fff;background:linear-gradient(135deg,#43d9d0e6,#3b7bff);border-color:#0000;box-shadow:0 4px 16px #3b7bff66}.nav-item.is-disabled{color:#b9c8dc73;cursor:default}.nav-item.is-disabled:hover{color:#b9c8dc73;background:0 0}.nav-item.is-disabled .nav-icon{background:0 0;border-style:dashed}.soon{color:var(--slate-400);border:1px solid #a9bad033;border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:500}.sidebar-foot{border-top:1px solid #a9bad01a;flex:none;align-items:center;gap:4px;margin-top:auto;padding-top:10px;display:flex}.sidebar-foot .icon-btn{color:var(--slate-400);border-radius:9px;width:34px;height:34px}.sidebar-foot .icon-btn:hover{color:#fff;background:#ffffff14}.version{font:500 10.5px var(--font-mono);color:#a9bad080;white-space:nowrap;margin-left:auto;padding-right:6px}.is-collapsed .sidebar{width:72px;padding-left:10px;padding-right:10px}.is-collapsed .brand{justify-content:center;padding-left:0;padding-right:0;display:flex}.is-collapsed .lupa-logo-text,.is-collapsed .tenant-text,.is-collapsed .tenant-chevron,.is-collapsed .nav-text,.is-collapsed .soon,.is-collapsed .version{display:none}.is-collapsed .tenant-trigger{justify-content:center;padding:6px}.is-collapsed .tenant-menu{left:0;right:auto}.is-collapsed .nav-label{color:#0000;background:#a9bad024;height:1px;margin:4px 12px 6px;overflow:hidden}.is-collapsed .nav-item{justify-content:center;padding:6px 0}.is-collapsed .nav-item.active:before{left:-10px}.is-collapsed .sidebar-foot{flex-direction:column}.is-collapsed .nav-groups{margin:0 -10px;padding:0 10px 8px}.shell-main{flex:1;min-width:0}.mobile-bar,.drawer-backdrop{display:none}.page{max-width:1200px;animation:rise .35s var(--ease) both;margin:0 auto;padding:36px 32px 64px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:32px}.page-sub{color:var(--text-muted);margin:6px 0 0}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--primary);align-items:center;gap:8px;margin:0 0 8px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--primary);width:6px;height:6px;box-shadow:0 0 10px var(--primary);border-radius:50%}.page-loading,.page-error{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:48px;display:flex}.page-error{color:var(--danger)}.card{background:var(--surface-glass);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px}.empty-state{text-align:center;color:var(--text-muted);justify-items:center;gap:10px;padding:56px 24px;display:grid}.empty-state svg{color:var(--primary);opacity:.8}.empty-state.small{padding:32px 16px}.stack{gap:14px;display:grid}.list-table{border-collapse:collapse;width:100%}.list-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:14px 16px;font-size:11px;font-weight:600}.list-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.list-table tr:last-child td{border-bottom:0}.list-table tr.clickable{cursor:pointer;transition:background .12s}.list-table tr.clickable:hover td{background:var(--surface-2)}.list-table code{color:var(--accent)}.row-actions{white-space:nowrap;text-align:right;width:1%}.badge{background:var(--surface-3);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-ok:before{box-shadow:0 0 8px}.badge-warn{background:var(--warn-bg);color:var(--warn)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise .18s var(--ease) both;background:#040a1499;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:min(500px,100%);max-height:calc(100dvh - 32px);animation:modal-in .24s var(--ease) both;border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080,0 0 0 1px #43d9d00d}.modal:before{content:"";background:linear-gradient(90deg, transparent, var(--teal-400), #3b7bff, var(--purple-400), transparent);opacity:.8;height:1px;position:absolute;top:0;left:12%;right:12%}.modal-wide{width:min(1120px,100%)}.modal-head{align-items:flex-start;gap:14px;padding:22px 22px 6px;display:flex}.modal-titles{flex:1;min-width:0}.modal-head h2{letter-spacing:-.01em;font-size:18px}.modal-titles p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.modal-icon{width:40px;height:40px;color:var(--btn-text);background:var(--btn-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--btn-text) 30%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}.modal-head .icon-btn{margin:-4px -6px 0 0}.modal-wide .modal-head{border-bottom:1px solid var(--border);padding-bottom:16px}.modal-body{padding:18px 22px 22px;overflow:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px;display:flex}.modal-hint{color:var(--text-muted);align-items:center;gap:6px;margin-right:auto;font-size:12px;display:inline-flex}.dot-sep{opacity:.5;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 2px}.kbd{min-width:22px;height:20px;font:500 11px/1 var(--font-mono);color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.new-form{gap:8px;display:grid}.new-form>.prop+.key-preview{margin-top:2px}.new-form .prop-spaced{margin-top:10px}.input-lg{border-radius:10px;height:46px;padding:0 14px;font-size:16px}.optional{color:var(--text-muted);margin-left:4px;font-size:11px;font-weight:400}.key-preview{background:var(--input-bg);border:1px dashed var(--border-strong);height:38px;color:var(--text-muted);border-radius:10px;align-items:center;gap:8px;padding:0 6px 0 12px;display:flex}.key-preview.is-invalid{border-color:var(--danger)}.key-preview-label{font-size:12px;font-weight:600}.key-preview-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);flex:1;overflow:hidden}.key-preview-input{border:1px solid var(--primary);background:var(--surface);min-width:0;height:28px;color:var(--text);box-shadow:var(--focus);border-radius:6px;outline:none;flex:1;padding:0 8px}.key-preview-hint{margin:0 0 0 2px}.lupa-form .form-alert{margin-top:16px}.form-alert p{margin:0}.form-alert{background:var(--danger-bg);color:var(--danger-text);border-radius:10px;margin:6px 0 0;padding:10px 12px;font-size:13px}.builder{flex-direction:column;height:100dvh;display:flex}.builder-bar{z-index:2;background:var(--surface-glass);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;gap:12px;padding:10px 16px;display:flex;position:relative}.builder-title{flex:1;min-width:0}.builder-name{align-items:center;gap:6px;display:flex}.builder-name input{width:100%;max-width:480px;font:inherit;font-family:var(--font-display);color:var(--heading);background:0 0;border:0;border-radius:4px;margin-left:-4px;padding:2px 4px;font-size:18px;font-weight:600}.builder-name input:hover{background:var(--surface-2)}.builder-name input:focus{box-shadow:var(--focus);outline:none}.builder-sub{color:var(--text-muted);font-size:12px}.builder-sub code{color:var(--accent)}.dot-unsaved{color:var(--warn);font-weight:600}.builder-actions{align-items:center;gap:8px;display:flex}.notice{background:var(--ok-bg);color:var(--ok);animation:rise .2s var(--ease) both;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.problem-banner{background:var(--danger-bg);color:var(--danger-text);border-bottom:1px solid color-mix(in srgb, var(--danger) 30%, transparent);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.problem-banner strong{color:var(--danger)}.problem-banner>div{flex:1}.problem-banner ul{margin:4px 0 6px;padding-left:18px}.problem-banner .link{color:inherit;font-weight:600}.builder-body{flex:1;grid-template-columns:224px 1fr 344px;min-height:0;display:grid}.palette{border-right:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:16px 12px;overflow:auto}.palette h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin:8px 6px;font-size:10.5px;font-weight:600}.palette section+section{margin-top:14px}.palette-items{gap:4px;display:grid}.palette-item{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:grab;text-align:left;touch-action:none;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:border-color .15s,background .15s,box-shadow .2s,transform .15s;display:flex}.palette-item:hover{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:var(--primary-soft);box-shadow:var(--glow);transform:translate(2px)}.palette-item svg{color:var(--primary)}.palette-item.is-dragging{opacity:.4}.palette-item-overlay{background:var(--surface);box-shadow:0 12px 32px #00000059, var(--glow);border-color:var(--primary);cursor:grabbing;width:200px}.builder-canvas{background-image:radial-gradient(var(--dots) 1px, transparent 1px);background-size:18px 18px;padding:28px 24px;overflow:auto}.canvas{background:var(--surface);border:1px solid #0000;border-radius:16px;max-width:920px;min-height:100%;margin:0 auto;padding:22px;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #12243a0f,0 24px 60px #00000047}.canvas.is-over{border-color:var(--teal-400);box-shadow:0 0 0 4px #43d9d02e,0 24px 60px #00000047}.canvas-empty{text-align:center;min-height:320px;color:var(--text-muted);border:2px dashed var(--border);border-radius:12px;align-content:center;place-items:center;gap:4px;display:grid}.canvas-empty-title{font-family:var(--font-display);color:var(--heading);margin:0;font-size:17px;font-weight:600}.canvas-empty p{margin:0}.grid12{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;display:grid}.cell{grid-column:span var(--span,12);min-width:0}.canvas-field{border:1px solid var(--border);background:var(--surface);cursor:pointer;animation:pop .45s var(--ease) backwards;border-radius:10px;padding:8px 10px 10px;transition:border-color .15s,box-shadow .2s;position:relative}.canvas-field:hover{border-color:var(--border-strong)}.canvas-field.is-selected{border-color:var(--teal-600);box-shadow:0 0 0 3px #43d9d047,0 8px 24px #0e8f891f}.canvas-field.has-error{border-color:var(--danger)}.canvas-field.is-dragging{opacity:.5;z-index:2}.canvas-field.type-section{background:var(--surface-2)}.canvas-field-head{align-items:center;gap:6px;min-height:26px;display:flex}.canvas-field-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--heading);flex:1;font-weight:600;overflow:hidden}.type-section .canvas-field-label{font-family:var(--font-display);font-size:15px}.canvas-field-actions{opacity:0;transition:opacity .12s;display:flex}.canvas-field:hover .canvas-field-actions,.canvas-field.is-selected .canvas-field-actions{opacity:1}.canvas-field-actions .icon-btn{width:26px;height:26px}.drag-handle{width:20px;height:26px;color:var(--slate-400);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.drag-handle:hover{color:var(--text);background:var(--surface-2)}.canvas-field-meta{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.tag{background:var(--surface-2);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;align-items:center;gap:3px;max-width:100%;padding:1px 6px;font-size:11px;display:inline-flex;overflow:hidden}.tag-code{font-size:11px}.tag-connect{background:var(--accent-soft);color:var(--accent)}.tag-condition{background:var(--primary-soft);color:var(--primary)}.mock-input{border:1px solid var(--border);background:var(--surface-2);height:32px;color:var(--slate-400);white-space:nowrap;border-radius:6px;align-items:center;margin-top:6px;padding:0 10px;font-size:13px;display:flex;overflow:hidden}.mock-textarea{align-items:flex-start;height:64px;padding-top:6px}.mock-select:after{content:"▾";margin-left:auto}.mock-file{border-style:dashed}.mock-section{background:linear-gradient(90deg, var(--teal-400), var(--purple-400) 40%, transparent);opacity:.6;border-radius:2px;height:2px;margin-top:6px}.mock-info{color:var(--text-muted);background:#43d9d014;border-radius:6px;margin:6px 0 0;padding:8px 10px;font-size:13px}.mock-check,.mock-choices{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:13px;display:flex}.mock-choices span{align-items:center;gap:6px;display:inline-flex}.mock-box,.mock-radio{border:1.5px solid var(--border-strong);vertical-align:-2px;border-radius:3px;width:14px;height:14px;display:inline-block}.mock-radio{border-radius:50%}.mock-table{border:1px solid var(--border);border-radius:6px;margin-top:6px;display:flex;overflow:hidden}.mock-table span{background:var(--surface-2);color:var(--text-muted);border-right:1px solid var(--border);flex:1;padding:6px 8px;font-size:12px;font-weight:600}.mock-table span:last-child{border-right:0}.properties{border-left:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:auto}.properties-empty{text-align:center;color:var(--text-muted);place-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.properties-empty svg{color:var(--primary);opacity:.7}.properties-head{z-index:1;font-family:var(--font-display);color:var(--heading);border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;padding:14px 16px;font-weight:600;display:flex;position:sticky;top:0}.properties-head svg{color:var(--primary)}.properties-errors{background:var(--danger-bg);color:var(--danger-text);border-radius:8px;margin:12px 16px 0;padding:8px 12px 8px 28px;font-size:13px}.prop-group{border-bottom:1px solid var(--border);animation:rise .25s var(--ease) both;gap:12px;padding:14px 16px 16px;display:grid}.prop-group h5{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);font-size:10.5px;font-weight:600}.prop{align-content:start;gap:4px;min-width:0;display:grid}.prop-label{color:var(--heading);font-size:12px;font-weight:600}.prop-hint{color:var(--text-muted);font-size:11.5px}.prop-error{color:var(--danger);margin:0;font-size:12px}.prop-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.prop-row-url{grid-template-columns:130px 1fr}.prop-narrow{max-width:140px}.segmented{background:var(--input-bg);border:1px solid var(--border);border-radius:9px;padding:3px;display:flex}.segmented button{cursor:pointer;height:28px;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1;padding:0 6px;font-size:12.5px;transition:background .15s,color .15s}.segmented button:hover{color:var(--heading)}.segmented button.is-active{background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent);font-weight:600}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:999px;flex:none;width:34px;height:19px;transition:background .2s,box-shadow .2s;position:relative}.toggle-track:after{content:"";width:13px;height:13px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.toggle input:checked+.toggle-track{background:var(--primary-fill);box-shadow:var(--glow);border-color:#0000}.toggle input:checked+.toggle-track:after{transform:translate(15px)}.toggle input:focus-visible+.toggle-track{box-shadow:var(--focus)}.options-editor,.columns-editor{justify-items:start;gap:6px;display:grid}.options-head,.options-row{grid-template-columns:1fr 1fr 30px;gap:6px;width:100%;display:grid}.options-head span{color:var(--text-muted);font-size:11px;font-weight:600}.column-item{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;width:100%}.column-item.is-open{border-color:var(--border-strong)}.column-summary{grid-template-columns:30px 1fr 96px 30px;align-items:center;gap:4px;padding:4px;display:grid}.column-details{border-top:1px solid var(--border);gap:10px;padding:8px 10px 12px;display:grid}.binding-editor{gap:12px;display:grid}.param-list{gap:6px;display:grid}.param-row{grid-template-columns:70px 1fr 1fr;align-items:center;gap:6px;display:grid}.param-row-2{grid-template-columns:110px 1fr}.param-row-3{grid-template-columns:1fr 1.4fr 30px;margin-bottom:6px}.param-name{background:var(--accent-soft);color:var(--accent);text-overflow:ellipsis;border-radius:4px;padding:4px 6px;overflow:hidden}.binding-test{justify-items:start;gap:6px;display:grid}.binding-sample ul{margin:4px 0 0;padding-left:18px;font-size:12.5px}.condition{gap:6px;display:grid}.sheet-editor{justify-items:start;gap:8px;display:grid}.sheet-editor>*{max-width:100%}.sheet-editor .prop-hint code{color:var(--accent);font-size:11.5px}.sheet-subtitle{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:6px 0 0;font-size:11px;font-weight:600}.sheet-rule{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:6px;width:100%;padding:8px;display:grid}.sheet-rule-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px;align-items:center;gap:6px;display:grid}.sheet-rule-values{align-items:center;gap:6px;display:flex}.sheet-rule-values .input{flex:1;min-width:0}.sheet-output{grid-template-columns:minmax(0,1fr) 14px minmax(0,1.2fr) 30px;align-items:center;gap:6px;width:100%;display:grid}.sheet-status{align-items:center;gap:6px;margin:6px 0 0;font-size:12.5px;display:flex}.sheet-status.is-ok{color:var(--ok)}.sheet-errors{color:var(--danger);margin:6px 0 0;padding-left:18px;font-size:12.5px}.field-filled{align-items:center;gap:4px;display:inline-flex}.pattern-presets{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:999px;padding:2px 10px;font-size:12px;transition:all .15s}.chip:hover{border-color:var(--primary)}.chip.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.lupa-form .field{gap:5px;display:grid}.field-label{color:var(--heading);font-size:13.5px;font-weight:600}.field-help{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;margin:0;font-size:12.5px;display:flex}.field-error{color:var(--danger);margin:0;font-size:12.5px}.field.has-error .input{border-color:var(--danger)}.field.is-readonly .input,.field.is-readonly .choices,.field.is-readonly .check,.field.is-readonly .data-table,.field.is-readonly .table-toolbar{pointer-events:none}.field.is-readonly .input{background:var(--surface-2);color:var(--text-muted)}.field.is-readonly .choices,.field.is-readonly .check{opacity:.7}.form-section{padding-top:8px;padding-bottom:8px;position:relative}.form-section:after{content:"";background:linear-gradient(90deg, var(--teal-400), var(--purple-400) 45%, transparent);opacity:.55;border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.form-section h3{font-size:18px}.form-section p{color:var(--text-muted);margin:2px 0 0}.form-info{color:var(--navy-600);white-space:pre-wrap;background:#43d9d01a;border-radius:8px;padding:10px 12px}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--teal-600)}.choices{flex-wrap:wrap;gap:8px 18px;padding:4px 0;display:flex}.choices-scroll{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:220px;padding:8px;display:grid;overflow:auto}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:20px;padding-top:16px;display:flex}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;background:var(--surface-2);color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px;font-size:11.5px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 8px}.data-table tr:last-child td{border-bottom:0}.data-table .input{min-width:110px}.empty-row{text-align:center;color:var(--text-muted);padding:14px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preview-layout{grid-template-columns:1fr 340px;gap:20px;display:grid}.preview-side{align-content:start;gap:14px;display:grid;position:sticky;top:0}.preview-form{background:var(--surface);color:var(--text);border-radius:14px;padding:22px;box-shadow:0 1px 2px #12243a0f,0 16px 40px #0003}.preview-output{background:var(--code-bg);color:var(--code-text);border:1px solid #43d9d02e;border-radius:12px;padding:14px;box-shadow:inset 0 0 40px #43d9d00d}.preview-output h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--teal-400);margin-bottom:8px;font-size:10.5px;font-weight:600}.preview-output pre{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;max-height:60vh;margin:0;font-size:12px;overflow:auto}.preview-output .muted{color:var(--slate-400);margin:0}.script-console header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.script-console h4{align-items:center;gap:6px;margin:0;display:inline-flex}.script-console .icon-btn{color:var(--slate-400);width:24px;height:24px}.console-lines{max-height:260px;font:12px/1.5 var(--font-mono);overflow:auto}.console-line{border-bottom:1px solid #a9bad014;grid-template-columns:auto 1fr;gap:8px;padding:2px 0;display:grid}.console-line time{color:#a9bad08c}.console-line span{white-space:pre-wrap;word-break:break-word}.level-warn span{color:#ffc069}.level-error span{color:#ff8a97}.split{grid-template-columns:300px 1fr;align-items:start;gap:20px;display:grid}.split-list{gap:2px;padding:6px;display:grid}.source-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px;transition:background .15s,border-color .15s;display:flex}.source-item:hover{background:var(--surface-2)}.source-item.is-active{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 30%, transparent)}.source-item>span:last-child{min-width:0;display:grid}.source-item strong{text-overflow:ellipsis;white-space:nowrap;color:var(--heading);overflow:hidden}.kind{width:46px;font-family:var(--font-mono);text-align:center;letter-spacing:.05em;border-radius:5px;flex:none;padding:3px 0;font-size:10px;font-weight:500}.kind-rest{background:var(--primary-soft);color:var(--primary)}.kind-soap{background:var(--accent-soft);color:var(--accent)}.kind-static{background:var(--surface-3);color:var(--text-muted)}.editor-card{gap:16px;padding:20px;display:grid}.editor-card .prop-label{font-size:12.5px}.test-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;justify-items:start;gap:10px;padding:14px;display:grid}.test-panel h4{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:600}.test-panel .param-list{width:100%;max-width:480px}.result-preview{gap:6px;width:100%;display:grid}.result-preview pre{background:var(--code-bg);max-height:320px;color:var(--code-text);font-family:var(--font-mono);border-radius:8px;margin:0;padding:10px;font-size:12px;overflow:auto}.result-preview .table-wrap{background:var(--input-bg);max-height:320px}.editor-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.notif-host{z-index:70;position:fixed;top:10px;right:16px}.notif-bell{cursor:pointer;background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--text-muted);box-shadow:var(--shadow);border-radius:12px;place-items:center;transition:color .15s,border-color .15s;display:grid;position:relative}.notif-bell:hover{color:var(--heading);border-color:var(--border-strong)}.notif-bell:focus-visible{box-shadow:var(--focus);outline:none}.notif-bell svg{overflow:visible}.notif-bell svg path{transform-box:view-box}.notif-bell.is-ringing{color:var(--primary)}.notif-count{color:#fff;background:var(--danger);border:2px solid var(--bg);border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.notif-bell.is-ringing .bell-body{transform-origin:12px 2.5px;animation:3.6s cubic-bezier(.36,.07,.19,.97) infinite bell-swing}.notif-bell.is-ringing .bell-clapper{transform-origin:12px 2.5px;animation:3.6s cubic-bezier(.36,.07,.19,.97) infinite bell-clap}.notif-bell.is-ringing .bell-wave{animation:3.6s ease-out infinite bell-wave}.notif-bell.is-ringing .bell-wave-r{animation-delay:60ms}.bell-wave{opacity:0}.notif-bell.is-ringing{animation:3.6s ease-out infinite bell-halo}.notif-bell.is-ringing .notif-count{animation:3.6s ease-out infinite bell-badge}@keyframes bell-swing{0%,62%,to{transform:rotate(0)}4%{transform:rotate(17deg)}9%{transform:rotate(-15deg)}14%{transform:rotate(12deg)}19%{transform:rotate(-10deg)}25%{transform:rotate(7deg)}31%{transform:rotate(-5deg)}38%{transform:rotate(3deg)}46%{transform:rotate(-1.5deg)}54%{transform:rotate(.6deg)}}@keyframes bell-clap{0%,62%,to{transform:translate(0)rotate(0)}4%{transform:translate(1.5px)rotate(-12deg)}9%{transform:translate(-1.4px)rotate(11deg)}14%{transform:translate(1.2px)rotate(-9deg)}19%{transform:translate(-1px)rotate(7deg)}25%{transform:translate(.8px)rotate(-5deg)}31%{transform:translate(-.5px)rotate(3deg)}38%{transform:translate(.3px)rotate(-2deg)}46%{transform:translate(-.15px)rotate(1deg)}}@keyframes bell-wave{0%,62%,to{opacity:0;transform:scale(.85)}4%{opacity:0;transform:scale(.85)}12%{opacity:.95;transform:scale(1)}34%{opacity:0;transform:scale(1.12)}}@keyframes bell-halo{0%,62%,to{box-shadow:var(--shadow)}4%{box-shadow:var(--shadow), 0 0 0 0 #0e8f8973}30%{box-shadow:var(--shadow), 0 0 0 9px #0e8f8900}}@keyframes bell-badge{0%,62%,to{transform:scale(1)}4%{transform:scale(1.25)}12%{transform:scale(.95)}20%{transform:scale(1.08)}30%{transform:scale(1)}}.notif-panel{background:var(--surface);border:1px solid var(--border);width:min(380px,100vw - 24px);max-height:min(520px,100dvh - 80px);animation:modal-in .16s var(--ease) both;border-radius:14px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 48px #12243a38}.notif-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.notif-panel-head .btn{height:30px;padding:0 10px;font-size:12px}.notif-scroll{min-height:0;overflow-y:auto}.notif-list{margin:0;padding:0;list-style:none}.notif-section{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);margin:0;padding:10px 14px 6px;font-size:10px;font-weight:600}.notif-more{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--btn-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:10px;font-size:13px;font-weight:600;display:flex}.notif-more:hover{background:var(--surface-2)}.notif-bell.has-pending:not(.is-ringing){color:var(--primary)}.notif-late{color:var(--danger);font-weight:600}.notif-item{text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.notif-item:hover,.notif-item:focus-visible{background:var(--surface-2);outline:none}.notif-item.is-unread{background:var(--primary-soft)}.notif-item-icon{flex:none;margin-top:2px}.notif-item-text{flex:1;gap:2px;min-width:0;font-size:13px;display:grid}.notif-item-text strong{font-weight:600}.notif-item-text span{color:var(--text-muted);overflow-wrap:anywhere}.notif-item-text small{color:var(--text-muted);font-size:11px}.notif-unread-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.notif-empty{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;margin:0;padding:24px 16px;font-size:13px;display:flex}.notif-item.is-info .notif-item-icon,.notif-toast.is-info .notif-toast-icon{color:var(--btn-text)}.notif-item.is-success .notif-item-icon,.notif-toast.is-success .notif-toast-icon{color:var(--ok)}.notif-item.is-warning .notif-item-icon,.notif-toast.is-warning .notif-toast-icon{color:var(--warn)}.notif-item.is-danger .notif-item-icon,.notif-toast.is-danger .notif-toast-icon{color:var(--danger)}.notif-stack{z-index:80;pointer-events:none;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;top:60px;right:16px}.notif-toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);animation:toast-in .22s var(--ease) both;border-radius:10px;align-items:flex-start;gap:4px;display:flex;box-shadow:0 12px 32px #12243a33}.notif-toast.is-info{border-left-color:var(--btn-text)}.notif-toast.is-success{border-left-color:var(--ok)}.notif-toast.is-warning{border-left-color:var(--warn)}.notif-toast.is-danger{border-left-color:var(--danger)}.notif-toast-main{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:0;flex:1;align-items:flex-start;gap:10px;padding:12px 6px 12px 12px;font-size:13px;display:flex}.notif-toast-main:focus-visible{box-shadow:var(--focus);border-radius:8px;outline:none}.notif-toast-icon{flex:none;margin-top:1px}.notif-toast-text{gap:2px;min-width:0;display:grid}.notif-toast-text span{color:var(--text-muted);overflow-wrap:anywhere}.notif-toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;margin:8px 8px 0 0;padding:4px}.notif-toast-close:hover{background:var(--surface-3);color:var(--heading)}@keyframes toast-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1100px){.builder-body{grid-template-columns:184px 1fr 304px}}@media (width<=860px){.sidebar{visibility:hidden;width:min(280px,86vw);height:100dvh;transition:transform .22s var(--ease), visibility 0s .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.is-drawer-open .sidebar{visibility:visible;transition:transform .22s var(--ease);z-index:60;transform:none}.drawer-backdrop{z-index:50;opacity:0;pointer-events:none;background:#040a148c;transition:opacity .2s;display:block;position:fixed;inset:0}.is-drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.mobile-bar{z-index:40;padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-right:62px;display:flex;position:sticky;top:0}.notif-host{top:4px;right:10px}.notif-stack{top:56px;right:12px}.mobile-bar .lupa-logo-name{color:var(--text);font-size:17px}.mobile-bar-tasks{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.card:has(>.list-table){overflow-x:auto}.list-table th,.list-table td{white-space:nowrap}.list-table td:first-child{white-space:normal;min-width:200px}.page{padding:20px 16px 48px}.page-head{flex-wrap:wrap;align-items:flex-start}.split,.preview-layout{grid-template-columns:1fr}.builder-body{grid-template-columns:1fr;overflow:auto}.palette{border-right:0;border-bottom:1px solid var(--border)}.palette-items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.properties{border-left:0;border-top:1px solid var(--border)}.builder-actions .btn{padding:0 10px}.builder-canvas{padding:12px}.cell{grid-column:1/-1}}.builder-tabs{flex:none}.builder-tabs button{align-items:center;gap:6px;height:30px;padding:0 12px;display:inline-flex}.tab-dot{background:var(--teal-400);width:6px;height:6px;box-shadow:0 0 8px var(--teal-400);border-radius:50%}.builder-code{min-width:0;min-height:0;padding:16px;display:flex}.script-editor{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;flex:1;display:flex;overflow:hidden}.script-editor>section{flex:1;min-height:0}.script-status{border-top:1px solid var(--border);background:var(--surface-2);flex:none;justify-content:space-between;gap:12px;padding:6px 14px;font-size:12px;display:flex}.script-status span{align-items:center;gap:6px;display:inline-flex}.script-status .ok{color:var(--ok)}.script-status .warn{color:var(--warn)}.script-status .bad{color:var(--danger)}.script-hint{color:var(--text-muted);margin:0 6px 10px;font-size:12px}.script-field{cursor:pointer;align-items:flex-start}.script-field>span{text-align:left;min-width:0;display:grid}.script-field strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.script-field code{color:var(--accent);font-size:11px}.script-field svg{flex:none;margin-top:2px}.snippet-list{border-bottom:1px solid var(--border);gap:8px;padding:14px 16px;display:grid}.snippet{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;justify-items:start;gap:6px;padding:10px 12px;transition:border-color .15s;display:grid}.snippet:hover{border-color:var(--border-strong)}.snippet strong{color:var(--heading);font-size:13px}.snippet p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.snippet .btn{margin-left:-10px}.reference-toggle{cursor:pointer;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10.5px;font-weight:600;display:inline-flex}.reference{gap:8px;margin:0;display:grid}.reference div{gap:1px;display:grid}.reference dt code{color:var(--primary);font-size:11.5px}.reference dd{color:var(--text-muted);margin:0;font-size:11.5px}.badge svg{flex:none}.badge-info{color:#6fa0ff;background:#3b7bff24}:root[data-theme=light] .badge-info{color:#1d4ed8}.badge-danger{background:var(--danger-bg);color:var(--danger)}.user-switch{margin-top:-4px}.user-avatar{background:linear-gradient(135deg, var(--teal-600), #2f6cf6)}.user-option{min-width:0;line-height:1.25;display:grid}.user-option small{color:var(--slate-400);font-size:11px}.nav-badge{min-width:20px;height:20px;font:600 11px/1 var(--font-body);color:var(--navy-950);background:var(--teal-400);border-radius:999px;flex:none;place-items:center;padding:0 6px;display:grid;box-shadow:0 0 10px #43d9d080}.nav-icon{position:relative}.nav-dot{background:var(--teal-400);width:8px;height:8px;box-shadow:0 0 8px var(--teal-400);border-radius:50%;position:absolute;top:-2px;right:-2px}.is-collapsed .nav-badge{display:none}.page-narrow{max-width:900px}.back-link{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:8px;font-size:13px;display:inline-flex}.back-link:hover{color:var(--primary);text-decoration:none}.page-sub{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.page-notice{margin-bottom:16px;display:inline-block}.page-alert{align-items:center;gap:8px;margin-bottom:16px;display:flex}.form-card{padding:24px}.form-card.paper{background:var(--surface);color:var(--text)}.catalog{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.catalog-card{color:var(--text);transition:transform .15s var(--ease), border-color .15s, box-shadow .2s;align-content:start;gap:8px;padding:20px;text-decoration:none;display:grid}a.catalog-card:hover{border-color:color-mix(in srgb, var(--primary) 50%, transparent);box-shadow:var(--shadow), var(--glow);text-decoration:none;transform:translateY(-2px)}.catalog-card strong{font-family:var(--font-display);color:var(--heading);font-size:17px}.catalog-card p{color:var(--text-muted);min-height:36px;margin:0;font-size:13px}.catalog-icon{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border-radius:12px;place-items:center;display:grid}.catalog-cta{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.catalog-card.is-locked{opacity:.6}.catalog-filters{gap:10px;margin-bottom:18px;display:grid}.catalog-section+.catalog-section{margin-top:26px}.catalog-area{font-family:var(--font-display);color:var(--heading);margin:0 0 12px;font-size:18px}.catalog-area-toggle{border:1px solid var(--border);background:var(--surface-2);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.catalog-area-toggle:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:var(--primary-soft)}.catalog-area-toggle:disabled{cursor:default}.catalog-area-toggle span{flex:1;min-width:0}.catalog-area-toggle small{font-family:var(--font-body);color:var(--text-muted);font-size:12px;font-weight:600}.catalog-chevron{color:var(--primary);transition:transform .18s var(--ease);flex:none}.is-collapsed .catalog-chevron{transform:rotate(-90deg)}.catalog-section.is-collapsed .catalog-area{margin-bottom:0}.catalog-bulk{align-items:center;gap:8px;margin:-6px 0 12px;font-size:12.5px;display:flex}@media (prefers-reduced-motion:reduce){.catalog-chevron{transition:none}}.process-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:20px;display:grid}.process-main{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.process-side{gap:16px;display:grid;position:sticky;top:16px}.side-card{padding:16px}.side-card h4{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:10.5px;font-weight:600}.action-bar{gap:12px;padding:16px;display:grid}.action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.waiting-card{border-color:color-mix(in srgb, var(--primary) 30%, transparent);margin-bottom:16px;padding:12px 16px}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:26px 1fr;gap:10px;padding-bottom:14px;display:grid;position:relative}.timeline li:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:26px;bottom:0;left:12px}.timeline-dot{background:var(--surface-3);width:26px;height:26px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.tone-ok .timeline-dot{background:var(--ok-bg);color:var(--ok)}.tone-danger .timeline-dot{background:var(--danger-bg);color:var(--danger)}.tone-warn .timeline-dot{background:var(--warn-bg);color:var(--warn)}.tone-info .timeline-dot{background:var(--primary-soft);color:var(--primary)}.timeline-title{color:var(--heading);margin:3px 0 2px;font-size:13px}.timeline time{color:var(--text-muted);font-size:11px}.timeline blockquote{background:var(--surface-2);color:var(--text);border-radius:8px;margin:4px 0;padding:6px 10px;font-size:12.5px;font-style:italic}.flow-canvas{min-width:0;min-height:0;position:relative}.flow-canvas .react-flow,.flow-diagram .react-flow{--xy-background-color:transparent;--xy-background-pattern-color:var(--dots)}.flow-canvas .react-flow__controls{box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.react-flow__controls-button{background:var(--surface);border-bottom-color:var(--border);color:var(--text)}.react-flow__controls-button:hover{background:var(--surface-3)}.react-flow__controls-button svg{fill:currentColor}.tone-start,.flow-node-start{--nc:#1fd1a1}.tone-task,.flow-node-task{--nc:#3b7bff}.tone-decision,.flow-node-decision{--nc:#ffb020}.tone-integration,.flow-node-integration{--nc:#22b8d6}.tone-list,.flow-node-list{--nc:#ec6aa4}.tone-subflow,.flow-node-subflow{--nc:#f08a4b}.tone-pdf,.flow-node-pdf{--nc:#a67cff}.tone-spreadsheet,.flow-node-spreadsheet{--nc:#36c46b}.tone-txt,.flow-node-txt{--nc:#7f93ad}.tone-end,.flow-node-end{--nc:#2fcf8f}.flow-node-end.outcome-rejected{--nc:#ff5d73}.flow-node-end.outcome-cancelled{--nc:#8b98a9}.flow-palette-item{border-radius:12px;gap:9px;padding:10px 12px}.flow-palette-item .palette-swatch{background:var(--nc);width:9px;height:9px;box-shadow:0 0 8px color-mix(in srgb, var(--nc) 70%, transparent);border-radius:3px;flex:none}.flow-palette-item svg{color:var(--nc);flex:none}.flow-palette-item strong{color:var(--heading);font-weight:600}.flow-palette-item:hover{border-color:color-mix(in srgb, var(--nc) 60%, transparent);background:color-mix(in srgb, var(--nc) 10%, var(--surface));box-shadow:0 0 16px color-mix(in srgb, var(--nc) 22%, transparent)}.type-task{background:#3b7bff}.type-decision{background:#ffb547;transform:rotate(45deg)scale(.8)}.type-integration{background:var(--purple-400)}.type-end{background:var(--teal-400);border-radius:50%!important}.flow-node{--nc:#3b7bff;background:color-mix(in srgb, var(--surface) 94%, var(--nc));min-width:176px;max-width:232px;color:var(--text);border:1.5px solid color-mix(in srgb, var(--nc) 34%, var(--border-strong));border-radius:14px;align-items:center;gap:10px;padding:9px 14px 9px 9px;font-size:12.5px;transition:border-color .15s,box-shadow .2s;display:flex;position:relative;box-shadow:0 6px 18px #00000029}.flow-node:hover{border-color:color-mix(in srgb, var(--nc) 65%, transparent)}.flow-node .flow-node-icon{width:32px;height:32px;color:var(--nc);background:color-mix(in srgb, var(--nc) 17%, transparent);border:1px solid color-mix(in srgb, var(--nc) 34%, transparent);border-radius:10px;flex:none;place-items:center;display:grid}.flow-node-body{min-width:0;line-height:1.25;display:grid}.flow-node-body strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.flow-node-body small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.flow-node-start,.flow-node-end{border-radius:999px;min-width:140px;padding-right:20px}.flow-node-start{border-color:var(--nc);box-shadow:0 0 0 1px color-mix(in srgb, var(--nc) 25%, transparent), 0 0 22px color-mix(in srgb, var(--nc) 38%, transparent)}.flow-node-start .flow-node-icon,.flow-node-end .flow-node-icon{border-radius:50%}.flow-node.is-selected{border-color:var(--nc);box-shadow:0 0 0 3px color-mix(in srgb, var(--nc) 30%, transparent), 0 0 24px color-mix(in srgb, var(--nc) 30%, transparent)}.flow-node.has-error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.flow-node .react-flow__handle{background:var(--surface);border:2px solid var(--nc);width:9px;height:9px;transition:box-shadow .15s,background .15s}.flow-node .react-flow__handle:hover,.flow-node .react-flow__handle.connectingfrom{background:var(--nc);box-shadow:0 0 10px var(--nc)}.flow-node.run-idle{opacity:.5}.flow-node.run-done{border-color:color-mix(in srgb, var(--ok) 55%, transparent)}.flow-node.run-current{border-color:var(--teal-400);box-shadow:0 0 0 3px #43d9d04d,0 0 26px #43d9d059}.flow-node-pulse{background:var(--teal-400);border-radius:50%;width:12px;height:12px;animation:1.6s infinite pulse;position:absolute;top:-4px;right:-4px;box-shadow:0 0 #43d9d099}@keyframes pulse{70%{box-shadow:0 0 0 10px #43d9d000}to{box-shadow:0 0 #43d9d000}}.flow-diagram{background-image:radial-gradient(var(--dots) 1px, transparent 1px);background-size:16px 16px;border-radius:10px;height:300px}.flow-diagram .flow-node{min-width:150px}.flow-diagram-tall{border:1px solid var(--border);height:min(560px,62vh)}.progress-card{text-align:left;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .2s;display:grid}.progress-card:hover{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:var(--primary-soft);box-shadow:var(--glow)}.progress-dot{background:var(--ok);border-radius:50%;width:10px;height:10px}.tone-running .progress-dot{background:var(--primary);box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 60%, transparent);animation:1.8s ease-out infinite progress-pulse}.tone-bad .progress-dot{background:var(--danger,#e5484d)}.progress-text{min-width:0;display:grid}.progress-text small{color:var(--text-muted);font-size:11px}.progress-text strong{overflow-wrap:anywhere;font-size:15px}.progress-open{color:var(--primary);grid-column:2;align-items:center;gap:6px;font-size:12px;display:inline-flex}@keyframes progress-pulse{70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.progress-modal{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.progress-heading{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:10.5px;font-weight:600}@media (width<=860px){.progress-modal{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tone-running .progress-dot{animation:none}}.react-flow__edge-path{stroke-width:1.75px}.flow-edge .react-flow__edge-path{stroke:#7d8ca3}.edge-positive .react-flow__edge-path{stroke:#2fbf7f}.edge-negative .react-flow__edge-path{stroke:#e5526a}.edge-muted .react-flow__edge-path{stroke-dasharray:5 4}.flow-edge.selected .react-flow__edge-path,.flow-edge:hover .react-flow__edge-path{stroke:var(--teal-400);stroke-width:2.25px}.flow-edge.has-error .react-flow__edge-path{stroke:var(--danger);stroke-dasharray:4 3}.react-flow__edge-textbg{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.react-flow__edge-text{fill:var(--text);font-size:10.5px;font-weight:600}.edge-positive .react-flow__edge-textbg{fill:color-mix(in srgb, #2fbf7f 16%, var(--surface));stroke:#2fbf7f}.edge-positive .react-flow__edge-text{fill:var(--ok)}.edge-negative .react-flow__edge-textbg{fill:color-mix(in srgb, #e5526a 16%, var(--surface));stroke:#e5526a}.edge-negative .react-flow__edge-text{fill:var(--danger)}.flow-properties .head-action{margin-left:auto}.properties-head{gap:8px}.assignee-editor{gap:8px;display:grid}.field-modes{gap:6px;display:grid}.field-mode-row{grid-template-columns:1fr 130px;align-items:center;gap:8px;font-size:12.5px;display:grid}.field-mode-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mode-edit{color:var(--primary)}.mode-required{color:var(--warn);font-weight:600}.mode-hide{color:var(--text-muted)}.sheet-read{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:6px;padding:8px;display:grid}.sheet-read-head{grid-template-columns:1fr 96px auto;align-items:center;gap:6px;display:grid}.sheet-columns{gap:4px;display:grid}.sheet-columns-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-column{grid-template-columns:1fr 1fr 84px 44px auto;align-items:center;gap:4px;display:grid}.sheet-letter{text-align:center;text-transform:uppercase}.sheet-explore{justify-items:start;gap:4px;display:grid}.sheet-preview{border:1px solid var(--border);background:var(--surface);border-radius:6px;max-height:190px;overflow:auto}.sheet-preview table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11.5px}.sheet-preview td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:160px;padding:3px 7px;overflow:hidden}.sheet-preview td.num{text-align:right;font-variant-numeric:tabular-nums}.sheet-preview tr.is-header td{background:var(--surface-2);font-weight:600}.sheet-preview>.prop-hint{margin:4px 7px}.doc-picker{gap:4px;display:grid}.doc-option{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 8px;font-size:12.5px;display:block}.doc-option:hover{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:var(--primary-soft)}.doc-picked{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;display:flex}.doc-picked span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.txt-columns{gap:6px;display:grid}.txt-column{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:4px;padding:6px 8px;display:grid}.txt-column.is-off{opacity:.6}.txt-column-name{align-items:center;gap:8px;font-size:12.5px;display:flex}.txt-column-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.txt-column-setup{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.txt-column-setup .input{width:64px}.txt-column-setup .select-trigger{width:92px}.flow-help p{color:var(--text-muted);align-items:flex-start;gap:6px;margin:0;font-size:12.5px;display:flex}.people-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.people-card{gap:14px;padding:18px;display:grid}.people-card h3{align-items:center;gap:8px;font-size:16px;display:flex}.people-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.people-list li{border-radius:10px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.people-list li:hover{background:var(--surface-2)}.people-list li>span:nth-child(2){min-width:0;display:grid}.people-list small{color:var(--text-muted);font-size:12px}.people-list .is-inactive{opacity:.55}.people-groups{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.inline-form{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.inline-form .input{flex:1;min-width:140px}.group-editor{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:8px;padding:12px;display:grid}.group-head{align-items:center;gap:8px;display:flex}.group-head .btn{margin-left:auto}.group-members{flex-wrap:wrap;gap:6px;display:flex}.group-members .chip{align-items:center;gap:6px;display:inline-flex}.group-members .chip input{accent-color:var(--teal-600)}@media (width<=1100px){.process-layout,.people-grid{grid-template-columns:1fr}.process-side{position:static}}.badge:has(svg):before{display:none}.builder-body[hidden]{display:none}.timeline-logs{margin-bottom:10px;font-size:12px;display:inline-block}.timeline li.tone-muted blockquote{font-family:var(--font-mono);font-size:11.5px;font-style:normal}.page-loading.full{min-height:100dvh}.auth-screen{background:radial-gradient(700px 420px at 15% 10%, #43d9d024, transparent 65%), radial-gradient(640px 420px at 90% 90%, #a67cff24, transparent 65%), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:32px 16px;display:flex;position:relative}.auth-theme{position:absolute;top:16px;right:16px}.auth-card{background:var(--surface-glass);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow), 0 24px 60px #0813232e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:modal-in .25s var(--ease) both;border-radius:18px;padding:32px 28px 28px}.auth-card h1{font-family:var(--font-display);color:var(--heading);margin:0;font-size:24px}.auth-brand{color:var(--heading);margin-bottom:26px}.auth-sub{color:var(--text-muted);margin:4px 0 0}.auth-form{flex-direction:column;gap:14px;margin-top:22px;display:flex}.auth-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.auth-footer{color:var(--text-muted);font-size:12px}.btn-block{justify-content:center;width:100%}.password-input{position:relative}.password-input .input{width:100%;padding-right:42px}.password-input .icon-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-rules{color:var(--text-muted);gap:3px;margin:-4px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.password-rules li:before{content:"○";width:16px;display:inline-block}.password-rules li.is-ok{color:var(--ok)}.password-rules li.is-ok:before{content:"✓"}.auth-alert{border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.auth-alert p{margin:0}.auth-alert strong{display:block}.auth-alert svg{flex:none;margin-top:1px}.auth-alert-plain,.auth-alert-locked{background:var(--danger-bg);color:var(--danger-text)}.auth-alert-seats{background:var(--warn-bg);color:var(--warn)}.auth-alert-info{background:var(--primary-soft);color:var(--text)}.auth-alert-info svg{color:var(--primary)}.slug-input{align-items:center;gap:0;display:flex}.slug-input .input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1;min-width:0}.slug-input span{color:var(--text-muted);white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;border-left:0;align-self:stretch;align-items:center;padding:0 10px;font-size:13px;display:flex}.tenant-badge{color:#fff;background:#ffffff08;border:1px dashed #a9bad029;border-radius:12px;align-items:center;gap:10px;margin-bottom:10px;padding:8px;display:flex}.user-menu{margin:8px 0 0}.user-menu .user-menu-pop{top:auto;bottom:calc(100% + 6px)}.user-menu .tenant-option svg{color:var(--slate-400)}.is-collapsed .tenant-badge{justify-content:center;padding:6px}.is-collapsed .tenant-badge .tenant-text,.is-collapsed .user-menu .tenant-text,.is-collapsed .user-menu .tenant-chevron{display:none}.plan-strip{flex-wrap:wrap;gap:12px 36px;margin-bottom:16px;padding:14px 20px;display:flex}.plan-strip div{gap:2px;display:grid}.plan-strip small{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.plan-strip strong{font-family:var(--font-display);color:var(--heading);font-size:18px}.plan-strip .is-full,.is-full{color:var(--warn)}.tag-admin{background:var(--accent-soft);color:var(--accent)}.tag-builder{background:var(--primary-soft);color:var(--primary)}.tag-locked{background:var(--danger-bg);color:var(--danger-text)}.people-groups{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.secret-box{gap:10px;display:grid}.secret-box p{margin:0}.secret-value{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.secret-value code{font:600 18px/1.2 var(--font-mono);letter-spacing:.06em;color:var(--heading);-webkit-user-select:all;user-select:all;flex:1}.seats-card{gap:10px;margin-bottom:16px;padding:16px 20px;display:grid}.seats-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.seats-head span{color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.seats-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.seats-bar>span{border-radius:inherit;background:var(--primary-fill);height:100%;transition:width .4s var(--ease);display:block}.seats-bar>span.is-high{background:var(--warn)}.seats-bar>span.is-full{background:var(--danger)}.seats-bar.mini{width:80px;height:6px}.person-cell{align-items:center;gap:10px;display:inline-flex}.list-table tr.is-inactive td{opacity:.55}.usage{align-items:center;gap:8px;display:inline-flex}.platform{min-height:100dvh}.platform-bar{z-index:10;color:#fff;background:linear-gradient(#12243af5,#081323f5);border-bottom:1px solid #a9bad01f;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.platform-bar .lupa-logo{margin-right:auto}.platform-bar .btn-ghost{color:#dfe8f5}.platform-user{color:var(--slate-400);font-size:13px}.plan-options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.plan-option{cursor:pointer;text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;gap:2px;padding:10px;display:grid}.plan-option small{color:var(--text-muted);font-size:11px}.plan-option.is-active{border-color:var(--primary);box-shadow:var(--btn-glow);background:var(--primary-soft)}@media (width<=560px){.plan-options{grid-template-columns:repeat(2,1fr)}}.password-input input::-ms-reveal{display:none}.password-input input::-ms-clear{display:none}.page-wide{max-width:1480px}.page-tabs{margin-bottom:18px;display:inline-flex}.page-tabs button{align-items:center;gap:6px;padding:0 14px;display:inline-flex}.rot-90{transition:transform .15s;transform:rotate(90deg)}.chip-list{flex-wrap:wrap;gap:6px;display:flex}.chip-list .chip input{opacity:0;pointer-events:none;position:absolute}.chip-list .chip{position:relative}.chip-removable{cursor:default;align-items:center;gap:4px;display:inline-flex}.chip-removable button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:0;display:inline-flex}.chip-removable button:hover{opacity:1}.stack-sm{gap:8px;display:grid}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-bg)}.viz-chart{width:100%;height:100%;min-height:120px}.viz-empty{height:100%;min-height:80px;color:var(--text-muted);place-items:center;font-size:13px;display:grid}.viz-number{flex-direction:column;justify-content:center;gap:4px;height:100%;padding:0 4px;display:flex}.viz-number strong{font-family:var(--font-display);letter-spacing:-.02em;background:var(--primary-fill);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,3.2vw,44px);line-height:1.05}.viz-number span{color:var(--text-muted);font-size:12px}.viz-number.tone-ok strong{color:var(--ok);background:0 0}.viz-number.tone-warn strong{color:var(--warn);background:0 0}.viz-number.tone-danger strong{color:var(--danger);background:0 0}:root[data-theme=dark] .viz-number.tone-ok strong{color:#6ee7a8}:root[data-theme=dark] .viz-number.tone-warn strong{color:#ffc069}:root[data-theme=dark] .viz-number.tone-danger strong{color:#ff7a9a}.viz-table{border-radius:8px;height:100%;overflow:auto}.viz-table table{border-collapse:collapse;width:100%;font-size:13px}.viz-table th{z-index:1;text-align:left;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.viz-table td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:360px;padding:7px 10px;overflow:hidden}.viz-table tr:hover td{background:var(--surface-2)}.viz-table .num{text-align:right;font-variant-numeric:tabular-nums}.viz-more{color:var(--text-muted);margin:8px 10px;font-size:12px}.dashboard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.dashboard-card{color:var(--text);transition:transform .18s var(--ease), border-color .18s, box-shadow .18s;align-content:start;gap:8px;padding:20px;text-decoration:none;display:grid}.dashboard-card:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));box-shadow:var(--shadow), 0 0 0 1px var(--primary-soft);transform:translateY(-2px)}.dashboard-card strong{font-family:var(--font-display);color:var(--heading);font-size:17px}.dashboard-card p{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.dashboard-card-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.dashboard-card footer{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12px;display:flex}.dashboard-card footer span{align-items:center;gap:4px;display:inline-flex}.home-hint{margin-top:14px}.home-hint .link{align-items:center;gap:5px;text-decoration:none;display:inline-flex}.query-link{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.query-link svg{color:var(--primary);flex:none}.query-link span{display:grid}.query-link small{color:var(--text-muted)}.query-link:hover strong{color:var(--primary)}.dashboard-head h1{font-size:28px}.eyebrow-link{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.eyebrow-link:hover{color:var(--primary)}.refresh-select{width:auto}.dashboard-filters{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:16px;padding:10px 14px;display:flex}.period-picker{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.period-picker .segmented{scrollbar-width:none;max-width:100%;overflow-x:auto}.period-picker .segmented button{flex:none;padding:0 10px}.period-dates{align-items:center;gap:8px;display:inline-flex}.period-dates .input{width:150px}.param-input{color:var(--text-muted);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.param-input span{font-family:var(--font-mono);color:var(--accent)}.param-input .input{width:160px}.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:16px;display:grid}.widget{flex-direction:column;min-width:0;padding:12px 14px 14px;display:flex;position:relative}.widget.h-sm{height:150px}.widget.h-md{height:340px}.widget.h-lg{height:480px}.widget.is-kpi{overflow:hidden}.widget.is-kpi:after{content:"";background:radial-gradient(circle, var(--primary-soft), transparent 70%);pointer-events:none;border-radius:50%;width:160px;height:160px;position:absolute;inset:auto -40px -60px auto}.widget.is-dragging{z-index:5;opacity:.85;box-shadow:0 20px 50px #00000059}.widget-head{align-items:center;gap:6px;min-height:30px;margin-bottom:6px;display:flex}.widget-head h3{min-width:0;color:var(--heading);white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;margin:0;font-size:13.5px;font-weight:600;display:flex;overflow:hidden}.widget-tools{opacity:.55;align-items:center;gap:2px;margin-left:auto;transition:opacity .15s;display:inline-flex}.widget:hover .widget-tools,.is-editing .widget-tools{opacity:1}.widget-tools .input{width:auto;height:26px;padding:0 4px;font-size:12px}.widget-tools .icon-btn{width:26px;height:26px}.widget-title-input{border:1px dashed var(--border-strong);min-width:0;height:28px;color:var(--heading);font:600 13.5px var(--font-body);background:0 0;border-radius:6px;flex:1;padding:0 8px}.widget-title-input:focus{border-style:solid;border-color:var(--primary);outline:none}.drag-handle{cursor:grab}.drag-handle:active{cursor:grabbing}.is-editing .widget{outline:1px dashed color-mix(in srgb, var(--primary) 40%, transparent);outline-offset:3px}.widget-body{flex:1;min-height:0;position:relative}.widget-skeleton{background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);background-size:300% 100%;border-radius:10px;height:100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.widget-error{background:var(--danger-bg);color:var(--danger-text);border-radius:8px;align-items:flex-start;gap:8px;padding:10px;font-size:12.5px;display:flex}.widget-expanded{height:min(64vh,620px)}.dashboard-foot{text-align:center;margin-top:18px}.dashboard.is-fullscreen{background:var(--bg);max-width:none;height:100dvh;padding:24px 28px;overflow:auto}.pick-list{gap:4px;max-height:50vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.pick-list button{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.pick-list button:hover{background:var(--surface-2);border-color:var(--border)}.pick-list button>svg{color:var(--primary);flex:none}.pick-list button>span:not(.badge){flex:1;display:grid}.pick-list small{color:var(--text-muted)}@media (width<=1100px){.widget{grid-column:span 6!important}}@media (width<=720px){.widget{grid-column:span 12!important}}.ae-body{flex:1;grid-template-columns:250px minmax(0,1fr) 280px;min-height:0;display:grid}.ae-catalog,.ae-settings{background:var(--surface-glass);flex-direction:column;gap:10px;padding:14px;display:flex;overflow:auto}.ae-catalog{border-right:1px solid var(--border)}.ae-settings{border-left:1px solid var(--border)}.ae-catalog h3,.ae-settings h3{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:4px 0 0;font-size:12px;display:flex}.catalog-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:8px 0 4px;font-size:10.5px;font-weight:600}.catalog-table{border-radius:8px}.catalog-table.is-active{background:var(--primary-soft)}.catalog-row{align-items:center;display:flex}.catalog-row .icon-btn{width:22px;height:26px}.catalog-name{cursor:pointer;text-align:left;min-width:0;color:var(--text);background:0 0;border:0;border-radius:6px;flex:1;padding:4px 6px;display:grid}.catalog-name:hover{background:var(--surface-2)}.catalog-name strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.catalog-name code{color:var(--accent);font-size:11px}.catalog-columns{margin:0 0 6px 22px;padding:0;list-style:none}.catalog-columns button{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:5px;grid-template-columns:8px auto 1fr;align-items:center;gap:6px;padding:3px 6px;display:grid}.catalog-columns button:hover{background:var(--surface-2)}.catalog-columns code{font-size:11.5px}.catalog-columns small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.type-dot{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.type-number{background:#ffc069}.type-date,.type-datetime{background:#5b8cff}.type-boolean{background:#6ee7a8}.type-json{background:#f0abfc}.type-text{background:#43d9d0}.ae-main{flex-direction:column;min-width:0;min-height:0;display:flex}.ae-query{border-bottom:1px solid var(--border);background:var(--surface-glass);flex:none;max-height:46%;overflow:auto}.ae-query.is-sql{height:40%;max-height:none;overflow:hidden}.sql-editor{height:100%}.ae-runbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:10px 16px;padding:8px 14px;display:flex}.ae-status{color:var(--text-muted);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}.ae-result{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px 14px;display:flex}.ae-result-head{align-items:center;gap:10px;display:flex}.ae-result-head .segmented button{align-items:center;gap:6px;padding:0 12px;display:inline-flex}.ae-result-head .btn{margin-left:auto}.ae-error{background:var(--danger-bg);color:var(--danger-text);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.ae-error p{font-family:var(--font-mono);margin:2px 0 0;font-size:12.5px}.ae-viz{flex:1;min-height:0;transition:opacity .2s}.ae-viz.is-running{opacity:.55}.ae-settings textarea{resize:vertical}.visual-builder{gap:4px;padding:12px 16px;display:grid}.vb-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vb-label{color:var(--heading);font-weight:600}.vb-table{width:auto;min-width:220px}.vb-block{border-top:1px dashed var(--border);justify-items:start;gap:6px;padding:8px 0;display:grid}.vb-block h4{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:11.5px;display:flex}.vb-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vb-line .input{width:auto;min-width:140px}.vb-alias{min-width:200px!important}.vb-footer{border-top:1px dashed var(--border);gap:10px 22px;padding-top:8px}.vb-inline{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.vb-inline .input{width:auto}.vb-limit{width:90px!important}.vb-sql{padding:0 16px 12px}.vb-sql .link{align-items:center;gap:4px;font-size:12.5px;text-decoration:none;display:inline-flex}.vb-sql pre{background:var(--code-bg);color:var(--code-text);font:12.5px/1.5 var(--font-mono);white-space:pre-wrap;border-radius:8px;margin:8px 0;padding:10px 12px}.chart-settings{gap:14px;display:grid}.chart-types{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.chart-type{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:10px;justify-items:center;gap:4px;padding:8px 4px;font-size:11px;transition:all .15s;display:grid}.chart-type:hover{color:var(--heading);border-color:var(--border-strong)}.chart-type.is-active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);box-shadow:var(--btn-glow)}@media (width<=1100px){.ae-body{grid-template-columns:0 minmax(0,1fr) 260px}.ae-catalog{display:none}}.block{display:block}.badge-stack{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-primary.danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:none}.input-affix-end .input{padding-left:10px}.input-affix-end span{order:2;padding:0 10px 0 4px;font-weight:400}.docs-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:20px;display:grid}.docs-tree{gap:2px;max-height:calc(100dvh - 32px);padding:8px;display:grid;position:sticky;top:16px;overflow:auto}.tree{gap:2px;display:grid}.tree-item{width:100%;min-height:34px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:0 6px 0 8px;font-size:13.5px;display:flex}button.tree-item{gap:8px;padding-left:12px}.tree-item:hover{background:var(--surface-2)}.tree-item.is-drop{background:var(--primary-soft);outline:2px dashed var(--primary);outline-offset:-2px}.tree-item.is-drop-denied{outline:2px dashed var(--danger,#c0392b);outline-offset:-2px;cursor:not-allowed}.docs-layout.is-dropping .docs-main{outline:2px dashed var(--primary);outline-offset:4px;border-radius:12px}.tree-item.is-active{background:var(--primary-soft);color:var(--primary)}.tree-toggle{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;display:grid}.tree-toggle.is-leaf{visibility:hidden}.tree-label{min-width:0;height:34px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;display:flex}.tree-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-label small{color:var(--text-muted);margin-left:auto;font-size:11.5px}.tree-gear{opacity:0;width:24px;height:24px}.tree-item:hover .tree-gear,.tree-gear:focus-visible{opacity:1}.tree-empty{margin:0;padding:8px 12px}.docs-main{gap:14px;min-width:0;display:grid}.docs-folder-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.docs-folder-head h2{align-items:center;gap:8px;margin:0 0 4px;font-size:20px;display:flex}.docs-folder-head p{margin:0}.docs-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.docs-toolbar .segmented{flex:none;max-width:100%;overflow-x:auto}.docs-toolbar .segmented button{padding:0 10px}.list-filters{margin-bottom:20px}.list-filters .search-box{max-width:460px}.search-box{flex:1;min-width:220px;position:relative}.search-box svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-box .input{padding-left:32px}.requests-filters{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:14px;display:grid}.requests-flow{width:auto;min-width:200px;max-width:280px}.requests-role{width:auto;min-width:170px;max-width:240px}.segmented-count{opacity:.65;margin-left:4px;font-size:11px;font-weight:600}.requests-limit{margin-top:10px}.card.is-refreshing{opacity:.6;transition:opacity .15s}@media (width<=640px){.requests-filters .search-box{flex-basis:100%;min-width:0}.requests-flow,.requests-role{flex:1;min-width:0;max-width:none}.requests-table th:nth-child(4),.requests-table td:nth-child(4){display:none}}.doc-link{color:inherit;gap:2px;text-decoration:none;display:grid}.doc-link code{font-size:12px}.doc-link strong{color:var(--heading)}.docs-table td:first-child{min-width:260px}.doc-title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.doc-title code{background:var(--accent-soft);color:var(--accent);font-size:.55em;font-family:var(--font-mono);border-radius:6px;padding:3px 8px}.doc-version-switch{width:fit-content;max-width:100%}.doc-version-switch button{padding:0 14px}.doc-draft-banner{background:var(--warn-bg);color:var(--warn);border-radius:14px 14px 0 0;padding:8px 16px;font-size:13px}.doc-viewer{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.doc-viewer-body{min-width:0;max-width:100%;overflow:hidden}.doc-viewer-frame{min-width:0;max-width:100%}@media (width<=1280px){.process-layout.doc-layout{grid-template-columns:minmax(0,1fr)}.process-layout.doc-layout .process-side{position:static}}@media (width>=1281px){.process-layout.doc-layout{grid-template-columns:minmax(0,1fr) 340px}}.doc-viewer-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.doc-viewer-bar small{flex:none}.doc-viewer-bar .btn:first-of-type{margin-left:auto}.doc-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--heading);font-weight:600;overflow:hidden}.doc-viewer-body{position:relative}.doc-print-block{display:none}.doc-trace{z-index:3;pointer-events:none;background-repeat:repeat;position:absolute;inset:0}.doc-viewer.is-view-only .doc-viewer-body{-webkit-user-select:none;user-select:none}@media print{.doc-viewer.is-view-only .doc-viewer-bar,.doc-viewer.is-view-only .doc-viewer-body{display:none!important}.doc-viewer.is-view-only .doc-print-block{padding:24px;font-weight:600;display:block}}.doc-watermark{z-index:2;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.doc-watermark>span{color:#c8282847;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-items:center;gap:4px;display:grid;transform:rotate(-30deg)}.doc-watermark.is-obsolete>span{color:#78787861}.doc-watermark.is-obsolete strong{font-size:clamp(36px,8vw,88px)}.doc-watermark strong{letter-spacing:.08em;font-size:clamp(28px,6vw,64px);font-weight:800}.doc-watermark small{font-size:clamp(14px,2.4vw,24px);font-weight:600}.doc-viewer-frame{background:#fff;border:0;border-radius:0 0 14px 14px;width:100%;height:min(75vh,900px)}.doc-viewer-word{background:var(--surface-2);overflow:auto}.pdf-host{justify-items:center;gap:12px;padding:16px;display:grid}.pdf-host canvas{background:#fff;max-width:100%;box-shadow:0 1px 6px #0000002e}.doc-text{white-space:pre-wrap;font-family:var(--font-mono,monospace);background:#fff;min-height:100%;margin:0;padding:16px;font-size:13px}.pptx-host{justify-items:center;gap:12px;padding:16px;display:grid}.pptx-host>*{box-shadow:0 1px 6px #0000002e}.doc-viewer-word .docx-wrapper{background:0 0!important;padding:16px!important}.doc-viewer-word .docx-wrapper>section.docx{max-width:100%;box-shadow:0 1px 6px #0000002e;margin:0 auto 16px!important}.doc-viewer-image{background:var(--surface-2);place-items:center;display:grid;overflow:auto}.doc-viewer-image img{max-width:100%;height:auto}.doc-viewer-empty{background:var(--surface-2);height:260px;color:var(--text-muted);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.read-card{border-color:color-mix(in srgb, var(--warn) 45%, transparent);align-items:center;gap:14px;padding:14px 16px;display:flex}.read-card>svg{color:var(--warn);flex:none}.read-card>div{flex:1}.read-card p{margin:2px 0 0}.read-card.is-late{border-color:var(--danger)}.read-card.is-late>svg{color:var(--danger)}.read-card.is-done{border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.read-card.is-done>svg{color:var(--ok)}.doc-tabs-card{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;padding:14px 16px 16px;display:grid}.doc-tab-body{min-width:0;overflow-x:auto}.doc-tabs{width:fit-content}.doc-tabs button{align-items:center;gap:6px;padding:0 14px;display:inline-flex}.doc-actions{gap:8px;display:grid}.doc-actions .btn{justify-content:flex-start}.doc-actions-inline{flex-wrap:wrap;gap:8px;display:flex}.doc-approval-title{color:var(--heading);margin:0 0 2px;font-weight:600}.doc-approval-title code{color:var(--accent)}.doc-info{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}.doc-info dt{color:var(--text-muted)}.doc-info dd{color:var(--heading);overflow-wrap:anywhere;margin:0}.doc-submit-form{background:var(--surface);color:var(--text);border-radius:12px;padding:20px}.readers-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.readers-head .input{width:auto}.readers-head .btn{margin-left:auto}.read-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.read-stat{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:2px;padding:12px;display:grid}.read-stat small{color:var(--text-muted);font-size:11.5px}.read-stat strong{font:600 24px/1.1 var(--font-display);color:var(--heading)}.read-stat span{color:var(--text-muted);font-size:12px}.read-stat.tone-ok strong{color:var(--ok)}.read-stat.tone-warn strong{color:var(--warn)}.read-stat.tone-danger strong{color:var(--danger)}.read-bar{background:var(--surface-3);border-radius:999px;height:8px;display:flex;overflow:hidden}.read-bar-ok{background:var(--ok)}.read-bar-warn{background:var(--warn)}.readers-filter{width:fit-content;max-width:100%;overflow-x:auto}.readers-filter button{padding:0 12px}.readers-table td .badge+.badge{margin-left:6px}.perm-editor{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:10px;padding:14px;display:grid}.perm-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.perm-row{grid-template-columns:160px 130px 1fr auto;align-items:center;gap:10px;display:grid}.perm-row>.select-trigger:first-child{grid-column:span 2}.perm-group{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.file-field{gap:8px;display:grid}.file-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.file-list li{border:1px solid var(--border);background:var(--input-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.file-list li a{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--primary);overflow:hidden}.file-list li .icon-btn{width:24px;height:24px;margin-left:auto}.file-drop{border:1px dashed var(--border-strong);background:var(--input-bg);width:fit-content;max-width:100%;min-height:36px;color:var(--text-muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:0 14px;font-size:13px;display:inline-flex;position:relative;overflow:hidden}.file-drop:hover{border-color:var(--primary);color:var(--primary)}.file-drop:focus-within{box-shadow:var(--focus)}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop.is-busy{pointer-events:none;opacity:.7}@media (width<=1100px){.read-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.docs-layout{grid-template-columns:1fr}.docs-tree{max-height:280px;position:static}.read-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.perm-row{grid-template-columns:1fr 1fr auto}.perm-hint{display:none}.doc-viewer-frame{height:60vh}}.people-grid-single{grid-template-columns:1fr}.people-card>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.groups-toolbar{margin-bottom:14px}.groups-toolbar .search-box{max-width:360px}.member-stack{align-items:center;gap:0;display:flex}.member-stack>:not(span){box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin-right:-6px}.member-stack>span{margin-left:14px}.member-picker{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:8px;padding:10px;display:grid}.member-actions{gap:14px;font-size:12.5px;display:flex}.member-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.member-list li .check{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.member-list li .check:hover{background:var(--surface-3)}.member-list li .check>span{min-width:0}.member-list li strong,.member-list li small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-box{border:1px solid var(--border);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.usage-box p{margin:0}.perm-add{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.perm-add .select-trigger{width:290px;max-width:100%}@media (width<=860px){.member-list{grid-template-columns:1fr}}.ai-badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.quota{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.quota.is-high{background:var(--warn-bg);color:var(--warn)}.quota.is-full{background:var(--danger-bg);color:var(--danger)}.ai-quota-line{margin:-6px 0 14px}.danger-text{color:var(--danger)}.file-ai-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.file-ai-row>.prop{flex:1;min-width:220px}.ai-fill{border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent)}.ai-type-box{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:var(--accent-soft);border-radius:10px;gap:10px;padding:12px}.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.metadata-grid .prop.is-ai .input{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.ai-views{width:fit-content;max-width:100%;overflow-x:auto}.ai-views button{align-items:center;gap:6px;padding:0 12px;display:inline-flex}.ai-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-head h4{margin:0}.ai-section{border:1px solid var(--border);border-radius:10px;gap:8px;padding:14px;display:grid}.ai-section h4{align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.ai-points,.ai-risks{gap:4px;margin:0;padding-left:18px;display:grid}.ai-risks{padding-left:0;list-style:none}.ai-risks .badge{margin-right:6px}.ai-compare-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ai-compare-bar .input{width:auto}.field-quote{overflow-wrap:anywhere;font-style:italic}.list-table.compact td,.list-table.compact th{padding:8px 10px}.markdown{gap:8px;line-height:1.55;display:grid}.markdown p,.markdown ul,.markdown ol{margin:0}.markdown ul,.markdown ol{gap:3px;padding-left:20px;display:grid}.markdown h4{margin:4px 0 0;font-size:14px}.markdown code{background:var(--surface-3);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:.9em}.chat{gap:10px;display:grid}.chat-log{align-content:start;gap:12px;min-height:220px;max-height:60vh;padding:4px 2px;display:grid;overflow:auto}.chat-empty{justify-items:start;gap:12px;padding:8px 0;display:grid}.chat-msg{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.chat-avatar{background:var(--surface-3);width:28px;height:28px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.chat-msg.is-assistant .chat-avatar{background:var(--accent-soft);color:var(--accent)}.chat-bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:8px;padding:10px 14px;display:grid}.chat-msg.is-user .chat-bubble{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 25%, transparent)}.chat-bubble p{margin:0}.chat-citations{border-top:1px dashed var(--border);gap:4px;margin:0;padding:8px 0 0;font-size:12.5px;list-style:none;display:grid}.chat-citations q{color:var(--text-muted);font-style:italic}.chat-docs{flex-wrap:wrap;gap:6px;display:flex}.chat-docs .tag{color:var(--primary);text-decoration:none}.chat-input{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.chat-input .input{resize:vertical;height:auto;padding:8px 10px}.chat-hint{margin:0}.ask-base{gap:14px;padding:16px;display:grid}.ask-base-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.ask-base-head h3{align-items:center;gap:8px;margin:0 0 4px;font-size:16px;display:flex}.ask-base-head p{margin:0}.ask-base-head .prop{min-width:240px}.folder-ai{color:var(--accent);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.folder-ai .small{color:var(--text-muted)}.type-fields{gap:8px;display:grid}.type-field-row{grid-template-columns:minmax(0,1.2fr) 130px minmax(0,1.5fr) auto auto;align-items:center;gap:8px;display:grid}.type-field-row .check{white-space:nowrap}.usage-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.usage-days{align-items:flex-end;gap:4px;height:120px;padding-top:8px;display:flex}.usage-days span{flex:1;grid-template-rows:1fr auto;gap:4px;min-width:0;height:100%;display:grid}.usage-days i{background:var(--accent);border-radius:4px 4px 0 0;align-self:end;min-height:2px;display:block}.usage-days small{text-align:center;color:var(--text-muted);font-size:10px}@media (width<=860px){.metadata-grid,.usage-grid,.usage-stats{grid-template-columns:1fr}.type-field-row{grid-template-columns:1fr 1fr}}.simulated-notice{background:var(--warn-bg);color:var(--warn);border-radius:8px;align-items:flex-start;gap:6px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.simulated-notice svg{flex:none;margin-top:2px}.example-box{border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-soft);border-radius:10px;gap:10px;padding:12px;display:grid}.example-head{gap:2px;display:grid}.example-head strong{color:var(--accent);align-items:center;gap:6px;display:flex}.example-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.type-field{border-radius:8px;gap:6px;padding:6px;display:grid}.type-field.is-suggested{background:var(--accent-soft)}.type-field-options{margin-left:0}.type-field-note{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding-left:2px;display:flex}.ok-text{color:var(--ok);font-weight:600}.example-box p{margin:0}.dialog-message{white-space:pre-line;line-height:1.55}.dialog-message.is-error{color:var(--danger-text)}:root[data-theme=dark] .dialog-message.is-error{color:var(--danger)}.list-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.rt{border:1px solid var(--border-strong);background:var(--input-bg);border-radius:8px;overflow:hidden}.rt-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.rt-tool.is-active{background:var(--surface-3);color:var(--primary)}.rt-sep{background:var(--border-strong);width:1px;height:18px;margin:0 4px}.rt-fields{width:auto;max-width:240px;margin-left:auto}.rt-content{min-height:320px;max-height:55vh;color:var(--text);outline:none;padding:14px 16px;line-height:1.5;overflow:auto}.rt-content p{margin:0 0 8px}.rt-content h1{margin:12px 0 8px;font-size:1.5em}.rt-content h2{margin:10px 0 6px;font-size:1.25em}.rt-content h3{margin:8px 0 6px;font-size:1.1em}.rt-content ul,.rt-content ol{margin:0 0 8px;padding-left:1.4em}.rt-content blockquote{border-left:3px solid var(--border-strong);margin:0 0 8px;padding-left:12px;font-style:italic}.rt-content a{color:var(--primary);text-decoration:underline}.rt-content img{max-width:100%;height:auto}.rt-content img.ProseMirror-selectednode{outline:2px solid var(--primary)}.rt-content hr{border:0;border-top:1px solid var(--border-strong);margin:12px 0}.rt-content table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0 0 8px}.rt-content th,.rt-content td{border:1px solid var(--border-strong);vertical-align:top;padding:4px 8px}.rt-content th{background:var(--surface-3);text-align:left}.rt-content td p,.rt-content th p{margin:0}.public-screen{justify-content:flex-start}.public-card{max-width:720px}.public-form{border-radius:12px;margin-top:18px;padding:20px;position:relative}.public-trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.public-done{text-align:center;color:var(--teal-600);flex-direction:column;align-items:center;gap:6px;display:flex}.public-done h1{margin-top:6px}.public-protocol{background:var(--surface-3);color:var(--heading);font-family:var(--font-mono);letter-spacing:.04em;border-radius:10px;margin:14px 0 10px;padding:12px 22px;font-size:26px}.audit-footer{margin-top:12px}.file-icon{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.file-pdf{color:#e5484d}.file-word{color:#3b82f6}.file-sheet{color:#22a06b}.file-slides{color:#f08a24}.file-image{color:var(--purple-400)}.file-archive{color:#c2a13a}.file-code{color:var(--teal-400)}.file-audio,.file-video{color:#e056a3}.doc-title .file-icon{align-self:center}.doc-title-line{align-items:center;gap:8px;min-width:0;display:flex}.doc-title-line strong{overflow-wrap:anywhere;min-width:0}.context-menu{z-index:1000;background:var(--surface);border:1px solid var(--border);min-width:210px;animation:modal-in .12s var(--ease) both;border-radius:12px;gap:2px;padding:6px;display:grid;position:fixed;box-shadow:0 16px 40px #00000059,0 0 0 1px #43d9d00d}.context-menu button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.context-menu button svg{color:var(--text-muted);flex:none}.context-menu button:hover,.context-menu button:focus-visible{background:var(--primary-soft);outline:none}.context-menu button:hover svg,.context-menu button:focus-visible svg{color:var(--primary)}.context-menu button.is-danger{color:var(--danger)}.info-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 24px;margin:0;display:grid}.info-grid dt{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;font-size:10.5px;font-weight:600}.info-grid dd{margin:0;font-size:14px}.info-grid dd small{font-size:12px}.info-heading{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:4px 0 8px;font-size:10.5px;font-weight:600}.info-access{gap:6px;margin:0 0 6px;padding:0;list-style:none;display:grid}.info-access li{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.info-access li strong{overflow-wrap:anywhere;flex:1;min-width:0}.kind-sheet{background:var(--ok-bg);color:var(--ok)}.kind-database{background:var(--primary-soft);color:var(--primary)}.source-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.source-choice{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;transition:border-color .15s,background .15s;display:flex;position:relative}.source-choice:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.source-choice:disabled{opacity:.55;cursor:not-allowed}.source-choice .muted{font-size:12.5px;line-height:1.4}.source-choice-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.source-choice-soon{background:var(--surface-3);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px;position:absolute;top:10px;right:10px}.sheet-columns{width:100%}.sheet-columns td,.sheet-columns th{vertical-align:middle}.sheet-filter{grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) minmax(140px,1.4fr) auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.sheet-order{align-items:center;gap:6px;display:flex}@media (width<=720px){.source-choices{grid-template-columns:1fr}.sheet-filter{grid-template-columns:1fr 1fr}}.sheet-viewer{background:var(--surface);border-radius:0 0 14px 14px;grid-template-rows:auto minmax(0,1fr) auto;height:min(75vh,900px);display:grid;overflow:hidden}.sheet-tabs{border-bottom:1px solid var(--border);background:var(--surface-2);gap:4px;padding:8px 10px 0;display:flex;overflow-x:auto}.sheet-tabs button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:8px 8px 0 0;padding:6px 14px;font-size:12.5px}.sheet-tabs button:hover{color:var(--heading)}.sheet-tabs button.is-active{background:var(--surface);border-color:var(--border);color:var(--primary);font-weight:600}.sheet-grid-wrap{overflow:auto}.sheet-grid{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12.5px}.sheet-grid th,.sheet-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:4px 10px;overflow:hidden}.sheet-grid thead th{z-index:2;background:var(--surface-2);color:var(--text-muted);text-align:center;font-weight:600;position:sticky;top:0}.sheet-grid tbody th{z-index:1;background:var(--surface-2);color:var(--text-muted);text-align:center;min-width:40px;font-weight:500;position:sticky;left:0}.sheet-grid thead th:first-child{z-index:3;left:0}.sheet-grid td.num{text-align:right;font-variant-numeric:tabular-nums}.sheet-more,.sheet-empty{color:var(--text-muted);border-top:1px solid var(--border);margin:0;padding:8px 14px;font-size:12px}@media (width<=720px){.sheet-viewer{height:60vh}}.doc-picker-bar{gap:8px;display:flex}.doc-picker-bar .input{flex:1;min-width:0}.docpick{grid-template-columns:260px minmax(0,1fr);gap:16px;height:min(60vh,560px);display:grid}.docpick-tree{border-right:1px solid var(--border);padding-right:8px;overflow:auto}.docpick-main{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-width:0;display:grid}.docpick-search{color:var(--text-muted);align-items:center;gap:8px;display:flex}.docpick-search .input{flex:1}.docpick-list{align-content:start;gap:6px;display:grid;overflow:auto}.docpick-row{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.docpick-row:hover{border-color:color-mix(in srgb, var(--primary) 55%, transparent);background:var(--surface-2)}.docpick-row.is-active{border-color:var(--primary);background:var(--primary-soft)}.docpick-row-main{flex:1;min-width:0}.docpick-row-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docpick-empty{text-align:center;color:var(--text-muted);padding:24px 12px;font-size:13px}@media (width<=720px){.docpick{grid-template-columns:1fr;height:70vh}.docpick-tree{border-right:0;border-bottom:1px solid var(--border);max-height:140px}}.docpick-upload{margin-right:auto}.knowledge-status{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 10px;display:flex}.chat-cite-doc{font-weight:600}.ai-field-row{flex-wrap:wrap;align-items:center;gap:8px}.ai-field-row .input{flex:160px;min-width:0}.ai-check{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ai-sla{width:72px}.ai-add{width:fit-content}.ai-step{gap:10px;padding:12px;display:grid}.ai-step-opts{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ai-step-opts .icon-btn{margin-left:auto}.ai-pending{gap:8px;padding:12px;display:grid}.ai-pending .ai-check{white-space:normal;flex-wrap:wrap}.ai-notes{padding:12px 14px}.ai-notes ul{margin:6px 0 0;padding-left:18px}.ai-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ai-preview h4{margin:0 0 8px}.ai-list{gap:4px;margin:0;padding-left:18px;display:grid}.ai-revise{gap:8px;display:flex}.ai-revise .input{flex:1}@media (width<=760px){.ai-preview{grid-template-columns:1fr}}.ai-publish{gap:6px;padding:10px 14px;display:grid}.ai-publish ul{margin:0;padding-left:18px}.ai-checklist{background:var(--accent-soft,#eef2ff);color:var(--heading);border-radius:12px;align-items:flex-start;gap:10px;margin:8px 16px 0;padding:10px 14px;display:flex}.ai-checklist ul{margin:4px 0 0;padding-left:18px}.ai-checklist .icon-btn{margin-left:auto}.list-table .filter-row th{text-transform:none;letter-spacing:0;vertical-align:top;padding:4px 8px 8px;font-weight:400}.list-table .filter-row .input{width:100%;min-width:90px}.list-table th.sortable{padding:0}.sort-btn{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:10px 12px;display:inline-flex}.sort-btn:hover,.sort-btn.is-active{color:var(--primary)}.sort-btn .sort-idle{opacity:.35}.sort-btn:hover .sort-idle{opacity:.8}.sort-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:6px}
