.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color-scheme:light;--bg: #f7f8fa;--surface: #ffffff;--text: #111827;--text-secondary: #6b7280;--muted: #9ca3af;--line: #e5e7eb;--accent: #2557a7;--accent-pressed: #1e4686;--accent-soft: #eef3fa;--success: #15803d;--success-pressed: #166534;--danger: #b91c1c;--danger-pressed: #991b1b;--amber: #b45309;--sky: #0369a1;--violet: #6d28d9;--won: #166534;--lost: #b91c1c;--status-new-bg: #f1f5f9;--status-new-fg: #334155;--status-pending-bg: #fef3c7;--status-priced-bg: #e0f2fe;--status-quoted-bg: #ede9fe;--status-won-bg: #dcfce7;--status-lost-bg: #fee2e2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-control: 10px;--radius-card: 12px;--radius-sheet: 16px;--control-h: 44px;--tabbar-h: 56px;--shadow-xs: 0 1px 2px rgba(17, 24, 39, .04);--font: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ease: .12s ease;font-family:var(--font);line-height:1.45;font-size:16px;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 16px)}html,body,#root{margin:0;min-height:100%;min-height:100dvh;overscroll-behavior-x:none}body{background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}button,a,.chip,.nav-item,.lead-card,.cust-card,.hist-row,.price-card,.insight-rank{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:var(--accent)}a[href^="tel:"]{color:inherit;text-decoration:none}.shell{min-height:100%;min-height:100dvh}.app{max-width:960px;margin:0 auto;padding-top:calc(var(--space-4) + env(safe-area-inset-top,0px));padding-right:max(var(--space-4),env(safe-area-inset-right,0px));padding-bottom:calc(var(--tabbar-h) + var(--space-5) + env(safe-area-inset-bottom,0px));padding-left:max(var(--space-4),env(safe-area-inset-left,0px))}.page{display:grid;gap:var(--space-4);min-width:0}.page-header{display:grid;gap:var(--space-1);min-width:0}.page-header h1{margin:0;font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere}.eyebrow{margin:0;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lede,.muted{color:var(--text-secondary)}.lede{margin:0;max-width:40rem;font-size:14px}.muted{font-size:13px;overflow-wrap:anywhere}.meta{color:var(--muted);font-size:12px}.error{margin:0;color:var(--danger);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);min-width:0}.card h2,.report-body h2{margin:0 0 var(--space-3);font-size:15px;font-weight:600;letter-spacing:-.01em}.form{display:grid;gap:var(--space-3)}.form label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary)}input,textarea,select{width:100%;min-height:var(--control-h);padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-control);font-family:inherit;font-size:16px;line-height:1.35;color:var(--text);background:var(--surface);-moz-appearance:none;appearance:none;-webkit-appearance:none;scroll-margin-bottom:24px}textarea{min-height:96px;padding-top:12px;padding-bottom:12px;resize:vertical}select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2557a729}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button}input:disabled,textarea:disabled,select:disabled{background:#f3f4f6;color:var(--text-secondary)}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset}.inline-form{display:flex;gap:var(--space-2);align-items:stretch}.inline-form input,.inline-form select{flex:1 1 auto;min-width:0}.inline-form .btn{flex:0 0 auto}.field-manage{display:flex;gap:8px;margin-top:-8px}.field-manage .btn{min-height:44px;padding-inline:12px}.form.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end}.form.inline-form label{flex:1 1 180px;min-width:0}.form>.btn,.card>.btn{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color var(--ease),border-color var(--ease),color var(--ease),transform var(--ease)}.btn:active:not(:disabled){transform:scale(.98);background:#f3f4f6}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:active:not(:disabled){background:var(--accent-pressed);border-color:var(--accent-pressed)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn.ghost:active:not(:disabled){background:#f3f4f6}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.success:active:not(:disabled){background:var(--success-pressed);border-color:var(--success-pressed)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:active:not(:disabled){background:var(--danger-pressed);border-color:var(--danger-pressed)}.btn.success-soft{background:#ecfdf3;border-color:#bbf7d0;color:var(--success)}.btn.success-soft:active:not(:disabled){background:#dcfce7}.btn.danger-outline{background:var(--surface);border-color:#fecaca;color:var(--danger)}.btn.danger-outline:active:not(:disabled){background:#fef2f2}.btn.success-soft:disabled,.btn.danger-outline:disabled{background:#f3f4f6;border-color:var(--line);color:var(--muted)}.btn:disabled{cursor:default;transform:none;background:#f3f4f6;border-color:var(--line);color:var(--muted)}.btn.primary:disabled,.btn.success:disabled,.btn.danger:disabled{background:#d1d5db;border-color:#d1d5db;color:#fff}.actions{display:flex;gap:var(--space-2)}.actions .btn{flex:1}.stack-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.stack-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);min-width:0}.stack-list strong{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{max-width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}.chip:active{transform:scale(.98)}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.section-head,.dash-section-head,.section-title{margin:0 0 var(--space-2);display:grid;gap:2px}.section-head h2,.dash-section-head h2,.section-title{margin:0;font-size:15px;font-weight:600;display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.01em}.section-hint,.section-head.is-compact{margin:0}.section-head.is-compact h2{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.section-head.is-compact .section-dot{color:var(--muted);font-weight:600}.section-head.is-compact .count{min-width:0;padding:0;background:transparent;color:var(--text);font-size:12px;font-weight:700}.home-page{gap:var(--space-3)}.home-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.home-header h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.home-header .count{font-size:13px;font-weight:700;color:var(--text)}.home-filters{display:flex;gap:var(--space-2);overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-filters::-webkit-scrollbar{display:none}.home-filters .chip{flex:0 0 auto}.home-section{display:grid;gap:var(--space-2)}.home-empty{display:grid;gap:var(--space-1);padding:var(--space-5) 0 var(--space-2)}.home-empty-title{margin:0;font-size:16px;font-weight:650}.home-more{margin:var(--space-2) 0 0;font-size:13px}.home-more a{font-weight:600;text-decoration:none}.follow-card{gap:2px;padding:10px 12px}.follow-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-width:0}.follow-card-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}.follow-card-age{flex-shrink:0;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.follow-card-age.is-fresh{color:var(--muted)}.follow-card-age.is-normal{color:var(--text-secondary)}.follow-card-age.is-stale{color:var(--amber)}.follow-card-age.is-old{color:var(--danger)}.follow-card-desc{margin:0;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.follow-card-category{margin:0;font-size:12px}.follow-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.follow-card-context{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}.follow-card .status{margin-top:0;flex-shrink:0;max-width:55%;padding:2px 7px;font-size:11px}.log-page,.log-form{gap:var(--space-3)}.log-field{display:grid;gap:6px}.phone-field{position:relative}.phone-field-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:stretch}.phone-country-btn{display:inline-flex;align-items:center;gap:6px;margin:0;min-height:var(--control-h);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer}.phone-country-btn:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2557a729}.phone-country-panel{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 10px 28px #0f172a1f}.phone-country-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto;display:grid;gap:2px}.phone-country-list button{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;width:100%;margin:0;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.phone-country-list button.is-active,.phone-country-list button:hover{background:#f3f4f6}.phone-country-name{font-size:14px}.log-hits{list-style:none;margin:0;padding:0;display:grid;gap:6px}.log-hit{display:grid;gap:1px;width:100%;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left;font:inherit;color:inherit}.log-hit strong{font-size:14px;font-weight:650;overflow-wrap:anywhere}.log-hit:active{background:var(--accent-soft);border-color:var(--accent)}.log-hint{margin:-4px 0 0;font-size:12px;color:var(--text-secondary)}.log-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.log-inline-hint{font-size:11px;font-weight:600;color:var(--muted)}.log-change{display:inline;margin:0;padding:0;border:0;background:none;font:inherit;font-weight:650;color:var(--accent)}.log-match{display:grid;gap:2px;padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.log-match.is-selected{border-color:#d5e2f7;background:var(--accent-soft)}.log-match-kicker{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.log-match-name{font-size:16px;font-weight:650;overflow-wrap:anywhere}.log-match-contact{margin:0;font-size:14px;color:var(--text-secondary);overflow-wrap:anywhere}.log-match-actions{margin-top:var(--space-2)}.log-match-actions .btn{width:100%}.log-requirement{min-height:72px;max-height:168px;overflow-y:auto;resize:none}.log-suggest h2{margin:0 0 var(--space-2);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.log-suggest-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.log-suggest-row{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.log-suggest-row.is-selected{border-color:var(--accent);background:var(--accent-soft)}.log-suggest-copy{min-width:0;flex:1}.log-suggest-copy strong{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}.log-suggest-price{font-size:14px;font-weight:650}.log-suggest-row .btn{flex:0 0 auto;min-width:76px;padding-left:12px;padding-right:12px}.price-page{gap:12px}.price-chips{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.price-chips::-webkit-scrollbar{display:none}.price-chips .chip{flex:0 0 auto}.price-toolbar{display:flex;align-items:center;gap:var(--space-2)}.price-toolbar .btn{width:auto;min-height:44px;padding:8px 12px}.price-count{margin:0;font-size:13px;color:var(--text-secondary)}.price-list,.cat-manage-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.price-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;min-height:72px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:left;font:inherit;color:inherit;cursor:pointer}.price-card:active{background:#f3f4f6}.price-card-title{grid-column:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.price-card-amount{grid-column:2;grid-row:1;font-size:16px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;align-self:start}.price-card-meta,.price-card-age{grid-column:1 / -1;overflow-wrap:anywhere;font-size:13px}.price-card-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price-empty{display:grid;gap:var(--space-3);justify-items:start}.cat-manage-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.cat-manage-list strong{overflow-wrap:anywhere}.cat-manage-list .btn{flex-shrink:0;width:auto;min-height:40px}.cat-manage-list .inline-form{width:100%}.journey-card{padding-bottom:var(--space-2)}.journey{height:clamp(240px,48vh,480px);height:clamp(240px,48dvh,480px);max-width:100%;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--bg);touch-action:none}.flow-node{min-width:168px;max-width:200px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) 10px;font-size:13px;line-height:1.3}.flow-node-customer{background:var(--text);color:#f9fafb;border-color:var(--text)}.flow-node-title{font-weight:650;overflow-wrap:anywhere}.flow-node-meta{opacity:.8;font-size:12px}.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--space-1);color:var(--accent);font-size:13px;font-weight:600;text-decoration:none;min-height:44px;justify-self:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.back:before{content:"";width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.lead-page{gap:12px}.lead-header{display:grid;gap:4px;min-width:0}.lead-nav{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lead-nav .back{margin-bottom:0}.lead-nav .status{flex-shrink:0;margin-top:2px}.lead-header h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lead-name{color:inherit;text-decoration:none}.lead-name:active{color:var(--accent)}.lead-context{margin:0;color:var(--text-secondary);font-size:14px;overflow-wrap:anywhere}.lead-phone{color:inherit;text-decoration:none;-webkit-user-select:text;user-select:text}.lead-requirement-block{min-width:0}.lead-kicker{margin:0 0 4px;font-size:12px;font-weight:650;color:var(--text-secondary)}.lead-requirement{margin:0;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.lead-work,.lead-activity{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px;display:grid;gap:12px;min-width:0}.lead-stage-copy{margin:0;font-size:14px;color:var(--text-secondary)}.lead-facts{display:grid;gap:8px}.lead-fact{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;align-items:start;font-size:14px}.lead-fact-label{color:var(--text-secondary)}.lead-fact-value{font-weight:600;overflow-wrap:anywhere}.lead-hint,.lead-last{margin:0;font-size:13px;color:var(--text-secondary)}.lead-form>.btn{width:100%}.lead-money-field{display:flex;align-items:center;gap:8px}.lead-money-prefix{flex-shrink:0;font-size:16px;font-weight:650;color:var(--text)}.lead-money-field input{min-width:0}.lead-quotes{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lead-quote{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line);min-width:0}.lead-quote:last-child{padding-bottom:0;border-bottom:0}.solution-items{margin-top:4px;margin-bottom:8px}.solution-items-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.solution-items-count{font-size:13px}.solution-items-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 8px}.solution-items-empty .muted{margin:0;font-size:14px}.solution-items-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.solution-item{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0}.solution-item:last-child{border-bottom:0}.solution-item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.solution-item-copy{min-width:0}.solution-item-copy strong{display:block;font-size:15px;line-height:1.35;word-break:break-word}.solution-item-meta{font-size:13px;margin-top:2px}.solution-item-actions{display:flex;flex-shrink:0;gap:4px}.solution-item-btn{min-height:44px;padding:8px 10px;font-size:14px}.solution-item-vendors-kicker{margin:0;font-size:12px;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.solution-item-quotes{margin-top:6px}.solution-item-vendor-btn,.solution-items-add{min-height:44px}.solution-items-add-row{list-style:none;padding-top:4px}.solution-item-sheet label input,.solution-item-sheet label select,.solution-item-sheet label textarea,.solution-item-vendor-sheet label input,.solution-item-vendor-sheet label select{font-size:16px;min-height:44px}.lead-quote-name,.lead-quote-price{font-size:15px;font-weight:650}.lead-quote-meta{font-size:13px;color:var(--text-secondary)}.lead-quote-save{display:flex;gap:8px;align-items:center;margin-top:6px;min-width:0}.lead-quote-save .lead-money-field{flex:1;min-width:0}.lead-quote-save .btn{flex-shrink:0}.lead-saved-list,.lead-activity-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lead-saved-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.lead-saved-copy{min-width:0}.lead-saved-copy strong{display:block;font-size:14px;overflow-wrap:anywhere}.lead-saved-price{font-weight:700}.lead-saved-list .btn{flex-shrink:0;width:auto;min-width:72px}.lead-close{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lead-lost-link{justify-self:start;min-height:44px;padding:6px 0}.lead-confirm{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f9fafb}.lead-confirm p{margin:0;font-weight:600}.lead-activity h2{margin:0;font-size:13px;font-weight:700;color:var(--text-secondary)}.lead-activity-list li{display:grid;gap:2px;overflow-wrap:anywhere}.cust-page,.cust-detail{gap:12px}.cust-search{margin:0}.cust-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.hist-row{display:grid;gap:2px;min-width:0;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.hist-row:active{background:#f3f4f6}.cust-name,.cust-header h1{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}.cust-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cust-header h1{font-size:22px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cust-phone{color:var(--text-secondary);font-size:14px;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.cust-header{display:grid;gap:4px;min-width:0}.cust-header .lead-nav{margin-bottom:2px}.cust-type{font-size:12px;font-weight:650;color:var(--text-secondary)}.cust-type-row{margin:0}.cust-type-row select{width:auto;max-width:100%;min-height:44px;padding:6px 10px;font-size:13px;font-weight:650;color:var(--text-secondary);background:var(--accent-soft);border-color:transparent}.cust-context{margin:0;font-size:14px;color:var(--text-secondary)}.cust-contact{margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}.cust-insights-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 2px;color:var(--accent);font-size:14px;font-weight:650;text-decoration:none;flex-shrink:0}.cust-search-wrap{display:flex;align-items:center;gap:10px;min-height:var(--control-h);padding:0 14px;background:#eef1f5;border:1px solid transparent;border-radius:14px;color:var(--muted)}.cust-search-wrap svg{flex-shrink:0}.cust-search-wrap:focus-within{background:var(--surface);border-color:var(--accent);color:var(--accent)}.cust-search-wrap .cust-search{flex:1;min-width:0;min-height:44px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.cust-search-wrap .cust-search:focus{outline:none}.cust-search::-webkit-search-decoration,.cust-search::-webkit-search-cancel-button{-webkit-appearance:none}.cust-tools{display:grid;gap:var(--space-2);min-width:0}.cust-tool-row{display:flex;gap:var(--space-2);min-width:0}.cust-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 0;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;font-weight:650;white-space:nowrap}.cust-tool-btn.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cust-tool-btn-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.cust-tool-caret{flex-shrink:0;font-size:11px;color:var(--muted)}.cust-tool-badge{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.cust-active-chips{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cust-active-chips::-webkit-scrollbar{display:none}.cust-active-chips.is-sheet{padding:0 4px}.cust-filter-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;min-height:32px;padding:4px 8px 4px 10px;border:0;border-radius:99px;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:12px;font-weight:650}.cust-filter-chip button{display:inline-flex;margin:0;padding:0;border:0;background:none;color:inherit}.cust-summary{display:grid;gap:10px;padding:14px;background:var(--accent-soft);border-radius:var(--radius-card)}.cust-summary-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cust-summary-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2)}.cust-summary-metric{display:flex;align-items:flex-start;gap:8px;min-width:0;color:var(--accent)}.cust-summary-metric .cust-kpi-value{color:var(--text);font-size:20px}.cust-summary-metric .cust-kpi-label{color:var(--text-secondary);font-weight:600}.cust-sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.cust-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:0;background:#11182766}.cust-sheet{position:absolute;left:0;right:0;bottom:0;display:grid;gap:var(--space-3);max-height:min(86dvh,720px);overflow:auto;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--surface);border-radius:20px 20px 0 0;overscroll-behavior:contain}.cust-sheet-handle{width:40px;height:4px;margin:4px auto 0;border-radius:99px;background:#d1d5db}.cust-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.cust-sheet-head h2{margin:0;font-size:18px;font-weight:700}.cust-sheet-head-actions{display:flex;align-items:center;gap:4px}.cust-sheet-text{min-height:44px;padding:0 8px;border:0;background:none;color:var(--accent);font:inherit;font-size:14px;font-weight:650}.cust-sheet-x{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;background:none;color:var(--text-secondary)}.cust-sheet-kicker{margin:8px 0 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cust-sheet-list{display:grid}.cust-sheet-row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;margin:0;padding:8px 2px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);font:inherit;font-size:16px;font-weight:600;text-align:left}.cust-sheet-row.is-on{color:var(--accent)}.cust-sheet-icon{display:inline-flex;color:var(--text-secondary)}.cust-sheet-row.is-on .cust-sheet-icon{color:var(--accent)}.cust-sheet-label{flex:1;min-width:0}.cust-sheet-row>svg{flex-shrink:0;color:#c5cad3}.cust-sheet-row.is-on>svg{color:var(--accent)}.cust-sheet-apply{width:100%;margin-top:4px}.cust-custom-range{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.cust-custom-range label{display:grid;gap:6px;font-size:12px;font-weight:650;color:var(--text-secondary)}.cust-custom-range input{min-height:44px;width:100%}.cust-card{display:flex;align-items:center;gap:8px;padding:12px 4px 12px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:inherit;text-decoration:none}.cust-card:active{background:#f8f9fb}.cust-card>svg{flex-shrink:0;color:#c5cad3}.cust-card-main{min-width:0;flex:1;display:grid;gap:2px}.cust-list{gap:0}.cust-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center}.cust-empty-art{display:grid;place-items:center;width:88px;height:88px;margin-bottom:4px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.cust-empty-title{margin:0;font-size:15px;font-weight:650}.cust-glance{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.cust-glance.is-three{grid-template-columns:1fr 1fr 1fr}.cust-glance.is-four{grid-template-columns:1fr 1fr}.cust-kpi{min-width:0;padding:10px 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);text-align:center}.cust-kpi-value{font-size:18px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cust-kpi-label{margin-top:2px;font-size:11px;font-weight:600;color:var(--muted);overflow-wrap:anywhere}.cust-filtered{display:grid;gap:var(--space-2)}.cust-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-width:0}.cust-card-top .cust-name{flex:1 1 auto;min-width:0}.cust-since{flex-shrink:0;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.cust-won{color:var(--success);font-weight:650}.cust-empty,.insight-block{display:grid;gap:var(--space-2)}.insight-block h2{margin:0;font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.insight-ranks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.insight-rank{display:flex;align-items:center;gap:var(--space-3);min-width:0;color:inherit;text-decoration:none}.insight-rank-n{flex-shrink:0;width:18px;font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.insight-rank-body{min-width:0;flex:1;display:grid;gap:4px}.insight-rank-copy{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-width:0}.insight-rank-copy strong{min-width:0;font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-rank-copy span{flex-shrink:0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.insight-bar{height:6px;border-radius:99px;background:#eef2f7;overflow:hidden}.insight-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.insight-trend{display:flex;align-items:flex-end;gap:6px;min-height:96px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.insight-trend::-webkit-scrollbar{display:none}.insight-col{flex:1 0 36px;min-width:36px;display:grid;justify-items:center;align-content:end;gap:4px}.insight-col-val{min-height:16px;font-size:11px;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.insight-col-bar{width:100%;max-width:28px;border-radius:6px 6px 2px 2px;background:var(--accent);opacity:.82}.insight-col-label{font-size:10px;font-weight:600;color:var(--muted);text-align:center;overflow:hidden;text-overflow:ellipsis;max-width:100%}.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f3f4f6;border-radius:var(--radius-control)}.seg-3{grid-template-columns:1fr 1fr 1fr}.seg-scroll{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.seg-scroll::-webkit-scrollbar{display:none}.seg-scroll button{flex:1 0 auto;min-width:4.75rem}.seg button{min-height:44px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:650;cursor:pointer}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.cust-section{display:grid;gap:8px;min-width:0}.cust-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.cust-section-action{min-height:44px;padding:0 4px;border:0;background:none;color:var(--accent);font:inherit;font-size:14px;font-weight:650}.home-visits{display:grid;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.home-visits h2{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.home-visits-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2);text-align:center}.visit-report{display:grid;gap:var(--space-3);min-width:0}.cust-section h2{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.hist-list,.visit-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.hist-row{padding:10px 12px;min-height:64px;align-content:center}.hist-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.hist-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;color:var(--text-secondary);font-size:13px}.hist-row .status{margin-top:0;flex-shrink:0}.visit-list li{display:grid;gap:2px;min-width:0;padding:8px 0;border-bottom:1px solid var(--line)}.visit-notes{overflow-wrap:anywhere;font-size:15px}.cust-journey{min-width:0}.notes{list-style:none;margin:0 0 var(--space-3);padding:0;display:grid;gap:var(--space-3)}.notes li{min-width:0;overflow-wrap:anywhere;font-size:14px}.status{display:inline-flex;align-items:center;max-width:100%;margin-top:var(--space-2);padding:3px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:1.3;background:var(--status-new-bg);color:var(--status-new-fg);overflow-wrap:anywhere;justify-self:start}.status-new{background:var(--status-new-bg);color:var(--status-new-fg)}.status-vendor_pending{background:var(--status-pending-bg);color:var(--amber)}.status-vendor_priced{background:var(--status-priced-bg);color:var(--sky)}.status-quoted{background:var(--status-quoted-bg);color:var(--violet)}.status-won{background:var(--status-won-bg);color:var(--won)}.status-lost{background:var(--status-lost-bg);color:var(--lost)}.banner{margin:0;background:var(--accent-soft);border:1px solid #d5e2f7;border-radius:var(--radius-sm);padding:10px var(--space-3);font-size:14px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);min-height:var(--tabbar-h);background:var(--surface);border-top:1px solid var(--line);padding:4px 8px env(safe-area-inset-bottom,0px);padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.tabbar-five{grid-template-columns:repeat(5,1fr)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;min-width:0;padding:6px 2px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;overflow:hidden}.tab svg{display:block}.tab.active{color:var(--accent)}.tab:active{background:#f9fafb;border-radius:var(--radius-sm)}@media(min-width:640px){.cust-glance.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}}.btn:focus-visible,.tab:focus-visible,.chip:focus-visible,.back:focus-visible,.seg button:focus-visible,.nav-item:focus-visible,.price-card:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}.count{display:inline-flex;min-width:1.4rem;justify-content:center;padding:0 6px;border-radius:var(--radius-sm);background:#f3f4f6;color:var(--text-secondary);font-size:12px;font-weight:650}.lead-list{display:grid;gap:var(--space-2)}.lead-card{display:grid;gap:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);color:inherit;text-decoration:none;min-width:0;transition:background-color var(--ease),transform var(--ease)}.lead-card:active{background:#f9fafb;transform:scale(.995)}.lead-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);min-width:0}.lead-card-top strong{font-size:15px;font-weight:600;overflow-wrap:anywhere;min-width:0}.lead-card .status{margin-top:0;flex-shrink:0}.lead-desc{margin:0;font-size:14px;overflow-wrap:anywhere}.empty{margin:0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);min-width:0}.stat-value{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.stat-label{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.report-nav{display:grid;gap:var(--space-2);margin:0}.nav-item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);width:100%;min-height:var(--control-h);min-width:0;padding:10px var(--space-4);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);color:var(--text);font-family:inherit;cursor:pointer}.nav-item:active:not(:disabled){background:#f9fafb}.nav-item.active{border-color:var(--accent);background:var(--accent-soft)}.nav-item:disabled{color:var(--muted);cursor:default}.nav-title{font-size:15px;font-weight:600;overflow-wrap:anywhere}.nav-meta{font-size:12px;color:var(--muted);white-space:nowrap;flex-shrink:0}.report-body{min-width:0}.dashboard-queues{display:grid;gap:var(--space-4)}.dashboard-queue h3{margin:0 0 var(--space-2);font-size:16px;font-weight:700}.reports-home{gap:var(--space-3)}.report-zone{display:grid;gap:var(--space-2);min-width:0}.report-zone-label{margin:0;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.report-detail{gap:var(--space-3)}.report-detail-header{display:grid;gap:2px;min-width:0}.report-detail-header .back-compact{margin-bottom:0;min-height:36px}.report-detail-header .back-compact:before{display:none}.report-detail-heading{display:grid;gap:2px;min-width:0}.report-detail-heading h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.25}.reports-home .stat{display:flex;flex-direction:column;justify-content:center;min-height:68px;padding:10px 12px}.reports-home .stat-value{font-size:20px;line-height:1.15}.reports-home .stat-label{margin-top:2px}.reports-home .stat-link{color:inherit;text-decoration:none;transition:background-color var(--ease),border-color var(--ease)}.reports-home .stat-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-link:active{background:#f3f4f6}.pipeline-home-card{display:block;margin:0;padding:var(--space-4);border:1px solid #c9daf5;border-radius:var(--radius-card);background:linear-gradient(180deg,#f5f9ff 0%,var(--surface) 100%);color:inherit;text-decoration:none;box-shadow:var(--shadow-xs)}.pipeline-home-card:active{background:linear-gradient(180deg,#eef4fc,#f9fafb)}.pipeline-home-main{display:grid;gap:4px;min-width:0}.pipeline-home-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.pipeline-home-kicker,.pipeline-open-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pipeline-home-value,.pipeline-open-value{margin:2px 0 0;font-size:30px;font-weight:750;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.pipeline-home-counts,.pipeline-open-counts{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:13px;color:var(--text-secondary)}.pipeline-home-unvalued,.pipeline-open-unvalued{color:var(--muted);font-size:12px}.pipeline-home-footer{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.pipeline-home-footer-label{font-size:12px;color:var(--text-secondary)}.pipeline-home-footer strong{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.report-menu{display:grid;gap:var(--space-1);margin-top:var(--space-2)}.report-menu-title{margin:0 0 var(--space-1);font-size:14px;font-weight:700;color:var(--text-secondary)}.report-menu-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:10px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:inherit;text-decoration:none}.report-menu-item:active{background:#f9fafb}.report-menu-item.disabled{opacity:.5;pointer-events:none}.report-menu-copy{display:grid;gap:1px;min-width:0}.report-menu-copy strong{font-size:15px;font-weight:600}.report-menu-copy .muted{font-size:12px;line-height:1.35}.report-menu-badge{font-size:10px;font-weight:650;padding:2px 7px;border-radius:var(--radius-sm);letter-spacing:.02em}.report-menu-badge.live{background:#ecfdf3;color:#15803d;border:1px solid #bbf7d0}.report-menu-badge.later{background:#f9fafb;color:var(--muted);border:1px solid var(--line)}.report-card-chevron.subtle{font-size:18px;color:var(--muted);align-self:auto}.report-card-list{display:grid;gap:var(--space-2)}.report-card-list.compact{gap:var(--space-2)}.report-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);color:inherit;text-decoration:none;min-height:var(--control-h)}.report-card.static{grid-template-columns:1fr}.report-card:active{background:#f9fafb}.report-card-age{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;height:2.35rem;margin-top:1px;border-radius:999px;font-size:11px;font-weight:700;background:#f3f4f6;color:var(--text-secondary);flex-shrink:0}.report-card-age.tone-fresh{background:#dcfce7;color:#166534}.report-card-age.tone-stale,.report-card-age.tone-old{background:#ffedd5;color:#9a3412}.report-card-body{display:grid;gap:4px;min-width:0}.report-card-head{display:flex;justify-content:space-between;gap:var(--space-2);align-items:start}.report-card-req{color:var(--accent);font-weight:600}.report-card-line{font-size:13px}.report-card-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.report-card-chevron{color:var(--muted);font-size:20px;line-height:1;align-self:center;flex-shrink:0}.report-section{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.report-section-tight{margin-top:var(--space-2)}.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.report-section-head h2{margin:0;font-size:17px;font-weight:700}.report-section>h2{margin:0;font-size:17px;font-weight:700}.report-count{margin:0 0 var(--space-1);font-size:12px}.report-table-desktop{display:none}.pipeline-report{display:grid;gap:var(--space-3);min-width:0}.pipeline-period{display:grid;gap:var(--space-2)}.pipeline-period .report-filter{margin:0}.report-filter{display:grid;gap:6px;margin:0;font-size:12px;font-weight:600;color:var(--text-secondary)}.pipeline-period-context{margin:0;font-size:12px}.pipeline-open-card{padding:var(--space-4);border:1px solid #c9daf5;border-radius:var(--radius-card);background:linear-gradient(180deg,#f5f9ff 0%,var(--surface) 100%);box-shadow:var(--shadow-xs)}.pipeline-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}.pipeline-kpi{display:grid;gap:2px;align-content:start;min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.pipeline-kpi strong{font-size:18px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.pipeline-kpi-label{font-size:11px;color:var(--muted);line-height:1.3}.pipeline-kpi-won strong{color:var(--won)}.pipeline-kpi-lost strong{color:var(--lost)}.pipeline-note{margin:0;font-size:12px;line-height:1.45;max-width:36rem}.pipeline-report-body{display:grid;gap:var(--space-2)}.pipeline-chart{margin:0}.insight-empty{display:grid;place-items:center;min-height:72px;padding:var(--space-3);border:1px dashed var(--line);border-radius:var(--radius-card);background:#fafbfc}.insight-empty .muted{margin:0;font-size:13px;text-align:center}.analytics-card{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0}.analytics-card.is-inactive{opacity:.62;background:#fafbfc}.analytics-card-title{font-size:15px;font-weight:700;overflow-wrap:anywhere}.analytics-card-value{margin:0;font-size:24px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.analytics-card-kicker{margin:-4px 0 0;font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.analytics-grid{display:grid;gap:var(--space-2)}.analytics-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-stat{display:grid;gap:2px;min-width:0}.analytics-label{font-size:11px;color:var(--muted)}.analytics-stat strong{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.pipeline-group-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.pipeline-group-list li{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.lead-quote-amount{display:grid;gap:6px;margin:var(--space-2) 0;font-size:14px;font-weight:600}.lead-quote-amount input{font-weight:400}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f9fafb}tr:last-child td{border-bottom:none}@media(min-width:900px){.report-detail .report-card-list{display:none}.report-table-desktop{display:block;margin-top:var(--space-3)}.dashboard-queues .report-card-list{display:grid}.pipeline-report-body{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.pipeline-open-card,.pipeline-chart{grid-column:1 / -1}.report-card-list:not(.compact){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:640px){.stats{grid-template-columns:repeat(6,minmax(0,1fr))}.form>.btn,.card>.btn{width:auto;justify-self:start}.lead-form>.btn{width:100%;justify-self:stretch}}@media(max-width:360px){.inline-form{flex-wrap:wrap}.inline-form .btn{width:100%}.lead-fact{grid-template-columns:1fr;gap:2px}.lead-close{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.btn,.chip,.lead-card,.cust-card,.hist-row,.price-card,.tab,.nav-item{transition:none}.btn:active:not(:disabled),.chip:active,.lead-card:active,.cust-card:active,.hist-row:active,.price-card:active{transform:none}}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){background:#f9fafb}.btn.primary:hover:not(:disabled){background:var(--accent-pressed);border-color:var(--accent-pressed)}.btn.ghost:hover:not(:disabled){background:#f3f4f6}.btn.success:hover:not(:disabled){background:var(--success-pressed);border-color:var(--success-pressed)}.btn.danger:hover:not(:disabled){background:var(--danger-pressed);border-color:var(--danger-pressed)}.btn.success-soft:hover:not(:disabled){background:#dcfce7}.btn.danger-outline:hover:not(:disabled){background:#fef2f2}.lead-card:hover,.cust-card:hover,.hist-row:hover,.price-card:hover,.insight-rank:hover,.nav-item:hover:not(:disabled),.chip:hover{background:#f9fafb}.cust-sheet-row:hover{background:#f8f9fb}.chip.active:hover,.nav-item.active:hover:not(:disabled){background:var(--accent-soft)}}.home-header-links{display:flex;align-items:center;gap:12px;flex-shrink:0}.lead-nav-end{display:flex;align-items:flex-start;gap:8px}.more-wrap{position:relative;flex-shrink:0}.more-btn{width:44px;height:44px;padding:0;border:none;border-radius:12px;background:transparent;color:var(--text);font-size:22px;line-height:1;cursor:pointer}.more-btn:active{background:#f3f4f6}.more-menu{position:absolute;top:100%;right:0;z-index:40;display:grid;min-width:180px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1118271f}.more-item{min-height:44px;padding:8px 12px;border:none;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:650;text-align:left;cursor:pointer}.more-item.is-danger{color:#b91c1c}.more-item:active{background:#f3f4f6}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;align-items:end;background:#11182766;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.sheet{display:grid;gap:12px;width:min(100%,520px);margin:0 auto;padding:20px 16px 16px;background:var(--surface);border-radius:20px}.sheet h2{margin:0;font-size:18px;font-weight:700}.sheet-copy{display:grid;gap:8px}.sheet-copy p{margin:0}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.deleted-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.deleted-row{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.deleted-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.price-card{cursor:default}.price-card-meta{grid-column:1}.price-card-menu{grid-column:2;grid-row:2;justify-self:end}.price-card-prev,.price-move,.price-history-link{grid-column:1 / -1}.price-move{font-size:13px;font-weight:650}.price-move.is-up{color:#b45309}.price-move.is-down{color:#15803d}.price-history-link{min-height:44px;padding:0;border:none;background:transparent;color:var(--accent);font:inherit;font-size:14px;font-weight:650;text-align:left;cursor:pointer}.price-current-copy,.price-history-now{display:grid;gap:4px}.price-history-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lead-followup-btn{justify-self:start;margin-top:4px;min-height:44px}.followup-channel-sheet{gap:10px}.followup-channel-hint{margin:0;font-size:13px;line-height:1.35}.followup-channel-actions{display:grid;gap:8px}.followup-channel-btn{min-height:48px;width:100%;justify-content:center;font-size:16px;font-weight:650}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.seg a,.seg span[role=tab]{min-height:44px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:650;text-decoration:none;display:flex;align-items:center;justify-content:center}.seg a.active,.seg span[role=tab].active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.seg-compact{max-width:220px}.shell-canvas .app{display:flex;flex-direction:column;min-height:100dvh;max-width:none;padding-bottom:calc(var(--tabbar-h) + 8px + env(safe-area-inset-bottom,0px))}.page.gj-page{gap:8px;flex:1;min-height:0;display:flex;flex-direction:column}.gj-header{display:grid;gap:10px;min-width:0}.gj-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.gj-header-actions{display:flex;align-items:center;gap:4px;min-width:0;flex-shrink:0}.gj-header-row h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.gj-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.gj-filters .gj-custom{grid-column:1 / -1}.gj-select,.gj-custom label{display:grid;gap:4px;min-width:0;font-size:12px;font-weight:650;color:var(--text-secondary)}.gj-select select,.gj-custom input{min-height:40px;font-size:14px}.gj-custom{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gj-banner{margin:0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-secondary);font-size:13px}.gj-canvas{flex:1;min-height:240px;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--bg);touch-action:none;position:relative}.gj-flow{position:absolute;top:0;right:0;bottom:0;left:0}.gj-canvas .react-flow{width:100%;height:100%}.gj-canvas .flow-node{cursor:pointer}.gj-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.gj-mode-seg{flex:1;max-width:320px}.gj-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none;color:var(--text-secondary);font-size:12px;font-weight:650}.gj-legend li{display:inline-flex;align-items:center;gap:6px}.gj-swatch{width:10px;height:10px;border-radius:999px;border:1px solid transparent}.gj-swatch-inquiry{background:#dbeafe;border-color:#93c5fd}.gj-swatch-vendor{background:#ffedd5;border-color:#fdba74}.gj-swatch-priced{background:#ede9fe;border-color:#c4b5fd}.gj-swatch-quoted{background:#ccfbf1;border-color:#5eead4}.gj-swatch-customer-fu{background:#dcfce7;border-color:#86efac}.gj-swatch-won{background:#111827}.gj-canvas .react-flow__node{background:transparent;border:none;padding:0}.gj-canvas .react-flow__handle{width:7px;height:7px;background:#cbd5e1;border:none}.gj-node{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:52px;width:100%;padding:8px 4px 8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-xs);font-size:12px;line-height:1.25}.gj-node.is-interactive{cursor:pointer}.gj-node.is-dim{opacity:.4}.gj-node-icon{display:flex;color:currentColor;opacity:.9}.gj-node-body{min-width:0}.gj-node-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gj-node-meta,.gj-node-time{color:inherit;opacity:.78;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gj-node-actions{display:inline-flex;align-items:center;flex-shrink:0;gap:0}.gj-node-toggle,.gj-node-open{width:40px;height:44px;margin:-8px 0;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:10px;flex-shrink:0}.gj-node-open{opacity:.72}.gj-node-toggle:active,.gj-node-open:active{background:#1118270f;opacity:1}.gj-node-company{background:var(--text);color:#f9fafb;border-color:var(--text)}.gj-node-company .gj-node-toggle:active,.gj-node-company .gj-node-open:active{background:#ffffff14}.gj-node-contact{background:#f3f4f6;color:#111827;border-color:#e5e7eb}.gj-node-inquiry{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.gj-node-inquiry.is-navigable:hover{background:#dbeafe;border-color:#60a5fa}.gj-node-inquiry.is-navigable:active{background:#bfdbfe}.gj-node-vendor,.gj-node-event{background:#fff7ed;color:#c2410c;border-color:#fdba74}.gj-node-priced{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}.gj-node-quoted{background:#f0fdfa;color:#0f766e;border-color:#5eead4}.gj-node-customer-fu{background:#f0fdf4;color:#15803d;border-color:#86efac}.gj-node-won{background:#111827;color:#f9fafb;border-color:#111827}.gj-node-lost{background:#fef2f2;color:#b91c1c;border-color:#fca5a5}.gj-node-vendor-label{background:#f9fafb;color:#4b5563;border-color:#e5e7eb;min-height:44px;font-size:11px}.gj-node-vendor-label .gj-node-title{font-weight:650}html.whiteboard-open,html.whiteboard-open body,html.whiteboard-open #root{overflow:hidden;height:100%;overscroll-behavior:none}html.whiteboard-open .tabbar{display:none}html.whiteboard-open .app,html.whiteboard-open .shell-canvas .app{padding:0;max-width:none;height:100dvh;overflow:hidden}.gj-flow-measure{position:absolute;top:0;right:0;bottom:0;left:0}.gj-icon-btn{width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.gj-icon-btn:active{background:#f3f4f6}.gj-icon-btn.is-on{background:var(--accent-soft);color:var(--accent);border-color:#d5e2f7}.gj-page.is-whiteboard{position:fixed;z-index:55;top:var(--gj-wb-t, 0px);left:var(--gj-wb-l, 0px);width:var(--gj-wb-w, 100%);height:var(--gj-wb-h, 100dvh);max-width:none;gap:0;padding:0;overflow:hidden;background:var(--bg)}.gj-page.is-whiteboard:fullscreen,.gj-page.is-whiteboard:-webkit-full-screen{top:0;left:0;width:100%;height:100%;background:var(--bg)}.gj-page.is-whiteboard .gj-canvas{flex:1;min-height:0;border:none;border-radius:0;height:100%}.gj-page.is-whiteboard .react-flow__controls{bottom:max(10px,env(safe-area-inset-bottom,0px));left:max(8px,env(safe-area-inset-left,0px))}.gj-wb-chrome{position:absolute;top:0;left:0;right:0;z-index:6;display:grid;gap:6px;pointer-events:none;padding:max(8px,env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) 0 max(8px,env(safe-area-inset-left,0px))}.gj-wb-bar,.gj-wb-search{pointer-events:auto}.gj-wb-bar{display:flex;align-items:center;gap:4px;min-width:0;min-height:44px;padding:4px 4px 4px 2px;background:#fffffff0;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #11182714;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gj-wb-title{font-size:15px;font-weight:700;letter-spacing:-.02em;padding:0 4px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gj-wb-chip{display:inline-flex;align-items:center;gap:4px;min-height:32px;max-width:30vw;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;flex-shrink:1;min-width:0}.gj-wb-text{min-height:32px;padding:0 8px;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap;flex-shrink:0}.gj-wb-text.is-on{background:var(--accent-soft);color:var(--accent)}.gj-wb-wide{display:none;align-items:center;gap:2px;flex-shrink:0}.gj-wb-fit-narrow,.gj-wb-expand-narrow{display:inline-flex;align-items:center}.gj-wb-bar .more-btn{width:40px;height:40px}.gj-wb-search{margin:0}.gj-wb-search-clear{width:36px;height:36px}.gj-wb-hint{position:absolute;left:50%;bottom:max(56px,calc(16px + env(safe-area-inset-bottom,0px)));z-index:7;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 24px);margin:0;padding:8px 12px;transform:translate(-50%);background:#111827e0;color:#f9fafb;border-radius:999px;font-size:13px;font-weight:650;pointer-events:none;box-shadow:0 8px 24px #1118272e}.gj-legend-sheet{display:grid;gap:8px}.gj-legend-sheet li{min-height:28px}@media(min-width:768px),(orientation:landscape){.gj-wb-wide{display:flex}.gj-wb-fit-narrow,.gj-wb-expand-narrow{display:none}.gj-wb-title{flex:0 1 auto}}@media(orientation:landscape)and (max-height:500px){.gj-wb-bar{min-height:40px;padding:2px 4px}.gj-wb-chrome{padding-top:max(4px,env(safe-area-inset-top,0px))}.gj-wb-text{min-height:28px;padding:0 6px;font-size:12px}}.import-page{display:grid;gap:16px}.import-panel,.import-preview,.import-success,.import-detail{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:var(--surface)}.import-panel-title{margin:0 0 6px;font-size:18px}.import-panel-copy{margin:0 0 12px;font-size:14px}.import-form label input[type=file]{font-size:16px;min-height:44px}.import-form label input:not([type=file]){font-size:16px;min-height:44px}.import-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.import-stat{border:1px solid var(--line);border-radius:10px;padding:10px}.import-stat-value{display:block;font-size:20px;font-weight:650}.import-stat-label{font-size:12px;color:var(--muted)}.import-issues ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.import-issues li{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:4px;font-size:14px}.import-issues.tone-error li{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.import-history-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.import-history-card{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.import-history-actions{display:grid;gap:8px;align-content:start}.import-history-actions .btn{min-height:44px}.import-success-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.import-detail-json{overflow-x:auto;font-size:12px;white-space:pre-wrap;word-break:break-word}.command-kicker{margin:0;color:var(--text-secondary);font-size:14px}.pipeline-hero{background:var(--accent);color:#fff;border-radius:var(--radius-card);padding:16px}.pipeline-hero-label,.pipeline-hero-meta{margin:0;opacity:.85;font-size:13px}.pipeline-hero-value{margin:4px 0 6px;font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.15}.attention-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attention-card{display:grid;gap:2px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);text-decoration:none;color:inherit;min-height:64px}.attention-count{font-size:22px;font-weight:700;line-height:1.1}.attention-label{font-size:12px;color:var(--text-secondary)}.attention-card.is-danger .attention-count{color:var(--danger)}.attention-card.is-warn .attention-count{color:var(--amber)}.attention-card.is-violet .attention-count{color:var(--violet)}.schedule-list,.activity-feed{list-style:none;margin:0;padding:0;display:grid;gap:10px}.schedule-card{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.schedule-time{font-size:12px;font-weight:700;color:var(--accent)}.schedule-title,.follow-card-name,.cust-name,.hist-title,.opp-card .follow-card-desc{overflow:hidden;text-overflow:ellipsis}.schedule-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.schedule-meta,.follow-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schedule-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.btn.compact{min-height:36px;padding:6px 10px;font-size:13px;width:auto}.activity-row{display:grid;gap:2px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);text-decoration:none;color:inherit}.activity-when{font-size:12px;color:var(--muted)}.next-action-card{display:grid;gap:4px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.reminder-sheet{max-height:min(88dvh,720px);overflow:auto}.reminder-quick{display:flex;flex-wrap:wrap;gap:6px}.reminder-priority{border:0;margin:0;padding:0;display:flex;gap:12px}.reminder-priority-opt{display:flex;align-items:center;gap:6px;font-size:14px}.pipeline-stages{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.pipeline-tools{display:grid;gap:8px}.pipeline-tools select,.reminder-sheet input,.reminder-sheet select,.reminder-sheet textarea{font-size:16px}.pipeline-filter-note{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:13px;color:var(--text-secondary)}.opp-card{display:grid;gap:8px}.opp-main{display:grid;gap:4px;text-decoration:none;color:inherit}.opp-value{font-weight:700;white-space:nowrap}.opp-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.attn-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--status-new-bg);color:var(--status-new-fg)}.attn-chip.is-danger{background:var(--status-lost-bg);color:var(--danger)}.attn-chip.is-warn{background:var(--status-pending-bg);color:var(--amber)}.attn-chip.is-violet{background:var(--status-quoted-bg);color:var(--violet)}.attn-chip.is-new{background:#fef9c3;color:#854d0e}.attn-chip.is-ok{background:var(--status-won-bg);color:var(--won)}.cust-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cust-360-tabs{overflow-x:auto}.cust-card-stats{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cust-glance.is-four .cust-kpi-value{font-size:15px}@media(min-width:720px){.attention-grid{grid-template-columns:repeat(4,1fr)}.pipeline-tools{grid-template-columns:1fr 180px 180px;align-items:center}.cust-glance.is-four{grid-template-columns:repeat(4,1fr)}}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6);background:var(--bg)}.login-card{width:min(100%,360px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);padding:var(--space-6);display:grid;gap:var(--space-4)}.login-card h1{margin:0;font-size:22px}.login-subtitle{margin:0;color:var(--text-secondary)}.login-error{margin:0;color:var(--danger);font-size:14px}
