:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#747bff}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.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}.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))}.mindmap-flow-container{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.mindmap-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#fff;height:100%}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.mindmap-bottom-controls{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1000}.control-bar{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:12px 24px;box-shadow:0 8px 32px #00000026,inset 0 1px #ffffff4d;display:flex;align-items:center;gap:24px;min-width:400px;transition:all .3s ease}.control-bar:hover{background:#ffffff26;box-shadow:0 12px 40px #0003,inset 0 1px #fff6;transform:translateY(-2px)}.analytics-mode-toggle{display:flex;background:#ffffff1a;border-radius:16px;padding:4px;border:1px solid rgba(255,255,255,.15)}.mode-toggle-btn{background:transparent;border:none;padding:8px 16px;border-radius:12px;cursor:pointer;font-size:13px;font-weight:600;color:#fffc;transition:all .3s ease;flex:1;white-space:nowrap}.mode-toggle-btn.active{background:#ffffff40;color:#fff;box-shadow:0 2px 8px #00000026,inset 0 1px #ffffff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-toggle-btn:hover:not(.active){color:#fff;background:#ffffff26}.month-navigation{display:flex;align-items:center;gap:12px;justify-content:center}.month-nav-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;font-weight:600;color:#ffffffe6;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.month-nav-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff4d;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.month-nav-btn:disabled{opacity:.4;cursor:not-allowed;background:#ffffff0d}.current-month{font-weight:600;color:#fff;min-width:140px;text-align:center;font-size:15px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.timeframe-selection{display:flex;flex-direction:column;gap:8px}.timeframe-select{padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;min-width:140px}.timeframe-select:focus{outline:none;border-color:#ffffff4d;background:#ffffff26;box-shadow:0 4px 12px #00000026}.timeframe-select:hover{border-color:#ffffff40;background:#ffffff1f}.timeframe-select option{background:#374151;color:#fff}.react-flow,.react-flow__background{background:transparent}.react-flow__node{background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important}.react-flow__controls{background:#fffffff2;border-radius:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.react-flow__controls.react-flow__controls-bottom-right{bottom:80px!important}.react-flow__controls button{background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.05);border-radius:0;color:#374151;transition:all .2s}.react-flow__controls button:hover{background:#3b82f61a;color:#3b82f6}.react-flow__controls button:last-child{border-bottom:none}.react-flow__edge-path{stroke:#fffc;stroke-width:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.detail-modal-content{animation:zoomIn .5s ease;transform-origin:center}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.mindmap-flow-container.detail-mode .react-flow{filter:blur(2px) brightness(.3);transition:filter .3s ease}.react-flow__edge:hover .react-flow__edge-path{stroke:#fff;stroke-width:3}.central-node{background:linear-gradient(135deg,#fff,#f8fafc);border:3px solid rgba(255,255,255,.9);border-radius:50%;width:200px;height:200px;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 40px #0000001a;cursor:pointer;transition:all .3s ease;position:relative}.central-node:hover{transform:scale(1.05);box-shadow:0 25px 50px #00000026;border-color:#fff}.central-node .node-content{text-align:center;color:#1f2937}.central-node .node-icon{font-size:48px;margin-bottom:8px}.central-node .node-label{font-size:18px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.branch-node{background:linear-gradient(135deg,#fff,#f1f5f9);border:2px solid rgba(255,255,255,.8);border-radius:16px;width:180px;min-height:80px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px #0000001a;cursor:pointer;transition:all .3s ease;padding:12px;position:relative}.branch-node:hover{transform:translateY(-4px);box-shadow:0 16px 32px #00000026;border-color:#fff}.branch-node .node-content{display:flex;align-items:center;gap:12px;width:100%;color:#1f2937}.branch-node .node-icon{font-size:32px;flex-shrink:0}.branch-node .node-text{flex:1;min-width:0}.branch-node .node-label{font-size:14px;font-weight:600;margin-bottom:4px;word-wrap:break-word}.branch-node .node-amount{font-size:12px;font-weight:500;color:#4b5563}.branch-node .expand-indicator{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#3b82f61a;border:1px solid #3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#3b82f6;transition:all .2s ease}.branch-node .expand-indicator.expanded{background:#10b9811a;border-color:#10b981;color:#10b981}.analytics-eye-btn{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:1px solid rgba(255,255,255,1);color:#374151;font-size:.8rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;z-index:10}.analytics-eye-btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 8px #00000026}.bank-connection-btn{position:absolute;top:8px;left:36px;width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:2px solid #10b981;color:#10b981;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #10b98133;z-index:10}.bank-connection-btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 8px #10b9814d;border-color:#059669;color:#059669}.branch-node:not(:has(.analytics-eye-btn)) .bank-connection-btn{left:8px}.leaf-node{background:linear-gradient(135deg,#fff,#fefefe);border:1px solid rgba(255,255,255,.6);border-radius:12px;width:160px;min-height:60px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #00000014;cursor:pointer;transition:all .3s ease;padding:10px;position:relative}.leaf-node:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0000001f;border-color:#fffc}.leaf-node .node-content{width:100%;color:#1f2937}.leaf-node .node-text{text-align:center}.leaf-node .node-label{font-size:13px;font-weight:600;margin-bottom:4px;word-wrap:break-word}.leaf-node .node-amount{font-size:11px;font-weight:500;color:#4b5563;margin-bottom:2px}.leaf-node .node-count{font-size:10px;color:#6b7280;font-style:italic}.node-handle{width:8px;height:8px;background:#ffffffe6;border:2px solid rgba(59,130,246,.6);border-radius:50%;transition:all .2s ease}.node-handle:hover{background:#3b82f6;border-color:#1d4ed8;transform:scale(1.3)}.react-flow__handle-connecting{background:#10b981!important;border-color:#059669!important}.react-flow__attribution{display:none!important}@media (max-width: 768px){.mindmap-controls{min-width:200px;margin:10px;padding:12px}.mode-toggle-btn{padding:6px 12px;font-size:12px}.month-nav-btn{width:32px;height:32px;font-size:16px}.current-month{min-width:120px;font-size:12px}}@media (max-width: 480px){.mindmap-controls{min-width:180px;margin:5px;padding:10px;gap:8px}.analytics-mode-toggle{padding:2px}.mode-toggle-btn{padding:4px 8px;font-size:11px}.month-navigation{gap:4px}.month-nav-btn{width:28px;height:28px;font-size:14px}.current-month{min-width:100px;font-size:11px}}.central-node{background:linear-gradient(135deg,#fff3,#ffffff1a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:20px;color:#fff;transition:all .5s ease;box-shadow:0 8px 32px #0000001a;display:flex;align-items:center;justify-content:center}.central-node.compact{width:180px;height:auto;min-height:120px}.central-node.zoomed{width:600px;height:500px;background:linear-gradient(135deg,#fffffff2,#ffffffe6);color:#1f2937;border:2px solid rgba(255,255,255,.8);box-shadow:0 20px 60px #0000004d}.node-content{padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;height:100%;gap:12px}.central-node.zoomed .node-content{align-items:stretch;justify-content:flex-start;padding:24px;gap:0}.health-score{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px}.score-label{font-size:.8rem;opacity:.8}.score-value{font-size:1.1rem;font-weight:700;color:#4ade80}.health-score-main{text-align:center;margin-bottom:4px}.score-row{display:flex;align-items:center;justify-content:center;gap:8px}.score-value-large{font-size:2rem;font-weight:700;color:#4ade80;line-height:1}.score-label-small{font-size:.8rem;color:#fff;font-weight:500;margin-top:2px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.eye-btn{width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:1px solid rgba(255,255,255,1);color:#374151;font-size:.8rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.eye-btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 4px 8px #00000026}.timeframe-controls{width:100%;display:flex;flex-direction:column;gap:8px}.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px}.month-nav-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;width:20px;height:20px;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.month-nav-btn:hover:not(:disabled){background:#ffffff40;border-color:#ffffff80}.month-nav-btn:disabled{opacity:.4;cursor:not-allowed}.current-month-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 8px;border-radius:8px;font-size:.65rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:60px;text-align:center}.current-month-btn:hover{background:#ffffff40;border-color:#ffffff80}.current-month-btn.active{background:#ffffffe6;border-color:#fff;color:#374151;font-weight:600;box-shadow:0 2px 6px #0003}.timeframe-buttons{display:flex;gap:4px;justify-content:center}.timeframe-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.4);color:#fff;padding:4px 8px;border-radius:8px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:28px;box-shadow:0 1px 3px #0000001a}.timeframe-btn:hover{background:#ffffff40;border-color:#fff9;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.timeframe-btn.active{background:#ffffffe6;border-color:#fff;color:#374151;font-weight:600;box-shadow:0 2px 6px #0003}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid rgba(107,114,128,.2)}.detail-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:700}.close-btn{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626;font-size:1.5rem;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ef444433;border-color:#ef444480;transform:scale(1.05)}.detail-content{max-height:400px;overflow-y:auto;padding-right:8px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:#374151;font-size:1.1rem;font-weight:600;margin:0 0 12px;border-bottom:1px solid rgba(107,114,128,.2);padding-bottom:4px}.health-display-large{display:flex;flex-direction:column;gap:12px}.score-huge{font-size:3rem;font-weight:700;color:#10b981;line-height:1}.health-explanation{color:#6b7280;margin:0;line-height:1.6;font-size:.95rem}.profile-content p{color:#374151;margin:0 0 8px;line-height:1.5;font-size:.95rem}.profile-content p:last-child{margin-bottom:0}.recommendations-list{margin:0;padding-left:20px}.recommendations-list li{color:#374151;margin-bottom:8px;line-height:1.5;font-size:.95rem}.recommendations-list li:last-child{margin-bottom:0}.central-node .react-flow__handle{background:#fffc;border:2px solid rgba(255,255,255,.9);width:12px;height:12px}.central-node .react-flow__handle:hover{background:#fff;border-color:#fff}.node-subtitle{font-size:11px!important;color:#6b7280!important;margin-top:2px;margin-bottom:2px;line-height:1.3;font-weight:400!important;text-align:center}.node-count-row{display:flex;align-items:center;gap:8px;margin-top:4px}.eye-button{width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:1px solid rgba(255,255,255,1);color:#374151;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.eye-button:hover:not(:disabled){background:#fff;transform:scale(1.05);box-shadow:0 4px 8px #00000026}.eye-button:disabled{cursor:not-allowed;opacity:.6}.transaction-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.transaction-modal{background-color:#1f2937!important;border-radius:12px;padding:0;max-width:800px;max-height:85vh;width:95vw;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;color:#fff!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.transaction-modal-header{display:flex;justify-content:between;align-items:center;padding:20px;border-bottom:1px solid #374151}.transaction-modal-header h3{margin:0;color:#fff!important;font-size:18px;flex:1}.close-button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:20px;padding:4px 8px;border-radius:4px;transition:all .2s}.close-button:hover{background-color:#374151;color:#fff}.transaction-list{padding:16px 20px 20px;max-height:60vh;overflow-y:auto}.transaction-item{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #374151;align-items:center}.transaction-item:last-child{border-bottom:none}.transaction-date{color:#9ca3af;font-size:14px;white-space:nowrap}.transaction-description{color:#fff!important;font-size:14px;word-wrap:break-word}.transaction-amount{font-weight:600;font-size:14px;text-align:right;white-space:nowrap}.transaction-amount.positive{color:#10b981}.transaction-amount.negative{color:#ef4444}.transaction-list::-webkit-scrollbar{width:6px}.transaction-list::-webkit-scrollbar-track{background:#374151;border-radius:3px}.transaction-list::-webkit-scrollbar-thumb{background:#6b7280;border-radius:3px}.transaction-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.bank-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.bank-modal-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:zoomIn .4s ease}.bank-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.bank-modal-header h2{margin:0;font-size:24px;font-weight:700;color:#1f2937;text-shadow:0 1px 2px rgba(0,0,0,.1)}.bank-modal-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;font-weight:700;color:#6b7280;transition:all .2s ease}.bank-modal-close:hover{background:#fff3;color:#374151;transform:scale(1.05)}.bank-modal-body{padding:24px}.bank-error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:16px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#dc2626;font-weight:500}.bank-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.bank-loading .loading-spinner{width:32px;height:32px;border:3px solid rgba(107,114,128,.3);border-top:3px solid #6b7280;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.banks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.bank-card{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;padding:20px;text-align:center;transition:all .3s ease;box-shadow:0 8px 25px #0000001a}.bank-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px #00000026;border-color:#fff6;background:#fffc}.bank-card.connected{border-color:#10b9814d;background:#fffc}.bank-logo{width:60px;height:60px;margin:0 auto 16px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.bank-logo img{width:100%;height:100%;object-fit:cover}.bank-card h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px;justify-content:center}.info-icon{font-size:14px;opacity:.7;cursor:help}.bank-badges{margin-bottom:8px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.beta-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.connected-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bank-types{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.type-badge{background:#3b82f61a;color:#3b82f6;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500;border:1px solid rgba(59,130,246,.2)}.btn-connect{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;box-shadow:0 4px 12px #3b82f64d}.btn-connect:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666;background:linear-gradient(135deg,#2563eb,#1e40af)}.btn-connect:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;box-shadow:none;transform:none}.btn-reauthorize{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;box-shadow:0 4px 12px #10b9814d;display:flex;align-items:center;justify-content:center;gap:6px}.btn-reauthorize:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.no-banks-message{text-align:center;padding:60px 20px;color:#6b7280}.no-banks-message p{margin:0 0 8px;font-size:16px}.no-banks-message p:last-child{font-size:14px;opacity:.8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.bank-modal-content{width:95%;margin:10px;max-height:90vh}.banks-grid{grid-template-columns:1fr;gap:12px}.bank-modal-header{padding:20px 20px 12px}.bank-modal-header h2{font-size:20px}.bank-modal-body{padding:20px}}.table-container{width:100%;overflow-x:auto;margin:12px 0;border-radius:8px;background:var(--bg-secondary, #f8f9fa);padding:4px}.finpal-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.finpal-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.finpal-table th{padding:12px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.2)}.finpal-table tbody tr{transition:background-color .2s ease}.finpal-table tbody tr:hover{background-color:#f7f9fc}.finpal-table tbody tr:not(:last-child) td{border-bottom:1px solid #e2e8f0}.finpal-table td{padding:10px 16px;font-size:14px;color:#2d3748}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.currency{font-family:SF Mono,Monaco,monospace;font-weight:500;color:#2b6cb0}.percentage{font-family:SF Mono,Monaco,monospace;font-weight:500;padding:2px 6px;border-radius:4px;font-size:13px}.percentage.positive{background-color:#d4f4dd;color:#1e7e34}.percentage.negative{background-color:#fdd4d4;color:#bd2130}.number{font-family:SF Mono,Monaco,monospace;font-weight:500}.number.negative{color:#e53e3e}.number.positive{color:#2d3748}@media (max-width: 768px){.table-container{margin:8px -8px;border-radius:0}.finpal-table{font-size:12px}.finpal-table th,.finpal-table td{padding:8px 12px}}.message-renderer{width:100%}.message-text-segment{margin:8px 0}.message-paragraph{margin:8px 0;line-height:1.6;color:inherit}.message-paragraph:first-child{margin-top:0}.message-paragraph:last-child{margin-bottom:0}.message-list{margin:8px 0;padding-left:24px;list-style-type:disc}.message-list li{margin:4px 0;line-height:1.5}.inline-code{background-color:#0000000d;padding:2px 6px;border-radius:3px;font-family:SF Mono,Monaco,monospace;font-size:.9em;color:#e83e8c}@media (prefers-color-scheme: dark){.inline-code{background-color:#ffffff1a;color:#ff79c6}}.chat-widget{display:flex;flex-direction:column;width:100%;height:100%;background:#fff;border-radius:0;box-shadow:none;overflow:hidden;border:none;box-sizing:border-box}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#f8f9fa;width:100%;box-sizing:border-box;max-height:100%}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1}.chat-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;gap:12px}.loading-spinner{width:24px;height:24px;border:2px solid #e1e5e9;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#666;padding:20px}.welcome-icon{font-size:48px;margin-bottom:16px}.chat-welcome h4{margin:0 0 8px;color:#333;font-size:18px}.chat-welcome p{margin:0;font-size:14px;line-height:1.5;max-width:280px}.claude-style-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:2rem}.welcome-greeting{font-size:1.5rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.welcome-subtitle{font-size:1rem;color:#718096;line-height:1.5;max-width:400px}.message{display:flex;align-items:flex-end;gap:8px;max-width:85%}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message{align-self:flex-start}.system-message{align-self:center;margin:8px 0}.system-message .message-content{background:#e8f5e8;border:1px solid #c3e6c3;color:#155724;font-weight:500;border-radius:16px;padding:8px 16px;max-width:80%;text-align:center;font-size:14px}.system-message .message-time{text-align:center;font-size:11px;color:#6c757d;margin-top:4px}.transition-message{align-self:center;margin:16px 0}.transition-message .message-content{background:#e3f2fd;border:2px solid #2196f3;color:#0d47a1;font-weight:500;border-radius:16px;padding:12px 20px;max-width:90%;text-align:center;font-size:14px;box-shadow:0 2px 8px #2196f333}.transition-message .message-time{text-align:center;font-size:11px;color:#6c757d;margin-top:6px}.status-message{align-self:flex-start;margin:4px 0;max-width:70%}.status-message .message-content{background:transparent;border:none;box-shadow:none;padding:4px 8px}.status-message .message-text{color:#888;font-size:12px;font-style:italic;opacity:.85}.status-message .message-footer{display:none}.welcome-message{align-self:flex-start;margin:16px 0 24px}.welcome-message .message-content{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #6f42c1;border-radius:16px;padding:20px 24px;max-width:95%;box-shadow:0 4px 12px #6f42c126}.welcome-message .message-text{color:#2d3748;font-size:14px;line-height:1.6;white-space:pre-wrap}.welcome-message .message-text strong{color:#6f42c1;font-weight:600}.welcome-message .message-time{font-size:11px;color:#6c757d;margin-top:8px}.message-content{background:#fff;border-radius:18px;padding:12px 16px;box-shadow:0 2px 8px #00000014;position:relative;color:#333}.user-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message-text{font-size:14px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap;max-width:100%;overflow-x:auto}.message-text .table-container{margin:8px 0}.message-text .finpal-table{font-size:13px}.message-time{font-size:11px;opacity:.7;margin-top:4px}.user-message .message-time{text-align:right;color:#fffc}.message-avatar{width:32px;height:32px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.typing-indicator{display:flex;gap:4px;align-items:center;padding:4px 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:#666;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input-form{padding:16px;background:#fff;border-top:1px solid #e1e5e9}.chat-input-container{display:flex;gap:8px;align-items:center}.chat-input{flex:1;border:2px solid #e1e5e9;border-radius:20px;padding:10px 16px;font-size:14px;outline:none;transition:border-color .2s ease;resize:none;font-family:inherit}.chat-input:focus{border-color:#667eea}.chat-input:disabled{background:#f5f5f5;cursor:not-allowed}.chat-send-button{width:40px;height:40px;border:none;border-radius:50%;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}.chat-send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea4d}.chat-send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.audio-preview{padding:12px 16px;background:#e8f5e8;border-top:1px solid #d4edda}.audio-preview-content{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#155724}.audio-preview-actions{display:flex;gap:8px}.audio-send-btn{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.audio-send-btn:hover:not(:disabled){background:#218838}.audio-send-btn:disabled{opacity:.6;cursor:not-allowed}.audio-discard-btn{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.audio-discard-btn:hover{background:#c82333}.file-preview{padding:12px 16px;background:#e3f2fd;border-top:1px solid #bbdefb}.file-preview-content{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#0d47a1}.file-preview-actions{display:flex;gap:8px}.file-upload-btn{background:#2196f3;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.file-upload-btn:hover:not(:disabled){background:#1976d2}.file-upload-btn:disabled{opacity:.6;cursor:not-allowed}.file-discard-btn{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.file-discard-btn:hover{background:#c82333}.file-button{width:40px;height:40px;border:none;border-radius:50%;background:#ff9800;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .2s ease;box-shadow:0 2px 4px #0003}.file-button:hover:not(:disabled){background:#f57c00;transform:scale(1.05);box-shadow:0 4px 12px #ff980066}.file-button:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#bdbdbd}.audio-button{width:40px;height:40px;border:none;border-radius:50%;background:#28a745;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease}.audio-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #28a7454d}.audio-button.recording{background:#dc3545;animation:pulse 1.5s infinite}.audio-button:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes pulse{0%{box-shadow:0 0 #dc3545b3}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}.recording-indicator{margin-top:8px;display:flex;align-items:center;gap:8px;color:#dc3545;font-size:12px;font-weight:500}.recording-pulse{width:8px;height:8px;background:#dc3545;border-radius:50%;animation:pulse-dot 1s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@media (max-width: 480px){.chat-widget{width:100%;height:100%;border-radius:0}.chat-header{border-radius:0}.message{max-width:90%}.chat-welcome p{max-width:100%}.chat-input{padding:16px 20px;font-size:16px;min-height:80px;border-radius:16px;line-height:1.4}.chat-input-form{padding:20px 16px}.chat-send-button{width:48px;height:48px;align-self:flex-end}}.clear-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:12px}.clear-confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:320px;margin:20px;text-align:center;box-shadow:0 8px 32px #0003}.clear-confirm-dialog h4{margin:0 0 12px;color:#333;font-size:18px}.clear-confirm-dialog p{margin:0 0 20px;color:#666;font-size:14px;line-height:1.4}.clear-confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-button.cancel{background:#f8f9fa;color:#666;border:1px solid #dee2e6}.confirm-button.cancel:hover{background:#e9ecef;color:#333}.confirm-button.delete{background:#dc3545;color:#fff}.confirm-button.delete:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.message-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.message-actions{display:flex;align-items:center;gap:6px;opacity:.7;transition:opacity .2s ease}.message:hover .message-actions{opacity:1}.tts-button{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:28px;height:28px}.tts-button:hover:not(:disabled){background:#00000014;transform:scale(1.1)}.tts-button:disabled{opacity:.5;cursor:not-allowed}.tts-button.speaking{background:#4caf50;color:#fff;animation:pulse 1.5s infinite}.tts-button.speaking:hover{background:#45a049}@keyframes pulse{0%{box-shadow:0 0 #4caf50b3}70%{box-shadow:0 0 0 8px #4caf5000}to{box-shadow:0 0 #4caf5000}}.tts-button:disabled{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.language-switcher{position:relative}.language-select{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:8px 12px;font-size:14px;cursor:pointer;outline:none;transition:all .2s ease;min-width:120px}.language-select:hover{background:#ffffff26;border-color:#ffffff4d}.language-select:focus{background:#fff3;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.language-select option{background:#1a1a1a;color:#fff;padding:8px}.sidebar-language .language-select{background:#fff;border:1px solid #e2e8f0;color:#4a5568;font-size:12px;padding:6px 8px;min-width:100px}.sidebar-language .language-select:hover{background:#f7fafc;border-color:#cbd5e0}.sidebar-language .language-select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.sidebar-language .language-select option{background:#fff;color:#4a5568}.header-language .language-select{background:#fff;border:1px solid #e2e8f0;color:#4a5568;font-size:12px;padding:6px 8px;min-width:80px;border-radius:6px}.header-language .language-select:hover{background:#f7fafc;border-color:#cbd5e0}.header-language .language-select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.header-language .language-select option{background:#fff;color:#4a5568}.two-factor-setup-modal{max-width:600px;width:100%}.setup-step{display:flex;flex-direction:column;gap:20px}.setup-step h3{margin:0;font-size:18px;font-weight:600;color:#1a202c}.setup-step p{margin:0;color:#718096;font-size:14px;line-height:1.5}.qr-code-container{display:flex;justify-content:center;padding:20px;background:#f7fafc;border-radius:8px}.qr-code{width:300px;height:300px;border:4px solid white;border-radius:8px}.backup-codes-section{padding:20px;background:#fffaf0;border:2px solid #fbd38d;border-radius:8px}.backup-codes-section h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#c05621}.backup-codes-section p{margin:0 0 16px;color:#744210;font-size:13px}.backup-codes-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.backup-code{padding:10px;background:#fff;border:1px solid #fbd38d;border-radius:6px;font-family:monospace;font-size:14px;text-align:center;color:#1a202c}.copy-button{width:100%;padding:10px;background:#fff;color:#c05621;border:2px solid #fbd38d;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.copy-button:hover{background:#fef5e7}.next-button{width:100%;padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.next-button:hover:not(:disabled){background:#5568d3}.next-button:disabled{background:#cbd5e0;cursor:not-allowed}.verification-input{padding:14px 16px;font-size:24px;text-align:center;letter-spacing:8px;border:2px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .2s;font-family:monospace}.verification-input:focus{border-color:#667eea}.button-group{display:flex;gap:12px}.back-button-small{flex:1;padding:14px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.back-button-small:hover{background:#f7fafc}.verify-button-modal{flex:2;padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.verify-button-modal:hover:not(:disabled){background:#5568d3}.verify-button-modal:disabled{background:#cbd5e0;cursor:not-allowed}.loading-spinner{text-align:center;padding:40px;color:#718096}.error-message{background:#fed7d7;color:#c53030;padding:12px;border-radius:8px;font-size:14px;text-align:center;margin-bottom:16px}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:profileModalOverlayIn .3s ease-out}@keyframes profileModalOverlayIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.profile-modal-container{background:#fff;border-radius:16px;width:100%;max-width:800px;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0000004d;animation:profileModalIn .4s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes profileModalIn{0%{opacity:0;transform:scale(.8) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}.profile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.profile-modal-header h1{margin:0;font-size:24px;font-weight:600;color:#1a202c}.profile-modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#718096;padding:4px;border-radius:6px;transition:all .2s;line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.profile-modal-close:hover{background:#e2e8f0;color:#2d3748}.profile-modal-content{flex:1;overflow-y:auto;padding:32px}.profile-setup-section{max-width:100%}.profile-subtitle{color:#718096;margin-bottom:24px;font-size:16px;line-height:1.5}.advanced-toggle{margin-bottom:32px;padding:20px;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0}.toggle-label{display:flex;align-items:center;cursor:pointer;gap:12px}.toggle-checkbox{position:relative;width:48px;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#cbd5e0;border-radius:12px;transition:all .3s;cursor:pointer}.toggle-checkbox:checked{background:#4299e1}.toggle-checkbox:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s;box-shadow:0 2px 4px #0003}.toggle-checkbox:checked:before{transform:translate(24px)}.toggle-text{font-weight:500;color:#2d3748;font-size:16px}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:8px;font-weight:500;color:#2d3748;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-group textarea{resize:vertical;min-height:80px}.custom-prompt-textarea{min-height:120px}.field-help{margin-top:6px;font-size:12px;color:#718096;line-height:1.4}.field-help a{color:#4299e1;text-decoration:none}.field-help a:hover{text-decoration:underline}.secret-saved{color:#38a169;font-weight:500}.form-section-divider{grid-column:1 / -1;margin:16px 0;padding-top:24px;border-top:1px solid #e2e8f0}.form-section-divider h3{margin:0;font-size:16px;font-weight:600;color:#2d3748}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#2d3748}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.advanced-section{margin-top:24px;padding:24px;background:#f0f8ff;border-radius:12px;border:1px solid #bee3f8}.profile-actions{display:flex;justify-content:center;margin-top:32px;margin-bottom:24px}.save-profile-btn{background:#4299e1;color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;min-width:160px}.save-profile-btn:hover:not(:disabled){background:#3182ce;transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d}.save-profile-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.profile-message{padding:12px 16px;border-radius:8px;text-align:center;font-weight:500;margin-top:16px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-message.success{background:#f0fff4;color:#38a169;border:1px solid #9ae6b4}.profile-message.error{background:#fed7d7;color:#e53e3e;border:1px solid #feb2b2}@media (max-width: 768px){.profile-modal-overlay{padding:10px}.profile-modal-container{max-height:98vh;border-radius:12px}.profile-modal-header{padding:20px 24px}.profile-modal-header h1{font-size:20px}.profile-modal-content{padding:24px}.profile-form{grid-template-columns:1fr;gap:20px}.advanced-toggle{padding:16px;margin-bottom:24px}.toggle-text{font-size:14px}}@media (max-width: 480px){.profile-modal-overlay{padding:0}.profile-modal-container{max-height:100vh;border-radius:0}.profile-modal-header{padding:16px 20px}.profile-modal-content{padding:20px}.profile-form{gap:16px}.save-profile-btn{width:100%;padding:14px 24px}}.profile-modal-content::-webkit-scrollbar{width:6px}.profile-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.profile-modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.profile-modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.feedback-trigger{position:fixed;bottom:20px;left:20px;padding:12px 20px;border-radius:30px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.feedback-trigger:hover{transform:scale(1.1);box-shadow:0 6px 20px #0003}.feedback-trigger.header-position{position:static;margin-left:16px;padding:8px 16px;font-size:13px;border-radius:20px;transform:none;box-shadow:0 2px 8px #0000001a}.feedback-trigger.header-position:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.feedback-widget{position:fixed;bottom:20px;left:20px;width:400px;max-width:calc(100vw - 40px);background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;z-index:1001;transform:translateY(100%);opacity:0;transition:all .3s ease;max-height:80vh;overflow:hidden}.feedback-widget.open{transform:translateY(0);opacity:1}.feedback-content{padding:0;max-height:80vh;overflow-y:auto}.feedback-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e5e5e5;background:#f8f9fa;border-radius:12px 12px 0 0}.feedback-header h3{margin:0;color:#333;font-size:18px;font-weight:600}.feedback-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.feedback-close:hover{background:#e9ecef;color:#333}.feedback-form{padding:20px}.form-group label{display:block;margin-bottom:6px;color:#333;font-weight:500;font-size:14px}.form-control{width:100%;padding:10px 12px;border:2px solid #e5e5e5;border-radius:6px;font-size:14px;transition:border-color .2s ease;font-family:inherit;box-sizing:border-box}.form-control:focus{outline:none;border-color:#667eea}.form-control textarea{resize:vertical;min-height:80px}.rating-stars{display:flex;align-items:center;gap:4px}.star{background:none;border:none;font-size:24px;color:#ddd;cursor:pointer;transition:color .2s ease;padding:0;line-height:1}.star:hover,.star.filled{color:#ffc107}.clear-rating{background:none;border:none;color:#666;font-size:12px;cursor:pointer;margin-left:8px;text-decoration:underline}.clear-rating:hover{color:#333}.feedback-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#f8f9fa;color:#666;border:1px solid #dee2e6}.btn-secondary:hover:not(:disabled){background:#e9ecef;color:#333}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.feedback-success{padding:40px 20px;text-align:center}.success-icon{width:60px;height:60px;border-radius:50%;background:#28a745;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto 16px}.feedback-success h3{margin:0 0 8px;color:#333;font-size:18px}.feedback-success p{margin:0;color:#666;font-size:14px}@media (max-width: 768px){.feedback-trigger,.feedback-widget{display:none!important}}@media (max-width: 480px){.feedback-widget{width:calc(100vw - 20px);left:10px;bottom:10px}.feedback-trigger{left:15px;bottom:15px;padding:10px 16px;font-size:12px}.feedback-header,.feedback-form{padding:16px}.feedback-actions{flex-direction:column;gap:8px}.btn{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content.swap-modal{max-width:480px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;color:#2d3748;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;font-size:28px;color:#718096;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s;line-height:1}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-body{padding:24px;overflow-y:auto;flex:1}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.status-message{background:#e6f3ff;border:1px solid #b3d9ff;color:#06c;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.swap-section{margin-bottom:12px}.swap-section label{display:block;margin-bottom:8px;color:#4a5568;font-size:.9rem;font-weight:600}.token-input-row{display:flex;gap:12px;align-items:center}.token-input-row select{flex:0 0 140px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:600;color:#2d3748;background:#fff;cursor:pointer;transition:border-color .2s}.token-input-row select:hover{border-color:#cbd5e0}.token-input-row select:focus{outline:none;border-color:#4299e1}.token-input-row input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:1.1rem;font-weight:600;color:#2d3748;text-align:right;transition:border-color .2s}.token-input-row input:focus{outline:none;border-color:#4299e1}.token-input-row input:disabled{background:#f7fafc;color:#718096;cursor:not-allowed}.token-input-row input.output-amount{background:#f8fafb}.token-balance{margin-top:6px;font-size:.85rem;color:#718096;text-align:right}.swap-divider{display:flex;justify-content:center;margin:8px 0}.swap-direction-btn{background:#f7fafc;border:2px solid #e2e8f0;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;color:#4a5568;transition:all .2s}.swap-direction-btn:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0;transform:rotate(180deg)}.swap-direction-btn:disabled{opacity:.5;cursor:not-allowed}.quote-details{background:#f8fafb;border-radius:12px;padding:16px;margin-top:16px}.quote-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem}.quote-row:last-child{margin-bottom:0}.quote-row span:first-child{color:#718096}.quote-row span:last-child{color:#2d3748;font-weight:600}.quote-row .warning{color:#d69e2e}.modal-footer{display:flex;gap:12px;padding:24px;border-top:1px solid #e2e8f0;background:#f8f9fa}.btn-secondary{flex:1;padding:14px 24px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:600;color:#4a5568;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{flex:1;padding:14px 24px;background:#4299e1;border:none;border-radius:12px;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#3182ce}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{max-height:calc(100vh - 20px)}.modal-header,.modal-body,.modal-footer{padding:16px}.token-input-row{flex-direction:column;gap:8px}.token-input-row select,.token-input-row input{width:100%;flex:none}.token-input-row input,.token-balance{text-align:left}}.auth-method-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-method-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026;max-height:90vh;overflow-y:auto}.auth-method-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.auth-method-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1f2937}.auth-method-modal-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s}.auth-method-modal-close:hover{background-color:#f3f4f6}.auth-method-modal-content{padding:24px}.auth-method-description{color:#6b7280;margin:0 0 24px;font-size:14px;line-height:1.5}.auth-method-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.auth-method-options{display:flex;flex-direction:column;gap:12px}.auth-method-button{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s;width:100%;text-align:left}.auth-method-button:hover:not(:disabled){border-color:#667eea;background-color:#f9fafb;transform:translateY(-1px);box-shadow:0 2px 8px #667eea1a}.auth-method-button:disabled{opacity:.5;cursor:not-allowed}.auth-method-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:8px;flex-shrink:0}.auth-method-text{flex:1}.auth-method-title{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.auth-method-subtitle{font-size:13px;color:#6b7280}.auth-method-loading{text-align:center;color:#667eea;font-size:14px;margin-top:16px;padding:12px;background-color:#eef2ff;border-radius:8px}@media (max-width: 600px){.auth-method-modal{width:95%;margin:0 10px}.auth-method-modal-header{padding:16px 20px}.auth-method-modal-content{padding:20px}.auth-method-button{padding:14px}.auth-method-icon{font-size:28px;width:40px;height:40px}.auth-method-title{font-size:15px}.auth-method-subtitle{font-size:12px}}.wallet-container{padding:2rem;background-color:#fff;min-height:100vh}.wallet-card{padding:1.5rem 2rem;border:1px solid var(--color-gray-200);margin-bottom:1rem;border-radius:var(--radius-md);background:linear-gradient(to bottom,#fafafa,#fff);transition:box-shadow .2s,border-color .2s}.wallet-card:last-child{margin-bottom:0}.wallet-card:hover{border-color:var(--color-gray-300);box-shadow:0 4px 12px #00000014}.wallet-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.wallet-info{flex:1}.wallet-name-section{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.wallet-name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-gray-900)}.badge-primary{font-size:var(--font-size-xs);background-color:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:700}.badge-chain{font-size:var(--font-size-sm);padding:.375rem .75rem;border-radius:var(--radius-sm);font-weight:700}.badge-chain-evm{background-color:#e6fffa;color:#065f46}.badge-chain-solana{background-color:#fff7ed;color:#92400e}.badge-monerium{font-size:var(--font-size-xs);background-color:#007aff;color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:700}.wallet-address-section{display:flex;align-items:center;gap:.5rem}.wallet-address{font-size:.85rem;color:var(--color-gray-600);font-family:monospace}.btn-qr{padding:.25rem .5rem;background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);display:flex;align-items:center}.wallet-header-actions{display:flex;align-items:center;gap:.5rem;position:relative}.wallet-quick-actions{display:flex;gap:.375rem;padding-right:.5rem;border-right:1px solid var(--color-gray-300)}.quick-action-btn{padding:.375rem .5rem;background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;display:flex;align-items:center;transition:all .2s}.quick-action-btn:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400);transform:scale(1.05)}.wallet-options-container{position:relative}.btn-options{padding:.375rem .5rem;background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;display:flex;align-items:center;transition:all .2s}.btn-options:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.options-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:100;min-width:200px}.options-menu-item{width:100%;padding:.75rem 1rem;background-color:transparent;color:var(--color-gray-800);border:none;border-bottom:1px solid var(--color-gray-200);cursor:pointer;font-size:var(--font-size-sm);text-align:left;display:flex;align-items:center;gap:.5rem}.options-menu-item:last-child{border-bottom:none}.options-menu-item:hover{background-color:var(--color-gray-50)}.options-menu-item-danger{color:#e53e3e}.options-menu-item-danger:hover{background-color:#fff5f5}.tokens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:1rem;background-color:#fff;border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.token-item{display:flex;flex-direction:column;gap:.25rem}.token-symbol{font-size:var(--font-size-sm);color:var(--color-gray-600)}.token-amount{font-size:1.375rem;font-weight:700;color:var(--color-gray-900)}.no-tokens{padding:1.5rem;background-color:#fff;border-radius:var(--radius-md);border:1px solid var(--color-gray-200);text-align:center;color:var(--color-gray-500);font-size:1rem}.tokens-loading{padding:1.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--color-gray-600);font-size:var(--font-size-sm)}.loading-spinner-small{width:16px;height:16px;border:2px solid var(--color-gray-300);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.toast{position:fixed;bottom:2rem;right:2rem;color:#fff;padding:1rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:2000;animation:slideIn .3s ease-out;display:flex;align-items:center;gap:.5rem;max-width:400px}.toast-success{background-color:var(--color-success)}.toast-error{background-color:var(--color-danger)}.chain-selector{display:flex;gap:.5rem;padding:1rem 0;border-bottom:1px solid var(--color-gray-200);flex-wrap:wrap}.chain-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:all .2s;color:var(--color-gray-700)}.chain-tab:hover{border-color:var(--color-gray-400);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.chain-tab-active{font-weight:700;box-shadow:0 2px 8px #00000026}.chain-tab-icon{font-size:1.125rem}.chain-tab-label{font-size:var(--font-size-sm)}.chain-tab-empty{font-size:.625rem;padding:.125rem .375rem;background-color:var(--color-gray-200);color:var(--color-gray-600);border-radius:var(--radius-sm);font-weight:700;letter-spacing:.05em}.chain-tab-disabled{opacity:.5;background-color:var(--color-gray-50)}.chain-tab-disabled:hover{opacity:.6;border-color:var(--color-gray-300);transform:none}.upload-history{margin-top:1rem;overflow-x:auto}.loading-state,.empty-state{text-align:center;padding:2rem;color:#718096}.empty-subtext{font-size:.875rem;margin-top:.5rem}.history-table{width:100%;background:#f7fafc;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;border-collapse:collapse;table-layout:fixed;display:table}.history-table thead{background:#edf2f7;display:table-header-group}.history-table tbody{display:table-row-group}.history-table tr{display:table-row}.history-table th,.history-table td{display:table-cell}.history-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:#2d3748;border-bottom:1px solid #e2e8f0}.history-table th:nth-child(1){width:12%}.history-table th:nth-child(2){width:18%}.history-table th:nth-child(3){width:12%}.history-table th:nth-child(4){width:18%}.history-table th:nth-child(5){width:25%}.history-table th:nth-child(6){width:15%}.history-table td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;font-size:.875rem;vertical-align:middle}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background:#f1f5f9}.session-date{color:#4a5568}.session-type{color:#4a5568;font-weight:500}.session-range{color:#2d3748}.session-accounts{color:#2d3748;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem}.status-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-align:center;display:inline-block}.status-completed{background:#c6f6d5;color:#22543d}.status-pending{background:#fbd38d;color:#c05621}.status-processing{background:#bee3f8;color:#2a4365}.status-failed{background:#fed7d7;color:#c53030}.session-actions{text-align:center}.delete-button{background:#e53e3e;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background-color .2s}.delete-button:hover{background:#c53030}.modal-content{background:#fff;padding:1.5rem;border-radius:8px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h3{margin:0 0 1rem;color:#2d3748}.modal-content p{margin:.5rem 0;color:#4a5568}.modal-content ul{margin:.5rem 0;padding-left:1.5rem}.warning-text{background:#fef5e7;border:1px solid #f6ad55;border-radius:4px;padding:.75rem;margin:1rem 0;color:#c05621}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.cancel-button{background:#e2e8f0;color:#4a5568;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.cancel-button:hover{background:#cbd5e0}.confirm-delete-button{background:#e53e3e;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.confirm-delete-button:hover{background:#c53030}@media (max-width: 768px){.history-table th,.history-table td{padding:.5rem;font-size:.75rem}.session-accounts{font-size:.7rem}}.transaction-upload{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000001a;min-height:100vh}.upload-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:2px solid #e2e8f0}.upload-tabs .tab{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-size:1rem;font-weight:500;color:#718096;border-bottom:3px solid transparent;transition:all .3s ease}.upload-tabs .tab:hover{color:#4a5568;background:#f7fafc}.upload-tabs .tab.active{color:#4299e1;border-bottom-color:#4299e1}.upload-section{margin-bottom:3rem}.dropzone{border:2px dashed #e2e8f0;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f7fafc}.dropzone:hover{border-color:#4299e1;background:#edf2f7}.dropzone.active{border-color:#4299e1;background:#e6f4ff}.dropzone.uploading{opacity:.5;cursor:not-allowed}.dropzone-content{pointer-events:none}.upload-icon{font-size:3rem;margin-bottom:1rem}.dropzone h3{font-size:1.25rem;color:#2d3748;margin-bottom:.5rem}.dropzone p{color:#718096;margin-bottom:1rem}.supported-formats{display:inline-block;padding:.5rem 1rem;background:#fff;border-radius:20px;font-size:.875rem;color:#4a5568;border:1px solid #e2e8f0}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fed7d7;color:#c53030;border-radius:8px;margin-top:1rem}.history-section,.analysis-section{margin-bottom:3rem}.history-header,.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.history-header h2,.analysis-header h2{color:#2d3748}.analyze-btn{padding:.75rem 1.5rem;background:#4299e1;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.analyze-btn:hover:not(:disabled){background:#3182ce}.analyze-btn:disabled{background:#cbd5e0;cursor:not-allowed}.analysis-message{padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid}.analysis-message.success{background:#c6f6d5;border-color:#9ae6b4;color:#22543d}.analysis-message.error{background:#fed7d7;border-color:#fc8181;color:#c53030}.status-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:12px;margin-bottom:2rem}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.status-header h3{font-size:1.25rem}.status-badge{padding:.5rem 1rem;background:#fff3;border-radius:20px;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.status-badge.green{background:#48bb7833}.status-badge.blue{background:#4299e133}.status-badge.red{background:#f5656533}.progress-bar{background:#fff3;height:10px;border-radius:10px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:10px;transition:width .3s ease}.status-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1.5rem}.status-item{background:#ffffff1a;padding:1rem;border-radius:8px}.status-label{font-size:.875rem;opacity:.8;margin-bottom:.25rem}.status-value{font-size:1.25rem;font-weight:600}.processing-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#e6fffa;color:#065f46;border-radius:8px}.processing-spinner{width:16px;height:16px;border:2px solid #10b981;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.transactions-section{margin-bottom:2rem}.transactions-section h3{margin-bottom:1rem;color:#2d3748}.transactions-table{background:#f7fafc;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.table-header{display:grid;grid-template-columns:100px 1fr 120px 150px 100px 120px;gap:1rem;padding:1rem;background:#edf2f7;font-weight:600;font-size:.875rem;color:#2d3748;border-bottom:1px solid #e2e8f0}.transaction-row{display:grid;grid-template-columns:100px 1fr 120px 150px 100px 120px;gap:1rem;padding:1rem;border-bottom:1px solid #e2e8f0;align-items:center}.transaction-row:last-child{border-bottom:none}.transaction-row:hover{background:#f1f5f9}.transaction-date{font-size:.875rem;color:#4a5568}.transaction-description{font-size:.875rem;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-amount{font-weight:600;font-size:.875rem;text-align:right}.transaction-amount.positive{color:#38a169}.transaction-amount.negative{color:#e53e3e}.category-select{width:100%;padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;background:#fff;color:#2d3748}.category-select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 1px #4299e1}.confidence-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-align:center;display:flex;align-items:center;gap:.25rem;justify-content:center}.confidence-badge.green{background:#c6f6d5;color:#22543d}.confidence-badge.orange{background:#fbd38d;color:#c05621}.confidence-badge.red{background:#fed7d7;color:#c53030}.edited-indicator{font-size:.7rem}.source-file{font-size:.75rem;color:#718096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:1rem}.btn-primary{background:#4299e1;color:#fff}.btn-primary:hover{background:#3182ce}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover{background:#cbd5e0}.banks-header{margin-bottom:2rem}.banks-header h2{color:#2d3748;margin-bottom:.5rem}.banks-header p{color:#718096}.banks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.bank-card{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease;position:relative}.bank-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.bank-logo{width:80px;height:80px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:.5rem}.bank-logo img{max-width:100%;max-height:100%;object-fit:contain}.bank-card h3{font-size:1rem;color:#2d3748;margin-bottom:.5rem}.beta-badge{position:absolute;top:10px;right:10px;background:#fbbf24;color:#78350f;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.bank-types{display:flex;gap:.5rem;justify-content:center;margin:.5rem 0 1rem}.type-badge{background:#e0e7ff;color:#3730a3;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.bank-badges{display:flex;justify-content:center;margin:.5rem 0}.status-badge.expired{background:#fee2e2;color:#991b1b;padding:.375rem .875rem;border-radius:12px;font-size:.8rem;font-weight:600;border:1px solid #fca5a5}.status-badge.active{background:#d1fae5;color:#065f46;padding:.375rem .875rem;border-radius:12px;font-size:.8rem;font-weight:600;border:1px solid #a7f3d0}.info-icon{margin-left:.5rem;opacity:.5;cursor:help;font-size:.875rem;position:relative}.info-icon:hover{opacity:1}.info-icon[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.5rem;border-radius:4px;font-size:.75rem;white-space:pre-line;z-index:1000;margin-bottom:5px;animation:tooltipFadeIn .2s ease-in}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}.bank-accounts{margin:.5rem 0;text-align:left}.accounts-list{list-style:disc;padding-left:1rem;margin:0;font-size:.75rem;color:#6b7280}.account-item{margin:.125rem 0;font-family:monospace}.expand-accounts-btn{background:none;border:none;color:#4f46e5;font-size:.75rem;cursor:pointer;padding:.25rem 0;text-decoration:underline}.expand-accounts-btn:hover{color:#4338ca}.btn-connect{width:100%;padding:.75rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s ease}.btn-connect:hover{background:#4338ca}.btn-connect:disabled{background:#9ca3af;cursor:not-allowed}.btn-reauthorize{width:100%;padding:.75rem;background:#059669;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s ease}.btn-reauthorize:hover{background:#047857}.btn-reauthorize:disabled{background:#9ca3af;cursor:not-allowed}.bank-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.bank-buttons button{flex:1;min-width:0}.btn-delete{padding:.5rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .3s ease;font-size:.875rem}.btn-delete:hover{background:#b91c1c}.btn-refresh{padding:.75rem;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s ease}.btn-refresh:hover{background:#4f46e5}.btn-refresh:disabled{background:#9ca3af;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 10px 25px #0003}.modal-content h3{margin:0 0 1rem;color:#2d3748;font-size:1.25rem}.modal-content p{margin:0 0 1.5rem;color:#4a5568;line-height:1.5}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.modal-buttons button{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:background .3s ease}.modal-buttons button:disabled{opacity:.6;cursor:not-allowed}.delete-message{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:8px;font-weight:600;z-index:1001;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.delete-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.delete-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.refresh-message{position:fixed;bottom:20px;right:20px;padding:1rem 1.5rem;border-radius:8px;font-weight:500;z-index:1000;animation:slideIn .3s ease-out}.refresh-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.refresh-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.transaction-upload{padding:1rem}.upload-header h1{font-size:2rem}.dropzone{padding:2rem 1rem}.table-header,.transaction-row{grid-template-columns:80px 1fr 100px 120px 80px 100px;gap:.5rem;padding:.5rem;font-size:.75rem}.session-actions{flex-direction:column;align-items:stretch}.banks-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.modal-container{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title{margin:0;font-size:24px;font-weight:700;color:#2d3748}.modal-close-btn{background:none;border:none;padding:8px;cursor:pointer;border-radius:8px;transition:background-color .2s}.modal-close-btn:hover{background-color:#f7fafc}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;font-weight:500;color:#4a5568;margin-bottom:4px}.form-input{width:100%;padding:12px 16px;border:1px solid #d2d6dc;border-radius:8px;font-size:14px;transition:all .2s;background-color:#fff}.form-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.form-textarea{width:100%;padding:12px 16px;border:1px solid #d2d6dc;border-radius:8px;font-size:14px;transition:all .2s;background-color:#fff;resize:vertical}.form-textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.input-with-icon{position:relative}.input-icon-right{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.checkbox-group{display:flex;align-items:center;gap:8px;margin:16px 0}.checkbox-input{width:16px;height:16px}.checkbox-label{font-size:14px;font-weight:500;color:#4a5568}.status-message{margin-top:8px;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:14px}.status-success{background-color:#f0fff4;border:1px solid #c6f6d5;color:#22543d}.status-error{background-color:#fed7d7;border:1px solid #feb2b2;color:#742a2a}.platform-user-info{margin-top:8px;padding:12px 16px;background-color:#f0fff4;border:1px solid #c6f6d5;border-radius:8px}.platform-user-header{display:flex;align-items:center;gap:8px;color:#22543d;font-weight:600;margin-bottom:4px}.platform-user-text{font-size:14px;color:#2f855a;margin:0}.wallet-section{margin-top:16px}.wallet-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.wallet-add-btn{background:none;border:none;color:#1976d2;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;transition:background-color .2s}.wallet-add-btn:hover{background-color:#e3f2fd}.wallet-list{display:flex;flex-direction:column;gap:12px}.wallet-item{border:1px solid #e2e8f0;border-radius:8px;padding:16px}.wallet-grid{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:end}.wallet-field{display:flex;flex-direction:column}.wallet-field-label{font-size:12px;color:#718096;margin-bottom:4px;font-weight:500}.wallet-field-input{padding:8px 12px;border:1px solid #d2d6dc;border-radius:6px;font-size:14px}.wallet-field-select{padding:8px 12px;border:1px solid #d2d6dc;border-radius:6px;font-size:14px;background-color:#fff}.wallet-remove-btn{background:none;border:none;color:#e53e3e;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.wallet-remove-btn:hover{background-color:#fed7d7}.synced-wallets{background-color:#f8f9fa;padding:16px;border-radius:8px}.synced-wallet{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:8px}.synced-wallet:last-child{margin-bottom:0}.synced-wallet-blockchain{font-weight:600}.synced-wallet-address{font-family:monospace;color:#718096}.modal-actions{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background-color:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.btn-secondary:hover{background-color:#edf2f7}.btn-primary{background-color:#1976d2;color:#fff}.btn-primary:hover{background-color:#1565c0}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#1976d2;border-radius:50%;animation:spin .8s linear infinite}.type-btn{flex:1;padding:12px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.type-btn:hover{background-color:#f7fafc;border-color:#cbd5e0}.type-btn.active{background-color:#1976d2;color:#fff;border-color:#1976d2}.form-section{margin-top:24px;padding:16px;background-color:#f7fafc;border-radius:8px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{margin:0;font-size:16px;font-weight:600;color:#2d3748}.btn-add-small{padding:6px 12px;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-add-small:hover{background-color:#1565c0}.address-item{margin-bottom:12px}.address-item:last-child{margin-bottom:0}.address-row{display:flex;gap:8px;align-items:center}.chain-select{padding:8px 12px;border:1px solid #d2d6dc;border-radius:6px;font-size:14px;background-color:#fff;min-width:140px}.address-input,.iban-input{flex:2;padding:8px 12px;border:1px solid #d2d6dc;border-radius:6px;font-size:14px;font-family:monospace}.label-input{flex:1;padding:8px 12px;border:1px solid #d2d6dc;border-radius:6px;font-size:14px}.primary-checkbox{display:flex;align-items:center;gap:4px;font-size:13px;color:#4a5568;white-space:nowrap}.primary-checkbox input{width:16px;height:16px}.btn-remove{padding:8px;background:none;border:none;cursor:pointer;border-radius:4px;transition:background-color .2s}.btn-remove:hover{background-color:#fed7d7}:root{--color-primary: #4299e1;--color-primary-hover: #3182ce;--color-success: #48bb78;--color-success-hover: #38a169;--color-danger: #f56565;--color-danger-hover: #e53e3e;--color-warning: #f6ad55;--color-gray-50: #f7fafc;--color-gray-100: #f8f9fa;--color-gray-200: #e2e8f0;--color-gray-300: #e1e5e9;--color-gray-400: #cbd5e0;--color-gray-500: #a0aec0;--color-gray-600: #718096;--color-gray-700: #4a5568;--color-gray-800: #2d3748;--color-gray-900: #1a202c;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.75rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-gray-200)}.page-header-content{flex:1}.page-title{margin:0;font-size:var(--font-size-3xl);font-weight:700;color:var(--color-gray-900);letter-spacing:-.025em}.page-subtitle{margin:.25rem 0 0;font-size:var(--font-size-sm);color:var(--color-gray-600)}.page-header-action{flex-shrink:0}.btn{padding:.75rem 1.75rem!important;border:none!important;border-radius:var(--radius-md)!important;cursor:pointer;font-size:.9375rem!important;font-weight:600!important;transition:all .2s;display:inline-flex!important;align-items:center;gap:var(--spacing-sm)}.btn-primary{background-color:var(--color-primary)!important;color:#fff!important;box-shadow:0 4px 6px -1px #4299e14d,0 2px 4px -1px #4299e133!important;font-weight:600!important}.btn-primary:hover{background-color:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important;transform:translateY(-1px);box-shadow:0 10px 15px -3px #4299e166,0 4px 6px -2px #4299e14d!important}.btn-primary span{color:#fff!important}.btn-primary:focus,.btn-primary:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px}.btn-success{background-color:var(--color-success)!important;color:#fff!important;box-shadow:0 4px 6px -1px #48bb784d,0 2px 4px -1px #48bb7833!important;font-weight:600!important}.btn-success:hover{background-color:var(--color-success-hover)!important;border-color:var(--color-success-hover)!important;transform:translateY(-1px);box-shadow:0 10px 15px -3px #48bb7866,0 4px 6px -2px #48bb784d!important}.btn-success span{color:#fff!important}.btn-success:focus,.btn-success:focus-visible{outline:2px solid var(--color-success)!important;outline-offset:2px}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:var(--color-danger-hover)}.btn-secondary{background-color:var(--color-gray-200);color:var(--color-gray-800)}.btn-secondary:hover{background-color:var(--color-gray-400)}.card{background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-content{padding:var(--spacing-lg)}.table-container{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background-color:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table thead{background-color:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200)}.table th{padding:var(--spacing-md);text-align:left;font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-600)}.table tbody tr{border-bottom:1px solid var(--color-gray-200);transition:background-color .15s}.table tbody tr:hover{background-color:var(--color-gray-50)}.table tbody tr:last-child{border-bottom:none}.table td{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-gray-800)}.page-container{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.address-book-container{padding:2rem;max-width:1400px;margin:0 auto;background-color:#fff;min-height:100vh}.address-book-filters{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}.search-wrapper{position:relative;flex:1;min-width:150px;max-width:400px}.search-input{width:100%;box-sizing:border-box}.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#6c757d}.search-input{width:100%;padding:12px 12px 12px 45px;background:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;color:#2d3748;font-size:14px;transition:all .2s}.search-input::placeholder{color:#6c757d}.search-input:focus{outline:none;border-color:#1976d2;background:#fff;box-shadow:0 0 0 3px #1976d21a}.filter-btn{display:flex;align-items:center;justify-content:center;padding:10px;background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;color:#6c757d;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#e9ecef;color:#2d3748}.filter-btn.active{background:#fff3cd;border-color:#ffc107;color:#856404}.filter-btn.active .icon{fill:#ffc107}.icon{width:18px;height:18px}.icon-small{width:16px;height:16px}.contacts-table-wrapper{background:#fff;border-radius:12px;border:1px solid #e1e5e9;overflow:hidden;box-shadow:0 2px 4px #0000000d}.contacts-table{width:100%;border-collapse:collapse}.contacts-table thead{background:#f8f9fa;border-bottom:1px solid #e1e5e9}.contacts-table th{padding:16px 20px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6c757d}.contacts-table tbody tr{border-bottom:1px solid #f1f3f4;transition:background .2s}.contacts-table tbody tr:hover{background:#f8f9fa}.contacts-table tbody tr:last-child{border-bottom:none}.contacts-table td{padding:16px 20px;font-size:14px;color:#2d3748}.favorite-col{width:50px;text-align:center}.favorite-btn{background:none;border:none;cursor:pointer;padding:4px;transition:all .2s}.favorite-btn:hover svg{color:#ffc107}.contact-info{display:flex;align-items:center;gap:12px}.contact-icon{width:36px;height:36px;background:#f8f9fa;border:1px solid #e1e5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6c757d}.contact-icon .platform-user{color:#1976d2}.contact-name{font-weight:600;margin-bottom:2px;color:#2d3748}.verified-badge{display:inline-block;padding:2px 8px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.email-col{color:#6c757d}.wallets-list{display:flex;flex-direction:column;gap:8px}.wallet-item{display:flex;align-items:center;gap:8px}.blockchain-badge{padding:2px 8px;background:#f8f9fa;border:1px solid #e1e5e9;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;color:#6c757d}.wallet-address{font-family:monospace;font-size:13px;color:#6c757d}.copy-btn{background:none;border:none;cursor:pointer;padding:4px;color:#6c757d;transition:all .2s}.copy-btn:hover{color:#1976d2}.no-wallets{color:#adb5bd;font-style:italic}.notes-col{max-width:200px}.notes-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6c757d}.actions-col{width:100px}.contacts-table .action-buttons{display:flex;flex-direction:row!important;gap:8px;align-items:center}.action-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:8px;cursor:pointer;color:#6c757d;transition:all .2s}.action-btn:hover{background:#e9ecef}.action-btn.edit:hover{border-color:#1976d2;color:#1976d2;background:#e3f2fd}.action-btn.delete:hover{border-color:#dc3545;color:#dc3545;background:#f8d7da}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#6c757d}.loading-spinner{width:40px;height:40px;border:3px solid #f1f3f4;border-top-color:#1976d2;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:#fff;border-radius:12px;border:1px solid #e1e5e9}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:20px;color:#2d3748}.empty-state p{margin:0;color:#6c757d}.contact-type-badge{display:inline-block;padding:4px 12px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.75rem;font-weight:500}.wallet-chain{display:inline-block;padding:2px 6px;background-color:#f3e8ff;color:#7c3aed;border-radius:4px;font-size:.7rem;font-weight:600;margin-right:6px}.primary-badge{display:inline-block;padding:2px 6px;background-color:#fef3c7;color:#d97706;border-radius:4px;font-size:.7rem;font-weight:600;margin-left:6px}.wallet-label,.iban-label{color:#6b7280;font-size:.75rem;margin-left:6px;font-style:italic}.ibans-list{display:flex;flex-direction:column;gap:8px}.iban-item{display:flex;align-items:center;gap:6px;padding:6px;background-color:#f9fafb;border-radius:6px}.iban-address{font-family:monospace;font-size:.8rem;color:#374151}.no-ibans{color:#9ca3af;font-style:italic;font-size:.875rem}.iban-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.iban-modal-content{background:#1e1e2e;border-radius:12px;width:90%;max-width:440px;box-shadow:0 4px 24px #0000004d;overflow:hidden}.iban-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #2d2d3d}.iban-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#fff}.iban-modal-close{background:none;border:none;font-size:24px;color:#888;cursor:pointer;padding:0;line-height:1}.iban-modal-close:hover{color:#fff}.iban-modal-body{padding:20px}.iban-payment-details{display:flex;flex-direction:column;gap:16px}.iban-detail-row{display:flex;justify-content:space-between;align-items:center}.iban-detail-label{color:#888;font-size:14px}.iban-detail-value{color:#fff;font-size:14px;text-align:right;max-width:60%;word-break:break-all}.iban-amount{font-size:20px;font-weight:600;color:#4ade80}.iban-code{font-family:monospace;font-size:13px;background:#2d2d3d;padding:4px 8px;border-radius:4px}.iban-status-message{margin-top:16px;padding:12px;border-radius:8px;text-align:center;font-size:14px}.iban-success{background:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.2)}.iban-error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.iban-loading{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.iban-modal-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #2d2d3d}.iban-btn{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.iban-btn:disabled{opacity:.5;cursor:not-allowed}.iban-btn-cancel{background:#2d2d3d;color:#fff}.iban-btn-cancel:hover:not(:disabled){background:#3d3d4d}.iban-btn-confirm{background:#3b82f6;color:#fff}.iban-btn-confirm:hover:not(:disabled){background:#2563eb}.trading-page{width:100%;height:100%;display:flex;flex-direction:column;background:#0f0f0f;overflow:hidden}.trading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;font-size:16px}.trading-topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#1a1a1a;border-bottom:1px solid #2a2a2a}.market-selector-compact{display:flex;align-items:center;gap:15px}.market-selector-compact select{background:#2a2a2a;color:#fff;border:1px solid #3a3a3a;padding:6px 12px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer}.market-price{font-size:20px;font-weight:700;color:#fff}.timeframe-selector{display:flex;gap:5px}.timeframe-btn{background:transparent;color:#999;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.timeframe-btn:hover{background:#2a2a2a;color:#fff}.timeframe-btn.active{background:#3a3a3a;color:#fff}.trading-content{display:flex;flex:1;overflow:hidden}.chart-section{flex:1;min-width:0;background:#1a1a1a;border-right:1px solid #2a2a2a}.chart-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#999}.order-panel{width:320px;background:#1a1a1a;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.panel-section{padding:12px 15px;border-bottom:1px solid #2a2a2a}.wallet-info-compact{display:flex;justify-content:center;align-items:center;gap:10px}.wallet-select-compact{flex:1;background:#2a2a2a;color:#fff;border:1px solid #3a3a3a;padding:6px 10px;border-radius:4px;font-size:12px}.balance-compact{font-size:14px;font-weight:600;color:#10b981}.balance-large{font-size:24px;font-weight:700;color:#10b981;text-align:center}.order-tabs{display:flex;gap:8px}.tab{flex:1;background:transparent;color:#999;border:1px solid #3a3a3a;padding:8px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.tab:hover{border-color:#4a4a4a;color:#fff}.tab.active{background:#3a3a3a;border-color:#4a4a4a;color:#fff}.input-label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:#999;text-transform:uppercase}.input-compact{width:100%;background:#2a2a2a;color:#fff;border:1px solid #3a3a3a;padding:8px 10px;border-radius:4px;font-size:14px;box-sizing:border-box}.input-compact:focus{outline:none;border-color:#4a4a4a}.leverage-slider{width:100%;height:6px;background:#2a2a2a;border-radius:3px;outline:none;-webkit-appearance:none}.leverage-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer}.leverage-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer;border:none}.message-error{background:#3a1f1f;border:1px solid #ef4444;color:#ef4444;padding:8px;border-radius:4px;font-size:12px;margin-bottom:10px}.message-success{background:#1f3a2f;border:1px solid #10b981;color:#10b981;padding:8px;border-radius:4px;font-size:12px;margin-bottom:10px}.trade-buttons{display:flex;gap:8px}.trade-btn{flex:1;padding:12px;border:none;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase}.trade-btn.long{background:#10b981;color:#fff}.trade-btn.long:hover:not(:disabled){background:#059669}.trade-btn.short{background:#ef4444;color:#fff}.trade-btn.short:hover:not(:disabled){background:#dc2626}.trade-btn:disabled{opacity:.5;cursor:not-allowed}.positions-section{flex:1}.section-title{margin:0 0 10px;font-size:12px;font-weight:600;color:#999;text-transform:uppercase}.positions-list{display:flex;flex-direction:column;gap:8px}.position-item{background:#2a2a2a;padding:10px;border-radius:6px}.position-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.position-coin{font-size:14px;font-weight:700;color:#fff}.position-side{font-size:12px;font-weight:600;padding:2px 8px;border-radius:3px}.position-side.long{background:#1f3a2f;color:#10b981}.position-side.short{background:#3a1f1f;color:#ef4444}.position-details{display:flex;justify-content:space-between;font-size:12px;color:#999}.position-details .profit{color:#10b981;font-weight:600}.position-details .loss{color:#ef4444;font-weight:600}.close-position-btn{width:100%;margin-top:8px;padding:6px;background:#3a3a3a;color:#fff;border:1px solid #4a4a4a;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase}.close-position-btn:hover:not(:disabled){background:#4a4a4a;border-color:#5a5a5a}.close-position-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 968px){.trading-content{flex-direction:column}.chart-section{height:400px;border-right:none;border-bottom:1px solid #2a2a2a}.order-panel{width:100%;height:auto}.trading-topbar{flex-direction:column;gap:10px;align-items:stretch}.market-selector-compact{justify-content:space-between}.timeframe-selector{justify-content:center}}.bet-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.bet-modal{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:16px;width:90%;max-width:440px;max-height:90vh;overflow-y:auto}.bet-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #2a2a2a}.bet-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.bet-modal-close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1}.bet-modal-close:hover{color:#fff}.bet-modal-content{padding:24px}.bet-question{font-size:16px;font-weight:600;color:#fff;margin-bottom:24px;line-height:1.4}.bet-section{margin-bottom:20px}.bet-section label{display:block;font-size:13px;font-weight:500;color:#888;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.bet-outcomes{display:flex;gap:12px}.bet-outcome-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:#2a2a2a;border:2px solid #3a3a3a;border-radius:12px;cursor:pointer;transition:all .2s}.bet-outcome-btn:hover{border-color:#4a4a4a}.bet-outcome-btn.selected{border-color:#6366f1;background:#6366f11a}.bet-outcome-btn.yes.selected{border-color:#22c55e;background:#22c55e1a}.bet-outcome-btn.no.selected{border-color:#ef4444;background:#ef44441a}.outcome-label{font-size:14px;font-weight:600;color:#fff}.outcome-price{font-size:20px;font-weight:700;color:#aaa}.bet-outcome-btn.yes .outcome-price{color:#22c55e}.bet-outcome-btn.no .outcome-price{color:#ef4444}.bet-side-toggle{display:flex;background:#2a2a2a;border-radius:8px;padding:4px}.side-btn{flex:1;padding:10px;background:transparent;border:none;color:#888;font-size:14px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .2s}.side-btn:hover{color:#fff}.side-btn.active{background:#3a3a3a;color:#fff}.bet-input-group{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:14px;color:#888;font-size:16px;font-weight:500}.bet-input-group input{width:100%;padding:14px 14px 14px 32px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;color:#fff;font-size:16px;font-weight:500}.bet-input-group input:focus{outline:none;border-color:#6366f1}.bet-input-group input::placeholder{color:#666}.bet-hint{font-size:12px;color:#666;margin-top:6px}.bet-summary{background:#2a2a2a;border-radius:12px;padding:16px;margin-bottom:20px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:#aaa}.summary-row:not(:last-child){border-bottom:1px solid #3a3a3a}.summary-row.potential-profit{padding-top:12px;font-weight:600}.profit-value{color:#22c55e;font-size:16px}.bet-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.bet-status{background:#6366f11a;border:1px solid rgba(99,102,241,.3);color:#a5b4fc;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;text-align:center}.bet-actions{margin-bottom:16px}.bet-submit-btn{width:100%;padding:16px;background:#6366f1;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.bet-submit-btn:hover:not(:disabled){background:#4f46e5}.bet-submit-btn:disabled{background:#3a3a3a;color:#666;cursor:not-allowed}.bet-submit-btn.confirm{background:#22c55e}.bet-submit-btn.confirm:hover:not(:disabled){background:#16a34a}.bet-disclaimer{font-size:12px;color:#666;text-align:center;line-height:1.5}.bet-connect-section{display:flex;flex-direction:column;align-items:center;padding:24px 0}.bet-connect-message{color:#aaa;font-size:14px;text-align:center;line-height:1.6;margin:0 0 24px}.bet-connect-btn{width:100%;padding:16px;background:#6366f1;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.bet-connect-btn:hover:not(:disabled){background:#4f46e5}.bet-connect-btn:disabled{background:#3a3a3a;color:#888;cursor:not-allowed}.polymarket-page{width:100%;height:100%;display:flex;flex-direction:column;background:#0f0f0f;overflow:hidden}.polymarket-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#1a1a1a;border-bottom:1px solid #2a2a2a;flex-wrap:wrap;gap:16px}.polymarket-title-section{display:flex;align-items:baseline;gap:12px}.polymarket-title-section h1{color:#fff;font-size:24px;font-weight:700;margin:0}.polymarket-subtitle{color:#888;font-size:14px}.polymarket-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.polymarket-search{display:flex;gap:8px}.polymarket-search input{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;padding:8px 12px;color:#fff;font-size:14px;width:200px}.polymarket-search input::placeholder{color:#666}.polymarket-search input:focus{outline:none;border-color:#6366f1}.polymarket-search button{background:#6366f1;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.polymarket-search button:hover{background:#4f46e5}.polymarket-view-toggle{display:flex;background:#2a2a2a;border-radius:6px;padding:4px}.polymarket-view-toggle button{background:transparent;border:none;color:#888;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .2s}.polymarket-view-toggle button:hover{color:#fff}.polymarket-view-toggle button.active{background:#3a3a3a;color:#fff}.polymarket-categories{display:flex;gap:8px;padding:12px 24px;background:#1a1a1a;border-bottom:1px solid #2a2a2a;overflow-x:auto;scrollbar-width:none}.polymarket-categories::-webkit-scrollbar{display:none}.polymarket-category-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:20px;color:#aaa;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.polymarket-category-btn:hover{background:#3a3a3a;color:#fff}.polymarket-category-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.polymarket-category-btn .category-icon{font-size:16px}.polymarket-category-btn .category-name{font-size:13px}.polymarket-content{flex:1;overflow-y:auto;padding:24px}.polymarket-loading,.polymarket-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#888;font-size:16px}.polymarket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.polymarket-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.polymarket-card:hover{border-color:#3a3a3a;transform:translateY(-2px)}.polymarket-card.selected{border-color:#6366f1}.polymarket-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.polymarket-card-image{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}.polymarket-card-meta{display:flex;flex-wrap:wrap;gap:8px;flex:1}.polymarket-category{background:#2a2a2a;color:#aaa;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.polymarket-end-date{color:#666;font-size:12px}.polymarket-question{color:#fff;font-size:15px;font-weight:600;line-height:1.4;margin:0 0 12px}.polymarket-outcomes{display:flex;gap:8px;margin-bottom:12px}.polymarket-outcome{flex:1;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#2a2a2a;border-radius:8px;border:1px solid #3a3a3a}.polymarket-outcome.yes{background:#22c55e1a;border-color:#22c55e4d}.polymarket-outcome.no{background:#ef44441a;border-color:#ef44444d}.outcome-name{color:#aaa;font-size:13px;font-weight:500}.polymarket-outcome.yes .outcome-name{color:#22c55e}.polymarket-outcome.no .outcome-name{color:#ef4444}.outcome-price{color:#fff;font-size:16px;font-weight:700}.polymarket-outcome.yes .outcome-price{color:#22c55e}.polymarket-outcome.no .outcome-price{color:#ef4444}.polymarket-stats{display:flex;gap:12px;flex-wrap:wrap}.polymarket-stat{display:flex;flex-direction:column;gap:2px}.polymarket-stat .stat-label{color:#666;font-size:11px;text-transform:uppercase}.polymarket-stat .stat-value{color:#fff;font-size:1.5rem;font-weight:600}.polymarket-stat .stat-value.positive{color:#22c55e}.polymarket-stat .stat-value.negative{color:#ef4444}.polymarket-expanded{margin-top:16px;padding-top:16px;border-top:1px solid #2a2a2a}.polymarket-description{color:#888;font-size:13px;line-height:1.5;margin:0 0 16px;max-height:100px;overflow-y:auto}.polymarket-actions{display:flex;gap:8px}.polymarket-trade-btn{flex:1;background:#22c55e;color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.polymarket-trade-btn:hover:not(:disabled){background:#16a34a}.polymarket-trade-btn:disabled{background:#3a3a3a;color:#666;cursor:not-allowed}.polymarket-open-btn{flex:1;background:#6366f1;color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.polymarket-open-btn:hover{background:#4f46e5}.polymarket-portfolio{display:flex;flex-direction:column;gap:24px}.portfolio-summary{display:flex;gap:24px;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #2a2a4a;border-radius:12px}.portfolio-summary-item{display:flex;flex-direction:column;gap:4px}.portfolio-summary .summary-label{color:#888;font-size:12px;text-transform:uppercase;font-weight:500}.portfolio-summary .summary-value{color:#fff;font-size:24px;font-weight:700}.portfolio-section{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:20px}.portfolio-section h2{color:#fff;font-size:18px;font-weight:600;margin:0 0 16px}.portfolio-list{display:flex;flex-direction:column;gap:12px}.portfolio-item{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;padding:14px}.portfolio-item-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.portfolio-item-image{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0}.portfolio-item-info{display:flex;flex-direction:column;gap:4px;flex:1}.portfolio-item-question{color:#fff;font-size:14px;font-weight:500;line-height:1.3}.portfolio-item-outcome{color:#888;font-size:13px}.portfolio-item-side{font-size:12px;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:4px;align-self:flex-start}.portfolio-item-side.buy{background:#22c55e26;color:#22c55e}.portfolio-item-side.sell{background:#ef444426;color:#ef4444}.portfolio-item-tags{display:flex;gap:8px;align-items:center;margin-top:6px}.portfolio-item-stats{display:flex;gap:16px;flex-wrap:wrap}.portfolio-stat{display:flex;flex-direction:column;gap:2px}.portfolio-stat .stat-label{color:#888;font-size:11px;text-transform:uppercase}.portfolio-stat .stat-value{color:#fff;font-size:14px;font-weight:600}.portfolio-stat .stat-value.positive{color:#4ade80}.portfolio-stat .stat-value.negative{color:#f87171}.portfolio-empty{color:#666;font-size:14px;padding:20px;text-align:center}.cancel-order-btn{background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.cancel-order-btn:hover:not(:disabled){background:#ef444426}.cancel-order-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.polymarket-header{padding:12px 16px}.polymarket-title-section h1{font-size:20px}.polymarket-controls{width:100%}.polymarket-search{flex:1}.polymarket-search input{flex:1;width:auto}.polymarket-content{padding:16px}.polymarket-grid{grid-template-columns:1fr}}.admin-page{padding:2rem;max-width:1200px;margin:0 auto;height:100%;overflow-y:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{margin:0;font-size:2rem;color:#333}.refresh-btn{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;transition:background .2s}.refresh-btn:hover{background:#45a049}.admin-loading,.admin-error{text-align:center;padding:3rem;font-size:1.2rem;color:#666}.admin-error h3{color:#f44336;margin-bottom:1rem}.admin-error button{margin-top:1rem}.admin-content{display:flex;flex-direction:column;gap:2rem}.admin-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000001a}.admin-card h2{margin:0 0 1.5rem;font-size:1.5rem;color:#333;border-bottom:2px solid #eee;padding-bottom:.5rem}.admin-card h3{margin:1.5rem 0 1rem;font-size:1.2rem;color:#555}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-item label{font-size:.875rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:600;color:#333}.address-value{display:flex;align-items:center;gap:.5rem;font-family:Courier New,monospace;font-size:1rem}.balance-sol{color:#9945ff}.balance-usd{color:#4caf50}.copy-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;opacity:.6;transition:opacity .2s}.copy-btn:hover{opacity:1}.explorer-link{font-size:.875rem;color:#2196f3;text-decoration:none;margin-top:.25rem}.explorer-link:hover{text-decoration:underline}.funding-instructions{background:#f5f5f5;border-radius:.5rem;padding:1.5rem;border-left:4px solid #2196F3}.funding-instructions p{margin:.5rem 0;color:#555;line-height:1.6}.full-address-container{margin-top:1rem;display:flex;gap:1rem;align-items:center;background:#fff;padding:1rem;border-radius:.5rem;flex-wrap:wrap}.full-address{flex:1;font-family:Courier New,monospace;font-size:.875rem;color:#333;word-break:break-all;padding:.5rem;background:#fafafa;border-radius:.25rem}.copy-btn-large{padding:.75rem 1.5rem;background:#2196f3;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;white-space:nowrap;transition:background .2s}.copy-btn-large:hover{background:#1976d2}@media (max-width: 768px){.admin-page{padding:1rem}.admin-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.full-address-container{flex-direction:column;align-items:stretch}.copy-btn-large{width:100%}}.main-dashboard{width:100vw;height:100vh;overflow:hidden;position:fixed;top:0;left:0;background:#f8f9fa}.main-header{position:fixed;top:0;left:0;right:0;height:60px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:2000;box-shadow:0 2px 4px #0000001a}.header-left{display:flex;align-items:center;gap:15px}.hamburger-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.hamburger-btn:hover{background:#f0f0f0}.header-title{margin:0;font-size:24px;font-weight:600;color:#007bff}.header-right{display:flex;align-items:center;gap:8px}.profile-btn-header{display:flex;align-items:center;gap:8px;background:none;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.profile-btn-header:hover{background:#f0f0f0}.logout-btn-header{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px;color:#dc3545}.logout-btn-header:hover{background:#fee;color:#c82333}.logout-icon{font-size:16px}.logout-text{font-weight:500}.profile-icon{font-size:16px}.profile-email{color:#666;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-sidebar{position:fixed;top:60px;left:0;width:250px;height:calc(100vh - 60px);background:#fff;border-right:1px solid #e0e0e0;transform:translate(-100%);transition:transform .3s ease;z-index:1500;box-shadow:2px 0 8px #0000001a}.main-sidebar.open{transform:translate(0)}.sidebar-content{height:100%;display:flex;flex-direction:column;padding:20px 0;overflow-x:hidden;word-wrap:break-word}.sidebar-section{flex:1;padding:0 20px}.sidebar-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:8px;background:none;border:none;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;font-size:14px}.sidebar-btn:hover{background:#f8f9fa}.sidebar-icon{font-size:16px;width:20px;text-align:center}.sidebar-label{font-weight:500}.sidebar-bottom{padding:20px 20px 0;border-top:1px solid #e0e0e0}.sidebar-version{font-size:11px;color:#999;margin-bottom:12px;text-align:center;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;white-space:normal}.sidebar-language{margin-bottom:16px}.logout-btn{color:#dc3545}.logout-btn:hover{background:#fee}.sidebar-overlay{position:fixed;top:60px;left:0;right:0;bottom:0;background:#0000004d;z-index:1400}.content-fixed-layer{position:fixed;top:60px;left:0;right:0;bottom:0;z-index:1;background:transparent;overflow:hidden}.floating-chat{position:absolute;bottom:20px;right:20px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;border:1px solid #e0e0e0;overflow:hidden;display:flex;flex-direction:column;z-index:500;transition:all .3s ease;resize:none}.floating-chat.resizing{transition:none}@supports (-webkit-touch-callout: none){.floating-chat{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}.resize-handle{position:absolute;background:#007bff1a;transition:background-color .2s ease}.resize-handle:hover{background:#007bff33}.resize-handle-corner{top:0;left:0;width:20px;height:20px;cursor:nw-resize;border-bottom-right-radius:4px}.resize-handle-corner:after{content:"";position:absolute;top:2px;left:2px;width:0;height:0;border-right:8px solid transparent;border-top:8px solid rgba(0,123,255,.4)}.layout-container.half .base-layer{height:50%}.half-chat{position:absolute;bottom:0;left:0;right:0;height:50%;background:#fff;border-top:2px solid #007bff;overflow:hidden;display:flex;flex-direction:column;z-index:500}.full-chat-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:500}.full-chat{position:absolute;top:60px;left:20px;right:20px;bottom:20px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden;display:flex;flex-direction:column;z-index:600}.floating-header,.full-header{background:#007bff;color:#fff;padding:12px;display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:16px;position:relative}.floating-header:before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;border-top:3px solid rgba(0,0,0,.5);border-left:3px solid rgba(0,0,0,.5);border-radius:12px 0 0;cursor:move}.chat-controls{display:flex;gap:8px;align-items:center}.control-btn{background:#fff3;border:none;color:#fff;cursor:pointer;font-size:16px;padding:6px 8px;border-radius:4px;transition:all .2s;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#ffffff4d}.control-btn:disabled{opacity:.5;cursor:not-allowed}.control-btn.recording{background:#f44;animation:pulse 1s infinite}.control-btn.enabled,.control-btn.active{background:#ffffff4d;border:1px solid rgba(255,255,255,.5)}.minimized-chat{position:absolute;bottom:20px;right:20px;display:flex;gap:8px;z-index:500}@supports (-webkit-touch-callout: none){.minimized-chat{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}.mini-btn{width:48px;height:48px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:50%;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000026;transition:all .2s;font-size:18px;display:flex;align-items:center;justify-content:center}.mini-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.mini-btn.recording{background:#f44;color:#fff;animation:pulse 1s infinite}.mini-btn.enabled{background:#fff3;border:1px solid rgba(255,255,255,.3)}.floating-content{flex:1;overflow:hidden;position:relative}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.floating-chat{right:20px;left:auto;height:400px}.resize-handle-corner{width:32px;height:32px;background:#007bff26}.resize-handle-corner:after{border-right:12px solid transparent;border-top:12px solid rgba(0,123,255,.5)}.floating-tools{flex-direction:row;flex-wrap:wrap;top:10px;left:10px;right:10px;gap:6px}.tool-btn{flex:1;min-width:auto;padding:8px;font-size:12px;text-align:center}.minimized-chat{bottom:calc(10px + env(safe-area-inset-bottom,0px));right:10px}.mini-btn{width:40px;height:40px;font-size:16px}.header-right{gap:4px}.profile-email{max-width:120px}.logout-text{display:none}.header-language .language-select{min-width:60px;font-size:11px;padding:5px 6px}.full-chat{top:45px;left:15px;right:15px;bottom:15px}}@media (max-width: 480px){.floating-chat{right:10px;left:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));height:350px}.resize-handle-corner{width:40px;height:40px;background:#007bff33}.resize-handle-corner:after{top:4px;left:4px;border-right:14px solid transparent;border-top:14px solid rgba(0,123,255,.6)}.chat-controls{gap:4px}.control-btn{font-size:14px;padding:4px 6px;min-width:28px;height:28px}.profile-email{display:none}.profile-btn-header,.logout-btn-header{padding:6px 8px;font-size:12px}.header-right{gap:2px}.header-language .language-select{min-width:50px;font-size:10px;padding:4px}.full-chat{top:35px;left:10px;right:10px;bottom:10px;border-radius:8px}.full-chat-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.datasources-view,.addressbook-view{width:100%;height:100%;overflow:auto;padding:20px;background:#f8f9fa}.view-header{margin-bottom:20px;text-align:center}.view-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:#2c3e50}.view-header p{margin:0;font-size:16px;color:#6c757d}.callback-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.callback-content{background:#fff;border-radius:16px;padding:3rem;text-align:center;max-width:500px;width:100%;box-shadow:0 20px 60px #0000001a}.loading-spinner{width:60px;height:60px;border:4px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}@keyframes spin{to{transform:rotate(360deg)}}.callback-content h2{color:#2d3748;margin-bottom:1rem;font-size:1.8rem}.callback-content p{color:#718096;margin-bottom:1.5rem;line-height:1.6}.success-icon,.error-icon{font-size:4rem;margin-bottom:1rem;display:block}.session-details{background:#f7fafc;border-radius:12px;padding:1.5rem;margin:1.5rem 0;text-align:left}.session-details p{margin-bottom:.5rem;color:#2d3748}.session-details strong{font-weight:600}.btn-back,.btn-continue{background:#4299e1;color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-weight:600;cursor:pointer;transition:background .2s;font-size:1rem}.btn-back:hover,.btn-continue:hover{background:#3182ce}.callback-content.error .btn-back{background:#e53e3e}.callback-content.error .btn-back:hover{background:#c53030}@media (max-width: 768px){.callback-container{padding:1rem}.callback-content{padding:2rem}.callback-content h2{font-size:1.5rem}}.two-factor-prompt{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.two-factor-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 6px #0000001a;max-width:400px;width:100%}.two-factor-container h2{margin:0 0 12px;font-size:24px;font-weight:600;text-align:center;color:#1a202c}.two-factor-description{text-align:center;color:#718096;margin-bottom:32px;font-size:14px;line-height:1.5}.two-factor-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.code-input{padding:14px 16px;font-size:24px;text-align:center;letter-spacing:8px;border:2px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .2s;font-family:monospace}.code-input:focus{border-color:#667eea}.code-input:disabled{background-color:#f7fafc;cursor:not-allowed}.button-group{display:flex;flex-direction:column;gap:12px}.verify-button{padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.verify-button:hover:not(:disabled){background:#5568d3}.verify-button:disabled{background:#cbd5e0;cursor:not-allowed}.back-button{padding:14px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.back-button:hover:not(:disabled){background:#f7fafc}.back-button:disabled{border-color:#cbd5e0;color:#cbd5e0;cursor:not-allowed}.alternative-option{text-align:center;padding-top:12px;border-top:1px solid #e2e8f0}.link-button{background:none;border:none;color:#667eea;font-size:14px;cursor:pointer;text-decoration:underline;padding:0}.link-button:hover:not(:disabled){color:#5568d3}.link-button:disabled{color:#cbd5e0;cursor:not-allowed}.error-message{background:#fed7d7;color:#c53030;padding:12px;border-radius:8px;font-size:14px;text-align:center}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-container{background:#fff;border-radius:16px;padding:3rem;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#2d3748;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header p{color:#718096;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#2d3748;font-weight:500;font-size:.9rem}.form-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background-color:#f7fafc;cursor:not-allowed}.error-message{background:#fed7d7;color:#c53030;padding:.75rem 1rem;border-radius:6px;border:1px solid #feb2b2;font-size:.9rem}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.login-footer{margin-top:2rem;text-align:center}.login-footer p{color:#718096;font-size:.85rem;margin:.5rem 0}@media (max-width: 768px){.login-page{padding:1rem}.login-container{padding:2rem}.login-header h1{font-size:1.75rem}}.landing-page{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.header{background:#fff;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo h1{color:#667eea;font-size:2rem;font-weight:700;margin:0}.nav{display:flex;align-items:center;gap:2rem}.nav a{color:#4a5568;text-decoration:none;font-weight:500;transition:color .2s ease}.nav a:hover{color:#667eea}.login-btn{background:#667eea;color:#fff!important;padding:.5rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;transition:background .2s ease}.login-btn:hover{background:#5a67d8;color:#fff!important}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8rem 0;text-align:center}.hero-content h1{font-size:3.5rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2}.hero-content p{font-size:1.25rem;margin-bottom:3rem;opacity:.9;max-width:700px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.1rem;transition:all .2s ease;display:inline-block}.btn-primary{background:#fff;color:#667eea}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ffffff4d}.btn-secondary{background:transparent;color:#fff;border:2px solid white}.btn-secondary:hover{background:#fff;color:#667eea}.features{padding:8rem 0;background:#f7fafc}.features h2{text-align:center;font-size:2.5rem;color:#2d3748;margin-bottom:4rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px #00000014;text-align:center;transition:transform .2s ease}.feature-card:hover{transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#2d3748;font-size:1.5rem;margin-bottom:1rem}.feature-card p{color:#718096;line-height:1.6}.about{padding:8rem 0;background:#fff}.about-content{max-width:800px;margin:0 auto;text-align:center}.about h2{font-size:2.5rem;color:#2d3748;margin-bottom:2rem}.about p{font-size:1.1rem;color:#4a5568;line-height:1.8;margin-bottom:1.5rem}.company-info{background:#f7fafc;padding:2rem;border-radius:12px;margin-top:2rem}.company-info h3{color:#2d3748;font-size:1.25rem;margin-bottom:1rem}.company-details p{margin-bottom:.5rem;font-size:1rem;color:#4a5568}.services{padding:8rem 0;background:#f7fafc}.services h2{text-align:center;font-size:2.5rem;color:#2d3748;margin-bottom:4rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.service-item{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px #00000014}.service-item h3{color:#2d3748;font-size:1.25rem;margin-bottom:1rem}.service-item p{color:#718096;line-height:1.6}.contact{padding:8rem 0;background:#fff}.contact h2{text-align:center;font-size:2.5rem;color:#2d3748;margin-bottom:4rem}.contact-content{max-width:600px;margin:0 auto;text-align:center}.contact-info h3{color:#2d3748;font-size:1.5rem;margin-bottom:1rem}.contact-info p{color:#4a5568;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.contact-details{background:#f7fafc;padding:2rem;border-radius:12px;text-align:left}.contact-details p{margin-bottom:.5rem;font-size:1rem}.footer{background:#2d3748;color:#fff;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{margin-bottom:1rem;color:#fff}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.5rem}.footer-section ul li a{color:#a0aec0;text-decoration:none;transition:color .2s ease}.footer-section ul li a:hover{color:#fff}.footer-bottom{border-top:1px solid #4a5568;padding-top:2rem;text-align:center}.footer-bottom p{color:#a0aec0;margin:0}@media (max-width: 768px){.container{padding:0 1rem}.header-content{flex-direction:column;gap:1rem}.nav{gap:1rem}.hero{padding:6rem 0}.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1.1rem}.hero-buttons{flex-direction:column;align-items:center}.features,.about,.services,.contact{padding:4rem 0}.features h2,.about h2,.services h2,.contact h2{font-size:2rem}.features-grid,.services-grid{grid-template-columns:1fr}}@media (max-width: 480px){.hero-content h1{font-size:2rem}.btn{padding:.75rem 1.5rem;font-size:1rem}}.legal-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.legal-container{max-width:900px;margin:0 auto;background:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 60px #00000026}.back-button{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;margin-bottom:20px;transition:background .3s ease}.back-button:hover{background:#5a67d8}.legal-page h1{color:#2d3748;font-size:36px;margin-bottom:10px;font-weight:700}.last-updated{color:#718096;font-size:14px;margin-bottom:40px;font-style:italic}.legal-page section{margin-bottom:40px}.legal-page h2{color:#2d3748;font-size:24px;margin-bottom:20px;margin-top:40px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}.legal-page h3{color:#4a5568;font-size:18px;margin-bottom:12px;margin-top:24px;font-weight:600}.legal-page p{color:#4a5568;line-height:1.8;margin-bottom:16px;font-size:16px}.legal-page ul,.legal-page ol{color:#4a5568;line-height:1.8;margin-bottom:20px;padding-left:30px}.legal-page ul li,.legal-page ol li{margin-bottom:8px;font-size:16px}.legal-page ul li strong,.legal-page ol li strong{color:#2d3748}.contact-info{background:#f7fafc;padding:20px;border-radius:8px;margin-top:20px}.contact-info p{margin-bottom:8px;color:#4a5568}.contact-info strong{color:#2d3748;font-weight:600}.disclaimer{background:#fff5f5;border-left:4px solid #fc8181;padding:16px;margin:20px 0;border-radius:4px}.disclaimer strong{color:#c53030;font-weight:700}.acknowledgment{background:#f0fff4;border:2px solid #48bb78;padding:20px;border-radius:8px;margin-top:40px}.acknowledgment p{margin:0;color:#22543d;font-size:16px}.acknowledgment strong{color:#22543d}@media (max-width: 768px){.legal-container{padding:20px}.legal-page h1{font-size:28px}.legal-page h2{font-size:20px}.legal-page h3{font-size:16px}.legal-page p,.legal-page ul li,.legal-page ol li{font-size:14px}}.update-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;z-index:9999;box-shadow:0 2px 8px #00000026;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.update-banner-content{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.update-banner-message{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}.update-banner-icon{width:20px;height:20px;flex-shrink:0}.update-banner-button{background:#fff;color:#667eea;border:none;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.update-banner-button:hover{background:#f7fafc;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.update-banner-button:active{transform:translateY(0)}@media (max-width: 640px){.update-banner-content{flex-direction:column;gap:10px;padding:10px 16px}.update-banner-button{width:100%}}.app{min-height:100vh;background:#f7fafc}.main-content{min-height:calc(100vh - 80px)}
