.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--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: #ffffff;--surface: #ffffff;--surface-soft: #f8fafc;--surface-weak: #f1f5fd;--ink: #0f172a;--ink-soft: #475569;--muted: #64748b;--line: #e4ecfc;--line-strong: #c6d8f6;--primary: #2563eb;--primary-soft: #dbeafe;--secondary: #6366f1;--accent: #059669;--accent-soft: #dcfce7;--gold: #a16207;--gold-soft: #fef3c7;--danger: #dc2626;--danger-soft: #fee2e2;--shadow: none;--radius: 8px;font-family:Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,#root{height:100%}body{margin:0;min-width:1200px;height:100vh;height:100dvh;background:var(--bg);overflow:hidden}body:has(.login-shell){min-width:0;background:radial-gradient(circle at 18% 16%,rgba(161,98,7,.16),transparent 28%),linear-gradient(135deg,#0b1220,#111827 45%,#f8fafc 45%,#fff)}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid rgba(37,99,235,.28);outline-offset:2px}.shell{display:grid;grid-template-columns:clamp(210px,13.5vw,260px) clamp(280px,17vw,330px) minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}.menu-rail{display:flex;flex-direction:column;gap:14px;padding:16px 14px;background:var(--surface-soft);border-right:1px solid var(--line);min-height:0;overflow:hidden}.brand{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.brand-icon{display:grid;width:38px;height:38px;place-items:center;color:#fff;background:var(--primary);border-radius:10px}.brand strong{display:block;color:var(--ink);font-size:17px;line-height:1.1}.brand span{color:var(--muted);font-size:12px}.new-chat,.ghost-btn,.icon-btn,.start-btn,.menu-item,.staff-item,.friend-item,.mode-btn,.send-btn{border:1px solid transparent;border-radius:var(--radius);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.new-chat{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;color:var(--primary);background:var(--surface);border-color:var(--line);font-weight:700}.menu-list{display:flex;flex-direction:column;gap:4px}.menu-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;color:var(--ink-soft);text-align:left;background:transparent}.menu-item.active{color:var(--primary);background:var(--primary-soft)}.menu-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-footer{position:relative;margin-top:auto;padding-top:12px}.account-popover{position:relative}.user-chip{display:flex;width:100%;min-height:48px;align-items:center;gap:8px;padding:7px 8px;color:var(--ink);font-size:12px;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius);transition:background .15s ease,border-color .15s ease}.user-chip:hover,.account-popover:focus-within .user-chip{background:var(--surface);border-color:var(--line)}.user-chip strong,.user-chip span{display:block}.user-chip span{color:var(--muted)}.account-menu{position:absolute;right:0;bottom:calc(100% + 8px);left:0;z-index:30;padding:6px;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 44px #0f172a1f;opacity:0;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease}.account-popover:hover .account-menu,.account-popover:focus-within .account-menu{pointer-events:auto;opacity:1;transform:translateY(0)}.account-menu button{display:inline-flex;width:100%;min-height:38px;align-items:center;gap:8px;padding:0 10px;color:var(--ink);text-align:left;background:transparent;border:0;border-radius:7px;font-weight:700}.account-menu button:hover,.account-menu button:focus-visible{color:var(--primary);background:var(--primary-soft)}.account-menu button:last-child{color:#991b1b}.account-menu button:last-child:hover,.account-menu button:last-child:focus-visible{background:#fef2f2}.assistant-rail{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;padding:16px 14px;background:var(--surface);border-right:1px solid var(--line);overflow:hidden}.assistant-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.assistant-kicker{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:800}.assistant-head h1{margin:9px 0 0;color:var(--ink);font-size:19px;line-height:1.2}.assistant-head p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.model-pill{flex:0 0 auto;display:inline-flex;min-height:28px;align-items:center;padding:0 9px;color:var(--accent);background:var(--accent-soft);border-radius:999px;font-size:12px;font-weight:800}.customer-summary{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 10px;padding:9px 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.customer-summary span,.customer-summary strong{display:block}.customer-summary span{color:var(--muted);font-size:11px;font-weight:700}.customer-summary strong{overflow:hidden;margin-top:3px;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.customer-summary button{display:inline-flex;flex:0 0 auto;min-height:32px;align-items:center;gap:5px;padding:0 9px;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:12px;font-weight:800}.customer-summary button:hover{background:var(--primary-soft)}.danger-text{color:var(--danger)!important}.assistant-scope{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px;border-bottom:1px solid var(--line)}.assistant-scope span{display:inline-flex;min-height:26px;align-items:center;gap:5px;padding:0 8px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700}.profile-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0f172a42}.profile-modal{width:min(440px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 48px));padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 72px #0f172a38;overflow-y:auto}.profile-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.profile-modal-head span{display:block;color:var(--muted);font-size:12px;font-weight:800}.profile-modal-head strong{display:block;margin-top:4px;color:var(--ink);font-size:18px}.profile-modal-head button{display:grid;width:38px;height:38px;place-items:center;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.profile-modal-head button:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0 10px}.profile-detail-grid div{min-height:58px;padding:9px 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.profile-detail-grid span,.profile-detail-grid strong{display:block}.profile-detail-grid span{color:var(--muted);font-size:11px;font-weight:800}.profile-detail-grid strong{margin-top:6px;color:var(--ink);font-size:13px;line-height:1.35}.state-tags{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 12px;border-bottom:1px solid var(--line)}.state-tags span{display:inline-flex;min-height:23px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:700}.assistant-messages{display:flex;flex:1;min-height:0;max-height:100%;flex-direction:column;gap:10px;padding:12px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.assistant-msg{padding:11px 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.assistant-msg.user{background:#fff;border-color:#bfdbfe}.assistant-msg.ai{box-shadow:inset 3px 0 #c7d2fe}.assistant-msg.pending{opacity:.82}.assistant-msg.streaming p:after{display:inline-block;width:7px;height:14px;margin-left:2px;vertical-align:-2px;background:var(--primary);border-radius:1px;content:"";animation:blink .9s steps(2,start) infinite}.assistant-msg-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:800}.assistant-msg-meta small{font-weight:600}.assistant-msg p{margin:0;white-space:pre-wrap;color:var(--ink);font-size:13px;line-height:1.64}.assistant-knowledge-block{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.assistant-knowledge-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.assistant-knowledge-head span{color:var(--ink);font-size:12px;font-weight:800}.assistant-knowledge-head small{color:var(--muted);font-size:11px;font-weight:700}.assistant-knowledge-list{display:grid;gap:8px}.assistant-knowledge-item{display:grid;gap:4px;padding:10px;background:#fbfdff;border:1px solid var(--line);border-radius:8px}.assistant-knowledge-item strong{color:var(--primary);font-size:12px;font-weight:800}.assistant-knowledge-item small{color:var(--muted);font-size:11px;font-weight:700}.assistant-knowledge-item p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.6}.attachment-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.attachment-row span,.fallback-tag,.pending-attachments span{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:700}.fallback-tag{margin-top:8px;color:var(--gold);background:var(--gold-soft)}.prompt-row{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:7px;padding:10px 0;border-top:1px solid var(--line)}.prompt-row button{min-height:30px;padding:0 9px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:700}.prompt-row button:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.prompt-row button:disabled,.send-btn:disabled{cursor:not-allowed;opacity:.48}.pending-attachments{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pending-attachments button{display:grid;width:18px;height:18px;place-items:center;padding:0;color:var(--primary);background:transparent;border:0;font-weight:800}.assistant-error{flex:0 0 auto;margin:0 0 8px;padding:8px 10px;color:var(--danger);background:var(--danger-soft);border:1px solid #fecaca;border-radius:var(--radius);font-size:12px;font-weight:700}.assistant-input{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.assistant-input textarea{width:100%;min-height:54px;max-height:120px;padding:10px 11px;resize:none;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);outline:none}.assistant-input textarea:focus{background:#fff;border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.assistant-input-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.attach-btn{display:grid;width:44px;height:44px;place-items:center;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.attach-btn:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.attach-btn input{display:none}.icon-btn{display:grid;width:44px;height:44px;place-items:center;color:var(--ink-soft);background:var(--surface);border-color:var(--line)}.workspace{display:flex;flex-direction:column;height:100vh;height:100dvh;min-width:0;min-height:0;padding:12px 12px 12px 14px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:0 0 10px}.context{width:220px;flex:0 0 220px}.context-main{display:block;color:var(--ink);font-size:13px;font-weight:800}.context-sub{display:block;margin-top:2px;color:var(--muted);font-size:12px}.topbar-actions{display:flex;flex:0 0 auto;gap:8px}.mode-bar{display:flex;flex:1;align-items:center;gap:8px;min-width:260px;min-height:46px;padding:0 8px;background:#fbfdff;border:1px solid var(--line);border-radius:var(--radius)}.mode-btn{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px 0 8px;color:var(--ink-soft);background:var(--surface);border-color:var(--line);font-weight:700}.mode-btn.active,.mode-btn:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.mode-key{display:grid;width:22px;height:22px;place-items:center;color:var(--primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:12px;line-height:1}.ghost-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;color:var(--ink-soft);background:var(--surface);border-color:var(--line)}.system-full-shell{display:flex;height:100vh;height:100dvh;min-width:0;min-height:0;flex-direction:column;overflow:hidden;background:var(--surface-soft)}.system-full-topbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,auto) auto;gap:16px;align-items:center;min-height:72px;padding:12px 18px;background:var(--surface);border-bottom:1px solid var(--line)}.system-full-brand{display:flex;min-width:0;align-items:center;gap:10px}.system-full-brand strong,.system-full-brand span,.system-full-status span,.system-full-status strong{display:block}.system-full-brand strong{color:var(--ink);font-size:17px;line-height:1.1}.system-full-brand span{margin-top:3px;color:var(--muted);font-size:12px}.system-full-status{min-width:0;padding:8px 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.system-full-status span{color:var(--muted);font-size:11px;font-weight:800}.system-full-status strong{margin-top:4px;color:var(--ink);font-size:13px;line-height:1.25}.main-stage{display:grid;grid-template-columns:clamp(160px,12vw,200px) clamp(210px,15vw,255px) minmax(360px,1fr);gap:10px;min-height:0;flex:1;overflow:hidden}.staff-column,.account-column,.chat-column,.brain-panel,.settings-panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.staff-column,.account-column{display:flex;flex-direction:column;padding:12px;min-height:0;overflow:hidden}.section-title{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.section-title span{color:var(--ink);font-size:14px;font-weight:800}.section-title small{color:var(--muted);font-size:12px}.search-pill{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.search-pill input{width:100%;min-width:0;background:transparent;border:0;outline:none}.start-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-top:10px;padding:0 10px;color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe;font-weight:700}.staff-list,.friend-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.staff-item{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;min-height:52px;padding:6px 8px;color:var(--ink);text-align:left;background:var(--surface);border-color:var(--line)}.staff-item.active{background:var(--primary-soft);border-color:#bfdbfe}.staff-avatar{display:grid;width:36px;height:36px;place-items:center;overflow:hidden;color:var(--primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-weight:800}.staff-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.staff-meta strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.staff-meta small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.status-badge,.risk-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;font-size:12px;font-weight:800;border-radius:999px}.status-badge{color:var(--accent);background:var(--accent-soft)}.status-badge.warning{color:#b45309;background:#fef3c7}.friend-list{flex:1;margin-top:0}.friend-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:66px;padding:8px;overflow:hidden;color:var(--ink);text-align:left;background:var(--surface);border-color:var(--line)}.friend-item.active{background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 3px 0 0 var(--primary)}.friend-avatar{display:grid;width:36px;height:36px;place-items:center;overflow:hidden;color:var(--primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-weight:800}.staff-avatar.has-image,.friend-avatar.has-image{background:#fff}.staff-avatar.generated-avatar,.friend-avatar.generated-avatar,.customer-modal-avatar.generated-avatar{color:#fff;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.46),transparent 34%),linear-gradient(135deg,var(--avatar-start, #2563eb),var(--avatar-end, #60a5fa));border-color:#ffffff61;box-shadow:inset 0 0 0 1px #ffffff2e,0 6px 14px #0f172a1f}.staff-avatar img,.friend-avatar img{display:block;width:100%;height:100%;object-fit:cover}.friend-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.friend-copy strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.friend-copy small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.friend-time{max-width:40px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.friend-load-more{min-height:36px;flex:0 0 auto;color:var(--primary);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:800}.friend-load-more:hover:not(:disabled){background:var(--primary-soft);border-color:#bfdbfe}.friend-load-more:disabled{cursor:not-allowed;opacity:.55}.friend-list-end,.friend-list-empty{flex:0 0 auto;padding:10px 6px 4px;color:var(--muted);font-size:12px;text-align:center}.chat-column{display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.chat-title{display:block;min-width:180px;padding:6px 8px;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius)}.chat-title:hover,.chat-title:focus-visible{background:var(--surface-soft);border-color:var(--line)}.chat-title strong{display:block;color:var(--ink);font-size:16px}.chat-title small{color:var(--muted);font-size:12px}.customer-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0f172a47}.customer-modal{width:min(620px,calc(100vw - 48px));max-height:min(760px,calc(100vh - 48px));padding:16px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 72px #0f172a38}.customer-modal-head{display:grid;grid-template-columns:48px 1fr 40px;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.customer-modal-avatar{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;color:var(--primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;font-weight:800}.customer-modal-avatar.has-image{background:#fff}.customer-modal-avatar img{display:block;width:100%;height:100%;object-fit:cover}.customer-modal-head span,.customer-modal-head strong{display:block}.customer-modal-head span{color:var(--muted);font-size:12px;font-weight:800}.customer-modal-head strong{margin-top:4px;color:var(--ink);font-size:18px;line-height:1.2}.customer-modal-head button{display:grid;width:40px;height:40px;place-items:center;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.customer-modal-head button:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.customer-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 0}.customer-info-grid div{min-height:58px;padding:9px 10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.customer-info-grid div.wide{grid-column:1 / -1}.customer-info-grid span,.customer-info-grid strong{display:block}.customer-info-grid span,.customer-modal-section>span{color:var(--muted);font-size:11px;font-weight:800}.customer-info-grid strong{overflow-wrap:anywhere;margin-top:6px;color:var(--ink);font-size:13px;line-height:1.35}.customer-modal-section{padding:12px 0;border-top:1px solid var(--line)}.customer-modal-section p{margin:8px 0 0;color:var(--ink);font-size:13px;line-height:1.65}.customer-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.customer-tag-list em{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-style:normal;font-weight:700}.chat-icons{display:flex;gap:6px}.chat-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:18px 16px 10px;overflow:auto}.empty-line{margin:6px 0 4px;color:var(--muted);font-size:12px;text-align:center}.bubble{max-width:62%;padding:12px 12px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface-soft)}.bubble.user{align-self:flex-start;background:#fff}.bubble.ai{align-self:flex-end;background:#eff6ff;border-color:#bfdbfe}.bubble.system{align-self:center;max-width:80%;background:#fef2f2;border-color:#fecaca}.bubble-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:700}.bubble p{margin:0;color:var(--ink);font-size:13px;line-height:1.62}.media-tag{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:6px 8px;color:var(--primary);font-size:12px;font-weight:800;background:var(--primary-soft);border-radius:999px}.composer{padding:12px;border-top:1px solid var(--line);background:var(--surface)}.composer-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ghost-btn.small{min-height:30px;padding:0 10px}.risk-pill{color:var(--accent);background:var(--accent-soft);border:1px solid transparent}button.risk-pill{min-height:30px;padding:0 10px}button.risk-pill:hover:not(:disabled){border-color:#86efac;box-shadow:0 0 0 3px #22c55e1f}.risk-pill.danger{color:var(--danger);background:var(--danger-soft)}button.risk-pill.danger:hover:not(:disabled){border-color:#fecaca;box-shadow:0 0 0 3px #dc26261a}.risk-pill.readonly{color:var(--gold);background:var(--gold-soft)}button.risk-pill:disabled{cursor:not-allowed;opacity:.78}.composer-notice{margin:0 0 8px;padding:8px 10px;color:var(--gold);background:var(--gold-soft);border:1px solid #fde68a;border-radius:var(--radius);font-size:12px;font-weight:700}.composer-box{display:flex;align-items:center;gap:10px;padding:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.composer-box input{flex:1;min-width:0;background:transparent;border:0;outline:none}.composer-box input:disabled{cursor:not-allowed;color:var(--muted)}.send-btn{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;color:#fff;background:var(--primary);border-color:var(--primary);font-weight:700}.send-btn.wide{width:100%;justify-content:center}.spin-icon{animation:spin .9s linear infinite}.brain-panel{display:grid;grid-template-columns:140px minmax(0,1fr);min-height:0;flex:1;overflow:hidden}.brain-nav{display:flex;flex-direction:column;gap:6px;padding:18px 12px;background:var(--surface-soft);border-right:1px solid var(--line)}.brain-nav button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;color:var(--ink-soft);text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius)}.brain-nav button.active{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe;font-weight:800}.brain-nav button.active-sub{color:var(--ink);background:#fff;border-color:var(--line);font-weight:700}.brain-content,.settings-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.strategy-shell{display:grid;grid-template-columns:minmax(360px,39%) minmax(0,1fr);gap:14px;min-height:0;flex:1;padding:16px;overflow:hidden;background:#fbfdff}.agent-panel,.strategy-right{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.strategy-section-head,.workflow-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.strategy-section-head.compact{padding:12px 0 10px;border-bottom:0}.strategy-section-head span,.workflow-head span,.prompt-editor span,.knowledge-box .strategy-section-head span{display:block;color:var(--muted);font-size:11px;font-weight:800}.strategy-section-head strong,.workflow-head strong,.prompt-editor strong,.knowledge-box .strategy-section-head strong{display:block;margin-top:4px;color:var(--ink);font-size:15px;line-height:1.2}.agent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px 0}.agent-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-height:64px;padding:8px;color:var(--ink);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.agent-item.active{background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 3px 0 0 var(--primary)}.agent-item strong,.agent-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-item strong{color:var(--ink);font-size:13px}.agent-item small{margin-top:4px;color:var(--muted);font-size:12px}.prompt-editor{display:flex;min-height:0;flex:1;flex-direction:column;gap:10px;padding:14px 16px 12px}.prompt-editor textarea{width:100%;min-height:180px;flex:1;resize:none;padding:12px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);outline:none;line-height:1.65}.prompt-editor textarea:focus{background:#fff;border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.knowledge-box{flex:0 0 auto;padding:0 16px 16px;border-top:1px solid var(--line)}.doc-row{display:grid;width:100%;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-height:54px;margin-top:8px;padding:8px;color:var(--ink);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.doc-row svg{justify-self:center;color:var(--primary)}.doc-row strong,.doc-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row strong{color:var(--ink);font-size:13px}.doc-row small{margin-top:3px;color:var(--muted);font-size:12px}.strategy-tabs{display:flex;flex:0 0 auto;gap:8px;padding:12px 14px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.strategy-tabs button{min-height:34px;padding:0 16px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-weight:800}.strategy-tabs button.active{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.qa-empty{display:grid;flex:1;place-items:center;align-content:center;gap:10px;min-height:0;padding:24px;color:var(--muted);text-align:center}.qa-empty svg{color:var(--primary)}.qa-empty strong{color:var(--ink);font-size:18px}.qa-empty p{max-width:520px;margin:0;line-height:1.7}.workflow-board{display:flex;min-height:0;flex:1;flex-direction:column}.workflow-canvas{position:relative;display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;padding:16px;overflow:auto}.workflow-node{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;min-height:150px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.workflow-node:after{position:absolute;right:-15px;top:50%;width:14px;height:1px;background:#bfdbfe;content:""}.workflow-node:nth-child(2n):after,.workflow-node:last-child:after{display:none}.node-index{display:grid;width:32px;height:32px;place-items:center;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:9px;font-size:13px;font-weight:900}.workflow-node small,.workflow-node strong,.workflow-node p,.workflow-node em{display:block}.workflow-node small{color:var(--primary);font-size:12px;font-weight:900}.workflow-node strong{margin-top:4px;color:var(--ink);font-size:15px}.workflow-node p{margin:8px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.6}.workflow-node em{margin-top:10px;padding:8px 9px;color:var(--gold);background:var(--gold-soft);border:1px solid #fde68a;border-radius:var(--radius);font-size:12px;font-style:normal;font-weight:700;line-height:1.45}.workspace-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.workspace-panel-head h2{margin:0;color:var(--ink);font-size:20px;line-height:1.2}.workspace-panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.brain-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;padding:18px 20px 24px;overflow:auto}.brain-card{min-height:236px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.brain-card-head{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start}.brain-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--primary);background:#e0f2fe;border-radius:10px}.brain-card-head strong{display:block;color:var(--ink);font-size:15px;line-height:1.25}.brain-card-head small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.brain-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 16px}.brain-flow div{min-height:76px;padding:12px;background:#f8fbff;border:1px solid var(--line);border-radius:var(--radius)}.brain-flow svg{color:var(--primary)}.brain-flow strong,.brain-flow small{display:block}.brain-flow strong{margin-top:7px;color:var(--ink);font-size:13px}.brain-flow small{margin-top:2px;color:var(--muted);font-size:12px}.brain-panel{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.workspace-panel-head{flex:0 0 auto}.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:12px;padding:18px 20px 24px;overflow:auto;background:#fbfdff}.strategy-card{display:flex;min-height:218px;flex-direction:column;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.strategy-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.strategy-card-head span,.strategy-card-foot span,.modal-section-title span,.workflow-head span{display:block;color:var(--muted);font-size:11px;font-weight:800}.strategy-card-head strong,.modal-section-title strong,.workflow-head strong{display:block;margin-top:4px;color:var(--ink);font-size:15px;line-height:1.25}.strategy-card>p{min-height:42px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.6}.brain-icon.small{width:34px;height:34px;border-radius:9px}.strategy-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}.strategy-entry{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-height:72px;padding:10px;color:var(--ink);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);transition:background .15s ease,border-color .15s ease,transform .15s ease}.strategy-entry:hover{background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.strategy-entry strong,.strategy-entry small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strategy-entry strong{color:var(--ink);font-size:13px}.strategy-entry small{margin-top:3px;color:var(--muted);font-size:12px}.strategy-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.strategy-card-foot strong{color:var(--ink-soft);font-size:12px}.strategy-modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:#0f172a57}.strategy-modal{display:flex;width:min(1040px,calc(100vw - 48px));max-height:min(820px,calc(100vh - 48px));min-height:min(620px,calc(100vh - 48px));flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 72px #0f172a38}.developing-modal{display:flex;width:min(480px,calc(100vw - 48px));flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 72px #0f172a38}.strategy-modal-head{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.strategy-modal-head span,.strategy-modal-head strong{display:block}.strategy-modal-head span{color:var(--muted);font-size:12px;font-weight:800}.strategy-modal-head strong{margin-top:4px;color:var(--ink);font-size:20px;line-height:1.2}.strategy-modal-head button{display:grid;width:40px;height:40px;place-items:center;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.strategy-modal-head button:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.developing-body{display:grid;justify-items:center;gap:14px;padding:28px 30px 30px;text-align:center}.developing-icon{display:grid;width:58px;height:58px;place-items:center;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:16px}.developing-body p{max-width:360px;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.7}.strategy-modal-body{display:flex;min-height:0;flex:1;flex-direction:column;overflow:auto;background:#fbfdff}.strategy-modal-body.agent-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;padding:16px}.strategy-modal .prompt-editor{display:flex;min-height:0;flex:1;flex-direction:column;gap:10px;padding:0}.strategy-modal .prompt-editor textarea{width:100%;min-height:420px;flex:1;resize:none;padding:12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);outline:none;line-height:1.7}.strategy-modal .prompt-editor textarea:focus{background:#fff;border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.strategy-modal .knowledge-box{min-width:0;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:14px;min-height:0}.strategy-modal .doc-row{min-height:58px;margin-top:10px;padding:9px}.knowledge-box-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.knowledge-box-actions{display:inline-flex;align-items:center;gap:8px}.knowledge-upload-input{display:none}.knowledge-upload-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:104px;padding:16px;color:inherit;text-align:left;background:linear-gradient(180deg,#fff,#f8fbff);border:1px dashed #93c5fd;border-radius:8px;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.knowledge-upload-card:hover:not(:disabled){background:#eff6ff;border-color:var(--primary);box-shadow:0 12px 28px #2563eb1a;transform:translateY(-1px)}.knowledge-upload-card:disabled{cursor:wait;opacity:.72}.knowledge-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--primary);background:#2563eb14;border:1px solid rgba(37,99,235,.14);border-radius:8px}.knowledge-upload-card strong,.knowledge-upload-card small{display:block}.knowledge-upload-card strong{color:var(--ink);font-size:14px;line-height:1.35}.knowledge-upload-card small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.knowledge-upload-action,.workflow-tool-btn.primary{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 10px;color:#fff;background:var(--primary);border:1px solid var(--primary);border-color:var(--primary);border-radius:var(--radius);font-size:12px;font-weight:900}.workflow-tool-btn.primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.knowledge-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 0}.knowledge-list-head span{color:var(--ink);font-size:13px;font-weight:800}.knowledge-list-head strong{min-width:26px;height:24px;padding:0 8px;color:var(--primary);font-size:12px;line-height:24px;text-align:center;background:#2563eb14;border-radius:999px}.knowledge-doc-list{display:flex;min-height:0;max-height:520px;flex-direction:column;gap:8px;overflow:auto;padding-right:4px}.knowledge-doc-list.compact{max-height:560px}.knowledge-empty{display:flex;min-height:148px;align-items:center;justify-content:center;padding:18px;color:var(--muted);font-size:13px;line-height:1.6;text-align:center;background:var(--surface-soft);border:1px dashed var(--line);border-radius:var(--radius)}.knowledge-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.knowledge-stats-grid article{min-width:0;min-height:82px;padding:12px;background:#fbfdff;border:1px solid var(--line);border-radius:var(--radius)}.knowledge-stats-grid span,.knowledge-stats-grid strong,.knowledge-stats-grid small{display:block}.knowledge-stats-grid span{color:var(--muted);font-size:11px;font-weight:800}.knowledge-stats-grid strong{margin-top:8px;color:var(--ink);font-size:24px;line-height:1.05}.knowledge-stats-grid small{margin-top:7px;color:var(--ink-soft);font-size:12px;line-height:1.45}.doc-row.rich{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;min-height:66px;margin-top:0;background:#fff;border:1px solid var(--line);border-radius:8px}.doc-row-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--primary);background:#2563eb14;border-radius:8px}.doc-row-main{min-width:0;padding-top:1px}.doc-row-main strong{display:block;overflow:hidden;color:var(--ink);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.doc-row-main small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.doc-row-main em{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-style:normal;line-height:1.5}.doc-row-actions{display:inline-flex;align-items:center;gap:8px;padding-top:1px}.doc-icon-btn{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:.16s ease}.doc-icon-btn:hover{color:#b91c1c;border-color:#ef444452;background:#ef44440f}.knowledge-config-card{display:flex;flex-direction:column;gap:12px;padding:12px;background:#f8fbff;border:1px solid var(--line);border-radius:var(--radius)}.knowledge-retrieval-card{display:flex;flex-direction:column;gap:12px;padding:12px;background:#fbfdff;border:1px solid var(--line);border-radius:var(--radius)}.knowledge-retrieval-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.knowledge-retrieval-form textarea{width:100%;min-height:88px;padding:10px 11px;resize:vertical;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius);outline:none}.knowledge-retrieval-form textarea:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.knowledge-preview-list{display:grid;gap:8px}.knowledge-preview-item{display:grid;gap:6px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}.knowledge-preview-item div{display:flex;align-items:center;justify-content:space-between;gap:8px}.knowledge-preview-item span{color:var(--primary);font-size:12px;font-weight:800}.knowledge-preview-item strong{color:var(--ink-soft);font-size:11px;font-weight:800}.knowledge-preview-item p{margin:0;color:var(--ink);font-size:12px;line-height:1.6}.knowledge-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.knowledge-config-grid .task-field.compact,.knowledge-config-key{margin:0}.knowledge-config-grid .task-field.compact span{font-size:12px}.knowledge-config-grid .task-field.compact input{min-height:38px}.knowledge-config-key{grid-column:1 / -1}.knowledge-config-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.knowledge-config-foot small{color:var(--muted);font-size:12px}.knowledge-doc-list::-webkit-scrollbar{width:7px}.knowledge-doc-list::-webkit-scrollbar-track{background:transparent}.knowledge-doc-list::-webkit-scrollbar-thumb{background:#94a3b8b8;border:2px solid transparent;border-radius:999px;background-clip:content-box}.knowledge-doc-list::-webkit-scrollbar-thumb:hover{background-color:#475569c7}@media(max-width:1100px){.strategy-modal-body.agent-detail,.knowledge-stats-grid,.knowledge-config-grid,.knowledge-retrieval-form{grid-template-columns:1fr}}.strategy-modal .strategy-tabs{background:var(--surface)}.strategy-modal .qa-empty{min-height:360px}.strategy-modal .workflow-head{background:var(--surface)}.strategy-modal{width:min(1320px,calc(100vw - 48px))}.strategy-modal-body{overflow:auto}.workflow-head-actions{display:inline-flex;align-items:center;gap:8px}.workflow-head-actions>span{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.workflow-tool-btn{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 10px;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:12px;font-weight:900}.workflow-tool-btn:hover{background:var(--primary-soft)}.workflow-tool-btn:disabled{cursor:not-allowed;opacity:.55}.workflow-tool-btn.muted{color:var(--ink-soft);background:var(--surface-soft);border-color:var(--line)}.workflow-save-alert{margin:0 14px;padding:9px 11px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius);font-size:12px;font-weight:900}.workflow-save-alert.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.sop-workbench{display:grid;grid-template-columns:236px minmax(520px,1fr) 300px;gap:14px;height:min(64vh,680px);min-height:520px;flex:0 0 auto;padding:16px;overflow:hidden}.workflow-fullscreen{position:fixed;inset:0;z-index:90;display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--surface-soft)}.workflow-fullscreen-head{display:flex;flex:0 0 auto;min-height:64px;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.workflow-fullscreen-head span,.workflow-fullscreen-head strong{display:block}.workflow-fullscreen-head span{color:var(--primary);font-size:12px;font-weight:900}.workflow-fullscreen-head strong{margin-top:4px;color:var(--ink);font-size:18px;line-height:1.2}.workflow-fullscreen-actions{display:inline-flex;align-items:center;gap:10px}.workflow-fullscreen-actions>span{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.workflow-fullscreen-actions>button:not(.workflow-tool-btn){display:grid;width:38px;height:38px;place-items:center;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.workflow-fullscreen-actions>button:not(.workflow-tool-btn):hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.workflow-fullscreen-body{position:relative;display:grid;grid-template-columns:276px minmax(0,1fr);gap:12px;flex:1;min-height:0;padding:12px;overflow:hidden}.workflow-fullscreen-body.library-collapsed{grid-template-columns:minmax(0,1fr)}.workflow-fullscreen .task-template-rail{border-radius:var(--radius)}.workflow-rail-restore{position:absolute;z-index:26;display:inline-flex;min-height:38px;align-items:center;gap:6px;padding:0 10px;color:var(--primary);background:#fffffff0;border:1px solid #bfdbfe;border-radius:var(--radius);box-shadow:0 10px 24px #0f172a1a;font-size:12px;font-weight:900;transition:transform .16s ease,background .16s ease,border-color .16s ease}.workflow-rail-restore:hover{background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px)}.workflow-rail-restore.left{top:22px;left:22px}.workflow-rail-restore.right{top:50%;right:22px;transform:translateY(-50%)}.workflow-rail-restore.right:hover{transform:translateY(calc(-50% - 1px))}.workflow-floating-editor{position:absolute;top:76px;right:22px;bottom:22px;z-index:20;width:min(360px,calc(100vw - 340px));min-height:0;pointer-events:auto;opacity:1;transform:translate(0);transition:opacity .18s ease,transform .18s ease}.workflow-floating-editor.collapsed{pointer-events:none;opacity:0;transform:translate(22px)}.workflow-floating-editor .task-editor-panel{height:100%;background:#fffffff5;box-shadow:0 18px 44px #0f172a1f}.workflow-fullscreen-preview{position:absolute;right:22px;bottom:22px;left:auto;z-index:22;width:min(440px,calc(100vw - 360px));pointer-events:auto}.workflow-fullscreen-preview .workflow-preview-panel{max-height:168px;margin:0;overflow:hidden;box-shadow:0 18px 44px #0f172a21}.workflow-fullscreen-preview .workflow-preview-panel.expanded{max-height:min(58vh,540px)}.workflow-fullscreen-preview .workflow-preview-steps{max-height:160px}.workflow-fullscreen-preview+.workflow-floating-editor,.workflow-floating-editor:not(.collapsed)~.workflow-fullscreen-preview{right:398px;width:min(380px,max(300px,calc(100vw - 760px)))}.workflow-preview-panel.floating.compact .workflow-preview-metrics{max-width:210px}.task-template-rail,.task-chain-panel,.task-editor-panel{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.task-panel-title{display:flex;flex:0 0 auto;flex-direction:column;gap:3px;padding:13px 14px 11px;border-bottom:1px solid var(--line)}.task-panel-title.inline{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.task-panel-title span,.task-editor-head span,.task-field>span,.workflow-preview span{display:block;color:var(--muted);font-size:11px;font-weight:900}.task-panel-title strong,.task-editor-head strong{display:block;color:var(--ink);font-size:14px;line-height:1.25}.task-panel-title.inline small{display:inline-flex;flex:0 0 auto;min-height:26px;align-items:center;padding:0 9px;color:var(--accent);background:var(--accent-soft);border-radius:999px;font-size:12px;font-weight:900}.workflow-canvas-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:#fff;border-bottom:1px solid var(--line)}.workflow-canvas-toolbar>span{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.workflow-canvas-toolbar>div{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.workflow-canvas-toolbar button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;padding:0 9px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:900;transition:background .12s ease,border-color .12s ease,color .12s ease}.workflow-canvas-toolbar button:hover:not(:disabled){color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.workflow-canvas-toolbar button.danger{color:#991b1b}.workflow-canvas-toolbar button.danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.workflow-canvas-toolbar button:disabled{cursor:not-allowed;opacity:.48}.workflow-canvas-toolbar small{display:inline-flex;min-height:26px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:900}.task-template-list,.task-chain-list,.task-editor-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.task-template-list::-webkit-scrollbar,.task-editor-scroll::-webkit-scrollbar,.strategy-modal-body::-webkit-scrollbar{width:7px}.task-template-list::-webkit-scrollbar-track,.task-editor-scroll::-webkit-scrollbar-track,.strategy-modal-body::-webkit-scrollbar-track{background:transparent}.task-template-list::-webkit-scrollbar-thumb,.task-editor-scroll::-webkit-scrollbar-thumb,.strategy-modal-body::-webkit-scrollbar-thumb{background:#94a3b8b8;border:2px solid transparent;border-radius:999px;background-clip:content-box}.task-template-list::-webkit-scrollbar-thumb:hover,.task-editor-scroll::-webkit-scrollbar-thumb:hover,.strategy-modal-body::-webkit-scrollbar-thumb:hover{background-color:#475569c7}.task-template-list{display:flex;flex-direction:column;gap:12px;padding:10px 8px 10px 10px;overflow-x:hidden;scrollbar-color:rgba(148,163,184,.72) transparent;scrollbar-width:thin}.task-template-group{display:grid;gap:7px;min-width:0}.task-template-group-title{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:0 3px}.task-template-group-title span,.task-template-group-title small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-template-group-title span{color:var(--ink);font-size:12px;font-weight:900}.task-template-group-title small{flex:0 1 auto;color:var(--muted);font-size:10px;font-weight:800}.task-template-rail.compact .task-template-list{gap:8px;padding:10px 8px 10px 10px}.task-template-rail.compact .task-template-group{gap:6px}.task-template-rail.compact .task-template-group-title small{display:none}.task-template-rail.compact .task-template-btn{grid-template-columns:32px minmax(0,1fr);min-height:74px;padding:10px 9px}.task-template-rail.compact .task-template-icon{width:32px;height:32px}.task-template-rail.compact .task-template-btn small{-webkit-line-clamp:1}.task-template-btn{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;min-height:76px;padding:10px;color:var(--ink);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:background .12s ease,border-color .12s ease,color .12s ease}.task-template-btn:hover{background:#eff6ff;border-color:#bfdbfe;box-shadow:0 8px 18px #2563eb14}.task-template-btn.agent-template{background:#f6f3ff;border-color:#ddd6fe}.task-template-btn.agent-template:hover{background:#ede9fe;border-color:#c4b5fd}.task-template-btn.agent-template .task-template-icon{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.task-template-btn.agent-template em{color:#6d28d9}.task-template-btn.pending-template{background:#f8fafc;opacity:.88}.task-template-icon,.task-chain-icon,.task-editor-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:9px;line-height:0}.task-template-icon svg,.task-chain-icon svg,.task-editor-icon svg{display:block;flex:0 0 auto}.task-template-icon{width:34px;height:34px}.task-template-btn>span:last-child{min-width:0;overflow:hidden}.task-template-btn strong,.task-template-btn small,.task-template-btn em,.task-chain-main small,.task-chain-main strong,.task-chain-main em{display:block}.task-template-btn em{width:100%;max-width:100%;min-height:auto;margin-bottom:2px;padding:0;overflow:hidden;color:var(--primary);background:transparent;border:0;border-radius:0;font-size:10px;font-style:normal;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.task-template-btn strong{overflow:hidden;color:var(--ink);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.task-template-btn small{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-chain-panel{background:#fbfdff}.flow-chain-panel{min-height:0}.flow-chain-panel.fullscreen{border-radius:var(--radius)}.sop-flow-canvas{position:relative;flex:1;min-height:0;background:linear-gradient(180deg,#f8fafcf5,#fffffffa)}.sop-flow-canvas .react-flow{background:transparent}.sop-flow-canvas .react-flow__pane{cursor:grab}.sop-flow-canvas .react-flow__pane.dragging{cursor:grabbing}.sop-flow-canvas .react-flow__edge-path{stroke:#2563eb;stroke-width:2}.sop-flow-canvas .react-flow__edge.animated path{animation:none}.sop-flow-canvas .react-flow__connection-path{stroke:#059669;stroke-width:2}.sop-flow-canvas .react-flow__controls{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.sop-flow-canvas .react-flow__controls-button{width:32px;height:32px;color:var(--ink-soft);background:#fff;border-bottom:1px solid var(--line)}.sop-flow-canvas .react-flow__controls-button:hover{color:var(--primary);background:var(--primary-soft)}.sop-flow-canvas .react-flow__minimap{overflow:hidden;background:#ffffffe0;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.sop-flow-canvas .react-flow__node.selected .flow-task-node{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a,0 10px 20px #0f172a14}.flow-task-node{position:relative;width:276px;padding:12px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 18px #0f172a0f}.flow-task-node.selected{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a,0 10px 20px #0f172a14}.flow-task-node-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center}.flow-task-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:9px}.flow-task-title{min-width:0}.flow-task-title em,.flow-task-title strong{display:block}.flow-task-title em{width:fit-content;max-width:100%;min-height:18px;padding:0 7px;overflow:hidden;color:var(--primary);background:#eff6ff;border-radius:999px;font-size:11px;font-style:normal;font-weight:900;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.flow-task-title strong{overflow:hidden;margin-top:5px;color:var(--ink);font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.flow-task-node p{display:-webkit-box;margin:11px 0 0;overflow:hidden;color:var(--ink-soft);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flow-task-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.flow-task-foot span,.flow-task-foot small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-task-foot span{display:inline-flex;max-width:112px;min-height:22px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:900}.flow-task-foot small{min-width:0;color:var(--muted);font-size:12px;font-weight:800}.flow-handle{width:12px;height:12px;background:#fff;border:2px solid var(--primary)}.flow-handle.input{left:-7px}.flow-handle.output{right:-7px}.flow-empty-state{position:absolute;inset:0;z-index:5;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;pointer-events:none;color:var(--muted);text-align:center}.flow-empty-state svg{color:var(--primary)}.flow-empty-state strong{color:var(--ink);font-size:15px}.flow-empty-state p{max-width:360px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65}.task-chain-list{display:flex;flex:1;flex-direction:column;gap:10px;padding:12px}.task-chain-node{position:relative;display:grid;grid-template-columns:34px 38px minmax(0,1fr) minmax(76px,auto);gap:10px;align-items:center;min-height:86px;padding:10px;color:var(--ink);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.task-chain-node:after{position:absolute;left:26px;bottom:-11px;width:1px;height:10px;background:#bfdbfe;content:""}.task-chain-node:last-child:after{display:none}.task-chain-node:hover,.task-chain-node.active{background:#eff6ff;border-color:#bfdbfe}.task-chain-node.active{box-shadow:inset 3px 0 0 var(--primary)}.task-chain-icon{width:38px;height:38px}.task-chain-main{min-width:0}.task-chain-main small{overflow:hidden;color:var(--primary);font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.task-chain-main strong{overflow:hidden;margin-top:4px;color:var(--ink);font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.task-chain-main em{overflow:hidden;margin-top:5px;color:var(--ink-soft);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.task-status{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;font-size:12px;font-weight:900}.task-chain-badges{display:flex;max-width:128px;flex-direction:column;align-items:flex-end;gap:6px}.task-channel{display:inline-flex;max-width:128px;min-height:24px;align-items:center;justify-content:center;padding:0 8px;overflow:hidden;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.task-status.enabled{color:var(--accent);background:var(--accent-soft)}.task-status.draft{color:var(--gold);background:var(--gold-soft)}.workflow-preview{flex:0 0 auto;margin:0 12px 12px;padding:11px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.workflow-preview p{margin:6px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.55;word-break:break-word}.workflow-preview-panel{display:flex;flex:0 0 auto;flex-direction:column;gap:9px;margin:0 16px;padding:11px 12px;max-height:76px;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dbeafe;border-radius:var(--radius)}.workflow-preview-panel.floating{padding:12px;background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workflow-preview-panel.expanded{max-height:min(34vh,360px)}.workflow-preview-panel.error{border-color:#fecaca}.workflow-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-preview-head-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.workflow-preview-head span,.workflow-preview-head strong{display:block}.workflow-preview-head span{color:var(--primary);font-size:12px;font-weight:900}.workflow-preview-head strong{margin-top:4px;color:var(--ink);font-size:14px}.workflow-preview-metrics{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.workflow-preview-close{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:8px}.workflow-preview-close:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.workflow-preview-metrics small,.workflow-preview-step-tags small{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:11px;font-weight:900}.workflow-preview-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.workflow-preview-panel.floating .workflow-preview-summary{grid-template-columns:1fr;gap:8px}.workflow-preview-panel.floating .workflow-preview-summary p{white-space:normal}.workflow-preview-panel.floating .workflow-preview-summary button{justify-self:start}.workflow-preview-summary p{margin:0;overflow:hidden;color:var(--ink-soft);font-size:12px;font-weight:700;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.workflow-preview-summary button{min-height:28px;padding:0 10px;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:12px;font-weight:900}.workflow-preview-summary button:hover{background:var(--primary-soft)}.workflow-preview-error,.workflow-preview-loading{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.55}.workflow-preview-error{color:#991b1b}.workflow-preview-warnings{display:grid;gap:6px;max-height:74px;overflow:auto}.workflow-preview-warnings span{padding:8px 10px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);font-size:12px;font-weight:800;line-height:1.45}.workflow-preview-steps{display:grid;gap:8px;max-height:190px;overflow:auto;padding-right:4px}.workflow-preview-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.workflow-preview-step.risk-high{background:#fff7ed;border-color:#fed7aa}.workflow-preview-step.risk-medium{background:#f8fbff;border-color:#bfdbfe}.workflow-preview-step-index{display:grid;width:28px;height:28px;place-items:center;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;font-weight:900}.workflow-preview-step strong,.workflow-preview-step p{display:block}.workflow-preview-step strong{color:var(--ink);font-size:13px}.workflow-preview-step p{margin:5px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.55}.workflow-preview-step>span{min-width:52px;padding:5px 7px;color:var(--ink-soft);text-align:center;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:900}.workflow-preview-step.risk-high>span{color:#c2410c;border-color:#fed7aa}.workflow-preview-step-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.task-editor-head{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.task-editor-icon{display:inline-flex;width:40px;height:40px;align-self:center;align-items:center;justify-self:center;justify-content:center}.task-editor-head>.task-editor-icon{display:inline-flex}.task-editor-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.task-editor-actions button{display:inline-flex;min-width:0;min-height:34px;align-items:center;justify-content:center;gap:5px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:800}.task-editor-actions button:hover:not(:disabled){color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.task-editor-actions button:disabled{cursor:not-allowed;opacity:.46}.task-editor-actions button.danger{color:#991b1b}.task-editor-actions button.danger:hover{background:#fef2f2;border-color:#fecaca}.task-editor-scroll{display:flex;flex:1;flex-direction:column;gap:12px;padding:13px 14px 16px}.task-field{display:flex;min-width:0;flex-direction:column;gap:7px}.task-field input,.task-field select,.task-field textarea{width:100%;min-width:0;min-height:38px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);outline:none;font-size:13px}.task-field select{cursor:pointer}.task-field textarea{min-height:78px;padding:9px 10px;resize:vertical;line-height:1.55}.task-field textarea.task-config-textarea{min-height:116px;font-family:Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.task-param-block{display:flex;flex-direction:column;gap:11px;padding:12px;background:#f8fbff;border:1px solid #dbeafe;border-radius:var(--radius)}.task-param-block .modal-section-title{margin:0 0 2px}.task-param-block textarea{min-height:70px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.task-specific-card{display:grid;gap:9px;padding:13px;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #dbeafe;border-radius:var(--radius)}.task-specific-title span,.task-specific-title strong,.task-variable-panel>span,.task-preview-card span,.task-preview-card strong,.task-readonly-row span,.task-readonly-row strong{display:block}.task-specific-title span,.task-variable-panel>span,.task-preview-card span,.task-readonly-row span{color:var(--primary);font-size:11px;font-weight:900}.task-specific-title strong{margin-top:4px;color:var(--ink);font-size:14px;line-height:1.35}.task-specific-card p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.65}.task-variable-panel{display:grid;gap:8px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.task-variable-panel>div{display:flex;flex-wrap:wrap;gap:8px}.task-variable-panel button{min-height:34px;padding:0 11px;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:12px;font-weight:900}.task-variable-panel button:hover{background:var(--primary-soft)}.task-preview-card,.task-readonly-row{padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.task-preview-card strong{margin-top:7px;color:var(--ink);font-size:15px;line-height:1.45;word-break:break-word}.task-readonly-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-readonly-row strong{display:inline-flex;min-height:26px;align-items:center;padding:0 9px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;font-size:12px;font-weight:900}.task-field input:focus,.task-field select:focus,.task-field textarea:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.tag-rule-grid{display:grid;gap:12px}.tag-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.tag-mode-switch button{min-height:36px;color:var(--ink-soft);background:transparent;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:900}.tag-mode-switch button.active{color:var(--primary);background:#fff;border-color:#bfdbfe;box-shadow:0 8px 18px #2563eb14}.tag-rule-card{display:grid;gap:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.tag-rule-title{display:flex;gap:10px;align-items:flex-start}.tag-rule-title svg{flex:0 0 auto;margin-top:2px;color:var(--primary)}.tag-rule-title span,.tag-rule-title strong{display:block}.tag-rule-title span{color:var(--primary);font-size:11px;font-weight:900}.tag-rule-title strong{margin-top:4px;color:var(--ink);font-size:14px}.tag-choice-list{display:flex;flex-wrap:wrap;gap:8px}.tag-choice-list button{min-height:32px;padding:0 10px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.tag-choice-list button.active{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.tag-rule-desc{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.65}.friend-sop-list{display:grid;gap:12px}.friend-sop-step{display:grid;gap:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px #0f172a0a}.friend-sop-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.friend-sop-step-head span,.friend-sop-step-head strong{display:block}.friend-sop-step-head span{color:var(--primary);font-size:11px;font-weight:900}.friend-sop-step-head strong{margin-top:3px;color:var(--ink);font-size:14px}.friend-sop-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.friend-sop-section-title span,.friend-sop-section-title strong{display:block}.friend-sop-section-title span{color:var(--primary);font-size:11px;font-weight:900}.friend-sop-section-title strong{color:var(--ink-soft);font-size:12px;font-weight:900}.friend-sop-step-head button,.friend-sop-content-row>button{display:inline-flex;width:32px;height:32px;flex:0 0 auto;align-items:center;justify-content:center;color:#991b1b;background:#fff;border:1px solid #fecaca;border-radius:var(--radius)}.friend-sop-step-head button:disabled{cursor:not-allowed;opacity:.38}.friend-sop-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;background:#f8fbff;border:1px solid #dbeafe;border-radius:var(--radius)}.friend-sop-time-grid label{display:grid;gap:6px;min-width:0}.friend-sop-time-grid span{color:var(--muted);font-size:11px;font-weight:900}.friend-sop-time-grid input{width:100%;min-width:0;min-height:34px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);font-size:13px;font-weight:800}.friend-sop-content-list{display:grid;gap:8px}.friend-sop-content-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:10px;align-items:start;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.friend-sop-content-icon{display:inline-flex;align-items:center;justify-content:center}.friend-sop-content-icon{width:34px;height:34px;flex:0 0 auto;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:9px}.friend-sop-content-top{display:flex;min-width:0;align-items:center;gap:9px}.friend-sop-content-top>div{min-width:0}.friend-sop-content-top small{display:block;color:var(--primary);font-size:10px;font-weight:900;line-height:1.2}.friend-sop-content-row strong{display:block;overflow:hidden;margin-top:2px;color:var(--ink);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.friend-sop-content-row input,.friend-sop-content-row textarea{width:100%;min-width:0;margin-top:10px;color:var(--ink-soft);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);outline:none;font-size:12px}.friend-sop-content-row input{min-height:34px;padding:0 9px}.friend-sop-content-row textarea{min-height:82px;padding:8px 9px;resize:vertical;line-height:1.55}.friend-sop-time-grid input:focus,.friend-sop-content-row input:focus,.friend-sop-content-row textarea:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.friend-sop-add-bar{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.friend-sop-add-bar button,.friend-sop-add-step{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:12px;font-weight:900}.friend-sop-add-bar button{padding:0 10px}.friend-sop-add-step{width:100%;min-height:40px}.friend-sop-add-bar button:hover,.friend-sop-add-step:hover{background:var(--primary-soft)}.school-card-sop-section{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px #0f172a0a}.school-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.school-card-grid.compact{grid-template-columns:minmax(0,1fr)}.school-card-grid.compact-two{grid-template-columns:repeat(2,minmax(0,1fr))}.school-card-grid label,.school-card-field{display:grid;gap:7px;min-width:0}.school-card-grid span,.school-card-field span{color:var(--muted);font-size:11px;font-weight:900}.school-card-grid input,.school-card-field input,.school-card-field textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);outline:none;font-size:13px}.school-card-grid input,.school-card-field input{min-height:36px;padding:0 10px}.school-card-field textarea{min-height:92px;padding:9px 10px;resize:vertical;line-height:1.55}.school-card-grid input:focus,.school-card-field input:focus,.school-card-field textarea:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.school-card-rule-note{display:flex;align-items:flex-start;gap:8px;padding:10px;color:#0369a1;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:12px;font-weight:800;line-height:1.6}.school-card-rule-note svg{flex:0 0 auto;margin-top:2px}.group-sop-section{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px #0f172a0a}.group-sop-content-list{display:grid;gap:10px}.group-sop-content-row{display:grid;gap:11px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.group-sop-content-row.pinned{background:#fffbeb;border-color:#fde68a;box-shadow:0 10px 22px #d9770614}.group-sop-row-actions{display:flex;flex-wrap:wrap;gap:8px}.group-sop-row-actions button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:0 10px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:900}.group-sop-row-actions button.active{color:#92400e;background:#fef3c7;border-color:#fbbf24}.group-sop-row-actions button.danger{color:#991b1b;border-color:#fecaca}.group-sop-row-actions button:hover{background:#f8fbff}.batch-send-section{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px #0f172a0a}.batch-send-select-field{display:grid;gap:7px;min-width:0}.batch-send-select-field span{color:var(--muted);font-size:11px;font-weight:900}.batch-send-select-field select{width:100%;min-height:38px;padding:0 10px;color:var(--ink);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);outline:none;font-size:13px;font-weight:800}.batch-send-select-field select:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.batch-send-custom-card{display:grid;gap:10px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.batch-send-option-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.batch-send-option-line>button,.batch-send-relation button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:0 11px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-size:12px;font-weight:900}.batch-send-option-line>button.active,.batch-send-relation button.active{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.batch-send-relation{display:inline-grid;grid-template-columns:repeat(2,minmax(54px,1fr));gap:4px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.batch-send-relation button{min-height:30px;border-radius:8px}.tag-choice-list button.danger-tag{color:#991b1b;background:#fef2f2;border-color:#fecaca}.batch-send-content-row{display:grid;gap:11px;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.batch-assistant-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.batch-assistant-toggle span,.batch-assistant-toggle strong,.batch-assistant-toggle p{display:block;margin:0}.batch-assistant-toggle span{color:var(--primary);font-size:11px;font-weight:900}.batch-assistant-toggle strong{margin-top:4px;color:var(--ink);font-size:14px;line-height:1.35}.batch-assistant-toggle p{margin-top:6px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.55}.batch-assistant-toggle button{display:inline-flex;min-width:74px;min-height:34px;align-items:center;justify-content:center;padding:0 12px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.batch-assistant-toggle button.active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.agent-strategy-hero{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding:16px;background:linear-gradient(135deg,#ede9fed6,#eff6fff0),#fff;border:1px solid #c4b5fd;border-radius:var(--radius);box-shadow:0 12px 26px #581c8714}.agent-strategy-hero-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;color:#6d28d9;background:#fff;border:1px solid #c4b5fd;border-radius:12px;line-height:0}.agent-strategy-hero span,.agent-strategy-hero strong,.agent-strategy-hero p{display:block;margin:0}.agent-strategy-hero>div{min-width:0}.agent-strategy-hero>div>span{color:#6d28d9;font-size:11px;font-weight:900}.agent-strategy-hero strong{margin-top:4px;overflow:hidden;color:var(--ink);font-size:18px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.agent-strategy-hero p{margin-top:8px;color:var(--ink-soft);font-size:12px;font-weight:700;line-height:1.65}.agent-strategy-editor{display:grid;gap:12px}.agent-config-section{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px #0f172a0a}.agent-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.agent-toggle-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;min-height:66px;padding:10px;color:var(--ink-soft);text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.agent-toggle-card:hover{background:#f8fbff;border-color:#bfdbfe}.agent-toggle-card.active{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd;box-shadow:0 8px 18px #6d28d914}.agent-toggle-card>svg{display:inline-flex;width:32px;height:32px;padding:7px;color:currentColor;background:#fff;border:1px solid currentColor;border-radius:10px}.agent-toggle-card span,.agent-toggle-card strong,.agent-toggle-card small{display:block;min-width:0}.agent-toggle-card strong{overflow:hidden;color:var(--ink);font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.agent-toggle-card.active strong{color:#4c1d95}.agent-toggle-card small{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.agent-auto-mode{display:grid;gap:8px}.agent-auto-mode button{display:grid;gap:4px;min-height:62px;padding:10px 12px;text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.agent-auto-mode button:hover{background:#f8fbff;border-color:#bfdbfe}.agent-auto-mode button.active{background:#f0fdf4;border-color:#86efac;box-shadow:0 8px 18px #16a34a14}.agent-auto-mode strong,.agent-auto-mode small{display:block}.agent-auto-mode strong{color:var(--ink);font-size:13px;line-height:1.35}.agent-auto-mode small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.agent-guardrail-box textarea{min-height:104px}.agent-boundary-pills{display:flex;flex-wrap:wrap;gap:7px}.agent-boundary-pills span{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;font-size:11px;font-weight:900}.agent-preview-card{border-color:#c4b5fd;box-shadow:0 8px 20px #6d28d90f}.water-army-dev-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding:16px;background:linear-gradient(135deg,#f8fafc,#eef6ff);border:1px solid #dbeafe;border-radius:var(--radius);box-shadow:0 12px 26px #0f172a0f}.water-army-dev-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:12px}.water-army-dev-card span,.water-army-dev-card strong,.water-army-dev-card p{display:block;margin:0}.water-army-dev-card div{min-width:0}.water-army-dev-card div>span{color:var(--primary);font-size:11px;font-weight:900}.water-army-dev-card strong{margin-top:4px;color:var(--ink);font-size:18px;line-height:1.2}.water-army-dev-card p{margin-top:9px;color:var(--ink-soft);font-size:12px;font-weight:700;line-height:1.65}.group-action-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.group-action-menu button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-height:66px;padding:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.group-action-menu button>svg{display:inline-flex;width:34px;height:34px;padding:8px;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:9px}.group-action-menu button span,.group-action-menu button strong,.group-action-menu button small{display:block;min-width:0}.group-action-menu button strong{overflow:hidden;color:var(--ink);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.group-action-menu button small{display:-webkit-box;margin-top:4px;overflow:hidden;color:var(--muted);font-size:10px;font-weight:800;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.group-action-menu button.active{background:var(--primary-soft);border-color:#bfdbfe;box-shadow:0 8px 18px #2563eb14}.group-action-menu button.active strong{color:var(--primary)}.group-manage-section{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 22px #0f172a0a}.group-toggle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.group-toggle-list button{display:flex;min-width:0;min-height:54px;align-items:center;justify-content:space-between;gap:10px;padding:10px;text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.group-toggle-list button strong,.group-toggle-list button small{display:block}.group-toggle-list button strong{color:var(--ink);font-size:12px;line-height:1.35}.group-toggle-list button small{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:900}.group-toggle-list button.active{background:#f0fdf4;border-color:#bbf7d0}.group-toggle-list button.active small{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.group-danger-card{display:flex;gap:10px;padding:13px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius)}.group-danger-card svg{flex:0 0 auto;margin-top:2px}.group-danger-card strong,.group-danger-card p{display:block;margin:0}.group-danger-card strong{font-size:13px}.group-danger-card p{margin-top:5px;font-size:12px;line-height:1.55}.task-tag-row{display:flex;flex-wrap:wrap;gap:6px}.task-tag-row small{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:800}.task-status-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-status-switch button{min-height:36px;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-weight:800}.task-status-switch button.active{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.task-empty-state{display:grid;flex:1;place-items:center;align-content:center;gap:9px;min-height:220px;padding:24px;color:var(--muted);text-align:center}.task-empty-state svg{color:var(--primary)}.task-empty-state strong{color:var(--ink);font-size:15px}.task-empty-state p{max-width:320px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65}.editor-empty{min-height:100%}@media(max-width:1400px){.strategy-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.sop-workbench{grid-template-columns:238px minmax(430px,1fr) 300px}}.settings-panel{flex:1}.protocol-panel{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.protocol-panel.embedded{border:0;border-radius:0}.protocol-console{background:#f8fafc}.protocol-panel-head{background:#fbfdff}.protocol-console-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px 14px;background:#f8fafc}.protocol-console-head span,.protocol-console-head strong{display:block}.protocol-console-head span{color:#64748b;font-size:12px;font-weight:800}.protocol-console-head strong{margin-top:8px;color:#0f172a;font-size:20px;line-height:1.2}.protocol-console-head p{margin:7px 0 0;color:#64748b;font-size:13px}.protocol-head-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.protocol-stat-grid{display:grid;flex:0 0 auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:8px 32px 18px}.protocol-stat-grid div{display:grid;min-height:78px;align-content:center;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.protocol-stat-grid span,.protocol-stat-grid strong,.protocol-stat-grid small{display:block}.protocol-stat-grid span{color:#64748b;font-size:12px;font-weight:800}.protocol-stat-grid strong{margin-top:7px;color:#0f172a;font-size:22px;line-height:1}.protocol-stat-grid strong.success,.protocol-side-card dd.success{color:#16a34a}.protocol-stat-grid small{justify-self:end;margin-top:-16px;color:#94a3b8;font-size:11px;font-weight:800}.protocol-console-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;min-height:0;flex:1;padding:0 32px 22px;overflow:hidden}.protocol-instance-card,.protocol-side-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.protocol-instance-card{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.protocol-toolbar{display:flex;flex:0 0 auto;align-items:center;gap:10px;padding:16px 20px 12px;border-bottom:1px solid #f1f5f9}.protocol-search{display:flex;width:min(280px,100%);min-height:36px;align-items:center;gap:8px;padding:0 11px;color:#94a3b8;background:#fff;border:1px solid #dbe4f0;border-radius:8px}.protocol-search input{width:100%;min-width:0;border:0;outline:0;color:#0f172a;font:inherit}.protocol-toolbar select{min-height:36px;padding:0 34px 0 12px;color:#0f172a;background:#fff;border:1px solid #dbe4f0;border-radius:8px;outline:0;font-weight:800}.protocol-total{margin-left:auto;color:#64748b;font-size:12px;font-weight:800}.protocol-filter-pills{display:flex;flex:0 0 auto;gap:6px;padding:0 20px 12px;border-bottom:1px solid #f1f5f9}.protocol-filter-pills button{min-height:28px;padding:0 10px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;font-size:12px;font-weight:900}.protocol-filter-pills button.active{color:#ea580c;background:#fff7ed;border-color:#fed7aa}.protocol-table{min-height:0;flex:1;overflow:auto}.protocol-table-row{display:grid;grid-template-columns:42px minmax(180px,1fr) 82px 120px auto;gap:10px;align-items:center;min-height:72px;padding:10px 20px;border-bottom:1px solid #f1f5f9;cursor:pointer}.protocol-table-row:hover,.protocol-table-row.active{background:#f8fafc}.protocol-row-main{min-width:0}.protocol-row-main strong,.protocol-row-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.protocol-row-main strong{color:#0f172a;font-size:13px;font-weight:900}.protocol-row-main span,.protocol-row-time{margin-top:4px;color:#64748b;font-size:12px}.protocol-row-time{margin-top:0;text-align:right}.protocol-row-actions{display:flex;justify-content:flex-end;gap:8px}.protocol-row-actions button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;padding:0 9px;color:#475569;background:#fff;border:1px solid #dbe4f0;border-radius:7px;font-size:12px;font-weight:800}.protocol-row-actions button:hover:not(:disabled){color:#2563eb;border-color:#bfdbfe}.protocol-row-actions button.restore{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.protocol-row-actions button.restore:hover:not(:disabled){color:#9a3412;background:#ffedd5;border-color:#fdba74}.protocol-row-actions button.danger{color:#dc2626;border-color:#fecaca;background:#fff7f7}.protocol-row-actions button.danger:hover:not(:disabled){color:#b91c1c;border-color:#fca5a5;background:#fef2f2}.protocol-row-actions button:disabled{cursor:not-allowed;opacity:.5}.protocol-side-rail{display:grid;align-content:start;gap:14px;min-width:0;overflow:auto}.protocol-side-card{padding:16px}.protocol-side-card>strong{display:block;margin-bottom:14px;color:#0f172a;font-size:14px}.protocol-event-row{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:start;margin-bottom:12px}.protocol-event-row>span{width:6px;height:6px;margin-top:7px;background:#f59e0b;border-radius:999px}.protocol-event-row p{margin:0;color:#475569;font-size:12px;line-height:1.45}.protocol-event-row b,.protocol-event-row small{display:block}.protocol-event-row b{color:#0f172a;font-weight:900}.protocol-event-row small{margin-top:3px;color:#94a3b8}.protocol-side-empty{margin:0;color:#94a3b8;font-size:12px}.protocol-side-card dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0}.protocol-side-card dt{color:#64748b;font-size:12px}.protocol-side-card dd{margin:0;color:#0f172a;font-size:13px;font-weight:900}.protocol-side-card dd.danger{color:#ea580c}.protocol-embedded-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.protocol-embedded-head span,.protocol-embedded-head strong{display:block}.protocol-embedded-head span{color:var(--primary);font-size:12px;font-weight:900}.protocol-embedded-head strong{margin-top:4px;color:var(--ink);font-size:20px;line-height:1.2}.protocol-embedded-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.protocol-mode-warning{flex:0 0 auto;margin:12px 20px 0;padding:10px 12px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);font-size:13px;line-height:1.55}.protocol-mode-warning strong{color:#7f1d1d}.protocol-body{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:0;min-height:0;flex:1;overflow:hidden}.protocol-sidebar{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--surface-soft);border-right:1px solid var(--line)}.protocol-create{flex:0 0 auto;padding:16px;border-bottom:1px solid var(--line)}.protocol-section-title{margin-bottom:12px}.protocol-section-title span{display:block;color:var(--muted);font-size:11px;font-weight:900}.protocol-section-title strong{display:block;margin-top:4px;color:var(--ink);font-size:15px;line-height:1.25}.protocol-field{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}.protocol-field span{color:var(--ink-soft);font-size:12px;font-weight:800}.protocol-field input,.protocol-field select,.protocol-inline-form input{width:100%;min-height:40px;padding:0 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);outline:none}.protocol-field input:focus,.protocol-field select:focus,.protocol-inline-form input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.protocol-device-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:8px;padding:12px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.protocol-device-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-height:82px;padding:10px;color:var(--ink);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.protocol-device-item.active,.protocol-device-item:hover{background:#eff6ff;border-color:#bfdbfe}.protocol-device-item.active{box-shadow:inset 3px 0 0 var(--primary)}.protocol-device-avatar{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;color:var(--primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-weight:900}.protocol-device-avatar.has-image{background:#fff}.protocol-device-avatar img{display:block;width:100%;height:100%;object-fit:cover}.protocol-device-item strong,.protocol-device-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.protocol-device-item strong{color:var(--ink);font-size:13px}.protocol-device-item small{margin-top:3px;color:var(--muted);font-size:12px}.protocol-device-item .device-status{grid-column:2;justify-self:start}.protocol-detail{position:relative;min-width:0;min-height:0;padding:18px 20px 22px;overflow:auto;background:#fbfdff}.protocol-status-band{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.protocol-kicker{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:900}.protocol-status-band h3{margin:10px 0 0;color:var(--ink);font-size:22px;line-height:1.2}.protocol-status-band p{margin:7px 0 0;color:var(--muted);font-size:13px}.device-status{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;font-size:12px;font-style:normal;font-weight:900}.device-status.large{min-height:32px;padding:0 12px;font-size:13px}.device-status.success{color:var(--accent);background:var(--accent-soft)}.device-status.waiting{color:var(--gold);background:var(--gold-soft)}.device-status.danger{color:var(--danger);background:var(--danger-soft)}.device-status.muted{color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line)}.protocol-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.protocol-metrics div{min-height:78px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.protocol-metrics span,.protocol-metrics strong{display:block}.protocol-metrics span{color:var(--muted);font-size:12px;font-weight:800}.protocol-metrics strong{margin-top:8px;color:var(--ink);font-size:13px;line-height:1.35}.protocol-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.protocol-action-grid button,.protocol-danger-zone button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-weight:800}.protocol-action-grid button:hover:not(:disabled){color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.protocol-action-grid button:disabled,.protocol-danger-zone button:disabled,.protocol-inline-form button:disabled{cursor:not-allowed;opacity:.5}.protocol-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.protocol-box,.protocol-raw,.protocol-danger-zone{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.protocol-box{padding:14px}.protocol-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.protocol-capability-card{display:flex;min-height:108px;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.protocol-capability-meta{min-width:0}.protocol-capability-meta strong,.protocol-capability-meta small{display:block}.protocol-capability-meta strong{color:var(--ink);font-size:14px}.protocol-capability-meta small{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.6}.protocol-inline-form{display:flex;gap:8px;align-items:center}.protocol-inline-form input{flex:1;min-width:0}.protocol-inline-form button{flex:0 0 auto}.protocol-raw{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:center;min-height:70px;margin-top:12px;padding:12px 14px}.protocol-raw span,.protocol-raw strong{display:block}.protocol-raw span{color:var(--muted);font-size:12px;font-weight:800}.protocol-raw strong{overflow:hidden;margin-top:6px;color:var(--ink);font-family:JetBrains Mono,Consolas,monospace;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.protocol-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:14px;border-color:#fecaca}.protocol-danger-zone strong{color:#991b1b;font-size:14px}.protocol-danger-zone p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.protocol-danger-zone button{flex:0 0 auto;color:#991b1b;background:#fef2f2;border-color:#fecaca}.protocol-danger-actions{display:flex;flex:0 0 auto;gap:8px}.protocol-danger-actions button:last-child{color:#991b1b;background:#fff}.protocol-empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:180px;padding:20px;color:var(--muted);text-align:center}.protocol-empty.detail{min-height:420px}.protocol-empty.compact{min-height:320px}.protocol-empty svg{color:var(--primary)}.protocol-empty strong{color:var(--ink);font-size:15px}.protocol-empty p{max-width:300px;margin:0;font-size:13px;line-height:1.6}.protocol-toast{position:fixed;right:22px;bottom:22px;z-index:90;max-width:min(520px,calc(100vw - 44px));padding:11px 14px;color:var(--accent);background:var(--accent-soft);border:1px solid #bbf7d0;border-radius:var(--radius);box-shadow:0 16px 42px #0f172a24;font-size:13px;font-weight:800}.protocol-toast.error{color:var(--danger);background:var(--danger-soft);border-color:#fecaca}.system-settings-page{display:grid;grid-template-columns:280px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.system-full-shell .system-settings-page{border:0;border-radius:0}.system-settings-nav{display:flex;min-height:0;flex-direction:column;gap:14px;padding:18px 14px;background:var(--surface-soft);border-right:1px solid var(--line);overflow:auto}.system-settings-title span,.system-status-box span{display:block;color:var(--primary);font-size:12px;font-weight:900}.system-settings-title strong,.system-status-box strong{display:block;margin-top:5px;color:var(--ink);font-size:18px;line-height:1.2}.system-settings-title p,.system-status-box p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.system-status-box{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.system-status-box strong{font-size:16px}.system-settings-tabs{display:flex;flex-direction:column;gap:8px}.system-settings-tabs button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;min-height:66px;padding:10px;color:var(--ink);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.system-settings-tabs button svg{justify-self:center;color:var(--primary)}.system-settings-tabs button.active{background:var(--primary-soft);border-color:#bfdbfe;box-shadow:inset 3px 0 0 var(--primary)}.system-settings-tabs button:disabled{cursor:not-allowed;opacity:.58}.system-settings-tabs strong,.system-settings-tabs small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-settings-tabs strong{font-size:13px}.system-settings-tabs small{margin-top:3px;color:var(--muted);font-size:12px}.system-settings-content{display:flex;min-width:0;min-height:0;overflow:hidden}.business-clock-panel{display:flex;width:100%;min-width:0;min-height:0;flex-direction:column;gap:16px;padding:22px 32px;overflow:auto;background:var(--surface-soft)}.business-clock-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.business-clock-head span,.business-clock-card span,.clock-field span{display:block;color:var(--primary);font-size:12px;font-weight:900}.business-clock-head strong{display:block;margin-top:6px;color:var(--ink);font-size:22px;line-height:1.2}.business-clock-head p,.business-clock-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.business-clock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.business-clock-card{position:relative;min-height:154px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.business-clock-card.primary{border-color:#bfdbfe;box-shadow:inset 3px 0 0 var(--primary)}.business-clock-card strong{display:block;margin-top:10px;color:var(--ink);font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}.clock-status-pill{position:absolute;right:16px;bottom:16px;display:inline-flex;min-height:30px;align-items:center;justify-content:center;padding:0 11px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.clock-status-pill.active{color:#166534;background:#dcfce7;border-color:#bbf7d0}.business-clock-form{display:grid;gap:14px;max-width:760px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.clock-toggle-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;padding:12px;background:#f8fbff;border:1px solid var(--line);border-radius:var(--radius)}.clock-toggle-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary)}.clock-toggle-row strong,.clock-toggle-row small{display:block}.clock-toggle-row strong{color:var(--ink);font-size:14px}.clock-toggle-row small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.clock-field{display:grid;gap:8px}.clock-field input{width:100%;min-height:42px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);font-size:14px;outline:none}.clock-field input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.clock-quick-actions,.clock-form-actions{display:flex;flex-wrap:wrap;gap:10px}.clock-quick-actions button,.clock-form-actions button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 13px;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:var(--radius);font-weight:900}.clock-form-actions{padding-top:4px}.clock-form-actions button:first-child{color:#fff;background:var(--primary);border-color:var(--primary)}.feishu-panel{display:flex;width:100%;min-width:0;min-height:0;flex-direction:column;gap:14px;padding:22px 32px;overflow:auto;background:var(--surface-soft)}.feishu-panel-head,.feishu-layout,.feishu-section-title,.feishu-section-title.inline,.feishu-actions{display:flex;gap:14px}.feishu-panel-head{align-items:center;justify-content:space-between}.feishu-panel-head span,.feishu-panel-head strong,.feishu-panel-head p,.feishu-head-status small,.feishu-side-card span,.feishu-side-card strong,.feishu-side-card p,.feishu-section-title span,.feishu-section-title strong{display:block}.feishu-panel-head>div:first-child span{color:var(--primary);font-size:12px;font-weight:900}.feishu-panel-head>div:first-child strong{margin-top:6px;color:var(--ink);font-size:22px;line-height:1.2}.feishu-panel-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.feishu-head-status{min-width:210px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.feishu-head-status span{color:var(--muted);font-size:12px;font-weight:800}.feishu-head-status strong{margin-top:5px;color:var(--ink);font-size:16px}.feishu-head-status small{margin-top:5px;color:var(--primary);font-size:12px;font-weight:800}.feishu-layout{align-items:stretch}.feishu-card,.feishu-side-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.feishu-card{flex:1;padding:18px}.feishu-side-card{width:300px;padding:18px}.feishu-section-title{align-items:flex-start;justify-content:space-between;margin-bottom:16px}.feishu-section-title.inline{align-items:center}.feishu-section-title span{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:12px;font-weight:900}.feishu-section-title strong{margin-top:6px;color:var(--ink);font-size:16px}.feishu-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feishu-field,.feishu-recipient-row label{display:flex;min-width:0;flex-direction:column;gap:7px}.feishu-field>span,.feishu-recipient-row label span{color:var(--ink);font-size:12px;font-weight:900}.feishu-field input,.feishu-field select,.feishu-field textarea,.feishu-recipient-row input,.feishu-recipient-row select{width:100%;min-width:0;min-height:40px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid #dbe4f0;border-radius:var(--radius);outline:none}.feishu-field input:focus,.feishu-field select:focus,.feishu-field textarea:focus,.feishu-recipient-row input:focus,.feishu-recipient-row select:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb1a}.feishu-field textarea{min-height:88px;padding:10px 11px;resize:vertical;line-height:1.55}.feishu-field.wide{margin-top:14px}.feishu-side-card span{color:var(--primary);font-size:12px;font-weight:900}.feishu-side-card strong{margin-top:6px;color:var(--ink);font-size:16px}.feishu-side-card p{margin:10px 0 14px;color:var(--muted);font-size:13px;line-height:1.65}.feishu-side-card dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0}.feishu-side-card dt,.feishu-side-card dd{margin:0;font-size:13px}.feishu-side-card dt{color:var(--muted)}.feishu-side-card dd{color:var(--accent);font-weight:900}.feishu-recipient-list{display:grid;gap:10px}.feishu-recipient-row{display:grid;grid-template-columns:minmax(120px,.7fr) 128px minmax(220px,1.4fr) 54px 44px;gap:10px;align-items:end;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.feishu-inline-alert{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius);font-size:13px;font-weight:800;line-height:1.5}.feishu-inline-alert.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.feishu-inline-alert span{min-width:0}.feishu-inline-alert button{display:inline-flex;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;color:currentColor;background:#ffffff9e;border:1px solid currentColor;border-radius:8px;cursor:pointer;opacity:.7}.feishu-inline-alert button:hover{opacity:1}.danger-icon{color:#991b1b;background:#fef2f2;border-color:#fecaca}.feishu-actions{justify-content:flex-end;padding-bottom:8px}.ghost-btn.danger{color:#991b1b;border-color:#fecaca;background:#fff7f7}.ghost-btn.danger:hover{color:#7f1d1d;background:#fef2f2;border-color:#fca5a5}.group-panel,.message-center-panel{display:flex;width:100%;min-width:0;min-height:0;flex-direction:column;gap:14px;padding:22px 32px;overflow:auto;background:var(--surface-soft)}.group-panel-head,.message-center-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.group-panel-head span,.group-panel-head strong,.group-panel-head p,.message-center-head span,.message-center-head strong,.message-center-head p{display:block}.group-panel-head span,.message-center-head span{color:var(--primary);font-size:12px;font-weight:900}.group-panel-head strong,.message-center-head strong{margin-top:6px;color:var(--ink);font-size:22px;line-height:1.2}.group-panel-head p,.message-center-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.group-head-actions,.message-center-actions,.group-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.group-head-actions select,.message-center-actions select{min-height:36px;padding:0 34px 0 12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);outline:0;font-weight:700}.group-inline-alert{padding:10px 12px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--radius);font-size:13px;font-weight:800}.group-inline-alert.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.group-layout,.message-center-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;min-height:0;flex:1;overflow:hidden}.group-list-card,.group-detail-card,.message-conversation-list,.message-detail-card{min-width:0;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.group-list-card,.message-conversation-list{display:flex;flex-direction:column}.group-list-head,.group-detail-head,.message-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.group-detail-head{align-items:flex-start}.group-list-head strong,.group-detail-head strong,.message-detail-head strong{color:var(--ink);font-size:15px}.group-list-head small,.group-detail-head span,.group-detail-head p,.message-detail-head span,.message-detail-head p{display:block}.group-list-head small,.group-detail-head span,.message-detail-head span{color:var(--muted);font-size:12px;font-weight:800}.group-detail-head p,.message-detail-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.group-list-body,.group-member-list,.message-detail-list,.message-conversation-list{min-height:0;overflow:auto}.group-row,.message-conversation-row,.group-member-row{width:100%;border:0;border-bottom:1px solid var(--line);background:var(--surface)}.group-row,.message-conversation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;text-align:left}.group-row.active,.message-conversation-row.active,.group-row:hover,.message-conversation-row:hover{background:var(--primary-soft)}.group-row span,.message-conversation-row strong,.message-conversation-row small{display:block}.group-row strong,.message-conversation-row strong,.group-member-row strong{color:var(--ink);font-size:13px}.group-row small,.message-conversation-row small,.group-member-row small,.group-row em{color:var(--muted);font-size:12px;font-style:normal}.group-detail-card,.message-detail-card{display:flex;flex-direction:column}.group-member-panel{display:flex;min-height:0;flex:1;flex-direction:column}.group-member-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.group-member-head strong{color:var(--ink);font-size:14px}.group-member-head small{color:var(--muted);font-size:12px}.group-member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.group-member-row span{color:var(--muted);font-size:12px;white-space:nowrap}.group-empty{padding:20px;color:var(--muted);text-align:center;font-size:13px}.message-detail-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:10px;padding:16px;background:#fbfdff}.message-detail-row{max-width:78%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.message-detail-row.inbound{align-self:flex-start}.message-detail-row.outbound{align-self:flex-end;background:var(--primary-soft);border-color:#bfdbfe}.message-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.message-detail-meta strong{color:var(--ink);font-size:12px}.message-detail-meta small{color:var(--muted);font-size:11px}.message-detail-row p{margin:0;color:var(--ink);font-size:13px;line-height:1.6;white-space:pre-wrap}.schedule-panel{display:flex;width:100%;min-width:0;min-height:0;flex-direction:column;gap:16px;padding:22px 32px;overflow:auto;background:var(--surface-soft);scrollbar-color:rgba(148,163,184,.72) transparent;scrollbar-width:thin}.schedule-panel::-webkit-scrollbar,.schedule-picker-list::-webkit-scrollbar{width:7px}.schedule-panel::-webkit-scrollbar-track,.schedule-picker-list::-webkit-scrollbar-track{background:transparent}.schedule-panel::-webkit-scrollbar-thumb,.schedule-picker-list::-webkit-scrollbar-thumb{background:#94a3b8b8;border:2px solid transparent;border-radius:999px;background-clip:content-box}.schedule-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.schedule-panel-head span,.schedule-panel-head strong,.schedule-panel-head p,.schedule-side-card span,.schedule-side-card strong,.schedule-side-card p,.schedule-side-card small{display:block}.schedule-panel-head span,.schedule-side-card span{color:var(--primary);font-size:12px;font-weight:900}.schedule-panel-head strong{margin-top:6px;color:var(--ink);font-size:22px;line-height:1.2}.schedule-panel-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.schedule-head-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px}.schedule-panel-head button,.schedule-delete-btn{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:6px;padding:0 14px;color:var(--primary);background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius);font-weight:900}.schedule-table-card{min-width:0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.schedule-table-head,.schedule-table-row{display:grid;grid-template-columns:86px minmax(260px,1fr) minmax(260px,1fr) 112px;gap:14px;align-items:center}.schedule-table-head{padding:0 10px 10px;color:var(--muted);border-bottom:1px solid var(--line);font-size:12px;font-weight:900}.schedule-table-body{display:grid;gap:10px;padding-top:12px}.schedule-table-row{padding:12px 10px;background:#f8fbff;border:1px solid var(--line);border-radius:var(--radius)}.schedule-id-pill{display:flex;align-items:center}.schedule-id-pill span{display:inline-flex;min-width:42px;min-height:34px;align-items:center;justify-content:center;color:var(--primary);background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:999px;font-size:12px;font-weight:900}.schedule-date-control,.schedule-tag-picker{display:grid;gap:7px;width:100%;min-width:0;min-height:68px;padding:11px 12px;text-align:left;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dbe4f0;border-radius:var(--radius);box-shadow:0 1px #0f172a05;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.schedule-date-control>span,.schedule-tag-picker>span{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:11px;font-weight:900}.schedule-date-control strong,.schedule-tag-picker strong{display:block;overflow:hidden;color:var(--ink);font-size:14px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.schedule-date-control small{display:block;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.schedule-date-control:focus,.schedule-date-control:hover,.schedule-tag-picker:focus,.schedule-tag-picker:hover{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14;transform:translateY(-1px)}.schedule-date-control,.schedule-tag-picker{cursor:pointer}.schedule-delete-btn{min-height:36px;padding:0 10px;color:#991b1b;border-color:#fecaca}.schedule-delete-btn:disabled{cursor:not-allowed;opacity:.45}.schedule-table-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.schedule-picker-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.schedule-picker-modal{width:min(420px,calc(100vw - 48px));max-height:min(680px,calc(100vh - 48px));overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 28px 78px #0f172a38}.schedule-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:linear-gradient(180deg,#f8fbff,#fff);border-bottom:1px solid var(--line)}.schedule-picker-head span,.schedule-picker-head strong{display:block}.schedule-picker-head span{color:var(--primary);font-size:12px;font-weight:900}.schedule-picker-head strong{margin-top:4px;color:var(--ink);font-size:18px}.schedule-picker-head button{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);transition:background .14s ease,border-color .14s ease,color .14s ease}.schedule-picker-head button:hover{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.schedule-picker-list{display:grid;gap:8px;max-height:min(430px,calc(100vh - 178px));padding:14px;overflow:auto;scrollbar-color:rgba(148,163,184,.72) transparent;scrollbar-width:thin}.schedule-picker-list button{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;color:var(--ink);background:#f8fbff;border:1px solid var(--line);border-radius:var(--radius);font-weight:900;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.schedule-picker-list button:hover{color:var(--primary);background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.schedule-picker-list button.active{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.schedule-date-modal{width:min(390px,calc(100vw - 48px))}.schedule-date-nav{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.schedule-calendar{padding:16px 18px 18px}.schedule-calendar-weekdays,.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.schedule-calendar-weekdays{margin-bottom:8px}.schedule-calendar-weekdays span{display:inline-flex;min-height:26px;align-items:center;justify-content:center;color:var(--muted);font-size:11px;font-weight:900}.schedule-calendar-grid button{display:inline-flex;aspect-ratio:1;min-width:0;align-items:center;justify-content:center;color:var(--ink);background:#f8fbff;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:900;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.schedule-calendar-grid button:hover{color:var(--primary);background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.schedule-calendar-grid button.muted{color:#94a3b8;background:transparent}.schedule-calendar-grid button.today{color:var(--accent);border-color:#bbf7d0}.schedule-calendar-grid button.active{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 8px 18px #2563eb38}.schedule-calendar-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.schedule-calendar-actions button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:0 14px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);font-weight:900}.schedule-calendar-actions button:first-child{color:var(--primary);background:var(--primary-soft);border-color:#bfdbfe}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.schedule-card,.schedule-side-card{min-width:0;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.schedule-card{display:grid;gap:14px}.schedule-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.schedule-side-card strong{margin-top:8px;color:var(--ink);font-size:17px}.schedule-side-card p{margin:12px 0;color:var(--ink-soft);font-size:13px;line-height:1.7}.schedule-side-card small{color:var(--muted);font-size:12px;line-height:1.55}.qr-modal{display:flex;width:min(460px,calc(100vw - 48px));max-height:min(760px,calc(100vh - 48px));flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 72px #0f172a38}.protocol-mini-modal,.protocol-detail-modal{display:flex;width:min(560px,calc(100vw - 48px));max-height:min(860px,calc(100vh - 48px));flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 72px #0f172a38}.protocol-detail-modal{width:min(1040px,calc(100vw - 48px))}.protocol-import-modal{width:min(640px,calc(100vw - 48px))}.protocol-modal-form,.protocol-detail-modal-body{min-height:0;padding:18px;overflow:auto}.protocol-form-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:flex-start;margin-bottom:16px;padding:12px;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px}.protocol-form-note svg{display:block;width:36px;height:36px;padding:9px;color:#2563eb;background:#fff;border:1px solid #dbeafe;border-radius:9px}.protocol-form-note p{margin:0;color:#1e40af;font-size:12px;line-height:1.65}.protocol-form-grid.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.protocol-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.qr-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 22px 14px;border-bottom:1px solid #edf2f7}.qr-stepper span{position:relative;display:block;padding-top:10px;color:#94a3b8;font-size:11px;font-weight:900}.qr-stepper span:before{position:absolute;top:0;left:0;right:0;height:3px;content:"";background:#e2e8f0;border-radius:999px}.qr-stepper span.active{color:#ea580c}.qr-stepper span.active:before{background:#f97316}.qr-stepper span.success{color:#16a34a}.qr-stepper span.success:before{background:#22c55e}.qr-stepper span.warning{color:#d97706}.qr-stepper span.warning:before{background:#f59e0b}.qr-modal-body{display:grid;gap:14px;padding:18px;min-height:0;overflow:auto}.qr-modal-body img,.qr-placeholder{width:min(300px,100%);aspect-ratio:1;justify-self:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.qr-modal-body img{display:block;object-fit:contain;padding:10px}.qr-placeholder{display:grid;place-items:center;align-content:center;gap:10px;padding:18px;color:var(--muted);text-align:center}.qr-placeholder strong{color:var(--ink);font-size:14px}.qr-placeholder p{width:100%;max-height:80px;margin:0;overflow:auto;font-size:12px;line-height:1.5;word-break:break-all}.qr-meta{padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.qr-meta.center{text-align:center;background:transparent;border:0}.qr-meta.center span{display:inline-flex;min-height:26px;align-items:center;justify-content:center;margin-top:8px;padding:0 10px;color:#16a34a;background:#dcfce7;border-radius:999px;font-size:12px}.qr-meta.center span.warning{color:#b45309;background:#fef3c7}.qr-meta.center span.success{color:#15803d;background:#dcfce7}.qr-meta span,.qr-meta strong{display:block}.qr-meta span{color:var(--muted);font-size:12px;font-weight:800}.qr-meta strong{margin-top:5px;color:var(--ink);font-size:13px}.qr-meta p{margin:8px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.6}.qr-modal-actions{display:flex;justify-content:flex-end;gap:8px}.qr-verify-box{display:grid;gap:12px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.qr-verify-box.active{background:#fff7ed;border-color:#fdba74;box-shadow:0 0 0 3px #f973161f}.qr-verify-title{display:flex;gap:10px;align-items:flex-start;color:#ea580c}.qr-verify-title div{min-width:0}.qr-verify-title strong,.qr-verify-title span{display:block}.qr-verify-title strong{color:#0f172a;font-size:13px;font-weight:900}.qr-verify-title span{margin-top:4px;color:#64748b;font-size:12px;line-height:1.5}.qr-verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.qr-verify-form input{min-width:0;min-height:38px;padding:0 11px;color:#0f172a;background:#fff;border:1px solid #dbe4f0;border-radius:8px;outline:none;font-size:13px}.qr-verify-form input:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731624}.qr-verify-form button{min-height:38px;white-space:nowrap}.qr-verify-box p{margin:0;color:#9a3412;font-size:12px;line-height:1.5}@media(max-width:1400px){.protocol-console-layout{grid-template-columns:minmax(0,1fr) 230px}.protocol-table-row{grid-template-columns:42px minmax(160px,1fr) 78px 96px auto}}@media(max-width:980px){.system-settings-page{grid-template-columns:1fr}.system-settings-nav{display:none}.protocol-console-head,.protocol-stat-grid,.protocol-console-layout{padding-left:16px;padding-right:16px}.protocol-stat-grid,.protocol-console-layout{grid-template-columns:1fr}.protocol-side-rail{display:none}.protocol-table-row{grid-template-columns:42px minmax(0,1fr) auto}.protocol-table-row .device-status,.protocol-row-time{display:none}.protocol-row-actions{grid-column:2 / -1;justify-content:flex-start}.protocol-metrics,.protocol-action-grid,.protocol-capability-grid,.protocol-form-grid,.feishu-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feishu-layout,.feishu-panel-head{align-items:stretch;flex-direction:column}.feishu-side-card{width:auto}.feishu-recipient-row{grid-template-columns:minmax(0,1fr) minmax(120px,.4fr)}.feishu-recipient-row label:nth-child(3){grid-column:1 / -1}}@media(max-width:620px){.protocol-console-head,.protocol-head-actions,.protocol-toolbar,.protocol-danger-zone{align-items:stretch;flex-direction:column}.protocol-head-actions,.protocol-toolbar,.protocol-danger-actions,.protocol-head-actions button,.protocol-toolbar select,.protocol-search,.protocol-danger-actions button{width:100%}.protocol-stat-grid,.protocol-metrics,.protocol-action-grid,.protocol-capability-grid,.protocol-form-grid,.feishu-form-grid,.qr-stepper{grid-template-columns:1fr}.protocol-table-row{grid-template-columns:38px minmax(0,1fr)}.protocol-row-actions{grid-column:1 / -1}.feishu-panel{padding:16px}.feishu-recipient-row{grid-template-columns:1fr}.feishu-recipient-row label:nth-child(3){grid-column:auto}.feishu-actions{flex-direction:column}.feishu-actions button{width:100%}}.settings-list{display:flex;flex-direction:column;gap:12px;max-width:900px;padding:18px 20px;overflow:auto}.setting-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;min-height:76px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.setting-row strong{color:var(--ink);font-size:14px}.setting-row p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.toggle{position:relative;width:44px;height:26px;padding:0;background:#cbd5e1;border:1px solid #cbd5e1;border-radius:999px}.toggle span{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:999px;transition:transform .15s ease}.toggle.on{background:var(--primary);border-color:var(--primary)}.toggle.on span{transform:translate(18px)}@media(max-width:1400px){body{min-width:1200px}.shell{grid-template-columns:210px 280px minmax(0,1fr)}.main-stage{grid-template-columns:160px 210px minmax(360px,1fr)}.context{width:190px;flex-basis:190px}.brain-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}.login-shell{display:grid;grid-template-columns:minmax(480px,1fr) minmax(360px,470px);gap:clamp(40px,7vw,104px);align-items:center;min-height:100vh;padding:clamp(32px,5vw,72px);overflow:hidden}@keyframes blink{0%,45%{opacity:1}46%,to{opacity:0}}.login-hero{position:relative;display:flex;min-height:min(720px,calc(100vh - 96px));flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,48px);color:#f8fafc;background:linear-gradient(135deg,#ffffff14,#ffffff05),#101827;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 32px 80px #0f172a4d}.login-hero:before{position:absolute;inset:24px;pointer-events:none;content:"";background-image:linear-gradient(rgba(248,250,252,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(248,250,252,.06) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(135deg,rgba(0,0,0,.88),transparent 72%);mask-image:linear-gradient(135deg,rgba(0,0,0,.88),transparent 72%)}.login-brand,.login-copy,.login-product-grid,.login-trust-strip{position:relative;z-index:1}.login-brand{display:inline-flex;align-items:center;gap:12px}.login-brand-mark{display:grid;width:44px;height:44px;place-items:center;color:#171717;background:#f8fafc;border:1px solid rgba(255,255,255,.26);border-radius:12px}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:20px;line-height:1.1}.login-brand span{margin-top:3px;color:#cbd5e1;font-size:13px}.login-copy{max-width:760px;padding:52px 0 42px}.login-kicker{display:inline-flex;align-items:center;min-height:32px;margin:0 0 18px;padding:0 12px;color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.24);border-radius:999px;font-size:13px;font-weight:800}.login-copy h1{max-width:700px;margin:0;color:#fff;font-size:clamp(36px,4.2vw,58px);line-height:1.05;letter-spacing:0}.login-copy p:not(.login-kicker){max-width:640px;margin:22px 0 0;color:#cbd5e1;font-size:16px;line-height:1.78}.login-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.login-product-grid article{min-height:132px;padding:16px;background:#ffffff12;border:1px solid rgba(255,255,255,.13);border-radius:8px}.login-product-grid svg{color:#fbbf24}.login-product-grid strong,.login-product-grid small{display:block}.login-product-grid strong{margin-top:16px;color:#fff;font-size:16px;font-weight:800;line-height:1.25}.login-product-grid small{margin-top:8px;color:#cbd5e1;font-size:13px;line-height:1.55}.login-trust-strip{display:flex;flex-wrap:wrap;gap:10px}.login-trust-strip span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;color:#e2e8f0;background:#0f172a6b;border:1px solid rgba(226,232,240,.12);border-radius:999px;font-size:12px;font-weight:700}.login-trust-strip svg{color:#fbbf24}.login-card{width:100%;padding:30px;background:#fffffff5;border:1px solid rgba(226,232,240,.9);border-radius:16px;box-shadow:0 24px 72px #0f172a29}.login-card-head{display:flex;gap:14px;align-items:center;padding-bottom:26px;border-bottom:1px solid #e5e7eb}.login-lock{display:grid;width:46px;height:46px;place-items:center;color:var(--gold);background:var(--gold-soft);border:1px solid #fde68a;border-radius:12px}.login-card h2{margin:0;color:#111827;font-size:24px;line-height:1.2}.login-card p{margin:6px 0 0;color:#64748b;font-size:13px}.login-form{display:flex;flex-direction:column;gap:18px;padding-top:26px}.login-field{display:flex;flex-direction:column;gap:8px}.login-field>span{color:#111827;font-size:13px;font-weight:800}.login-field input{width:100%;min-height:48px;padding:0 14px;color:#111827;background:#fff;border:1px solid #dbe3ef;border-radius:8px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.login-field input:hover,.login-field input:focus{border-color:#a16207;box-shadow:0 0 0 4px #a162071a}.password-input{position:relative;display:flex;align-items:center}.password-input input{padding-right:50px}.password-input button{position:absolute;right:6px;display:grid;width:38px;height:38px;place-items:center;color:#64748b;background:transparent;border:0;border-radius:8px}.password-input button:hover{color:#111827;background:#f1f5f9}.login-error{min-height:36px;padding:9px 11px;color:#b91c1c!important;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-weight:700}.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;margin-top:4px;color:#fff;background:#171717;border:1px solid #171717;border-radius:8px;font-weight:800;transition:transform .15s ease,background .15s ease,opacity .15s ease}.login-submit:hover:not(:disabled){background:#292524;transform:translateY(-1px)}.login-submit:disabled{cursor:not-allowed;opacity:.45}.login-footnote{display:flex;justify-content:space-between;gap:16px;margin-top:22px;padding-top:18px;color:#64748b;border-top:1px solid #e5e7eb;font-size:12px}.login-footnote strong{color:#111827}@media(max-width:980px){body:has(.login-shell){background:#f8fafc}.login-shell{grid-template-columns:1fr;gap:18px;padding:20px}.login-hero{min-height:auto;padding:26px}.login-copy{padding:48px 0 36px}.login-copy h1{font-size:38px}}@media(max-width:620px){.login-shell{padding:12px}.login-hero,.login-card{border-radius:12px}.login-product-grid{grid-template-columns:1fr}.login-card{padding:22px}.login-footnote{flex-direction:column;gap:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
