.technical-indicators-card{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;transition:box-shadow .2s cubic-bezier(.16,1,.3,1);animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.technical-indicators-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.ti-header{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-bottom:1px solid var(--border);padding:24px;position:relative;z-index:1}.ti-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ti-title h3{margin:0;font-size:1.5rem;font-weight:700;color:var(--text);background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ti-symbol-info{display:flex;align-items:center;gap:12px;font-weight:600}.ti-symbol{font-size:1.1rem;color:var(--text)}.ti-exchange{font-size:.875rem;color:var(--muted);background:#3b82f61a;padding:4px 8px;border-radius:6px;border:1px solid rgba(59,130,246,.2)}.ti-price{font-size:1.1rem;color:#22c55e;font-weight:700}.ti-tabs{display:flex;gap:4px;flex-wrap:nowrap}.ti-tab{padding:12px 20px;border:none;background:#1f29374d;color:var(--muted);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);border-radius:8px;position:relative;overflow:hidden;transform:translateZ(0)}.ti-tab:hover{background:#3b82f61a;color:var(--text);transform:translateY(-1px)}.ti-tab.active{background:linear-gradient(135deg,#3b82f626,#8b5cf626);color:#60a5fa;border:1px solid rgba(59,130,246,.5);position:relative;z-index:20;transform:translateY(0);margin:1px}.ti-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:1px;z-index:21}.ti-content{padding:24px}.ti-tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ti-section{margin-bottom:32px}.ti-section:last-child{margin-bottom:0}.ti-section h4{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(59,130,246,.1)}.ti-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.ti-metric-card{background:#1f29374d;border:1px solid rgba(75,85,99,.3);border-radius:12px;padding:20px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateZ(0)}.ti-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);opacity:0;transition:opacity .2s ease}.ti-metric-card:hover{border-color:#3b82f666;background:#3b82f60d;transform:translateY(-2px) translateZ(0);box-shadow:0 8px 25px #3b82f626}.ti-metric-card:hover:before{opacity:1}.ti-metric-card.highlight{border-color:#3b82f666;background:linear-gradient(135deg,#3b82f614,#8b5cf614)}.ti-metric-card.highlight:before{opacity:1}.ti-metric-label{font-size:.875rem;color:var(--muted);margin-bottom:8px;font-weight:500}.ti-metric-value{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:4px}.ti-metric-value.positive{color:#22c55e}.ti-metric-value.negative{color:#ef4444}.ti-metric-description{font-size:.75rem;color:var(--muted);opacity:.8}.ti-quick-stats{margin-top:32px}.ti-quick-stats h4{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(34,197,94,.1)}.ti-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ti-stat{display:flex;flex-direction:column;gap:4px;padding:16px;background:#1f293733;border:1px solid rgba(75,85,99,.2);border-radius:8px;transition:all .2s ease}.ti-stat:hover{border-color:#22c55e4d;background:#22c55e0d}.ti-stat-label{font-size:.75rem;color:var(--muted);font-weight:500}.ti-stat-value{font-size:1rem;font-weight:600;color:var(--text)}.ti-empty-state,.ti-loading-state,.ti-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.ti-empty-icon,.ti-error-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.ti-empty-state h3,.ti-error-state p:first-of-type{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 8px}.ti-empty-state p,.ti-loading-state p,.ti-error-state span{font-size:.875rem;color:var(--muted);margin:0}.ti-loading-state span{font-size:.75rem;opacity:.7;margin-top:4px}.ti-loading-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.1);border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.ti-retry-button{margin-top:16px;padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ti-retry-button:hover{transform:translateY(-1px);box-shadow:0 8px 25px #3b82f64d}.ti-tab,.ti-retry-button{-webkit-tap-highlight-color:rgba(59,130,246,.2);touch-action:manipulation}.ti-mobile-summary{display:none;background:#1f293733;border-radius:12px;padding:16px;margin-bottom:20px}.ti-mobile-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ti-mobile-metric{text-align:center}.ti-mobile-metric-label{font-size:.75rem;color:var(--muted);margin-bottom:4px}.ti-mobile-metric-value{font-size:1rem;font-weight:600;color:var(--text)}.ti-mobile-metric-value.positive{color:#22c55e}.ti-mobile-metric-value.negative{color:#ef4444}.ti-tabs-container{position:relative}.ti-tabs-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%;box-sizing:border-box;position:relative;z-index:15;margin-top:8px;padding:4px 4px 4px 6px}.ti-tabs-wrapper::-webkit-scrollbar{display:none}@media (max-width: 768px){.technical-indicators-card{border-radius:12px}.ti-header{padding:16px;border-radius:12px 12px 0 0}.ti-title{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:16px}.ti-title h3{font-size:1.25rem}.ti-symbol-info{gap:10px;flex-wrap:wrap}.ti-symbol{font-size:1rem}.ti-exchange{font-size:.8rem;padding:3px 7px}.ti-price{font-size:1rem}.ti-mobile-summary{display:block}.ti-tabs{gap:4px;margin-bottom:0;display:flex;min-width:max-content}.ti-tabs-wrapper{padding:8px 16px;margin:4px -16px 0;width:calc(100% + 32px);box-sizing:border-box;background:transparent}.ti-tab{padding:8px 12px;font-size:.8rem;flex-shrink:0;min-width:auto;min-height:44px;white-space:nowrap;border-radius:6px}.ti-content{padding:18px}.ti-metrics-grid,.ti-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ti-metric-card{padding:12px;border-radius:10px}.ti-metric-value{font-size:1.1rem}.ti-metric-label{font-size:.75rem;margin-bottom:6px}.ti-metric-description{font-size:.65rem;line-height:1.2}.ti-section{margin-bottom:20px}.ti-section h4{font-size:1rem;margin-bottom:12px}.ti-stat{padding:12px;border-radius:8px}.ti-stat-label{font-size:.7rem}.ti-stat-value{font-size:.9rem}.ti-empty-state,.ti-loading-state,.ti-error-state{padding:40px 16px}.ti-loading-spinner{width:36px;height:36px}.ti-retry-button{min-height:44px;padding:12px 20px}}@media (min-width: 480px) and (max-width: 768px){.ti-metrics-grid{grid-template-columns:repeat(3,1fr);gap:8px}.ti-metric-card{padding:10px}.ti-metric-value{font-size:1rem}.ti-metric-label{font-size:.7rem;margin-bottom:4px}.ti-metric-description{font-size:.6rem}}.ti-index-group{margin-bottom:24px;border:1px solid rgba(75,85,99,.2);border-radius:12px;background:#1f29371a;overflow:hidden}.ti-index-group:last-child{margin-bottom:0}.ti-index-title{font-size:1rem;font-weight:600;color:var(--text);margin:0;padding:16px 20px;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border-bottom:1px solid rgba(75,85,99,.2);text-transform:capitalize}.ti-index-group .ti-metrics-grid{padding:20px;margin:0}@media (max-width: 480px){.ti-tabs-wrapper{padding:8px 12px;margin:4px -12px 0;width:calc(100% + 24px);background:transparent}.ti-tab{padding:6px 10px;font-size:.75rem;min-height:40px}.ti-header,.ti-content{padding:12px}.ti-metrics-grid{grid-template-columns:repeat(2,1fr);gap:8px}.ti-metric-card{padding:10px}.ti-metric-value{font-size:1rem}.ti-metric-label{font-size:.7rem;margin-bottom:4px}.ti-metric-description{font-size:.6rem}.ti-index-group{margin-bottom:16px}.ti-index-title{font-size:.9rem;padding:12px 16px}.ti-index-group .ti-metrics-grid{padding:16px}}.alert-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-overlay);padding:20px;animation:fadeIn .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.alert-modal{background:#0e1624;border-radius:12px;border:1px solid #30363d;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080;position:relative;z-index:var(--z-modal-content);animation:scaleIn .25s cubic-bezier(.16,1,.3,1);transform-origin:center}.alert-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #1f2937}.alert-modal-header h2{color:#e5e7eb;font-size:20px;font-weight:600;margin:0}.close-button{background:none;border:none;color:#9ca3af;font-size:24px;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.close-button:active{transform:scale(.9) translateZ(0)}.close-button:hover{background:#374151;color:#e5e7eb}.alert-modal-body{padding:12px 20px 16px}.alert-symbol-info{background:#1f2937;border-radius:6px;padding:12px;margin-bottom:16px;border:1px solid #374151}.alert-symbol-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.alert-symbol-name{color:#e5e7eb;font-size:18px;font-weight:600}.alert-symbol-exchange{color:#9ca3af;font-size:14px;margin-bottom:8px}.alert-current-price{color:#10b981;font-size:16px;font-weight:500}.alert-condition{margin-top:8px;padding:8px 12px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:6px}.alert-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#e5e7eb;font-size:14px;font-weight:500}.alert-input{background:#1f2937;border:1px solid #374151;border-radius:6px;padding:12px;color:#e5e7eb;font-size:14px;transition:border-color .2s}.alert-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.alert-input::placeholder{color:#6b7280}.price-options{display:flex;flex-direction:column;gap:8px}.alert-price-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#1f2937;border:1px solid #374151;border-radius:6px;cursor:pointer;transition:all .2s}.alert-price-option:hover:not(.disabled){border-color:#4b5563;background:#2d3748}.alert-price-option.selected{border-color:#3b82f6;background:#3b82f61a}.alert-price-option.disabled{opacity:.5;cursor:not-allowed}.alert-price-option input[type=radio]{margin:2px 0 0;width:16px;height:16px;accent-color:#3b82f6}.option-content{flex:1;display:flex;align-items:center}.option-text{color:#e5e7eb;font-size:14px;font-weight:500}.manual-option .option-content{width:100%}.manual-price-input{background:#374151;border:1px solid #4b5563;border-radius:4px;padding:6px 10px;color:#e5e7eb;font-size:14px;width:100%;transition:border-color .2s}.manual-price-input:focus{outline:none;border-color:#3b82f6}.manual-price-input:disabled{opacity:.5;cursor:not-allowed}.manual-price-input::placeholder{color:#6b7280}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.cancel-button,.create-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .15s cubic-bezier(.16,1,.3,1);border:none;transform:translateZ(0)}.cancel-button:active:not(:disabled),.create-button:active:not(:disabled){transform:scale(.97) translateZ(0)}.cancel-button{background:transparent;color:#9ca3af;border:1px solid #4b5563}.cancel-button:hover:not(:disabled){background:#374151;color:#e5e7eb}.create-button{background:#3b82f6;color:#fff}.create-button:hover:not(:disabled){background:#2563eb}.create-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.alert-modal-overlay{padding:80px 12px 12px;align-items:flex-start}.alert-modal{max-width:100%;max-height:calc(100vh - 170px)}.alert-modal-body{padding:12px 20px 20px}.symbol-info{padding:12px;margin-bottom:20px}.symbol-name{font-size:16px}.alert-price-option{padding:12px}.manual-option .option-content{flex-direction:column;align-items:flex-start;gap:8px}.manual-price-input{width:100%}.form-actions{flex-direction:column-reverse}.cancel-button,.create-button{width:100%;padding:14px 24px}}.screener-container{padding:24px;height:100%;overflow-y:auto;overflow-x:hidden;margin:0 auto;max-width:1400px;width:100%;box-sizing:border-box}.screener-header{margin-bottom:32px}.header-content{display:flex;justify-content:space-between;align-items:center;gap:24px}.header-text{flex:1}.screener-header h1{font-size:2.5rem;font-weight:700;color:var(--text);margin:0 0 8px;background:linear-gradient(135deg,#60a5fa,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.screener-header p{font-size:1.125rem;color:var(--muted);margin:0;opacity:.9}.refresh-all-button{display:flex;align-items:center;gap:8px;padding:10px 20px!important;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #3b82f64d;white-space:nowrap;position:relative;width:180px;justify-content:center}.refresh-all-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.refresh-all-button:active{transform:translateY(0)}.refresh-all-button svg{width:20px;height:20px;stroke:currentColor}.refresh-all-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.refresh-all-button.refreshing{background:linear-gradient(135deg,#6b7280,#9ca3af);box-shadow:0 4px 14px #6b72804d}.refresh-all-button.refreshing svg{animation:spin 1s linear infinite}@media (max-width: 768px){.header-content{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px}.header-text{flex:1;min-width:0}.screener-header h1{font-size:1.75rem;line-height:1.2}.screener-header p{font-size:.9rem;line-height:1.4}.refresh-all-button{padding:8px 12px!important;font-size:.75rem!important;min-height:36px;flex-shrink:0;gap:6px!important}.refresh-all-button svg{width:16px;height:16px}}.screener-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.stat-card:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 8px 20px -5px #0003}.stat-label{font-size:.875rem;color:var(--muted);margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.75rem;font-weight:600;color:var(--text)}.tab-navigation{display:flex;gap:4px;margin-bottom:32px;border-bottom:1px solid var(--border)}.tab-button{padding:12px 24px;border:none;background:transparent;color:var(--muted);font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);border-bottom:2px solid transparent;font-size:.875rem;position:relative}.tab-button:after{content:"";position:absolute;bottom:-1px;left:50%;width:0;height:2px;background:var(--primary);transition:width .2s cubic-bezier(.16,1,.3,1),left .2s cubic-bezier(.16,1,.3,1)}.tab-button.active:after{width:100%;left:0}.tab-button:hover{color:var(--text);background:#60a5fa0d}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary);background:#60a5fa1a}.period-selector{margin-bottom:32px;margin-top:16px;min-width:100%}.period-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:100%}.screener-container>*:not(.screener-header):not(.tab-navigation){width:100%;max-width:none}.period-button{padding:10px 20px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);font-size:.875rem;transform:translateZ(0)}.period-button:active:not(:disabled){transform:scale(.97) translateZ(0)}.period-button:hover{border-color:var(--primary);background:#60a5fa1a;color:var(--text);transform:translateY(-1px)}.period-button.active{border-color:var(--primary);background:var(--primary);color:#fff}.period-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.index-dropdown-header{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font-size:.75rem;cursor:pointer;transition:all .2s ease;min-width:150px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.index-dropdown-header option{background:var(--panel);color:var(--text);padding:8px}.index-dropdown-header:hover:not(:disabled){border-color:var(--primary);background:#60a5fa0d}.index-dropdown-header:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #60a5fa33}.index-dropdown-header:disabled{opacity:.5;cursor:not-allowed}.screener-results{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;width:100%;max-width:100%;margin-top:16px;will-change:auto;contain:layout style}.results-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#1f29374d;border-bottom:1px solid var(--border)}.header-controls{display:flex;align-items:center;gap:12px}.results-header h2{margin:0;color:var(--text);font-size:1.25rem;font-weight:600}.header-controls{display:flex;align-items:center;gap:16px}.ranking-method-selector{display:flex;align-items:center;gap:8px}.ranking-method-selector label{color:var(--muted);font-size:.9rem;font-weight:500;white-space:nowrap}.ranking-method-dropdown{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font-size:.9rem;min-width:180px;cursor:pointer;transition:all .2s ease}.ranking-method-dropdown:hover{border-color:var(--primary)}.ranking-method-dropdown:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.bonus-multiplier-control{display:flex;flex-direction:column;gap:6px;min-width:200px}.bonus-multiplier-control label{color:var(--muted);font-size:.85rem;font-weight:500;white-space:nowrap}.bonus-multiplier-slider{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#ef44444d,#eab3084d,#22c55e4d);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.bonus-multiplier-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid var(--panel);box-shadow:0 2px 4px #0003;transition:all .2s ease}.bonus-multiplier-slider::-webkit-slider-thumb:hover{background:#4f46e5;transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.bonus-multiplier-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid var(--panel);box-shadow:0 2px 4px #0003;transition:all .2s ease}.bonus-multiplier-slider::-moz-range-thumb:hover{background:#4f46e5;transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.refresh-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);font-size:.875rem;cursor:pointer;transition:all .2s ease}.refresh-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#60a5fa0d}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button svg{width:16px;height:16px}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.results-table-container{overflow-x:auto;overflow-y:auto;max-height:365px;position:relative;-webkit-overflow-scrolling:touch}.results-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1200px}@media (min-width: 769px){.results-table th:nth-child(1),.results-table td:nth-child(1){width:80px;min-width:80px}.results-table th:nth-child(2),.results-table td:nth-child(2){width:180px;min-width:180px}.results-table th:nth-child(3),.results-table td:nth-child(3){width:140px;min-width:140px;text-align:left}.results-table th:nth-child(4),.results-table td:nth-child(4){width:160px;min-width:160px}.results-table th:nth-child(5),.results-table td:nth-child(5){width:160px;min-width:160px}.results-table th:nth-child(6),.results-table td:nth-child(6){width:250px;min-width:250px}.results-table th:nth-child(7),.results-table td:nth-child(7){width:120px;min-width:120px}}.results-table th{background:#1f2937f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 16px;text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;position:sticky;top:0;z-index:10;height:45px;box-sizing:border-box}.results-table td{padding:12px 16px;border-bottom:1px solid rgba(31,41,55,.3);height:60px;box-sizing:border-box;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.stock-row:hover{background:#60a5fa0d}.clickable-row{cursor:pointer;transition:background-color .2s ease}.clickable-row:hover{background:#60a5fa14}.rank-cell{font-weight:600;color:var(--primary);text-align:left}.symbol-cell{position:relative}.symbol-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.symbol-name{font-weight:600;color:var(--text)!important;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:initial!important;background-clip:initial!important}.symbol-exchange{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symbol-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:2px}.universe-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:.675rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;line-height:1.2}.universe-badge.fno{background:linear-gradient(135deg,#ff9500,#ff7400);color:#fff;box-shadow:0 1px 3px #ff95004d}.universe-badge.n50{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;box-shadow:0 1px 3px #007bff4d}.universe-badge.n100{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff;box-shadow:0 1px 3px #28a7454d}.universe-badge.n200{background:linear-gradient(135deg,#6f42c1,#5a32a3);color:#fff;box-shadow:0 1px 3px #6f42c14d}.universe-badge.n500{background:linear-gradient(135deg,#6c757d,#545b62);color:#fff;box-shadow:0 1px 3px #6c757d4d}.price-cell{font-weight:500;color:var(--text);text-align:left}.momentum-cell{text-align:left}.momentum-score{font-weight:600;padding:6px 10px;border-radius:8px;font-size:.85rem;display:inline-block;min-width:60px;text-align:center}.momentum-score.positive{background:#34d39926;color:var(--accent);border:1px solid rgba(52,211,153,.3)}.momentum-score.negative{background:#f8717126;color:var(--danger);border:1px solid rgba(248,113,113,.3)}.rs-cell{text-align:left}.rs-score{font-weight:600;padding:6px 10px;border-radius:8px;font-size:.85rem;display:inline-block;min-width:60px;text-align:center}.rs-score.positive{background:#34d39926;color:var(--accent);border:1px solid rgba(52,211,153,.3)}.rs-score.negative{background:#f8717126;color:var(--danger);border:1px solid rgba(248,113,113,.3)}.sma-cell{overflow:hidden}.sma-score{font-weight:700;font-size:1.2rem;line-height:1.4;display:inline-block}.sma-score.positive{color:#22c55e}.sma-score.negative{color:#ef4444}.date-cell{color:var(--muted);font-size:.875rem;text-align:left}.appear-inline{display:flex;align-items:center;gap:8px;overflow:hidden}.appear-tags{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:1;overflow:hidden}.appear-badge{font-size:10px;padding:2px 6px;line-height:1;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:#1f293766;flex-shrink:0;white-space:nowrap}@media (min-width: 769px){.stocks-to-watch-table{min-width:1200px}.appears-in-cell{overflow:hidden;text-overflow:ellipsis}}.pattern-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;justify-content:center;width:100%}.pattern-buttons .period-button{white-space:nowrap;min-width:auto}.period-dropdown{width:100%;padding:12px 40px 12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;transition:all .2s ease;min-height:44px;box-sizing:border-box}.period-dropdown:hover{border-color:var(--primary);background-color:#60a5fa0d}.period-dropdown:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #60a5fa1a}.period-dropdown:disabled{opacity:.6;cursor:not-allowed}.period-button,.tab-button,.refresh-button,.period-dropdown{-webkit-tap-highlight-color:rgba(96,165,250,.2);touch-action:manipulation}.swipe-indicator{display:none;position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:.75rem;z-index:999;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%,to{opacity:0;transform:translate(-50%) translateY(10px)}50%{opacity:1;transform:translate(-50%) translateY(0)}}.pull-to-refresh{position:fixed;top:60px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:8px 16px;font-size:.875rem;color:var(--primary);box-shadow:0 4px 12px #0000001a;opacity:0;transition:all .3s ease;z-index:999}.pull-to-refresh.visible{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 768px){.screener-container{padding:12px;width:100%;overflow-x:hidden;box-sizing:border-box;margin:0;max-width:100%;scrollbar-width:thin;scrollbar-color:transparent transparent}.screener-container::-webkit-scrollbar{width:4px}.screener-container::-webkit-scrollbar-thumb{background-color:transparent;border-radius:2px}.screener-container:hover,.screener-container:active{scrollbar-color:rgba(155,155,155,.5) transparent}.screener-container:hover::-webkit-scrollbar-thumb,.screener-container:active::-webkit-scrollbar-thumb{background-color:#9b9b9b80}.results-header{min-height:88px}.screener-header{margin-bottom:2px;padding:0;position:relative;z-index:1}.screener-header h1{font-size:1.5rem;line-height:1.2;margin:0;word-wrap:break-word}.screener-header p{font-size:.8rem;line-height:1.4;margin:8px 0;width:100%;position:relative;left:0}.header-content{gap:8px;position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.header-text{flex:1;min-width:0;display:contents}.header-text h1{margin-bottom:0;flex:0 0 auto}.header-text p{flex-basis:100%;order:3;margin-top:8px}.refresh-all-button{position:static;align-self:center;padding:6px 12px!important;font-size:.7rem!important;min-height:auto;flex-shrink:0;gap:4px!important;order:2}.screener-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.tab-navigation{overflow-x:auto;overflow-y:visible;gap:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:10px 12px 12px;margin:16px 0 20px;display:flex;width:100%;box-sizing:border-box;position:relative;z-index:2;border-bottom:none}.tab-navigation::-webkit-scrollbar{display:none}.tab-button{padding:10px 16px;font-size:.8rem;flex-shrink:0;white-space:nowrap;min-height:44px;min-width:auto;border-radius:8px;border:2px solid transparent}.tab-button.active{border-color:var(--primary)}.tab-button:after{display:none}.period-selector{margin:0 0 20px;padding:0;width:100%;box-sizing:border-box}.period-buttons{justify-content:flex-start;overflow-x:auto;padding:8px 0;gap:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;display:flex}.period-buttons::-webkit-scrollbar{display:none}.period-button{flex-shrink:0;padding:8px 14px;font-size:.8rem;white-space:nowrap;min-height:40px;border-radius:8px}.pattern-buttons{grid-template-columns:repeat(2,1fr);gap:10px}.results-table-container{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;padding:0 16px}.screener-results{margin:20px 0 0;padding:0;width:100%;max-width:100%;box-sizing:border-box;border-radius:12px;overflow:hidden}.results-header{flex-direction:column;gap:12px;align-items:flex-start;padding:16px;margin:0;background:var(--panel);border-bottom:1px solid var(--border);position:relative;min-height:80px}.header-controls{flex-direction:column;align-items:flex-start;gap:12px;width:100%}.ranking-method-selector{width:100%}.ranking-method-dropdown,.bonus-multiplier-control{width:100%;min-width:auto}.results-header h2{font-size:1.1rem;line-height:1.4;margin:0;padding:0 50px 0 0;word-wrap:break-word;font-weight:600;color:var(--text);background:linear-gradient(135deg,var(--primary),#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;width:100%;box-sizing:border-box}.header-controls{width:100%;justify-content:flex-start;gap:8px;flex-wrap:wrap;padding:0;margin-top:8px}.refresh-button{position:absolute;top:16px;right:16px;z-index:10;min-width:36px;min-height:36px;padding:6px 8px;font-size:.7rem;gap:4px}.index-dropdown-header{min-width:100px;flex:1;margin-right:8px;min-height:40px;font-size:.8rem;padding:8px 10px}.refresh-button{min-height:36px;padding:6px 8px;font-size:.7rem;min-width:auto;gap:4px;flex-shrink:0}.refresh-button svg{width:12px;height:12px}@media (max-width: 480px){.refresh-button{padding:8px;min-width:32px;justify-content:center;font-size:0;top:12px;right:12px}.refresh-button svg{margin:0;width:16px;height:16px}.results-header h2{padding-right:50px}}.results-table{min-width:650px;font-size:.875rem}.results-table th,.results-table td{padding:12px 10px}.symbol-name{font-size:.875rem}.stat-card{padding:16px}.stat-value{font-size:1.4rem}.stocks-to-watch-table{min-width:550px}.appears-in-cell{min-width:150px;max-width:200px}.appear-inline{min-width:150px;gap:6px}.appear-tags{gap:4px}.appear-badge{font-size:9px;padding:1px 4px}.swipe-indicator.show{display:block}.loading-state,.empty-state{padding:40px 16px}.loading-spinner{width:32px;height:32px;margin-bottom:16px}}.pattern-cell{text-align:left}.pattern-type{font-weight:500;color:var(--text);background:var(--background);border:1px solid var(--border);padding:4px 8px;border-radius:6px;font-size:.85rem;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confidence-cell{text-align:left}.confidence-score{font-weight:600;padding:4px 8px;border-radius:6px;font-size:.85rem;display:inline-block;min-width:60px;text-align:center}.confidence-score.positive{color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.confidence-score.neutral{color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.confidence-score.negative{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.mobile-results-container{display:none}@media (max-width: 768px){.mobile-results-container{display:block!important;padding:0;margin:0;width:100%;max-width:100%;box-sizing:border-box;max-height:500px;overflow-y:auto;-webkit-overflow-scrolling:touch}.results-table-container{display:none!important}.screener-results .results-header{padding:16px;margin-bottom:0;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.mobile-cards-wrapper{padding:16px;background:transparent}.stock-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin:0 0 12px;box-sizing:border-box;width:100%;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;box-shadow:0 1px 3px #0000001a;-webkit-tap-highlight-color:rgba(96,165,250,.1);touch-action:pan-y;min-height:44px}.stock-card:hover{border-color:var(--primary);background:#60a5fa08;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stock-card:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.stock-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.stock-card-symbol{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.stock-card-name{font-size:1rem;font-weight:600;color:var(--text);line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-card-exchange{font-size:.75rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stock-card-rank{background:linear-gradient(135deg,var(--primary),#4f46e5);color:#fff;font-weight:700;font-size:.9rem;padding:6px 10px;border-radius:8px;min-width:40px;text-align:center;flex-shrink:0;box-shadow:0 1px 4px #60a5fa4d;border:none}.stock-card-badges{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.stock-card-metrics{display:flex;flex-direction:column;gap:8px}.stock-card-metric{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(31,41,55,.08);gap:12px}.stock-card-metric:last-child{border-bottom:none;padding-bottom:0}.stock-card-metric-appears{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-bottom:1px solid rgba(31,41,55,.08)}.stock-card-metric-label{font-size:.75rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.stock-card-metric-value{font-size:.9rem;font-weight:600;color:var(--text);text-align:right;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-card-metric-value.positive{color:#10b981}.stock-card-metric-value.negative{color:#ef4444}.stock-card-metric-value.neutral{color:#f59e0b}.stock-card-metric-appears .stock-card-metric-value{text-align:left}.stock-card-metric-appears:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.appear-inline{display:flex;align-items:center;gap:8px;justify-content:space-between}.appear-inline .sma-score{flex-shrink:0;font-size:.9rem;font-weight:700;padding:4px 8px;border-radius:6px;min-width:24px;text-align:center}.appear-inline .appear-tags{margin-top:0;flex:1;justify-content:flex-end}.appear-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.appear-badge{font-size:.65rem;padding:2px 6px;border-radius:8px;background:#60a5fa1a;color:var(--primary);border:1px solid rgba(96,165,250,.2);font-weight:600;text-transform:uppercase;letter-spacing:.025em}.universe-badge{font-size:.65rem;padding:2px 6px;border-radius:8px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:none;box-shadow:0 1px 2px #0000001a}.stock-card-rank,.universe-badge,.appear-badge{transition:all .15s ease}.stock-card:active .stock-card-rank,.stock-card:active .universe-badge,.stock-card:active .appear-badge{transform:scale(.95)}}.breakout-score-cell{text-align:left}.breakout-score{font-weight:600;padding:6px 10px;border-radius:8px;font-size:.85rem;display:inline-block;min-width:60px;text-align:center}.breakout-score.positive{background:#34d39926;color:var(--accent);border:1px solid rgba(52,211,153,.3)}.breakout-score.negative{background:#f8717126;color:var(--danger);border:1px solid rgba(248,113,113,.3)}.score-details-cell{text-align:left;overflow:hidden}.score-breakdown{display:flex;align-items:center;gap:6px;flex-wrap:wrap;overflow:hidden}.core-score{font-size:.75rem;padding:2px 6px;background:#3b82f61a;color:var(--primary);border-radius:4px;border:1px solid rgba(59,130,246,.2);font-weight:600}.bonus-score{font-size:.75rem;padding:2px 6px;background:#10b9811a;color:#10b981;border-radius:4px;border:1px solid rgba(16,185,129,.2);font-weight:600}.consolidation-badge,.pocket-pivot-badge{font-size:.8rem;background:#f59e0b1a;padding:2px 4px;border-radius:4px;border:1px solid rgba(245,158,11,.2);cursor:help}.score-breakdown-mobile{display:flex;flex-direction:column;gap:4px}.score-item{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.score-label{color:var(--muted);font-weight:500}.score-value{color:var(--text);font-weight:600}.score-badges{display:flex;gap:4px;margin-top:4px}@media (max-width: 768px){.score-breakdown-mobile .score-item{padding:4px 0;border-bottom:1px solid rgba(31,41,55,.05)}.score-breakdown-mobile .score-item:last-child{border-bottom:none;padding-bottom:0}.consolidation-badge,.pocket-pivot-badge{font-size:.75rem;padding:2px 4px}}.last-refreshed{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.875rem;color:var(--muted)}.last-refreshed-label{font-weight:500;color:var(--text-secondary)}.last-refreshed-time{font-weight:600;color:var(--text);background:#3b82f61a;padding:2px 8px;border-radius:4px;border:1px solid rgba(59,130,246,.2)}.bulk-add-modal{width:700px;max-height:90vh}.bulk-add-modal .form-section{margin-bottom:32px}.bulk-add-modal .form-section:last-child{margin-bottom:0}.bulk-add-modal .form-section h3{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.bulk-add-modal .count-selection{display:flex;flex-direction:column;gap:16px}.bulk-add-modal .quick-counts{display:flex;gap:12px;flex-wrap:wrap}.bulk-add-modal .count-btn{padding:12px 20px;border:2px solid var(--border);border-radius:12px;background:var(--background);color:var(--text);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.bulk-add-modal .count-btn:hover:not(:disabled){border-color:var(--accent);background:#6366f11a}.bulk-add-modal .count-btn.active{border-color:var(--accent);background:linear-gradient(135deg,#6366f11a,#8b5cf61a);color:var(--accent)}.bulk-add-modal .count-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-add-modal .count-btn.custom{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent}.bulk-add-modal .count-btn.custom:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.bulk-add-modal .custom-input-row{display:flex;align-items:center;gap:12px}.bulk-add-modal .custom-count-input{width:120px;padding:10px 14px;border:2px solid var(--border);border-radius:10px;background:var(--background);color:var(--text);font-size:1rem;font-weight:500;text-align:center}.bulk-add-modal .custom-count-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.bulk-add-modal .custom-hint{color:var(--muted);font-size:.875rem}.bulk-add-modal .destination-selection{display:flex;flex-direction:column;gap:16px}.bulk-add-modal .radio-option{display:flex;align-items:center;gap:12px;cursor:pointer}.bulk-add-modal .radio-option input[type=radio]{width:18px;height:18px;cursor:pointer}.bulk-add-modal .radio-label{font-size:1rem;font-weight:500;color:var(--text);cursor:pointer}.bulk-add-modal .new-watchlist-input,.bulk-add-modal .existing-watchlist-select{margin-left:30px;margin-top:8px}.bulk-add-modal .stock-preview{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--background)}.bulk-add-modal .preview-stock{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background-color .2s ease}.bulk-add-modal .preview-stock:last-child{border-bottom:none}.bulk-add-modal .preview-stock:hover{background:#6366f10d}.bulk-add-modal .preview-rank{font-size:.875rem;font-weight:600;color:var(--muted);width:32px;text-align:right}.bulk-add-modal .preview-symbol{font-size:.875rem;font-weight:600;color:var(--text);min-width:80px}.bulk-add-modal .preview-exchange{font-size:.75rem;font-weight:500;color:var(--muted);background:#6366f11a;padding:2px 6px;border-radius:4px;min-width:40px;text-align:center}.bulk-add-modal .preview-price{font-size:.875rem;font-weight:600;color:var(--accent);margin-left:auto}.add-to-watchlist-controls{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid rgba(99,102,241,.1);border-radius:12px;padding:20px;margin-bottom:20px}.controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.controls-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0}.controls-actions{display:flex;gap:12px}.bulk-add-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.bulk-add-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.bulk-add-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bulk-add-btn svg{width:16px;height:16px}.individual-add-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.individual-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.individual-add-btn svg{width:16px;height:16px}@media (max-width: 768px){.bulk-add-modal{width:100%;max-width:100%}.quick-counts{justify-content:center}.count-btn{flex:1;min-width:0}.custom-input-row{justify-content:center}.controls-header{flex-direction:column;gap:12px;align-items:stretch}.controls-actions{justify-content:center}.preview-stock{font-size:.875rem;padding:10px 12px}.preview-rank{width:24px}.preview-symbol{min-width:60px}}.holdings-container{padding:24px;height:100%;overflow-y:auto;margin:0 auto;max-width:1400px;width:100%;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.holdings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.holdings-title h1{font-size:2.25rem;font-weight:700;color:var(--text);margin:0 0 8px;background:linear-gradient(135deg,#60a5fa,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.holdings-title p{font-size:1.125rem;color:var(--muted);margin:0;opacity:.9}.holdings-refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 20px!important;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #3b82f64d;white-space:nowrap;position:relative}.holdings-refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.holdings-refresh-btn:active{transform:translateY(0)}.holdings-refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.refresh-icon{width:20px;height:20px}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateZ(0)}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);opacity:0;transition:opacity .3s ease}.summary-card:hover{transform:translateY(-3px) translateZ(0);box-shadow:0 12px 40px #00000026;border-color:#3b82f64d}.summary-card:hover:before{opacity:1}.summary-icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.summary-icon.investment{background:linear-gradient(135deg,#6366f126,#8b5cf626);border:1px solid rgba(99,102,241,.2)}.summary-icon.current{background:linear-gradient(135deg,#22c55e26,#3b82f626);border:1px solid rgba(34,197,94,.2)}.summary-icon.pnl.positive{background:linear-gradient(135deg,#22c55e26,#10b98126);border:1px solid rgba(34,197,94,.2)}.summary-icon.pnl.negative{background:linear-gradient(135deg,#ef444426,#f8717126);border:1px solid rgba(239,68,68,.2)}.summary-icon.stats{background:linear-gradient(135deg,#8b5cf626,#a855f726);border:1px solid rgba(139,92,246,.2)}.summary-content{flex:1}.summary-value{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:4px}.summary-percent{font-size:.875rem;font-weight:600}.summary-stats{display:flex;gap:8px;margin-top:4px}.stat-item{font-size:.75rem;padding:2px 6px;border-radius:6px;font-weight:500}.stat-item.positive{color:#22c55e;background:#22c55e1a}.holdings-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:16px}.controls-left,.controls-right{display:flex;align-items:center;gap:16px}.filter-group,.sort-group{display:flex;align-items:center;gap:8px}.filter-group label,.sort-group label{font-size:.875rem;color:var(--muted);font-weight:500}.filter-select,.sort-select{padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.875rem;min-width:160px;cursor:pointer;transition:all .2s ease}.filter-select:hover,.sort-select:hover{border-color:var(--primary)}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.sort-direction-btn{padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:36px}.sort-direction-btn:hover{border-color:var(--primary);background:#3b82f61a}.mobile-holdings-container{display:none}.holding-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);width:100%;overflow:hidden;box-sizing:border-box;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:rgba(96,165,250,.2);touch-action:manipulation;transform:translateZ(0)}.holding-card:active{transform:scale(.98) translateZ(0)}.holding-card:hover{transform:translateY(-2px) translateZ(0);box-shadow:var(--shadow-lg);border-color:#3b82f64d}.holding-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.holding-card-symbol{display:flex;flex-direction:column;gap:6px}.holding-card-name{font-size:1.125rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.holding-card-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;width:100%;overflow:hidden}.holding-card-pnl{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.holding-card-pnl-value{font-size:1.125rem;font-weight:700}.holding-card-pnl-percent{font-size:.875rem;font-weight:600;padding:2px 6px;border-radius:4px}.holding-card-pnl-percent.positive{color:#22c55e;background:#22c55e1a}.holding-card-pnl-percent.negative{color:#ef4444;background:#ef44441a}.holding-card-metrics{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-grid:last-child{grid-template-columns:1fr 1fr}.metric-item{display:flex;flex-direction:column;gap:3px;min-width:0}.metric-label{font-size:.7rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.metric-value{font-size:.85rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value-with-change{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.metric-value-with-change .metric-value{white-space:nowrap}.metric-change{font-size:.7rem;font-weight:600}.metric-change.positive{color:#22c55e}.metric-change.negative{color:#ef4444}.metric-grid-investment{margin-top:4px}.investment-stack-bar{display:flex;flex-direction:column;gap:6px}.stack-bar-labels{display:flex;justify-content:space-between;gap:8px}.stack-label{display:flex;flex-direction:column;gap:2px;flex:1}.stack-bar-container{width:100%}.stack-bar-track{display:flex;width:100%;height:8px;border-radius:4px;overflow:hidden}.stack-bar-invested{background:linear-gradient(90deg,#6b7280,#9ca3af);height:100%}.stack-bar-current{height:100%}.stack-bar-current.profit{background:linear-gradient(90deg,#22c55e,#10b981)}.stack-bar-current.loss{background:linear-gradient(90deg,#ef4444,#dc2626)}.holding-card-metric-row{display:flex;justify-content:space-between;gap:12px}.holding-card-metric-compact{display:flex;align-items:baseline;gap:6px;flex:1}.metric-label-compact{font-size:.75rem;color:var(--muted);font-weight:500;white-space:nowrap}.metric-value-compact{font-size:.85rem;font-weight:600;color:var(--text);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.holding-card-metric{display:flex;flex-direction:column;gap:4px}.holding-card-metric-label{font-size:.75rem;color:var(--muted);font-weight:500}.holding-card-metric-value{font-size:.9rem;font-weight:600;color:var(--text)}.holding-card-gtt{border-top:1px solid var(--border);padding-top:12px}.holding-card-gtt-levels{display:flex;justify-content:space-between;gap:12px}.holding-card-gtt-level{display:flex;flex-direction:column;gap:2px;flex:1}.holding-card-gtt-label{font-size:.75rem;color:var(--muted)}.holding-card-gtt-value{font-size:.875rem;font-weight:600}.holding-card-gtt-value.profit{color:#10b981}.holding-card-gtt-value.loss{color:#ef4444}.holdings-table-container{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg)}.holdings-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.holdings-table{width:100%;min-width:1200px;border-collapse:collapse}.holdings-table th{background:#1f2937f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 20px;text-align:left;font-weight:600;color:var(--muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.holdings-table th.sortable{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.holdings-table th.sortable:hover{background:#3b82f61a;color:var(--primary)}.holdings-table td{padding:16px 20px;border-bottom:1px solid rgba(31,41,55,.3);font-size:.875rem;vertical-align:middle}.holding-row{transition:background-color .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.holding-row:hover{background:#3b82f60d;transform:translate(2px) translateZ(0)}.stock-cell{min-width:160px}.no-rank{color:var(--muted);opacity:.6}.rank-container{display:flex;flex-direction:column;align-items:center;gap:4px}.stock-button{background:none;border:none;cursor:pointer;text-align:left;width:100%;padding:0;transition:all .2s ease}.stock-button:hover .stock-symbol{color:var(--primary)}.stock-info{display:flex;flex-direction:column;gap:6px}.stock-symbol{font-size:1rem;font-weight:600;color:var(--text);transition:color .2s ease}.stock-badges{display:flex;gap:6px;align-items:center}.exchange-badge{padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.exchange-badge.nse{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.exchange-badge.bse{background:#fb923c26;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.watch-badge{padding:2px 6px;background:linear-gradient(135deg,#f59e0b33,#fbbf2433);color:#fbbf24;border:1px solid rgba(245,158,11,.4);border-radius:6px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:2px}.qty-cell,.price-cell,.investment-cell,.current-value-cell{font-weight:500;color:var(--text);text-align:right;min-width:100px}.ltp-cell{color:#60a5fa!important;font-weight:700}.pnl-cell,.pnl-percent-cell{font-weight:600;text-align:right;min-width:100px}.pnl-percent-value{padding:4px 8px;border-radius:6px;font-size:.875rem}.pnl-percent-cell.positive .pnl-percent-value{background:#22c55e1a}.pnl-percent-cell.negative .pnl-percent-value{background:#ef44441a}.tags-cell{min-width:150px;max-width:200px}.tags-container{display:flex;flex-wrap:wrap;gap:4px}.tag-badge{padding:2px 6px;background:#8b5cf61a;color:#a78bfa;border:1px solid rgba(139,92,246,.2);border-radius:4px;font-size:.75rem;font-weight:500}.no-tags{color:var(--muted);font-style:italic}.gtt-cell{min-width:180px}.gtt-info{display:flex;flex-direction:column;gap:4px}.gtt-levels{display:flex;flex-direction:column;gap:2px}.gtt-level{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.gtt-label{font-size:.75rem;color:var(--muted);font-weight:500}.gtt-value{font-size:.875rem;font-weight:600;color:var(--text);display:flex;flex-direction:column;align-items:flex-end}.profit-target-value{color:#10b981!important;font-weight:700}.stop-loss-value{color:#ef4444!important;font-weight:700}.gtt-distance{font-size:.75rem;opacity:.85;font-weight:500;margin-top:2px;color:inherit}.gtt-level.profit-target .gtt-value{color:#10b981}.gtt-level.stop-loss .gtt-value{color:#ef4444}.gtt-status{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:.875rem;font-weight:500}.gtt-status.active{background:#22c55e1a;color:#22c55e}.gtt-status.none{background:#9ca3af1a;color:var(--muted)}.gtt-indicator{font-size:.75rem}.holdings-loading,.holdings-error,.holdings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid rgba(59,130,246,.1);border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.holdings-loading p,.holdings-error p,.holdings-empty p{font-size:1rem;color:var(--muted);margin:0}.holdings-error .error-icon,.holdings-empty .empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.holdings-error h3,.holdings-empty h3{font-size:1.5rem;color:var(--text);margin:0 0 12px}.retry-btn{margin-top:20px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-btn:hover{transform:translateY(-1px);box-shadow:0 8px 25px #3b82f64d}.holdings-footer{margin-top:24px;padding:16px 0;text-align:center}.results-info{font-size:.875rem;color:var(--muted)}.holdings-refresh-btn,.filter-select,.sort-select,.sort-direction-btn{-webkit-tap-highlight-color:rgba(59,130,246,.2);touch-action:manipulation}.holdings-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.sort-controls{display:flex;align-items:center;gap:8px}@media (min-width: 769px){.holdings-container{overflow-y:visible;height:auto}.holdings-table-wrapper{overflow-x:visible}.holdings-table{width:100%;min-width:auto;table-layout:fixed}.holdings-table th:nth-child(1){width:16%}.holdings-table th:nth-child(2){width:8%}.holdings-table th:nth-child(3){width:7%}.holdings-table th:nth-child(4){width:8%}.holdings-table th:nth-child(5){width:8%}.holdings-table th:nth-child(6){width:9%}.holdings-table th:nth-child(7){width:9%}.holdings-table th:nth-child(8){width:7%}.holdings-table th:nth-child(9){width:7%}.holdings-table th:nth-child(10){width:7%}.holdings-table th:nth-child(11){width:7%}.holdings-table th:nth-child(12){width:11%}.holdings-table td:nth-child(1){width:16%}.holdings-table td:nth-child(2){width:8%}.holdings-table td:nth-child(3){width:7%}.holdings-table td:nth-child(4){width:8%}.holdings-table td:nth-child(5){width:8%}.holdings-table td:nth-child(6){width:9%}.holdings-table td:nth-child(7){width:9%}.holdings-table td:nth-child(8){width:7%}.holdings-table td:nth-child(9){width:7%}.holdings-table td:nth-child(10){width:7%}.holdings-table td:nth-child(11){width:7%}.holdings-table td:nth-child(12){width:11%}.holdings-table th{font-size:.75rem;padding:12px 16px}.holdings-controls{padding:14px 20px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:row;align-items:center;gap:20px}.controls-labels{display:none}.controls-inputs{display:flex;width:100%;gap:20px}.filter-group,.sort-group{display:flex;align-items:center;gap:8px;width:48%}.filter-group:before{content:"FILTER:";font-size:.8rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;opacity:.9;white-space:nowrap;flex-shrink:0}.sort-group:before{content:"SORT BY:";font-size:.8rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;opacity:.9;white-space:nowrap;flex-shrink:0}.filter-select{flex:1;padding:8px 32px 8px 12px;font-size:.85rem;font-weight:500;background:var(--panel);border:1.5px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.sort-select{flex:1;padding:8px 32px 8px 12px;font-size:.85rem;font-weight:500;background:var(--panel);border:1.5px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.filter-select option,.sort-select option{background:var(--panel);color:var(--text);padding:8px 12px}.filter-select:hover,.sort-select:hover{border-color:var(--primary);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #3b82f626}.sort-direction-btn{padding:8px 12px;font-size:.85rem;font-weight:600;min-width:40px;min-height:36px;background:var(--panel);border:1.5px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center}.sort-direction-btn:hover{border-color:var(--primary);background:linear-gradient(135deg,#3b82f61a,#8b5cf60d);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.sort-direction-btn:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.sort-controls{display:flex;align-items:center;gap:8px;flex:1}.sort-select{flex:1}.sort-direction-btn{flex-shrink:0}.stock-cell{word-wrap:break-word;overflow-wrap:break-word}.stock-symbol{font-size:.9rem;line-height:1.3}.stock-badges{flex-wrap:wrap}.holdings-table td{padding:12px 8px;font-size:.8rem}.price-cell,.investment-cell,.current-value-cell,.pnl-cell,.pnl-percent-cell,.day-percent-cell,.day-pnl-cell{text-align:right;padding-right:12px}.stw-rank-cell,.qty-cell{text-align:center;padding:12px 8px}.holdings-table th:nth-child(2),.holdings-table th:nth-child(3){text-align:center}.gtt-cell{text-align:left;padding-left:12px}}@media (max-width: 768px){.portfolio-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.portfolio-summary .summary-card{padding:12px!important}.portfolio-summary .summary-icon{width:40px!important;height:40px!important;font-size:1.2rem!important;margin-bottom:8px!important}.portfolio-summary .summary-label{font-size:.7rem!important;margin-bottom:4px!important}.portfolio-summary .summary-value{font-size:.9rem!important;font-weight:600!important;margin-bottom:2px!important}.portfolio-summary .summary-percent{font-size:.75rem!important}.holdings-controls{display:flex!important;flex-direction:column!important;gap:8px!important;padding:12px!important;margin-bottom:16px!important}.controls-labels{display:flex!important;justify-content:space-between!important;width:100%!important}.controls-left{width:50%!important;display:flex!important}.controls-right{width:50%!important;display:flex!important;justify-content:flex-start!important}.filter-group label,.sort-group label{font-size:.75rem!important;color:var(--muted)!important;font-weight:500!important;margin:0!important}.controls-inputs{display:flex!important;gap:12px!important;width:100%!important}.filter-group,.sort-group{width:50%!important;display:flex!important;flex-direction:column!important;gap:4px!important}.filter-select{width:100%!important;font-size:.75rem!important;padding:8px!important}.sort-controls{display:flex!important;gap:6px!important;width:100%!important;overflow:visible!important;align-items:center!important;justify-content:flex-start!important}.sort-select{flex:0 1 auto!important;max-width:70%!important;font-size:.75rem!important;padding:8px!important;min-width:0!important}.sort-direction-btn{width:32px!important;height:32px!important;padding:0!important;font-size:16px!important;font-weight:700!important;line-height:1!important;flex:0 0 32px!important;background:var(--bg)!important;border:1px solid var(--border)!important;border-radius:6px!important;color:var(--text)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;min-width:32px!important;min-height:32px!important;overflow:visible!important}.sort-direction-btn:hover{background:#3b82f61a!important;border-color:var(--primary)!important}.sort-direction-btn:active{transform:scale(.95)!important}.holdings-container{padding:16px;width:100%;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.holdings-container::-webkit-scrollbar{width:4px}.holdings-container::-webkit-scrollbar-thumb{background-color:transparent;border-radius:2px}.holdings-container:hover,.holdings-container:active{scrollbar-color:rgba(155,155,155,.5) transparent}.holdings-container:hover::-webkit-scrollbar-thumb,.holdings-container:active::-webkit-scrollbar-thumb{background-color:#9b9b9b80}.holdings-header{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0!important;margin-bottom:12px!important;flex-wrap:wrap}.holdings-title{flex:1;overflow:hidden;min-width:0;display:contents}.holdings-title h1{font-size:1.5rem;line-height:1.2;margin:0;word-wrap:break-word;flex:0 0 auto}.holdings-title p{font-size:.8rem;line-height:1.4;margin:8px 0 0;flex-basis:100%;order:3}.holdings-refresh-btn{padding:6px 10px!important;font-size:.7rem!important;min-height:32px;flex-shrink:0;gap:4px!important;order:2}.holdings-refresh-btn .refresh-icon{width:14px;height:14px}.portfolio-summary{grid-template-columns:1fr;gap:12px;width:100%;max-width:100%;overflow:hidden}.summary-card{padding:16px;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.summary-content{overflow:hidden}.summary-value{font-size:1rem;word-wrap:break-word}.holdings-controls{flex-direction:column;gap:12px;align-items:stretch;padding:14px;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.controls-left,.controls-right{flex-direction:column;gap:10px;width:100%}.filter-group,.sort-group{display:flex;flex-direction:column;gap:6px;width:100%}.filter-group label,.sort-group label{font-size:.8rem}.filter-select,.sort-select,.sort-direction-btn{width:100%;min-height:44px;font-size:.875rem;overflow:hidden;text-overflow:ellipsis}.holdings-table-container{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.holdings-table-wrapper{min-width:800px}.mobile-holdings-container{display:none;width:100%;max-height:60vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}@media (max-width: 640px){.holdings-table-container{display:none!important}.mobile-holdings-container{display:block!important}}.holding-card{padding:12px;margin-bottom:10px;border-radius:12px}.holding-card-header{margin-bottom:10px}.holding-card-name{font-size:.95rem}.holding-card-pnl-value{font-size:.95rem;word-wrap:break-word}.holding-card-pnl-percent{font-size:.8rem}.holding-card-metrics{gap:8px;margin-bottom:10px}.metric-grid{gap:8px}.metric-item{gap:2px}.metric-label{font-size:.65rem}.metric-value{font-size:.8rem}.metric-change{font-size:.65rem}.holding-card-metric-value{font-size:.8rem;word-wrap:break-word}.holding-card-gtt{padding-top:10px}.holding-card-gtt-value{font-size:.75rem}.holdings-loading,.holdings-error,.holdings-empty{padding:40px 12px;width:100%;overflow:hidden}.loading-spinner{width:36px;height:36px}.holdings-footer{margin-top:16px;padding:10px 0;width:100%}.results-info{font-size:.8rem;text-align:center}.holdings-container *{max-width:100%;box-sizing:border-box}}.ltp-container{display:flex;flex-direction:column;align-items:flex-start}.ltp-price{font-weight:600}.ltp-day-change{font-size:.75rem;font-weight:500;margin-top:2px}.ltp-day-change.positive{color:#10b981}.ltp-day-change.negative{color:#ef4444}.summary-stats{display:flex;flex-direction:column;gap:4px;margin-top:4px}.summary-day-change{font-size:.75rem;font-weight:500}.summary-day-change.positive{color:#10b981}.summary-day-change.negative{color:#ef4444}.metric-day-change{font-size:.7rem;font-weight:500;margin-top:2px}.metric-day-change.positive{color:#10b981}.metric-day-change.negative{color:#ef4444}.summary-icon.day-pnl.positive{background:linear-gradient(135deg,#22c55e26,#10b98126);border:1px solid rgba(34,197,94,.2)}.summary-icon.day-pnl.negative{background:linear-gradient(135deg,#ef444426,#f8717126);border:1px solid rgba(239,68,68,.2)}.stat-item{font-size:.75rem;color:var(--muted);font-weight:500}.summary-day-amount{font-size:.75rem;font-weight:500;margin-top:4px}.summary-day-amount.positive{color:#10b981}.summary-day-amount.negative{color:#ef4444}.current-value-container{display:flex;flex-direction:column;align-items:flex-start}.current-value-amount{font-weight:600}.day-change-amount{font-size:.75rem;font-weight:500;margin-top:2px}.day-change-amount.positive{color:#10b981}.day-change-amount.negative{color:#ef4444}.metric-day-change-amount{font-size:.7rem;font-weight:500;margin-top:2px}.metric-day-change-amount.positive{color:#10b981}.metric-day-change-amount.negative{color:#ef4444}.day-percent-cell,.day-pnl-cell{text-align:right;font-weight:600;padding:12px 16px}.day-percent-cell.positive,.day-pnl-cell.positive{color:#10b981}.metric-day-change-inline,.metric-day-pnl-inline{margin-left:8px;font-size:.75rem;font-weight:500}.metric-day-change-inline.positive,.metric-day-pnl-inline.positive{color:#10b981}.metric-day-change-inline.negative,.metric-day-pnl-inline.negative{color:#ef4444}.gtt-progress-container{width:100%;padding:4px 0}.gtt-progress-bar{display:flex;flex-direction:column;gap:4px}.gtt-progress-track{position:relative;width:100%;height:8px;background:linear-gradient(90deg,#ef444433,#fbbf2433,#22c55e33);border-radius:4px;overflow:visible}.gtt-progress-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 2px 6px #0000004d;transition:left .3s ease,background-color .3s ease;z-index:2}.gtt-progress-labels{display:flex;justify-content:space-between;align-items:center}.gtt-progress-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.gtt-progress-label.tp{align-items:flex-end}.gtt-progress-label.sl{color:#ef4444}.gtt-progress-label.tp{color:#22c55e}.gtt-label-price{font-size:.65rem;font-weight:500;text-transform:none;letter-spacing:normal;opacity:.85}@media (max-width: 768px){.gtt-progress-track{height:10px}.gtt-progress-indicator{width:14px;height:14px}.gtt-progress-label{font-size:.65rem}.gtt-label-price{font-size:.6rem}}.watchlists-container{padding:24px;height:auto;overflow-y:visible;margin:0 auto;max-width:1400px;width:100%;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.watchlists-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.watchlists-title h1{font-size:2.25rem;font-weight:700;color:var(--text);margin:0 0 8px;background:linear-gradient(135deg,#60a5fa,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.watchlists-title p{font-size:1.125rem;color:var(--muted);margin:0;opacity:.9}.watchlists-actions{display:flex;gap:12px;align-items:center}.watchlists-create-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.watchlists-create-btn:hover:not(:disabled){background:var(--panel);border-color:var(--primary);color:var(--primary)}.watchlists-create-btn:active{transform:scale(.98)}.watchlists-create-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.watchlists-refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 20px!important;color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;position:relative;background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 4px 14px #3b82f64d}.watchlists-refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.watchlists-refresh-btn:active{transform:translateY(0)}.watchlists-refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.create-icon,.refresh-icon{width:20px;height:20px}.watchlist-selector-section{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:32px}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.selector-header label{font-size:1.125rem;font-weight:600;color:var(--text)}.add-stock-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-stock-btn:hover:not(:disabled){background:var(--panel);border-color:var(--primary);color:var(--primary)}.add-stock-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.add-stock-btn svg{width:16px;height:16px}.watchlist-actions{display:flex;align-items:center;gap:12px}.delete-watchlist-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-watchlist-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef4444;color:#ef4444}.delete-watchlist-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.delete-watchlist-btn svg{width:16px;height:16px}.bulk-delete-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.bulk-delete-btn:hover:not(:disabled){background:#f973161a;border-color:#f97316;color:#f97316}.bulk-delete-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.bulk-delete-btn svg{width:16px;height:16px}.watchlist-select{width:100%;padding:12px 40px 12px 16px;border:2px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);font-size:1rem;font-weight:500;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer;box-shadow:0 2px 4px #0000001a}.watchlist-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.desktop-selector-layout{display:none}.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.summary-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateZ(0)}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#60a5fa,#8b5cf6);transform:scaleX(0);transition:transform .3s ease}.summary-card:hover:before{transform:scaleX(1)}.summary-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;background:#6366f11a;color:var(--accent);transition:all .3s ease}.summary-icon.investment{background:#10b9811a;color:#10b981}.summary-icon.current{background:#3b82f61a;color:#3b82f6}.summary-icon.pnl.positive{background:#22c55e1a;color:#22c55e}.summary-icon.pnl.negative{background:#ef44441a;color:#ef4444}.summary-icon.day-pnl.positive{background:#22c55e1a;color:#22c55e}.summary-icon.day-pnl.negative{background:#ef44441a;color:#ef4444}.summary-content{flex:1;min-width:0}.summary-label{font-size:.875rem;color:var(--muted);margin-bottom:4px;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1.2}.summary-value.positive{color:#22c55e}.summary-value.negative{color:#ef4444}.summary-percent{font-size:.875rem;font-weight:600;margin-top:2px}.summary-percent.positive{color:#22c55e}.summary-percent.negative{color:#ef4444}.watchlists-controls{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:24px}.watchlists-controls-labels{display:flex;justify-content:space-between;margin-bottom:12px}.watchlists-controls-labels label{font-size:.875rem;font-weight:600;color:var(--text)}.watchlists-controls-inputs{display:flex;justify-content:space-between;gap:20px}.watchlists-filter-group,.watchlists-sort-group{flex:1}.watchlists-sort-controls{display:flex;gap:8px}.watchlists-filter-select,.watchlists-sort-select{padding:10px 32px 10px 14px;border:2px solid var(--border);border-radius:10px;background:var(--background);color:var(--text);font-size:.875rem;font-weight:500;transition:all .2s ease;min-width:150px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;cursor:pointer}.sort-select{flex:1}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.watchlists-sort-direction-btn{padding:10px 12px;background:var(--background);border:2px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:600}.watchlists-sort-direction-btn:hover{border-color:var(--accent);background:#6366f11a}.watchlists-table-container{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:24px}.watchlists-table-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.watchlists-table{width:100%;border-collapse:collapse;background:var(--panel)}.watchlists-table thead th{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);padding:16px 12px;text-align:left;font-weight:600;font-size:.875rem;color:var(--text);border-bottom:2px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:10}.watchlists-table th.sortable{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.watchlists-table th.sortable:hover{background:linear-gradient(135deg,#6366f126,#8b5cf626)}.watchlists-table tbody tr{border-bottom:1px solid var(--border);transition:all .2s ease}.watchlists-table tbody tr:hover{background:#6366f10d}.watchlists-table td{padding:16px 12px;font-size:.875rem;color:var(--text);white-space:nowrap;vertical-align:middle}.stock-cell{min-width:140px}.stock-button{background:none;border:none;text-align:left;cursor:pointer;padding:0;width:100%}.stock-button:focus{outline:none}.stock-button:focus-visible{outline:none}.stock-info{display:flex;flex-direction:column;gap:4px}.stock-symbol{font-weight:600;font-size:.875rem;color:var(--text);transition:color .2s ease}.stock-button:hover .stock-symbol{color:var(--accent)}.stock-badges{display:flex;gap:6px}.exchange-badge{padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500;background:#6366f11a;color:var(--accent)}.exchange-badge.nse{background:#22c55e1a;color:#22c55e}.exchange-badge.bse{background:#ef44441a;color:#ef4444}.date-cell{color:var(--muted);font-size:.8125rem}.price-cell{font-weight:600;text-align:right}.ltp-cell{color:var(--accent)}.investment-cell,.current-value-cell{font-weight:600;text-align:right}.pnl-cell,.pnl-percent-cell{font-weight:700;text-align:right}.pnl-cell.positive,.pnl-percent-cell.positive{color:#22c55e}.pnl-cell.negative,.pnl-percent-cell.negative{color:#ef4444}.day-percent-cell,.day-pnl-cell{font-weight:600;text-align:right}.day-percent-cell.positive,.day-pnl-cell.positive{color:#22c55e}.day-percent-cell.negative,.day-pnl-cell.negative{color:#ef4444}.mobile-watchlists-container{display:none}.mobile-watchlists-grid{display:grid;gap:16px;grid-template-columns:1fr}.watchlist-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;margin-bottom:12px;transform:translateZ(0)}.watchlist-card:active{transform:scale(.98) translateZ(0)}.watchlist-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#60a5fa,#8b5cf6);transform:scaleX(0);transition:transform .2s ease}.watchlist-card:hover:before{transform:scaleX(1)}.watchlist-card:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 4px 12px #00000014;border-color:#6366f14d}.watchlist-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.watchlist-card-name{font-size:1rem;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.watchlist-card-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.added-date-badge{padding:2px 6px;background:#6366f11a;color:var(--muted);border-radius:4px;font-size:.7rem;font-weight:500}.watchlist-card-pnl{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.watchlist-card-pnl-value{font-size:1rem;font-weight:700;line-height:1.2}.watchlist-card-pnl-value.positive{color:#22c55e}.watchlist-card-pnl-value.negative{color:#ef4444}.watchlist-card-pnl-percent{font-size:.8rem;font-weight:600;padding:2px 6px;border-radius:4px}.watchlist-card-pnl-percent.positive{color:#22c55e;background:#22c55e1a}.watchlist-card-pnl-percent.negative{color:#ef4444;background:#ef44441a}.watchlist-card-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.watchlist-card-metric{text-align:left;display:flex;flex-direction:column;gap:2px}.watchlist-card-metric-label{font-size:.7rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.watchlist-card-metric-value{font-size:.85rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:4px}.watchlist-card-metric-value.positive{color:#22c55e}.watchlist-card-metric-value.negative{color:#ef4444}.metric-day-change-inline{display:block;font-size:.75rem;margin-top:2px}.metric-day-change-inline.positive{color:#22c55e}.metric-day-change-inline.negative{color:#ef4444}.watchlists-empty,.watchlists-loading,.watchlists-error{text-align:center;padding:80px 20px;background:var(--panel);border:1px solid var(--border);border-radius:16px;margin-bottom:24px}.empty-icon,.error-icon{font-size:4rem;margin-bottom:16px}.watchlists-empty h3,.watchlists-error h3{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 8px}.watchlists-empty p,.watchlists-error p{font-size:1rem;color:var(--muted);margin:0 0 24px}.add-stock-btn-large{padding:12px 24px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-stock-btn-large:hover{background:var(--panel);border-color:var(--primary);color:var(--primary)}.retry-btn{padding:12px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f14d}.loading-spinner{width:40px;height:40px;border:4px solid var(--border);border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.watchlists-footer{text-align:center;padding:16px;color:var(--muted);font-size:.875rem}.delete-confirmation{display:flex;gap:20px;align-items:flex-start;padding:20px 0}.warning-icon{flex-shrink:0;width:48px;height:48px;background:#ef44441a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ef4444}.warning-icon svg{width:24px;height:24px}.stocks-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;padding:12px;background:#6366f10d;border-radius:8px;border:1px solid rgba(99,102,241,.1)}.stock-chip{background:#6366f11a;color:var(--text);padding:4px 8px;border-radius:6px;font-size:.875rem;font-weight:500;white-space:nowrap}.confirmation-content h3{margin:0 0 12px;font-size:1.125rem;font-weight:600}.warning-text{color:#ef4444;font-weight:500;margin-top:12px;margin-bottom:0}.confirmation-text h3{margin:0 0 12px;color:var(--text);font-size:1.125rem;font-weight:600}.confirmation-text p{margin:0;color:var(--muted);line-height:1.6}.confirmation-text strong{color:var(--text);font-weight:600}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media (min-width: 769px){.watchlists-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.watchlists-table{width:100%;min-width:1200px}.watchlist-selector-section{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:32px}.selector-header,.watchlist-select-row{display:none}.desktop-selector-layout{display:flex;gap:12px;align-items:center;width:100%}.desktop-selector-layout .selector-label{flex:0 0 auto;font-size:1.125rem;font-weight:600;color:var(--text);white-space:nowrap;margin-right:8px}.desktop-selector-layout .watchlist-select{flex:1;display:block;padding:12px 40px 12px 16px;border:2px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);font-size:1rem;font-weight:500;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer;box-shadow:0 2px 4px #0000001a;min-height:48px}.desktop-selector-layout .watchlist-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.desktop-selector-layout .delete-watchlist-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:12px 16px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:48px;white-space:nowrap}.desktop-selector-layout .delete-watchlist-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef4444;color:#ef4444}.desktop-selector-layout .add-stock-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:12px 16px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:48px;white-space:nowrap}.desktop-selector-layout .add-stock-btn:hover:not(:disabled){background:var(--panel);border-color:var(--primary);color:var(--primary)}.desktop-selector-layout .add-stock-btn svg,.desktop-selector-layout .delete-watchlist-btn svg{width:16px;height:16px;margin-right:6px}.watchlists-controls{padding:14px 20px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:row;align-items:center;gap:20px}.watchlists-controls-labels{display:none}.watchlists-controls-inputs{display:flex;width:100%;gap:20px}.watchlists-filter-group,.watchlists-sort-group{display:flex;align-items:center;gap:8px;width:48%}.watchlists-filter-group:before{content:"FILTER:";font-size:.8rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;opacity:.9;white-space:nowrap;flex-shrink:0}.watchlists-sort-group:before{content:"SORT BY:";font-size:.8rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;opacity:.9;white-space:nowrap;flex-shrink:0}.watchlists-filter-select{flex:1;padding:8px 32px 8px 12px;font-size:.85rem;font-weight:500;background:var(--panel);border:1.5px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.watchlists-sort-select{flex:1;padding:8px 32px 8px 12px;font-size:.85rem;font-weight:500;background:var(--panel);border:1.5px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.watchlists-filter-select option,.watchlists-sort-select option{background:var(--panel);color:var(--text);padding:8px 12px}.watchlists-filter-select:hover,.watchlists-sort-select:hover{border-color:var(--primary);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.watchlists-filter-select:focus,.watchlists-sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #3b82f626}.watchlists-sort-direction-btn{padding:8px 12px;font-size:.85rem;font-weight:600;min-width:40px;min-height:36px;background:var(--panel);border:1.5px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center}.watchlists-sort-direction-btn:hover{border-color:var(--primary);background:linear-gradient(135deg,#3b82f61a,#8b5cf60d);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.watchlists-sort-direction-btn:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f633}.watchlists-sort-controls{display:flex;align-items:center;gap:8px;flex:1}.watchlists-sort-select{flex:1}.watchlists-sort-direction-btn{flex-shrink:0}}.floating-add-btn{position:fixed;bottom:100px;right:20px;width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:50%;box-shadow:0 8px 24px #3b82f666;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),bottom .3s cubic-bezier(.16,1,.3,1);z-index:100;display:none;align-items:center;justify-content:center;transform:translateZ(0);animation:bounceIn .5s cubic-bezier(.16,1,.3,1)}@media (max-width: 768px){.floating-add-btn.with-auto-refresh{bottom:170px}}@media (max-width: 480px){.floating-add-btn.with-auto-refresh{bottom:160px}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateZ(0)}50%{transform:scale(1.05) translateZ(0)}70%{transform:scale(.9) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}.floating-add-btn:hover{transform:scale(1.1) translateZ(0);box-shadow:0 12px 32px #3b82f680}.floating-add-btn:active{transform:scale(.95) translateZ(0)}.floating-add-btn svg{width:24px;height:24px}@media (max-width: 768px){.watchlists-table-wrapper{min-width:800px;overflow-x:auto;-webkit-overflow-scrolling:touch}.watchlists-container{padding:16px 16px 100px}.floating-add-btn{display:flex}.watchlists-header{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:20px;gap:8px;flex-wrap:wrap}.watchlists-title{flex:1;min-width:0;display:contents}.watchlists-title h1{font-size:1.5rem;text-align:left;margin:0;line-height:1.3;flex:0 0 auto}.watchlists-title p{font-size:.875rem;text-align:left;margin:8px 0 0;line-height:1.4;flex-basis:100%;order:3}.watchlists-actions{display:flex;gap:8px;align-items:flex-start;flex-shrink:0;order:2}.watchlists-create-btn,.watchlists-refresh-btn{padding:8px 12px!important;font-size:.75rem!important;min-height:36px;white-space:nowrap}.create-icon,.refresh-icon{width:16px!important;height:16px!important}.portfolio-summary{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.summary-card{padding:16px}.summary-icon{width:44px;height:44px;font-size:1.25rem}.summary-value{font-size:1.25rem}.watchlists-controls{padding:16px}.watchlists-controls-labels{display:flex;justify-content:space-between;margin-bottom:8px}.watchlists-controls-labels .watchlists-controls-left,.watchlists-controls-labels .watchlists-controls-right{flex:1;display:flex;justify-content:center}.watchlists-controls-labels label{font-size:.8rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;text-align:center}.watchlists-controls-inputs{display:flex;gap:16px;align-items:flex-start}.watchlists-filter-group,.watchlists-sort-group{flex:1;min-width:0}.watchlists-filter-select,.watchlists-sort-select{width:100%;padding:10px 12px;font-size:.8rem;min-height:42px;box-sizing:border-box}.watchlists-sort-controls{display:flex;gap:8px;align-items:center}.watchlists-sort-select{flex:1;min-width:0}.watchlists-sort-direction-btn{width:42px;height:42px;flex-shrink:0;font-size:18px;padding:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.watchlist-selector-section{margin-bottom:20px}.selector-header{flex-direction:column;gap:8px;align-items:stretch}.selector-header label{font-size:.8rem;margin-bottom:4px}.selector-header .add-stock-btn{display:none}.selector-header .watchlist-actions{display:flex;gap:8px;margin-top:8px}.selector-header .delete-watchlist-btn{padding:6px 12px;font-size:.75rem}.watchlist-select-row{display:flex;gap:8px;align-items:center}.watchlist-select-row select{flex:1}.watchlist-select-row .delete-watchlist-btn{flex-shrink:0;white-space:nowrap}.watchlists-table-container{display:none}.mobile-watchlists-container{display:block}}@media (max-width: 480px){.portfolio-summary{grid-template-columns:1fr}.watchlist-card-metrics{grid-template-columns:repeat(2,1fr);gap:12px 8px}.watchlist-card-metric-label{font-size:.65rem}.watchlist-card-metric-value{font-size:.8rem}.floating-add-btn{width:50px;height:50px;bottom:90px;right:16px}.floating-add-btn.with-auto-refresh{bottom:155px}.floating-add-btn svg{width:20px;height:20px}.watchlists-create-btn,.watchlists-refresh-btn{padding:8px 16px!important;font-size:.8125rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.add-stock-modal{width:600px;height:80vh;max-height:700px;display:flex;flex-direction:column}.add-stock-modal .modal-body{flex:1;overflow-y:auto;min-height:400px;display:flex;flex-direction:column}.create-watchlist-modal{width:480px;height:80vh;max-height:700px;display:flex;flex-direction:column}.create-watchlist-modal .modal-body{flex:1;overflow-y:auto;min-height:400px}.delete-watchlist-modal{width:520px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#6366f10d,#8b5cf60d)}.modal-header h2{font-size:1.5rem;font-weight:600;color:var(--text);margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:var(--muted);transition:all .2s ease}.modal-close:hover{color:var(--text);background:#6366f11a}.modal-close svg{width:20px;height:20px}.modal-body{flex:1;overflow-y:auto;padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--border);background:#6366f105}.form-group{margin-bottom:20px}.form-group.flex-1{flex:1}.form-row{display:flex;gap:16px;align-items:end}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:8px}.form-input,.form-select{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:12px;background:var(--background);color:var(--text);font-size:1rem;font-weight:500;transition:all .2s ease}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5e7eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;cursor:pointer;background-color:var(--panel);box-shadow:0 2px 4px #0000001a}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.form-input.error{border-color:#ef4444}.form-input:disabled,.form-select:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#ef4444;font-size:.875rem;margin-top:6px;display:flex;align-items:center;gap:6px}.form-help{color:var(--muted);font-size:.8125rem;margin-top:6px}.watchlist-info{padding:12px 16px;background:#6366f11a;border:2px solid rgba(99,102,241,.2);border-radius:12px}.watchlist-name{font-weight:600;color:var(--accent)}.equal-weight-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.equal-weight-toggle:hover{border-color:var(--accent);background:#6366f10d}.equal-weight-toggle.active{border-color:var(--accent);background:var(--accent);color:#fff}.equal-weight-toggle.mobile{padding:6px 12px;font-size:.75rem;font-weight:600;gap:0}.equal-weight-toggle.desktop{min-height:48px}.equal-weight-toggle.desktop svg{width:16px;height:16px}.mobile-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mobile-label{font-size:.85rem!important;font-weight:600;color:var(--text);margin:0!important;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-dropdown-row{width:100%}.watchlist-select.mobile{width:100%;font-size:.875rem}.delete-watchlist-btn.mobile{padding:6px 8px;min-width:40px;height:32px}.delete-watchlist-btn.mobile svg{width:16px;height:16px}.type-options{display:flex;gap:16px;margin-top:8px}.type-option{display:flex;align-items:center;gap:8px;cursor:pointer}.type-option input[type=radio]{width:16px;height:16px;accent-color:var(--accent)}.type-option label{font-size:.875rem!important;font-weight:500!important;margin:0!important;cursor:pointer;color:var(--text)}.method-options,.count-options{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.method-btn,.count-btn{padding:8px 16px;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.method-btn:hover,.count-btn:hover{border-color:var(--accent);background:#6366f10d}.method-btn.active,.count-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.method-btn:disabled,.count-btn:disabled{opacity:.6;cursor:not-allowed}.custom-count-input{margin-top:12px;max-width:200px}.stocks-preview{margin-top:20px;padding:16px;background:#6366f10d;border:1px solid rgba(99,102,241,.1);border-radius:12px}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-label{font-size:.875rem;font-weight:600;color:var(--text)}.preview-spinner{width:16px;height:16px;border:2px solid var(--border);border-top:2px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}.preview-stocks{display:flex;flex-direction:column;gap:8px}.preview-stock{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:.875rem}.stock-rank{font-weight:600;color:var(--accent);min-width:24px}.stock-symbol{font-weight:600;color:var(--text);min-width:80px}.stock-exchange{font-size:.75rem;color:var(--muted);background:#6366f11a;padding:2px 6px;border-radius:4px;min-width:40px;text-align:center}.stock-price{font-weight:500;color:#22c55e;margin-left:auto}.preview-more{text-align:center;padding:8px;font-size:.875rem;color:var(--muted);background:var(--background);border:1px dashed var(--border);border-radius:8px}.preview-empty{text-align:center;padding:20px;color:var(--muted);font-size:.875rem}.search-results{margin-top:24px;flex:1;display:flex;flex-direction:column;min-height:300px;overflow:hidden}.search-loading{text-align:center;padding:40px 20px}.search-loading .loading-spinner{width:32px;height:32px;margin:0 auto 16px}.search-empty{text-align:center;padding:40px 20px;color:var(--muted)}.search-empty .empty-icon{font-size:3rem;margin-bottom:16px}.search-empty p{margin:0}.search-empty .empty-hint{font-size:.875rem;margin-top:8px}.search-hint{color:var(--muted);font-size:.875rem;margin-top:8px;padding:8px 12px;background:#6366f10d;border-radius:8px}.results-list{border:1px solid var(--border);border-radius:12px;overflow:hidden;flex:1;display:flex;flex-direction:column}.results-header{padding:16px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-bottom:1px solid var(--border);flex-shrink:0}.results-header h3{font-size:1rem;font-weight:600;color:var(--text);margin:0}.results-items{flex:1;overflow-y:auto;scrollbar-width:thin;min-height:200px}.results-items::-webkit-scrollbar{width:6px}.results-items::-webkit-scrollbar-track{background:var(--panel);border-radius:3px}.results-items::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:3px}.results-items::-webkit-scrollbar-thumb:hover{background:#6366f180}.result-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border);transition:background-color .2s ease}.result-item:last-child{border-bottom:none}.result-item:hover{background:#6366f10d}.result-info{flex:1}.result-symbol{display:flex;align-items:center;gap:8px;margin-bottom:4px}.symbol-name{font-weight:600;color:var(--text)}.result-price{display:flex;flex-direction:column;gap:2px}.current-price{font-weight:600;color:var(--accent);font-size:.875rem}.last-updated{color:var(--muted);font-size:.75rem}.result-details{flex:1;display:flex;flex-direction:column;gap:4px}.company-name{font-size:.875rem;color:var(--muted);line-height:1.2}.result-meta{display:flex;gap:12px;font-size:.75rem}.record-count{color:#22c55e;font-weight:500;background:#22c55e1a;padding:2px 6px;border-radius:4px}.last-date{color:var(--muted)}.actions-cell{width:60px;text-align:center;padding:8px}.delete-stock-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .2s ease}.delete-stock-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.delete-stock-btn svg{width:18px;height:18px}.delete-stock-btn-mobile{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;transition:all .2s ease;margin-left:8px}.delete-stock-btn-mobile:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.delete-stock-btn-mobile svg{width:16px;height:16px}.select-cell{width:40px;text-align:center}.select-checkbox{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:var(--panel);cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}.select-checkbox:checked{background:var(--accent);border-color:var(--accent)}.select-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.select-checkbox:hover{border-color:var(--accent)}.stw-rank-cell{text-align:center;padding:16px 12px;min-width:80px}.rank-container{display:flex;flex-direction:column;gap:4px;align-items:center}.stw-rank-value{font-weight:600;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);padding:4px 8px;border-radius:6px;font-size:.875rem}.no-rank{color:var(--muted);font-style:italic}.breakout-rank-tag{font-weight:600;color:#f97316;background:#f973161a;border:1px solid rgba(249,115,22,.3);padding:2px 6px;border-radius:4px;font-size:.75rem}.breakout-badge{background:#f973161a;color:#f97316;border:1px solid rgba(249,115,22,.3);padding:2px 6px;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap}.watch-badge{padding:2px 6px;background:linear-gradient(135deg,#f59e0b33,#fbbf2433);color:#fbbf24;border:1px solid rgba(245,158,11,.4);border-radius:6px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:2px;white-space:nowrap}.watchlist-card-actions{display:flex;align-items:center;gap:8px}.add-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.add-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.add-button svg{width:16px;height:16px}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.watchlist-preview{background:#6366f10d;border:1px solid rgba(99,102,241,.1);border-radius:12px;padding:16px;margin-top:8px}.preview-label{font-size:.875rem;color:var(--muted);margin-bottom:8px}.preview-name{font-size:1.125rem;font-weight:600;color:var(--accent)}.btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn svg{width:16px;height:16px}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{background:var(--background);color:var(--text);border:2px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);background:#6366f11a}@media (max-width: 768px){body.modal-open{position:fixed!important;overflow:hidden!important;width:100%!important;-webkit-overflow-scrolling:auto!important;touch-action:none;overscroll-behavior:none}body.modal-open .shell,body.modal-open .main{overflow:hidden!important}.modal-overlay{padding:10px;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#000000d9;touch-action:none;-webkit-touch-callout:none;transform:translateZ(0);will-change:opacity;overflow:hidden;height:100vh;isolation:isolate;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}.modal-content{transform:translateZ(0);will-change:transform,opacity;-webkit-transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;isolation:isolate;margin:auto;max-height:calc(100vh - 20px)}.modal-body{-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}.add-stock-modal,.create-watchlist-modal,.delete-watchlist-modal{width:100%;max-width:100%}.add-stock-modal{height:80vh;max-height:calc(100vh - 20px)}.add-stock-modal .modal-body{min-height:300px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.create-watchlist-modal{height:80vh;max-height:calc(100vh - 20px)}.create-watchlist-modal .modal-body{min-height:300px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-header,.modal-body{padding:16px}.results-items{min-height:150px}.modal-footer{padding:20px;flex-direction:column}.form-row{flex-direction:column;align-items:stretch}.btn{width:100%;justify-content:center}}@media (max-width: 640px){.watchlists-title{flex:1;overflow:hidden;min-width:0}.watchlists-title h1{font-size:1.5rem;line-height:1.2;margin:0 0 4px;word-wrap:break-word}.watchlists-title p{font-size:.8rem;line-height:1.4;margin-bottom:8px}.watchlists-refresh-btn,.watchlists-create-btn{padding:6px 10px!important;font-size:.7rem!important;min-height:32px}.watchlist-card-name{font-size:1rem;font-weight:600}.watchlist-card-metric-label{font-size:.75rem}.watchlist-card-metric-value{font-size:.9rem}.exchange-badge{font-size:.65rem;padding:2px 4px}.watch-badge,.breakout-badge{font-size:.65rem;padding:1px 4px}.create-watchlist-modal{width:95vw;height:85vh;max-height:600px}.create-watchlist-modal .modal-body{min-height:300px}.type-options{flex-direction:column;gap:12px}.method-options,.count-options{gap:6px}.method-btn,.count-btn{padding:10px 12px;font-size:.8rem}.custom-count-input{max-width:100%}.stocks-preview{margin-top:16px;padding:12px}.preview-stock{gap:8px;padding:8px;font-size:.8rem}.stock-rank{min-width:20px;font-size:.75rem}.stock-symbol{min-width:60px;font-size:.8rem}.stock-exchange{font-size:.7rem;min-width:35px}.stock-price{font-size:.8rem}.mobile-label-row{gap:6px}.mobile-label{font-size:.8rem!important;flex:1;min-width:0}.equal-weight-toggle.mobile{padding:4px 8px;font-size:.7rem;min-width:32px;height:28px;border-radius:6px}.delete-watchlist-btn.mobile{padding:4px 6px;min-width:32px;height:28px;border-radius:6px}.delete-watchlist-btn.mobile svg{width:14px;height:14px}.mobile-dropdown-row{margin-top:6px}.watchlist-select.mobile{padding:8px 12px;font-size:.85rem;border-radius:8px}.desktop-selector-layout{display:none}.mobile-label-row,.mobile-dropdown-row{display:flex}}@media (min-width: 769px){.mobile-label-row,.mobile-dropdown-row{display:none}.desktop-selector-layout{display:flex;align-items:center;gap:16px}.equal-weight-toggle.desktop{margin-left:8px}}.index-returns-section{margin:20px 0 24px;padding:16px 20px;background:var(--panel);border-radius:12px;border:1px solid var(--border)}.mobile-index-returns{display:none}.desktop-index-returns{display:block}.index-returns-title{font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.index-returns-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.index-returns-loading p{color:var(--muted);font-size:.875rem}.index-returns-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.index-return-card{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:12px 14px;transition:all .2s ease}.index-return-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #3b82f61a;transform:translateY(-1px)}.index-return-header{margin-bottom:8px}.index-return-name{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.index-return-content{display:flex;flex-direction:column;gap:8px}.index-return-percent{font-size:1.5rem;font-weight:700;line-height:1}.index-return-percent.positive{color:#22c55e}.index-return-percent.negative{color:#ef4444}.index-return-details{display:flex;flex-direction:column;gap:3px;padding-top:6px;border-top:1px solid var(--border)}.index-return-price{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text)}.index-return-price .label{color:var(--muted);font-weight:500}.index-return-error{color:var(--danger);font-size:.8125rem;padding:10px;background:#ef44441a;border-radius:8px;text-align:center}.index-returns-badges{display:flex;flex-wrap:wrap;gap:8px}.index-return-badge{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:.75rem;font-weight:600;border:1px solid;transition:all .2s ease}.index-return-badge.positive{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.index-return-badge.negative{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.index-badge-name{font-size:.7rem;opacity:.9;font-weight:500}.index-badge-value{font-size:.8rem;font-weight:700}@media (max-width: 768px){.desktop-index-returns{display:none}.mobile-index-returns{display:block}.index-returns-section{padding:12px 16px;margin:16px 0 20px}.index-returns-title{font-size:.875rem;margin-bottom:10px;padding-bottom:8px}.index-returns-badges{gap:6px}.index-return-badge{padding:5px 8px}.index-returns-loading{padding:20px}.index-returns-loading .loading-spinner{width:24px;height:24px}}@media (max-width: 480px){.index-returns-section{padding:10px 12px;margin:12px 0 16px}.index-returns-title{font-size:.8rem;margin-bottom:8px;padding-bottom:6px}.index-returns-badges{gap:5px}.index-return-badge{padding:4px 7px}.index-badge-name{font-size:.65rem}.index-badge-value{font-size:.75rem}}.access-denied-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.access-denied-content{background:#fff;border-radius:16px;padding:3rem 2rem;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.access-denied-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#667eea}.access-denied-content h1{font-size:2rem;font-weight:700;color:#1a202c;margin:0 0 1rem}.access-denied-content p{font-size:1.1rem;color:#4a5568;margin:0 0 .75rem;line-height:1.6}.access-denied-hint{font-size:.95rem;color:#718096;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}@media (max-width: 640px){.access-denied-content{padding:2rem 1.5rem}.access-denied-content h1{font-size:1.5rem}.access-denied-content p{font-size:1rem}.access-denied-icon{width:60px;height:60px}}.auto-refresh-status-bar{position:fixed;bottom:20px;right:20px;max-width:400px;min-width:320px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2500;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;transition:all .25s cubic-bezier(.16,1,.3,1);animation:slideIn .3s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}@keyframes slideIn{0%{opacity:0;transform:translate(100%) translateZ(0)}to{opacity:1;transform:translate(0) translateZ(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0) translateZ(0)}to{opacity:0;transform:translate(100%) translateZ(0)}}.auto-refresh-status-bar.hiding{animation:slideOut .25s cubic-bezier(.4,0,1,1) forwards}.auto-refresh-status-bar.idle{border-color:var(--muted)}.auto-refresh-status-bar.active{border-color:var(--primary);box-shadow:0 8px 32px #60a5fa33}.auto-refresh-status-bar.running{border-color:var(--accent);box-shadow:0 8px 32px #34d39933;animation:pulse 2s infinite}.auto-refresh-status-bar.success{border-color:var(--accent);box-shadow:0 8px 32px #34d39933}.auto-refresh-status-bar.warning{border-color:#fbbf24;box-shadow:0 8px 32px #fbbf2433}.auto-refresh-status-bar.error{border-color:var(--danger);box-shadow:0 8px 32px #f8717133}@keyframes pulse{0%,to{box-shadow:0 8px 32px #34d39933}50%{box-shadow:0 8px 32px #34d39966}}.status-bar-compact{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background-color .15s cubic-bezier(.16,1,.3,1)}.status-bar-compact:hover{background:#ffffff0d}.status-indicator{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.status-icon{font-size:16px;flex-shrink:0}.status-text{color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-controls-compact{display:flex;align-items:center;gap:8px;flex-shrink:0}.progress-compact{width:60px;height:4px}.progress-bar-compact{width:100%;height:100%;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill-compact{height:100%;background:linear-gradient(90deg,var(--accent),var(--primary));transition:width .3s cubic-bezier(.16,1,.3,1)}.expand-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:4px;transition:all .2s ease}.expand-button:hover{background:#ffffff1a;color:var(--text)}.expand-icon{width:16px;height:16px;transition:transform .2s cubic-bezier(.16,1,.3,1)}.expand-icon.expanded{transform:rotate(180deg) translateZ(0)}.auto-refresh-status-bar.expanded{max-width:420px;min-width:360px}.status-bar-expanded{border-top:1px solid var(--border);padding:16px;animation:expandDown .3s cubic-bezier(.16,1,.3,1)}@keyframes expandDown{0%{opacity:0;max-height:0;padding:0 16px;transform:translateY(-10px)}to{opacity:1;max-height:500px;padding:16px;transform:translateY(0)}}.status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.status-title{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:600}.status-icon-large{font-size:18px}.status-header-controls{display:flex;align-items:center;gap:4px}.control-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);cursor:pointer;border-radius:6px;font-size:14px;transition:all .15s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.control-button:active:not(:disabled){transform:scale(.95) translateZ(0)}.control-button:hover:not(:disabled){background:#ffffff1a;border-color:var(--primary)}.control-button:disabled{opacity:.5;cursor:not-allowed}.dismiss-button:hover{background:#f8717133;border-color:var(--danger);color:var(--danger)}.status-details{display:flex;flex-direction:column;gap:12px}.status-message-expanded{color:var(--text);font-size:13px;line-height:1.4;padding:8px 12px;background:#ffffff0d;border-radius:8px;border-left:3px solid var(--primary)}.progress-section{background:#ffffff08;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.1)}.screener-progress{margin-top:12px;padding:12px;background:#60a5fa0d;border-radius:8px;border:1px solid rgba(96,165,250,.2)}.screener-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--text);font-weight:500}.screener-progress-bar{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:12px}.screener-progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399);transition:width .3s ease}.screener-operations{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11px}.operation{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;transition:all .2s ease}.operation.completed{color:var(--accent);background:#34d3991a}.operation.pending{color:var(--muted);background:#ffffff0d}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--muted);font-weight:500}.progress-bar-expanded{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill-expanded{height:100%;background:linear-gradient(90deg,var(--accent),var(--primary));transition:width .3s cubic-bezier(.16,1,.3,1)}.progress-subphase{font-size:11px;color:var(--muted);line-height:1.3;margin-bottom:8px}.job-progress{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.job-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:4px}.failed-count{color:var(--danger);font-weight:500}.job-progress-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.job-progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399);transition:width .3s cubic-bezier(.16,1,.3,1)}.next-run-section{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#60a5fa1a;border-radius:6px;border:1px solid rgba(96,165,250,.2)}.next-run-label{font-size:12px;color:var(--muted)}.next-run-time{font-size:14px;font-weight:600;color:var(--primary);font-family:monospace}.last-run-section{padding:8px 12px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.last-run-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px}.last-run-header span:first-child{color:var(--muted)}.last-run-status.success{color:var(--accent);font-weight:500}.last-run-status.error{color:var(--danger);font-weight:500}.last-run-time{font-size:11px;color:var(--muted);font-family:monospace}.last-run-error{font-size:11px;color:var(--danger);margin-top:4px;padding:4px 8px;background:#f871711a;border-radius:4px;line-height:1.3}.token-status-section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;font-size:11px}.token-status-item{display:flex;flex-direction:column;gap:2px}.token-status-item:last-child{grid-column:auto}.token-status-label{color:var(--muted);font-weight:500}.token-status-value{font-weight:600;font-family:monospace}.token-status-value.valid{color:var(--accent)}.token-status-value.invalid{color:var(--danger)}.token-status-value.active{color:var(--accent)}.token-status-value.inactive{color:var(--muted)}@media (max-width: 768px){.auto-refresh-status-bar.compact{bottom:90px;right:16px;left:auto;width:56px;height:56px;max-width:56px;min-width:56px;border-radius:50%;padding:0;box-shadow:0 4px 20px #0000004d,0 2px 8px #0003;transition:none;transform:none;will-change:auto;backdrop-filter:none;-webkit-backdrop-filter:none}.auto-refresh-status-bar.compact:active{opacity:.9}.auto-refresh-status-bar.expanded{bottom:90px;right:12px;left:12px;width:auto;max-width:none;min-width:auto;height:auto;border-radius:12px;padding:0;transform:none;will-change:auto;backdrop-filter:none;-webkit-backdrop-filter:none}.status-bar-compact{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;position:relative;border-radius:50%;overflow:hidden}.auto-refresh-status-bar.compact .status-bar-compact{cursor:pointer}.auto-refresh-status-bar.compact .status-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-height:auto;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1;overflow:hidden}.auto-refresh-status-bar.compact .status-text{font-size:13px;font-weight:600;line-height:1.2;display:block;white-space:nowrap;overflow:hidden;text-overflow:clip;text-align:center;color:var(--text);font-family:monospace;letter-spacing:.5px}.auto-refresh-status-bar.compact .status-controls-compact{display:none}.auto-refresh-status-bar.compact .status-bar-compact:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--progress, 0) * 1%),transparent calc(var(--progress, 0) * 1%));mask:radial-gradient(circle,transparent 0%,transparent calc(50% - 3px),black calc(50% - 3px),black 50%);-webkit-mask:radial-gradient(circle,transparent 0%,transparent calc(50% - 3px),black calc(50% - 3px),black 50%);opacity:.8;transition:opacity .3s ease}.auto-refresh-status-bar.compact.running .status-bar-compact:before{opacity:1}.auto-refresh-status-bar.expanded .status-bar-compact{padding:10px 12px;align-items:flex-start;border-radius:12px 12px 0 0}.auto-refresh-status-bar.expanded .status-indicator{position:static;transform:none;min-height:32px}.auto-refresh-status-bar.expanded .status-text{display:block;font-size:12px;white-space:normal;line-height:1.3}.auto-refresh-status-bar.expanded .status-icon{font-size:16px;align-self:flex-start;margin-top:2px}.auto-refresh-status-bar.expanded .status-controls-compact{display:flex}.auto-refresh-status-bar.expanded .status-bar-compact:before{display:none}.status-bar-expanded{padding:12px;animation:none;opacity:1;transform:none;will-change:auto}.auto-refresh-status-bar{animation:none;opacity:1}.auto-refresh-status-bar.hiding{animation:slideOutMobile .2s cubic-bezier(.4,0,1,1) forwards}@keyframes slideOutMobile{0%{opacity:1}to{opacity:0}}.status-message-expanded{font-size:12px;padding:6px 10px;line-height:1.3}.progress-subphase{font-size:10px;line-height:1.2}.control-button{width:36px;height:36px;font-size:16px}.token-status-section{grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:10px}.token-status-item{gap:1px}.token-status-item:last-child{grid-column:auto}.token-status-label{font-size:9px}.token-status-value{font-size:10px}.screener-operations{grid-template-columns:1fr;gap:4px}.operation{font-size:10px;padding:3px 5px}.auto-refresh-status-bar{box-shadow:0 4px 20px #0000004d}}@media (max-width: 480px){.auto-refresh-status-bar{bottom:85px;right:8px;left:8px}.status-controls-compact{gap:6px}.progress-compact{width:40px}.status-header-controls{gap:2px}.control-button{width:32px;height:32px;font-size:14px}.status-text,.status-message-expanded{font-size:13px!important}.token-status-section{grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:9px}.token-status-item:last-child{grid-column:auto}.token-status-label{font-size:9px}.token-status-value{font-size:10px}}@media (prefers-contrast: high){.auto-refresh-status-bar,.control-button{border-width:2px}}@media (prefers-reduced-motion: reduce){.auto-refresh-status-bar,.expand-icon,.progress-fill-compact,.progress-fill-expanded,.job-progress-fill{transition:none}.auto-refresh-status-bar.running{animation:none}@keyframes slideIn{0%,to{opacity:1;transform:translate(0)}}@keyframes expandDown{0%,to{opacity:1;max-height:500px;padding:16px}}}:root{--bg: #0b0f16;--panel: #0f1622;--text: #e5e7eb;--muted: #9aa4b2;--primary: #60a5fa;--accent: #34d399;--danger: #f87171;--border: #1f2937;--tab-bg: #0e1521;--tab-border: #213047;--tab-active: #111a28;--shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--z-base: 1;--z-dropdown: 10;--z-sticky: 50;--z-header: 1000;--z-tooltip: 1100;--z-modal-overlay: 1500;--z-modal-content: 1501;--z-notification: 2000;--z-notification-content: 2001;--z-status-bar: 2500}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 20% -10%,#122034 10%,transparent 40%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif}.shell{display:grid;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;height:100vh;overflow:hidden}.topbar{grid-column:1 / -1;height:60px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:var(--z-header)}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-right{display:flex;align-items:center;gap:12px}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:8px;transition:all .2s ease}.sidebar-toggle:hover{background:#ffffff14;color:var(--text)}.sidebar-toggle svg{width:20px;height:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:600;font-size:18px;position:relative}.brand-icon{width:28px;height:28px;color:var(--primary)}.auto-refresh-badge{width:10px;height:10px;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0}.auto-refresh-badge:hover{transform:scale(1.2)}.auto-refresh-badge.ready{background:#6b7280;box-shadow:0 0 0 2px #6b728033}.auto-refresh-badge.running{background:#34d399;box-shadow:0 0 0 2px #34d3994d;animation:pulse-badge 2s infinite}.auto-refresh-badge.error{background:#ef4444;box-shadow:0 0 0 2px #ef44444d}.auto-refresh-badge.paused{background:#fbbf24;box-shadow:0 0 0 2px #fbbf244d}@keyframes pulse-badge{0%,to{opacity:1;box-shadow:0 0 0 2px #34d3994d}50%{opacity:.7;box-shadow:0 0 0 4px #34d39966}}@media (max-width: 768px){.auto-refresh-badge{width:8px;height:8px}}.sidebar{width:280px;background:#0f1622fa;border-right:1px solid rgba(31,41,55,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:4px 0 15px #0000001a;display:flex;flex-direction:column;transition:width .3s ease;height:calc(100vh - 60px);overflow-y:auto;position:relative;grid-row:2;grid-column:1}.sidebar:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(96,165,250,.2) 20%,rgba(96,165,250,.1) 50%,rgba(96,165,250,.2) 80%,transparent 100%);pointer-events:none}.sidebar.collapsed{width:70px}.sidebar-nav{padding:20px 12px;display:flex;flex-direction:column;gap:8px}.sidebar-item{display:flex;align-items:center;gap:16px;padding:14px 16px;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:12px;transition:all .2s ease;text-align:left;font-size:14px;font-weight:500;width:100%;position:relative}.sidebar-item:hover{background:#ffffff14;color:var(--text)}.sidebar-item.active{background:#60a5fa26;color:var(--primary);border:1px solid rgba(96,165,250,.3)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background:var(--primary);border-radius:0 2px 2px 0}.sidebar-icon{width:20px;height:20px;flex-shrink:0}.sidebar.collapsed .sidebar-item span{display:none}.sidebar.collapsed .sidebar-item{justify-content:center;padding:14px 8px}.expand-icon{width:16px;height:16px;transition:transform .2s ease;margin-left:auto;flex-shrink:0}.expand-icon.expanded{transform:rotate(90deg)}.sidebar-item.submenu-item{display:flex;align-items:center;gap:12px;margin-left:20px;padding:8px 16px;font-size:13px;background:#0000000d;border-radius:6px;margin-bottom:2px;transition:all .2s ease}.sidebar-item.submenu-item:hover{background:#ffffff14;color:var(--text)}.sidebar-item.submenu-item:hover .submenu-icon{opacity:1}.sidebar-item.submenu-item.active{background:#60a5fa1f;color:var(--primary)}.sidebar-item.submenu-item.active .submenu-icon{opacity:1;color:var(--primary)}.sidebar-submenu{margin:0 12px 16px;padding:12px 0;background:#00000026;border-radius:8px;border:1px solid rgba(31,41,55,.3);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submenu-header{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding:0 16px}.submenu-item{display:flex;align-items:center;gap:12px;padding:10px 16px;margin:2px 8px;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:6px;transition:all .2s ease;text-align:left;font-size:13px;font-weight:500;width:calc(100% - 16px);position:relative}.submenu-icon{width:16px;height:16px;flex-shrink:0;opacity:.7;color:currentColor}.submenu-item:hover{background:#ffffff14;color:var(--text)}.submenu-item:hover .submenu-icon{opacity:1}.submenu-item.active{background:#60a5fa26;color:var(--primary);font-weight:600}.submenu-item.active .submenu-icon{opacity:1;color:var(--primary)}.main{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow-y:auto;grid-row:2;grid-column:2}.content{padding:24px;display:grid;justify-items:center;align-items:start;min-height:calc(100vh - 120px);background:linear-gradient(135deg,#60a5fa05,#34d39905);flex:1}.stack{display:grid;width:100%;gap:20px;justify-items:center;max-width:1200px}.panel{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.panel:hover{box-shadow:0 8px 25px #00000026,0 4px 10px #0000001a;transform:translateY(-1px)}.panel h2{margin:0 0 20px;font-size:20px;font-weight:600;color:var(--text);padding-bottom:12px;border-bottom:1px solid var(--border)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:14px}.table th{color:#cbd5e1;font-weight:600;background:#0f1b2b}.table tr:hover{background:#0f1627}.infobar{display:grid;grid-template-columns:1.2fr 1.6fr .9fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#0e1521;margin-bottom:12px}.infobar .section{font-size:13px;color:var(--muted)}.infobar .section b{color:var(--text);font-weight:600}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:#0f1b2b;border:1px solid var(--border);padding:4px 8px;border-radius:8px;font-size:12px;color:#cbd5e1}.chip .k{color:#9aa4b2;margin-right:4px}.chart-wrap{position:relative}.chart-divider{position:absolute;left:0;right:0;height:6px;background:#60a5fa1f;border-top:1px solid #213047;border-bottom:1px solid #213047;cursor:ns-resize;z-index:var(--z-dropdown);transition:background-color .2s ease}.chart-divider:hover{background:#60a5fa40}.chart-divider:active{background:#60a5fa59}.floating-tooltip{position:fixed;right:16px;top:120px;width:220px;background:#0e1624;border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);box-shadow:0 4px 14px #00000059;z-index:var(--z-sticky)}.floating-tooltip .row{margin:0}.floating-tooltip .label{color:#9aa4b2;font-size:12px}.floating-tooltip .value{font-size:14px;font-weight:600}.row{display:grid;gap:12px;margin-bottom:14px}.label{color:var(--muted);font-size:13px}.btn{border:1px solid var(--border);background:#102033;color:var(--text);padding:12px 18px;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;box-shadow:var(--shadow)}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026;filter:brightness(1.1)}.btn:active{transform:translateY(0);box-shadow:var(--shadow)}.btn.primary{background:linear-gradient(135deg,#18314f,#234465);border-color:#234465;color:#dbeafe;font-weight:600}.btn.primary:hover{background:linear-gradient(135deg,#1e3a5f,#2a4f75)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--shadow)}.input{width:100%;background:#0e1624;border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:12px;font-size:14px;transition:all .2s ease;box-shadow:inset 0 1px 2px #0000001a}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #60a5fa1a,inset 0 1px 2px #0000001a}.input::placeholder{color:var(--muted);opacity:.7}select.input{cursor:pointer}select.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #60a5fa1a}.muted{color:var(--muted);font-size:12px}.grid2{display:grid;grid-template-columns:1fr auto;gap:12px}.kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{background:#101826;border:1px solid var(--border);padding:16px;border-radius:12px;box-shadow:var(--shadow);transition:all .2s ease}.card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.value{font-size:20px;font-weight:700}.ok{color:var(--accent)}.bad{color:var(--danger)}.progress{position:relative;height:10px;background:#0d1420;border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-bar{position:absolute;left:0;top:0;bottom:0;height:100%;box-shadow:inset 0 0 6px #0003;transition:width .3s linear}.progress-bar.ok{background:linear-gradient(90deg,#34d399,#60a5fa)}.progress-bar.warn{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.progress-bar.bad{background:linear-gradient(90deg,#f87171,#ef4444)}.notification{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:var(--z-tooltip);max-width:500px;width:90%;border-radius:12px;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideDown .3s ease}.notification.error{background:#f87171f2;border:1px solid #f87171}.notification.warning{background:#fbbf24f2;border:1px solid #fbbf24}.notification.success{background:#34d399f2;border:1px solid #34d399}.notification-content{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;color:#1f2937;font-weight:500;font-size:14px}.notification-close{background:none;border:none;color:#1f2937;font-size:20px;font-weight:700;cursor:pointer;padding:0;margin-left:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.notification-close:hover{background:#0000001a}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.db-tabs{display:flex;gap:4px;background:var(--tab-bg);padding:4px;border-radius:12px;border:1px solid var(--border);box-shadow:inset 0 1px 2px #0000001a;margin-bottom:16px}.db-tab{border:none;padding:10px 20px;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;position:relative;flex:1;text-align:center}.db-tab:hover{color:var(--text);background:#ffffff0d}.db-tab.active{color:var(--text);background:var(--tab-active);box-shadow:var(--shadow);border:1px solid var(--tab-border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.page-enter{animation:fadeIn .2s cubic-bezier(.16,1,.3,1)}.page-content{animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.stagger-item{opacity:0;animation:fadeInUp .2s cubic-bezier(.16,1,.3,1) forwards}.stagger-item:nth-child(1){animation-delay:30ms}.stagger-item:nth-child(2){animation-delay:60ms}.stagger-item:nth-child(3){animation-delay:90ms}.stagger-item:nth-child(4){animation-delay:.12s}.stagger-item:nth-child(5){animation-delay:.15s}.stagger-item:nth-child(6){animation-delay:.18s}.stagger-item:nth-child(7){animation-delay:.21s}.stagger-item:nth-child(8){animation-delay:.24s}.stagger-item:nth-child(9){animation-delay:.27s}.stagger-item:nth-child(10){animation-delay:.3s}.skeleton{background:linear-gradient(90deg,#1f293766 25%,#37415180,#1f293766 75%);background-size:1000px 100%;animation:shimmer 2s infinite linear;border-radius:8px}.gpu-accelerated{transform:translateZ(0);will-change:transform,opacity}.btn-press-feedback,.btn,button{transition:transform .1s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.btn-press-feedback:active,.btn:active:not(:disabled),button:active:not(:disabled){transform:scale(.97) translateZ(0)}.modal-backdrop{animation:fadeIn .2s cubic-bezier(.16,1,.3,1)}.modal-content-enter{animation:scaleIn .25s cubic-bezier(.16,1,.3,1)}.modal-content-exit{animation:scaleIn .2s cubic-bezier(.4,0,1,1) reverse}.card-hover-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.card-hover-lift:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 12px 24px -10px #0000004d}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s,height .5s;pointer-events:none}.ripple:active:after{width:200px;height:200px;transition:width 0s,height 0s}.expand-height{transition:max-height .3s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1);overflow:hidden}.progress-bar-animated{transition:width .3s cubic-bezier(.16,1,.3,1)}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.number-appear{animation:countUp .3s cubic-bezier(.16,1,.3,1)}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;transition:outline-offset .15s cubic-bezier(.16,1,.3,1)}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--border);padding:8px 12px 12px;z-index:var(--z-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -4px 20px #00000026;overflow:visible}.mobile-nav-items{display:flex;justify-content:space-around;align-items:center;max-width:500px;margin:0 auto}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:none;background:none;color:var(--muted);cursor:pointer;transition:all .2s ease;border-radius:8px;min-width:60px;position:relative;outline:none;-webkit-tap-highlight-color:transparent}.mobile-nav-item:active{outline:none;-webkit-tap-highlight-color:transparent}.mobile-nav-item:focus,.mobile-nav-item:focus-visible{outline:none!important;box-shadow:none!important}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:35px;height:3px;background:var(--primary);border-radius:0 0 3px 3px;z-index:10;transition:all .2s ease}.mobile-nav-icon{width:24px;height:24px;flex-shrink:0}.mobile-nav-label{font-size:10px;font-weight:500;text-align:center;line-height:1}.mobile-db-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:var(--z-notification);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-db-menu{position:fixed;bottom:80px;left:16px;right:16px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;z-index:var(--z-notification-content);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-db-menu h3{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:var(--text);text-align:center}.mobile-db-items{display:flex;flex-direction:column;gap:8px}.mobile-db-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:#1f29374d;color:var(--muted);cursor:pointer;border-radius:12px;transition:all .2s ease;text-align:left;font-size:14px;font-weight:500;width:100%}.mobile-db-item:hover,.mobile-db-item.active{background:#60a5fa26;color:var(--primary);border:1px solid rgba(96,165,250,.3)}.mobile-db-icon{width:20px;height:20px;flex-shrink:0}.btn,.input,.sidebar-toggle,.tab-button,.period-button{min-height:44px;min-width:44px}@media (max-width: 768px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding-bottom:80px}.sidebar{display:none}.mobile-nav{display:block}.topbar{padding:0 16px}.sidebar-toggle{display:none}.brand{font-size:16px}.brand-icon{width:24px;height:24px}.main{height:auto;grid-row:2;grid-column:1}.content{padding:16px 16px 24px;min-height:auto;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.panel{padding:16px}.kpi{grid-template-columns:1fr;gap:12px}.grid2{grid-template-columns:1fr;gap:8px}.row{gap:8px}.btn{padding:12px 18px;font-size:16px}.input{padding:12px 14px;font-size:16px}.notification{top:70px;left:16px;right:16px;width:auto;transform:none;max-width:none}.table{font-size:14px;display:table;min-width:100%;overflow-x:auto}.table th,.table td{padding:12px 8px;min-width:80px;white-space:nowrap}.results-table-container,.holdings-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.results-table,.holdings-table{font-size:13px;border-collapse:separate;border-spacing:0}.results-table th,.results-table td,.holdings-table th,.holdings-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left}.mobile-results-container,.mobile-holdings-container{padding:0;margin:0}.stock-card,.holding-card{margin:0 0 12px;padding:12px;cursor:pointer;transition:all .2s ease}.stock-card:hover,.holding-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}}*{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content,.panel p,.panel span:not(.chip):not(.badge),.table td,input,textarea,[contenteditable]{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}button,.btn,.sidebar-item,.mobile-nav-item,.tab-button,.period-button,.clickable-row,[role=button]{cursor:pointer;-webkit-tap-highlight-color:rgba(96,165,250,.2);touch-action:manipulation}button:active,.btn:active,.sidebar-item:active,.mobile-nav-item:active,.tab-button:active,.period-button:active{transform:scale(.98);transition:transform .1s ease}.content,.sidebar,.mobile-nav,.results-table-container,.holdings-table-wrapper,.tab-navigation,.period-buttons{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}body{overscroll-behavior:none}button:focus,.btn:focus,input:focus,select:focus,[tabindex]:focus{outline:2px solid var(--primary);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--muted)}*::-webkit-scrollbar-corner{background:transparent}@media (max-width: 768px){*::-webkit-scrollbar{width:4px;height:4px}.table,.results-table,.holdings-table{scroll-snap-type:x mandatory;scroll-padding-left:16px}.table th:first-child,.table td:first-child,.results-table th:first-child,.results-table td:first-child,.holdings-table th:first-child,.holdings-table td:first-child{scroll-snap-align:start;position:sticky;left:0;background:var(--panel);z-index:var(--z-sticky)}.results-table-container,.holdings-table-wrapper{position:relative}.results-table-container:after,.holdings-table-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(15,22,34,.8));pointer-events:none;z-index:calc(var(--z-sticky) + 1)}.input,select.input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}}@media (max-width: 768px){html,body{overflow-x:hidden;max-width:100vw}.shell,.main{max-width:100vw;overflow-x:hidden}.content{max-width:100vw;overflow-x:hidden;padding:16px 12px}.stack{max-width:100%;width:100%;overflow-x:hidden}.panel{max-width:100%;width:100%;overflow-x:hidden;box-sizing:border-box}.db-tabs{flex-direction:row;gap:4px;padding:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin:2px 2px 16px}.db-tabs::-webkit-scrollbar{display:none}.db-tab{padding:9px 12px;text-align:center;font-size:12px;white-space:nowrap;flex-shrink:0;min-width:fit-content;border-radius:6px;margin:2px;border:1px solid transparent}.db-tab.active{border:1px solid var(--tab-border);box-shadow:var(--shadow);background:var(--tab-active);color:var(--text)}.kpi{grid-template-columns:1fr;gap:8px}.card{padding:12px;text-align:center}.card .label{font-size:11px;margin-bottom:4px}.card .value{font-size:18px}.table{font-size:11px;min-width:100%;width:100%;table-layout:fixed}.table th,.table td{padding:6px 4px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}.table th:first-child,.table td:first-child{width:20%;min-width:60px}.table th:nth-child(2),.table td:nth-child(2){width:15%;min-width:40px}.table th:nth-child(3),.table td:nth-child(3){width:25%;min-width:80px}.table th:nth-child(4),.table td:nth-child(4){width:15%;min-width:50px}.table th:nth-child(5),.table td:nth-child(5){width:15%;min-width:60px}.table th:last-child,.table td:last-child{width:10%;min-width:80px}.db-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px 16px;padding:0 12px;scroll-behavior:smooth;max-width:calc(100vw - 24px);box-sizing:border-box;width:100%}.db-form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.db-form-row>div{width:100%;max-width:100%;box-sizing:border-box}.db-form-row .input{font-size:16px;padding:12px 14px;width:100%;max-width:100%;box-sizing:border-box}.db-button-group{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;box-sizing:border-box}.db-button-group .btn{width:100%;max-width:100%;justify-content:center;padding:12px 14px;font-size:13px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-button-group-horizontal{flex-direction:row;flex-wrap:wrap;gap:6px;max-width:100%}.db-button-group-horizontal .btn{flex:1;min-width:0;max-width:none;font-size:12px;padding:10px 6px}.db-panel-section{margin:16px 0;width:100%;box-sizing:border-box;overflow:hidden}.db-panel-section h3{font-size:14px;margin-bottom:8px;word-wrap:break-word}.suggestions-dropdown{max-height:150px!important;font-size:12px!important;max-width:calc(100vw - 32px)!important;left:0!important;right:0!important}.suggestions-dropdown>div{padding:8px 10px!important;word-wrap:break-word}.db-pagination{flex-direction:column;gap:8px;text-align:center;width:100%;box-sizing:border-box}.db-pagination-buttons{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;width:100%}.db-pagination .btn{padding:8px 12px;font-size:12px;min-width:36px;max-width:none}.db-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-overlay)}.db-modal{position:fixed;top:8px!important;right:8px!important;bottom:8px!important;left:8px!important;width:auto!important;margin:0!important;max-height:calc(100vh - 16px);overflow-y:auto;max-width:calc(100vw - 16px);box-sizing:border-box;z-index:var(--z-modal-content)}@media (max-width: 640px){.db-modal-overlay{align-items:flex-start;padding-top:80px}.db-modal{top:12px!important;right:8px!important;bottom:8px!important;left:8px!important;max-height:calc(100vh - 100px)!important}}.db-modal h3{font-size:16px;margin-bottom:12px;word-wrap:break-word}.db-modal .btn{padding:10px 16px;font-size:14px;box-sizing:border-box}.db-modal .muted{word-wrap:break-word;overflow-wrap:break-word}.db-progress-section{margin:12px 0;width:100%;box-sizing:border-box}.db-progress-section .muted{font-size:11px;line-height:1.4;word-wrap:break-word}.db-schema-table{font-size:11px;width:100%;table-layout:fixed;border-radius:6px;margin:0 auto;border-collapse:separate;border-spacing:0}.db-schema-table th,.db-schema-table td{padding:12px 16px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid rgba(31,41,55,.5);text-align:left}.db-schema-table th{background:#1f2937cc;font-weight:600;color:var(--text);font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:14px 16px}.db-schema-table tbody tr:hover{background:#1f29374d}.db-schema-container{border-radius:8px;overflow:hidden;margin:12px 0;border:1px solid var(--border);box-shadow:0 2px 8px #0000001a}.db-schema-header{background:#1f293780;padding:14px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s ease}.db-schema-header:hover{background:#1f2937b3}.db-schema-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.db-schema-column-count{font-size:11px;color:var(--muted);margin-left:auto}.db-schema-table-wrapper{padding:16px;background:#0e1624;overflow-x:auto;-webkit-overflow-scrolling:touch}.db-schema-container .db-table-container{margin:0;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.db-jobs-mobile{display:block}.db-jobs-desktop{display:none}.db-jobs-scrollable{height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#374151 #1f2937;border-radius:12px;background:#0f172a4d;padding:12px;border:1px solid rgba(31,41,55,.4)}.db-jobs-scrollable::-webkit-scrollbar{width:6px}.db-jobs-scrollable::-webkit-scrollbar-track{background:#1f2937;border-radius:3px}.db-jobs-scrollable::-webkit-scrollbar-thumb{background:#374151;border-radius:3px}.db-jobs-scrollable::-webkit-scrollbar-thumb:hover{background:#4b5563}.db-job-card{background:#1f29374d;border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s ease}.db-job-card:hover{background:#1f293780;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.db-job-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.db-job-card-title{font-weight:600;color:var(--text);text-transform:capitalize;font-size:14px}.db-job-card-status{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500;text-transform:uppercase}.db-job-card-status.running{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.db-job-card-status.completed{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.db-job-card-status.failed{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.db-job-card-status.paused{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.db-job-card-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--muted)}.db-job-card-progress-bar{width:100%;height:6px;background:#1f2937;border-radius:3px;overflow:hidden;margin:8px 0}.db-job-card-progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399);transition:width .3s ease}.db-job-card-details{font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:12px}.db-job-card-timestamps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;font-size:11px;color:var(--muted)}.db-job-card-timestamp{display:flex;flex-direction:column}.db-job-card-timestamp-label{font-weight:500;color:var(--text);margin-bottom:2px}.db-job-controls{display:flex;flex-direction:row;gap:6px;flex-wrap:wrap;width:100%;box-sizing:border-box}.db-job-controls .btn{padding:8px 12px;font-size:11px;flex:1;min-width:0;box-sizing:border-box}.db-status-indicators{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0;width:100%;box-sizing:border-box}.db-status-indicators span{padding:2px 6px;font-size:10px;border-radius:3px;word-break:break-word;max-width:100%}.db-symbols-mobile{display:block}.db-symbols-desktop{display:none}.db-symbol-card{background:#1f29374d;border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s ease}.db-symbol-card:hover{background:#1f293780;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.db-symbol-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.db-symbol-card-symbol{font-weight:600;color:var(--text);font-size:16px;font-family:monospace}.db-symbol-card-exchange{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500;text-transform:uppercase;background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.db-symbol-card-exchange.BSE{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.db-symbol-card-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;font-size:12px;color:var(--muted)}.db-symbol-card-detail{display:flex;flex-direction:column}.db-symbol-card-detail-label{font-weight:500;color:var(--text);margin-bottom:2px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.db-symbol-card-detail-value{font-family:monospace;font-size:13px;color:var(--muted)}.db-symbol-card-name{grid-column:1 / -1;margin-bottom:8px}.db-symbol-card-name .db-symbol-card-detail-value{font-family:inherit;color:var(--text);font-size:12px;line-height:1.4;word-wrap:break-word}.db-symbol-card-actions{display:flex;gap:6px;flex-wrap:wrap}.db-symbol-card-actions .btn{flex:1;min-width:0;font-size:11px;padding:8px 12px;text-align:center}.db-expandable-section{background:#1f29374d;border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden;transition:all .2s ease}.db-expandable-header{padding:16px 18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;background:#1f293780;border-bottom:1px solid transparent;transition:all .2s ease}.db-expandable-header:hover{background:#1f2937b3}.db-expandable-header.expanded{border-bottom-color:var(--border)}.db-expandable-title{font-size:15px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.db-expandable-icon{font-size:12px;color:var(--muted);transition:transform .2s ease}.db-expandable-icon.expanded{transform:rotate(90deg)}.db-expandable-content{padding:0;max-height:0;overflow:hidden;transition:all .3s ease}.db-expandable-content.expanded{padding:16px 18px;max-height:2000px}.db-expandable-stats{margin-bottom:20px}.db-expandable-stats .kpi{margin-bottom:16px}.db-desktop-layout{display:none}.db-mobile-layout{display:block}.stack{width:100%;max-width:100%;box-sizing:border-box}.db-tabs-panel{overflow-x:hidden!important;overflow-y:visible!important;padding-top:28px!important;max-width:100%!important;box-sizing:border-box!important}.table td:last-child>div{display:flex;flex-direction:column;gap:4px;width:100%}.table td:last-child .btn{font-size:10px;padding:6px 8px;white-space:nowrap;min-width:0;box-sizing:border-box}}@media (min-width: 769px){.db-button-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;width:100%;max-width:100%;box-sizing:border-box}.db-button-group .btn{width:auto;max-width:none;justify-content:center;padding:12px 18px;font-size:14px;box-sizing:border-box;white-space:nowrap;overflow:visible;text-overflow:clip;flex:0 0 auto}.db-button-group-horizontal{flex-direction:row;flex-wrap:wrap;gap:12px;max-width:100%}.db-button-group-horizontal .btn{flex:0 0 auto;min-width:auto;max-width:none;font-size:14px;padding:12px 18px}}@media (min-width: 769px){.db-jobs-mobile{display:none}.db-jobs-desktop,.db-desktop-layout{display:block}.db-mobile-layout,.db-symbols-mobile{display:none}.db-symbols-desktop{display:block}.db-desktop-section{background:#0f172a66;border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.db-desktop-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:20px;flex-wrap:wrap}.db-desktop-section-title{margin:0;font-size:16px;font-weight:600;color:var(--text);flex-shrink:0}.db-desktop-button-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.db-desktop-button-row .btn{padding:9px 18px;font-size:13px;font-weight:500;white-space:nowrap;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.db-desktop-button-row .btn.primary{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#2563eb;color:#dbeafe;font-weight:600;box-shadow:0 2px 4px #2563eb33,0 1px 2px #0000003d}.db-desktop-button-row .btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 4px 8px #2563eb4d,0 2px 4px #0000003d;transform:translateY(-1px)}.db-desktop-button-row .btn:not(.primary):hover:not(:disabled){background:#1a2942;border-color:#2a4365;transform:translateY(-1px);box-shadow:0 3px 6px #00000029,0 2px 4px #0000003d}.db-desktop-button-row .btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001f}.db-desktop-button-row .btn[style*="background:#7f1d1d"],.db-desktop-button-row .btn[style*="background:'#7f1d1d'"]{background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;border-color:#dc2626!important;box-shadow:0 2px 4px #dc262633,0 1px 2px #0000003d}.db-desktop-button-row .btn[style*="background:#7f1d1d"]:hover:not(:disabled),.db-desktop-button-row .btn[style*="background:'#7f1d1d'"]:hover:not(:disabled){background:linear-gradient(135deg,#991b1b,#b91c1c)!important;box-shadow:0 4px 8px #dc26264d,0 2px 4px #0000003d}.db-desktop-button-row .btn[style*="background:#374151"],.db-desktop-button-row .btn[style*="background:'#374151'"]{background:linear-gradient(135deg,#374151,#4b5563)!important;border-color:#6b7280!important;color:#e5e7eb;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.db-desktop-button-row .btn[style*="background:#374151"]:hover:not(:disabled),.db-desktop-button-row .btn[style*="background:'#374151'"]:hover:not(:disabled){background:linear-gradient(135deg,#4b5563,#6b7280)!important;box-shadow:0 3px 6px #00000029,0 2px 4px #0000003d}.db-desktop-metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.db-desktop-pattern-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.db-pattern-badge{padding:5px 10px;background:#1e40af;color:#bfdbfe;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}}@media (prefers-reduced-motion: no-preference){.mobile-nav-item,.stock-card,.holding-card,.ti-metric-card,.panel{transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-nav-item:hover,.stock-card:hover,.holding-card:hover,.ti-metric-card:hover,.panel:hover{transition:all .15s cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.holographic-alert-button{padding:2px 8px;fontSize:11px;background:linear-gradient(45deg,#8b5cf6,#3b82f6,#06b6d4,#10b981);background-size:300% 300%;color:#fff;border:1px solid transparent;border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:4px;position:relative;overflow:hidden;font-size:11px;font-weight:500;text-shadow:0 0 8px rgba(255,255,255,.3);animation:holographicShimmer 3s ease-in-out infinite;transition:all .2s ease}.holographic-alert-button:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#8b5cf6,#3b82f6,#06b6d4,#10b981,#8b5cf6);background-size:400% 400%;border-radius:4px;z-index:-1;animation:holographicBorder 2s linear infinite}.holographic-alert-button:hover{transform:translateY(-1px);box-shadow:0 4px 20px #8b5cf666;animation-duration:1.5s}.holographic-alert-button:active{transform:translateY(0);box-shadow:0 2px 10px #8b5cf64d}@keyframes holographicShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes holographicBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}
