@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.stock-card{position:relative;background:linear-gradient(145deg,#1a1a2e,#16162a);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease}.stock-card:hover{transform:translateY(-4px);border-color:#6366f166;box-shadow:0 12px 40px #6366f126}.stock-card.selected{border-color:#6366f1;box-shadow:0 0 20px #6366f14d}.stock-card.bought{border-left:3px solid #10b981}.stock-card.sold{border-left:3px solid #8b5cf6}.stock-card .remove-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;background:#ef444433;border-radius:8px;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.stock-card .remove-btn:hover{background:#ef444466}.stock-card:hover .remove-btn{opacity:1}.stock-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.stock-card .card-header .stock-info .stock-name{font-size:18px;font-weight:600;color:#fff;margin:0 0 4px}.stock-card .card-header .stock-info .stock-code{font-size:13px;color:#ffffff80;font-family:JetBrains Mono,monospace}.stock-card .card-header .status-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.stock-card .card-header .status-badge.watching{background:#3b82f633;color:#60a5fa}.stock-card .card-header .status-badge.bought{background:#10b98133;color:#34d399}.stock-card .card-header .status-badge.sold{background:#8b5cf633;color:#a78bfa}.stock-card .card-body .price-section{display:flex;align-items:center;gap:12px;margin-bottom:16px}.stock-card .card-body .price-section .current-price{font-size:28px;font-weight:700;color:#fff;font-family:JetBrains Mono,monospace}.stock-card .card-body .price-section .signal-badge{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;animation:pulse 2s infinite}.stock-card .card-body .price-section .signal-badge.buy{background:#10b9814d;color:#34d399;border:1px solid rgba(16,185,129,.5)}.stock-card .card-body .price-section .signal-badge.sell{background:#ef44444d;color:#f87171;border:1px solid rgba(239,68,68,.5)}.stock-card .card-body .slope-section{background:#ffffff0d;border-radius:12px;padding:14px}.stock-card .card-body .slope-section .slope-indicator{display:flex;align-items:center;gap:10px;margin-bottom:6px}.stock-card .card-body .slope-section .slope-indicator .trend-icon{width:24px;height:24px}.stock-card .card-body .slope-section .slope-indicator .trend-icon.up{color:#10b981}.stock-card .card-body .slope-section .slope-indicator .trend-icon.down{color:#ef4444}.stock-card .card-body .slope-section .slope-indicator .trend-icon.neutral{color:#6b7280}.stock-card .card-body .slope-section .slope-indicator .slope-value{font-size:20px;font-weight:600;font-family:JetBrains Mono,monospace}.stock-card .card-body .slope-section .slope-indicator .slope-value.positive{color:#10b981}.stock-card .card-body .slope-section .slope-indicator .slope-value.negative{color:#ef4444}.stock-card .card-body .slope-section .slope-indicator .slope-value.neutral{color:#6b7280}.stock-card .card-body .slope-section .slope-label{font-size:12px;color:#fff6}.stock-card .card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.stock-card .card-footer .signal-info,.stock-card .card-footer .entry-info{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffff80}.stock-card .card-footer .signal-info svg,.stock-card .card-footer .entry-info svg{color:#ffffff4d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.stock-card{padding:14px}.stock-card .remove-btn{opacity:1;top:8px;right:8px;width:24px;height:24px;border-radius:6px}.stock-card .card-header{margin-bottom:10px}.stock-card .card-header .stock-info .stock-name{font-size:15px;margin-bottom:2px}.stock-card .card-header .stock-info .stock-code{font-size:11px}.stock-card .card-header .status-badge{padding:2px 8px;font-size:10px}.stock-card .card-body .price-section{gap:8px;margin-bottom:10px}.stock-card .card-body .price-section .current-price{font-size:22px}.stock-card .card-body .price-section .signal-badge{padding:2px 6px;font-size:9px}.stock-card .card-body .slope-section{padding:10px}.stock-card .card-body .slope-section .slope-indicator{gap:6px;margin-bottom:4px}.stock-card .card-body .slope-section .slope-indicator .trend-icon{width:18px;height:18px}.stock-card .card-body .slope-section .slope-indicator .slope-value{font-size:16px}.stock-card .card-body .slope-section .slope-label{font-size:10px}.stock-card .card-footer{margin-top:10px;padding-top:10px}.stock-card .card-footer .signal-info,.stock-card .card-footer .entry-info{font-size:11px;gap:4px}}.crypto-card{position:relative;cursor:pointer;padding:18px;border-radius:16px;background:linear-gradient(150deg,#191e36e6,#101424e6);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 30px #080c1873;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.crypto-card:hover{transform:translateY(-3px);border-color:#38bdf866;box-shadow:0 18px 34px #080c1899}.crypto-card.bought{border-color:#22c55e59}.crypto-card.sold{border-color:#ef444459}.crypto-card .remove-btn{position:absolute;top:14px;right:14px;background:#0f172a99;border:1px solid rgba(255,255,255,.1);color:#ffffff80;border-radius:999px;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.crypto-card .remove-btn:hover{color:#fff;border-color:#ffffff40}.crypto-card .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.crypto-card .market-info{display:flex;flex-direction:column;gap:6px}.crypto-card .market-name{margin:0;font-size:18px;font-weight:600;color:#f8fafc}.crypto-card .market-code{font-size:12px;color:#ffffff73;font-family:Courier New,monospace}.crypto-card .status-badge{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;background:#ffffff14;color:#ffffffb3}.crypto-card .status-badge.bought{background:#22c55e33;color:#4ade80}.crypto-card .status-badge.sold{background:#ef444433;color:#f87171}.crypto-card .card-body{display:flex;flex-direction:column;gap:10px}.crypto-card .price-section{display:flex;align-items:center;justify-content:space-between;gap:12px}.crypto-card .current-price{font-size:20px;font-weight:700;color:#38bdf8}.crypto-card .signal-badge{padding:4px 10px;border-radius:10px;font-size:11px;font-weight:600}.crypto-card .signal-badge.buy{background:#22c55e33;color:#4ade80}.crypto-card .signal-badge.sell{background:#ef444433;color:#f87171}.crypto-card .card-footer{margin-top:14px;display:flex;align-items:center;gap:8px;color:#fff9;font-size:12px}.crypto-card .card-footer .signal-info{display:inline-flex;align-items:center;gap:6px}.price-chart-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.price-chart-modal .chart-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.price-chart-modal .chart-container{position:relative;width:100%;max-width:900px;background:linear-gradient(145deg,#1a1a2e,#16162a);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;box-shadow:0 25px 50px #00000080;animation:slideUp .3s ease}.price-chart-modal .chart-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.price-chart-modal .chart-header .chart-title{display:flex;align-items:center;gap:14px}.price-chart-modal .chart-header .chart-title svg{color:#6366f1}.price-chart-modal .chart-header .chart-title h2{margin:0;font-size:20px;font-weight:600;color:#fff}.price-chart-modal .chart-header .chart-title .code{font-size:13px;color:#ffffff80;font-family:JetBrains Mono,monospace}.price-chart-modal .chart-header .chart-actions{display:flex;align-items:center;gap:10px}.price-chart-modal .chart-header .chart-actions .toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff9;font-size:13px;cursor:pointer;transition:all .2s ease}.price-chart-modal .chart-header .chart-actions .toggle-btn:hover{background:#ffffff1a;color:#fff}.price-chart-modal .chart-header .chart-actions .toggle-btn.active{background:#6366f133;border-color:#6366f166;color:#818cf8}.price-chart-modal .chart-header .chart-actions .close-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff9;cursor:pointer;transition:all .2s ease}.price-chart-modal .chart-header .chart-actions .close-btn:hover{background:#ef444433;border-color:#ef444466;color:#f87171}.price-chart-modal .chart-body{position:relative;min-height:400px}.price-chart-modal .chart-body .chart-panels{display:flex;flex-direction:column;gap:12px}.price-chart-modal .chart-body .chart-canvas{width:100%}.price-chart-modal .chart-body .chart-canvas.price{height:300px}.price-chart-modal .chart-body .chart-canvas.slope{height:140px}.price-chart-modal .chart-body .chart-loading,.price-chart-modal .chart-body .chart-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#1a1a2ee6}.price-chart-modal .chart-body .chart-loading span,.price-chart-modal .chart-body .chart-error span{color:#fff9;font-size:14px}.price-chart-modal .chart-body .spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.price-chart-modal .chart-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);gap:16px;flex-wrap:wrap}.price-chart-modal .chart-footer .legend{display:flex;gap:20px}.price-chart-modal .chart-footer .legend .legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffff80}.price-chart-modal .chart-footer .legend .legend-item .dot{width:10px;height:10px;border-radius:50%}.price-chart-modal .chart-footer .legend .legend-item .dot.green{background:#10b981}.price-chart-modal .chart-footer .legend .legend-item .dot.red{background:#ef4444}.price-chart-modal .chart-footer .legend .legend-item .dot.purple{background:#6366f1}.price-chart-modal .chart-footer .current-slope{font-size:14px;color:#fff9}.price-chart-modal .chart-footer .current-slope span{margin-left:8px;font-weight:600;font-family:JetBrains Mono,monospace}.price-chart-modal .chart-footer .current-slope span.positive{color:#10b981}.price-chart-modal .chart-footer .current-slope span.negative{color:#ef4444}.price-chart-modal .chart-footer .signal-box{min-width:260px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;display:flex;flex-direction:column;gap:8px}.price-chart-modal .chart-footer .signal-box .signal-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#ffffff80}.price-chart-modal .chart-footer .signal-box .signal-header.buy .signal-value{color:#10b981}.price-chart-modal .chart-footer .signal-box .signal-header.sell .signal-value{color:#ef4444}.price-chart-modal .chart-footer .signal-box .signal-header.hold .signal-value{color:#fff9}.price-chart-modal .chart-footer .signal-box .signal-header .signal-value{font-weight:700}.price-chart-modal .chart-footer .signal-box .signal-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.price-chart-modal .chart-footer .signal-box .signal-details .signal-item{display:flex;flex-direction:column;gap:4px;font-size:12px}.price-chart-modal .chart-footer .signal-box .signal-details .signal-item .label{color:#ffffff80}.price-chart-modal .chart-footer .signal-box .signal-details .signal-item .value{color:#fff;font-weight:600;font-family:JetBrains Mono,monospace}.price-chart-modal .chart-footer .signal-box .signal-reason{font-size:12px;color:#ffffff8c}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.price-chart-modal{padding:10px}.price-chart-modal .chart-container{border-radius:12px}.price-chart-modal .chart-header{padding:14px 16px}.price-chart-modal .chart-header .chart-title{gap:8px}.price-chart-modal .chart-header .chart-title h2{font-size:16px}.price-chart-modal .chart-header .chart-title .code{font-size:11px}.price-chart-modal .chart-header .chart-actions{gap:6px}.price-chart-modal .chart-header .chart-actions .toggle-btn{padding:6px 10px;font-size:11px;border-radius:8px}.price-chart-modal .chart-header .chart-actions .close-btn{width:34px;height:34px;border-radius:8px}.price-chart-modal .chart-body{min-height:340px}.price-chart-modal .chart-body .chart-canvas.price{height:220px}.price-chart-modal .chart-body .chart-canvas.slope{height:100px}.price-chart-modal .chart-footer{padding:12px 16px;gap:12px;flex-direction:column;align-items:stretch}.price-chart-modal .chart-footer .legend{gap:12px;justify-content:space-between}.price-chart-modal .chart-footer .legend .legend-item{font-size:11px}.price-chart-modal .chart-footer .current-slope{font-size:12px;text-align:center;border-top:1px solid rgba(255,255,255,.05);padding-top:8px}.price-chart-modal .chart-footer .signal-box{min-width:100%;box-sizing:border-box}}.daily-pnl-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.daily-pnl-modal .modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#080810b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.daily-pnl-modal .modal-container{position:relative;width:min(880px,94vw);background:linear-gradient(160deg,#1c1c33,#112);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 24px 50px #0000008c;overflow:hidden;animation:slideUp .25s ease;display:flex;flex-direction:column}.daily-pnl-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.daily-pnl-modal .modal-header .title{display:flex;align-items:center;gap:12px}.daily-pnl-modal .modal-header .title svg{color:#38bdf8}.daily-pnl-modal .modal-header .title h2{margin:0;font-size:20px;font-weight:600}.daily-pnl-modal .modal-header .title p{margin:4px 0 0;color:#ffffff80;font-size:13px}.daily-pnl-modal .modal-header .close-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.daily-pnl-modal .modal-header .close-btn:hover{background:#f8717133;border-color:#f8717166;color:#f87171}.daily-pnl-modal .modal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:16px 24px 0}.daily-pnl-modal .summary-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.daily-pnl-modal .summary-card .label{font-size:12px;color:#ffffff80;text-transform:uppercase;letter-spacing:.4px}.daily-pnl-modal .summary-card .value{font-size:16px;font-weight:600}.daily-pnl-modal .summary-card .value.profit{color:#34d399}.daily-pnl-modal .summary-card .value.loss{color:#f87171}.daily-pnl-modal .summary-card .value.neutral{color:#ffffffbf}.daily-pnl-modal .modal-chart{padding:18px 24px 10px}.daily-pnl-modal .modal-chart .chart-canvas{width:100%;height:320px}.daily-pnl-modal .modal-chart .empty{height:320px;display:flex;align-items:center;justify-content:center;color:#fff9;background:#ffffff05;border-radius:12px}.daily-pnl-modal .modal-footer{display:flex;gap:18px;padding:12px 24px 18px;font-size:12px;color:#ffffff80}.daily-pnl-modal .modal-footer .legend{display:flex;align-items:center;gap:8px}.daily-pnl-modal .modal-footer .dot{width:10px;height:10px;border-radius:50%}.daily-pnl-modal .modal-footer .dot.daily{background:#10b98199}.daily-pnl-modal .modal-footer .dot.cumulative{background:#38bdf8}@media (max-width: 768px){.daily-pnl-modal{padding:10px}.daily-pnl-modal .modal-container{border-radius:12px}.daily-pnl-modal .modal-header{padding:14px 16px 10px}.daily-pnl-modal .modal-header .title{gap:8px}.daily-pnl-modal .modal-header .title h2{font-size:16px}.daily-pnl-modal .modal-header .title p{font-size:11px;margin-top:2px}.daily-pnl-modal .modal-header .close-btn{width:34px;height:34px;border-radius:8px}.daily-pnl-modal .modal-summary{padding:10px 16px 0;gap:10px;grid-template-columns:repeat(2,1fr)}.daily-pnl-modal .summary-card{padding:8px 10px;gap:4px}.daily-pnl-modal .summary-card .label{font-size:10px}.daily-pnl-modal .summary-card .value{font-size:14px}.daily-pnl-modal .modal-chart{padding:12px 16px 6px}.daily-pnl-modal .modal-chart .chart-canvas,.daily-pnl-modal .modal-chart .empty{height:220px}.daily-pnl-modal .modal-footer{padding:10px 16px 14px;flex-wrap:wrap;gap:10px;font-size:11px}}.feedback-board-card{background:#1e293b73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;gap:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.feedback-board-card:hover{box-shadow:0 12px 40px #6366f126}.feedback-board-card.collapsed{padding:12px 20px;gap:0;margin-bottom:16px}.feedback-board-card .board-header{display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.feedback-board-card .board-header .title-area{display:flex;align-items:center;gap:8px}.feedback-board-card .board-header .title-area .title-icon{color:#818cf8}.feedback-board-card .board-header .title-area h3{margin:0;font-size:15px;font-weight:700;color:#f1f5f9;letter-spacing:-.02em}.feedback-board-card .board-header .live-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#34d399;background:#34d3991a;padding:3px 8px;border-radius:12px;letter-spacing:.05em}.feedback-board-card .board-header .live-badge .live-dot{width:6px;height:6px;background-color:#34d399;border-radius:50%;display:inline-block;animation:pulse 1.8s infinite}.feedback-board-card .board-header .collapse-btn{background:transparent;border:none;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;transition:all .2s ease}.feedback-board-card .board-header .collapse-btn:hover{background:#ffffff0d;color:#f1f5f9}.feedback-board-card .input-form{width:100%;display:flex;flex-direction:column;gap:8px}.feedback-board-card .input-form .input-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.feedback-board-card .input-form .input-header-row .nickname-input{background:#0f172a99;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:6px 12px;color:#f1f5f9;font-size:12px;outline:none;width:150px;transition:border-color .2s,background-color .2s}.feedback-board-card .input-form .input-header-row .nickname-input:focus{border-color:#6366f199;background:#0f172acc}.feedback-board-card .input-form .input-header-row .nickname-input::placeholder{color:#64748b}.feedback-board-card .input-form .input-header-row .nickname-input:disabled{opacity:.5;cursor:not-allowed}.feedback-board-card .input-form .input-header-row .editor-toolbar{display:flex;align-items:center;gap:4px}.feedback-board-card .input-form .input-header-row .editor-toolbar .toolbar-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid transparent;background:#ffffff08;color:#64748b;cursor:pointer;transition:all .2s ease}.feedback-board-card .input-form .input-header-row .editor-toolbar .toolbar-btn:hover{color:#cbd5e1;background:#ffffff14}.feedback-board-card .input-form .input-header-row .editor-toolbar .toolbar-btn.active{color:#818cf8;background:#818cf826;border-color:#818cf84d}.feedback-board-card .input-form .input-wrapper{background:#0f172a99;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 14px 8px;display:flex;flex-direction:column;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.feedback-board-card .input-form .input-wrapper:focus-within{border-color:#6366f199;box-shadow:0 0 16px #6366f140;background:#0f172acc}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor{min-height:48px;max-height:150px;overflow-y:auto;color:#f1f5f9;font-size:13px;line-height:1.6;outline:none}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor::-webkit-scrollbar{width:4px}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#475569;pointer-events:none;height:0}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor strong{font-weight:700;color:#fff}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor em{font-style:italic}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor ul{list-style-type:disc;padding-left:20px;margin:4px 0}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor li{margin-bottom:2px}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor a.feedback-link{color:#818cf8;text-decoration:underline;cursor:pointer}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor a.feedback-link:hover{color:#a5b4fc}.feedback-board-card .input-form .input-wrapper .input-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.04);padding-top:8px}.feedback-board-card .input-form .input-wrapper .input-footer .char-counter{font-size:11px;color:#475569;font-variant-numeric:tabular-nums}.feedback-board-card .input-form .input-wrapper .input-footer .submit-btn{display:flex;align-items:center;gap:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.05);color:#64748b;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:not-allowed;transition:all .2s ease}.feedback-board-card .input-form .input-wrapper .input-footer .submit-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:transparent;color:#fff;cursor:pointer;box-shadow:0 4px 12px #6366f140}.feedback-board-card .input-form .input-wrapper .input-footer .submit-btn.active:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f159;filter:brightness(1.1)}.feedback-board-card .input-form .input-wrapper .input-footer .submit-btn.active:active{transform:translateY(0)}.feedback-board-card .feedback-list-container{max-height:280px;overflow-y:auto;padding-right:4px;margin-top:4px}.feedback-board-card .feedback-list-container::-webkit-scrollbar{width:5px}.feedback-board-card .feedback-list-container::-webkit-scrollbar-track{background:transparent}.feedback-board-card .feedback-list-container::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.feedback-board-card .feedback-list-container::-webkit-scrollbar-thumb:hover{background:#ffffff26}.feedback-board-card .feedback-list-container .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:12px}.feedback-board-card .feedback-list-container .loading-state p{margin:0;font-size:12px;color:#64748b}.feedback-board-card .feedback-list-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:10px;color:#475569}.feedback-board-card .feedback-list-container .empty-state .empty-icon{color:#334155}.feedback-board-card .feedback-list-container .empty-state p{margin:0;font-size:12px;font-weight:500}.feedback-board-card .feedback-list-container .feedback-list{display:flex;flex-direction:column;gap:12px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item{display:flex;gap:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.03);padding:12px 14px;border-radius:12px;transition:background .2s ease,transform .2s ease;animation:fadeIn .4s ease forwards}.feedback-board-card .feedback-list-container .feedback-list .feedback-item:hover{background:#ffffff0a;transform:translate(2px)}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-avatar{width:32px;height:32px;background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px solid rgba(99,102,241,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-avatar span{font-size:9px;font-weight:800;color:#a5b4fc;text-transform:uppercase}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area{display:flex;flex-direction:column;gap:6px;width:100%;overflow:hidden}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-meta .author{font-weight:700;color:#cbd5e1}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-meta .ip-address{color:#475569;font-size:10px;font-family:monospace}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-meta .divider{color:#475569}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-meta .time{color:#64748b}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body{margin:0;font-size:13px;color:#cbd5e1;line-height:1.5;word-break:break-all}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body p{margin:0 0 8px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body p:last-child{margin-bottom:0}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body strong{font-weight:700;color:#fff}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body em{font-style:italic}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body ul{list-style-type:disc;padding-left:20px;margin:6px 0}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body li{margin-bottom:3px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body a{color:#818cf8;text-decoration:underline}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body a:hover{color:#a5b4fc}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #34d399b3}70%{transform:scale(1);box-shadow:0 0 0 5px #34d39900}to{transform:scale(.95);box-shadow:0 0 #34d39900}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.feedback-board-card{padding:14px;gap:12px;margin-bottom:16px}.feedback-board-card.collapsed{padding:10px 14px;margin-bottom:12px}.feedback-board-card .board-header .title-area h3{font-size:13px}.feedback-board-card .board-header .live-badge{font-size:9px;padding:2px 6px}.feedback-board-card .input-form{gap:6px}.feedback-board-card .input-form .input-header-row{flex-direction:row}.feedback-board-card .input-form .input-header-row .nickname-input{width:110px;padding:4px 8px;font-size:11px}.feedback-board-card .input-form .input-header-row .editor-toolbar{gap:2px}.feedback-board-card .input-form .input-header-row .editor-toolbar .toolbar-btn{width:24px;height:24px;border-radius:4px}.feedback-board-card .input-form .input-wrapper{padding:10px 12px 6px;gap:6px}.feedback-board-card .input-form .input-wrapper .feedback-tiptap-editor{font-size:12px;min-height:40px}.feedback-board-card .input-form .input-wrapper .input-footer{padding-top:6px}.feedback-board-card .input-form .input-wrapper .input-footer .submit-btn{padding:4px 10px;font-size:11px}.feedback-board-card .feedback-list-container{max-height:240px}.feedback-board-card .feedback-list-container .feedback-list{gap:8px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item{padding:10px 12px;gap:10px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-avatar{width:28px;height:28px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-avatar span{font-size:8px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-meta{font-size:10px;gap:4px}.feedback-board-card .feedback-list-container .feedback-list .feedback-item .feedback-content-area .feedback-text.markdown-body{font-size:12px}}.dashboard{min-height:100vh;background:#0f0f1a;color:#fff}.dashboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.dashboard.loading .spinner{width:50px;height:50px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.dashboard.loading span{color:#fff9;font-size:16px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:linear-gradient(180deg,rgba(99,102,241,.1),transparent);border-bottom:1px solid rgba(255,255,255,.08)}.dashboard-header .logo{display:flex;align-items:center;gap:12px}.dashboard-header .logo svg{color:#6366f1}.dashboard-header .logo h1{margin:0;font-size:26px;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dashboard-header .header-actions{display:flex;align-items:center;gap:16px}.dashboard-header .header-actions .connection-status{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;font-size:13px}.dashboard-header .header-actions .connection-status.connected{background:#10b98126;color:#34d399}.dashboard-header .header-actions .connection-status.disconnected{background:#ef444426;color:#f87171}.dashboard-header .header-actions .trading-toggle{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard-header .header-actions .trading-toggle:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.dashboard-header .header-actions .trading-toggle:disabled{opacity:.7;cursor:not-allowed}.dashboard-header .header-actions .trading-toggle.running{background:linear-gradient(135deg,#ef4444,#f87171)}.dashboard-header .header-actions .trading-toggle .spin{animation:spin 1s linear infinite}@media (max-width: 720px){.dashboard-header{flex-direction:column;align-items:stretch;gap:16px;padding:16px 20px}.dashboard-header .logo h1{font-size:22px}.dashboard-header .header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.dashboard-header .connection-status,.dashboard-header .trading-toggle{justify-content:center;padding:10px 12px;font-size:12px;border-radius:14px;min-height:42px}}.status-bar{display:flex;flex-wrap:wrap;gap:30px;padding:16px 30px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05)}.status-bar.crypto{padding-top:12px;padding-bottom:20px;background:#080c1873}.status-bar .status-item{display:flex;flex-direction:column;gap:4px}.status-bar .status-item .label{font-size:12px;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.status-bar .status-item .value{font-size:14px;font-weight:500}.status-bar .status-item .value.demo{color:#fbbf24}.status-bar .status-item .value.real{color:#ef4444}.status-bar .status-item .value.enabled{color:#34d399}.status-bar .status-item .value.disabled{color:#6b7280}.status-alert{margin:10px 30px 0;padding:10px 14px;border-radius:12px;font-size:13px;border:1px solid transparent}.status-alert.error{background:#ef44441f;border-color:#ef444459;color:#fca5a5}.dashboard-main{display:grid;grid-template-columns:1fr 320px;gap:30px;padding:30px}@media (max-width: 1024px){.dashboard-main{grid-template-columns:1fr}}.stocks-section .strategy-tabs{display:flex;gap:12px;margin-bottom:20px}.stocks-section .strategy-tabs .tab-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s ease}.stocks-section .strategy-tabs .tab-btn .count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:#ffffff14;font-size:12px;color:#fff9}.stocks-section .strategy-tabs .tab-btn.active{background:#6366f133;border-color:#6366f180;color:#fff}.stocks-section .strategy-tabs .tab-btn.active .count{background:#6366f159;color:#e0e7ff}.stocks-section .strategy-tabs .tab-btn:hover{background:#ffffff14;color:#fff}.stocks-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.stocks-section .section-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:600}.stocks-section .section-header h2 svg{color:#ef4444}.stocks-section .section-header .section-status{font-size:12px;color:#ffffff80;margin-right:auto;margin-left:16px}.stocks-section .section-header .section-actions{display:flex;gap:10px}.stocks-section .section-header .section-actions button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s ease}.stocks-section .section-header .section-actions button:hover{background:#ffffff1a;color:#fff}.stocks-section .section-header .section-actions button.add-btn:hover{border-color:#6366f166;background:#6366f11a}.stocks-section .section-header .section-actions button.disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.stocks-section .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:16px;text-align:center}.stocks-section .empty-state svg{color:#fff3;margin-bottom:16px}.stocks-section .empty-state h3{margin:0 0 8px;font-size:18px;font-weight:500;color:#fff9}.stocks-section .empty-state p{margin:0;font-size:14px;color:#fff6}.stocks-section .stocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.dashboard-sidebar{display:flex;flex-direction:column;gap:24px}.dashboard-sidebar .sidebar-section{background:linear-gradient(145deg,#1a1a2e,#16162a);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px}.dashboard-sidebar .sidebar-section h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:600;color:#fffc}.dashboard-sidebar .sidebar-section h3 svg{color:#6366f1}.dashboard-sidebar .sidebar-section .empty-text{padding:20px;text-align:center;font-size:13px;color:#ffffff4d}.dashboard-sidebar .pnl-section h3 svg{color:#38bdf8}.dashboard-sidebar .today-pnl-card{width:100%;border:none;padding:14px;border-radius:14px;background:linear-gradient(145deg,#38bdf814,#0f172a99);border:1px solid rgba(56,189,248,.2);color:inherit;display:grid;gap:12px;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.dashboard-sidebar .today-pnl-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #38bdf833}.dashboard-sidebar .today-pnl-card .pnl-summary{display:grid;gap:12px}.dashboard-sidebar .today-pnl-card .pnl-main{display:flex;flex-direction:column;gap:6px}.dashboard-sidebar .today-pnl-card .pnl-main .pnl-label{font-size:12px;color:#ffffff80;text-transform:uppercase;letter-spacing:.4px}.dashboard-sidebar .today-pnl-card .pnl-main .pnl-value{font-size:20px;font-weight:700}.dashboard-sidebar .today-pnl-card .pnl-main .pnl-value.profit{color:#34d399}.dashboard-sidebar .today-pnl-card .pnl-main .pnl-value.loss{color:#f87171}.dashboard-sidebar .today-pnl-card .pnl-main .pnl-sub{font-size:12px;color:#fff9}.dashboard-sidebar .today-pnl-card .pnl-sparklines{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dashboard-sidebar .today-pnl-card .sparkline-block{display:grid;gap:6px;align-items:center}.dashboard-sidebar .today-pnl-card .spark-label{font-size:11px;color:#ffffff8c;text-transform:uppercase;letter-spacing:.2px}.dashboard-sidebar .today-pnl-card .sparkline-block svg{width:100%;height:50px}.dashboard-sidebar .today-pnl-card .sparkline-block polyline{fill:none;stroke:#38bdf8;stroke-width:2}.dashboard-sidebar .today-pnl-card .pnl-empty{font-size:12px;color:#fff6}.dashboard-sidebar .positions-list,.dashboard-sidebar .trades-list,.dashboard-sidebar .declining-list{display:flex;flex-direction:column;gap:10px}.dashboard-sidebar .cash-balance-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px 12px;background:#38bdf81f;border:1px solid rgba(56,189,248,.2);border-radius:10px}.dashboard-sidebar .cash-balance-card .label-row{display:flex;align-items:center;gap:6px}.dashboard-sidebar .cash-balance-card .label{font-size:12px;color:#ffffffb3}.dashboard-sidebar .cash-balance-card .sync-badge{font-size:10px;padding:2px 6px;border-radius:999px;background:#38bdf833;color:#7dd3fc;border:1px solid rgba(56,189,248,.35)}.dashboard-sidebar .cash-balance-card .value{font-size:14px;font-weight:600;color:#38bdf8}.dashboard-sidebar .position-group{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.dashboard-sidebar .position-group:last-of-type{margin-bottom:0}.dashboard-sidebar .position-group-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#ffffff80}.dashboard-sidebar .badge{font-size:10px;padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff9}.dashboard-sidebar .badge.muted{color:#ffffff73}.dashboard-sidebar .position-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff08;border-radius:10px}.dashboard-sidebar .position-item .position-info{display:flex;flex-direction:column;gap:4px}.dashboard-sidebar .position-item .position-info .position-header{display:flex;align-items:center;gap:8px}.dashboard-sidebar .position-item .position-info .position-header .name{font-size:14px;font-weight:500}.dashboard-sidebar .position-item .position-info .position-header .qty{font-size:12px;color:#ffffff80}.dashboard-sidebar .position-item .position-info .value{font-size:12px;color:#ffffffb3}.dashboard-sidebar .position-item .position-pl{text-align:right;font-size:14px;font-weight:500}.dashboard-sidebar .position-item .position-pl.profit{color:#34d399}.dashboard-sidebar .position-item .position-pl.loss{color:#f87171}.dashboard-sidebar .position-item .position-pl .rate{display:block;font-size:12px;opacity:.8}.dashboard-sidebar .trade-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff08;border-radius:8px;border-left:3px solid transparent}.dashboard-sidebar .trade-item.buy{border-left-color:#10b981}.dashboard-sidebar .trade-item.sell{border-left-color:#ef4444}.dashboard-sidebar .trade-item .trade-info .type{font-size:11px;font-weight:600;text-transform:uppercase;margin-right:8px}.dashboard-sidebar .trade-item .trade-info .type.buy{color:#34d399}.dashboard-sidebar .trade-item .trade-info .type.sell{color:#f87171}.dashboard-sidebar .trade-item .trade-info .name{font-size:13px}.dashboard-sidebar .trade-item .trade-detail{text-align:right;font-size:12px}.dashboard-sidebar .trade-item .trade-detail .price{font-weight:500}.dashboard-sidebar .trade-item .trade-detail .qty{margin-left:6px;color:#ffffff80}.dashboard-sidebar .strategy-table{display:grid;gap:10px}.dashboard-sidebar .strategy-table .table-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:center;font-size:12px;color:#ffffffa6;padding:8px 10px;border-radius:10px;background:#ffffff08}.dashboard-sidebar .strategy-table .table-row.header{background:#ffffff0f;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80}.dashboard-sidebar .strategy-table .table-row .strategy-tag{font-weight:600}.dashboard-sidebar .strategy-table .table-row .strategy-tag.valley{color:#60a5fa}.dashboard-sidebar .strategy-table .table-row .strategy-tag.scalping{color:#f59e0b}.dashboard-sidebar .strategy-table .table-row .strategy-tag.investor{color:#34d399}.dashboard-sidebar .strategy-table .table-row .positive{color:#34d399;font-weight:600}.dashboard-sidebar .strategy-table .table-row .negative{color:#f87171;font-weight:600}.dashboard-sidebar .declining-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:#ffffff08;border-radius:8px;cursor:pointer;transition:all .2s ease}.dashboard-sidebar .declining-item:hover{background:#6366f11a}.dashboard-sidebar .declining-item .name{flex:1;font-size:13px;font-weight:500}.dashboard-sidebar .declining-item .code{font-size:11px;color:#ffffff80;font-family:Courier New,monospace}.dashboard-sidebar .declining-item .rate{font-size:13px;font-weight:500;color:#ef4444;min-width:50px;text-align:right}.add-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center}.add-modal .modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.add-modal .modal-content{position:relative;width:100%;max-width:400px;padding:30px;background:linear-gradient(145deg,#1a1a2e,#16162a);border:1px solid rgba(255,255,255,.1);border-radius:20px}.add-modal .modal-content h3{margin:0 0 20px;font-size:20px;font-weight:600}.add-modal .modal-content input{width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:15px;outline:none;transition:all .2s ease}.add-modal .modal-content input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.add-modal .modal-content input::placeholder{color:#ffffff4d}.add-modal .modal-content .watchlist-type-selector{margin:20px 0}.add-modal .modal-content .watchlist-type-selector>label{display:block;margin-bottom:12px;font-size:14px;font-weight:500;color:#fffc}.add-modal .modal-content .watchlist-type-selector .radio-group{display:flex;gap:16px}.add-modal .modal-content .watchlist-type-selector .radio-group .radio-label{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s ease;flex:1}.add-modal .modal-content .watchlist-type-selector .radio-group .radio-label:hover{background:#ffffff14;border-color:#6366f14d}.add-modal .modal-content .watchlist-type-selector .radio-group .radio-label input[type=radio]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#6366f1}.add-modal .modal-content .watchlist-type-selector .radio-group .radio-label input[type=radio]:checked+span{color:#6366f1;font-weight:600}.add-modal .modal-content .watchlist-type-selector .radio-group .radio-label span{font-size:14px;color:#ffffffb3;transition:all .2s ease}.add-modal .modal-content .market-selector{display:flex;flex-direction:column;gap:10px;margin:16px 0 10px}.add-modal .modal-content .market-selector>label{font-size:14px;font-weight:500;color:#fffc}.add-modal .modal-content .market-selector .market-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.add-modal .modal-content .market-selector .market-tabs button{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff9;font-size:13px;cursor:pointer;transition:all .2s ease}.add-modal .modal-content .market-selector .market-tabs button.active{border-color:#38bdf899;color:#e0f2fe;background:#38bdf833}.add-modal .modal-content .market-selector .market-tabs button:hover{color:#fff;border-color:#ffffff4d}.add-modal .modal-content .modal-actions{display:flex;gap:12px;margin-top:24px}.add-modal .modal-content .modal-actions button{flex:1;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-modal .modal-content .modal-actions button.cancel{background:#ffffff1a;color:#ffffffb3}.add-modal .modal-content .modal-actions button.cancel:hover{background:#ffffff26}.add-modal .modal-content .modal-actions button.confirm{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.add-modal .modal-content .modal-actions button.confirm:hover{transform:translateY(-2px);box-shadow:0 6px 15px #6366f14d}@keyframes spin{to{transform:rotate(360deg)}}.target-simulator-widget{padding:16px 24px;background:linear-gradient(135deg,#1e1b4b,#111827);border:1px solid rgba(99,102,241,.2);border-radius:12px;margin:0 24px 20px;box-shadow:0 4px 20px #0000004d}.target-simulator-widget .widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px}.target-simulator-widget .widget-header .widget-title{margin:0;font-size:15px;font-weight:700;color:#a5b4fc;display:flex;align-items:center;gap:8px}.target-simulator-widget .widget-header .widget-description{margin:4px 0 0;font-size:11px;color:#9ca3af}.target-simulator-widget .widget-header .widget-values{text-align:right}.target-simulator-widget .widget-header .widget-values .current-value{font-size:18px;font-weight:700;color:#818cf8}.target-simulator-widget .widget-header .widget-values .value-divider{font-size:13px;color:#6b7280;margin:0 6px}.target-simulator-widget .widget-header .widget-values .target-value{font-size:14px;color:#9ca3af;font-weight:500}.target-simulator-widget .progress-container{position:relative;height:20px;background:#ffffff0d;border-radius:10px;overflow:hidden;margin-bottom:14px;border:1px solid rgba(255,255,255,.1)}.target-simulator-widget .progress-container .progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a855f7);transition:width .5s ease-out;border-radius:9px}.target-simulator-widget .progress-container .progress-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}.target-simulator-widget .projections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.target-simulator-widget .projections-grid .projection-card{background:#ffffff05;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.target-simulator-widget .projections-grid .projection-card .projection-label{font-size:11px;color:#9ca3af;display:block;margin-bottom:4px}.target-simulator-widget .projections-grid .projection-card .projection-value{font-size:14px;font-weight:700}.target-simulator-widget .projections-grid .projection-card .projection-value.profit{color:#34d399}.target-simulator-widget .projections-grid .projection-card .projection-value.blue{color:#60a5fa}.target-simulator-widget .projections-grid .projection-card .projection-sub{font-size:11px;color:#6b7280;margin-left:6px}@media (max-width: 768px){.target-simulator-widget{margin:0 16px 16px;padding:14px 16px}.target-simulator-widget .widget-header{flex-direction:column;align-items:stretch;gap:12px}.target-simulator-widget .widget-header .widget-values{text-align:left;border-top:1px solid rgba(255,255,255,.05);padding-top:8px}.target-simulator-widget .projections-grid{grid-template-columns:1fr;gap:10px}}.trading-pipeline-container{margin:0 24px 24px;background:#111322;border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:20px;box-shadow:0 4px 30px #0006}.trading-pipeline-container .pipeline-title{margin:0 0 16px;font-size:15px;color:#a5b4fc;display:flex;align-items:center;gap:8px}.trading-pipeline-container .pipeline-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}.trading-pipeline-container .pipeline-steps .step-item{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:12px;text-align:center;cursor:pointer;transition:all .3s ease}.trading-pipeline-container .pipeline-steps .step-item.active{background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px solid #6366f1;box-shadow:0 0 15px #6366f133}.trading-pipeline-container .pipeline-steps .step-item.active .step-label{color:#c7d2fe}.trading-pipeline-container .pipeline-steps .step-item.active .step-desc{color:#a5b4fc}.trading-pipeline-container .pipeline-steps .step-item .step-icon{font-size:20px;margin-bottom:6px}.trading-pipeline-container .pipeline-steps .step-item .step-label{font-size:12px;font-weight:700;color:#9ca3af;margin-bottom:2px}.trading-pipeline-container .pipeline-steps .step-item .step-desc{font-size:10px;color:#6b7280}.trading-pipeline-container .pipeline-content-area{background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.03);padding:16px;min-height:180px}.trading-pipeline-container .pipeline-content-area .detail-title{margin:0 0 12px;font-size:13px;color:#e5e7eb}.trading-pipeline-container .pipeline-content-area .empty-text{color:#6b7280;font-size:12px;text-align:center;padding:20px 0}.trading-pipeline-container .pipeline-content-area .candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card:hover{background:#ffffff0f}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-name{font-size:12px;font-weight:700;color:#f3f4f6}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-code{font-size:10px;color:#9ca3af}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-stats{text-align:right}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-stats .candidate-rate{font-size:11px;font-weight:700}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-stats .candidate-rate.profit{color:#34d399}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-stats .candidate-rate.loss{color:#f87171}.trading-pipeline-container .pipeline-content-area .candidate-grid .candidate-card .candidate-stats .candidate-action{font-size:9px;color:#6b7280}.trading-pipeline-container .pipeline-content-area .watched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:12px;cursor:pointer;transition:background .2s}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card:hover{background:#ffffff0f}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-top .watched-name{font-size:13px;font-weight:700;color:#f3f4f6}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-top .watched-code{font-size:10px;color:#9ca3af}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-bottom .watched-price{color:#9ca3af}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-bottom .watched-slope{font-weight:700}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-bottom .watched-slope.profit{color:#34d399}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .card-bottom .watched-slope.loss{color:#f87171}.trading-pipeline-container .pipeline-content-area .watched-grid .watched-card .watched-action{font-size:9px;color:#6b7280;margin-top:6px;text-align:right}.trading-pipeline-container .pipeline-content-area .step-detail-ai .detail-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .selector-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trading-pipeline-container .pipeline-content-area .step-detail-ai .selector-actions .selector-label{font-size:11px;color:#9ca3af}.trading-pipeline-container .pipeline-content-area .step-detail-ai .selector-actions .stock-select{background:#1e1b4b;border:1px solid rgba(99,102,241,.4);border-radius:4px;color:#fff;font-size:12px;padding:4px 8px;outline:none}.trading-pipeline-container .pipeline-content-area .step-detail-ai .selector-actions .refresh-btn{background:#4f46e5;border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;cursor:pointer;transition:background .2s}.trading-pipeline-container .pipeline-content-area .step-detail-ai .selector-actions .refresh-btn:hover:not(:disabled){background:#4338ca}.trading-pipeline-container .pipeline-content-area .step-detail-ai .selector-actions .refresh-btn:disabled{opacity:.6;cursor:not-allowed}.trading-pipeline-container .pipeline-content-area .step-detail-ai .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:10px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .loading-state .spinner-large{width:30px;height:30px;border:2px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.trading-pipeline-container .pipeline-content-area .step-detail-ai .loading-state .loading-text{font-size:12px;color:#9ca3af}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel{background:#ffffff03;border:1px solid rgba(255,255,255,.03);border-radius:8px;padding:14px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .panel-title{font-size:12px;font-weight:700;color:#a5b4fc}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .panel-title.spacer{display:block;margin-bottom:10px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .badge.bad{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .badge.good{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-row .gauge-track{flex:1;height:14px;background:linear-gradient(90deg,#f87171,#6b7280,#34d399);border-radius:7px;position:relative;overflow:hidden}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-row .gauge-pointer{position:absolute;top:0;bottom:0;width:4px;background:#fff;box-shadow:0 0 4px #00000080;transform:translate(-50%)}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-row .gauge-score{font-size:15px;font-weight:700;width:45px;text-align:right}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-row .gauge-score.profit{color:#34d399}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-row .gauge-score.loss{color:#f87171}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .gauge-labels{display:flex;justify-content:space-between;font-size:10px;color:#6b7280;margin-bottom:14px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .summary-box{background:#0003;padding:12px;border-radius:6px;border:1px solid rgba(255,255,255,.02)}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .summary-box .summary-title{font-size:11px;font-weight:700;color:#e5e7eb;display:block;margin-bottom:6px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .summary-box .summary-text{margin:0;font-size:11px;color:#d1d5db;line-height:1.6;word-break:keep-all}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .news-list{display:flex;flex-direction:column;gap:8px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .news-list .news-item{display:block;padding:8px;background:#ffffff03;border:1px solid rgba(255,255,255,.03);border-radius:4px;text-decoration:none;transition:background .2s}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .news-list .news-item:hover{background:#ffffff08}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .news-list .news-item .news-title{font-size:11px;font-weight:500;color:#e5e7eb;margin-bottom:4px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout .ai-panel .news-list .news-item .news-meta{display:flex;justify-content:space-between;font-size:9px;color:#6b7280}@media (max-width: 768px){.trading-pipeline-container{margin:0 16px 16px;padding:14px}.trading-pipeline-container .pipeline-steps{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.trading-pipeline-container .pipeline-steps::-webkit-scrollbar{height:4px}.trading-pipeline-container .pipeline-steps::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.trading-pipeline-container .pipeline-steps .step-item{flex:0 0 130px;padding:10px}.trading-pipeline-container .pipeline-content-area{padding:12px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .ai-layout{grid-template-columns:1fr;gap:14px}.trading-pipeline-container .pipeline-content-area .step-detail-ai .detail-header-row{flex-direction:column;align-items:stretch;gap:12px}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:8px}.table-responsive .pipeline-table{width:100%;border-collapse:collapse;font-size:12px;min-width:600px}.table-responsive .pipeline-table thead tr{border-bottom:1px solid rgba(255,255,255,.08);color:#9ca3af;text-align:left}.table-responsive .pipeline-table th,.table-responsive .pipeline-table td{padding:8px}.table-responsive .pipeline-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background-color .2s}.table-responsive .pipeline-table tbody tr:hover{background-color:#ffffff03}.table-responsive .pipeline-table .font-bold{font-weight:700}.table-responsive .pipeline-table .text-right{text-align:right}.table-responsive .pipeline-table .text-xs{font-size:11px}.table-responsive .pipeline-table .text-muted{color:#9ca3af}.table-responsive .pipeline-table .profit{color:#34d399}.table-responsive .pipeline-table .loss{color:#f87171}.table-responsive .pipeline-table .type-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700}.table-responsive .pipeline-table .type-badge.buy{background:#10b98126;color:#34d399}.table-responsive .pipeline-table .type-badge.sell{background:#ef444426;color:#f87171}.stocks-section .section-header{display:flex;flex-direction:column;align-items:stretch;gap:15px}.stocks-section .section-header .section-header-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.stocks-section .section-header .section-header-top h2{display:flex;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:600}.stocks-section .section-header .section-header-top .section-actions{display:flex;gap:8px;flex-wrap:wrap}.stocks-section .strategy-tabs{display:flex;gap:10px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:10px}.stocks-section .strategy-tabs .tab-btn{background:transparent;border:1px solid transparent;color:#9ca3af;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;outline:none}.stocks-section .strategy-tabs .tab-btn.active{background:#6366f126;border:1px solid rgba(99,102,241,.4);color:#c7d2fe}.stocks-section .strategy-tabs .tab-btn:hover:not(.active){color:#fff;background:#ffffff08}@media (max-width: 768px){.stocks-section .section-header{gap:10px}.stocks-section .section-header .section-header-top{flex-direction:column;align-items:stretch}.stocks-section .section-header .section-header-top .section-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.stocks-section .section-header .section-header-top .section-actions button{justify-content:center;min-height:38px;font-size:12px}}.theme-report-card{background:linear-gradient(135deg,#6366f114,#8b5cf614);border:1px solid rgba(99,102,241,.2);border-radius:10px;padding:16px;margin-bottom:20px}.theme-report-card .report-title{margin:0 0 8px;font-size:13px;color:#a5b4fc;display:flex;align-items:center;gap:6px}.theme-report-card .report-content{margin:0;font-size:12px;color:#e5e7eb;line-height:1.6;word-break:keep-all}.ledger-list{display:flex;flex-direction:column;gap:8px}.ledger-list .ledger-group{background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.04);overflow:hidden}.ledger-list .ledger-group .ledger-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;background:#ffffff03;transition:background .2s}.ledger-list .ledger-group .ledger-header.expanded{border-bottom:1px solid rgba(255,255,255,.03)}.ledger-list .ledger-group .ledger-header:hover{background:#ffffff08}.ledger-list .ledger-group .ledger-header .ledger-date{font-size:13px;font-weight:700;color:#e5e7eb}.ledger-list .ledger-group .ledger-header .ledger-day-pl{font-size:11px;font-weight:700}.ledger-list .ledger-group .ledger-header .ledger-day-pl.positive{color:#34d399}.ledger-list .ledger-group .ledger-header .ledger-day-pl.negative{color:#f87171}.ledger-list .ledger-group .ledger-content{padding:8px 12px;display:flex;flex-direction:column;gap:6px;background:#0000001a}.ledger-list .ledger-group .ledger-content .ledger-item{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.02)}.ledger-list .ledger-group .ledger-content .ledger-item:last-child{border-bottom:none}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-item-left{display:flex;align-items:center;gap:6px}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-badge{padding:2px 4px;border-radius:3px;font-size:9px;font-weight:700}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-badge.buy{background:#10b9811a;color:#10b981}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-badge.sell{background:#ef6e6e1a;color:#fca5a5}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-name{color:#e5e7eb;font-weight:500}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-detail{text-align:right}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-detail .ledger-price{color:#9ca3af}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-detail .ledger-pl{display:block;font-size:10px;font-weight:600;margin-top:2px}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-detail .ledger-pl.positive{color:#34d399}.ledger-list .ledger-group .ledger-content .ledger-item .ledger-detail .ledger-pl.negative{color:#f87171}@media (max-width: 480px){.stocks-section .stocks-grid{grid-template-columns:1fr!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f0f1a;color:#fff;line-height:1.5;min-height:100vh;margin:0}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#6366f14d}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}.text-positive{color:#10b981}.text-negative{color:#ef4444}.text-muted{color:#ffffff80}
