:root{--window-control-space: 0px}body.platform-mac{--window-control-space: 72px}.top-bar{position:fixed;top:0;left:0;right:0;height:40px;background:#f7f9fc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px #0f172a0f;z-index:999;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 16px;padding-left:calc(16px + var(--window-control-space));border-bottom:1px solid rgba(15,23,42,.08);-webkit-app-region:drag;-webkit-user-select:none}body.platform-mac .top-bar{padding-top:env(safe-area-inset-top,0px)}.top-bar-left{display:flex;align-items:center;flex:0 0 auto;gap:8px;-webkit-app-region:no-drag}.top-bar-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#333;padding:0;-webkit-app-region:no-drag}.top-bar-menu-btn:hover{background:#667eea1a;transform:translateY(-1px)}.top-bar-menu-btn:active{transform:translateY(0)}.top-bar-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:#333;margin-left:8px;min-height:20px;-webkit-app-region:no-drag}.top-bar-logo img,.top-bar-logo svg{display:block!important;visibility:visible!important;opacity:1!important;width:20px!important;height:20px!important;flex-shrink:0}.logo-image{display:block!important;visibility:visible!important;opacity:1!important}.logo-icon{color:#667eea;display:inline-flex;align-items:center;justify-content:center}.logo-text{color:#667eea;font-size:14px;font-weight:600;white-space:nowrap;display:inline-block}.top-bar-right{display:flex;align-items:center;gap:8px;flex:0 0 auto;-webkit-app-region:no-drag}.top-bar-item{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#333;font-size:11px;min-width:28px;height:28px;justify-content:center;-webkit-app-region:no-drag}.top-bar-item:hover{background:#667eea1a;transform:translateY(-1px)}.top-bar-item:active{transform:translateY(0)}.top-bar-icon{color:#333;display:inline-flex;align-items:center;justify-content:center}.top-bar-label{font-weight:500;font-size:11px}.top-bar-item.active{background:#667eea26}.apps-menu-container{position:relative;-webkit-app-region:no-drag}.apps-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0f172a26;min-width:200px;padding:8px;z-index:1000;border:1px solid rgba(15,23,42,.08)}.apps-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13px;color:#0f172ad9;text-align:left;transition:all .15s ease}.apps-menu-item:hover{background:#667eea1a;color:#667eea}.apps-menu-item .material-icon{color:#0f172ab3;font-size:18px}.top-bar-drag-region{flex:1;height:100%;-webkit-app-region:drag;pointer-events:none}.apps-menu-item:hover .material-icon{color:#667eea}@media (max-width: 1024px){.top-bar-label{display:none}}@media (max-width: 768px){.top-bar{padding:0 10px}.logo-text{display:none}}.has-tooltip{position:relative}.has-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:#000000e6;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:10000}.has-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-2px);border:5px solid transparent;border-top-color:#000000e6;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:10000}.has-tooltip:hover:after,.has-tooltip:hover:before{opacity:1}.has-tooltip:hover:after{transform:translate(-50%) translateY(-4px)}.has-tooltip:hover:before{transform:translate(-50%) translateY(2px)}.has-tooltip-top:after{bottom:auto;top:100%;transform:translate(-50%) translateY(8px)}.has-tooltip-top:before{bottom:auto;top:100%;transform:translate(-50%) translateY(2px);border-top-color:transparent;border-bottom-color:#000000e6}.has-tooltip-top:hover:after{transform:translate(-50%) translateY(4px)}.has-tooltip-top:hover:before{transform:translate(-50%) translateY(-2px)}.has-tooltip-right:after{bottom:50%;left:100%;top:auto;transform:translate(8px) translateY(50%)}.has-tooltip-right:before{bottom:50%;left:100%;top:auto;transform:translate(2px) translateY(50%) rotate(-90deg);border-top-color:transparent;border-right-color:#000000e6}.has-tooltip-right:hover:after{transform:translate(4px) translateY(50%)}.has-tooltip-right:hover:before{transform:translate(-2px) translateY(50%) rotate(-90deg)}.has-tooltip-left:after{bottom:50%;right:100%;left:auto;transform:translate(-8px) translateY(50%)}.has-tooltip-left:before{bottom:50%;right:100%;left:auto;transform:translate(-2px) translateY(50%) rotate(90deg);border-top-color:transparent;border-left-color:#000000e6}.has-tooltip-left:hover:after{transform:translate(-4px) translateY(50%)}.has-tooltip-left:hover:before{transform:translate(2px) translateY(50%) rotate(90deg)}.material-icon{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.icon-sm{font-size:16px}.icon-md{font-size:20px}.icon-lg{font-size:24px}.icon-xl{font-size:32px}.icon-white{color:#fff}.icon-primary{color:#667eea}.icon-muted{color:#999}.bottom-bar{position:fixed;bottom:0;left:var(--sidebar-offset, 60px);right:0;height:var(--bottom-bar-height, 28px);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:-2px -2px 6px #0f172a0a;z-index:999;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(15,23,42,.08);border-left:1px solid rgba(15,23,42,.08)}.bottom-bar-left,.bottom-bar-right{display:flex;align-items:center;min-width:100px}.bottom-bar-left{padding-left:12px}.bottom-bar-right{padding-right:12px}.bottom-bar-content{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;max-width:360px;padding:0 8px}.mode-toggle{display:flex;align-items:center;gap:4px;background:#667eea14;border:1px solid rgba(102,126,234,.2);border-radius:12px;padding:3px 10px;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s ease;height:22px}.mode-toggle:hover{background:#667eea26;border-color:#667eea66}.mode-label{color:#999;transition:color .2s ease}.mode-label.active{color:#667eea;font-weight:600}.mode-divider{color:#ccc;font-weight:300}.mode-toggle.config{border-color:#667eea4d}.mode-toggle.user{background:#764ba214;border-color:#764ba24d}.mode-toggle.user .mode-label.active{color:#764ba2}.bottom-bar-item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;color:#333}.bottom-bar-item:hover{background:#667eea1f}.bottom-bar-item:active{transform:scale(.96)}.bottom-bar-icon{color:#333;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.bottom-bar-label{display:none}@media (max-width: 768px){.bottom-bar-content{gap:4px}}@media (max-width: 480px){.bottom-bar-content{max-width:100%}}.sidebar{position:fixed;top:40px;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:2px 0 10px #0000001a;z-index:1000;transition:width .3s ease,transform .3s ease;display:flex;flex-direction:column}.sidebar-left{left:0}.sidebar-right{right:0}.sidebar.collapsed{width:60px}.sidebar.expanded{width:200px}.sidebar-icons-collapsed{display:flex;flex-direction:column;padding:10px 0;gap:5px;flex:1}.sidebar-footer-collapsed{padding:10px 0;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:center}.sidebar-footer{padding:10px;border-top:1px solid rgba(0,0,0,.1);margin-top:auto}.sidebar-settings-btn{display:flex;align-items:center;padding:8px 12px;cursor:pointer;border-radius:6px;transition:background .2s ease,transform .1s ease;color:#333}.sidebar-settings-btn:hover{background:#667eea1a;transform:translate(5px)}.sidebar-settings-btn:active{transform:translate(2px)}.sidebar-settings-icon-btn{width:45px;height:35px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .1s ease;padding:0;border-radius:6px;margin:1px 3px}.sidebar-settings-icon-btn:hover{background:#667eea26;transform:scale(1.1)}.sidebar-settings-icon-btn:active{transform:scale(.95)}.sidebar-icon-btn{width:45px;height:35px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .1s ease;padding:0;border-radius:6px;margin:1px 3px}.sidebar-icon-btn:hover{background:#667eea26;transform:scale(1.1)}.sidebar-icon-btn:active{transform:scale(.95)}.sidebar-icon-btn.active{background:#667eea40;border-left:3px solid #667eea}.sidebar-icon-btn .option-icon{margin:0;min-width:auto;display:inline-flex;align-items:center;justify-content:center;color:#333}.sidebar-toggle{width:45px;height:35px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;padding:0;flex-shrink:0}.sidebar-toggle:hover{background:#0000000d}.sidebar-icon{color:#333}.sidebar-content{flex:1;overflow-y:auto;padding:10px 0;display:flex;flex-direction:column}.sidebar-header{padding:0 12px 12px;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:10px}.sidebar-header h3{margin:0;font-size:13px;font-weight:600;color:#333}.sidebar-nav{flex:1;padding:0 6px}.sidebar-option{display:flex;align-items:center;padding:8px 12px;margin:2px 0;cursor:pointer;border-radius:6px;transition:background .2s ease,transform .1s ease;color:#333}.sidebar-option:hover{background:#667eea1a;transform:translate(5px)}.sidebar-option:active{transform:translate(2px)}.sidebar-option.active{background:#667eea33;border-left:3px solid #667eea;font-weight:600}.option-icon{margin-right:8px;min-width:20px;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#333}.option-label{font-size:12px;font-weight:500;white-space:nowrap}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (max-width: 768px){.sidebar.expanded{width:200px}}.llm-settings{padding:20px;max-width:800px;margin:0 auto}.llm-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.llm-settings-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.header-actions{display:flex;align-items:center;gap:8px}.header-title-group{display:inline-flex;align-items:center;gap:8px}.header-icon-btn{width:32px;height:32px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease;color:#333}.header-icon-btn:hover{background:#667eea1a;transform:translateY(-1px)}.llm-settings-status{margin-bottom:16px;font-size:13px;color:#666}.llm-settings-status-info{margin-bottom:16px;padding:10px 14px;background:#f0f4ff;border:1px solid #d1dcff;border-radius:8px;font-size:13px;color:#2f4a9e}.llm-settings-alert{margin-bottom:16px;padding:12px 16px;background:#fff4e5;border:1px solid #ffd7a6;border-radius:8px;font-size:13px;color:#8a4a0f}.add-model-btn{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.add-model-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.llm-add-form{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#555}.form-group input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;transition:all .2s ease;box-sizing:border-box}.form-group select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;transition:all .2s ease;box-sizing:border-box;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#999}.form-actions{display:flex;gap:12px;margin-top:20px}.save-btn{flex:1;padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.cancel-btn{flex:1;padding:10px 20px;background:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.cancel-btn:hover{background:#e8e8e8}.llm-models-list{display:flex;flex-direction:column;gap:16px}.empty-state{text-align:center;padding:40px 20px;color:#999}.empty-state p{font-size:14px}.llm-model-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px 16px;transition:all .2s ease}.llm-model-card:hover{box-shadow:0 4px 12px #00000014;border-color:#667eea}.llm-model-card.active{border-color:#667eea;box-shadow:0 6px 18px #667eea40}.model-card-header{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.collapse-toggle{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;cursor:pointer;color:#333;font-size:14px;font-weight:600;padding:0;flex:1 1 auto}.collapse-toggle .material-icon{color:#667eea}.model-title{font-size:14px;font-weight:600;color:#333;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-actions{display:flex;gap:6px;flex:0 0 auto}.model-active-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#667eea2e;color:#4c51bf;font-size:11px;font-weight:600;margin-right:10px}.model-action-btn{width:32px;height:32px;border-radius:6px;border:1px solid #e0e0e0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.model-action-btn:hover{background:#f0f0f0;border-color:#667eea}.model-action-btn.delete-btn:hover{background:#fff5f5;border-color:#ff4757}.model-details{margin-top:12px;display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;gap:8px;font-size:13px}.detail-label{font-weight:600;color:#666;min-width:80px}.detail-value{color:#333;word-break:break-all}.detail-value.url{color:#667eea}@media (max-width: 768px){.llm-settings{padding:16px}.llm-settings-header h2{font-size:20px}.form-actions{flex-direction:column}.model-card-header{flex-direction:column;align-items:flex-start;gap:12px}.model-actions{width:100%;justify-content:flex-start}.detail-row{flex-direction:column;gap:4px}.detail-label{min-width:auto}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.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:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;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:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.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.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@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}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform: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:#3367d9;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__handle-right{right:-6px}.react-flow__handle-left{left:-6px}.gpt-flow-builder{display:flex;flex-direction:column;gap:12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:16px;background:#f8faffe6}.flow-toolbar{display:flex;flex-wrap:wrap;gap:8px}.flow-toolbar button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#4c6ef51f;border:none;color:#1f3b8e;font-size:12px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.flow-toolbar button:hover{transform:translateY(-1px);background:#4c6ef538;box-shadow:0 6px 16px #4c6ef540}.flow-toolbar button:active{transform:translateY(0)}.flow-canvas{position:relative;height:420px;width:100%;border-radius:12px;overflow:auto;background:#fff;box-shadow:inset 0 0 0 1px #0f172a0f;z-index:1}.reactflow-wrapper{width:100%;height:100%;min-width:600px;min-height:420px}.gpt-flow-builder .react-flow__viewport{width:100%!important;height:100%!important}.gpt-node{min-width:180px;max-width:220px;padding:12px 14px;border-radius:14px;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 28px #0f172a29;border:1px solid rgba(15,23,42,.08);background:linear-gradient(145deg,#fffffff5,#f5f8ffeb);position:relative}.circular-node{min-width:120px;max-width:120px;width:120px;height:120px;padding:16px 18px;border-radius:50%;align-items:center;justify-content:center;text-align:center;gap:4px}.circular-node .node-title{font-size:13px}.circular-node .node-subtitle{font-size:11px}.tool-node{background:linear-gradient(145deg,#e6f8fff2,#d2ecffeb);border:2px solid rgba(66,99,235,.25)}.memory-node{background:linear-gradient(145deg,#fff0f6f2,#ffe4f0eb);border:2px solid rgba(240,62,94,.22)}.service-node{border-left:4px solid #4263eb;box-shadow:0 18px 36px #4263eb2e}.data-input-node{background:linear-gradient(145deg,#e8f7fff2,#d2f4ffeb);border:2px solid rgba(0,168,255,.25)}.tool-node .react-flow__handle,.memory-node .react-flow__handle,.data-input-node .react-flow__handle{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #0f172a14}.tool-handle-out{background:linear-gradient(135deg,#4c6ef5,#364fc7)}.memory-handle-out{background:linear-gradient(135deg,#c2255c,#a61e4d)}.service-handle-in{background:linear-gradient(135deg,#5f5fef,#364fc7);box-shadow:0 0 0 4px #5f5fef47}.service-handle-out{background:linear-gradient(135deg,#51cf66,#2b8a3e);box-shadow:0 0 0 4px #51cf6647}.data-handle-out{background:linear-gradient(135deg,#3bc9db,#1098ad);box-shadow:0 0 0 4px #3bc9db42}.circular-node .react-flow__handle-bottom{bottom:-10px;left:50%;transform:translate(-50%)}.circular-node .react-flow__handle-right{right:-12px;top:50%;transform:translateY(-50%)}.data-input-node .react-flow__handle-right{right:-12px}.service-node .react-flow__handle-left{left:-10px}.service-node .react-flow__handle-right{right:-10px}.node-bottom-connectors,.bottom-connector{display:none}.trigger-node{border-left:4px solid #f59f00}.agent-node{border-left:4px solid #12b886;position:relative;padding-right:16px;padding-bottom:68px}.agent-outcomes{position:absolute;right:-10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px}.agent-outcome-dot{position:relative;display:flex;align-items:center;gap:8px;padding:4px 0}.agent-outcome-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#0f172aa6}.agent-outcome-dot{position:relative;display:flex;align-items:center;gap:6px;padding:4px 0}.agent-outcome-label{display:none}.agent-outcome-dot:hover .agent-outcome-label{display:block}.agent-outcome-dot .agent-handle{position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #0f172a14;z-index:10}.agent-outcome-success .agent-handle{background:linear-gradient(135deg,#51cf66,#2f9e44)}.agent-outcome-failure .agent-handle{background:linear-gradient(135deg,#ff6b6b,#d9480f)}.agent-outcome-unsure .agent-handle{background:linear-gradient(135deg,#748ffc,#5c7cfa)}.tool-node,.memory-node{position:relative;padding-bottom:0}.react-flow__edge-path{stroke-width:2}.react-flow__edge-label{font-size:11px;font-weight:600;fill:#0f172ab3;background:#fffc;padding:2px 6px;border-radius:999px}@media (max-width: 680px){.flow-canvas{height:320px}}.gpt-flow-builder .react-flow__panel{pointer-events:auto}.agent-config-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;z-index:20}.detail-flow-preview .flow-canvas{height:300px!important;overflow:auto}.agent-config-modal{width:min(520px,90vw);max-height:90vh;background:#fff;border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 60px #0f172a40;animation:popIn .2s ease}.agent-config-header{display:flex;align-items:center;justify-content:space-between}.agent-config-header h3{margin:0;font-size:18px;font-weight:600}.agent-config-close{border:none;background:#0f172a0f;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.agent-config-body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.agent-config-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#0f172abf}.agent-config-label input,.agent-config-label textarea,.agent-config-fieldset textarea{padding:10px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.12);color:#0f172ae6;font-size:14px;font-family:inherit;background:#f6f8fcf5;transition:border-color .15s ease,box-shadow .15s ease}.agent-config-label input:focus,.agent-config-label textarea:focus,.agent-config-fieldset textarea:focus{outline:none;border-color:#4c6ef5;box-shadow:0 0 0 3px #4c6ef533}.agent-config-fieldset{border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.agent-config-fieldset legend{padding:0 6px;font-size:12px;font-weight:600;text-transform:uppercase;color:#0f172a8c}.agent-config-radio{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#0f172abf}.agent-config-radio textarea{margin-top:8px}.agent-config-actions{display:flex;justify-content:flex-end;gap:12px}.agent-config-actions .save-btn,.agent-config-actions .cancel-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.agent-config-actions .save-btn{background:linear-gradient(135deg,#12b886,#0ca678);color:#fff}.agent-config-actions .cancel-btn{background:#0f172a0f;color:#0f172ab3}.agent-config-actions .save-btn:hover,.agent-config-actions .cancel-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a2e}@keyframes popIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.agent-bottom-connectors{position:absolute;left:18px;right:18px;bottom:8px;display:flex;justify-content:space-between}.agent-bottom-connector{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.agent-bottom-connector .agent-handle{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #0f172a14}.agent-bottom-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#0f172a99;display:none}.agent-bottom-connector:hover .agent-bottom-label{display:block}.agent-handle-tool{background:linear-gradient(135deg,#4dabf7,#1c7ed6)}.agent-handle-memory{background:linear-gradient(135deg,#f783ac,#d6336c)}.gpt-group-node{position:relative;width:100%;height:100%;padding:16px 18px;border-radius:18px;border:2px dashed rgba(102,126,234,.35);background:linear-gradient(145deg,#e9eeffcc,#d6dfffd1);display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:flex-start;box-shadow:inset 0 0 0 1px #667eea26}.gpt-group-node.selected{border-color:#667eeacc;box-shadow:inset 0 0 0 2px #667eea33}.group-header{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:#0f172ad9}.group-title{font-size:14px}.group-subtitle{font-size:12px;color:#0f172a99}.group-handle-in,.group-handle-out,.group-handle-down{width:12px!important;height:12px!important;border-radius:50%;box-shadow:0 0 0 4px #0f172a14}.group-handle-in{background:linear-gradient(135deg,#5f5fef,#364fc7)}.group-handle-out{background:linear-gradient(135deg,#51cf66,#2b8a3e)}.group-handle-down{background:linear-gradient(135deg,#f76707,#f59f00)}.flow-toolbar button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.gpt-manager{display:flex;gap:20px;height:100%;padding:16px}.gpt-sidebar{width:260px;min-width:240px;border-radius:16px;background:#fff;box-shadow:0 18px 38px #0f172a1f;padding:18px;display:flex;flex-direction:column;gap:16px}.gpt-sidebar-header{display:flex;align-items:center;gap:10px}.gpt-sidebar-header h2{margin:0;font-size:18px;font-weight:600}.gpt-create-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:999px;background:linear-gradient(135deg,#4c6ef5,#3b5bdb);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.gpt-create-btn:disabled{background:#a5b4fc;cursor:not-allowed;box-shadow:none}.gpt-create-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px #4c6ef540}.gpt-list-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.gpt-list-item{border:1px solid rgba(15,23,42,.08);background:#f8faffb3;border-radius:12px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.gpt-list-item:hover{transform:translateY(-1px);background:#f8faffeb;box-shadow:0 8px 18px #0f172a1f}.gpt-list-item.active{border-color:#4c6ef573;background:#4c6ef514;box-shadow:0 8px 18px #4c6ef533}.gpt-list-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#0f172ad6;font-size:13px}.gpt-list-meta{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#0f172a8c}.gpt-empty-list{text-align:center;padding:24px 8px;color:#0f172a8c;font-size:13px}.gpt-empty-list .hint{margin-top:6px;font-size:11px;color:#0f172a66}.gpt-main{flex:1;display:flex;flex-direction:column;gap:16px}.gpt-main-notices{display:flex;flex-direction:column;gap:12px}.gpt-main-content{flex:1;border-radius:18px;background:#fff;box-shadow:0 24px 40px #0f172a1f;padding:20px;overflow:auto}.gpt-detail-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#0f172a8c;text-align:center}.gpt-detail-placeholder p{max-width:340px;font-size:14px}.gpt-detail-card{display:flex;flex-direction:column;gap:16px}.gpt-detail-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:12px}.gpt-detail-title{display:flex;align-items:center;gap:10px}.gpt-detail-title h3{margin:0;font-size:20px;font-weight:600}.gpt-detail-actions{display:flex;gap:8px}.gpt-icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:#0f172a0f;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.gpt-icon-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a2e;background:#0f172a1f}.gpt-icon-btn.danger{background:#dc35451a;color:#c92a2a}.gpt-icon-btn.danger:hover{background:#dc354538;box-shadow:0 6px 14px #dc354547}.gpt-detail-body{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;flex-direction:column;gap:6px;background:#f6f8fce6;border-radius:12px;padding:12px 14px;border:1px solid rgba(15,23,42,.06)}.detail-flow-preview{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid rgba(15,23,42,.05);background:#fff}.detail-flow-preview .gpt-flow-builder{padding:0;border:none;box-shadow:none}.detail-flow-preview .flow-toolbar{display:none}.detail-flow-preview .flow-canvas{height:280px;border-radius:12px}.detail-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#0f172a8c}.detail-value{font-size:14px;color:#0f172ad9}.detail-value.definition{white-space:pre-wrap;line-height:1.6;color:#0f172ab8}.gpt-alert{padding:12px 16px;border-radius:12px;font-size:13px}.gpt-alert-error{background:#fff1f0;border:1px solid #ffa39e;color:#a8071a}.gpt-alert-success{background:#f6ffed;border:1px solid #b7eb8f;color:#237804}.gpt-empty{padding:18px;border-radius:16px;border:1px dashed rgba(0,0,0,.12);text-align:center;color:#0000008c;font-size:13px}.gpt-form{display:flex;flex-direction:column;gap:16px}.gpt-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:12px}.gpt-form-header h3{margin:0;font-size:18px;font-weight:600}.gpt-form-subtitle{margin:4px 0 0;font-size:12px;color:#0f172a8c}.form-close-btn{border:none;background:#0f172a0f;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .15s ease}.form-close-btn:hover{background:#0f172a1f;transform:translateY(-1px)}.form-row{display:flex;flex-direction:column;gap:8px}.form-row label{font-size:13px;font-weight:600;color:#0f172abf}.form-row input,.form-row select,.form-row textarea{padding:10px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.12);font-size:14px;font-family:inherit;background:#f6f8fcf5;color:#0f172ae6;transition:border-color .15s ease,box-shadow .15s ease}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:#4c6ef5;box-shadow:0 0 0 3px #4c6ef533}.form-row textarea{resize:vertical;min-height:120px}.form-helper{font-size:12px;color:#0f172a8c;margin-top:6px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.save-btn,.cancel-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .15s ease}.save-btn{background:linear-gradient(135deg,#12b886,#0ca678);color:#fff}.save-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0ca67840}.cancel-btn{background:#0f172a0d;color:#0f172ab3}.cancel-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0f172a1f}body.ssa-modal-open{overflow:hidden}.gpt-list-item .gpt-pill{margin-top:6px;align-self:flex-start}.gpt-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#4c6ef51f;color:#3b5bdb}.ssa-modal-overlay{position:fixed;top:40px;left:40px;right:40px;bottom:40px;background:#0f172a8c;z-index:3500;display:flex;align-items:stretch;justify-content:center;padding:24px}.ssa-modal-window{flex:1;max-width:1400px;background:#fff;border-radius:22px;box-shadow:0 32px 80px #0f172a47;overflow:hidden;display:flex}.gpt-form-modal{flex:1;display:flex;flex-direction:column;gap:20px;padding:28px 36px;overflow:auto}.form-row-inline{display:flex;align-items:center;justify-content:space-between;gap:16px}.persistent-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#0f172ab3;-webkit-user-select:none;user-select:none}.persistent-toggle input{width:16px;height:16px;cursor:pointer}.checkbox-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a0d;font-size:12px;font-weight:600;color:#0f172abf;cursor:pointer}.checkbox-pill.checked{background:#4c6ef529;border-color:#4c6ef54d;color:#3b5bdb}.detail-chips{display:inline-flex;flex-wrap:wrap;gap:6px}@media (max-width: 900px){.gpt-manager{flex-direction:column}.gpt-sidebar{width:auto;min-width:0}.gpt-main-content{min-height:360px}.form-actions{flex-direction:column;align-items:stretch}}@media (max-width: 640px){.gpt-manager{padding:12px}.gpt-main-content{padding:16px}}@media (max-width: 1200px){.ssa-modal-overlay{top:32px;left:24px;right:24px;bottom:32px;padding:16px}.ssa-modal-window{max-width:100%;border-radius:16px}.gpt-form-modal{padding:24px 28px}}@media (max-width: 768px){.ssa-modal-overlay{top:24px;left:16px;right:16px;bottom:24px;padding:12px}.gpt-form-modal{padding:20px}.form-row-inline{flex-direction:column;align-items:flex-start;gap:8px}}.logs-view{width:100%;height:100%;display:flex;flex-direction:column;gap:16px;padding:20px;background:#fffffff2;border-radius:12px;box-shadow:0 6px 18px #00000014}.logs-header{display:flex;justify-content:space-between;align-items:center}.logs-header h2{margin:0;font-size:20px;font-weight:700;color:#333}.logs-clear-btn{padding:6px 12px;border:1px solid rgba(102,126,234,.4);background:#fff;border-radius:6px;color:#667eea;cursor:pointer;font-size:13px;transition:all .2s ease}.logs-clear-btn:hover{background:#667eea14}.logs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.log-entry{border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:8px}.log-entry.log-error{border-color:#ef44444d;background:#fee2e2b3}.log-entry.log-warn{border-color:#fbbf244d;background:#fef3c7b3}.log-entry.log-info{border-color:#6366f14d;background:#e0e7ff99}.log-meta{display:flex;gap:10px;font-size:12px;color:#555;flex-wrap:wrap}.log-message{font-size:13px;color:#1f2937}.log-meta-details summary{cursor:pointer;font-size:12px;color:#4c51bf}.log-meta-details pre{margin:6px 0 0;padding:8px;background:#0000000d;border-radius:6px;font-size:12px;max-height:180px;overflow:auto}.logs-empty{text-align:center;color:#666;font-size:14px;padding:30px;background:#00000008;border-radius:12px}.system-settings{background:#fffffff2;border-radius:18px;padding:24px 28px;box-shadow:0 18px 36px #0f172a1f;display:flex;flex-direction:column;gap:24px}.system-settings__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.system-settings__header h2{margin:0;font-size:20px;font-weight:700;color:#0f172ae6}.system-settings__status{font-size:12px;padding:4px 8px;border-radius:999px;background:#4c6ef51f;color:#3b5bdb;font-weight:600}.system-settings__section{display:flex;flex-direction:column;gap:12px;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:18px 20px;background:#f6f8fcf5}.system-settings__section h3{margin:0;font-size:16px;font-weight:700}.section-help{margin:0;font-size:12px;color:#0f172a99}.domain-row,.add-role-row{display:flex;gap:12px;flex-wrap:wrap}.domain-row input,.add-role-row input,.user-form input,.user-form select{flex:1;min-width:200px;padding:10px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.15);font-size:14px;background:#fff;color:#0f172ae6}.primary-btn,.system-settings button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:999px;border:none;background:linear-gradient(135deg,#4c6ef5,#3b5bdb);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.primary-btn:hover,.system-settings button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #4c6ef540}.primary-btn:disabled,.system-settings button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.roles-grid{display:flex;flex-wrap:wrap;gap:8px}.role-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#4c6ef51a;color:#3b5bdb;font-size:12px;font-weight:600}.role-pill button{background:transparent;border:none;width:18px;height:18px;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;color:inherit}.role-pill--protected{background:#34c7591a;color:#2b8a3e}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.inline-error{font-size:12px;color:#d9480f;font-weight:600}.user-form{display:grid;gap:12px;background:#fff;padding:16px 18px;border-radius:12px;border:1px solid rgba(15,23,42,.08)}.user-form select{cursor:pointer}.user-form-actions{display:flex;gap:12px}.ghost-btn{background:#0f172a14;color:#0f172abf}.user-list{display:grid;gap:12px}.user-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid rgba(15,23,42,.08)}.user-card__meta{display:flex;flex-direction:column;gap:4px}.user-card__name{font-weight:700;font-size:14px}.user-card__email{font-size:12px;color:#0f172a99}.user-card__role{font-size:12px;font-weight:600;color:#3b5bdb}.user-card__phone{font-size:12px;color:#0f172a99}.user-card__actions{display:flex;gap:10px}.user-card__actions button{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;border:none;background:#0f172a14;color:#0f172abf;cursor:pointer}.user-card__actions button.danger{background:#fa52521f;color:#c92a2a}.user-card__actions button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0f172a1f}.required-indicator{font-size:10px;font-weight:600;color:#d9480f;margin-left:4px}.form-row-inline .api-key-preview{display:flex;align-items:center;gap:10px;background:#0f172a0f;padding:8px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.1);width:100%}.api-key-value{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;color:#0f172ad9;word-break:break-all}.api-key-chip{margin-top:8px;background:#4c6ef51f;color:#3b5bdb;padding:6px 10px;border-radius:999px;border:none;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:12px;font-weight:600}.api-key-chip:hover{transform:translateY(-1px);box-shadow:0 8px 16px #4c6ef540}.csv-import-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.csv-import-row .csv-upload{margin-right:auto}.csv-upload{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#4c6ef51f;color:#3b5bdb;font-weight:600;cursor:pointer}.csv-upload input{position:absolute;opacity:0;top:0;left:0;right:0;bottom:0;cursor:pointer}.import-status{font-size:12px;color:#0f172aa6;font-weight:600}.csv-download-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:none;background:#4c6ef51f;color:#3b5bdb;font-weight:600;font-size:12px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.csv-download-link:hover{transform:translateY(-1px);box-shadow:0 8px 16px #4c6ef540;background:#4c6ef52e}.csv-sample-preview{background:#0f172a0a;border:1px solid rgba(15,23,42,.1);border-radius:8px;padding:12px;overflow-x:auto}.csv-sample-preview pre{margin:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.6;color:#0f172ae6;white-space:pre}@media (max-width: 640px){.domain-row,.add-role-row,.user-form-actions{flex-direction:column;align-items:stretch}.user-card{flex-direction:column;align-items:flex-start}.user-card__actions{width:100%;justify-content:flex-end}}.human-agents{background:#fffffff2;border-radius:18px;padding:24px 28px;box-shadow:0 18px 36px #0f172a1f;display:flex;flex-direction:column;gap:24px}.human-agents__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.human-agents__header h2{margin:0;font-size:20px;font-weight:700;color:#0f172ae6}.human-agents__status-bar{font-size:13px;padding:10px 16px;border-radius:10px;background:#4c6ef51a;color:#3b5bdb;font-weight:600}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:1px solid rgba(15,23,42,.15);background:#fff;font-size:13px;font-weight:600;color:#0f172ab3;cursor:pointer;transition:all .15s ease}.back-btn:hover{background:#0f172a0d;border-color:#0f172a40}.agent-count{font-size:13px;color:#0f172a99;font-weight:600}.human-agents__form{background:#f6f8fcf5;border-radius:16px;border:1px solid rgba(15,23,42,.08);padding:20px 22px;display:flex;flex-direction:column;gap:16px}.human-agents__form--full{padding:28px 32px}.human-agents__form h3{margin:0;font-size:16px;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.form-column{display:flex;flex-direction:column;gap:16px}@media (max-width: 900px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:#0f172abf}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.15);font-size:14px;background:#fff;color:#0f172ae6;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4c6ef5;box-shadow:0 0 0 3px #4c6ef52e}.form-hint{margin:0;font-size:12px;color:#0f172a8c}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:4px}.toggle-item{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffffe6;border-radius:12px;border:1px solid rgba(15,23,42,.12);cursor:pointer}.toggle-item input{width:16px;height:16px}.form-error{font-size:12px;color:#d9480f;font-weight:600}.form-actions{display:flex;gap:12px}.human-agents__list{display:flex;flex-direction:column;gap:16px}.list-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.list-filters{display:inline-flex;gap:8px}.filter-chip{border:none;border-radius:999px;padding:6px 12px;background:#0f172a14;font-size:12px;font-weight:600;cursor:pointer;color:#0f172ab3}.filter-chip.active{background:#4c6ef52e;color:#3b5bdb}.agent-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.agent-card{border-radius:16px;border:1px solid rgba(15,23,42,.08);padding:18px 20px;background:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 24px #0f172a1f}.agent-card__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.agent-card__header h4{margin:0;font-size:16px;font-weight:700}.agent-card__actions{display:inline-flex;gap:6px}.agent-card__actions button{border:none;background:#0f172a14;border-radius:10px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.agent-card__actions button.danger{background:#fa52521f;color:#c92a2a}.agent-card__description{margin:0;font-size:13px;color:#0f172ab8}.agent-card__model{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#3b5bdb}.agent-card__snippet{display:flex;flex-direction:column;gap:4px;background:#0f172a0d;padding:10px 12px;border-radius:10px}.snippet-label{font-size:11px;font-weight:700;color:#0f172a8c;text-transform:uppercase}.agent-card__snippet p{margin:0;font-size:12px;color:#0f172ab3;white-space:pre-wrap}.agent-card__channels{display:inline-flex;gap:8px;flex-wrap:wrap}.channel-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#0f172a14;font-size:11px;font-weight:600;color:#0f172a99}.channel-pill.active{background:#4c6ef529;color:#3b5bdb}.agent-card__footer{font-size:11px;color:#0f172a8c}.empty-hint{font-size:12px;color:#0f172a8c}.form-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px;background:#ffffffd9;border-radius:12px;padding:10px;border:1px solid rgba(15,23,42,.08)}.checkbox-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#0f172a0a;font-size:12px;font-weight:600;color:#0f172abf;cursor:pointer}.checkbox-pill input{width:14px;height:14px}.checkbox-pill.checked{background:#4c6ef529;border-color:#4c6ef559;color:#3b5bdb}.agent-card__assignment{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#0f172aa6}.agent-card__tools{display:flex;flex-wrap:wrap;gap:6px}.tool-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#0f172a14;font-size:11px;font-weight:600;color:#0f172a99}.icon-xxs{font-size:12px}.agent-card__users{display:inline-flex;flex-wrap:wrap;gap:6px}.user-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#4c6ef524;color:#3b5bdb;font-size:11px;font-weight:600}.form-search-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.form-search-row input,.form-search-row select{padding:8px 12px;border-radius:999px;border:1px solid rgba(15,23,42,.12);font-size:13px;color:#0f172ae6;min-width:160px}.readonly-textarea,.readonly-input{background-color:#0f172a0f!important;color:#0f172a8c!important;cursor:not-allowed!important;border-color:#0f172a1a!important}.readonly-textarea:disabled,.readonly-input:disabled{opacity:1}.default-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2px 10px;border-radius:999px;font-size:10px;font-weight:700;margin-left:10px;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.agent-card--default{border:2px solid rgba(102,126,234,.3);background:linear-gradient(135deg,#667eea08,#764ba208)}.agent-card--default .agent-card__header h4{display:flex;align-items:center}.tools-hub{padding:24px;max-width:800px;margin:0 auto}.tools-hub__header{text-align:center;margin-bottom:32px}.tools-hub__header h2{margin:0 0 8px;font-size:28px;font-weight:600;color:#1a1a2e}.tools-hub__subtitle{margin:0;font-size:14px;color:#666}.tools-hub__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.tool-tile{display:flex;flex-direction:column;align-items:center;padding:28px 20px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;box-shadow:0 4px 12px #0f172a0f;cursor:pointer;transition:all .2s ease;position:relative;text-align:center}.tool-tile.available:hover{transform:translateY(-4px);box-shadow:0 12px 24px #667eea26;border-color:#667eea4d}.tool-tile.coming-soon{opacity:.6;cursor:not-allowed;background:#f8f9fa}.tool-tile__icon-wrapper{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:16px;margin-bottom:16px}.tool-tile.available .tool-tile__icon-wrapper{background:linear-gradient(135deg,#667eea26,#764ba226)}.tool-tile__icon{font-size:32px;color:#667eea}.tool-tile.coming-soon .tool-tile__icon{color:#999}.tool-tile__name{margin:0 0 6px;font-size:16px;font-weight:600;color:#1a1a2e}.tool-tile.coming-soon .tool-tile__name{color:#666}.tool-tile__description{margin:0;font-size:12px;color:#666;line-height:1.4}.tool-tile__badge{position:absolute;top:12px;right:12px;padding:4px 8px;font-size:10px;font-weight:600;color:#666;background:#0f172a14;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.tools-hub__footer{text-align:center;margin-top:40px;padding-top:24px;border-top:1px solid rgba(15,23,42,.08)}.tools-hub__footer p{margin:0;font-size:13px;color:#999}@media (max-width: 600px){.tools-hub{padding:16px}.tools-hub__grid{grid-template-columns:repeat(2,1fr);gap:12px}.tool-tile{padding:20px 16px}.tool-tile__icon-wrapper{width:52px;height:52px}.tool-tile__icon{font-size:26px}.tool-tile__name{font-size:14px}.tool-tile__description{font-size:11px}}.todo-app{height:100%;display:flex;flex-direction:column;background:#f8f9fa}.todo-app__header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.todo-app__back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0f172a0d;border:none;border-radius:8px;font-size:13px;color:#666;cursor:pointer;transition:all .15s ease}.todo-app__back-btn:hover{background:#0f172a1a;color:#333}.todo-app__header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a2e;flex:1}.todo-app__stats{display:flex;gap:16px}.todo-app__stats .stat{font-size:13px;color:#666}.todo-app__layout{flex:1;display:flex;overflow:hidden}.todo-app__sidebar{width:260px;background:#fff;border-right:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column}.todo-app__sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(15,23,42,.08)}.todo-app__sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.todo-app__add-list-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border:none;border-radius:8px;color:#667eea;cursor:pointer;transition:all .15s ease}.todo-app__add-list-btn:hover{background:#667eea33}.todo-app__new-list-form{display:flex;gap:6px;padding:12px;background:#667eea0d}.todo-app__new-list-form input{flex:1;padding:8px 10px;border:1px solid rgba(15,23,42,.12);border-radius:6px;font-size:13px}.todo-app__new-list-form button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer}.todo-app__new-list-form button[type=button]{background:#0f172a1a;color:#666}.todo-app__lists{flex:1;overflow-y:auto;padding:8px}.todo-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease}.todo-list-item:hover{background:#0f172a0d}.todo-list-item.active{background:#667eea1a;color:#667eea}.todo-list-item .material-icon{color:#999}.todo-list-item.active .material-icon{color:#667eea}.todo-list-item__name{flex:1;font-size:14px;font-weight:500}.todo-list-item__count{font-size:12px;color:#999;background:#0f172a14;padding:2px 8px;border-radius:10px}.todo-list-item__delete{opacity:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;transition:all .15s ease}.todo-list-item:hover .todo-list-item__delete{opacity:1}.todo-list-item__delete:hover{color:#ef4444}.todo-app__main{flex:1;display:flex;flex-direction:column;overflow:hidden}.todo-app__main-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.todo-app__main-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.todo-app__filters{display:flex;gap:4px}.todo-app__filters button{padding:6px 12px;background:none;border:1px solid rgba(15,23,42,.12);border-radius:6px;font-size:12px;color:#666;cursor:pointer;transition:all .15s ease}.todo-app__filters button:hover{background:#0f172a0d}.todo-app__filters button.active{background:#667eea;border-color:#667eea;color:#fff}.todo-app__add-form{display:flex;gap:10px;padding:16px 24px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.todo-app__add-form input[type=text]{flex:1;padding:12px 16px;border:1px solid rgba(15,23,42,.12);border-radius:10px;font-size:14px;transition:border-color .15s ease}.todo-app__add-form input[type=text]:focus{outline:none;border-color:#667eea}.todo-app__priority-select{padding:8px 12px;border:1px solid rgba(15,23,42,.12);border-radius:8px;font-size:13px;color:#666;background:#fff;cursor:pointer}.todo-app__add-form button[type=submit]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .15s ease}.todo-app__add-form button[type=submit]:hover:not(:disabled){transform:scale(1.05)}.todo-app__add-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.todo-app__items{flex:1;overflow-y:auto;padding:16px 24px}.todo-app__loading,.todo-app__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#999}.todo-app__empty .material-icon{font-size:48px;margin-bottom:12px;opacity:.5}.todo-app__empty p{margin:0;font-size:14px}.todo-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:12px;margin-bottom:10px;transition:all .15s ease}.todo-item:hover{box-shadow:0 4px 12px #0f172a14}.todo-item.completed{opacity:.6}.todo-item.completed .todo-item__title{text-decoration:line-through;color:#999}.todo-item__checkbox{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#999;transition:color .15s ease}.todo-item__checkbox:hover{color:#667eea}.todo-item.completed .todo-item__checkbox{color:#22c55e}.todo-item__content{flex:1;display:flex;flex-direction:column;gap:4px}.todo-item__title{font-size:14px;font-weight:500;color:#1a1a2e}.todo-item__description{font-size:12px;color:#666}.todo-item__priority{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-transform:capitalize}.todo-item__delete{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;opacity:0;transition:all .15s ease}.todo-item:hover .todo-item__delete{opacity:1}.todo-item__delete:hover{color:#ef4444}@media (max-width: 768px){.todo-app__layout{flex-direction:column}.todo-app__sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}.todo-app__header{flex-wrap:wrap}.todo-app__stats{width:100%;justify-content:flex-end}}.notes-app{height:100%;display:flex;flex-direction:column;background:#f8f9fa}.notes-app__header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.notes-app__back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0f172a0d;border:none;border-radius:8px;font-size:13px;color:#666;cursor:pointer;transition:all .15s ease}.notes-app__back-btn:hover{background:#0f172a1a;color:#333}.notes-app__header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a2e;flex:1}.notes-app__stats{display:flex;gap:16px}.notes-app__stats .stat{font-size:13px;color:#666}.notes-app__layout{flex:1;display:flex;overflow:hidden}.notes-app__sidebar{width:220px;background:#fff;border-right:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column}.notes-app__search{display:flex;align-items:center;gap:8px;padding:12px;margin:12px;background:#0f172a0d;border-radius:8px}.notes-app__search input{flex:1;border:none;background:none;font-size:13px;outline:none}.notes-app__search .material-icon{color:#999}.notes-app__views{padding:0 8px;margin-bottom:16px}.notes-app__view-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;font-size:13px;color:#666;cursor:pointer;transition:all .15s ease;text-align:left}.notes-app__view-btn:hover{background:#0f172a0d}.notes-app__view-btn.active{background:#667eea1a;color:#667eea}.notes-app__view-btn .material-icon{color:#999}.notes-app__view-btn.active .material-icon{color:#667eea}.notes-app__folders-section{flex:1;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid rgba(15,23,42,.08)}.notes-app__folders-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.notes-app__folders-header h3{margin:0;font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.notes-app__add-folder-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;border-radius:4px;transition:all .15s ease}.notes-app__add-folder-btn:hover{background:#667eea1a;color:#667eea}.notes-app__new-folder-form{display:flex;gap:6px;padding:8px 12px;background:#667eea0d}.notes-app__new-folder-form input{flex:1;padding:6px 8px;border:1px solid rgba(15,23,42,.12);border-radius:4px;font-size:12px}.notes-app__new-folder-form button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer}.notes-app__new-folder-form button[type=button]{background:#0f172a1a;color:#666}.notes-app__folders{flex:1;overflow-y:auto;padding:0 8px 8px}.notes-folder-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease}.notes-folder-item:hover{background:#0f172a0d}.notes-folder-item.active{background:#667eea1a;color:#667eea}.notes-folder-item .material-icon{color:#999}.notes-folder-item.active .material-icon{color:#667eea}.notes-folder-item__name{flex:1;font-size:13px;font-weight:500}.notes-folder-item__count{font-size:11px;color:#999;background:#0f172a14;padding:2px 6px;border-radius:8px}.notes-folder-item__delete{opacity:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;transition:all .15s ease}.notes-folder-item:hover .notes-folder-item__delete{opacity:1}.notes-folder-item__delete:hover{color:#ef4444}.notes-app__list{width:280px;background:#fff;border-right:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column}.notes-app__list-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.08)}.notes-app__list-header h3{margin:0;font-size:14px;font-weight:600;color:#1a1a2e}.notes-app__new-note-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.notes-app__new-note-btn:hover{transform:scale(1.02)}.notes-app__notes-container{flex:1;overflow-y:auto;padding:8px}.notes-app__section-label{padding:8px 12px 4px;font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.notes-app__loading,.notes-app__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#999}.notes-app__empty .material-icon{font-size:40px;margin-bottom:8px;opacity:.5}.notes-app__empty p{margin:0;font-size:13px}.note-item{display:flex;padding:12px;background:#f8f9fa;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .15s ease}.note-item:hover{background:#667eea14}.note-item.selected{background:#667eea1f;border:1px solid rgba(102,126,234,.3)}.note-item__content{flex:1;min-width:0}.note-item__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.note-item__title{font-size:13px;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-item__pin-icon{color:#667eea;font-size:12px}.note-item__preview{margin:0;font-size:12px;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-item__date{font-size:10px;color:#999;margin-top:6px;display:block}.note-item__actions{display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .15s ease}.note-item:hover .note-item__actions{opacity:1}.note-item__actions button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#999;cursor:pointer;border-radius:4px;transition:all .15s ease}.note-item__actions button:hover{background:#0f172a1a;color:#666}.note-item__actions button:last-child:hover{color:#ef4444}.notes-app__editor{flex:1;display:flex;flex-direction:column;background:#fff}.notes-app__editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(15,23,42,.08)}.notes-app__note-title{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.notes-app__title-input{flex:1;padding:8px 12px;border:1px solid rgba(102,126,234,.3);border-radius:6px;font-size:18px;font-weight:600;color:#1a1a2e;outline:none}.notes-app__title-input:focus{border-color:#667eea}.notes-app__editor-actions{display:flex;gap:8px}.notes-app__icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0f172a0d;border:none;border-radius:6px;color:#666;cursor:pointer;transition:all .15s ease}.notes-app__icon-btn:hover{background:#0f172a1a;color:#333}.notes-app__icon-btn.active{background:#667eea26;color:#667eea}.notes-app__icon-btn.delete:hover{background:#ef44441a;color:#ef4444}.notes-app__save-btn{display:flex;align-items:center;gap:4px;padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.notes-app__save-btn:hover{transform:scale(1.02)}.notes-app__cancel-btn{padding:8px 16px;background:#0f172a14;border:none;border-radius:6px;font-size:13px;color:#666;cursor:pointer;transition:all .15s ease}.notes-app__cancel-btn:hover{background:#0f172a1f}.notes-app__editor-content{flex:1;padding:20px;overflow-y:auto}.notes-app__content-textarea{width:100%;height:100%;min-height:300px;padding:16px;border:1px solid rgba(15,23,42,.12);border-radius:8px;font-size:14px;line-height:1.6;resize:none;outline:none;font-family:inherit}.notes-app__content-textarea:focus{border-color:#667eea80}.notes-app__content-display{font-size:14px;line-height:1.7;color:#333;white-space:pre-wrap}.notes-app__placeholder{color:#999;font-style:italic}.notes-app__editor-footer{padding:12px 20px;border-top:1px solid rgba(15,23,42,.08)}.notes-app__note-meta{font-size:12px;color:#999}.notes-app__no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.notes-app__no-selection .material-icon{font-size:48px;margin-bottom:12px;opacity:.5}.notes-app__no-selection p{margin:0;font-size:14px}@media (max-width: 1024px){.notes-app__sidebar{width:180px}.notes-app__list{width:240px}}@media (max-width: 768px){.notes-app__layout{flex-direction:column}.notes-app__sidebar{width:100%;max-height:150px;border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}.notes-app__list{width:100%;max-height:200px;border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}.notes-app__header{flex-wrap:wrap}.notes-app__stats{width:100%;justify-content:flex-end}}.icon-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:24px}.icon-gallery__card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#ffffffd9;box-shadow:0 10px 24px #0f172a14;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.icon-gallery__card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0f172a1f}.icon-gallery__glyph{color:#4c6ef5}.icon-gallery__label{font-size:13px;font-weight:600;color:#0f172ad9}.icon-gallery__context{font-size:12px;color:#0f172a8c}@media (max-width: 600px){.icon-gallery{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:16px}.icon-gallery__card{padding:12px}}.user-mode-chat{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.user-chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0}.user-chat-header-info{display:flex;align-items:center;gap:12px}.user-chat-header-texts{display:flex;flex-direction:column;gap:2px}.user-chat-header-texts h2{margin:0;font-size:18px;font-weight:600}.user-chat-model-chip{font-size:11px;padding:2px 8px;background:#fff3;border-radius:8px;display:inline-block}.user-chat-header-actions{display:flex;align-items:center;gap:8px}.user-chat-model-selector{position:relative}.user-chat-model-btn{display:flex;align-items:center;gap:4px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:6px 12px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.user-chat-model-btn:hover{background:#ffffff40}.user-chat-model-label{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chat-model-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:200px;max-height:300px;overflow-y:auto;z-index:100}.user-chat-model-menu-empty{padding:12px 16px;color:#999;font-size:13px;text-align:center}.user-chat-model-menu-item{display:block;width:100%;padding:10px 16px;border:none;background:none;text-align:left;font-size:13px;color:#333;cursor:pointer;transition:background .15s ease}.user-chat-model-menu-item:hover{background:#667eea14}.user-chat-model-menu-item.active{background:#667eea26;color:#667eea;font-weight:500}.user-chat-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.user-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;text-align:center}.user-chat-empty .material-icon{font-size:64px;color:#ddd;margin-bottom:16px}.user-chat-empty h3{margin:0 0 8px;font-size:18px;color:#666;font-weight:500}.user-chat-empty p{margin:0;font-size:14px;color:#999}.user-chat-message{display:flex;flex-direction:column;max-width:70%}.user-chat-message.user{align-self:flex-end;align-items:flex-end}.user-chat-message.bot{align-self:flex-start;align-items:flex-start}.user-chat-message-bubble{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5;word-break:break-word;white-space:pre-wrap}.user-chat-message.user .user-chat-message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.user-chat-message.bot .user-chat-message-bubble{background:#fff;color:#333;border:1px solid rgba(0,0,0,.08);border-bottom-left-radius:4px}.user-chat-message-time{font-size:11px;color:#999;margin-top:4px;padding:0 4px}.user-chat-input-container{display:flex;align-items:flex-end;gap:12px;padding:16px 24px;background:#fff;border-top:1px solid rgba(0,0,0,.08);flex-shrink:0}.user-chat-input{flex:1;border:1px solid rgba(0,0,0,.12);border-radius:20px;padding:12px 18px;font-size:14px;resize:none;outline:none;max-height:120px;min-height:44px;font-family:inherit;line-height:1.4;transition:border-color .2s ease}.user-chat-input:focus{border-color:#667eea}.user-chat-input::placeholder{color:#999}.user-chat-action-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#667eea14;color:#667eea;cursor:pointer;transition:all .2s ease;flex-shrink:0}.user-chat-action-btn:hover{background:#667eea26}.user-chat-action-btn.recording{background:#ef4444;color:#fff;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.user-chat-send-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.user-chat-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.user-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.user-mode-no-agent{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;text-align:center;padding:24px}.user-mode-no-agent .material-icon{font-size:64px;color:#ddd;margin-bottom:16px}.user-mode-no-agent h3{margin:0 0 8px;font-size:18px;color:#666;font-weight:500}.user-mode-no-agent p{margin:0;font-size:14px;color:#999}@media (max-width: 768px){.user-chat-header{padding:12px 16px}.user-chat-messages{padding:16px}.user-chat-message{max-width:85%}.user-chat-input-container{padding:12px 16px;gap:8px}.user-chat-input{padding:10px 14px}.user-chat-action-btn{width:36px;height:36px}.user-chat-send-btn{width:40px;height:40px}}.tab-content{width:100%;max-width:1040px;padding:24px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;box-shadow:0 6px 20px #0f172a14;animation:fadeInUp .2s ease;display:flex;flex-direction:column;flex:1;margin:0}.tab-content.full-width{max-width:100%;width:100%;max-height:none;overflow-y:auto;background:#fffffff2;padding:16px 20px;border-radius:12px;box-shadow:0 6px 18px #0f172a14}.tab-content.theme-light{background:#fffffffa;color:#111827;box-shadow:0 6px 24px #0f172a14}.tab-content.theme-light .tab-content-header{border-bottom:1px solid rgba(15,23,42,.08)}.tab-content.theme-light .tab-icon{color:#1f2937;text-shadow:none}.tab-content.theme-light .tab-title{color:#0f172a;text-shadow:none}.tab-content.theme-light .tab-content-body{color:#1f2937;text-shadow:none}.tab-content-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid rgba(255,255,255,.2)}.tab-icon{color:#fff;display:inline-flex;align-items:center;justify-content:center}.tab-title{font-size:2.5rem;font-weight:700;color:#fff;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.tab-content-body{color:#fff;font-size:1.2rem;line-height:1.8;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.preferences-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px;width:100%;padding:20px 24px 40px;box-sizing:border-box;overflow:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tab-content{padding:30px 20px}.tab-title{font-size:2rem}.tab-content-body{font-size:1rem}.tab-icon{font-size:20px!important}.preferences-layout{grid-template-columns:1fr;padding:16px}}.bottom-settings-btn{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001;transition:transform .2s ease,box-shadow .2s ease}.bottom-settings-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.bottom-settings-btn:active{transform:scale(.95)}.settings-icon{font-size:18px;color:#333}.bottom-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1002;animation:fadeIn .3s ease}.bottom-menu{position:fixed;bottom:0;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000026;z-index:1003;max-height:70vh;display:flex;flex-direction:column;transform:translateY(100%);animation:slideUp .3s ease forwards}.bottom-menu.open{transform:translateY(0)}.bottom-menu-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(0,0,0,.1)}.bottom-menu-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.close-btn{width:32px;height:32px;border-radius:50%;border:none;background:#0000000d;cursor:pointer;font-size:24px;color:#333;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.close-btn:hover{background:#0000001a}.bottom-menu-content{padding:10px 0;overflow-y:auto;max-height:calc(70vh - 80px)}.bottom-menu-option{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s ease;color:#333}.bottom-menu-option:hover{background:#667eea1a}.bottom-menu-option .option-icon{margin-right:16px;min-width:24px;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#333}.bottom-menu-option .option-label{font-size:16px;font-weight:500}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-menu-content::-webkit-scrollbar{width:6px}.bottom-menu-content::-webkit-scrollbar-track{background:transparent}.bottom-menu-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.bottom-menu-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.chat-minimized-container{position:fixed;bottom:-30px;right:-30px;z-index:1200;overflow:visible}.chat-float-btn{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 20px #667eea80;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;position:relative}.chat-model-select{position:absolute;top:54px;left:24px;z-index:1300}.chat-model-btn{width:42px;height:42px;border-radius:50%;background:#fffffff2;border:2px solid rgba(102,126,234,.3);box-shadow:0 2px 8px #0003;display:flex;align-items:center;justify-content:center;color:#3b3b3b;cursor:pointer;transition:all .2s ease}.chat-model-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d;border-color:#667eea99}.chat-model-menu{position:absolute;bottom:calc(100% + 12px);left:0;min-width:200px;background:#fff;border-radius:12px;box-shadow:0 10px 24px #00000026;padding:8px;display:flex;flex-direction:column;gap:4px;z-index:1500}.chat-model-menu:before{content:"";position:absolute;bottom:-8px;left:18px;width:14px;height:14px;background:#fff;transform:rotate(45deg);box-shadow:0 10px 24px #00000014}.chat-model-menu-item{border:none;background:transparent;text-align:left;font-size:13px;padding:6px 10px;border-radius:8px;cursor:pointer;color:#333;transition:background .2s ease}.chat-model-menu-item:hover{background:#667eea1f}.chat-model-menu-item.active{background:#667eea2e;font-weight:600}.chat-model-menu-empty{font-size:12px;color:#777;padding:4px 6px}.chat-control-btn{position:absolute;width:42px;height:42px;border-radius:50%;background:#fffffff2;border:2px solid rgba(102,126,234,.3);box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease;z-index:1}.chat-control-btn:first-child{top:-12px;left:50%;transform:translate(-50%)}.chat-control-btn:last-child{left:-12px;top:50%;transform:translateY(-50%)}.chat-control-btn:first-child:hover{transform:translate(-50%) scale(1.15)!important;box-shadow:0 4px 12px #0000004d;border-color:#667eea99}.chat-control-btn:last-child:hover{transform:translateY(-50%) scale(1.15)!important;box-shadow:0 4px 12px #0000004d;border-color:#667eea99}.chat-control-btn:first-child:active{transform:translate(-50%) scale(.9)!important}.chat-control-btn:last-child:active{transform:translateY(-50%) scale(.9)!important}.chat-control-btn.muted{background:#ff475726;border-color:#ff475780}.chat-float-btn:hover{transform:scale(1.05);box-shadow:0 6px 24px #667eeab3}.chat-float-btn:active{transform:scale(.98)}.float-icon{color:#fff;font-size:44px!important}.chat-header-texts{display:flex;flex-direction:column;gap:2px}.chat-model-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 6px;border-radius:6px;background:#fff3}.control-icon{font-size:11px;font-weight:700;letter-spacing:.05em;color:#3b3b3b}.chat-badge{position:absolute;top:10px;right:10px;background:#ff4757;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;border-radius:12px;min-width:24px;text-align:center;box-shadow:0 2px 8px #ff475766}.chat-interface.expanded{position:fixed;bottom:50px;right:55px;width:400px;max-width:calc(100vw - 120px);height:calc(100vh - 110px);max-height:550px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;z-index:998;display:flex;flex-direction:column;animation:slideUpChat .3s ease}@keyframes slideUpChat{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;flex-shrink:0}.chat-header-info{display:flex;align-items:center;gap:10px}.chat-icon{color:#fff}.empty-icon{opacity:.3;color:#999}.chat-header h3{margin:0;font-size:14px;font-weight:600}.chat-header-actions{display:flex;align-items:center;gap:8px}.chat-header-model-selector{position:relative}.chat-header-model-btn{display:flex;align-items:center;gap:6px;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;max-width:210px;transition:background .2s ease,border-color .2s ease}.chat-header-model-btn:hover{background:#ffffff47;border-color:#fff9}.chat-header-model-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.chat-model-menu--top{bottom:auto;left:auto;right:0;top:calc(100% + 8px)}.chat-model-menu--top:before{bottom:auto;top:-8px;left:auto;right:22px;transform:rotate(45deg)}.chat-minimize-btn{width:28px;height:28px;border-radius:50%;border:none;background:#fff3;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;line-height:1}.chat-minimize-btn:hover{background:#ffffff4d}.chat-messages{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5;display:flex;flex-direction:column;gap:12px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.chat-empty p{font-size:14px}.chat-message{display:flex;flex-direction:column;margin-bottom:8px}.chat-message.user{align-items:flex-end}.chat-message.bot{align-items:flex-start}.message-bubble{max-width:75%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.4;word-wrap:break-word}.chat-message.user .message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.chat-message.bot .message-bubble{background:#fff;color:#333;border-bottom-left-radius:4px;box-shadow:0 1px 2px #0000001a}.message-time{font-size:11px;color:#999;margin-top:4px;padding:0 4px}.chat-input-container{padding:12px;background:#fff;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px;flex-shrink:0}.chat-input-wrapper{display:flex;align-items:flex-end;gap:8px}.chat-action-btn{width:32px;height:32px;border-radius:50%;border:none;background:#f0f0f0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease;flex-shrink:0}.chat-action-btn:hover{background:#e0e0e0;transform:scale(1.05)}.chat-action-btn.recording{background:#ff4757;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.chat-input{flex:1;border:1px solid #e0e0e0;border-radius:16px;padding:6px 12px;font-size:13px;resize:none;outline:none;max-height:80px;min-height:32px;font-family:inherit;transition:border-color .2s ease}.chat-input:focus{border-color:#667eea}.chat-send-btn{width:32px;height:32px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease;flex-shrink:0}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 8px #667eea66}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (max-width: 768px){.chat-interface.expanded{width:calc(100vw - 100px);right:50px}.chat-float-btn{width:110px;height:110px}.float-icon{font-size:34px!important}.chat-control-btn{width:36px;height:36px;font-size:14px}}@media (max-width: 600px){.chat-interface.expanded{width:calc(100vw - 90px);right:45px;bottom:45px;max-height:calc(100vh - 90px)}.chat-float-btn{width:100px;height:100px}.float-icon{font-size:30px!important}.chat-control-btn{width:32px;height:32px;font-size:12px}.chat-model-select{top:42px;left:18px}.chat-model-btn{width:36px;height:36px}.chat-model-menu{min-width:150px}}.App{width:100%;height:100vh;display:flex;position:relative;background:#f7f9fc;overflow:hidden;padding-left:var(--sidebar-offset, 60px);padding-bottom:var(--bottom-bar-height, 28px);transition:padding-left .3s ease,background .3s ease}.main-content{flex:1;display:flex;justify-content:flex-start;align-items:stretch;padding:32px 24px 12px 12px;transition:padding .3s ease;background:transparent;overflow-y:auto;border-left:1px solid rgba(15,23,42,.08)}.main-content>*{flex:1;display:flex;flex-direction:column;min-height:calc(100vh - var(--bottom-bar-height, 28px) - 32px)}.master-app-heading{font-size:4rem;font-weight:700;color:#fff;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.3);letter-spacing:.1em}@media (max-width: 768px){.master-app-heading{font-size:2.5rem}.main-content{padding:0 50px}}@media (max-width: 480px){.master-app-heading{font-size:2rem}.main-content{padding:0 40px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100vh;overflow:hidden}#root{width:100%;height:100%}
