@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap);body,html{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.auth-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin:0 auto;max-width:400px;padding:2rem;width:100%}.auth-form h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.auth-form p{color:#7f8c8d;line-height:1.5;margin-bottom:1rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;font-size:.9rem;margin-bottom:.5rem}.form-group input{background-color:#fff;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:#95a5a6}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1rem;padding:.875rem;transition:transform .2s,box-shadow .2s;width:100%}.submit-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.submit-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.auth-links{margin-top:1rem;text-align:center}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;margin:.5rem;padding:.25rem;text-decoration:underline;transition:color .2s}.link-button:hover{color:#764ba2}.version-info{border-top:1px solid #e1e8ed;margin-top:1.5rem;padding-top:1rem;text-align:center}.version-text{color:#95a5a6;font-size:.75rem;font-weight:400}.error-message,.success-message{text-align:center}.success-message{background-color:#51cf66;border-radius:6px;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.password-reset-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.password-reset-modal{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:400px;padding:2rem;text-align:center;width:90%}.password-reset-modal h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.password-reset-modal p{color:#7f8c8d;line-height:1.6;margin-bottom:1.5rem}.password-reset-modal .modal-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:transform .2s,box-shadow .2s;width:100%}.password-reset-modal .modal-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}@media (max-width:480px){.auth-form{margin:1rem;padding:1.5rem}.auth-form h2{font-size:1.5rem}.password-reset-modal{margin:1rem;padding:1.5rem}.password-reset-modal h2{font-size:1.5rem}}.configuration{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);height:100%;margin:0 auto;overflow-y:auto;padding:var(--space-xl);width:calc(100% - 40px)}.configuration h2{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.5rem;font-size:var(--font-size-h2,1.5rem);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xl);margin-top:0;padding-bottom:var(--space-md)}.configuration-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);height:100%;overflow-y:auto;padding:var(--space-xl)}.configuration-container h2{color:var(--text-primary);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xl);text-align:center}.config-tabs{display:flex}.config-tabs,.tab-navigation{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);padding:var(--space-xs)}.tab-navigation{align-items:center;gap:var(--space-xs);margin-top:var(--space-xl);min-height:calc(var(--space-xs)*2 + 15px);overflow:hidden;padding-bottom:calc(var(--space-xs) + 7.5px);padding-top:calc(var(--space-xs) + 7.5px);position:relative;z-index:1}.configuration .tab-navigation .tab{background:none;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;flex:1 1;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);margin:0;max-width:100%;padding:var(--space-md) var(--space-lg);position:relative;transition:all .2s ease;z-index:2}.configuration .tab-navigation .tab:hover{background-color:var(--bg-hover);color:var(--text-primary)}.configuration .tab-navigation .tab.active{background-color:var(--accent-color)!important;box-shadow:var(--shadow-sm);color:#fff!important;font-weight:var(--font-weight-semibold);margin:0;position:relative;transform:none;z-index:3}div.configuration div.tab-navigation button.tab,div.configuration div.tab-navigation button.tab.active{bottom:0!important;left:0!important;margin:0!important;padding:var(--space-md) var(--space-lg)!important;position:relative!important;right:0!important;top:0!important}div.configuration div.tab-navigation button.tab.active{background-color:var(--accent-color)!important;color:#fff!important}.config-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl)}.tab-content{margin-top:var(--space-xl);padding-top:var(--space-lg);position:relative;z-index:0}.config-section{margin-top:0;padding-top:0}.config-section h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);margin-top:0;padding-bottom:var(--space-md);padding-top:var(--space-md)}.config-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.config-item{display:flex;flex-direction:column;gap:.5rem}.config-item label{color:var(--text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.config-value{gap:.75rem;min-height:32px}.config-display,.config-value{align-items:center;display:flex}.config-display{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);flex:1 1;font-size:var(--font-size-small);min-height:20px;padding:var(--space-sm) var(--space-md)}.config-display.test{background:#dcfce7;border-color:#16a34a;color:#15803d}.config-display.production{background:#fef2f2;border-color:#dc2626;color:#dc2626}.config-display.enabled{background:#dcfce7;border-color:#16a34a;color:#15803d}.config-display.disabled{background:#fef2f2;border-color:#dc2626;color:#dc2626}.config-display.risk-low{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.config-display.risk-medium{background:#fef3c7;border-color:#f59e0b;color:#d97706}.config-display.risk-high{background:#fef2f2;border-color:#dc2626;color:#dc2626}.config-input{background:#fff;border:2px solid #3b82f6;border-radius:6px;color:#374151;flex:1 1;font-size:.85rem;padding:.5rem .75rem}.config-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.edit-btn:hover{background:#1d4ed8}.edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem}.save-btn{background:#3b82f6;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.save-btn:hover{background:#1d4ed8}.cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.cancel-btn:hover{background:#4b5563}.loading{color:#64748b}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;margin-bottom:1rem;padding:1rem;text-align:center}.retry-btn{background:#3b82f6;border-radius:6px;display:block;font-size:.85rem;font-weight:500;margin:0 auto;padding:.5rem 1rem;transition:all .2s ease}.retry-btn:hover{background:#1d4ed8}@media (max-width:768px){.config-grid{gap:.75rem;grid-template-columns:1fr}.config-value{align-items:stretch;flex-direction:column;gap:.5rem}.edit-btn{align-self:flex-start}.config-tabs{flex-direction:column}.tab{text-align:center}.config-content,.configuration-container{padding:.75rem}}.report-form{background:var(--bg-primary);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:var(--text-primary);height:100%;margin:0 auto;max-width:1400px;overflow-y:auto;padding:1.5rem}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-color),#1d4ed8);-webkit-background-clip:text;background-clip:text;font-size:1.3rem;text-align:center}h1,h2{color:var(--text-primary);font-weight:600;margin-bottom:1rem}h2{align-items:center;border-bottom:2px solid var(--border-color);display:flex;font-size:1.2rem;gap:.5rem;justify-content:center;margin-top:0;padding-bottom:.5rem;text-align:center}.market-sections{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:.25rem}.market-section{display:flex;flex-direction:column}.form-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000001a;flex:1 1;padding:1rem}.header-section{align-items:end;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-hover));border:1px solid var(--border-color);display:block;margin-bottom:1rem}.header-section .form-row.four-column{grid-gap:.75rem;align-items:end;display:grid!important;gap:.75rem;grid-template-columns:180px 150px 180px 120px!important}.form-row{grid-gap:.75rem;gap:.75rem;margin-bottom:.5rem}.form-row.three-column{gap:1rem;grid-template-columns:1fr 1fr 1fr}.form-row.four-column{grid-gap:.75rem;align-items:end;display:grid;gap:.75rem;grid-template-columns:180px 150px 180px 120px!important}.form-row:last-child{margin-bottom:0}.form-group{font-size:.9rem;margin-bottom:.5rem}.form-row.four-column .form-group{margin-bottom:0}.form-group.large{grid-column:1/-1}.confidence-group{max-width:50%}label{align-items:center;color:var(--text-primary)!important;display:block;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:.5rem;text-align:left}input[type=date],input[type=text],select,textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;padding:.625rem .875rem;transition:all .2s ease;width:100%}input[type=text]::placeholder,textarea::placeholder{color:var(--text-muted);font-style:italic}input[type=date]:focus,input[type=text]:focus,select:focus,textarea:focus{background:var(--bg-primary);border-color:var(--accent-color);box-shadow:0 0 0 3px #00d4aa1a;outline:none}textarea{font-family:inherit;resize:vertical}.medium-textarea{max-height:120px;min-height:80px}.large-textarea{max-height:200px;min-height:120px}.radio-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.radio-option{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin:0;padding:.5rem 1rem;transition:all .2s ease}.radio-option:hover{background:#e2e8f0;border-color:var(--accent-color)}.radio-option input[type=radio]{accent-color:var(--accent-color);margin:0;width:auto}.radio-option input[type=radio]:checked+.radio-label{color:var(--accent-color);font-weight:500}.radio-label{color:var(--text-primary);font-weight:400;transition:color .2s ease}.form-actions{border-top:1px solid #e2e8f0;justify-content:center;margin-top:2rem;padding-top:1.5rem}.search-button-group{display:flex;flex-direction:column;justify-content:flex-start}.search-button-group label{height:0;margin-bottom:0;visibility:hidden}.search-button-group .search-btn{align-self:flex-start;margin-top:1.5rem}.search-btn{background:linear-gradient(135deg,var(--accent-color),#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 8px #00d4aa4d;color:#fff!important;cursor:pointer;font-size:.9rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.search-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover),#1e40af);box-shadow:0 4px 12px #00d4aa66;color:#fff!important;transform:translateY(-1px)}.search-btn:disabled{color:#fff!important;cursor:not-allowed;opacity:.6;transform:none}.search-btn:active,.search-btn:focus{color:#fff!important}.bottom-actions{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.reset-btn{background:linear-gradient(135deg,var(--text-muted),#4b5563);border:none;border-radius:8px;box-shadow:0 2px 8px #6b72804d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.reset-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 12px #6b728066;transform:translateY(-1px)}.delete-btn{background:linear-gradient(135deg,var(--danger-color),#dc2626);border:none;border-radius:8px;box-shadow:0 2px 8px #ef44444d;cursor:pointer;font-size:.9rem;font-weight:600;max-width:120px;padding:.75rem 1.5rem;transition:all .3s ease;width:120px}.delete-btn:hover{background:linear-gradient(135deg,var(--danger-hover),#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.export-btn{background:linear-gradient(135deg,var(--success-color),#059669);border-radius:8px;box-shadow:0 2px 8px #10b9814d;font-size:.9rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.export-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.consolidate-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;box-shadow:0 2px 4px #8b5cf633;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.consolidate-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.consolidate-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.submit-btn{align-items:center;background:linear-gradient(135deg,var(--accent-color),#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 15px #00d4aa4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(135deg,var(--accent-hover),#1e40af);box-shadow:0 6px 20px #00d4aa66;transform:translateY(-2px)}.submit-btn:active{box-shadow:0 2px 10px #00d4aa4d;transform:translateY(0)}@media (min-width:1025px){.header-section .form-row.four-column{gap:.75rem;grid-template-columns:180px 150px 180px 120px}}@media (min-width:769px) and (max-width:1024px){.market-sections{gap:1rem;grid-template-columns:1fr}.header-section .form-row.four-column{gap:.5rem;grid-template-columns:160px 130px 160px 100px}.form-row.three-column{gap:1rem;grid-template-columns:1fr}}@media (max-width:768px){.form-row{gap:1rem;grid-template-columns:1fr}.confidence-group{max-width:100%}.radio-group{flex-direction:column;gap:.75rem}.radio-option{justify-content:center}.report-form{padding:1rem}h1{font-size:1.2rem;margin-bottom:.75rem}h2{font-size:1.1rem}.form-row.three-column{gap:.75rem;grid-template-columns:1fr}.header-section .form-row.four-column{gap:.5rem;grid-template-columns:1fr 1fr 1fr 1fr}.search-button-group .search-btn{align-self:stretch;height:auto;margin-top:.5rem}}@media (max-width:480px){.report-form{padding:.75rem}.form-section{padding:1rem}h1{font-size:1.1rem;margin-bottom:.5rem}.form-row.three-column{gap:.5rem;grid-template-columns:1fr}.header-section .form-row.four-column{gap:.4rem;grid-template-columns:1fr 1fr 1fr 1fr}.header-section .form-group label{font-size:.75rem}.header-section .form-group button,.header-section .form-group input{font-size:.8rem}.confidence-group{max-width:100%}.search-button-group .search-btn{align-self:stretch;height:auto;margin-top:.5rem}.submit-btn{padding:.875rem 1.5rem;width:100%}.bottom-actions{flex-direction:column;gap:.75rem}.consolidate-btn,.delete-btn,.export-btn,.reset-btn,.submit-btn{width:100%}}.notification-toast{word-wrap:break-word;align-items:flex-start;animation:slideInRight .3s ease-out;animation-fill-mode:both;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;line-height:1.5;max-width:500px;min-width:300px;overflow-wrap:break-word;padding:16px 20px;position:fixed;right:20px;top:20px;-webkit-user-select:text;user-select:text;white-space:pre-wrap;z-index:10000}.notification-success{background:linear-gradient(135deg,#10b981,#059669);border-left:4px solid #047857;color:#fff}.notification-error{background:linear-gradient(135deg,#ef4444,#dc2626);border-left:4px solid #b91c1c;color:#fff}.notification-info{background:linear-gradient(135deg,#3b82f6,#2563eb);border-left:4px solid #1d4ed8;color:#fff}.section-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.section-header h2{border:none;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0;padding:0}.ask-gemini-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:8px;box-shadow:0 2px 8px #8b5cf64d;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.ask-gemini-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 4px 12px #8b5cf666;transform:translateY(-2px)}.ask-gemini-btn:active:not(:disabled){box-shadow:0 2px 4px #8b5cf64d;transform:translateY(0)}.ask-gemini-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.ask-gemini-btn .spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.section-header{align-items:stretch;flex-direction:column;gap:.5rem}.section-header h2{text-align:center}.ask-gemini-btn{justify-content:center;width:100%}}@media (max-width:480px){.ask-gemini-btn{font-size:.8rem;padding:.5rem .75rem}}.bulleted-textarea-container{position:relative;width:100%}.bulleted-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.5;min-height:160px;padding:.625rem .875rem;resize:vertical;transition:all .2s ease;width:100%}.bulleted-textarea:focus{background:var(--bg-primary);border-color:var(--accent-color);box-shadow:0 0 0 3px #00d4aa1a;outline:none}.bulleted-textarea::placeholder{color:var(--text-muted);font-style:italic}.bulleted-hint{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;bottom:-20px;color:var(--text-muted);font-size:.75rem;opacity:.8;padding:.25rem .5rem;pointer-events:none;position:absolute;right:0}.bulleted-textarea:focus+.bulleted-hint{background:var(--bg-tertiary);border-color:var(--accent-color);color:var(--accent-color);opacity:1}.bulleted-textarea.large-textarea,.bulleted-textarea.medium-textarea{max-height:240px;min-height:160px}@media (max-width:768px){.bulleted-hint{margin-top:.5rem;position:static;text-align:center}}.positions-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:-1px;overflow:hidden;width:100%}.tab-navigation{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;height:30px;margin-bottom:var(--space-xs)}.tab-button{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:4px var(--space-md);transition:all .2s ease;white-space:nowrap}.tab-button:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-button.active{background:var(--bg-secondary);border-bottom-color:var(--accent-color);color:var(--text-primary)}.table-filters{margin-bottom:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.filter-inputs{display:flex;gap:var(--space-md);justify-content:flex-end;width:40%}.filter-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;font-size:var(--font-size-button);padding:var(--space-sm) var(--space-md);transition:border-color .2s ease}.table-title{width:60%}.table-title h3{font-size:14px}.filter-input:focus{border-color:var(--accent-color)}.filter-input::placeholder{color:var(--text-muted)}.positions-table{border-collapse:collapse;font-size:9px;min-height:200px;width:100%}.table-header{padding:6px 8px;z-index:10}.table-header.draggable,.table-header.sortable{-webkit-user-select:none;user-select:none}.table-row{height:28px}.table-cell{font-size:9px;padding:4px 8px}.table-info{background:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:10px;padding:8px 16px;text-align:center}.empty-state{background:var(--bg-primary);padding:40px 20px}.empty-state p{font-size:14px}.empty-state p:first-child{color:var(--text-primary);font-weight:500}@media (min-width:769px) and (max-width:1024px){.tab-button{font-size:14px;min-height:44px;padding:10px 16px}.table-cell,.table-header{font-size:13px;padding:10px 12px}.pagination-btn{font-size:13px;min-height:44px;min-width:44px;padding:10px 14px}}@media (max-width:768px){.tab-navigation{-webkit-overflow-scrolling:touch;height:44px;overflow-x:auto}.tab-button{font-size:13px;min-height:44px;padding:12px 16px}.table-filters{flex-direction:column;gap:12px;padding:12px}.filter-inputs,.table-title{width:100%}.filter-input{font-size:14px;min-height:44px;padding:12px 14px;width:100%}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.positions-table{font-size:12px;min-width:800px}.table-cell,.table-header{font-size:12px;padding:12px 10px;white-space:nowrap}.pagination-btn{font-size:12px;min-height:44px;min-width:44px;padding:12px 14px}.pagination-controls{font-size:12px;padding:12px}.page-info,.pagination-info{font-size:12px}.table-wrapper:after{background:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-muted);content:"← Scroll for more →";display:block;font-size:11px;padding:8px;text-align:center}}@media (max-width:480px){.table-cell,.table-header{font-size:12px;padding:10px 8px}.positions-table,.tab-button{font-size:12px}}.pagination-controls{align-items:center;background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;font-size:9px;justify-content:space-between;padding:8px 12px}.pagination-info{color:var(--text-muted)}.pagination-buttons{align-items:center;display:flex;gap:4px}.pagination-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:8px;padding:4px 8px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-color)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.page-info{color:var(--text-primary);font-size:8px;margin:0 8px}.nyse-clock{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;display:flex;flex-direction:row;font-family:Courier New,monospace;gap:8px;justify-content:space-between;margin-right:16px;padding:4px 8px}.clock-time,.trading-session{color:#000;flex-shrink:0;font-size:8px;font-weight:400;white-space:nowrap}.trading-session{border-radius:3px;letter-spacing:.5px;padding:1px 4px;text-transform:uppercase}@media (max-width:768px){.nyse-clock{gap:6px;margin-right:8px;padding:2px 6px}.clock-time,.trading-session{font-size:8px;font-weight:400}.trading-session{padding:1px 3px}}@media (max-width:480px){.nyse-clock{gap:4px;margin-right:4px;padding:2px 4px}.clock-time,.trading-session{font-size:8px;font-weight:400}.trading-session{padding:1px 2px}}.hourglass-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f0f0f0e6;bottom:0;left:0;position:absolute;right:0;top:0;z-index:99999}.hourglass-inline,.hourglass-overlay{align-items:center;display:flex;justify-content:center}.hourglass-inline{padding:var(--space-xl)}.hourglass-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-md)}.hourglass{animation:hourglass-rotate 2s linear infinite;position:relative}.hourglass-small{height:var(--space-xl);width:var(--space-xl)}.hourglass-medium{height:var(--space-2xl);width:var(--space-2xl)}.hourglass-large{height:var(--space-3xl);width:var(--space-3xl)}.hourglass-bottom,.hourglass-top{border-left:50% solid #0000;border-right:50% solid #0000;height:0;position:absolute;width:0}.hourglass-top{animation:hourglass-top 2s linear infinite;border-bottom:50% solid var(--accent-color);top:0}.hourglass-bottom{animation:hourglass-bottom 2s linear infinite;border-top:50% solid var(--accent-color);bottom:0}.hourglass-sand{animation:hourglass-sand 2s linear infinite;background:var(--accent-color);height:50%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--space-xs)}.hourglass-message{animation:hourglass-pulse 2s ease-in-out infinite;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:center}@keyframes hourglass-rotate{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(1turn)}}@keyframes hourglass-top{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes hourglass-bottom{0%,50%{opacity:0}51%,to{opacity:1}}@keyframes hourglass-sand{0%{height:20px;opacity:1;top:20px}50%{height:0;opacity:0;top:20px}51%{height:0;opacity:0;top:20px}to{height:20px;opacity:1;top:20px}}@keyframes hourglass-pulse{0%,to{opacity:.7}50%{opacity:1}}@media (prefers-color-scheme:dark){.hourglass-overlay{background:#1e1e1ee6}.hourglass-message{color:var(--text-primary)}}.market-tabs-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md)}.market-header,.market-tabs-container{margin-bottom:var(--space-sm)}.market-tabs{gap:var(--space-xs)}.market-tab{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);transition:all .2s ease}.market-tab:hover{background:var(--bg-primary);color:var(--text-primary)}.market-tab.active{border-color:var(--accent-color)}.status-indicator{gap:var(--space-xs)}.status-dot{border-radius:var(--radius-full);height:var(--space-sm);width:var(--space-sm)}.status-text{color:var(--text-secondary);font-size:8px;font-weight:var(--font-weight-medium)}.market-indices-compact{grid-gap:var(--space-sm);gap:var(--space-sm)}.index-item-compact{border-radius:var(--radius-sm);flex-direction:column;min-height:var(--space-2xl);padding:var(--space-xs) var(--space-sm)}.index-header{margin-bottom:2px}.index-header,.index-values{align-items:center;display:flex;justify-content:space-between}.index-item-compact:hover{background:var(--bg-primary);border-color:var(--accent-color)}.index-name-compact{color:var(--text-primary);font-size:5px;font-weight:600}.index-name-compact,.index-value-compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-value-compact{font-size:8px;text-align:left}.index-change-compact{font-size:8px;font-weight:600;white-space:nowrap}.change-positive{color:#0f8}.change-negative{color:#f44}.market-empty{background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:6px;font-style:italic;grid-column:1/-1;padding:12px;text-align:center}@media (max-width:1200px){.market-indices-compact{gap:4px;grid-template-columns:repeat(2,1fr)}.index-item-compact{min-height:24px;padding:3px 6px}.index-name-compact{font-size:8px}.index-value-compact{font-size:11px}.index-change-compact{font-size:10px}}@media (max-width:768px){.market-tabs-container{padding:6px 8px}.market-tabs{gap:2px}.market-tab{font-size:9px;padding:3px 6px}.market-indices-compact{gap:3px;grid-template-columns:1fr}.index-item-compact{min-height:20px;padding:2px 4px}.index-name-compact{font-size:7px}.index-value-compact{font-size:10px}.index-change-compact{font-size:9px}}@media (max-width:480px){.market-header{align-items:flex-start;flex-direction:column;gap:4px}.market-tabs{justify-content:space-between;width:100%}.market-tab{flex:1 1;font-size:8px;padding:2px 4px;text-align:center}}.calendar-overlay{align-items:flex-start;background-color:#00000080;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;left:0;overflow-y:auto;padding:10px;position:fixed;right:0;top:0;z-index:2000000}.calendar-container{background-color:#f3f4f6;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:95vh;max-width:1100px;min-height:85vh;overflow:hidden;position:relative;width:100%}.calendar-overlay.dark-theme .calendar-container{background-color:#2c3e50;color:#ecf0f1}.calendar-header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 16px}.calendar-overlay.dark-theme .calendar-header{background-color:#34495e;border-bottom-color:#4a5f7f}.calendar-header h2{color:#1f2937;font-size:18px;font-weight:600;margin:0}.calendar-overlay.dark-theme .calendar-header h2{color:#ecf0f1}.calendar-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.calendar-close-btn:hover{background-color:#f3f4f6;color:#1f2937}.calendar-overlay.dark-theme .calendar-close-btn{color:#bdc3c7}.calendar-overlay.dark-theme .calendar-close-btn:hover{background-color:#4a5f7f;color:#ecf0f1}.calendar-nav{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 16px}.calendar-overlay.dark-theme .calendar-nav{background-color:#34495e;border-bottom-color:#4a5f7f}.calendar-nav button{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 1px 2px #0000000d;color:#374151;cursor:pointer;font-size:16px;font-weight:500;padding:6px 12px;transition:all .2s}.calendar-nav button:hover{background-color:#f9fafb;border-color:#2962ff;box-shadow:0 2px 4px #0000001a;color:#2962ff}.calendar-overlay.dark-theme .calendar-nav button{background-color:#4a5f7f;border-color:#5a6f8f;color:#ecf0f1}.calendar-overlay.dark-theme .calendar-nav button:hover{background-color:#5a6f8f;border-color:#2962ff}.calendar-month-year{align-items:center;color:#111827;display:flex;font-size:15px;font-weight:600;gap:12px}.calendar-overlay.dark-theme .calendar-month-year{color:#ecf0f1}.today-btn{font-size:12px!important;font-weight:500!important;padding:4px 10px!important}.calendar-grid{grid-gap:1px;background-color:#d1d5db;display:grid;flex:1 1;gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,1fr);margin:0;min-height:500px;overflow:hidden;padding:1px}.calendar-overlay.dark-theme .calendar-grid{background-color:#4a5f7f}.calendar-weekday-header{background-color:#f9fafb;color:#6b7280;flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.3px;padding:6px 2px;text-align:center;text-transform:uppercase}.calendar-overlay.dark-theme .calendar-weekday-header{background-color:#34495e;color:#95a5a6}.calendar-day{background-color:#fff;border-radius:4px;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:6px;position:relative;transition:all .15s}.calendar-overlay.dark-theme .calendar-day{background-color:#34495e}.calendar-day:hover{background-color:#f9fafb!important;box-shadow:inset 0 0 0 1px #2962ff}.calendar-overlay.dark-theme .calendar-day:hover{background-color:#4a5f7f!important}.calendar-day.other-month{opacity:.35}.calendar-day.holiday-weekend{background-color:#f5f3ff!important}.calendar-overlay.dark-theme .calendar-day.holiday-weekend{background-color:#3a2f4f!important}.calendar-day.today{background-color:#2962ff0a!important;box-shadow:inset 0 0 0 2px #2962ff}.calendar-overlay.dark-theme .calendar-day.today{background-color:#2962ff26!important}.calendar-day-number{color:#111827;flex-shrink:0;font-size:14px;font-weight:600;margin-bottom:4px}.calendar-overlay.dark-theme .calendar-day-number{color:#ecf0f1}.calendar-day-events{grid-gap:2px;display:grid;flex:1 1;gap:2px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);min-height:0;overflow:hidden}.calendar-event-item{align-items:flex-start;background-color:#fff;border-radius:3px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;flex-direction:column;font-size:7px;gap:2px;min-height:0;overflow:hidden;padding:4px 6px 4px 8px;position:relative;transition:all .15s}.calendar-overlay.dark-theme .calendar-event-item{opacity:.95}.calendar-event-item:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px);z-index:10}.event-controls{display:flex;gap:2px;opacity:0;position:absolute;right:2px;top:2px;transition:opacity .2s;z-index:5}.calendar-event-item:hover .event-controls{opacity:1}.event-edit-btn{align-items:center;background:#ffffffe6;border:1px solid #0000001a;border-radius:3px;box-shadow:0 1px 2px #0000001a;color:#6b7280;cursor:pointer;display:flex;font-size:9px;height:16px;justify-content:center;padding:0;transition:all .15s;width:16px}.event-edit-btn:hover{background-color:#2962ff26;border-color:#2962ff;color:#2962ff}.event-content{display:flex;flex:1 1;flex-direction:column;gap:1px;line-height:1.2;min-width:0;width:100%}.event-stock-code{color:#111827;font-size:7px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-overlay.dark-theme .event-stock-code{color:#ecf0f1}.event-meta{align-items:center;color:#6b7280;display:flex;font-size:6px;gap:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-overlay.dark-theme .event-meta{color:#95a5a6}.event-time{font-weight:600}.event-separator{margin:0 1px}.event-category{font-style:italic}.event-limit-indicator{background-color:#fef2f2;border-radius:2px;color:#ef4444;font-size:6px;font-weight:600;margin-top:2px;padding:2px;text-align:center}.calendar-event-form-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000001}.calendar-event-form{background-color:#fff;border-radius:12px;box-shadow:0 20px 60px #0006;max-height:85vh;max-width:580px;overflow-y:auto;padding:28px;width:90%}.calendar-overlay.dark-theme .calendar-event-form{background-color:#34495e;color:#ecf0f1}.calendar-event-form h3{color:#111827;font-size:22px;font-weight:600;margin:0 0 24px}.calendar-overlay.dark-theme .calendar-event-form h3{color:#ecf0f1}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.form-group{margin-bottom:18px}.form-group label{color:#374151;font-size:15px}.calendar-overlay.dark-theme .form-group label{color:#ecf0f1}.required{color:#ef4444;margin-left:2px}.optional{color:#9ca3af;font-size:13px;font-weight:400}.form-group input,.form-group select,.form-group textarea,.form-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:15px;padding:12px 14px;transition:all .2s;width:100%}.calendar-overlay.dark-theme .form-group input,.calendar-overlay.dark-theme .form-group select,.calendar-overlay.dark-theme .form-group textarea,.calendar-overlay.dark-theme .form-select{background-color:#4a5f7f;border-color:#5a6f8f;color:#ecf0f1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-select:focus{border-color:#2962ff;box-shadow:0 0 0 3px #2962ff1a;outline:none}.comments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.toggle-comments-btn{background:none;border:none;border-radius:4px;color:#2962ff;cursor:pointer;font-size:13px;padding:4px 8px;transition:all .2s}.toggle-comments-btn:hover{background-color:#2962ff1a}.color-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}.color-option{align-items:center;aspect-ratio:1;border:3px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;justify-content:center;min-height:50px;position:relative;transition:all .2s;width:100%}.color-option:hover{box-shadow:0 4px 8px #0003;transform:scale(1.08)}.color-option.active{border-color:#2962ff;box-shadow:0 0 0 4px #2962ff33;transform:scale(1.05)}.color-checkmark{color:#1f2937;font-size:24px;font-weight:700;text-shadow:0 1px 2px #fffc}.form-actions{gap:12px;margin-top:24px}.cancel-btn,.delete-btn,.save-btn{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:13px;transition:all .2s}.save-btn{background-color:#2962ff;color:#fff}.save-btn:hover:not(:disabled){background-color:#1e4ed8;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background-color:#f3f4f6;color:#374151}.calendar-overlay.dark-theme .cancel-btn{background-color:#4a5f7f;color:#ecf0f1}.cancel-btn:hover{background-color:#e5e7eb}.calendar-overlay.dark-theme .cancel-btn:hover{background-color:#5a6f8f}.delete-btn{background-color:#ef4444;color:#fff}.delete-btn:hover:not(:disabled){background-color:#dc2626;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.delete-btn:disabled{cursor:not-allowed;opacity:.6}.form-hint{color:#9ca3af;font-size:12px;margin-top:12px;text-align:center}.form-hint kbd{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;font-family:monospace;font-size:11px;padding:2px 6px}.calendar-overlay.dark-theme .form-hint kbd{background-color:#4a5f7f;border-color:#5a6f8f;color:#ecf0f1}.calendar-loading{align-items:center;background-color:#fffffff2;border-radius:12px;box-shadow:0 4px 20px #0003;display:flex;flex-direction:column;gap:12px;left:50%;padding:24px 32px;position:absolute;top:50%;transform:translate(-50%,-50%)}.calendar-overlay.dark-theme .calendar-loading{background-color:#34495efa;color:#ecf0f1}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#2962ff;height:32px;width:32px}.calendar-legend{background-color:#fff;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:center;padding:8px 16px}.calendar-overlay.dark-theme .calendar-legend{background-color:#34495e;border-top-color:#4a5f7f}.legend-item{color:#374151;font-size:11px;gap:6px}.calendar-overlay.dark-theme .legend-item{color:#bdc3c7}.legend-color{border-radius:3px;box-shadow:0 1px 2px #0000001a;height:16px;width:16px}@media (max-width:1024px) and (min-width:768px){.calendar-container{max-height:98vh;max-width:95%;min-height:80vh}.calendar-grid{min-height:450px}.calendar-header{padding:14px 16px}.calendar-nav{padding:10px 16px}.calendar-day{padding:5px}.calendar-day-number{font-size:13px;margin-bottom:4px}.calendar-event-item{font-size:8px;min-height:18px;padding:4px 7px 4px 9px}.event-stock-code{font-size:8px}.event-meta{font-size:7px}.event-controls{opacity:1}.event-delete-btn,.event-edit-btn{font-size:12px;height:18px;width:18px}.color-option{min-height:55px}.form-group input,.form-group select,.form-group textarea,.form-select{font-size:16px;min-height:44px;padding:14px 16px}.cancel-btn,.save-btn{font-size:16px;min-height:48px;padding:15px}}@media (max-width:767px){.calendar-overlay{padding:10px}.calendar-container{border-radius:8px;max-height:98vh;max-width:100%;min-height:75vh}.calendar-grid{min-height:400px}.calendar-header{padding:12px 14px}.calendar-header h2{font-size:18px}.calendar-nav{padding:8px 14px}.calendar-month-year{font-size:14px;gap:8px}.calendar-weekday-header{font-size:10px;padding:6px 2px}.calendar-day{padding:4px}.calendar-day-number{font-size:11px;margin-bottom:3px}.calendar-legend{gap:12px;padding:10px 14px}.calendar-event-item{font-size:7px;min-height:14px;padding:3px 5px 3px 6px}.event-stock-code{font-size:7px}.event-meta{font-size:6px}.event-controls{opacity:1}.event-delete-btn,.event-edit-btn{font-size:11px;height:16px;width:16px}.form-row{gap:0;grid-template-columns:1fr}.calendar-event-form{max-width:100%;padding:20px}.calendar-event-form h3{font-size:18px}.color-grid{gap:8px;grid-template-columns:repeat(5,1fr)}.color-option{min-height:42px}.color-checkmark{font-size:18px}.calendar-legend{flex-direction:column;gap:10px;padding:14px}.form-group input,.form-group select,.form-group textarea,.form-select{font-size:16px;min-height:44px;padding:14px 12px}.cancel-btn,.save-btn{min-height:48px;padding:14px}}.calendar-message{align-items:center;animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s;animation-fill-mode:both;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;font-size:14px;font-weight:500;gap:8px;max-width:400px;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:2000002}.calendar-message-success{background:linear-gradient(135deg,#10b981,#059669);border-left:4px solid #047857;color:#fff}.calendar-message-error{background:linear-gradient(135deg,#ef4444,#dc2626);border-left:4px solid #b91c1c;color:#fff}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.calendar-container::-webkit-scrollbar,.calendar-event-form::-webkit-scrollbar{width:8px}.calendar-container::-webkit-scrollbar-track,.calendar-event-form::-webkit-scrollbar-track{background:#f3f4f6}.calendar-container::-webkit-scrollbar-thumb,.calendar-event-form::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.calendar-container::-webkit-scrollbar-thumb:hover,.calendar-event-form::-webkit-scrollbar-thumb:hover{background:#9ca3af}.calendar-overlay.dark-theme .calendar-container::-webkit-scrollbar-track,.calendar-overlay.dark-theme .calendar-event-form::-webkit-scrollbar-track{background:#2c3e50}.calendar-overlay.dark-theme .calendar-container::-webkit-scrollbar-thumb,.calendar-overlay.dark-theme .calendar-event-form::-webkit-scrollbar-thumb{background:#4a5f7f}.calendar-overlay.dark-theme .calendar-container::-webkit-scrollbar-thumb:hover,.calendar-overlay.dark-theme .calendar-event-form::-webkit-scrollbar-thumb:hover{background:#5a6f8f}:root{--text-secondary:#6c757d;--text-muted:#adb5bd;--accent-blue:#007bff;--accent-green:#28a745;--accent-red:#dc3545;--accent-yellow:#ffc107;--shadow:0 2px 8px #0000001a;--font-family:"Inter","Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","Fira Code","Monaco","Courier New",monospace}*{font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-family)}.playground-dashboard{background:#fff;background:var(--bg-primary);color:#212529;color:var(--text-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.playground-dashboard-layout{display:flex;flex:1 1;flex-direction:row;overflow:hidden}.playground-main-content{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.playground-watchlist-sidebar{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;margin-right:8px;overflow:hidden;transition:width .3s ease;width:280px}.playground-watchlist-sidebar.collapsed{width:60px}.playground-watchlist-header{align-items:center;background:#e9ecef;background:var(--bg-tertiary);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:8px 12px}.playground-watchlist-sidebar.collapsed .playground-watchlist-header{justify-content:flex-start;padding:8px 4px}.playground-watchlist-sidebar.collapsed .playground-watchlist-header h3{display:none}.playground-watchlist-header h3{color:#212529;color:var(--text-primary);font-size:10px;font-weight:400;margin:0;transition:opacity .3s ease}.playground-collapse-toggle{align-items:center;background:#007bff;border:2px solid #0056b3;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:28px;justify-content:center;position:relative;transition:all .2s ease;width:28px;z-index:10}.playground-watchlist-sidebar.collapsed .playground-collapse-toggle{font-size:16px;height:24px;margin-left:4px;width:24px}.playground-collapse-toggle:hover{background:#0056b3;border-color:#004085;color:#fff;transform:scale(1.1)}.playground-watchlist-items{flex:1 1;max-height:calc(100vh - 100px);overflow-y:auto;padding:6px}.playground-watchlist-items::-webkit-scrollbar{width:6px}.playground-watchlist-items::-webkit-scrollbar-track{background:#e9ecef;background:var(--bg-tertiary);border-radius:3px}.playground-watchlist-items::-webkit-scrollbar-thumb{background:#adb5bd;background:var(--text-muted);border-radius:3px}.playground-watchlist-items::-webkit-scrollbar-thumb:hover{background:#6c757d;background:var(--text-secondary)}.playground-watchlist-item{align-items:flex-start;background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin:2px 0;padding:8px 12px;transition:all .2s ease}.playground-watchlist-item:hover{background:var(--bg-hover);border-color:#007bff;border-color:var(--accent-blue)}.playground-watchlist-item.active{background:#e8f5e8;border:2px solid #0a0;box-shadow:0 2px 4px #0a03;color:#000}.playground-stock-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:2px;text-align:left}.playground-stock-symbol{color:#212529;color:var(--text-primary);font-size:12px;font-weight:600;text-align:left}.playground-stock-name{color:#6c757d;color:var(--text-secondary);font-size:10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.playground-price-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px;text-align:right}.playground-current-price{color:#212529;color:var(--text-primary);font-size:11px;font-weight:600;text-align:right}.playground-price-change{font-size:10px;text-align:right}.playground-price-change.change-positive{color:#28a745;color:var(--accent-green)}.playground-price-change.change-negative{color:#dc3545;color:var(--accent-red)}.playground-no-watchlist{color:#6c757d;color:var(--text-secondary);font-size:11px;padding:16px;text-align:center}.playground-no-watchlist p{margin:4px 0}.playground-watchlist-items-collapsed{flex:1 1;max-height:calc(100vh - 100px);overflow-y:auto;padding:4px}.playground-watchlist-item-collapsed{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);cursor:pointer;font-size:8px;font-weight:600;margin:2px 0;max-width:42px;overflow:hidden;padding:6px 4px;text-align:center;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.playground-watchlist-item-collapsed:hover{background:var(--bg-hover);border-color:#007bff;border-color:var(--accent-blue);transform:scale(1.05)}.playground-watchlist-item-collapsed.active{background:#e8f5e8;border:2px solid #0a0;box-shadow:0 2px 4px #0a03;color:#000}.playground-no-watchlist-collapsed{color:#adb5bd;color:var(--text-muted);padding:10px;text-align:center}.playground-no-watchlist-collapsed p{font-size:8px;margin:2px 0}.playground-watchlist-controls{background:#e9ecef;background:var(--bg-tertiary);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;padding:8px}.playground-watchlist-search-container{position:relative;width:100%}.playground-watchlist-search-input{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);font-size:11px;padding:6px 28px 6px 8px;transition:border-color .2s ease;width:100%}.playground-watchlist-search-input:focus{border-color:#007bff;border-color:var(--accent-blue);box-shadow:0 0 0 2px #007bff1a;outline:none}.playground-watchlist-search-input::placeholder{color:#adb5bd;color:var(--text-muted);font-style:italic}.playground-watchlist-search-clear{background:none;border:none;border-radius:3px;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 4px;position:absolute;right:6px;top:50%;transform:translateY(-50%);transition:all .2s ease}.playground-watchlist-search-clear:hover{background:var(--bg-hover);color:#dc3545;color:var(--accent-red)}.playground-watchlist-sort-buttons{display:flex;flex-wrap:wrap;gap:4px}.playground-watchlist-sort-btn{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#6c757d;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:10px;font-weight:500;min-width:70px;padding:5px 8px;transition:all .2s ease;white-space:nowrap}.playground-watchlist-sort-btn:hover{background:var(--bg-hover);border-color:#007bff;border-color:var(--accent-blue);color:#212529;color:var(--text-primary)}.playground-watchlist-sort-btn.active{background:#007bff;background:var(--accent-blue);border-color:#007bff;border-color:var(--accent-blue);color:#fff;font-weight:600}.playground-watchlist-clear-all{background:#fff;background:var(--bg-primary);border:1px solid #dc3545;border:1px solid var(--accent-red);border-radius:4px;color:#dc3545;color:var(--accent-red);cursor:pointer;font-size:10px;font-weight:500;padding:5px 8px;transition:all .2s ease;width:100%}.playground-watchlist-clear-all:hover{background:#dc3545;background:var(--accent-red);color:#fff}.playground-watchlist-count{color:#6c757d;color:var(--text-secondary);font-size:9px;padding:4px;text-align:center}.playground-watchlist-count .filtered-count{color:#007bff;color:var(--accent-blue);font-weight:600}.playground-watchlist-count .total-count{color:#6c757d;color:var(--text-secondary)}.playground-controls{align-items:center;background:none;border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:6px;cursor:pointer;justify-content:center;padding:0;transition:all .2s;white-space:nowrap;width:100Px}.playground-content{flex:1 1;overflow:hidden}.playground-instance-wrapper{height:100%;width:100%}.playground-footer{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border-top:.5px solid #dee2e6;border-top:.5px solid var(--border-color);display:flex;justify-content:space-between;margin:0;padding:4px 8px}.instance-count{color:#007bff;color:var(--accent-blue);font-size:8px;font-weight:600}.info-text{color:#6c757d;color:var(--text-secondary);font-size:8px}.stock-search-modal{background:var(--bg-primary)}.modal-header{border-bottom:1px solid var(--border-color)}.modal-title{color:var(--text-primary)}.modal-close-btn{color:#adb5bd;color:var(--text-muted)}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-input{background:var(--bg-primary);border:2px solid var(--accent-blue)}.search-input::placeholder{color:#adb5bd;color:var(--text-muted)}.category-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:#6c757d;color:var(--text-secondary)}.category-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.category-btn.active{background:var(--accent-blue);border-color:var(--accent-blue)}.stock-item:hover{border-color:var(--border-color)}.stock-item.selected{background:var(--accent-blue);border-color:var(--accent-blue)}.change.positive{color:var(--accent-green)}.change.negative{color:var(--accent-red)}.no-results{color:#adb5bd;color:var(--text-muted)}@media (max-width:768px){.stock-search-modal{max-height:90vh;width:95%}.modal-header{padding:16px 20px 12px}.search-input-container{padding:12px 20px}.category-filters{flex-wrap:wrap;padding:0 20px 12px}.search-results{padding:0 20px 20px}.stock-item{padding:10px 12px}}.playground-stock-selector{margin:0;max-width:300px;padding:0;position:relative;width:100%;z-index:100000}.stock-selector-trigger{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;font-size:11px;justify-content:space-between;margin:0;padding:4px 8px;transition:all .2s ease}.stock-selector-trigger:hover{background:var(--bg-hover);border-color:var(--accent-color)}.stock-info{align-items:flex-start}.stock-name{font-size:10px;margin-top:2px}.stock-price{margin-left:8px}.price{color:var(--text-primary);font-size:11px}.change{font-size:9px;margin-top:2px}.change.positive{color:var(--success-color)}.change.negative{color:var(--error-color)}.dropdown-arrow{color:#6c757d;color:var(--text-secondary);font-size:10px;margin-left:8px;transition:transform .2s ease}.stock-selector-dropdown{background:#fff;background:var(--bg-primary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:4px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow);left:0;max-height:300px;overflow:hidden;position:absolute;right:0;top:100%;z-index:99999}.search-container{border-bottom:.5px solid #dee2e6;border-bottom:.5px solid var(--border-color);padding:8px}.search-input{background:#f8f9fa;background:var(--bg-secondary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px;padding:6px 8px}.search-input:focus{border-color:var(--accent-color)}.watchlist-container{max-height:200px;overflow-y:auto}.stock-item{border-bottom:.5px solid #dee2e6;border-bottom:.5px solid var(--border-color);padding:8px 12px;transition:background-color .2s ease}.stock-item:last-child{border-bottom:none}.stock-item:hover{background:var(--bg-hover)}.stock-item.selected{background:var(--accent-color)}.no-results{color:var(--text-secondary);font-size:11px;padding:16px}.no-data{color:#6c757d;color:var(--text-secondary);font-size:10px}.playground-chart-container .tv-lightweight-charts,.playground-chart-container .tv-lightweight-charts *,.playground-chart-container canvas,.playground-chart-container div[data-chart]{font-size:8px!important}.playground-chart-container{background:#fff;background:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 200px);overflow:hidden;padding:0 20px;position:relative;z-index:1}@media (max-width:768px){.playground-chart-container{height:calc(100vh - 150px)!important;max-height:calc(100vh - 150px)!important;overflow:hidden!important;padding:0 8px!important}.playground-chart-container>div{height:100%!important;max-height:100%!important;overflow:hidden!important}}@media (max-width:480px){.playground-chart-container{height:calc(100vh - 120px)!important;max-height:calc(100vh - 120px)!important;padding:0 4px!important}}.playground-chart-container>div{flex:1 1;position:relative;width:100%;z-index:1}.playground-chart-container .tv-lightweight-charts .crosshair,.playground-chart-container .tv-lightweight-charts .crosshair-label,.playground-chart-container .tv-lightweight-charts .crosshair-line{z-index:9999!important}.playground-chart-container canvas,.playground-chart-container div[data-chart]{z-index:1!important}.playground-instance{background:#fff;background:var(--bg-primary);display:flex;flex-direction:column;height:100%;position:relative;width:100%}.playground-tabs{background:#f8f9fa;background:var(--bg-secondary);border-bottom:.5px solid #dee2e6;border-bottom:.5px solid var(--border-color);padding:3px}.tabs-container{display:flex;gap:4px;overflow-x:auto}.tab{background:#fff;border:.1px solid #d3dbd9!important;color:#424242;gap:4px;justify-content:space-between;max-height:24px;min-width:90px;white-space:nowrap}.tab,.tab-content{align-items:center;display:flex}.tab-content{flex:1 1;flex-direction:column;gap:1px;justify-content:flex-start;line-height:1.2;min-height:39px;padding-top:.5px}.tab:hover{background:#fff;background:var(--bg-primary)}.tab.active,.tab:hover{border-color:#007bff;border-color:var(--accent-blue)}.tab.active{background:var(--accent-blue)}.tab-label{font-size:8px;font-weight:500;line-height:.5;margin:0;padding:0}.tab-symbol{display:block;font-size:7px;font-weight:600;line-height:1;margin:0;padding:0}.tab-symbol-positive{background-color:#22c55e}.tab-symbol-negative,.tab-symbol-positive{border-radius:2px;color:#fff;display:inline-block;font-weight:700;line-height:1.1;padding:1px}.tab-symbol-negative{background-color:#ef4444}.tab-symbol-neutral{background-color:#6b7280;border-radius:2px;color:#fff;display:inline-block;font-weight:700;line-height:1.1;padding:1px}.tab.active .tab-symbol-positive{background-color:#16a34a;border-radius:3px;color:#fff;display:inline-block;font-weight:700;opacity:1;padding:2px 4px}.tab.active .tab-symbol-negative{background-color:#dc2626}.tab.active .tab-symbol-negative,.tab.active .tab-symbol-neutral{border-radius:2px;color:#fff;display:inline-block;font-weight:700;line-height:1.1;opacity:1;padding:1px}.tab.active .tab-symbol-neutral{background-color:#9ca3af}.tab-close{background:none;border:none;color:inherit;cursor:pointer;font-size:10px;opacity:.7;padding:0;transition:opacity .2s}.tab-close:hover{opacity:1}.add-tab{background:#e9ecef;background:var(--bg-tertiary);border:1px dashed #dee2e6;border:1px dashed var(--border-color);cursor:pointer;flex-shrink:0;font-size:14px;min-width:auto;padding:4px 8px;transition:all .2s;width:auto}.add-tab:hover{background:#fff;background:var(--bg-primary);border-color:#28a745;border-color:var(--accent-green);color:#28a745;color:var(--accent-green)}.playground-error{align-items:center;background:#f851491a;border:1px solid #dc3545;border:1px solid var(--accent-red);border-radius:6px;display:flex;gap:12px;margin:16px;padding:12px 16px}.error-message{color:#dc3545;color:var(--accent-red)}.playground-loading{align-items:center;background:#ffffffe6;bottom:0;display:flex;flex-direction:column;gap:16px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.loading-spinner{font-size:48px}.loading-text{color:#6c757d;color:var(--text-secondary);font-size:10px}.playground-controls{align-items:flex-start;background:#f8f9fa;background:var(--bg-secondary);border-bottom:.5px solid #dee2e6;border-bottom:.5px solid var(--border-color);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;height:auto;overflow-x:auto;padding:4px 12px;width:100%}.control-section{align-items:center;display:flex;flex-direction:row;gap:4px}.control-section.stock-selector-section{justify-content:center;margin:0;min-width:190px;padding:0}.control-section.timeframe-section{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.control-section.timeframe-section>label{display:inline-block;font-size:9px;margin-right:4px}.control-section.timeframe-section>.period-row,.control-section.timeframe-section>.quick-range-row,.control-section.timeframe-section>.range-row{align-items:center;display:flex;flex-direction:row;gap:4px}.control-section.timeframe-section>.quick-range-row{margin-top:2px}.quick-range-row>label{font-size:9px;margin-right:4px}.quick-range-buttons{display:flex;gap:2px}.control-button.quick-range{font-size:9px;font-weight:500;letter-spacing:.3px;min-width:38px;padding:3px 6px}.control-button.quick-range:disabled{cursor:not-allowed;opacity:.4}.control-button.quick-range:disabled:hover{background:#e9ecef;background:var(--bg-tertiary);border-color:#dee2e6;border-color:var(--border-color)}.control-section.chart-type-section{align-items:flex-start}.control-section.chart-type-section,.control-section.chart-type-section .chart-type-container{display:flex;flex-direction:column;gap:4px}.control-section.chart-type-section .chart-type-row{align-items:center;display:flex;flex-direction:row;gap:4px}.control-section.chart-type-section .chart-type-row>label{font-size:9px;margin:0;min-width:35px}.control-section.chart-type-section .button-group-row{display:flex;gap:4px;margin-left:35px}.control-section.indicator-section{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.control-section.indicator-section .indicator-row{align-items:center;display:flex;flex-direction:row;gap:4px}.control-section.indicator-section .indicator-row>label{font-size:9px;margin:0;min-width:60px}.control-section.indicator-section .indicator-row-second{align-items:center;display:flex;flex-direction:row;margin-left:64px}.control-section.ma-section{position:relative}.control-section label{color:#6c757d;color:var(--text-secondary);font-size:9px;font-weight:500}.control-select{background:#e9ecef;background:var(--bg-tertiary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);font-size:9px;padding:3px 8px;transition:all .2s;width:70px}.control-select:focus,.control-select:hover{border-color:#007bff;border-color:var(--accent-blue)}.control-select:focus{box-shadow:0 0 0 2px #58a6ff33}.control-button{background:#e9ecef;background:var(--bg-tertiary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);cursor:pointer;font-size:9px;min-width:60px;padding:3px 8px;text-align:center;transition:all .2s}.control-button:hover{background:#fff;background:var(--bg-primary)}.control-button.active,.control-button:hover{border-color:#007bff;border-color:var(--accent-blue)}.control-button.active{background:#007bff;background:var(--accent-blue);color:#fff}.button-group{display:flex;gap:4px}.checkbox-group{align-items:flex-start;display:flex;flex-direction:column}.checkbox-label{color:#6c757d;color:var(--text-secondary);font-size:9px}.symbol-display{align-items:center;display:flex;gap:8px}.symbol-text{color:#007bff;color:var(--accent-blue);font-weight:700}.loading-indicator,.symbol-text{font-size:10px}.ohlcv-section{align-items:center;display:flex;flex-shrink:0;margin-left:auto;min-height:24px}.ohlcv-display{align-items:flex-start;display:flex;flex-direction:column;font-family:JetBrains Mono,Fira Code,Monaco,Courier New,monospace;font-family:var(--font-mono);font-size:9px;gap:4px;min-height:20px}.ohlcv-time-container{display:flex;justify-content:center;margin-bottom:2px;width:100%}.ohlcv-time{color:#212529;color:var(--text-primary);font-size:9px;font-weight:500;white-space:nowrap}.ohlcv-values-container{align-items:center;display:flex;gap:12px;white-space:nowrap}.ohlcv-item{align-items:center;display:flex;gap:2px}.ohlcv-label{margin-right:2px}.ohlcv-label.ohlcv-open{color:#2196f3}.ohlcv-label.ohlcv-high{color:#4caf50}.ohlcv-label.ohlcv-low{color:#f44336}.ohlcv-label.ohlcv-close{color:#333}.ohlcv-label.ohlcv-volume{color:#1976d2}.ohlcv-value{color:#212529;color:var(--text-primary);font-weight:500}.refresh-button{font-size:8px}.playground-metrics-display{align-items:center;display:flex;font-family:Arial,sans-serif;gap:12px;padding:4px 8px;position:absolute;right:50px;top:0;z-index:1000}.playground-metric-item{align-items:center;display:flex;gap:4px}.playground-metric-label{color:#000;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.playground-metric-value{color:#000;font-family:Courier New,monospace;font-size:10px;font-weight:400}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.ai-window{background:#f8f9fa;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow);margin:16px;padding:16px}.ai-window-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ai-window-header h3{color:#212529;color:var(--text-primary);font-size:14px;margin:0}.btn-create{background:#28a745;background:var(--accent-green);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-create:hover{background:#2ea043}.ai-create-form{background:#e9ecef;background:var(--bg-tertiary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:6px;padding:16px}.ai-create-form,.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{color:#6c757d;color:var(--text-secondary);display:block;font-size:11px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{background:#fff;background:var(--bg-primary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);font-size:11px;padding:8px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;border-color:var(--accent-blue);box-shadow:0 0 0 2px #58a6ff33;outline:none}.condition-inputs{display:flex;gap:8px}.condition-inputs input,.condition-inputs select{flex:1 1}.btn-save{background:#007bff;background:var(--accent-blue);border:none;border-radius:4px;cursor:pointer;font-size:10px;font-weight:500;margin-top:16px;padding:10px;transition:all .2s;width:100%}.btn-save:hover{background:#4493e7}.ai-logic-list{display:flex;flex-direction:column;gap:12px}.empty-state{color:#adb5bd;padding:32px 16px}.empty-state p{margin:8px 0}.empty-hint{font-size:11px}.logic-item{background:#e9ecef;background:var(--bg-tertiary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:6px;padding:16px;transition:all .2s}.logic-item.enabled{border-color:#28a745;border-color:var(--accent-green)}.logic-item.disabled{opacity:.6}.logic-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.logic-name{color:#212529;color:var(--text-primary);font-size:10px;font-weight:600}.logic-actions{display:flex;gap:8px}.btn-delete,.btn-toggle{background:none;border:none;cursor:pointer;font-size:14px;transition:all .2s}.btn-delete:hover,.btn-toggle:hover{background:#dc3545;background:var(--accent-red);color:#fff}.logic-details{margin-bottom:12px}.logic-alerts,.logic-conditions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.alert-tag,.condition-tag{background:#fff;background:var(--bg-primary);border:.5px solid #dee2e6;border:.5px solid var(--border-color);border-radius:4px;color:#6c757d;color:var(--text-secondary);display:inline-block;font-size:10px;padding:4px 8px}.logic-meta{align-items:center;border-top:.5px solid #dee2e6;border-top:.5px solid var(--border-color);color:#adb5bd;color:var(--text-muted);display:flex;font-size:10px;justify-content:space-between;padding-top:12px}.logic-status{font-weight:500}@media (max-width:1024px){.playground-controls{align-items:stretch;flex-direction:column}.control-section{width:100%}.ohlcv-display{flex-direction:column;gap:4px;min-height:40px;white-space:normal}.ohlcv-section{margin-left:0;width:100%}}@media (max-width:768px){.tabs-container{overflow-x:scroll}.playground-header{align-items:flex-start;flex-direction:column;gap:8px}.ai-window{margin:8px;padding:12px}}.ma-control{display:inline-block;position:relative}.ma-toggle-btn{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;color:#333;color:var(--text-primary,#333);cursor:pointer;display:flex;font-size:10px;font-weight:600;height:24px;justify-content:center;min-width:32px;outline:none;padding:4px 8px;transition:all .2s ease}.ma-toggle-btn:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa);border-color:#d0d0d0;border-color:var(--border-color-hover,#d0d0d0)}.ma-toggle-btn:active{background:#1976d2;background:var(--primary-color,#1976d2);border-color:#1976d2;border-color:var(--primary-color,#1976d2);color:#fff}.ma-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;min-height:100vh;overflow-y:auto;padding:40px 20px 20px;position:fixed;right:0;top:0;z-index:999999}.ma-modal{border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;margin:max(20px,env(safe-area-inset-top)) auto auto;max-height:85vh;max-width:520px;overflow:hidden;position:relative;transform:translateY(0);width:90%}.ma-modal,.ma-panel{background:#fff;background:var(--bg-primary,#fff)}.ma-panel{border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-width:320px;min-width:280px;position:absolute;right:0;top:100%;z-index:10000!important}.ma-panel-header{align-items:center;background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;justify-content:space-between;padding:12px 16px}.ma-panel-header h4{color:#333;color:var(--text-primary,#333);font-size:14px;font-weight:600;margin:0}.ma-panel-actions{display:flex;gap:4px}.ma-disable-btn,.ma-reset-btn{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;color:#333;color:var(--text-primary,#333);cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.ma-disable-btn:hover,.ma-reset-btn:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa);border-color:#d0d0d0;border-color:var(--border-color-hover,#d0d0d0)}.ma-disable-btn:hover{background:#f44336;background:var(--error-color,#f44336);border-color:#f44336;border-color:var(--error-color,#f44336);color:#fff}.ma-close-btn{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:3px;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:14px;font-weight:700;padding:2px 8px;transition:all .2s ease}.ma-close-btn:hover{background:#f44336;background:var(--error-color,#f44336);border-color:#f44336;border-color:var(--error-color,#f44336);color:#fff}.ma-search-container{background:#fff;background:var(--bg-primary,#fff);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);flex-shrink:0;padding:8px 14px;position:relative}.ma-search-input{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;box-sizing:border-box;color:#333;color:var(--text-primary,#333);font-size:11px;outline:none;padding:6px 28px 6px 8px;transition:all .2s ease;width:100%}.ma-search-input:focus{background:#fff;background:var(--bg-primary,#fff);border-color:#1976d2;border-color:var(--primary-color,#1976d2);box-shadow:0 0 0 2px #1976d21a}.ma-search-input::placeholder{color:#999;color:var(--text-secondary,#999)}.ma-search-clear{align-items:center;background:#0000;border:none;border-radius:3px;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;font-size:18px;height:20px;justify-content:center;padding:0;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:20px}.ma-search-clear:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa);color:#333;color:var(--text-primary,#333)}.ma-no-results{color:#666;color:var(--text-secondary,#666);font-size:11px;padding:20px;text-align:center}.ma-modal-actions{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;flex-shrink:0;gap:6px;padding:8px 14px}.ma-modal-list{flex:1 1;min-height:0;overflow-y:auto;padding:10px 14px;scrollbar-color:#e0e0e0 #0000;scrollbar-color:var(--border-color,#e0e0e0) #0000;scrollbar-width:thin}.ma-modal-list::-webkit-scrollbar{width:6px}.ma-modal-list::-webkit-scrollbar-track{background:#0000}.ma-modal-list::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border-color,#e0e0e0);border-radius:3px}.ma-modal-list::-webkit-scrollbar-thumb:hover{background:#666;background:var(--text-secondary,#666)}.ma-modal-item{border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;margin-bottom:6px;padding:8px 10px;transition:background-color .2s ease}.ma-modal-item:last-child{margin-bottom:0}.ma-modal-item:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa)}.ma-item-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.ma-item-controls{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-left:26px}.ma-control-group{align-items:center;display:flex;flex:0 1 auto;gap:4px;min-width:100px}.ma-control-label{font-size:10px;font-weight:500;min-width:42px}.ma-control-label,.ma-width-value{color:#666;color:var(--text-secondary,#666);white-space:nowrap}.ma-width-value{font-size:9px;min-width:28px;text-align:right}.ma-modal-info{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);flex-shrink:0;padding:8px 16px;text-align:center}.ma-modal-info small{color:#666;color:var(--text-secondary,#666);font-size:10px;line-height:1.3}.ma-list{padding:8px}.ma-item{align-items:center;border-radius:4px;display:flex;gap:8px;padding:6px 8px;transition:background-color .2s ease}.ma-item:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa)}.ma-checkbox{cursor:pointer;margin:0}.ma-color-indicator{border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:2px;flex-shrink:0;height:14px;width:14px}.ma-label{font-weight:600;min-width:32px;white-space:nowrap}.ma-label,.ma-period-input{color:#333;color:var(--text-primary,#333);font-size:10px}.ma-period-input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:3px;padding:3px 4px;text-align:center;width:50px}.ma-period-input:focus{border-color:#1976d2;border-color:var(--primary-color,#1976d2);box-shadow:0 0 0 2px #1976d21a;outline:none}.ma-period-input::-webkit-inner-spin-button,.ma-period-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ma-period-input[type=number]{-webkit-appearance:textfield;appearance:textfield}.ma-color-input{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:3px;cursor:pointer;height:20px;padding:0;width:28px}.ma-width-input{cursor:pointer;flex:1 1;max-width:80px;min-width:50px}.ma-info{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);padding:8px 16px;text-align:center}.ma-info small{color:#666;color:var(--text-secondary,#666);font-size:10px;line-height:1.3}.ma-validation-message{background:#fff3cd;background:var(--warning-bg,#fff3cd);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);padding:8px 16px;text-align:center}.ma-validation-message small{color:#856404;color:var(--warning-color,#856404);display:block;font-size:10px;line-height:1.3}@media (prefers-color-scheme:dark){.ma-toggle-btn{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e);border-color:#333;border-color:var(--border-color-dark,#333);color:#fff;color:var(--text-primary-dark,#fff)}.ma-toggle-btn:hover{background:#2a2a2a;background:var(--bg-hover-dark,#2a2a2a);border-color:#444;border-color:var(--border-color-hover-dark,#444)}.ma-toggle-btn:active{background:#64b5f6;background:var(--primary-color-dark,#64b5f6);border-color:#64b5f6;border-color:var(--primary-color-dark,#64b5f6);color:#fff}.ma-modal{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e)}.ma-modal,.ma-modal-actions{border-color:#333;border-color:var(--border-color-dark,#333)}.ma-modal-actions{background:#2a2a2a;background:var(--bg-secondary-dark,#2a2a2a)}.ma-modal-item{border-color:#333;border-color:var(--border-color-dark,#333)}.ma-modal-item:hover{background:#2a2a2a;background:var(--bg-hover-dark,#2a2a2a)}.ma-disable-btn,.ma-reset-btn{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e);border-color:#333;border-color:var(--border-color-dark,#333);color:#fff;color:var(--text-primary-dark,#fff)}.ma-disable-btn:hover,.ma-reset-btn:hover{background:#2a2a2a;background:var(--bg-hover-dark,#2a2a2a);border-color:#444;border-color:var(--border-color-hover-dark,#444)}.ma-disable-btn:hover{background:#f44336;background:var(--error-color,#f44336);border-color:#f44336;border-color:var(--error-color,#f44336);color:#fff}.ma-label{color:#fff;color:var(--text-primary-dark,#fff)}.ma-control-label,.ma-width-value{color:#aaa;color:var(--text-secondary-dark,#aaa)}.ma-period-input{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e);border-color:#333;border-color:var(--border-color-dark,#333);color:#fff;color:var(--text-primary-dark,#fff)}.ma-period-input:focus{border-color:#64b5f6;border-color:var(--primary-color-dark,#64b5f6);box-shadow:0 0 0 2px #64b5f61a}.ma-color-indicator,.ma-color-input,.ma-modal-info{border-color:#333;border-color:var(--border-color-dark,#333)}.ma-modal-info{background:#2a2a2a;background:var(--bg-secondary-dark,#2a2a2a)}.ma-modal-info small{color:#aaa;color:var(--text-secondary-dark,#aaa)}.ma-search-container{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e)}.ma-search-container,.ma-search-input{border-color:#333;border-color:var(--border-color-dark,#333)}.ma-search-input{background:#2a2a2a;background:var(--bg-secondary-dark,#2a2a2a);color:#fff;color:var(--text-primary-dark,#fff)}.ma-search-input:focus{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e);border-color:#64b5f6;border-color:var(--primary-color-dark,#64b5f6)}.ma-search-clear,.ma-search-input::placeholder{color:#aaa;color:var(--text-secondary-dark,#aaa)}.ma-search-clear:hover{background:#2a2a2a;background:var(--bg-hover-dark,#2a2a2a);color:#fff;color:var(--text-primary-dark,#fff)}.ma-no-results{color:#aaa;color:var(--text-secondary-dark,#aaa)}.ma-panel{background:#1e1e1e;background:var(--bg-primary-dark,#1e1e1e)}.ma-panel,.ma-panel-header{border-color:#333;border-color:var(--border-color-dark,#333)}.ma-panel-header{background:#2a2a2a;background:var(--bg-secondary-dark,#2a2a2a)}.ma-panel-header h4{color:#fff;color:var(--text-primary-dark,#fff)}.ma-close-btn{background:#0000;border-color:#333;border-color:var(--border-color-dark,#333);color:#aaa;color:var(--text-secondary-dark,#aaa)}.ma-close-btn:hover{background:#f44336;background:var(--error-color,#f44336);border-color:#f44336;border-color:var(--error-color,#f44336);color:#fff}.ma-item:hover{background:#2a2a2a;background:var(--bg-hover-dark,#2a2a2a)}.ma-info{background:#2a2a2a;background:var(--bg-secondary-dark,#2a2a2a);border-color:#333;border-color:var(--border-color-dark,#333)}.ma-info small{color:#aaa;color:var(--text-secondary-dark,#aaa)}.ma-validation-message{background:#664d03;background:var(--warning-bg-dark,#664d03);border-color:#333;border-color:var(--border-color-dark,#333)}.ma-validation-message small{color:#ffc107;color:var(--warning-color-dark,#ffc107)}}@media (max-width:768px){.ma-modal-overlay{padding:20px 10px 10px}.ma-modal{margin-top:10px;max-height:90vh;max-width:95%}.ma-modal-actions{padding:8px 12px}.ma-modal-list{padding:10px 12px}.ma-modal-item{margin-bottom:6px;padding:8px}.ma-item-controls{flex-direction:column;gap:8px;margin-left:28px}.ma-control-group{min-width:100%}.ma-panel{min-width:260px;right:-50px}.ma-item{gap:6px;padding:4px 6px}.ma-period-input{width:50px}.ma-width-input{max-width:80px;min-width:50px}}.advanced-filter-dropdown{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:320px;min-width:280px;z-index:1000}.filter-header{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);border-radius:8px 8px 0 0;padding:12px 16px}.filter-header h4{color:#333;color:var(--text-primary,#333);font-size:14px;font-weight:600;margin:0;text-transform:capitalize}.filter-body{display:flex;flex-direction:column;gap:12px;padding:16px}.filter-operator,.filter-value{display:flex;flex-direction:column;gap:6px}.filter-operator label,.filter-value label{color:#666;color:var(--text-secondary,#666);font-size:12px;font-weight:500}.filter-select{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;color:#333;color:var(--text-primary,#333);cursor:pointer;font-size:13px;outline:none;padding:8px 12px;transition:border-color .2s}.filter-select:focus,.filter-select:hover{border-color:#007bff;border-color:var(--accent-color,#007bff)}.filter-select:focus{box-shadow:0 0 0 2px #007bff1a}.filter-input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;color:#333;color:var(--text-primary,#333);font-size:13px;outline:none;padding:8px 12px;transition:border-color .2s}.filter-input:focus,.filter-input:hover{border-color:#007bff;border-color:var(--accent-color,#007bff)}.filter-input:focus{box-shadow:0 0 0 2px #007bff1a}.filter-actions{display:flex;gap:8px;margin-top:4px}.filter-btn{border:none;border-radius:4px;flex:1 1;font-weight:500;outline:none;padding:8px 16px;transition:all .2s}.filter-btn-primary{background:#007bff;background:var(--accent-color,#007bff);color:#fff}.filter-btn-primary:hover{background:#0056b3;background:var(--accent-hover,#0056b3);transform:translateY(-1px)}.filter-btn-primary:active{transform:translateY(0)}.filter-btn-secondary{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);color:#333;color:var(--text-primary,#333)}.filter-btn-secondary:hover{background:#e9ecef;background:var(--bg-hover,#e9ecef);border-color:#007bff;border-color:var(--accent-color,#007bff)}.dark-theme .advanced-filter-dropdown{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .filter-header{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.dark-theme .filter-header h4{color:#fff;color:var(--text-primary,#fff)}.dark-theme .filter-input,.dark-theme .filter-select{background:#1e1e1e;background:var(--bg-primary,#1e1e1e);border-color:#333;border-color:var(--border-color,#333);color:#fff;color:var(--text-primary,#fff)}.dark-theme .filter-input:hover,.dark-theme .filter-select:hover{border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.dark-theme .filter-input:focus,.dark-theme .filter-select:focus{border-color:#4a9eff;border-color:var(--accent-color,#4a9eff);box-shadow:0 0 0 2px #4a9eff33}.dark-theme .filter-btn-secondary{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333);color:#fff;color:var(--text-primary,#fff)}.dark-theme .filter-btn-secondary:hover{background:#333;background:var(--bg-hover,#333);border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.beta-info-tooltip-container{display:inline-block;margin-left:6px;position:relative;vertical-align:middle}.beta-info-icon{align-items:center;background:none;border:none;color:#ffc107;cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;padding:2px 4px;transition:transform .2s ease}.beta-info-icon:hover{transform:scale(1.2)}.beta-info-icon:active{transform:scale(.95)}.beta-info-tooltip-content{animation:fadeIn .2s ease;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;left:50%;margin-top:8px;max-width:400px;min-width:320px;position:absolute;top:100%;transform:translateX(-50%);z-index:1000}.beta-info-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:12px 16px}.beta-info-header h4{color:#333;font-size:14px;font-weight:600;margin:0}.beta-info-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;line-height:1;padding:0;transition:background-color .2s ease;width:24px}.beta-info-close:hover{background-color:#e0e0e0;color:#333}.beta-info-body{color:#444;font-size:13px;line-height:1.6;padding:16px}.beta-info-section{margin-bottom:12px}.beta-info-section:last-child{margin-bottom:0}.beta-formula{background:#f0f0f0;border-radius:4px;color:#2c3e50;font-family:Courier New,monospace;font-size:14px;font-weight:500;margin-top:6px;padding:8px 12px;text-align:center}.beta-info-list{list-style:none;margin:8px 0 0;padding:0}.beta-info-list li{padding:4px 0 4px 16px;position:relative}.beta-info-list li:before{color:#ffc107;content:"•";font-weight:700;left:0;position:absolute}.beta-info-interpretation{background:#f8f9fa;border-left:3px solid #ffc107;border-radius:6px;padding:12px}.beta-info-examples{font-size:12px;list-style:none;margin:8px 0 0;padding:0}.beta-info-examples li{color:#555;font-family:Courier New,monospace;padding:3px 0 3px 16px;position:relative}.beta-info-examples li:before{color:#ffc107;content:"→";left:0;position:absolute}@media (max-width:768px){.beta-info-tooltip-content{left:50%;margin-top:0;max-width:90vw;min-width:280px;position:fixed;top:50%;transform:translate(-50%,-50%)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}@media (prefers-color-scheme:dark){.beta-info-tooltip-content{background:#2c3e50;border-color:#34495e}.beta-info-header{background:#34495e;border-bottom-color:#4a5f7f}.beta-info-header h4{color:#ecf0f1}.beta-info-close{color:#bdc3c7}.beta-info-close:hover{background-color:#4a5f7f;color:#ecf0f1}.beta-info-body{color:#ecf0f1}.beta-formula{background:#34495e;color:#ecf0f1}.beta-info-interpretation{background:#34495e;border-left-color:#ffc107}.beta-info-examples li{color:#bdc3c7}}.sparkline-container{display:inline-block;position:relative;vertical-align:middle}.sparkline-svg{cursor:default;display:block}.sparkline-no-data{align-items:center;color:#999;display:flex;font-size:11px;font-style:italic;height:100%;justify-content:center;width:100%}.sparkline-container:hover .sparkline-svg polyline{stroke-width:2;filter:brightness(1.1)}.sparkline-svg polyline{transition:stroke-width .2s ease}.watchlist-details-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;margin-top:-1px;min-height:0;overflow:hidden;width:100%}.table-filters{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:4px;min-height:36px;padding:6px 12px}.filter-controls{align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:12px;justify-content:flex-end}.clear-filters-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:10px;font-weight:500;height:26px;outline:none;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.clear-filters-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.clear-filters-btn:disabled{cursor:not-allowed;opacity:.5}.table-title{flex-shrink:0;margin-right:16px;text-align:left}.table-title h3{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1;margin:0}.header-content{gap:8px;justify-content:space-between;width:100%}.header-text{flex:1 1;min-width:0}.filter-icon-btn{background:none;border:none;border-radius:3px;cursor:pointer;flex-shrink:0;font-size:10px;line-height:1;opacity:.6;padding:2px 4px;transition:all .2s}.filter-icon-btn.active,.filter-icon-btn:hover{background:var(--bg-hover);opacity:1}.filter-icon-btn.active{color:var(--accent-color)}.table-wrapper{border:1px solid var(--border-color);border-radius:4px;flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto;position:relative}.watchlist-details-table{border-collapse:initial;border-spacing:0;font-size:12px;min-height:200px;width:100%}.table-header{background:var(--bg-tertiary);background-clip:padding-box;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;color:var(--text-primary);font-size:9px;font-weight:600;padding:8px 10px;position:-webkit-sticky;position:sticky;text-align:left;top:0;-webkit-user-select:none;user-select:none;z-index:15}.watchlist-details-table thead{z-index:10}.table-header.sticky-column{background:var(--bg-tertiary);background-clip:padding-box;box-shadow:2px 0 4px #0000001a,0 2px 4px #0000001a;left:0;position:-webkit-sticky;position:sticky;top:0;z-index:25}.table-cell.sticky-column{background:var(--bg-secondary);box-shadow:2px 0 4px #0000000d;left:0;position:-webkit-sticky;position:sticky;z-index:5}.table-row:nth-child(2n) .table-cell.sticky-column{background:var(--bg-primary)}.table-row:hover .table-cell.sticky-column{background:var(--bg-hover)}.table-header.sticky-column.draggable{cursor:default!important}.table-header.sticky-column:hover{background:var(--bg-tertiary)!important}.table-header.sortable{cursor:pointer;transition:background-color .2s ease}.table-header.sortable:hover{background:var(--bg-hover)}.table-header.draggable{cursor:grab}.table-header.draggable:active{cursor:grabbing}.table-header.draggable:hover{background:var(--bg-hover)}.header-content{align-items:center;display:flex;gap:4px}.resizer{background:#0000;cursor:col-resize;height:100%;position:absolute;right:0;top:0;touch-action:none;-webkit-user-select:none;user-select:none;width:5px}.resizer.isResizing,.resizer:hover{background:var(--accent-color)}.resizer.isResizing{opacity:1}.table-row{border-bottom:1px solid var(--border-color);height:36px;transition:background-color .2s ease}.table-row:hover{background:var(--bg-hover)}.table-row:nth-child(2n){background:var(--bg-primary)}.table-row:nth-child(2n):hover{background:var(--bg-hover)}.table-cell{border-right:1px solid var(--border-color);color:var(--text-primary);font-size:12px;padding:6px 10px;transition:background-color .3s ease}.table-cell:last-child{border-right:none}.cell-right-align{text-align:right}.beta-header{justify-content:flex-end}.beta-header,.sparkline-cell{align-items:center;display:flex}.sparkline-cell{justify-content:center}.price-indicator{align-items:center;display:inline-flex;gap:6px}.price-dot{border-radius:50%;flex-shrink:0;height:8px;transition:opacity .3s ease;width:8px}.price-dot.up{animation:fadeIn .3s ease;background-color:#4caf50}.price-dot.down{animation:fadeIn .3s ease;background-color:#f44336}.trend-cell{border-radius:4px;font-weight:600;padding:6px 10px;text-align:center}.trend-cell.positive{background-color:#64ff644d;color:#155724}.trend-cell.negative{background-color:#ff64644d;color:#721c24}.trend-cell.neutral{background-color:#c8c8c833;color:var(--text-secondary)}.category-cell,.stock-name-cell{cursor:help;display:inline-block;font-size:8px;line-height:1.3}.symbol-cell{color:var(--text-primary)!important;font-family:Courier New,monospace;font-weight:600}.clickable-link{color:var(--accent-color)!important;cursor:pointer;text-decoration:underline}.clickable-link:hover{color:var(--accent-hover)!important}.positive-pnl{color:var(--success-color);font-weight:600}.negative-pnl{color:var(--danger-color);font-weight:600}.empty-state{color:var(--text-muted);padding:var(--space-xl);text-align:center}.empty-state p{margin:var(--space-sm) 0}.sd-cell-long{background-color:#d4edda!important;color:#155724;font-weight:600}.sd-cell-short{background-color:#f8d7da!important;color:#721c24;font-weight:600}.period-selector-container{align-items:center;display:flex;gap:6px}.period-label{color:var(--text-secondary);font-size:11px;font-weight:0}.period-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:11px;font-weight:500;min-width:100px;padding:4px 8px;transition:all .2s ease}.period-select:hover{background:var(--bg-hover);border-color:var(--accent-color)}.period-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #007bff1a;outline:none}.refresh-controls{align-items:center;display:flex;gap:10px}.refresh-btn{background:var(--accent-color);border:none;border-radius:var(--radius-sm);color:#fff;font-size:9px;font-weight:100;gap:6px}.refresh-btn:hover{background:var(--accent-hover)}.refresh-btn:active{transform:scale(.95)}.refresh-btn .refresh-icon{display:inline-block}.last-updated{color:var(--text-muted);font-size:8px}.screener-presets{align-items:center;display:flex;gap:6px}.screener-label{color:var(--text-secondary);font-size:11px;font-weight:600}.screener-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:11px;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.screener-btn:hover{background:var(--bg-hover);border-color:var(--accent-color)}.screener-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}@media (min-width:769px) and (max-width:1024px){.watchlist-details-container{height:100%;min-height:0}.table-cell,.table-header{font-size:13px;padding:10px 12px}.filter-icon-btn{min-height:32px;min-width:32px;padding:6px 8px}.clear-filters-btn{font-size:11px;min-height:44px;padding:10px 16px}}@media (max-width:768px){.watchlist-details-container{height:100%;min-height:0}.table-filters{flex-direction:column;gap:12px;padding:12px}.filter-controls,.table-title{width:100%}.filter-controls{justify-content:center}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.watchlist-details-table{font-size:12px;min-width:800px}.table-cell,.table-header{font-size:12px;padding:12px 10px;white-space:nowrap}.category-cell,.stock-name-cell{font-size:11px}.filter-icon-btn{font-size:14px;min-height:44px;min-width:44px;padding:10px}.clear-filters-btn{font-size:11px;min-height:44px;padding:12px 16px;width:100%}.table-wrapper:after{background:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-muted);content:"← Scroll for more →";display:block;font-size:11px;padding:8px;text-align:center}}.tab-empty,.tab-error,.tab-loading{padding:20px}.tab-empty,.tab-error{color:#666;color:var(--text-secondary,#666);font-size:14px}.company-tab{display:flex;flex-direction:column;gap:0;padding:16px 20px}.polygon-section{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:16px;padding:12px}.polygon-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);margin-bottom:12px;padding-bottom:8px}.polygon-header.accordion-header{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin:-8px -8px 12px;padding:8px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.polygon-header.accordion-header:hover{background-color:#0000000d;background-color:var(--bg-hover,#0000000d)}.polygon-section-title{color:#333;color:var(--text-primary,#333);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.accordion-icon{color:#666;color:var(--text-secondary,#666);flex-shrink:0;font-size:12px;margin-left:8px;transition:transform .2s}.polygon-content.accordion-content{margin-bottom:0;max-height:2000px;opacity:1;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out,margin-bottom .3s ease-out}.polygon-content.accordion-content.collapsed{margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0}.polygon-content{display:flex;flex-direction:column;gap:10px}.polygon-header-compact{align-items:center;display:flex;gap:10px;margin-bottom:8px}.company-logo-compact{background:#fff;background:var(--bg-primary,#fff);border-radius:4px;flex-shrink:0;height:40px;object-fit:contain;padding:4px;width:40px}.company-title-compact{flex:1 1;min-width:0}.company-name-compact{color:#333;color:var(--text-primary,#333);font-size:13px;font-weight:600;line-height:1.2;margin:0 0 2px}.company-ticker-compact{color:#666;color:var(--text-secondary,#666);font-size:11px;font-weight:500;margin:0}.polygon-item{display:flex;font-size:12px;gap:8px;line-height:1.4}.polygon-label{color:#666;color:var(--text-secondary,#666);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.3px;min-width:70px;text-transform:uppercase}.polygon-text{color:#333;color:var(--text-primary,#333);flex:1 1;font-size:12px;margin:0}.polygon-details-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:8px 0}.polygon-detail-item{display:flex;flex-direction:column;gap:2px}.polygon-detail-label{color:#666;color:var(--text-secondary,#666);font-size:10px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.polygon-detail-value{color:#333;color:var(--text-primary,#333);font-size:12px;font-weight:500}.company-link-compact{color:#007bff;color:var(--accent-color,#007bff);font-size:12px;text-decoration:none;word-break:break-all}.company-link-compact:hover{text-decoration:underline}.news-tab{padding:0}.news-list{display:flex;flex-direction:column;gap:16px}.news-item{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;padding:16px;transition:all .2s}.news-item:hover{background:#e9ecef;background:var(--bg-hover,#e9ecef);border-color:#007bff;border-color:var(--accent-color,#007bff)}.news-header{align-items:flex-start;gap:16px}.news-header h4{flex:1 1;font-size:16px;font-weight:600;margin:0}.news-title-link{color:#333;color:var(--text-primary,#333);text-decoration:none;transition:color .2s}.news-title-link:hover{color:#007bff;color:var(--accent-color,#007bff)}.news-date{flex-shrink:0;font-size:12px;white-space:nowrap}.news-date,.news-description{color:#666;color:var(--text-secondary,#666)}.news-description{font-size:14px;line-height:1.6;margin:8px 0}.news-source{color:#666;color:var(--text-secondary,#666);font-size:12px;margin-top:8px}.dark-theme .polygon-section{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .polygon-header{border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.dark-theme .polygon-header.accordion-header:hover{background-color:#ffffff0d;background-color:var(--bg-hover,#ffffff0d)}.dark-theme .accordion-icon{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .polygon-section-title{color:#fff;color:var(--text-primary,#fff)}.dark-theme .company-logo-compact{background:#1e1e1e;background:var(--bg-primary,#1e1e1e)}.dark-theme .company-name-compact{color:#fff;color:var(--text-primary,#fff)}.dark-theme .company-ticker-compact,.dark-theme .polygon-label{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .polygon-text{color:#fff;color:var(--text-primary,#fff)}.dark-theme .polygon-detail-label{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .polygon-detail-value{color:#fff;color:var(--text-primary,#fff)}.dark-theme .company-link-compact{color:#4a9eff;color:var(--accent-color,#4a9eff)}.dark-theme .detail-label{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .detail-value{color:#fff;color:var(--text-primary,#fff)}.dark-theme .company-link{color:#4a9eff;color:var(--accent-color,#4a9eff)}.dark-theme .news-item{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .news-item:hover{background:#333;background:var(--bg-hover,#333);border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.dark-theme .news-title-link{color:#fff;color:var(--text-primary,#fff)}.dark-theme .news-title-link:hover{color:#4a9eff;color:var(--accent-color,#4a9eff)}.dark-theme .news-date,.dark-theme .news-description,.dark-theme .news-source{color:#aaa;color:var(--text-secondary,#aaa)}.ai-section{border-top:2px solid #e0e0e0;border-top:2px solid var(--border-color,#e0e0e0);flex:1 1;min-height:0;padding-top:16px}.ai-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ai-section-header h4{color:#333;color:var(--text-primary,#333);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.fetch-gemini-btn{background:#007bff;background:var(--accent-color,#007bff);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.fetch-gemini-btn:hover:not(:disabled){background:#0056b3;background:var(--accent-hover,#0056b3);transform:translateY(-1px)}.fetch-gemini-btn:disabled{cursor:not-allowed;opacity:.6}.gemini-error,.gemini-loading,.gemini-prompt{color:#666;color:var(--text-secondary,#666);font-size:14px;padding:16px;text-align:center}.gemini-error{color:#dc3545}.retry-btn{margin-top:8px;padding:6px 12px}.retry-btn:hover{background:#0056b3;background:var(--accent-hover,#0056b3)}.gemini-content{display:flex;flex-direction:column;gap:20px}.gemini-item{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;padding:16px}.gemini-item h5{color:#333;color:var(--text-primary,#333);font-size:13px;font-weight:600;letter-spacing:.3px;margin:0 0 8px;text-transform:uppercase}.gemini-item p{color:#666;color:var(--text-secondary,#666);font-size:12px;line-height:1.5;margin:0}.gemini-details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.gemini-details-grid-side-by-side{display:flex;gap:24px;margin-bottom:16px}.gemini-details-column{display:flex;flex:1 1;flex-direction:column;gap:12px}.gemini-detail-item{display:flex;flex-direction:column;gap:4px}.gemini-label{color:#666;color:var(--text-secondary,#666);font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.gemini-value{color:#333;color:var(--text-primary,#333);font-size:12px;font-weight:500}.filings-list,.institutional-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.institutional-list li{color:#333;color:var(--text-primary,#333)}.filings-list li,.institutional-list li{background:#fff;background:var(--bg-primary,#fff);border-radius:4px;font-size:12px;padding:6px}.filings-list li{align-items:center;display:flex;gap:8px}.filing-type{color:#007bff;color:var(--accent-color,#007bff);font-size:11px;font-weight:600;min-width:50px}.filing-date{color:#666;color:var(--text-secondary,#666);font-size:11px;min-width:80px}.filing-title{color:#333;color:var(--text-primary,#333);flex:1 1;font-size:12px}.filing-title-link{color:#007bff;color:var(--accent-color,#007bff);flex:1 1;font-size:12px;text-decoration:none;transition:-webkit-text-decoration .2s;transition:text-decoration .2s;transition:text-decoration .2s,-webkit-text-decoration .2s}.filing-title-link:hover{text-decoration:underline}.earnings-summary{color:#666;color:var(--text-secondary,#666);font-size:12px;font-style:italic;line-height:1.6}.dark-theme .ai-section{border-top-color:#333;border-top-color:var(--border-color,#333)}.dark-theme .ai-section-header h4{color:#fff;color:var(--text-primary,#fff)}.dark-theme .gemini-item{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .gemini-item h5{color:#fff;color:var(--text-primary,#fff)}.dark-theme .gemini-item p,.dark-theme .gemini-label{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .gemini-value{color:#fff;color:var(--text-primary,#fff)}.dark-theme .filings-list li,.dark-theme .institutional-list li{background:#1e1e1e;background:var(--bg-primary,#1e1e1e);color:#fff;color:var(--text-primary,#fff)}.dark-theme .filing-type{color:#4a9eff;color:var(--accent-color,#4a9eff)}.dark-theme .filing-date{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .filing-title{color:#fff;color:var(--text-primary,#fff)}.dark-theme .filing-title-link{color:#4a9eff;color:var(--accent-color,#4a9eff)}.dark-theme .filing-title-link:hover{color:#6bb3ff;color:var(--accent-hover,#6bb3ff)}.dark-theme .earnings-summary{color:#aaa;color:var(--text-secondary,#aaa)}.finance-tab{margin:0;padding:0}.finance-header{margin:0;padding:2px 4px 0}.finance-header h3{color:#333;color:var(--text-primary,#333);font-size:16px;font-weight:600;margin:0 0 1px}.finance-subtitle{color:#666;color:var(--text-secondary,#666);font-size:12px;margin:0}.finance-timeframe-tabs{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);display:flex;gap:8px;margin:12px 4px 8px;padding-bottom:0}.finance-timeframe-tab{background:#0000;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-2px;padding:8px 16px;transition:all .2s ease}.finance-timeframe-tab:hover{background:#0000000d;background:var(--bg-hover,#0000000d);color:#333;color:var(--text-primary,#333)}.finance-timeframe-tab.active{border-bottom-color:#007bff;border-bottom-color:var(--primary-color,#007bff);color:#007bff;color:var(--primary-color,#007bff);font-weight:600}.finance-timeframe-tab:focus{background:#0000000d;background:var(--bg-hover,#0000000d);outline:none}.finance-section{margin:0;padding:0 4px}.finance-section:last-child{margin-bottom:0}.finance-section+.finance-section{margin-top:8px}.finance-section-title{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);color:#000;font-size:16px;font-weight:600;margin-bottom:4px;margin-top:0;padding-bottom:4px}.finance-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.finance-table{background:#fff;background:var(--bg-primary,#fff);border-collapse:collapse;font-size:12px;width:100%}.finance-table thead{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);position:-webkit-sticky;position:sticky;top:0;z-index:10}.finance-table th{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);letter-spacing:.3px;padding:6px 8px;text-align:left;text-transform:uppercase;white-space:nowrap}.finance-table td,.finance-table th{color:#000;font-size:11px;font-weight:600}.finance-table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);padding:4px 8px}.finance-table tbody tr:hover{background:#f8f9fa;background:var(--bg-hover,#f8f9fa)}.finance-year{color:#333;color:var(--text-primary,#333);font-weight:600}.finance-value{color:#000;font-family:Courier New,monospace;font-weight:600;text-align:right}.finance-table-transposed th.finance-parameter-header{word-wrap:break-word;background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);left:0;max-width:120px;min-width:100px;overflow-wrap:break-word;padding:8px 6px;position:-webkit-sticky;position:sticky;text-align:left;white-space:normal;z-index:5}.finance-table-transposed th.finance-year-header{min-width:120px;text-align:center}.finance-table-transposed td.finance-parameter-label{word-wrap:break-word;background:#fff;background:var(--bg-primary,#fff);border-right:2px solid #e0e0e0;border-right:2px solid var(--border-color,#e0e0e0);color:#000;font-weight:600;left:0;line-height:1.3;max-width:120px;min-width:100px;overflow-wrap:break-word;padding:8px 6px;position:-webkit-sticky;position:sticky;text-align:left;white-space:normal;z-index:4}.finance-table-transposed tbody tr:hover td.finance-parameter-label{background:#f8f9fa;background:var(--bg-hover,#f8f9fa)}.finance-table-transposed td.finance-value{color:#000;font-size:13px;min-width:120px;text-align:center}.tab-empty,.tab-error,.tab-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:40px 20px;text-align:center}.tab-empty p,.tab-error p{color:#333;color:var(--text-primary,#333);font-size:14px;margin:8px 0}.tab-empty-note,.tab-error-note{color:#666;color:var(--text-secondary,#666);font-size:12px;font-style:italic;margin-top:8px}.dark-theme .finance-header h3{color:#fff;color:var(--text-primary,#fff)}.dark-theme .finance-subtitle{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .finance-table{background:#1e1e1e;background:var(--bg-primary,#1e1e1e)}.dark-theme .finance-table thead{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a)}.dark-theme .finance-table td,.dark-theme .finance-table th{border-bottom-color:#333;border-bottom-color:var(--border-color,#333);color:#fff;color:var(--text-primary,#fff)}.dark-theme .finance-table tbody tr:hover{background:#333;background:var(--bg-hover,#333)}.dark-theme .finance-value,.dark-theme .finance-year{color:#fff;color:var(--text-primary,#fff)}.dark-theme .finance-table-transposed th.finance-parameter-header{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a)}.dark-theme .finance-table-transposed td.finance-parameter-label{background:#1e1e1e;background:var(--bg-primary,#1e1e1e);border-right-color:#333;border-right-color:var(--border-color,#333)}.dark-theme .finance-table-transposed tbody tr:hover td.finance-parameter-label{background:#333;background:var(--bg-hover,#333)}.dark-theme .tab-empty p,.dark-theme .tab-error p{color:#fff;color:var(--text-primary,#fff)}.dark-theme .tab-empty-note,.dark-theme .tab-error-note{color:#aaa;color:var(--text-secondary,#aaa)}.connection-tab{padding:0}.connection-header{margin-bottom:20px}.connection-header h3{color:#333;color:var(--text-primary,#333);font-size:16px;font-weight:600;margin:0 0 4px}.connection-subtitle{color:#666;color:var(--text-secondary,#666);font-size:12px;margin:0}.connection-list{display:flex;flex-direction:column;gap:12px}.connection-item{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;padding:16px;transition:all .2s}.connection-item:hover{background:#e9ecef;background:var(--bg-hover,#e9ecef);border-color:#007bff;border-color:var(--accent-color,#007bff)}.connection-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.connection-ticker{color:#007bff;color:var(--accent-color,#007bff);font-size:16px;font-weight:600}.connection-market-cap{color:#333;color:var(--text-primary,#333);font-family:Courier New,monospace;font-size:14px;font-weight:500}.connection-item-body{display:flex;flex-direction:column;gap:8px}.connection-name{color:#333;color:var(--text-primary,#333);font-size:14px;font-weight:500;margin-bottom:4px}.connection-industry,.connection-sector{display:flex;font-size:12px;gap:8px}.connection-label{color:#666;color:var(--text-secondary,#666);font-weight:600;letter-spacing:.3px;min-width:70px;text-transform:uppercase}.connection-value{color:#333;color:var(--text-primary,#333)}.dark-theme .connection-header h3{color:#fff;color:var(--text-primary,#fff)}.dark-theme .connection-subtitle{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .connection-item{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .connection-item:hover{background:#333;background:var(--bg-hover,#333);border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.dark-theme .connection-ticker{color:#4a9eff;color:var(--accent-color,#4a9eff)}.dark-theme .connection-market-cap,.dark-theme .connection-name{color:#fff;color:var(--text-primary,#fff)}.dark-theme .connection-label{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .connection-value{color:#fff;color:var(--text-primary,#fff)}.ownership-tab{padding:0}.ownership-sources{display:flex;flex-direction:column;gap:8px;list-style:none;margin:16px 0;padding:0}.ownership-link{color:#007bff;color:var(--accent-color,#007bff);font-size:14px;text-decoration:none}.ownership-link:hover{text-decoration:underline}.dark-theme .ownership-link{color:#4a9eff;color:var(--accent-color,#4a9eff)}.ai-analysis-tab{padding:10px 20px 20px}.ai-analysis-header{border-bottom:1px solid #e0e3eb;border-bottom:1px solid var(--border-color,#e0e3eb);margin-bottom:12px;padding:0 0 12px}.ai-analysis-header h3{color:#333;color:var(--text-primary,#333);font-size:15px;font-weight:600;margin:0}.ai-analysis-subtitle{color:#666;color:var(--text-secondary,#666);font-size:11px;margin:0 0 8px}.fetch-ai-analysis-btn{background:#007bff;background:var(--accent-color,#007bff);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.fetch-ai-analysis-btn:hover:not(:disabled){background:#0056b3;background:var(--accent-hover,#0056b3);transform:translateY(-1px)}.fetch-ai-analysis-btn:disabled{cursor:not-allowed;opacity:.6}.ai-analysis-error{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;margin-bottom:12px;padding:12px}.ai-analysis-error p{color:#333;color:var(--text-primary,#333);font-size:12px;margin:0 0 8px}.retry-btn{background:#007bff;background:var(--accent-color,#007bff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px}.ai-analysis-content{display:flex;flex-direction:column;gap:12px}.ai-analysis-item{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;padding:12px}.ai-analysis-item h4{color:#333;color:var(--text-primary,#333);font-size:12px;font-weight:600;letter-spacing:.3px;margin:0 0 8px;text-transform:uppercase}.ai-recommendation{border-radius:4px;display:inline-block;font-size:14px;font-weight:600;margin-bottom:8px;padding:6px 12px}.ai-recommendation.long{background:#d4edda;color:#155724}.ai-recommendation.short{background:#f8d7da;color:#721c24}.ai-recommendation.hold,.ai-recommendation.neutral{background:#fff3cd;color:#856404}.ai-reasoning{font-size:12px;line-height:1.5}.ai-price-range,.ai-reasoning{color:#333;color:var(--text-primary,#333);margin:0}.ai-price-range{font-family:Courier New,monospace;font-size:14px;font-weight:600}.ai-levels-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.ai-levels-list li{align-items:center;background:#fff;background:var(--bg-primary,#fff);border-radius:4px;display:flex;justify-content:space-between;padding:6px 8px}.ai-level-price{color:#333;color:var(--text-primary,#333);font-family:Courier New,monospace;font-size:12px;font-weight:600}.ai-level-strength{border-radius:3px;font-size:10px;font-weight:500;padding:3px 6px;text-transform:uppercase}.ai-level-strength:contains("strong"){background:#d4edda;color:#155724}.ai-analysis-placeholder{padding:20px 10px;text-align:center}.ai-analysis-placeholder p{color:#333;color:var(--text-primary,#333);font-size:12px;margin:6px 0}.ai-analysis-note{font-size:11px;font-weight:600;margin-top:12px!important}.ai-analysis-features{display:inline-block;list-style:none;margin:10px 0;padding:0;text-align:left}.ai-analysis-features li{color:#666;color:var(--text-secondary,#666);font-size:11px;padding:4px 0}.ai-analysis-features li:before{color:#007bff;color:var(--accent-color,#007bff);content:"✓ ";font-weight:600;margin-right:8px}.dark-theme .ai-analysis-header h3{color:#fff;color:var(--text-primary,#fff)}.dark-theme .ai-analysis-subtitle{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .ai-analysis-error{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .ai-analysis-error p{color:#fff;color:var(--text-primary,#fff)}.dark-theme .ai-analysis-item{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-color:#333;border-color:var(--border-color,#333)}.dark-theme .ai-analysis-item h4,.dark-theme .ai-price-range,.dark-theme .ai-reasoning{color:#fff;color:var(--text-primary,#fff)}.dark-theme .ai-levels-list li{background:#1e1e1e;background:var(--bg-primary,#1e1e1e)}.dark-theme .ai-analysis-placeholder p,.dark-theme .ai-level-price{color:#fff;color:var(--text-primary,#fff)}.dark-theme .ai-analysis-features li{color:#aaa;color:var(--text-secondary,#aaa)}.others-tab{padding:0}.others-links{margin-top:20px}.others-link-group{margin-bottom:24px}.others-link-group h4{color:#333;color:var(--text-primary,#333);font-size:14px;font-weight:600;letter-spacing:.3px;margin:0 0 12px;text-transform:uppercase}.others-link-group ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.others-link{color:#007bff;color:var(--accent-color,#007bff);display:inline-block;font-size:14px;padding:8px 0;text-decoration:none}.others-link:hover{text-decoration:underline}.dark-theme .others-link-group h4{color:#fff;color:var(--text-primary,#fff)}.dark-theme .others-link{color:#4a9eff;color:var(--accent-color,#4a9eff)}@media (min-width:769px) and (max-width:1024px){.ai-analysis-tab,.company-tab,.connection-tab,.finance-tab,.news-tab,.others-tab,.ownership-tab{padding:16px}.polygon-section-title{font-size:14px}.fetch-ai-analysis-btn,.fetch-gemini-btn,.retry-btn{font-size:14px;min-height:44px;padding:12px 18px}.polygon-header.accordion-header{min-height:44px;padding:12px}.finance-table td,.finance-table th{font-size:13px;padding:10px 12px}.ai-analysis-item,.connection-item,.gemini-item,.news-item{padding:16px}}@media (max-width:768px){.ai-analysis-tab,.company-tab,.connection-tab,.finance-tab,.news-tab,.others-tab,.ownership-tab{padding:12px}.polygon-section-title{font-size:14px}.polygon-label{font-size:12px;min-width:80px}.polygon-detail-value,.polygon-text{font-size:13px}.polygon-detail-label{font-size:12px}.fetch-ai-analysis-btn,.fetch-gemini-btn,.retry-btn{font-size:15px;margin-bottom:12px;min-height:44px;padding:14px 20px;width:100%}.polygon-header.accordion-header{min-height:44px;padding:14px 12px}.accordion-icon{font-size:16px}.gemini-details-grid,.polygon-details-grid{gap:12px;grid-template-columns:1fr}.gemini-details-grid-side-by-side{flex-direction:column;gap:16px}.finance-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.finance-table{font-size:12px;min-width:600px}.finance-table td,.finance-table th{font-size:12px;padding:12px 10px}.finance-table-container:after{background:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-muted);content:"← Scroll horizontally →";display:block;font-size:11px;padding:8px;text-align:center}.ai-analysis-item,.connection-item,.gemini-item,.news-item{padding:14px}.connection-item-header,.news-header{align-items:flex-start;flex-direction:column;gap:8px}.news-date{white-space:normal}.ai-recommendation{display:block;font-size:15px;margin-bottom:12px;padding:10px 14px;text-align:center}.company-link-compact,.filing-title-link,.news-title-link,.others-link,.ownership-link{align-items:center;display:inline-flex;min-height:44px;padding:8px 0}}@media (max-width:480px){.ai-analysis-tab,.company-tab,.connection-tab,.finance-tab,.news-tab,.others-tab,.ownership-tab{padding:10px}.finance-table{font-size:12px}.ai-analysis-item,.connection-item,.gemini-item,.news-item{padding:12px}}.algorithm-sub-tab-content{min-height:400px;padding:20px}.algorithm-sub-tab-content h3{color:#333;color:var(--text-primary,#333);font-size:18px;font-weight:600;margin:0 0 12px}.algorithm-sub-tab-content p{color:#666;color:var(--text-secondary,#666);font-size:14px;margin:8px 0}.placeholder-text{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border-left:3px solid #007bff;border-left:3px solid var(--accent-color,#007bff);border-radius:6px;font-size:13px;line-height:1.6;margin-top:20px;padding:16px}.dark-theme .algorithm-sub-tab-content h3{color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .algorithm-sub-tab-content p{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.dark-theme .placeholder-text{background:#2a2e39;background:var(--bg-tertiary,#2a2e39);border-left-color:#4a9eff;border-left-color:var(--accent-color,#4a9eff)}@media (min-width:769px) and (max-width:1024px){.algorithm-sub-tab-content{padding:18px}.algorithm-sub-tab-content h3{font-size:19px}.algorithm-sub-tab-content p{font-size:15px}.placeholder-text{font-size:14px;padding:18px}}@media (max-width:768px){.algorithm-sub-tab-content{min-height:300px;padding:14px}.algorithm-sub-tab-content h3{font-size:18px;margin-bottom:14px}.algorithm-sub-tab-content p{font-size:14px;line-height:1.6}.placeholder-text{font-size:13px;line-height:1.7;margin-top:16px;padding:14px}}@media (max-width:480px){.algorithm-sub-tab-content{min-height:250px;padding:12px}.algorithm-sub-tab-content h3{font-size:16px}.algorithm-sub-tab-content p{font-size:14px}.placeholder-text{font-size:12px;padding:12px}}.algorithm-grid-container{overflow-x:auto;padding:0;width:100%}.algorithm-grid{background:#fff;background:var(--bg-primary,#fff);border-collapse:collapse;font-size:13px;width:100%}.algorithm-grid thead{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);position:-webkit-sticky;position:sticky;top:0;z-index:10}.algorithm-grid th{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);color:#333;color:var(--text-primary,#333);font-size:12px;font-weight:600;padding:12px 8px;text-align:left;white-space:nowrap}.algorithm-grid td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);padding:12px 8px;vertical-align:top}.algorithm-grid tbody tr:hover{background:#f9f9f9;background:var(--bg-tertiary,#f9f9f9)}.algorithm-grid tbody tr.selected{background:#e3f2fd;background:var(--bg-selected,#e3f2fd)}.col-checkbox{text-align:center;width:60px}.col-run{width:90px}.col-name{font-weight:500;width:180px}.col-parameters{font-family:Courier New,monospace;font-size:11px;width:200px}.col-constraints{color:#666;color:var(--text-secondary,#666);font-size:11px;width:200px}.col-outcome{width:120px}.col-description{max-width:500px;min-width:300px}.col-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.btn-run-algorithm{background:#007bff;background:var(--accent-color,#007bff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;padding:6px 12px;transition:background .2s}.btn-run-algorithm:hover:not(:disabled){background:#0056b3;background:var(--accent-hover,#0056b3)}.btn-run-algorithm:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.btn-kill-algorithm{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;padding:6px 12px;transition:background .2s}.btn-kill-algorithm:hover{background:#d32f2f}.parameters-cell{display:flex;flex-direction:column;gap:6px}.parameters-display{color:#666;color:var(--text-secondary,#666);font-size:11px}.btn-edit-parameters{align-self:flex-start;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:10px;padding:4px 8px;transition:background .2s}.btn-edit-parameters:hover:not(:disabled){background:#e0e0e0}.btn-edit-parameters:disabled{cursor:not-allowed;opacity:.5}.outcome-result{display:flex;flex-direction:column;gap:4px}.execution-time{color:#666;color:var(--text-secondary,#666);font-size:10px;font-style:italic}.error-result{display:flex;flex-direction:column;gap:4px}.error-message{word-wrap:break-word;color:#f44336;font-size:10px;font-style:italic;max-width:200px}.outcome-cell{align-items:center;display:flex;gap:6px}.status-indicator{font-size:11px;font-weight:500}.status-idle{color:#999;color:var(--text-secondary,#999);font-size:12px}.outcome-badge{font-size:11px;padding:4px 8px}.outcome-buy{background:#d4edda}.outcome-sell{background:#f8d7da}.outcome-hold{background:#fff3cd}.outcome-undecided{background:#e2e3e5;color:#383d41}.confidence{font-size:10px;font-weight:400;opacity:.8}.error{color:#f44336}.description-content{word-wrap:break-word;color:#666;color:var(--text-secondary,#666);font-size:11px;line-height:1.5;max-height:100px;overflow-y:auto;white-space:normal}.no-data{color:#999;color:var(--text-secondary,#999);font-style:italic;padding:40px;text-align:center}.dark-theme .algorithm-grid{background:#1e1e1e;background:var(--bg-primary,#1e1e1e)}.dark-theme .algorithm-grid thead{background:#2a2e39;background:var(--bg-secondary,#2a2e39)}.dark-theme .algorithm-grid th,.dark-theme .algorithm-grid thead{border-bottom-color:#3a3e49;border-bottom-color:var(--border-color,#3a3e49)}.dark-theme .algorithm-grid th{color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .algorithm-grid td{border-bottom-color:#3a3e49;border-bottom-color:var(--border-color,#3a3e49)}.dark-theme .algorithm-grid tbody tr:hover{background:#2a2e39;background:var(--bg-tertiary,#2a2e39)}.dark-theme .algorithm-grid tbody tr.selected{background:#1e3a5f;background:var(--bg-selected,#1e3a5f)}.dark-theme .col-constraints,.dark-theme .description-content{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.dark-theme .status-idle{color:#6b7280;color:var(--text-secondary,#6b7280)}.parameter-edit-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.parameter-edit-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #e0e0e0;padding:16px 20px}.modal-header h3{font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.modal-close:hover{background-color:#f0f0f0}.modal-body{padding:20px}.parameter-group{margin-bottom:20px}.parameter-group label{display:block;margin-bottom:8px}.parameter-group strong{color:#333;display:block;font-size:14px;margin-bottom:6px}.parameter-input,.parameter-select{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-top:4px;padding:8px 12px;width:100%}.parameter-input:focus,.parameter-select:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.parameter-help{color:#666;font-size:12px;font-style:italic;margin-top:4px}.no-parameters{color:#999;font-style:italic;padding:20px;text-align:center}.modal-footer{border-top:1px solid #e0e0e0;gap:12px;padding:16px 20px}.btn-cancel,.btn-save{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.btn-cancel{background-color:#f5f5f5;color:#333}.btn-cancel:hover{background-color:#e0e0e0}.btn-save{background-color:#4caf50;color:#fff}.btn-save:hover{background-color:#45a049}.tech-tab{display:flex;flex-direction:column;height:100%;padding:0}.tech-tab-header{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);padding:12px 16px}.tech-tab-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.select-all-checkbox{align-items:center;color:#333;color:var(--text-primary,#333);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px}.select-all-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.btn-run-selected{background:#007bff;background:var(--accent-color,#007bff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 20px;transition:background .2s}.btn-run-selected:hover:not(:disabled){background:#0056b3;background:var(--accent-hover,#0056b3)}.btn-run-selected:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.btn-download-data{background:#28a745;background:var(--success-color,#28a745);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 20px;transition:background .2s}.btn-download-data:hover{background:#218838;background:var(--success-hover,#218838)}.period-selector{align-items:center;display:flex;gap:8px}.period-selector label{font-weight:600}.period-dropdown,.period-selector label{color:#333;color:var(--text-primary,#333)}.period-dropdown{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;cursor:pointer;font-size:12px;min-width:240px;padding:6px 12px;transition:border-color .2s}.ohlcv-records-inline{align-items:center;color:#666;color:var(--text-secondary,#666);display:inline-flex;font-size:12px;gap:6px;margin-left:8px}.period-dropdown:focus,.period-dropdown:hover{border-color:#007bff;border-color:var(--accent-color,#007bff)}.period-dropdown:focus{box-shadow:0 0 0 3px #007bff1a;outline:none}.ohlcv-info-row{align-items:center;background:#f9f9f9;background:var(--bg-tertiary,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;color:#666;color:var(--text-secondary,#666);display:flex;font-size:12px;gap:8px;padding:4px 12px}.ohlcv-count{color:#333;color:var(--text-primary,#333);font-weight:500}.latest-ohlcv-info{align-items:center;background:#f9f9f9;background:var(--bg-tertiary,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:4px;color:#666;color:var(--text-secondary,#666);display:flex;font-size:12px;gap:8px;padding:4px 12px}.ohlcv-label{color:#333;color:var(--text-primary,#333);font-weight:600}.ohlcv-date{color:#007bff;color:var(--accent-color,#007bff);font-weight:500}.ohlcv-values{color:#333;color:var(--text-primary,#333);font-family:Courier New,monospace;font-size:11px}.ohlcv-loading{color:#999;color:var(--text-secondary,#999);font-style:italic}.dark-theme .period-dropdown,.dark-theme .period-selector label{color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .period-dropdown{background:#1a1d2e;background:var(--bg-primary,#1a1d2e);border-color:#3a3e49;border-color:var(--border-color,#3a3e49)}.dark-theme .period-dropdown:focus,.dark-theme .period-dropdown:hover{border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.dark-theme .ohlcv-records-inline{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.dark-theme .ohlcv-info-row{background:#1e1e1e;background:var(--bg-tertiary,#1e1e1e);border-color:#3a3e49;border-color:var(--border-color,#3a3e49)}.dark-theme .ohlcv-count{color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .latest-ohlcv-info{background:#1e1e1e;background:var(--bg-tertiary,#1e1e1e);border-color:#3a3e49;border-color:var(--border-color,#3a3e49)}.dark-theme .ohlcv-label,.dark-theme .ohlcv-values{color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .ohlcv-date{color:#4a9eff;color:var(--accent-color,#4a9eff)}.algorithm-tab-loading{color:#666;color:var(--text-secondary,#666);padding:40px;text-align:center}.dark-theme .tech-tab-header{background:#2a2e39;background:var(--bg-secondary,#2a2e39);border-bottom-color:#3a3e49;border-bottom-color:var(--border-color,#3a3e49)}.dark-theme .select-all-checkbox{color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .algorithm-tab-loading{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.conclusion-tab{background:#fff;background:var(--bg-primary,#fff);color:#333;color:var(--text-primary,#333);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100%;padding:12px}.conclusion-header{align-items:center;border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.conclusion-header h2{color:#333;color:var(--text-primary,#333);font-size:16px;font-weight:600;margin:0}.last-updated{color:#666;color:var(--text-secondary,#666);font-size:11px}.recommendation-card{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:12px;padding:16px;transition:transform .2s ease}.recommendation-card:hover{transform:translateY(-2px)}.recommendation-badge{font-size:28px;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-align:center;text-shadow:0 2px 4px #00000080;text-transform:uppercase}.recommendation-buy .recommendation-badge{color:#4caf50}.recommendation-sell .recommendation-badge{color:#f44336}.recommendation-hold .recommendation-badge{color:#ff9800}.recommendation-insufficient-data .recommendation-badge{color:#9e9e9e}.recommendation-buy{border-color:#4caf50}.recommendation-buy,.recommendation-sell{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5)}.recommendation-sell{border-color:#f44336}.recommendation-hold{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-color:#ff9800}.recommendation-insufficient-data{border-color:#999;border-color:var(--border-color,#999)}.confidence-meter{display:flex;flex-direction:column;gap:6px}.confidence-label{color:#666;color:var(--text-secondary,#666);font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.confidence-bar{background:#e0e0e0;background:var(--bg-tertiary,#e0e0e0);border-radius:10px;box-shadow:inset 0 2px 4px #0000001a;height:20px;overflow:hidden;position:relative;width:100%}.confidence-fill{background:linear-gradient(90deg,#ffffff1a,#0000);border-radius:10px;box-shadow:0 0 10px #fff3;height:100%;transition:width .5s ease,background-color .5s ease}.confidence-value{color:#333;color:var(--text-primary,#333);font-size:16px;font-weight:700;margin-top:4px;text-align:center}.vote-breakdown{margin-bottom:12px}.vote-breakdown h3{color:#333;color:var(--text-primary,#333);font-size:14px;font-weight:600;margin:0 0 8px}.vote-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.vote-item{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:6px;padding:12px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.vote-item:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.vote-buy{border-color:#4caf50}.vote-sell{border-color:#f44336}.vote-hold{border-color:#ff9800}.vote-label{color:#666;color:var(--text-secondary,#666);font-size:11px;font-weight:500;letter-spacing:1px;margin-bottom:4px;text-transform:uppercase}.vote-count{font-size:20px;font-weight:700;margin:6px 0}.vote-buy .vote-count{color:#4caf50}.vote-sell .vote-count{color:#f44336}.vote-hold .vote-count{color:#ff9800}.vote-weighted{color:#666;color:var(--text-secondary,#666);font-size:10px;margin-top:4px}.category-breakdown{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:12px}.category-card{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:6px;padding:12px;transition:transform .2s ease}.category-card:hover{transform:translateY(-2px)}.category-card h4{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);color:#333;color:var(--text-primary,#333);font-size:13px;font-weight:600;margin:0 0 8px;padding-bottom:4px}.category-votes{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.category-votes span{color:#333;color:var(--text-primary,#333);display:flex;font-size:11px;justify-content:space-between;padding:2px 0}.category-confidence{background:#4caf501a;border:1px solid #4caf504d;border-radius:4px;color:#4caf50;font-size:12px;font-weight:600;padding:6px;text-align:center}.summary-section{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:6px;margin-bottom:12px;padding:12px}.summary-section h3{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);font-size:14px;font-weight:600;margin:0 0 8px;padding-bottom:4px}.summary-section h3,.summary-text{color:#333;color:var(--text-primary,#333)}.summary-text{font-size:12px;line-height:1.5;margin:0}.stats-footer{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-around;padding:12px}.stat{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:80px}.stat-label{color:#aaa;font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.stat-value{color:#4caf50;font-size:18px;font-weight:700}.stat-error .stat-value{color:#f44336}@media (max-width:1200px){.vote-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.conclusion-tab{padding:16px}.conclusion-header{align-items:flex-start;flex-direction:column;gap:8px}.conclusion-header h2{font-size:20px}.recommendation-card{padding:20px}.recommendation-badge{font-size:32px}.category-breakdown,.vote-grid{grid-template-columns:1fr}.stats-footer{flex-direction:column;gap:12px}.stat{flex-direction:row;justify-content:space-between;width:100%}}@media (max-width:480px){.confidence-value{font-size:20px}.vote-count{font-size:28px}.stat-value{font-size:24px}}.conclusion-tab>*{animation:fadeIn .5s ease}.conclusion-loading{align-items:center;color:#888;display:flex;font-size:18px;justify-content:center;min-height:400px}.conclusion-empty{color:#888;padding:60px 20px;text-align:center}.conclusion-empty h3{color:#aaa;font-size:24px;margin-bottom:16px}.conclusion-empty p{font-size:16px;line-height:1.6;margin:0 auto;max-width:600px}.algorithms-tab{display:flex;flex-direction:column;height:100%;padding:0}.algorithms-sub-tabs{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;gap:4px;overflow-x:auto;padding:8px}.algorithm-sub-tab{background:#0000;border:1px solid #0000;border-radius:4px;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.algorithm-sub-tab:hover{background:#e8e8e8;background:var(--bg-tertiary,#e8e8e8);color:#333;color:var(--text-primary,#333)}.algorithm-sub-tab.active{background:#007bff;background:var(--accent-color,#007bff);border-color:#007bff;border-color:var(--accent-color,#007bff);color:#fff}.algorithms-content{flex:1 1;overflow-y:auto;padding:0}.dark-theme .algorithms-sub-tabs{background:#2a2e39;background:var(--bg-secondary,#2a2e39);border-bottom-color:#3a3e49;border-bottom-color:var(--border-color,#3a3e49)}.dark-theme .algorithm-sub-tab{color:#9ca3af;color:var(--text-secondary,#9ca3af)}.dark-theme .algorithm-sub-tab:hover{background:#3a3e49;background:var(--bg-tertiary,#3a3e49);color:#d1d4dc;color:var(--text-primary,#d1d4dc)}.dark-theme .algorithm-sub-tab.active{background:#4a9eff;background:var(--accent-color,#4a9eff);color:#fff}.stock-details-backdrop{animation:fadeIn .2s ease-in;background-color:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stock-details-side-panel{animation:slideIn .3s ease-out;background:#fff;background:var(--bg-secondary,#fff);border-left:1px solid #e0e0e0;border-left:1px solid var(--border-color,#e0e0e0);bottom:0;box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;overflow:hidden;position:fixed;right:0;top:0;z-index:999}.stock-details-handlebar{align-items:center;background:#0000;bottom:0;cursor:col-resize;display:flex;justify-content:center;left:0;position:absolute;top:0;transition:background-color .2s;width:8px;z-index:1000}.stock-details-handlebar:hover{background-color:#0000000d}.stock-details-handlebar.dragging{background-color:#007bff33}.handlebar-grip{background:#ccc;background:var(--border-color,#ccc);border-radius:2px;height:60px;opacity:.5;transition:opacity .2s;width:4px}.stock-details-handlebar.dragging .handlebar-grip,.stock-details-handlebar:hover .handlebar-grip{background:#007bff;background:var(--primary-color,#007bff);opacity:1}.stock-details-handlebar.dragging .handlebar-grip{width:6px}.stock-details-header{align-items:center;background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.stock-details-header h2{color:#333;color:var(--text-primary,#333);font-size:18px;font-weight:600;margin:0}.stock-details-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:4px 8px;transition:all .2s;width:32px}.stock-details-close-btn:hover{background:#e9ecef;background:var(--bg-tertiary,#e9ecef);color:#333;color:var(--text-primary,#333)}.stock-details-tabs{background:#fff;background:var(--bg-secondary,#fff);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;flex-shrink:0;overflow-x:auto;scrollbar-width:thin}.stock-details-tabs::-webkit-scrollbar{height:4px}.stock-details-tabs::-webkit-scrollbar-thumb{background:#ccc;background:var(--border-color,#ccc);border-radius:2px}.stock-details-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;color:var(--text-secondary,#666);cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s;white-space:nowrap}.stock-details-tab:hover{background:#f8f9fa;background:var(--bg-tertiary,#f8f9fa);color:#333;color:var(--text-primary,#333)}.stock-details-tab.active{border-bottom-color:#007bff;border-bottom-color:var(--primary-color,#007bff);color:#007bff;color:var(--primary-color,#007bff)}.stock-details-content,.stock-details-tab.active{background:#fff;background:var(--bg-secondary,#fff)}.stock-details-content{flex:1 1;margin:0;overflow-y:auto;padding:0}.stock-details-tab-content{animation:fadeIn .2s ease-in}.stock-details-tab-content h3{color:#333;color:var(--text-primary,#333);font-size:16px;font-weight:600;margin:0 0 16px}.stock-details-tab-content p{color:#666;color:var(--text-secondary,#666);font-size:14px;line-height:1.6}.dark-theme .stock-details-side-panel{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-left-color:#333;border-left-color:var(--border-color,#333)}.dark-theme .stock-details-header{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.dark-theme .stock-details-header h2{color:#fff;color:var(--text-primary,#fff)}.dark-theme .stock-details-close-btn{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .stock-details-close-btn:hover{background:#333;background:var(--bg-tertiary,#333);color:#fff;color:var(--text-primary,#fff)}.dark-theme .stock-details-tabs{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border-bottom-color:#333;border-bottom-color:var(--border-color,#333)}.dark-theme .stock-details-tab{color:#aaa;color:var(--text-secondary,#aaa)}.dark-theme .stock-details-tab:hover{background:#2a2a2a;background:var(--bg-tertiary,#2a2a2a);color:#fff;color:var(--text-primary,#fff)}.dark-theme .stock-details-tab.active{border-bottom-color:#4a9eff;border-bottom-color:var(--primary-color,#4a9eff);color:#4a9eff;color:var(--primary-color,#4a9eff)}.dark-theme .stock-details-content{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e)}.dark-theme .stock-details-tab-content h3{color:#fff;color:var(--text-primary,#fff)}.dark-theme .stock-details-tab-content p{color:#aaa;color:var(--text-secondary,#aaa)}@media (min-width:769px) and (max-width:1024px){.stock-details-side-panel{max-width:700px;min-width:500px;width:60%!important}.stock-details-tab{font-size:15px;padding:14px 18px}.stock-details-header h2{font-size:20px}.stock-details-close-btn{font-size:28px;height:44px;width:44px}}@media (max-width:768px){.stock-details-side-panel{max-width:100vw;width:100%!important}.stock-details-handlebar{display:none}.stock-details-tab{font-size:15px;min-height:44px;padding:14px 16px}.stock-details-header{padding:16px 20px}.stock-details-header h2{font-size:18px}.stock-details-close-btn{font-size:28px;height:44px;width:44px}}.trading-alerts-container{background:var(--bg-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:6px}.alert-error-message,.alert-success-message{align-items:center;animation:slideIn .3s ease-out;border-radius:4px;box-shadow:0 2px 8px #00000026;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px;max-width:400px;padding:8px 16px;position:fixed;right:10px;top:10px;z-index:1000}.alert-error-message{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-success-message{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.alert-error-message button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;margin-left:8px;padding:0 4px}.alerts-redesign-layout{flex:1 1;flex-direction:row}.alerts-redesign-layout,.alerts-right-container{display:flex;gap:8px;min-height:0;overflow:hidden}.alerts-right-container{flex:1 1;flex-direction:column}.chart-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex:0 0 350px;flex-direction:column;overflow:hidden}.chart-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:6px 10px}.chart-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.chart-title{color:var(--text-primary);font-size:14px;font-weight:600;margin:0}.help-link{align-items:center;background:var(--accent-color);border-radius:4px;color:#fff;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 8px;text-decoration:none;transition:all .2s}.help-link:hover{background:var(--accent-hover);transform:translateY(-1px)}.help-icon{font-size:14px}.chart-controls{flex-wrap:wrap;gap:6px}.chart-controls,.control-group{align-items:center;display:flex}.control-group{gap:3px}.control-group label{color:var(--text-secondary);font-size:10px;font-weight:500;white-space:nowrap}.control-select{background:#fff;border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:10px;min-width:70px;padding:3px 5px}.control-select:focus{border-color:var(--accent-color);outline:none}.checkbox-group{gap:4px}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:11px;gap:4px}.checkbox-label input[type=checkbox]{cursor:pointer}.chart-container{flex:1 1;min-height:0;padding:8px}.chart-empty,.chart-error,.chart-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;justify-content:center;padding:20px;text-align:center}.chart-error{color:var(--danger-color);font-size:12px}.chart-empty .empty-icon{font-size:32px;opacity:.5}.chart-empty .empty-text{color:var(--text-primary);font-size:13px;font-weight:500}.chart-empty .empty-subtext{color:var(--text-secondary);font-size:11px}.alert-form-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex:0 0 280px;flex-direction:column;max-height:100%;overflow-y:auto;padding:10px}.form-panel-title{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-weight:600;margin:0 0 8px;padding-bottom:6px}.alert-form-compact{gap:8px}.alert-form-compact,.form-row{display:flex;flex-direction:column}.form-row{gap:3px}.form-row-group{display:flex;gap:6px}.form-row.half{flex:1 1}.form-label{color:var(--text-secondary);font-size:9px;letter-spacing:.3px;text-transform:uppercase}.form-input{background:var(--bg-primary);border-radius:3px;font-size:11px;padding:5px 7px;transition:all .2s}.form-input:focus{box-shadow:0 0 0 2px #007bff1a}select.form-input{cursor:pointer}.alert-type-buttons{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(2,1fr)}.alert-type-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:10px;font-weight:500;padding:6px 3px;text-align:center;transition:all .2s}.alert-type-btn:hover{background:var(--bg-hover);border-color:var(--accent-color)}.alert-type-btn.selected{background:#007bff1a;border-color:var(--accent-color);color:var(--accent-color)}.notification-options{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.notification-option{align-items:center;border-radius:3px;color:var(--text-primary);cursor:pointer;display:flex;font-size:11px;gap:4px;padding:4px;transition:background .2s}.notification-option:hover:not(.disabled){background:var(--bg-hover)}.notification-option.disabled{cursor:not-allowed;opacity:.5}.notification-option.disabled input{cursor:not-allowed}.notification-option input[type=checkbox]{cursor:pointer;height:14px;width:14px}.btn-create-alert{background:var(--accent-color);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-top:6px;padding:6px 10px;transition:all .2s}.btn-create-alert:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 8px #007bff4d;transform:translateY(-1px)}.btn-create-alert:disabled{cursor:not-allowed;opacity:.6}.alert-grid-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.grid-header-compact{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;padding:6px 10px}.grid-stats-compact{display:flex;flex-wrap:wrap;gap:12px}.stat-compact{color:var(--text-secondary);font-size:10px}.stat-compact strong{color:var(--text-primary);margin-left:4px}.stat-active{color:var(--success-color)!important}.stat-triggered{color:var(--accent-color)!important}.grid-controls-compact{display:flex;gap:6px}.filter-input-compact,.filter-select-compact{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:11px;padding:4px 8px;transition:all .2s}.filter-input-compact:focus,.filter-select-compact:focus{border-color:var(--accent-color);outline:none}.filter-select-compact{cursor:pointer}.alert-table-container-compact{flex:1 1;min-height:0;overflow:auto}.alert-table-compact{border-collapse:initial;border-spacing:0;font-size:11px;width:100%}.alert-table-compact th{background:var(--bg-tertiary);color:var(--text-secondary);font-size:9px;font-weight:600;padding:4px 6px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.alert-table-compact td,.alert-table-compact th{border-bottom:1px solid var(--border-color);white-space:nowrap}.alert-table-compact td{color:var(--text-primary);font-size:10px;overflow:hidden;padding:5px 6px;text-overflow:ellipsis}.alert-table-compact tr:hover td{background:var(--bg-hover)}.status-badge{align-items:center;border-radius:3px;display:inline-flex;font-size:10px;font-weight:600;gap:4px;padding:2px 6px;white-space:nowrap}.status-badge.active{background:#28a7451a;color:var(--success-color)}.status-badge.inactive{background:#ffb7001a;color:var(--warning-color)}.status-badge.triggered{background:#007bff1a;color:var(--accent-color)}.status-dot{background:currentColor;height:5px;width:5px}.alert-symbol{color:var(--text-primary);font-size:12px;font-weight:600}.alert-type-badge{background:var(--bg-tertiary);border-radius:3px;color:var(--text-secondary);font-size:10px;font-weight:500;padding:2px 6px;white-space:nowrap}.threshold-value{color:var(--accent-color);font-family:Courier New,monospace;font-size:11px;font-weight:600}.action-buttons{gap:6px}.action-btn,.action-buttons{align-items:center;display:flex}.action-btn{background:#0000;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:14px;justify-content:center;padding:4px;transition:all .2s}.action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.action-btn.delete:hover{background:#dc35451a;color:var(--danger-color)}.toggle-switch{background:#cbd5e0;border-radius:9px;cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:background .3s;width:32px}.toggle-switch.active{background:var(--success-color)}.toggle-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .3s;width:14px}.toggle-switch.active:after{transform:translateX(14px)}.empty-state-compact{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:200px;justify-content:center}.empty-state-compact .empty-icon{font-size:36px;margin-bottom:12px;opacity:.5}.empty-state-compact .empty-text{color:var(--text-primary);font-size:13px;font-weight:500;margin-bottom:4px}.empty-state-compact .empty-subtext{color:var(--text-secondary);font-size:11px}@media (max-width:1200px){.alert-form-panel{flex:0 0 280px}}@media (max-width:968px){.alerts-redesign-layout{flex-direction:column}.chart-section{flex:0 0 350px}.alerts-bottom-section{flex:1 1;flex-direction:column}.alert-form-panel{flex:0 0 auto;max-height:400px}.alert-grid-panel{flex:1 1;min-height:300px}.grid-header-compact{align-items:stretch;flex-direction:column}.grid-controls-compact{width:100%}.filter-input-compact,.filter-select-compact{flex:1 1}}@media (max-width:768px){.trading-alerts-container{padding:4px}.chart-section{flex:0 0 300px}.chart-controls{align-items:stretch;flex-direction:column}.control-group{flex-direction:row;justify-content:space-between}.control-select{flex:1 1}.alert-form-panel{flex:0 0 auto;max-height:none}.alert-type-buttons,.notification-options{grid-template-columns:repeat(4,1fr)}.form-row-group{flex-direction:column}.alert-table-container-compact{overflow-x:auto}.alert-table-compact{min-width:600px}.grid-stats-compact{flex-direction:column;gap:4px}}@media (max-width:480px){.chart-section{flex:0 0 250px}.alert-type-buttons,.notification-options{grid-template-columns:repeat(2,1fr)}.help-link{font-size:10px;padding:3px 6px}}.correlation-matrix-container{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:30px;padding:20px}.correlation-matrix-wrapper{max-height:600px;max-width:100%;overflow-x:auto;overflow-y:auto}.correlation-matrix-table{border-collapse:collapse;box-shadow:0 0 20px #0000001a;font-size:14px;min-width:100%}.correlation-matrix-table thead{background-color:#f8f9fa;background-color:var(--header-bg,#f8f9fa);position:-webkit-sticky;position:sticky;top:0;z-index:10}.matrix-header-corner{border:1px solid #dee2e6;border-bottom:2px solid #adb5bd;border:1px solid var(--border-color,#dee2e6);border-bottom:2px solid var(--border-dark,#adb5bd);border-right:2px solid #adb5bd;border-right:2px solid var(--border-dark,#adb5bd);left:0;position:-webkit-sticky;position:sticky;text-align:left;z-index:20}.matrix-header-col,.matrix-header-corner{background-color:#f8f9fa;background-color:var(--header-bg,#f8f9fa);font-weight:700;padding:12px 16px}.matrix-header-col{border:1px solid #dee2e6;border-bottom:2px solid #adb5bd;border:1px solid var(--border-color,#dee2e6);border-bottom:2px solid var(--border-dark,#adb5bd);min-width:80px;text-align:center;white-space:nowrap}.matrix-header-row{background-color:#f8f9fa;background-color:var(--header-bg,#f8f9fa);border:1px solid #dee2e6;border-right:2px solid #adb5bd;border:1px solid var(--border-color,#dee2e6);border-right:2px solid var(--border-dark,#adb5bd);font-weight:700;left:0;padding:12px 16px;position:-webkit-sticky;position:sticky;text-align:left;white-space:nowrap;z-index:5}.matrix-cell{border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);font-weight:600;min-width:80px;padding:12px 16px;text-align:center;transition:all .2s ease}.matrix-cell.diagonal{background-color:#e9ecef!important;background-color:var(--diagonal-bg,#e9ecef)!important;color:#6c757d!important;color:var(--text-muted,#6c757d)!important;cursor:default;font-style:italic}.matrix-cell.clickable{cursor:pointer}.matrix-cell.clickable:hover{border:2px solid #007bff;border:2px solid var(--primary-color,#007bff);box-shadow:0 4px 12px #0003;transform:scale(1.05);z-index:1}.correlation-matrix-empty{color:#6c757d;color:var(--text-muted,#6c757d);font-size:16px;padding:40px;text-align:center}.correlation-legend{background-color:#f8f9fa;background-color:var(--legend-bg,#f8f9fa);border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:8px;padding:20px}.correlation-legend h4{color:#212529;color:var(--text-primary,#212529);font-size:18px;margin:0 0 15px}.legend-gradient{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.legend-item{align-items:center;display:flex;gap:12px}.legend-color{border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:4px;height:30px;width:60px}.legend-item span{color:#495057;color:var(--text-secondary,#495057);font-size:14px}.legend-interpretation{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color,#dee2e6);margin-top:20px;padding-top:20px}.legend-interpretation p{color:#212529;color:var(--text-primary,#212529);font-size:14px;margin:0 0 10px}.legend-interpretation ul{list-style:none;margin:0;padding:0}.legend-interpretation li{color:#495057;color:var(--text-secondary,#495057);font-size:13px;padding:6px 0}[data-theme=dark] .correlation-matrix-container{background-color:#2d2d2d}[data-theme=dark] .matrix-header-col,[data-theme=dark] .matrix-header-corner,[data-theme=dark] .matrix-header-row{background-color:#3a3a3a;border-color:#555;color:#e0e0e0}[data-theme=dark] .matrix-cell{border-color:#555}[data-theme=dark] .matrix-cell.diagonal{background-color:#3a3a3a!important;color:#999!important}[data-theme=dark] .correlation-legend{background-color:#3a3a3a;border-color:#555;color:#e0e0e0}[data-theme=dark] .legend-interpretation li,[data-theme=dark] .legend-interpretation p{color:#ccc}@media (max-width:768px){.correlation-matrix-container{padding:10px}.matrix-cell,.matrix-header-col,.matrix-header-row{font-size:12px;min-width:60px;padding:8px}.legend-interpretation ul{font-size:12px}}.stock-search-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999999}.stock-search-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 24px 16px}.modal-title{color:#212529;font-size:18px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#f8f9fa;color:#212529}.search-input-container{padding:16px 24px}.search-input{border:2px solid #007bff;border-radius:8px;box-shadow:0 0 0 3px #007bff1a;color:#212529;font-size:16px;padding:12px 16px;transition:all .2s ease}.search-input:focus{box-shadow:0 0 0 3px #007bff33}.search-input::placeholder{color:#6c757d;font-style:italic}.category-filters{display:flex;gap:8px;padding:0 24px 16px}.category-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.category-btn:hover{background:#e9ecef;color:#212529}.category-btn.active{background:#007bff;border-color:#007bff;color:#fff}.search-results{flex:1 1;overflow-y:auto;padding:0 24px 24px}.stock-list{display:flex;flex-direction:column;gap:4px}.stock-item{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.stock-item:hover{background:#f8f9fa;border-color:#dee2e6}.stock-item.selected{background:#007bff;border-color:#007bff;color:#fff}.stock-item.selected .price,.stock-item.selected .stock-name,.stock-item.selected .stock-symbol{color:#fff}.stock-item.selected .change.positive{color:#90ee90}.stock-item.selected .change.negative{color:#ffb6c1}.stock-info{gap:2px}.stock-symbol{font-size:14px}.stock-price{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.price{color:#212529;font-size:14px;font-weight:600}.change{font-size:12px}.change.positive{color:#28a745}.change.negative{color:#dc3545}.no-results{color:#6c757d;font-size:14px;padding:40px 20px;text-align:center}.modal-footer{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;padding:16px 24px}.btn-done{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-done:hover{background:#218838}@media (max-width:768px){.stock-search-modal{max-height:90vh;width:95%}.modal-header{padding:16px 20px 12px}.search-input-container{padding:12px 20px}.category-filters{flex-wrap:wrap;padding:0 20px 12px}.search-results{padding:0 20px 20px}.stock-item{padding:10px 12px}.modal-footer{padding:12px 20px}}.correlation-tab{margin:0 auto;max-width:1400px;padding:20px}.correlation-header{margin-bottom:30px;text-align:center}.correlation-header h2{color:#212529;color:var(--text-primary,#212529);font-size:28px;margin:0 0 10px}.correlation-header p{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:16px;margin:0}.correlation-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.control-section{background-color:initial;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color,#dee2e6);border-radius:0;box-shadow:none;padding:0 0 16px}.control-section:last-child{border-bottom:none}.control-section h3{color:#212529;color:var(--text-primary,#212529);font-size:18px;font-weight:600;margin:0 0 15px}.symbol-input-group{display:flex;gap:10px;margin-bottom:15px}.symbol-input{border:2px solid #dee2e6;border:2px solid var(--border-color,#dee2e6);border-radius:6px;flex:1 1;font-size:14px;outline:none;padding:10px 15px;transition:border-color .2s}.symbol-input:focus{border-color:#007bff;border-color:var(--primary-color,#007bff)}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s}.btn-add{background-color:#007bff;background-color:var(--primary-color,#007bff);color:#fff}.btn-add:hover{background-color:#0056b3;background-color:var(--primary-hover,#0056b3)}.btn-select-symbols{background-color:#007bff;background-color:var(--primary-color,#007bff);color:#fff;font-size:14px;font-weight:500;padding:10px 20px}.btn-select-symbols:hover:not(:disabled){background-color:#0056b3;background-color:var(--primary-hover,#0056b3)}.btn-select-symbols:disabled{background-color:#6c757d;background-color:var(--disabled-bg,#6c757d);cursor:not-allowed;opacity:.6}.symbol-selector-section{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.hint-text{color:#6c757d;color:var(--text-muted,#6c757d);font-size:13px;margin:0}.btn-calculate{background-color:#28a745;background-color:var(--success-color,#28a745);color:#fff;font-size:14px;font-weight:500;margin:0 auto;max-width:400px;padding:12px 20px;width:100%}.btn-calculate:hover:not(:disabled){background-color:#218838;background-color:var(--success-hover,#218838)}.btn-calculate:disabled{background-color:#6c757d;background-color:var(--disabled-bg,#6c757d);cursor:not-allowed;opacity:.6}.btn-clear-all{background-color:#dc3545;background-color:var(--danger-color,#dc3545);color:#fff;font-size:12px;padding:6px 12px}.btn-clear-all:hover{background-color:#c82333;background-color:var(--danger-hover,#c82333)}.btn-history{align-items:center;background-color:#17a2b8;background-color:var(--info-color,#17a2b8);color:#fff;display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin:0 auto;max-width:400px;padding:10px 20px;width:100%}.btn-history:hover{background-color:#138496;background-color:var(--info-hover,#138496)}.btn-history .arrow{font-size:12px;transition:transform .3s ease}.btn-history .arrow.up{transform:rotate(180deg)}.btn-history .arrow.down{transform:rotate(0deg)}.btn-load-history{background-color:#007bff;background-color:var(--primary-color,#007bff);color:#fff;font-size:13px;padding:8px 16px}.btn-load-history:hover{background-color:#0056b3;background-color:var(--primary-hover,#0056b3)}.watchlist-quick-add{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color,#dee2e6);margin-top:15px;padding-top:15px}.watchlist-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:14px;margin-bottom:10px}.watchlist-symbols{display:flex;flex-wrap:wrap;gap:8px}.watchlist-symbol-btn{background-color:#f8f9fa;background-color:var(--surface-alt,#f8f9fa);border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:4px;color:#212529;color:var(--text-primary,#212529);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s}.watchlist-symbol-btn:hover:not(:disabled){background-color:#e7f1ff;background-color:var(--primary-light,#e7f1ff);border-color:#007bff;border-color:var(--primary-color,#007bff);color:#007bff;color:var(--primary-color,#007bff)}.watchlist-symbol-btn:disabled{background-color:#e9ecef;background-color:var(--disabled-bg,#e9ecef);cursor:not-allowed;opacity:.5}.selected-symbols{margin-top:15px}.selected-header{align-items:center;color:#212529;color:var(--text-primary,#212529);display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:10px}.selected-list{display:flex;flex-wrap:wrap;gap:8px;min-height:40px}.no-symbols{color:#6c757d;color:var(--text-muted,#6c757d);font-size:14px;font-style:italic}.selected-symbol-tag{align-items:center;background-color:#007bff;background-color:var(--primary-color,#007bff);border-radius:20px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:6px 12px}.remove-symbol-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:20px;justify-content:center;line-height:1;margin:0;padding:0;transition:background-color .2s;width:20px}.remove-symbol-btn:hover{background-color:#fff3}.period-interval-group{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#212529;color:var(--text-primary,#212529);font-size:14px;font-weight:600}.form-select{background-color:#fff;background-color:var(--surface-color,#fff);border:2px solid #dee2e6;border:2px solid var(--border-color,#dee2e6);border-radius:6px;cursor:pointer;font-size:14px;outline:none;padding:10px 15px;transition:border-color .2s}.form-select:focus{border-color:#007bff;border-color:var(--primary-color,#007bff)}.validation-hint{color:#ffc107;color:var(--warning-color,#ffc107);font-size:13px;font-style:italic;margin-top:10px}.spinner{border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.correlation-error{align-items:center;background-color:#f8d7da;background-color:var(--danger-light,#f8d7da);border:1px solid #dc3545;border:1px solid var(--danger-color,#dc3545);border-radius:6px;color:#721c24;color:var(--danger-dark,#721c24);display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:15px 20px}.error-icon{font-size:20px}.correlation-history{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.correlation-history h3{color:#212529;color:var(--text-primary,#212529);font-size:18px;margin:0 0 15px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{align-items:center;background-color:#f8f9fa;background-color:var(--surface-alt,#f8f9fa);border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:6px;display:flex;justify-content:space-between;padding:15px;transition:all .2s}.history-item:hover{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 2px 8px #0000001a}.history-info{flex:1 1}.history-symbols{color:#212529;color:var(--text-primary,#212529);font-weight:600;margin-bottom:5px}.history-details{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:13px;margin-bottom:3px}.history-date{color:#999;color:var(--text-muted,#999);font-size:12px}.correlation-results{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.results-header{margin-bottom:20px}.results-header h3{color:#212529;color:var(--text-primary,#212529);font-size:22px;margin:0 0 10px}.results-metadata{color:#6c757d;color:var(--text-secondary,#6c757d);display:flex;flex-wrap:wrap;font-size:13px;gap:15px}.results-metadata span{background-color:#f8f9fa;background-color:var(--surface-alt,#f8f9fa);border-radius:4px;padding:5px 10px}[data-theme=dark] .control-section h3,[data-theme=dark] .correlation-header h2,[data-theme=dark] .correlation-tab,[data-theme=dark] .results-header h3{color:#e0e0e0}[data-theme=dark] .control-section,[data-theme=dark] .correlation-history,[data-theme=dark] .correlation-results{background-color:#2d2d2d;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .form-select,[data-theme=dark] .symbol-input,[data-theme=dark] .watchlist-symbol-btn{background-color:#3a3a3a;border-color:#555;color:#e0e0e0}[data-theme=dark] .history-item{background-color:#3a3a3a;border-color:#555}@media (max-width:768px){.correlation-tab{padding:10px}.period-interval-group{grid-template-columns:1fr}.symbol-input-group{flex-direction:column}.watchlist-symbols{justify-content:center}.results-metadata{flex-direction:column;gap:8px}}.daily-wl-news{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1600px;padding:1rem 1.5rem}.daily-wl-news-header{border-bottom:2px solid #e1e8ed;margin-bottom:1rem;padding-bottom:.75rem;text-align:left}.daily-wl-news-header h2{color:#212529;font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.daily-wl-news-subtitle{color:#6c757d;font-size:.875rem;margin:0}.daily-wl-news-service-status{align-items:center;background:#f8f9fa;border:1px solid #e1e8ed;border-radius:6px;display:flex;font-size:.8rem;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem}.service-status-label{color:#6c757d;font-weight:500}.service-status-value{color:#28a745;font-weight:600}.service-status-count{color:#6c757d;font-size:.75rem}.daily-wl-news-filters{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:.75rem}.daily-wl-news-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.daily-wl-news-filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:120px}.daily-wl-news-filter-group label{color:#495057;font-size:.75rem;font-weight:600}.daily-wl-news-period-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.daily-wl-news-period-btn{background:#fff;border:1px solid #e1e8ed;border-radius:4px;color:#495057;cursor:pointer;font-size:.75rem;font-weight:500;padding:.35rem .6rem;transition:all .2s;white-space:nowrap}.daily-wl-news-period-btn:hover{background:#f8f9ff;border-color:#667eea;color:#667eea}.daily-wl-news-period-btn.active{background:#667eea;border-color:#667eea;color:#fff}.daily-wl-news-period-btn.active:hover{background:#5568d3;border-color:#5568d3}.daily-wl-news-filter-input,.daily-wl-news-filter-select{background:#fff;border:1px solid #e1e8ed;border-radius:4px;color:#212529;font-size:.8rem;min-width:100px;padding:.35rem .5rem;transition:border-color .2s}.daily-wl-news-filter-input:focus,.daily-wl-news-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.daily-wl-news-checkbox-group{justify-content:flex-end}.daily-wl-news-checkbox-label{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:4px;color:#495057;cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;padding:.35rem .5rem;transition:all .2s}.daily-wl-news-checkbox-label:hover{background:#f8f9ff;border-color:#667eea}.daily-wl-news-checkbox-label input[type=checkbox]{accent-color:#667eea;height:14px;width:14px}.daily-wl-news-clear-filters{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:.35rem .75rem;transition:background .2s;white-space:nowrap}.daily-wl-news-clear-filters:hover{background:#c82333}.daily-wl-news-clear-filters-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:background .2s}.daily-wl-news-clear-filters-btn:hover{background:#5568d3}.daily-wl-news-result-count{background:#e9ecef;border-radius:12px;color:#6c757d;font-size:.8rem;font-weight:500;margin-left:auto;padding:.35rem .75rem}.daily-wl-news-empty,.daily-wl-news-error,.daily-wl-news-loading{color:#6c757d;padding:2rem;text-align:center}.daily-wl-news-loading .loading-spinner{border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:32px;margin:0 auto .75rem;width:32px}.daily-wl-news-error button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:.75rem;padding:.4rem .8rem}.daily-wl-news-error button:hover{background:#5568d3}.daily-wl-news-empty-hint{color:#95a5a6;font-size:.8rem;margin-top:.35rem}.daily-wl-news-content{display:flex;flex-direction:column;gap:1rem}.daily-wl-news-date-group{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:1rem}.daily-wl-news-date-header{align-items:center;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.daily-wl-news-date-header h3{color:#212529;font-size:1rem;font-weight:600;margin:0}.daily-wl-news-date-count{background:#f8f9fa;border-radius:10px;color:#6c757d;font-size:.75rem;padding:.2rem .6rem}.daily-wl-news-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.daily-wl-news-card{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:6px;display:flex;flex-direction:column;padding:.75rem;text-align:left;transition:box-shadow .2s,border-color .2s}.daily-wl-news-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.daily-wl-news-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.daily-wl-news-card-stock{align-items:center;display:flex;gap:.4rem}.daily-wl-news-card-stock strong{color:#212529;font-size:.9rem;font-weight:600}.daily-wl-news-official-badge{background:#28a745;border-radius:3px;color:#fff;font-size:.65rem;font-weight:500;padding:.15rem .4rem}.daily-wl-news-card-badges{display:flex;flex-wrap:wrap;gap:.4rem}.daily-wl-news-sentiment{border-radius:3px;font-size:.7rem;font-weight:500;padding:.15rem .5rem}.daily-wl-news-sentiment-positive{background:#d4edda;color:#155724}.daily-wl-news-sentiment-negative{background:#f8d7da;color:#721c24}.daily-wl-news-sentiment-neutral{background:#e2e3e5;color:#383d41}.daily-wl-news-impact{border-radius:3px;font-size:.7rem;font-weight:500;padding:.15rem .5rem}.daily-wl-news-impact-high{background:#fff3cd;color:#856404}.daily-wl-news-impact-moderate{background:#d1ecf1;color:#0c5460}.daily-wl-news-impact-low{background:#e2e3e5;color:#383d41}.daily-wl-news-card-summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;flex:1 1;font-size:.8rem;line-height:1.45;overflow:hidden;text-align:left}.daily-wl-news-card-footer{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.4rem}.daily-wl-news-source-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.75rem;padding:0;text-decoration:none;transition:color .2s}.daily-wl-news-source-link:hover{color:#5568d3;text-decoration:underline}.daily-wl-news-time{color:#95a5a6;font-size:.7rem}.daily-wl-news-items{display:flex;flex-direction:column;gap:1rem}.daily-wl-news-item{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:6px;padding:.75rem;text-align:left;transition:box-shadow .2s}.daily-wl-news-item:hover{box-shadow:0 2px 8px #0000001a}.daily-wl-news-item-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.daily-wl-news-item-stock{align-items:center;display:flex;gap:.5rem}.daily-wl-news-item-stock strong{color:#212529;font-size:.9rem;font-weight:600}.daily-wl-news-item-meta{display:flex;flex-wrap:wrap;gap:.5rem}.daily-wl-news-summary{color:#495057;font-size:.8rem;line-height:1.5;margin-bottom:.5rem;text-align:left}.daily-wl-news-source{margin-bottom:.35rem}.daily-wl-news-item-footer{border-top:1px solid #e1e8ed;display:flex;justify-content:flex-end;margin-top:.35rem;padding-top:.35rem}.dark-theme .daily-wl-news-date-group{background:#2c3e50;border-color:#34495e}.dark-theme .daily-wl-news-card,.dark-theme .daily-wl-news-item{background:#34495e;border-color:#4a5f7a}.dark-theme .daily-wl-news-card-stock strong,.dark-theme .daily-wl-news-card-summary,.dark-theme .daily-wl-news-date-header h3,.dark-theme .daily-wl-news-header h2,.dark-theme .daily-wl-news-item-stock strong,.dark-theme .daily-wl-news-summary{color:#ecf0f1}.dark-theme .daily-wl-news-date-count,.dark-theme .daily-wl-news-subtitle,.dark-theme .daily-wl-news-time{color:#bdc3c7}.dark-theme .daily-wl-news-filters{background:#2c3e50;border-color:#34495e}.dark-theme .daily-wl-news-checkbox-label,.dark-theme .daily-wl-news-filter-input,.dark-theme .daily-wl-news-filter-select,.dark-theme .daily-wl-news-period-btn{background:#34495e;border-color:#4a5f7a;color:#ecf0f1}.dark-theme .daily-wl-news-service-status{background:#2c3e50;border-color:#34495e}@media (max-width:1200px){.daily-wl-news-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.daily-wl-news{padding:.75rem}.daily-wl-news-filter-row{align-items:stretch;flex-direction:column}.daily-wl-news-filter-group,.daily-wl-news-period-buttons{width:100%}.daily-wl-news-grid{grid-template-columns:1fr}.daily-wl-news-card-header{align-items:flex-start;flex-direction:column}.daily-wl-news-result-count{align-self:flex-start;margin-left:0}.daily-wl-news-service-status{flex-wrap:wrap}}.dashboard-search-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.dashboard-search-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;max-height:600px;width:600px}.search-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.search-modal-header h3{color:#333;font-size:18px;margin:0}.search-modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;padding:0;width:24px}.search-modal-close:hover{color:#333}.search-input-wrapper{border-bottom:1px solid #e0e0e0;padding:16px 20px}.search-input{border:1px solid #ddd;outline:none;padding:10px 12px;width:100%}.search-input:focus{border-color:#2196f3}.search-results-container{flex:1 1;overflow-y:auto;padding:8px 0}.search-error,.search-loading,.search-no-results,.search-placeholder{color:#666;padding:40px 20px;text-align:center}.search-error{color:#f44336}.search-results-list{display:flex;flex-direction:column}.search-result-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;padding:12px 20px;transition:background-color .2s}.search-result-item:hover{background-color:#f5f5f5}.search-result-item:last-child{border-bottom:none}.result-symbol{color:#333;font-weight:700;min-width:80px}.result-name,.result-symbol{font-size:14px;margin-right:12px}.result-name{color:#666;flex:1 1}.result-market{color:#999;font-size:12px;text-transform:uppercase}@media (prefers-color-scheme:dark){.dashboard-search-modal{background:#1e1e1e;color:#fff}.search-modal-header{border-bottom-color:#333}.search-modal-header h3{color:#fff}.search-modal-close{color:#aaa}.search-input{background:#2a2a2a;border-color:#444;color:#fff}.search-input:focus{border-color:#2196f3}.search-result-item{border-bottom-color:#333}.search-result-item:hover{background-color:#2a2a2a}.result-symbol{color:#fff}.result-name{color:#ccc}.result-market{color:#999}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--bg-hover:#f1f3f4;--border-color:#dee2e6;--border-hover:#adb5bd;--text-primary:#212529;--text-secondary:#495057;--text-muted:#6c757d;--accent-color:#007bff;--accent-hover:#0056b3;--danger-color:#dc3545;--danger-hover:#c82333;--success-color:#28a745;--success-hover:#218838;--warning-color:#ffc107;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:0.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:50%;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 3px #0000001a;--shadow-lg:0 4px 6px #0000001a;--shadow-xl:0 10px 15px #0000001a;--font-size-h1:2rem;--font-size-h2:1.5rem;--font-size-h3:1.25rem;--font-size-h4:1.125rem;--font-size-large:1rem;--font-size-base:0.875rem;--font-size-small:0.75rem;--font-size-xs:0.75rem;--font-size-button:0.75rem;--font-size-tab:0.75rem;--font-size-label:0.75rem;--font-size-input:0.875rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}.user-dashboard{background:#fff;background:var(--bg-primary);color:#212529;color:var(--text-primary);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:100vw;min-height:100vh;overflow-x:hidden}.dashboard-container{grid-gap:1rem;grid-gap:var(--space-lg);flex:1 1;gap:1rem;gap:var(--space-lg);grid-template-columns:280px 1fr 280px;height:100vh;margin:0 auto;max-height:100vh;max-width:100vw;overflow:hidden;padding:1rem;padding:var(--space-lg)}.left-sidebar,.right-sidebar{display:flex;flex-direction:column;gap:1.5rem;gap:var(--space-xl)}.main-content{flex:1 1;gap:.25rem;gap:var(--space-xs);max-height:calc(100vh - 30px);min-height:calc(100vh - 30px);overflow:hidden;position:relative}.dashboard-header{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:4px 8px;position:relative}.dashboard-header h1{color:#495057;color:var(--text-secondary);font-size:12px;font-weight:600;margin:0}.header-center{display:flex;flex:1 1;justify-content:center}.header-info{gap:16px}.header-info,.user-section{align-items:center;display:flex}.user-section{gap:12px}.dashboard-tabs{background:#e9ecef;background:var(--bg-tertiary);border-radius:6px;display:flex;gap:2px;padding:2px}.tab{background:#0000;border:none;border-radius:4px;color:#495057;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;padding:2px 6px;text-align:center;transition:all .2s}.tab:hover{background:#f1f3f4;background:var(--bg-hover)}.tab.active{background:#007bff;background:var(--accent-color);color:#fff}.header{background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:6px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header,.header-right{align-items:center;display:flex}.header-right{gap:8px}.logo{color:#007bff;color:var(--accent-color);font-size:18px;font-weight:600}.logo,.nav-items{align-items:center;display:flex}.nav-items{gap:24px}.nav-item{background:none;border:none;border-radius:6px;color:#495057;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px 16px;text-decoration:none;transition:all .2s}.nav-item.active,.nav-item:hover{background:#f1f3f4;background:var(--bg-hover);color:#212529;color:var(--text-primary)}.dashboard-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:300px 1fr 300px;min-height:calc(100vh - 73px);padding:12px}.left-sidebar{display:flex;flex-direction:column;gap:12px}.portfolio-overview{border-radius:.75rem;border-radius:var(--radius-xl);padding:.5rem;padding:var(--space-sm)}.portfolio-title{color:#212529;color:var(--text-primary);font-size:.75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);margin:0}.total-value{font-size:1.5rem;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:.25rem;margin-bottom:var(--space-xs)}.daily-change{color:#6c757d;color:var(--text-muted);font-size:.875rem;font-size:var(--font-size-base)}.change-positive{color:#28a745!important;color:var(--success-color)!important}.change-negative{color:#dc3545!important;color:var(--danger-color)!important}.portfolio-loading{align-items:center;color:#6c757d;color:var(--text-muted);display:flex;flex-direction:column;font-size:12px;justify-content:center;padding:20px}.loading-spinner{border:2px solid #dee2e6;border-top:2px solid #007bff;border:2px solid var(--border-color);border-top-color:var(--accent-color);height:20px;margin-bottom:8px;width:20px}.portfolio-error{align-items:center;color:#dc3545;color:var(--danger-color);display:flex;flex-direction:column;font-size:11px;justify-content:center;padding:16px;text-align:center}.error-icon{font-size:16px;margin-bottom:4px}.error-message{color:#6c757d;color:var(--text-muted);margin-bottom:8px}.retry-button{background:#007bff;background:var(--accent-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:10px;padding:4px 8px;transition:background-color .2s}.retry-button:hover{background:#0056b3;background:var(--accent-hover)}.portfolio-metrics{grid-gap:.5rem;grid-gap:var(--space-sm);gap:.5rem;gap:var(--space-sm);margin-top:.5rem;margin-top:var(--space-sm)}.metric{border-radius:.5rem;border-radius:var(--radius-lg);padding:.5rem;padding:var(--space-sm)}.metric-value{color:#212529;color:var(--text-primary);font-weight:var(--font-weight-semibold)}.metric-label,.metric-value{font-size:.75rem;font-size:var(--font-size-button)}.metric-label{margin-top:.25rem;margin-top:var(--space-xs)}.watchlist{border-radius:.75rem;border-radius:var(--radius-xl);padding:.5rem;padding:var(--space-sm)}.live-indicator{align-items:center;color:#495057;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.5rem}.live-dot{animation:pulse 2s infinite;background-color:#0f0;border-radius:50%;height:8px;width:8px}.watchlist-item.recently-updated{animation:highlight 2s ease-out;background-color:#00ff001a;border:1px solid #00ff004d}@keyframes highlight{0%{background-color:#0f03}to{background-color:initial}}.add-stock-form{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;padding:12px}.form-group{margin-bottom:8px}.stock-name-input,.stock-symbol-input{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);font-size:12px;padding:8px;width:100%}.stock-name-input:focus,.stock-symbol-input:focus{border-color:#007bff;border-color:var(--accent-color);outline:none}.form-actions{display:flex;gap:8px;margin-top:8px}.add-cancel-btn,.add-confirm-btn{border:none;border-radius:4px;cursor:pointer;font-size:11px;padding:6px 12px;transition:all .2s}.add-confirm-btn{background:#007bff;background:var(--accent-color);color:#fff}.add-confirm-btn:hover{background:gold}.add-cancel-btn{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);color:#212529;color:var(--text-primary)}.add-cancel-btn:hover{background:#f8f9fa;background:var(--bg-secondary)}.remove-stock-btn{background:#f44;border-radius:50%;font-size:14px;opacity:0;right:4px;top:4px;transition:all .2s}.watchlist-item:hover .remove-stock-btn{opacity:1}.remove-stock-btn:hover{background:#c00;transform:scale(1.1)}.watchlist-buttons{align-items:center;display:flex;gap:6px}.refresh-btn{background:var(--bg-primary);border-radius:6px;padding:6px 12px}.refresh-btn:hover{border-color:#007bff;border-color:var(--accent-color);color:#000}.add-stock-btn{border-radius:6px;font-size:12px;padding:6px 12px}.watchlist-item{padding:6px 0}.stock-info{min-width:0;text-align:left}.stock-name,.stock-symbol{font-size:12px;text-align:left}.stock-name{color:#6c757d;color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-info{text-align:right}.current-price,.price-change{font-size:12px}.main-content{display:flex;flex-direction:column;gap:2px}.market-overview-compact{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:12px;padding:8px 12px}.market-header{justify-content:space-between;margin-bottom:2px}.market-actions,.market-header{align-items:center;display:flex}.market-actions{gap:8px}.market-indices-compact{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.market-error,.market-loading{color:#495057;color:var(--text-secondary);font-size:14px;grid-column:1/-1;padding:20px;text-align:center}.market-error{background:#ff44441a;border:1px solid #ff44444d;border-radius:8px;color:#f44}.index-item-compact{align-items:center;background:#e9ecef;background:var(--bg-tertiary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;display:flex;flex-direction:row;justify-content:space-between;min-height:28px;padding:4px 8px;transition:all .2s ease}.index-item-compact:hover{background:#f1f3f4;background:var(--bg-hover);transform:translateY(-1px)}.index-name-compact{color:#6c757d;color:var(--text-muted);flex:0 0 auto;font-size:10px!important;font-weight:500;letter-spacing:.2px;margin-right:6px;text-transform:uppercase}.index-value-compact{color:#212529;color:var(--text-primary);flex:1 1;font-size:11px;font-weight:600;margin:0 4px;text-align:center}.index-change-compact{flex:0 0 auto;font-size:12px;font-weight:500;text-align:right}.market-overview{background:#1a1a1b;border:1px solid #2a2a2b;border-radius:12px;padding:20px}.market-indices{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:16px}.index-card{background:#0f0f10}.index-name{color:#888}.index-value{font-weight:600}.chart-container{background:var(--card-background);border-radius:8px;box-shadow:0 2px 8px #0000001a;min-height:400px;overflow:hidden;padding:15px}.chart-container .tv-lightweight-charts__time-axis,.chart-container .tv-lightweight-charts__time-axis *{color:#666!important;font-family:monospace!important;font-size:9px!important}.chart-container .tv-lightweight-charts__time-axis .tv-lightweight-charts__time-axis-item{font-family:monospace!important;font-size:9px!important}.candlestick-chart,.volume-chart{margin-right:30px}.charts-wrapper .candlestick-chart{flex:0 0 75%}.charts-wrapper .volume-chart{flex:0 0 25%}.candlestick-chart,.candlestick-chart *,.candlestick-chart .tv-lightweight-charts__price-scale,.candlestick-chart .tv-lightweight-charts__price-scale *,.volume-chart,.volume-chart *,.volume-chart .tv-lightweight-charts__price-scale,.volume-chart .tv-lightweight-charts__price-scale *{font-size:9px!important}.chart-with-toolbar{display:flex;height:100%;position:relative}.chart-area{flex:1 1;height:100%;margin-left:28px;position:relative}.chart-placeholder{border:2px dashed #dee2e6;border:2px dashed var(--border-color);border-radius:8px;color:#6c757d;color:var(--text-muted);font-size:14px;height:450px}.positions-table{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:12px;padding:12px}.table-container{overflow-x:auto}table{border-collapse:collapse;margin-top:4px;width:100%}td,th{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);padding:4px 12px;text-align:left}th{color:#6c757d;color:var(--text-muted);font-weight:600;text-transform:uppercase}td,th{font-size:12px}td{color:#212529;color:var(--text-primary)}tbody tr:hover{background:#e9ecef;background:var(--bg-tertiary)}.right-sidebar{display:flex;flex-direction:column;gap:12px}.trading-panel{padding:12px}.quick-trade-panel,.trading-panel{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:12px}.quick-trade-panel{margin-bottom:16px;padding:8px}.quick-trade-title{color:#212529;color:var(--text-primary);font-size:12px;font-weight:600;margin:0 0 16px;text-align:center}.trade-type-tabs{background:#e9ecef;background:var(--bg-tertiary);border-radius:8px;display:flex;margin-bottom:16px;padding:4px}.trade-type-tab{border-radius:6px;color:#6c757d;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:8px 12px;text-align:center;transition:all .2s ease}.trade-type-tab.active{background:#0a0;color:#fff}.trade-type-tab:hover:not(.active){background:#f1f3f4;background:var(--bg-hover);color:#212529;color:var(--text-primary)}.stock-row{align-items:center;display:flex;gap:8px;margin-bottom:16px;min-width:200px;width:100%}.stock-symbol-input{background:#fff;border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;flex-grow:0;flex-shrink:0;font-size:10px;height:24px;max-width:80px;min-width:80px;padding:4px 8px;width:80px!important}.stock-symbol-input:focus{border-color:#0a0;outline:none}.stock-name-display,.stock-symbol-input::placeholder{color:#6c757d;color:var(--text-muted)}.stock-name-display{background:#ffffff1a;border-radius:4px;flex:1 1;font-size:12px;min-width:100px;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.stock-row{min-width:150px}.stock-symbol-input{font-size:9px;max-width:70px;min-width:70px;width:70px!important}.stock-name-display{font-size:10px;min-width:60px}}@media (max-width:480px){.stock-row{min-width:120px}.stock-symbol-input{font-size:8px;max-width:60px;min-width:60px;padding:2px 4px;width:60px!important}.stock-name-display{font-size:9px;min-width:40px}}.order-details{margin-bottom:16px}.order-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.order-label{color:#212529;color:var(--text-primary);font-size:12px;font-weight:500}.order-input-container{align-items:center;display:flex;gap:8px}.order-input{background:#fff;border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;font-size:12px;padding:6px 8px;text-align:right;width:80px}.order-input.stock-price{width:120px}.order-input:focus{border-color:#0a0;outline:none}.currency-select{border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;width:80px}.currency-select,.order-type-select{background:#fff;font-size:12px;padding:6px 8px}.order-type-select{border:1px solid #0a0;border-radius:4px;width:120px}.estimated-total{align-items:center;background:#e9ecef;background:var(--bg-tertiary);border-radius:8px;display:flex;font-size:9px;font-weight:400;justify-content:space-between;margin-bottom:16px;padding:6px}.estimated-total span:first-child{color:#6c757d;color:var(--text-muted)}.estimated-total span:last-child{color:#212529;color:var(--text-primary);font-weight:400;text-align:right}.trade-buttons{display:flex;gap:12px}.buy-button{background:#28a745;background:var(--success-color);border:none;border-radius:.5rem;border-radius:var(--radius-lg);color:#fff;cursor:pointer;flex:1 1;font-size:.75rem;font-size:var(--font-size-button);font-weight:600;font-weight:var(--font-weight-semibold);padding:.5rem;padding:var(--space-sm);transition:all .2s ease}.buy-button:hover{background:#218838;background:var(--success-hover)}.sell-button{background:#dc3545;background:var(--danger-color);border:none;border-radius:.5rem;border-radius:var(--radius-lg);color:#fff;cursor:pointer;flex:1 1;font-size:.75rem;font-size:var(--font-size-button);font-weight:600;font-weight:var(--font-weight-semibold);padding:.5rem;padding:var(--space-sm);transition:all .2s ease}.sell-button:hover{background:#c82333;background:var(--danger-hover)}.order-type-tabs{background:#e9ecef;background:var(--bg-tertiary);border-radius:.5rem;border-radius:var(--radius-lg);display:flex;gap:.25rem;gap:var(--space-xs);margin-bottom:.75rem;margin-bottom:var(--space-md);padding:.25rem;padding:var(--space-xs)}.order-tab{background:none;border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#6c757d;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.75rem;font-size:var(--font-size-button);font-weight:600;font-weight:var(--font-weight-semibold);padding:.5rem;padding:var(--space-sm);text-align:center;transition:all .2s}.order-tab.active{background:#007bff;background:var(--accent-color);color:#fff}.form-group{margin-bottom:10px}.form-label{color:#6c757d;color:var(--text-muted);display:block;font-size:12px;font-weight:600;margin-bottom:4px}.form-input{background:#e9ecef;background:var(--bg-tertiary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);color:#212529;color:var(--text-primary);font-size:.875rem;font-size:var(--font-size-base);padding:.5rem;padding:var(--space-sm);width:100%}.form-input:focus{border-color:#007bff;border-color:var(--accent-color);outline:none}.order-buttons{grid-gap:8px;display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.buy-btn{background:#007bff;background:var(--accent-color);color:#000}.order-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:8px;transition:all .2s}.buy-btn:hover{background:#0056b3;background:var(--accent-hover)}.news-feed{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:12px;padding:12px}.news-item{padding:6px 0}.news-title{font-size:13px;line-height:1.4;margin-bottom:4px}.news-meta{color:#6c757d;color:var(--text-muted);font-size:11px}.status-dot{background:#00d4aa}.status-text{color:#6c757d;color:var(--text-muted);font-size:12px}.dashboard-main{margin:0 auto;max-width:1400px;min-height:calc(100vh - 73px);overflow:visible;padding:1rem}.error-message{border-radius:6px;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.error-message button{font-size:.8rem;padding:.4rem .8rem}.loading{font-size:1rem;padding:1.5rem;text-align:center}@media (max-width:1200px){.dashboard-container{gap:16px;grid-template-columns:250px 1fr 250px;padding:16px}}@media (max-width:968px){.dashboard-container{gap:12px;grid-template-columns:1fr;height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:12px}.left-sidebar,.right-sidebar{display:flex;max-width:100%;order:2;width:100%}.left-sidebar{order:0}.main-content{min-height:50vh;order:1}.right-sidebar{order:2}.news-section,.watchlist{height:auto;max-height:60vh}.news-list,.watchlist-items{max-height:50vh}}@media (min-width:769px) and (max-width:1440px){.dashboard-container{gap:8px;height:100vh;max-height:100vh;overflow:hidden;padding:8px}.main-content{height:calc(100vh - 80px);max-height:calc(100vh - 80px);overflow:hidden}.charts-wrapper{display:flex;flex-direction:column;height:100%!important;max-height:100%!important;overflow:hidden!important}.candlestick-chart{flex:0 0 75%}.candlestick-chart,.volume-chart{min-height:0!important;overflow:hidden!important}.volume-chart{flex:0 0 25%}}@media (max-width:768px){.dashboard-container{gap:8px;height:100vh;max-height:100vh;padding:8px}.main-content{height:calc(100vh - 50px);max-height:calc(100vh - 50px);overflow:hidden}.charts-wrapper{display:flex;flex-direction:column;height:100%!important;max-height:100%!important;overflow:hidden!important}.candlestick-chart{height:60%!important;max-height:60%!important;overflow:hidden!important}.volume-chart{height:40%!important;max-height:40%!important;overflow:hidden!important}}@media (max-width:480px){.dashboard-container{gap:4px;padding:4px}.main-content{height:calc(100vh - 40px);max-height:calc(100vh - 40px)}}.period-range-button,.period-range-label{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:12px!important;text-rendering:optimizeLegibility}@media (min-width:481px) and (max-width:1024px){.period-range-button,.period-range-label{font-size:12px!important;transform:scale(1)}.dashboard-header .period-range-button,.dashboard-header .period-range-label{-webkit-text-size-adjust:100%!important;-moz-text-size-adjust:100%!important;text-size-adjust:100%!important;font-size:12px!important}}@media (min-width:1025px){.period-range-button,.period-range-label{font-size:12px!important}}@media screen and (min-width:481px) and (max-width:1024px){.dashboard-header button,.dashboard-header span{-webkit-text-size-adjust:100%!important;-moz-text-size-adjust:100%!important;text-size-adjust:100%!important;font-size:12px!important}}.portfolio-overview{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;margin-bottom:4px;padding:6px}.portfolio-title{font-size:10px;font-weight:400;margin:0 0 8px}.total-value{color:#007bff;color:var(--accent-color);font-size:16px;font-weight:700;margin-bottom:4px}.daily-change{font-size:11px;margin-bottom:8px}.portfolio-metrics{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.metric{background:#e9ecef;background:var(--bg-tertiary);border-radius:4px;padding:6px;text-align:center}.metric-value{display:block;font-size:11px;font-weight:600}.metric-label{color:#6c757d;color:var(--text-muted);font-size:9px;margin-top:2px}.watchlist{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;height:calc(75vh - 40px);margin-bottom:4px;overflow:hidden;padding:6px}.watchlist-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.watchlist-count{color:#495057;color:var(--text-secondary);font-size:10px;font-weight:400;margin-left:6px}.watchlist-actions{align-items:center;display:flex;gap:8px}.watchlist-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:0 8px}.watchlist-search{align-items:center;display:flex;position:relative}.watchlist-search-input{background:#e9ecef;background:var(--bg-tertiary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);font-size:11px;outline:none;padding:6px 30px 6px 10px;transition:all .2s ease;width:100%}.watchlist-search-input:focus{border-color:#007bff;border-color:var(--accent-color);box-shadow:0 0 0 2px #4a90e21a}.watchlist-search-input::placeholder{color:#495057;color:var(--text-secondary);opacity:.6}.watchlist-search-clear{background:none;border:none;border-radius:3px;color:#495057;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 4px;position:absolute;right:6px;transition:all .2s ease}.watchlist-search-clear:hover{background:#f1f3f4;background:var(--bg-hover);color:#212529;color:var(--text-primary)}.watchlist-sort-buttons{display:flex;flex-wrap:wrap;gap:4px}.watchlist-sort-btn{background:#e9ecef;background:var(--bg-tertiary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-primary);cursor:pointer;font-size:10px;font-weight:500;outline:none;padding:4px 8px;transition:all .2s ease;white-space:nowrap}.watchlist-sort-btn:hover{background:#f1f3f4;background:var(--bg-hover);color:#007bff;color:var(--accent-color)}.watchlist-sort-btn.active,.watchlist-sort-btn:hover{border-color:#007bff;border-color:var(--accent-color)}.watchlist-sort-btn.active{background:#007bff;background:var(--accent-color);color:#fff}.watchlist-clear-btn{background:#fff;background:var(--bg-primary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#495057;color:var(--text-secondary);cursor:pointer;font-size:10px;font-weight:500;outline:none;padding:4px 8px;transition:all .2s ease}.watchlist-clear-btn:hover{background:#f1f3f4;background:var(--bg-hover);border-color:var(--error-color);color:var(--error-color)}.add-stock-btn{background:#007bff;background:var(--accent-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:10px}.add-stock-btn,.refresh-btn{font-weight:600;padding:4px 8px}.refresh-btn{align-items:center;background:#e9ecef;background:var(--bg-tertiary);border:1px solid var(--border-color);color:#212529;color:var(--text-primary);display:flex;font-size:12px;height:24px;justify-content:center;min-width:24px;transition:all .2s ease}.refresh-btn:hover{background:#007bff;background:var(--accent-color);color:#fff;transform:rotate(180deg)}.watchlist-items{flex:1 1;max-height:calc(75vh - 90px);overflow-y:auto;padding-right:4px}.watchlist-items::-webkit-scrollbar{width:6px}.watchlist-items::-webkit-scrollbar-track{background:#e9ecef;background:var(--bg-tertiary);border-radius:3px}.watchlist-items::-webkit-scrollbar-thumb{background:#6c757d;background:var(--text-muted);border-radius:3px}.watchlist-items::-webkit-scrollbar-thumb:hover{background:#495057;background:var(--text-secondary)}.watchlist-item{align-items:center;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;justify-content:space-between;margin:0 8px;padding:8px 0;position:relative;transition:all .2s ease}.watchlist-item:hover{background-color:#f1f3f4;background-color:var(--bg-hover);border-radius:4px;margin:0 8px;padding:8px 0;transform:translateX(2px)}.watchlist-item.selected{background-color:#e8f5e8;border:2px solid #0a0;border-radius:4px;box-shadow:0 2px 4px #0a03;color:#000;margin:0 8px;padding:8px 0}.watchlist-item.selected .current-price,.watchlist-item.selected .stock-name,.watchlist-item.selected .stock-symbol{color:#000!important;font-weight:600}.watchlist-item.selected .price-change{font-weight:600}.watchlist-item:last-child{border-bottom:none}.stock-info{display:flex;flex:1 1;flex-direction:column}.stock-symbol{color:#212529;color:var(--text-primary);font-size:11px;font-weight:600}.stock-name{color:#495057;color:var(--text-secondary);font-size:9px;margin-top:1px}.price-info{align-items:flex-end;display:flex;flex-direction:column;margin-right:32px}.current-price{color:#212529;color:var(--text-primary);font-size:11px;font-weight:600}.price-change{font-size:9px;margin-top:1px}.remove-stock-btn{align-items:center;background:#dc3545;background:var(--danger-color);border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;opacity:1;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:20px;z-index:10}.remove-stock-btn:hover{background:#c82333;background:var(--danger-hover);transform:translateY(-50%) scale(1.1)}.news-section{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;height:calc(75vh - 40px);max-height:calc(75vh - 40px);overflow:hidden;padding:12px}.news-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.news-title-section{display:flex;flex-direction:column;gap:2px}.last-refresh{color:#6c757d;color:var(--text-muted);font-size:8px;font-weight:400}.news-tabs{background:#e9ecef;background:var(--bg-tertiary);border-radius:4px;display:flex;gap:2px;margin-bottom:8px;padding:2px}.news-tab{background:#0000;border:none;border-radius:3px;color:#495057;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:10px;font-weight:600;padding:6px 12px;transition:all .2s ease}.news-tab.active{background:#007bff;background:var(--accent-color);color:#fff}.news-tab:hover:not(.active){background:#f8f9fa;background:var(--bg-secondary);color:#212529;color:var(--text-primary)}.news-title{color:#212529;color:var(--text-primary);font-size:10px;font-weight:600;line-height:1.3;margin-bottom:2px}.news-meta{color:#495057;color:var(--text-secondary);display:flex;font-size:8px;justify-content:space-between}.news-list{flex:1 1;max-height:calc(75vh - 90px);overflow-y:auto}.news-empty,.news-loading{color:#6c757d;color:var(--text-muted);font-size:10px;font-style:italic;padding:20px;text-align:center}.news-item{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);padding:8px 0;transition:background-color .2s ease}.news-item:last-child{border-bottom:none}.news-link{border-radius:4px;color:inherit;cursor:pointer;display:block;margin:0 -4px;padding:8px 4px;text-decoration:none;transition:background-color .2s ease}.news-link:hover{background:#e9ecef;background:var(--bg-tertiary)}.estimated-total{color:#495057;color:var(--text-secondary);font-size:14px;margin:8px 0;text-align:center}.order-buttons{display:flex;gap:8px}.buy-btn{background:#28a745;background:var(--success-color);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.buy-btn:hover{background:#28a745}.sell-btn{background:#dc3545;background:var(--danger-color);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.sell-btn:hover{background:#c82333;background:var(--danger-hover)}@media (max-width:768px){.header{flex-direction:column;gap:.5rem;padding:.5rem 1rem}.nav-items,.user-profile{flex-direction:column;gap:.5rem;width:100%}.logo{font-size:1.2rem}.dashboard-container{gap:12px;padding:.5rem}.portfolio-metrics{grid-template-columns:1fr}.market-indices-compact{gap:4px;grid-template-columns:repeat(2,1fr)}.index-item-compact{min-height:44px;padding:8px 10px}.index-name-compact{font-size:5px!important;margin-right:6px}.index-value-compact{font-size:12px;margin:0 4px}.index-change-compact{font-size:12px}.market-tab,.tab,.trade-type-tab,button{min-height:44px;padding:12px 16px}.add-stock-btn,.refresh-btn{min-height:44px;min-width:44px;padding:12px}.chart-placeholder{height:270px}}@media (max-width:480px){.header{padding:.5rem}.dashboard-container{gap:8px;padding:.25rem}.market-overview,.news-feed,.portfolio-overview,.trading-panel,.watchlist{padding:12px}.nav-item{font-size:12px;min-height:44px;padding:12px 16px}.total-value{font-size:24px}.market-indices-compact{gap:6px;grid-template-columns:1fr}.index-item-compact{min-height:44px;padding:10px 12px}.index-name-compact{font-size:5px!important;margin-right:6px}.index-value-compact{font-size:12px;margin:0 4px}.index-change-compact{font-size:12px}.chart-placeholder{font-size:12px;height:220px}}.market-overview{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:0;min-height:70px;padding:4px}.market-indices{display:none}.index-card{background:#e9ecef;background:var(--bg-tertiary);border-radius:8px;padding:16px;text-align:center}.index-name{color:#495057;color:var(--text-secondary);font-size:14px;margin-bottom:8px}.index-value{color:#212529;color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:4px}.index-change{font-size:12px;font-weight:600}.index-change.change-positive{color:#28a745;color:var(--success-color)}.index-change.change-negative{color:#dc3545;color:var(--danger-color)}.chart-placeholder{align-items:center;border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:6px;color:#212529;color:var(--text-primary);flex:1 1;flex-direction:column;font-size:12px;justify-content:center;min-height:0;text-align:center}.chart-placeholder,.market-tabs{background:#e9ecef;background:var(--bg-tertiary);display:flex}.market-tabs{border-radius:6px;gap:2px;margin-bottom:4px;padding:2px}.market-tab{background:#0000;border:none;border-radius:4px;color:#495057;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:10px;font-weight:600;padding:6px 8px;text-align:center;transition:all .2s}.market-tab:hover{background:#f1f3f4;background:var(--bg-hover)}.market-tab.active{background:#007bff;background:var(--accent-color);color:#fff}.status-indicator{align-items:center;display:flex;gap:8px}.status-dot{animation:pulse 2s infinite;background:#28a745;background:var(--success-color);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.success-message{animation:slideInFadeOut 3.5s ease-in-out forwards;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;font-size:14px;font-weight:500;gap:8px;max-width:300px;padding:12px 20px;position:fixed;right:20px;top:20px;z-index:1000}.success-icon,.success-message{align-items:center;display:flex}.success-icon{background:#fff3;border-radius:50%;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}@keyframes slideInFadeOut{0%{opacity:0;transform:translateX(100%)}10%{opacity:1;transform:translateX(0)}90%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:768px){.success-message{font-size:13px;left:10px;max-width:none;padding:10px 16px;right:10px;top:10px}}.user-name-text{color:#212529;color:var(--text-primary);font-size:8px;font-weight:400;margin-right:12px}.logout-btn{align-items:center;background:#dc3545;background:var(--danger-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:400;height:24px;justify-content:center;line-height:1;min-width:24px;padding:4px 8px;transition:all .2s}.logout-btn:hover{background:#c82333;background:var(--danger-hover)}.macroeco-container{background-color:#f8f9fa;display:flex;height:100%;overflow:hidden;width:100%}.macroeco-container.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.macroeco-sidebar{background-color:#fff;border-right:1px solid #d1d4dc;display:flex;flex-direction:column;flex-shrink:0;position:relative}.macroeco-sidebar.collapsed{min-width:50px!important;width:50px!important}.macroeco-resize-handle{background:#0000;cursor:col-resize;height:100%;position:absolute;right:-4px;top:0;width:8px;z-index:10}.macroeco-container.resizing .macroeco-resize-handle,.macroeco-resize-handle:hover{background:linear-gradient(90deg,#0000,#2962ff33,#0000)}.macroeco-resize-handle:after{background-color:#d1d4dc;border-radius:2px;content:"";height:40px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s;width:4px}.macroeco-container.resizing .macroeco-resize-handle:after,.macroeco-resize-handle:hover:after{background-color:#2962ff;opacity:1}.macroeco-sidebar-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #d1d4dc;display:flex;height:40px;justify-content:space-between;min-height:40px;padding:0 12px}.macroeco-sidebar.collapsed .macroeco-sidebar-header{justify-content:center;padding:0 4px}.macroeco-sidebar.collapsed .macroeco-sidebar-header h3{display:none}.macroeco-sidebar-header h3{color:#131722;font-size:12px;font-weight:600;margin:0}.macroeco-collapse-btn{align-items:center;background:#0000;border:1px solid #d1d4dc;border-radius:3px;color:#787b86;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.macroeco-collapse-btn:hover{background-color:#e8eaed;color:#131722}.macroeco-search-box{background-color:#f8f9fa;border-bottom:1px solid #d1d4dc;padding:8px 12px;position:relative}.macroeco-search-input{border:1px solid #d1d4dc;border-radius:4px;font-size:12px;outline:none;padding:6px 28px 6px 10px;transition:border-color .2s;width:100%}.macroeco-search-input:focus{border-color:#2962ff}.macroeco-search-input::placeholder{color:#787b86}.macroeco-search-clear{align-items:center;background:#787b86;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:18px;top:50%;transform:translateY(-50%);transition:background-color .2s;width:18px}.macroeco-search-clear:hover{background:#131722}.macroeco-selection-info{background-color:#f0f7ff;border-bottom:1px solid #d1d4dc;color:#2962ff;font-size:11px;font-weight:500;padding:8px 12px}.macroeco-categories-list{flex:1 1;overflow-y:auto;padding:8px}.macroeco-category-item{align-items:center;background-color:#fff;border:1px solid #0000;border-radius:4px;cursor:pointer;display:flex;gap:6px;margin-bottom:2px;padding:6px 8px;transition:background-color .15s,border-color .15s}.macroeco-category-item:hover:not(.disabled){background-color:#f0f3fa}.macroeco-category-item.selected{background-color:#e3f2fd;border-color:#2962ff}.macroeco-category-item.disabled{cursor:not-allowed;opacity:.5}.macroeco-category-color{border-radius:50%;flex-shrink:0;height:8px;width:8px}.macroeco-category-info{flex:1 1;min-width:0}.macroeco-category-name{color:#131722;display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.macroeco-main-category{margin-bottom:4px}.macroeco-main-category-header{align-items:center;background-color:#e8eaed;border-radius:4px;cursor:pointer;display:flex;font-weight:600;gap:6px;padding:10px;transition:background-color .15s}.macroeco-main-category-header:hover:not(.disabled){background-color:#d1d4dc}.macroeco-main-category-header.disabled{cursor:not-allowed;opacity:.6}.macroeco-main-category-name{color:#131722;flex:1 1;font-size:12px}.macroeco-coming-soon{color:#787b86;font-size:10px;font-style:italic;font-weight:400}.macroeco-expand-btn{align-items:center;background:#0000;border:none;color:#787b86;cursor:pointer;display:flex;flex-shrink:0;font-size:8px;height:16px;justify-content:center;padding:0;transition:color .15s;width:16px}.macroeco-expand-btn:hover:not(:disabled){color:#131722}.macroeco-expand-btn:disabled{cursor:not-allowed;opacity:.4}.macroeco-expand-btn.main{color:#131722;font-size:10px}.macroeco-expand-spacer{flex-shrink:0;width:16px}.macroeco-tree-container{border-left:1px solid #e8eaed;margin-left:8px;margin-top:4px;padding-left:4px}.macroeco-tree-node{margin-bottom:2px}.macroeco-tree-children{border-left:1px solid #e8eaed;margin-left:8px;margin-top:2px;padding-left:4px}.macroeco-category-item.has-error{background-color:#fff5f5;border-color:#dc3545}.macroeco-category-item.has-error:hover:not(.disabled){background-color:#ffebee}.macroeco-category-error{color:#dc3545;font-size:12px;margin-left:4px}.macroeco-category-collapsed.has-error{border:2px solid #dc3545}.macroeco-cache-badge{background-color:#e8f5e9;border-radius:3px;color:#28a745;display:inline-block;font-size:10px;font-weight:500;margin-left:8px;padding:2px 6px}.macroeco-categories-collapsed{align-items:center;display:flex;flex-direction:column;gap:8px;padding:12px 8px}.macroeco-category-collapsed{border-radius:50%;cursor:pointer;height:20px;width:20px}.macroeco-main{background-color:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.macroeco-chart-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #d1d4dc;display:flex;height:40px;justify-content:space-between;min-height:40px;padding:0 16px}.macroeco-chart-header h3{color:#131722;font-size:13px;font-weight:600;margin:0}.macroeco-chart-info{align-items:center;display:flex;gap:16px}.macroeco-sync-time{color:#787b86;font-size:10px}.macroeco-loading-indicator{color:#2962ff;font-size:11px;font-weight:500}.macroeco-chart-area{flex:1 1;min-height:300px;position:relative}.macroeco-chart{bottom:0;left:0;position:absolute;right:0;top:0}.macroeco-error{color:#ef5350;font-size:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.macroeco-data-panel{background-color:#fff;border-top:1px solid #d1d4dc;display:flex;flex-direction:column;max-height:200px}.macroeco-data-header{background-color:#f8f9fa;border-bottom:1px solid #d1d4dc;padding:8px 16px}.macroeco-data-header h4{color:#131722;font-size:12px;font-weight:600;margin:0}.macroeco-data-table{flex:1 1;overflow-y:auto}.macroeco-data-table table{border-collapse:collapse;font-size:11px;width:100%}.macroeco-data-table th{background-color:#f8f9fa;border-bottom:1px solid #d1d4dc;color:#787b86;font-size:11px;font-weight:500;padding:8px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.macroeco-data-table td{border-bottom:1px solid #f0f3fa;color:#131722;font-size:11px;padding:8px 12px}.macroeco-data-table tr:hover td{background-color:#f8f9fa}.macroeco-table-category{align-items:center;display:flex;gap:8px}.macroeco-table-color{border-radius:50%;flex-shrink:0;height:8px;width:8px}.macroeco-table-value{display:flex;flex-direction:column}.macroeco-table-value .value{font-size:12px;font-weight:600}.macroeco-table-value .period{color:#787b86;font-size:10px}.macroeco-change{font-size:11px;font-weight:600}.macroeco-change.positive{color:#26a69a}.macroeco-change.negative{color:#ef5350}.macroeco-empty{color:#787b86;padding:24px!important;text-align:center}.macroeco-status-ok{color:#28a745;font-weight:600}.macroeco-status-error{color:#dc3545;font-size:10px;font-weight:500}.macroeco-data-table tr.has-error td{background-color:#fff5f5}.macroeco-error-text{color:#787b86}.macroeco-categories-list::-webkit-scrollbar,.macroeco-data-table::-webkit-scrollbar{width:6px}.macroeco-categories-list::-webkit-scrollbar-track,.macroeco-data-table::-webkit-scrollbar-track{background:#f8f9fa}.macroeco-categories-list::-webkit-scrollbar-thumb,.macroeco-data-table::-webkit-scrollbar-thumb{background:#d1d4dc;border-radius:3px}.macroeco-categories-list::-webkit-scrollbar-thumb:hover,.macroeco-data-table::-webkit-scrollbar-thumb:hover{background:#787b86}@media (max-width:768px){.macroeco-container{flex-direction:column}.macroeco-sidebar{border-bottom:1px solid #d1d4dc;border-right:none;height:auto;max-height:150px;min-width:100%;width:100%}.macroeco-sidebar.collapsed{max-height:50px;min-width:100%;width:100%}.macroeco-categories-list{display:flex;flex-wrap:wrap;gap:4px;padding:8px}.macroeco-category-item{flex:0 0 auto;margin-bottom:0}.macroeco-chart-area{min-height:250px}.macroeco-data-panel{max-height:150px}}.algo-results-container{background-color:#f8f9fa;height:100%;max-width:100%;overflow-y:auto;padding:20px}.algo-results-error{color:#6c757d;font-size:16px;padding:40px;text-align:center}.algo-results-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.algo-results-header h2{color:#212529;font-size:24px;font-weight:600;margin:0}.algo-results-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.algo-results-date-nav{align-items:center;display:flex;gap:4px}.date-nav-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .15s ease}.date-nav-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.date-nav-btn:disabled{cursor:not-allowed;opacity:.5}.date-selector{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#212529;font-size:14px;min-width:200px;padding:8px 12px}.run-analysis-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .15s ease}.run-analysis-btn:hover:not(:disabled){background:#0056b3}.run-analysis-btn:disabled{background:#6c757d;cursor:not-allowed}.refresh-btn{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .15s ease}.refresh-btn:hover:not(:disabled){background:#e9ecef}.export-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .15s ease}.export-btn:hover:not(:disabled){background:#218838}.export-btn:disabled{background:#6c757d;cursor:not-allowed}.algo-results-progress{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px;padding:20px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.progress-title{color:#212529;font-size:16px;font-weight:600}.progress-percentage{color:#007bff;font-size:24px;font-weight:700}.progress-bar{background:#e9ecef;border-radius:6px;height:12px;margin-bottom:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#007bff,#0056b3);border-radius:6px;height:100%;transition:width .3s ease}.progress-details{flex-wrap:wrap;justify-content:space-between}.progress-details,.progress-stats{align-items:center;display:flex;gap:12px}.progress-stats{color:#495057;font-size:14px}.progress-current strong{color:#212529;font-size:16px}.progress-failed{color:#dc3545;font-weight:500}.progress-meta{align-items:center;color:#6c757d;display:flex;font-size:13px;gap:20px}.progress-symbol strong{color:#007bff}.progress-estimate{background:#f8f9fa;border-radius:4px;color:#495057;font-weight:500;padding:4px 10px}.algo-results-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:20px}.summary-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:16px;text-align:center}.summary-icon{display:block;font-size:14px;font-weight:500;margin-bottom:4px}.summary-count{display:block;font-size:28px;font-weight:700}.summary-buy{border-left:4px solid #28a745}.summary-buy .summary-count,.summary-buy .summary-icon{color:#28a745}.summary-sell{border-left:4px solid #dc3545}.summary-sell .summary-count,.summary-sell .summary-icon{color:#dc3545}.summary-hold{border-left:4px solid #ffc107}.summary-hold .summary-count,.summary-hold .summary-icon{color:#856404}.summary-total{border-left:4px solid #007bff}.summary-total .summary-count,.summary-total .summary-icon{color:#007bff}.algo-results-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.filter-buttons{display:flex;gap:8px}.filter-btn{background:#fff;border:1px solid #dee2e6;border-radius:20px;color:#495057;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s ease}.filter-btn:hover{background:#e9ecef}.filter-btn.active{background:#007bff;border-color:#007bff;color:#fff}.filter-btn.filter-buy.active{background:#28a745;border-color:#28a745}.filter-btn.filter-sell.active{background:#dc3545;border-color:#dc3545}.filter-btn.filter-hold.active{background:#ffc107;border-color:#ffc107;color:#212529}.search-input{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:14px;min-width:250px;padding:8px 14px}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff26;outline:none}.algo-results-table-container{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.algo-results-empty,.algo-results-loading{color:#6c757d;font-size:15px;padding:60px 20px;text-align:center}.algo-results-table{border-collapse:collapse;font-size:14px;width:100%}.algo-results-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.algo-results-table th{color:#495057;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.algo-results-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.algo-results-table th.sortable:hover{background:#e9ecef}.algo-results-table td{border-bottom:1px solid #e9ecef;padding:12px 16px;vertical-align:middle}.result-row{cursor:pointer;transition:background .1s ease}.result-row:hover{background:#f8f9fa}.result-row.expanded{background:#e9ecef}.symbol-cell{display:flex;flex-direction:column;gap:2px}.symbol-cell .symbol{color:#212529;font-weight:600}.symbol-cell .company-name{color:#6c757d;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outcome-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.outcome-buy{background:#28a7451a;color:#155724}.outcome-sell{background:#dc35451a;color:#721c24}.outcome-hold{background:#ffc10726;color:#856404}.outcome-error{background:#6c757d1a;color:#495057}.outcome-undecided{background:#6c757d1a;color:#6c757d}.count-cell{font-weight:500;text-align:center}.count-cell.buy-count{color:#28a745}.count-cell.sell-count{color:#dc3545}.count-cell.hold-count{color:#856404}.confidence-cell{color:#212529;font-weight:600}.expand-cell{color:#6c757d;text-align:center;width:40px}.expanded-details{background:#f8f9fa}.expanded-details td{padding:0}.details-container{border-top:1px solid #dee2e6;padding:20px}.details-section{margin-bottom:20px}.details-section:last-child{margin-bottom:0}.details-section h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.algo-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.algo-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;display:flex;flex-direction:column;font-size:12px;gap:4px;padding:8px 12px}.algo-item .algo-header{align-items:center;display:flex;justify-content:space-between;width:100%}.algo-item.outcome-buy{border-left:3px solid #28a745}.algo-item.outcome-sell{border-left:3px solid #dc3545}.algo-item.outcome-hold{border-left:3px solid #ffc107}.algo-item.outcome-error,.algo-item.outcome-undecided{border-left:3px solid #6c757d}.algo-name{color:#212529;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.algo-outcome{border-radius:3px;font-size:11px;font-weight:600;padding:2px 6px}.algo-outcome.outcome-buy{background:#28a7451a;color:#155724}.algo-outcome.outcome-sell{background:#dc35451a;color:#721c24}.algo-outcome.outcome-hold{background:#ffc10726;color:#856404}.algo-outcome.outcome-error,.algo-outcome.outcome-undecided{background:#6c757d1a;color:#6c757d}.algo-metadata{background:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;color:#495057;display:block;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:10px;line-height:1.4;margin-top:2px;padding:4px 6px;width:100%;word-break:break-word}.algo-metadata:hover{background:#e9ecef}.execution-time{border-top:1px solid #e9ecef;color:#6c757d;font-size:12px;margin-top:16px;padding-top:12px;text-align:right}@media (max-width:1200px){.algo-results-header{align-items:flex-start;flex-direction:column}.algo-results-filters{align-items:stretch;flex-direction:column}.filter-buttons{flex-wrap:wrap}.search-input{min-width:100%}}@media (max-width:768px){.algo-results-container{padding:12px}.algo-results-summary{grid-template-columns:repeat(2,1fr)}.algo-grid{grid-template-columns:1fr}.algo-results-table{font-size:12px}.algo-results-table td,.algo-results-table th{padding:8px 10px}}.algo-results-period-selector{align-items:center;display:flex;gap:8px}.period-label{color:#495057;font-size:13px;font-weight:500;white-space:nowrap}.period-selector{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#212529;cursor:pointer;font-size:13px;min-width:200px;padding:8px 12px}.period-selector:hover:not(:disabled){border-color:#adb5bd}.period-selector:disabled{background:#e9ecef;cursor:not-allowed;opacity:.7}.algo-results-toast{word-wrap:break-word;align-items:flex-start;animation:slideIn .3s ease;border-radius:6px;cursor:pointer;display:flex;gap:12px;line-height:1.5;margin-bottom:16px;overflow-wrap:break-word;padding:16px 20px;-webkit-user-select:text;user-select:text;white-space:pre-wrap}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.algo-results-toast-success{background:#28a7451a;border:1px solid #28a745;color:#155724}.algo-results-toast-error{background:#dc35451a;border:1px solid #dc3545;color:#721c24}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.algo-results-toast-success .toast-icon{background:#28a745;color:#fff}.algo-results-toast-error .toast-icon{background:#dc3545;color:#fff}.toast-message{word-wrap:break-word;flex:1 1;font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:break-word;white-space:pre-wrap}.toast-close{background:#0000;border:none;cursor:pointer;font-size:20px;line-height:1;opacity:.6;padding:0 4px;transition:opacity .15s ease}.toast-close:hover{opacity:1}.algo-results-toast-success .toast-close{color:#155724}.algo-results-toast-error .toast-close{color:#721c24}.gridscan-container{background:#f8f9fa;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.gridscan-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;min-height:28px;padding:4px 8px}.gridscan-header h2{color:#212529;font-size:13px;font-weight:600;margin:0}.gridscan-config-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:background-color .2s}.gridscan-config-btn:hover{background:#0056b3}.gridscan-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);min-height:0;overflow:hidden;padding:8px}.gridscan-cell{background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,border-color .2s}.gridscan-cell:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.gridscan-cell-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;flex-shrink:0;gap:1px;padding:6px 10px}.gridscan-cell-top-row{align-items:center;display:flex;justify-content:space-between}.gridscan-cell-top-row .symbol-text{color:#212529;font-size:14px;font-weight:700}.gridscan-cell-top-row .price-value{font-size:16px;font-weight:700}.gridscan-cell-top-row .price-value.positive{color:#28a745}.gridscan-cell-top-row .price-value.negative{color:#dc3545}.gridscan-cell-bottom-row{align-items:center;display:flex;justify-content:space-between}.gridscan-cell-bottom-row .symbol-name{color:#6c757d;font-size:10px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gridscan-cell-bottom-row .price-change{font-size:11px;font-weight:500}.gridscan-cell-bottom-row .price-change.positive{color:#28a745}.gridscan-cell-bottom-row .price-change.negative{color:#dc3545}.gridscan-cell-chart{flex:1 1;min-height:0;position:relative}.gridscan-watermark{color:#a0a0a059;font-family:Arial,sans-serif;font-size:60px;font-weight:700;left:50%;pointer-events:none;position:absolute;text-shadow:0 0 1px #ffffff80;top:45%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:10}.gridscan-loading{color:#6c757d}.gridscan-error,.gridscan-loading{align-items:center;background:#ffffffe6;bottom:0;display:flex;font-size:12px;justify-content:center;left:0;position:absolute;right:0;top:0}.gridscan-error{color:#dc3545;padding:8px;text-align:center}.gridscan-panel-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.gridscan-panel{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:100%}.gridscan-panel-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.gridscan-panel-header h3{color:#212529;font-size:16px;font-weight:600;margin:0}.gridscan-panel-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;transition:background-color .2s;width:32px}.gridscan-panel-close:hover{background:#e9ecef;color:#212529}.gridscan-position-grid{padding:20px}.gridscan-position-hint{color:#6c757d;font-size:14px;margin:0 0 16px}.gridscan-position-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.gridscan-position-btn{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 12px;transition:all .2s}.gridscan-position-btn:hover{background:#e7f1ff;border-color:#007bff}.gridscan-position-btn .position-number{color:#6c757d;font-size:12px;font-weight:600}.gridscan-position-btn .position-symbol{color:#212529;font-size:14px;font-weight:700}.gridscan-panel-search{border-bottom:1px solid #e0e0e0;padding:12px 20px}.gridscan-panel-search input{border:1px solid #e0e0e0;border-radius:6px;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s;width:100%}.gridscan-panel-search input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.gridscan-panel-section{border-bottom:1px solid #e0e0e0;max-height:250px;overflow-y:auto;padding:12px 20px}.gridscan-panel-section:last-child{border-bottom:none}.gridscan-panel-section h4{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.gridscan-symbol-list{display:flex;flex-direction:column;gap:4px}.gridscan-symbol-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:all .2s}.gridscan-symbol-btn:hover{background:#f8f9fa;border-color:#e0e0e0}.gridscan-symbol-btn .symbol{color:#212529;font-size:14px;font-weight:600;min-width:80px}.gridscan-symbol-btn .name{color:#6c757d;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gridscan-symbol-btn .price{font-size:13px;font-weight:500}.gridscan-symbol-btn .price.positive{color:#28a745}.gridscan-symbol-btn .price.negative{color:#dc3545}@media (max-width:1200px){.gridscan-grid{gap:6px;padding:6px}.gridscan-cell-header{padding:5px 8px}.gridscan-cell-top-row .symbol-text{font-size:12px}.gridscan-cell-top-row .price-value{font-size:14px}.gridscan-cell-bottom-row .symbol-name{font-size:9px;max-width:80px}.gridscan-cell-bottom-row .price-change{font-size:9px}}@media (max-width:768px){.gridscan-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.gridscan-header h2{font-size:14px}.gridscan-config-btn{font-size:12px;padding:6px 12px}.gridscan-panel{max-height:90vh;max-width:100%}.gridscan-position-buttons{gap:8px;grid-template-columns:repeat(3,1fr)}.gridscan-position-btn{padding:12px 8px}}@media (prefers-color-scheme:dark){.gridscan-container{background:#1e1e1e}.gridscan-header{background:#2d2d2d;border-color:#404040}.gridscan-header h2{color:#fff}.gridscan-cell{background:#2d2d2d;border-color:#404040}.gridscan-cell:hover{border-color:#007bff}.gridscan-cell-header{background:#252525;border-color:#404040}.gridscan-cell-top-row .symbol-text{color:#fff}.gridscan-cell-bottom-row .symbol-name{color:#aaa}.gridscan-panel{background:#2d2d2d}.gridscan-panel-header{background:#252525;border-color:#404040}.gridscan-panel-header h3{color:#fff}.gridscan-panel-search input{background:#1e1e1e;border-color:#404040;color:#fff}.gridscan-panel-section{border-color:#404040}.gridscan-symbol-btn:hover{background:#383838;border-color:#505050}.gridscan-symbol-btn .symbol{color:#fff}.gridscan-symbol-btn .name{color:#aaa}.gridscan-position-btn{background:#383838;border-color:#505050}.gridscan-position-btn:hover{background:#404040;border-color:#007bff}.gridscan-position-btn .position-symbol{color:#fff}}.dashboardv2-container{--bg-primary:#fff;--bg-secondary:#f7f8fa;--bg-tertiary:#e8eaed;--border-color:#d1d4dc;--text-primary:#131722;--text-secondary:#787b86;--text-muted:#9598a1;--hover-bg:#f0f3fa;--active-bg:#2962ff;--positive:#26a69a;--negative:#ef5350;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;max-height:100vh;min-height:100vh;overflow:hidden}.dashboardv2-topbar{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:16px;height:48px;justify-content:space-between;min-height:48px;padding:0 16px}.dashboardv2-logo h1{color:var(--text-primary);font-size:16px;font-weight:600;margin:0;white-space:nowrap}.dashboardv2-tabs{align-items:center;display:flex;flex:1 1;gap:4px;overflow-x:auto}.dashboardv2-tab{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.dashboardv2-tab:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dashboardv2-tab.active{background-color:var(--active-bg);color:#fff}.dashboardv2-user-controls{align-items:center;display:flex;gap:12px}.dashboardv2-user-name{font-weight:500}.dashboardv2-logout,.dashboardv2-user-name{color:var(--text-primary);font-size:13px;white-space:nowrap}.dashboardv2-logout{background:#0000;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;padding:6px 12px;transition:all .2s}.dashboardv2-logout:hover{background-color:var(--hover-bg)}.dashboardv2-calendar-btn{background:#28a745;border:1px solid #28a745;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.dashboardv2-calendar-btn:hover{background-color:#218838;border-color:#218838}.dashboardv2-release-btn{background:#007bff;border:1px solid #007bff;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.dashboardv2-release-btn:hover{background-color:#0056b3;border-color:#0056b3}.dashboardv2-main-area{background-color:var(--bg-primary);display:flex;flex:1 1;overflow:hidden}.dashboardv2-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;min-width:240px;transition:all .3s ease;width:240px}.dashboardv2-sidebar.collapsed{min-width:50px;width:50px}.dashboardv2-sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;height:40px;justify-content:space-between;min-height:40px;padding:0 12px}.dashboardv2-sidebar-header h3{color:var(--text-primary);font-size:13px;font-weight:600;margin:0}.dashboardv2-collapse-btn{background:#0000;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s}.dashboardv2-collapse-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dashboardv2-controls{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px;padding:8px}.dashboardv2-search{position:relative}.dashboardv2-search input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:12px;outline:none;padding:6px 28px 6px 8px;transition:border-color .2s;width:100%}.dashboardv2-search input:focus{border-color:var(--active-bg)}.dashboardv2-search input::placeholder{color:var(--text-muted)}.dashboardv2-search-clear{background:#0000;border:none;border-radius:2px;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:2px 6px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.dashboardv2-search-clear:hover{background-color:var(--hover-bg)}.dashboardv2-sort-buttons{display:flex;gap:3px}.dashboardv2-sort-btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:10px;font-weight:500;padding:5px 6px;text-align:center;transition:all .2s;white-space:nowrap}.dashboardv2-sort-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dashboardv2-sort-btn.active{background-color:var(--active-bg);border-color:var(--active-bg);color:#fff}.dashboardv2-stock-count{color:var(--text-muted);font-size:10px;padding:2px 0;text-align:center}.dashboardv2-watchlist-items{flex:1 1;overflow-x:hidden;overflow-y:auto}.dashboardv2-watchlist-item{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:6px;justify-content:space-between;padding:8px 28px 8px 10px;position:relative;transition:all .15s}.dashboardv2-watchlist-item:hover{background-color:var(--hover-bg)}.dashboardv2-watchlist-item:hover .dashboardv2-remove-stock-btn{opacity:1!important}.dashboardv2-watchlist-item.active{background-color:var(--active-bg);border-left:3px solid var(--active-bg)}.dashboardv2-watchlist-item.active *{color:#fff!important}.dashboardv2-watchlist-item.active .dashboardv2-remove-stock-btn{color:#ffffffb3!important}.dashboardv2-watchlist-item.active .dashboardv2-remove-stock-btn:hover{background-color:#fff3!important;color:#fff!important}.dashboardv2-remove-stock-btn:hover{background-color:#dc35451a!important}.dashboardv2-stock-info{flex:1 1;min-width:0;text-align:left}.dashboardv2-stock-symbol{color:var(--text-primary);font-size:12px;font-weight:600;margin-bottom:1px;text-align:left}.dashboardv2-stock-name{color:var(--text-secondary);font-size:10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dashboardv2-price-info{text-align:right}.dashboardv2-current-price{color:var(--text-primary);font-size:11px;font-weight:600;margin-bottom:1px}.dashboardv2-price-change{font-size:10px;font-weight:500}.dashboardv2-price-change.positive{color:var(--positive)}.dashboardv2-price-change.negative{color:var(--negative)}.dashboardv2-watchlist-items-collapsed{flex:1 1;overflow-y:auto;padding:6px 4px}.dashboardv2-watchlist-item-collapsed{border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:600;margin-bottom:3px;overflow:hidden;padding:6px 4px;text-align:center;text-overflow:ellipsis;transition:all .15s;white-space:nowrap}.dashboardv2-watchlist-item-collapsed:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dashboardv2-watchlist-item-collapsed.active{background-color:var(--active-bg);color:#fff}.dashboardv2-empty,.dashboardv2-loading{color:var(--text-secondary);font-size:12px;padding:24px 16px;text-align:center}.dashboardv2-chart-main{background-color:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.dashboardv2-no-selection{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;font-size:14px;justify-content:center}.dashboardv2-news-panel{background-color:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;min-width:280px;transition:all .3s ease;width:280px}.dashboardv2-news-panel.collapsed{min-width:50px;width:50px}.dashboardv2-news-panel.collapsed .dashboardv2-news-header{justify-content:center;padding:0 4px}.dashboardv2-news-panel.collapsed .dashboardv2-news-header h3{display:none}.dashboardv2-news-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;height:40px;justify-content:space-between;min-height:40px;padding:0 12px}.dashboardv2-news-header h3{color:var(--text-primary);font-size:13px;font-weight:600;margin:0}.dashboardv2-news-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:4px;padding:8px}.dashboardv2-news-tab{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:11px;font-weight:500;padding:6px 8px;text-align:center;transition:all .2s}.dashboardv2-news-tab:hover{background-color:var(--hover-bg);color:var(--text-primary)}.dashboardv2-news-tab.active{background-color:var(--active-bg);border-color:var(--active-bg);color:#fff}.dashboardv2-news-list{flex:1 1;overflow-x:hidden;overflow-y:auto}.dashboardv2-news-item{border-bottom:1px solid var(--border-color);color:inherit;display:block;padding:10px 12px;text-decoration:none;transition:all .15s}.dashboardv2-news-item:hover{background-color:var(--hover-bg)}.dashboardv2-news-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:11px;font-weight:500;line-height:1.3;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis}.dashboardv2-news-meta{align-items:center;color:var(--text-muted);display:flex;font-size:10px;justify-content:space-between;margin-bottom:4px}.dashboardv2-news-source{font-weight:500}.dashboardv2-news-time{font-style:italic}.dashboardv2-news-symbols{display:flex;flex-wrap:wrap;gap:4px}.dashboardv2-news-symbol{background-color:var(--bg-tertiary);border-radius:2px;color:var(--text-secondary);font-size:9px;font-weight:600;padding:2px 6px}.dashboardv2-news-empty,.dashboardv2-news-loading{color:var(--text-secondary);font-size:12px;padding:24px 16px;text-align:center}.dashboardv2-tab-content{background-color:var(--bg-primary);flex:1 1;overflow:auto}.dashboardv2-gridscan-tab,.dashboardv2-macroeco-tab{display:flex;height:100%;padding:0}.dashboardv2-gridscan-tab{overflow:hidden}.dashboardv2-error{align-items:center;color:var(--negative);display:flex;flex:1 1;font-size:14px;font-weight:500;justify-content:center}.dashboardv2-news-list::-webkit-scrollbar,.dashboardv2-watchlist-items-collapsed::-webkit-scrollbar,.dashboardv2-watchlist-items::-webkit-scrollbar{width:4px}.dashboardv2-news-list::-webkit-scrollbar-track,.dashboardv2-watchlist-items-collapsed::-webkit-scrollbar-track,.dashboardv2-watchlist-items::-webkit-scrollbar-track{background:var(--bg-secondary)}.dashboardv2-news-list::-webkit-scrollbar-thumb,.dashboardv2-watchlist-items-collapsed::-webkit-scrollbar-thumb,.dashboardv2-watchlist-items::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.dashboardv2-news-list::-webkit-scrollbar-thumb:hover,.dashboardv2-watchlist-items-collapsed::-webkit-scrollbar-thumb:hover,.dashboardv2-watchlist-items::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width:1200px){.dashboardv2-news-panel{min-width:240px;width:240px}}@media (max-width:992px){.dashboardv2-news-panel,.dashboardv2-sidebar{min-width:200px;width:200px}}@media (max-width:768px){.dashboardv2-topbar{flex-wrap:wrap;height:auto;min-height:48px}.dashboardv2-tabs{justify-content:flex-start;order:3;width:100%}.dashboardv2-news-panel,.dashboardv2-sidebar{box-shadow:0 0 10px #0000004d;height:100%;position:absolute;z-index:1000}.dashboardv2-news-panel.collapsed,.dashboardv2-sidebar.collapsed{border:none;min-width:0;width:0}}.release-notes-page{background:#fff;display:flex;flex-direction:column;min-height:100vh}.release-notes-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:20px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.release-notes-header-content{align-items:center;display:flex;gap:16px}.release-notes-title{color:#212529;font-size:28px;font-weight:700;margin:0}.release-version-badge{background:#007bff;border-radius:6px;color:#fff;font-size:14px;font-weight:600;padding:6px 12px}.release-notes-back-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.release-notes-back-btn:hover{background:#5a6268}.release-notes-container{display:flex;flex:1 1;overflow:hidden}.release-notes-sidebar{background:#3a3a3a;border-right:1px solid #2a2a2a;color:#fff;height:calc(100vh - 80px);min-width:280px;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;width:280px}.release-notes-sidebar-header{border-bottom:1px solid #4a4a4a;padding:20px 16px 12px}.release-notes-sidebar-header h3{color:#ccc;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.release-notes-nav{padding:8px 0}.release-notes-nav-section{padding:0}.release-notes-nav-title{border-bottom:1px solid #4a4a4a;color:#fff;font-size:14px;font-weight:600;padding:12px 16px}.release-notes-nav-list{list-style:none;margin:0;padding:0}.release-notes-nav-item{margin:0;padding:0}.release-notes-nav-link{background:#0000;border:none;border-left:3px solid #0000;color:#ccc;cursor:pointer;display:flex;flex-direction:column;font-size:13px;padding:10px 16px;text-align:left;transition:all .2s;width:100%}.release-notes-nav-link:hover{background:#4a4a4a;color:#fff}.release-notes-nav-link.active{background:#4a4a4a;border-left-color:#007bff;color:#fff;font-weight:600}.release-notes-nav-version{font-weight:500;margin-bottom:2px}.release-notes-nav-date{color:#999;font-size:11px;font-weight:400}.release-notes-nav-link.active .release-notes-nav-date{color:#ccc}.release-notes-nav-error,.release-notes-nav-loading{color:#999;font-size:13px;padding:16px;text-align:center}.release-notes-nav-error{color:#dc3545}.release-notes-main{background:#fff;flex:1 1;max-width:100%;overflow-y:auto;padding:40px 60px}.release-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:100px 20px}.release-spinner{border:3px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:16px;width:40px}.release-error{color:#dc3545;padding:40px 20px;text-align:left}.release-retry-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:10px 20px;transition:background .2s}.release-retry-btn:hover{background:#0056b3}.release-markdown-content{color:#212529;font-size:16px;line-height:1.7;max-width:100%;text-align:left}.release-markdown-content h1{border-bottom:3px solid #007bff;color:#212529;font-size:32px;font-weight:700;margin:0 0 24px;padding-bottom:12px;text-align:left}.release-markdown-content h2{border-bottom:2px solid #dee2e6;color:#212529;font-size:24px;font-weight:600;margin:40px 0 20px;padding-bottom:8px;scroll-margin-top:20px;text-align:left}.release-markdown-content h2:first-of-type{margin-top:0}.release-markdown-content h3{color:#495057;font-size:20px;font-weight:600;margin:24px 0 12px;text-align:left}.release-markdown-content p{margin:0 0 16px;text-align:left}.release-markdown-content strong{color:#212529;font-weight:600}.release-markdown-content em{color:#6c757d;font-style:italic}.release-markdown-content ul{margin:12px 0 20px;padding-left:32px;text-align:left}.release-markdown-content li{line-height:1.6;margin:6px 0;text-align:left}.release-markdown-content a{color:#007bff;cursor:pointer;text-decoration:none}.release-markdown-content a:hover{text-decoration:underline}.release-markdown-content a.release-anchor-link{color:#007bff}.release-markdown-content a.release-file-link{color:#28a745;font-weight:500}.release-markdown-content hr{border:none;border-top:2px solid #dee2e6;margin:32px 0}.release-markdown-content table{border-collapse:collapse;font-size:14px;margin:24px 0;text-align:left;width:100%}.release-markdown-content thead{background:#f8f9fa}.release-markdown-content th{border-bottom:2px solid #dee2e6;color:#212529;font-weight:600;padding:12px 16px;text-align:left}.release-markdown-content td{border-bottom:1px solid #e9ecef;padding:12px 16px;text-align:left}.release-markdown-content tr:hover{background:#f8f9fa}.release-markdown-content tr:last-child td{border-bottom:none}@media (max-width:1024px){.release-notes-container{flex-direction:column}.release-notes-sidebar{border-bottom:1px solid #2a2a2a;border-right:none;height:auto;max-height:300px;min-width:100%;position:relative;width:100%}.release-notes-main{padding:24px 20px}}@media (max-width:768px){.release-notes-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.release-notes-title{font-size:24px}.release-notes-main{padding:20px 16px}.release-markdown-content{font-size:15px}.release-markdown-content h1{font-size:26px;margin:0 0 20px}.release-markdown-content h2{font-size:20px;margin:32px 0 16px}.release-markdown-content h3{font-size:18px;margin:20px 0 10px}.release-markdown-content table{font-size:12px}.release-markdown-content td,.release-markdown-content th{padding:8px 12px}}.version-update-notification{animation:slideDown .3s ease-out;left:50%;max-width:600px;position:fixed;top:20px;transform:translateX(-50%);width:90%;z-index:10000}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.version-update-content{background:linear-gradient(135deg,#ffd89b,#19547b);border:2px solid #ffc107;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.version-update-icon{font-size:2rem;text-align:center}.version-update-text{color:#212529;text-align:center}.version-update-text h3{color:#212529;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.version-update-text p{color:#212529;font-size:.95rem;line-height:1.5;margin:.5rem 0}.version-update-action{color:#155724;font-weight:600}.version-update-actions{display:flex;gap:1rem;justify-content:center;margin-top:.5rem}.version-update-button{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.version-update-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.version-update-button-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.version-update-button-secondary{background:#ffffffe6;border:2px solid #dee2e6;color:#495057}.version-update-button-secondary:hover{background:#fff;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}@media (max-width:768px){.version-update-notification{top:10px;width:95%}.version-update-content{padding:1rem}.version-update-actions{flex-direction:column}.version-update-button{width:100%}}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;text-align:center}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff1a;border-bottom:1px solid #fff3;color:#fff;padding:2rem}.App-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.App-header p{font-size:1.1rem;margin:0;opacity:.9}.App-main{margin:0 auto;max-width:1200px;padding:2rem}.error-message{align-items:center;background-color:#ff6b6b;border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.error-message button{background-color:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.error-message button:hover{background-color:#ffffff4d}.loading{color:#fff;font-size:1.2rem;padding:2rem}.loading-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:1rem;width:50px}.loading-screen p{font-size:1.2rem;margin:0}.auth-wrapper{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-container{max-width:400px;width:100%}@media (max-width:480px){.auth-wrapper{padding:1rem}}