.plan-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid}.plan-badge-free{background:#b4b4b41a;border-color:#b4b4b4;color:#b4b4b4}.plan-badge-upgrade{background:linear-gradient(135deg,#fbbf2433,#f59e0b33);border-color:#f59e0b;color:#fbbf24;cursor:pointer;transition:all .2s ease}.plan-badge-upgrade:hover{background:linear-gradient(135deg,#fbbf244d,#f59e0b4d);transform:translateY(-1px)}.plan-badge-pro{background:#667eea1a;border-color:#667eea;color:#667eea}.plan-badge-pro_plus,.plan-badge-elite{background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#764ba2;color:gold}.plan-badge-developer{background:linear-gradient(135deg,#22c55e33,#3b82f633);border-color:#22c55e;color:#22c55e}.plan-badge-icon{font-size:1rem}.plan-badge-text{text-transform:uppercase;letter-spacing:.5px}.sign-in-button{padding:8px 16px;background:var(--info, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.sign-in-button:hover{background:var(--info-dark, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.sign-in-button:active{transform:translateY(0)}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffe6;font-size:14px;cursor:pointer;transition:all .2s ease}.user-menu-trigger:hover{background:#ffffff14;border-color:#fff3}.user-email{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:10px;color:#fff9}.user-menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9998}.user-menu-dropdown{position:fixed;bottom:80px;left:16px;min-width:240px;background:#1a2431;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:9999;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:12px 16px;background:#ffffff08;display:flex;flex-direction:column;gap:8px}.user-email-full{font-size:14px;color:#ffffffe6;word-break:break-word}.user-menu-divider{height:1px;background:#ffffff1a;margin:0}.user-menu-item{width:100%;padding:12px 16px;background:transparent;border:none;color:#fffc;font-size:14px;text-align:left;cursor:pointer;transition:all .15s ease}.user-menu-item:hover{background:#ffffff0d;color:#fffffff2}.user-menu-item:active{background:#ffffff14}@media (max-width: 768px){.user-email{max-width:120px}.user-menu-dropdown{min-width:200px}}.watchlists-page{padding:32px;max-width:1600px;margin:0 auto;min-height:100vh;background:var(--bg)}.watchlists-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.watchlists-header h1{color:var(--text);font-size:32px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,#7aa2f7,#b4a8f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{color:var(--muted);font-size:14px;margin:0}.back-link{color:var(--primary);text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;padding:8px 16px;border-radius:8px;background:#7aa2f71a;border:1px solid rgba(122,162,247,.2)}.back-link:hover{background:#7aa2f733;color:var(--accent)}.watchlists-content{display:flex;gap:24px;align-items:flex-start}.watchlists-form-panel{flex:0 0 400px;min-width:0;background:linear-gradient(135deg,#7aa2f70d,#b4a8f70d);border:1px solid rgba(122,162,247,.15);border-radius:16px;padding:24px;position:sticky;top:24px}.form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(122,162,247,.1)}.form-header h2{color:var(--text);font-size:18px;font-weight:600;margin:0}.cancel-edit-btn{padding:6px 12px;background:transparent;border:1px solid rgba(231,76,60,.4);border-radius:6px;color:#e74c3c;font-size:12px;cursor:pointer;transition:all .2s ease}.cancel-edit-btn:hover{background:#e74c3c1a;border-color:#e74c3c99}.form-group label{display:block;color:var(--text);font-size:13px;font-weight:500;margin-bottom:8px}.form-input{width:100%;padding:12px 14px;background:#1e232a99;border:1px solid rgba(122,162,247,.2);border-radius:8px;color:var(--text);font-size:14px;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary);background:#1e232acc;box-shadow:0 0 0 3px #7aa2f71a}.form-input::placeholder{color:var(--muted)}.symbol-search-container{position:relative}.symbol-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1a1f2e;border:1px solid #2a3441;border-radius:8px;box-shadow:0 4px 20px #0006;max-height:380px;overflow:hidden;z-index:100;display:flex;flex-direction:column}.suggestions-list{flex:1;overflow-y:auto;max-height:320px}.suggestion-item{width:100%;padding:10px 14px;background:transparent;border:none;color:var(--text);font-size:14px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s ease}.suggestion-item:hover{background:#7aa2f71a}.suggestion-item.checkbox{margin:0}.suggestion-item.checkbox.checked{background:#7aa2f726}.suggestion-checkbox{width:16px;height:16px;accent-color:#7aa2f7;cursor:pointer;flex-shrink:0}.suggestion-symbol{flex:1}.suggestion-pair{color:var(--muted);font-size:12px}.suggestions-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid rgba(122,162,247,.15);background:#1e232acc}.select-all-btn{padding:6px 12px;background:transparent;border:1px solid rgba(122,162,247,.3);border-radius:6px;color:var(--muted);font-size:12px;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{background:#7aa2f71a;border-color:#7aa2f780;color:var(--text)}.add-selected-btn{padding:6px 14px;background:linear-gradient(135deg,#7aa2f7,#b4a8f7);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-selected-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7aa2f74d}.selected-symbols{margin-bottom:20px}.selected-symbols label{display:block;color:var(--text);font-size:13px;font-weight:500;margin-bottom:8px}.symbols-grid{display:flex;flex-wrap:wrap;gap:8px}.symbol-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#7aa2f726;border:1px solid rgba(122,162,247,.3);border-radius:6px;font-size:13px;color:#7aa2f7}.remove-chip{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:color .2s ease}.remove-chip:hover{color:#e74c3c}.submit-btn{width:100%;padding:14px 20px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn.create{background:linear-gradient(135deg,#7aa2f7,#b4a8f7);color:#1a1f2e}.submit-btn.create:hover{transform:translateY(-1px);box-shadow:0 4px 15px #7aa2f74d}.submit-btn.update{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.submit-btn.update:hover{transform:translateY(-1px);box-shadow:0 4px 15px #10b9814d}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.watchlists-list-panel{flex:1;min-width:0;background:#1e232a80;border:1px solid rgba(122,162,247,.1);border-radius:16px;padding:24px;max-height:calc(100vh - 180px);overflow-y:auto}.list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(122,162,247,.1)}.list-header h2{color:var(--text);font-size:18px;font-weight:600;margin:0}.watchlist-count{color:var(--muted);font-size:13px;padding:4px 10px;background:#64748b33;border-radius:12px}.watchlists-grid{display:flex;flex-direction:column;gap:16px}.watchlist-card{background:#1e232a99;border:1px solid rgba(122,162,247,.1);border-radius:12px;padding:16px;transition:all .2s ease}.watchlist-card:hover{border-color:#7aa2f74d;background:#1e232acc}.watchlist-card.editing{border-color:#10b98180;background:#10b9810d}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-title{display:flex;align-items:center;gap:8px}.card-icon{font-size:18px}.card-name{color:var(--text);font-size:16px;font-weight:600}.card-actions{display:flex;gap:8px}.action-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;font-size:14px}.action-btn.edit:hover{background:#7aa2f733}.action-btn.delete:hover{background:#e74c3c33}.card-symbols{margin-bottom:12px}.no-symbols{color:var(--muted);font-size:13px;font-style:italic}.symbols-preview{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.symbol-tag{padding:4px 8px;background:#64748b33;border-radius:4px;font-size:12px;color:var(--text)}.more-symbols{padding:4px 8px;background:#7aa2f726;border-radius:4px;font-size:12px;color:var(--primary)}.symbol-count{color:var(--muted);font-size:12px}.card-footer{padding-top:12px;border-top:1px solid rgba(122,162,247,.08)}.created-date{color:var(--muted);font-size:11px}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;color:var(--text);margin:0 0 8px}.empty-state span{font-size:13px}.auth-prompt{text-align:center;padding:64px 20px;background:#1e232a80;border-radius:16px}.auth-prompt a{color:var(--primary);text-decoration:none;font-weight:500}.auth-prompt a:hover{text-decoration:underline}@media (max-width: 1024px){.watchlists-content{flex-direction:column}.watchlists-form-panel{flex:none;width:100%;position:static}.watchlists-list-panel{flex:none;width:100%;max-height:none}}@media (max-width: 600px){.watchlists-page{padding:20px}.watchlists-header{flex-direction:column;gap:16px}.back-link{align-self:flex-start}}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:10000}.auth-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1a2431;border:1px solid var(--chip-br);border-radius:12px;box-shadow:0 8px 32px #0009;z-index:10001;width:90%;max-width:420px}.auth-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--chip-br)}.auth-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text)}.auth-modal-close{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.auth-modal-close:hover{color:var(--danger)}.auth-modal-body{padding:24px}.auth-error{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger);font-size:13px;margin-bottom:16px}.auth-message{padding:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:var(--green);font-size:13px;margin-bottom:16px}.auth-form-group{margin-bottom:20px}.auth-form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.auth-form-group input{width:100%;padding:12px;background:#101722;border:1px solid var(--chip-br);border-radius:8px;color:var(--text);font-size:14px;transition:border-color .2s}.auth-form-group input:focus{border-color:var(--info);outline:none}.auth-submit-btn{width:100%;padding:12px;background:linear-gradient(135deg,#62a8ff33,#62a8ff1a);border:1px solid var(--info);border-radius:8px;color:var(--info);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:16px}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#62a8ff4d,#62a8ff33);box-shadow:0 2px 8px #62a8ff4d}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer{display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--muted);text-align:center}.auth-link-btn{background:none;border:none;color:var(--info);cursor:pointer;font-size:inherit;text-decoration:underline;padding:0}.auth-link-btn:hover{color:var(--info);opacity:.8}@media (max-width: 768px){.auth-modal{width:95%;max-width:95%}}.coming-soon-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e4e4e4;overflow-y:auto;padding:2rem 1rem}.coming-soon-content{max-width:1200px;margin:0 auto;text-align:center}.coming-soon-logo{margin-bottom:2rem}.logo-icon{font-size:4rem;display:block;margin-bottom:1rem}.coming-soon-logo h1{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.coming-soon-tagline{margin-bottom:4rem}.coming-soon-tagline h2{font-size:2rem;font-weight:600;margin-bottom:1rem;color:#fff}.coming-soon-tagline p{font-size:1.125rem;color:#b4b4b4;max-width:600px;margin:0 auto}.coming-soon-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:4rem;max-width:900px;margin-left:auto;margin-right:auto}.feature-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;transition:transform .2s,background .2s}.feature-card:hover{transform:translateY(-4px);background:#ffffff14}.feature-icon{font-size:2.5rem;display:block;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#fff}.feature-card p{font-size:.9rem;color:#b4b4b4;line-height:1.5}.coming-soon-cta{margin-bottom:4rem}.cta-primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 3rem;font-size:1.125rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-bottom:1rem}.cta-primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.cta-subtitle{color:#b4b4b4;font-size:.9rem}.user-welcome{background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:12px;padding:2rem;max-width:500px;margin:0 auto}.welcome-text{font-size:1.25rem;font-weight:600;color:#667eea;margin-bottom:.5rem}.coming-soon-message{font-size:1rem;color:#e4e4e4}.coming-soon-tiers{margin-bottom:4rem}.coming-soon-tiers h3{font-size:2rem;font-weight:600;margin-bottom:2rem;color:#fff}.tier-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.tier-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;position:relative;transition:transform .2s,box-shadow .2s}.tier-card:hover{transform:translateY(-4px)}.tier-featured{background:#667eea1a;border:2px solid #667eea;box-shadow:0 8px 32px #667eea33}.tier-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600}.tier-card h4{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff}.tier-price{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:#667eea}.tier-price span{font-size:1rem;font-weight:400;color:#b4b4b4}.tier-features{list-style:none;padding:0;margin:0 0 2rem;text-align:left}.tier-features li{padding:.5rem 0;color:#e4e4e4;font-size:.9rem}.tier-btn{width:100%;padding:.75rem;background:#667eea33;border:1px solid #667eea;color:#667eea;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.tier-btn:hover:not(:disabled){background:#667eea;color:#fff}.tier-btn:disabled{opacity:.5;cursor:not-allowed}.tier-featured .tier-btn:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.coming-soon-footer{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:#b4b4b4}.coming-soon-footer a{color:#667eea;text-decoration:none;font-weight:600}.coming-soon-footer a:hover{text-decoration:underline}@media (max-width: 768px){.coming-soon-logo h1{font-size:2rem}.coming-soon-tagline h2{font-size:1.5rem}.coming-soon-features,.tier-cards{grid-template-columns:1fr}}.upgrade-prompt{background:#667eea1a;border:2px solid #667eea;border-radius:12px;padding:3rem 2rem;text-align:center;max-width:500px;margin:2rem auto}.upgrade-prompt-icon{font-size:3rem;margin-bottom:1rem}.upgrade-prompt h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#fff}.upgrade-prompt p{color:#b4b4b4;margin-bottom:1.5rem;line-height:1.6}.upgrade-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:2rem}.reset-password-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:3rem 2rem;max-width:450px;width:100%;box-shadow:0 8px 32px #0000004d}.reset-password-card h2{font-size:1.75rem;font-weight:600;color:#fff;margin-bottom:2rem;text-align:center}.reset-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#e4e4e4;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;background:#ffffff14}.reset-submit-btn{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:1rem}.reset-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.reset-submit-btn:disabled{opacity:.6;cursor:not-allowed}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff}.reset-password-card p{text-align:center;color:#b4b4b4;margin-top:1rem}.pricing-matrix-container{width:100%;max-width:1400px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.pricing-matrix-header{text-align:center;margin-bottom:40px}.pricing-matrix-header h2{font-size:2.5rem;font-weight:700;margin:0 0 12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-matrix-subtitle{font-size:1.1rem;color:var(--muted, #6b7280);margin:0}.pricing-matrix-wrapper{overflow-x:auto;border-radius:12px;box-shadow:0 4px 20px #0000001a;background:var(--card-bg, #1a1f2e);margin-bottom:30px}.pricing-matrix{width:100%;border-collapse:collapse;font-size:.95rem}.pricing-matrix thead tr{background:linear-gradient(180deg,rgba(102,126,234,.1) 0%,transparent 100%)}.pricing-matrix th{padding:24px 16px;text-align:left;border-bottom:2px solid var(--border, #2d3748);font-weight:600}.feature-column{width:35%;min-width:200px;font-size:1rem;color:var(--text, #e2e8f0)}.tier-column{width:21.66%;text-align:center;vertical-align:middle;position:relative}.tier-column.current-plan{background:linear-gradient(180deg,rgba(102,126,234,.15) 0%,transparent 100%)}.tier-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:150px}.coming-soon-stamp{position:absolute;top:20px;right:10px;background:#ef4444e6;color:#fff;padding:8px 16px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:3px solid rgba(239,68,68,.5);border-radius:4px;transform:rotate(15deg);box-shadow:0 4px 12px #ef444466;z-index:10}.tier-name{font-size:1.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tier-free .tier-name{color:#94a3b8}.tier-pro .tier-name{color:#3b82f6}.tier-elite .tier-name{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tier-price{font-size:2rem;font-weight:800;color:var(--text, #e2e8f0)}.tier-period{font-size:.85rem;color:var(--muted, #6b7280)}.tier-badge{display:inline-block;padding:4px 12px;margin-top:8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1f2e;font-size:.75rem;font-weight:700;text-transform:uppercase;border-radius:12px;letter-spacing:.5px;box-shadow:0 2px 8px #fbbf2466}.tier-description{margin-top:16px;padding:12px;font-size:.85rem;line-height:1.4;text-align:left;color:var(--muted, #94a3b8);background:#667eea0d;border-radius:6px;max-width:240px}.tier-description strong{display:block;color:var(--text, #e2e8f0);font-size:.9rem;margin-bottom:6px;font-weight:600}.tier-description p{margin:0;font-size:.8rem}.current-badge{display:inline-block;padding:4px 10px;margin-top:8px;background:#667eea33;color:#667eea;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:8px;border:1px solid rgba(102,126,234,.4)}.category-row{background:#667eea0d}.category-header{padding:16px!important;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#667eea;border-top:1px solid var(--border, #2d3748)}.pricing-matrix tbody tr{border-bottom:1px solid var(--border, #2d3748);transition:background-color .2s}.pricing-matrix tbody tr:hover{background:#667eea0d}.pricing-matrix tbody tr.highlight-row{background:#667eea14}.pricing-matrix tbody tr.highlight-row:hover{background:#667eea1f}.pricing-matrix td{padding:14px 16px}.feature-name{font-weight:500;color:var(--text, #e2e8f0)}.tier-value{text-align:center;font-size:.95rem}.checkmark{display:inline-block;color:#10b981;font-size:1.4rem;font-weight:700}.not-available{display:inline-block;color:var(--muted, #6b7280);font-size:1.2rem;opacity:.5}.feature-text{color:var(--text-secondary, #cbd5e1);font-weight:500}.pricing-matrix-cta{display:flex;justify-content:center;gap:20px;margin:30px 0;flex-wrap:wrap}.pricing-cta-btn{padding:14px 32px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #00000026}.pro-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.pro-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.elite-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1f2e}.elite-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #fbbf2466}.current-plan-message{font-size:1.1rem;font-weight:600;color:#10b981;text-align:center}.pricing-matrix-footer{text-align:center;padding:20px;background:#667eea0d;border-radius:8px;margin-top:20px}.pricing-matrix-footer p{margin:8px 0;color:var(--text-secondary, #cbd5e1);font-size:.95rem}.pricing-matrix-footer strong{color:#fbbf24}.pricing-note{font-size:.85rem!important;color:var(--muted, #6b7280)!important;margin-top:12px!important}@media (max-width: 1024px){.pricing-matrix-header h2{font-size:2rem}.pricing-matrix{font-size:.9rem}.tier-price{font-size:1.6rem}}@media (max-width: 768px){.pricing-matrix-container{padding:20px 10px}.pricing-matrix-header h2{font-size:1.75rem}.pricing-matrix-subtitle{font-size:1rem}.pricing-matrix{font-size:.85rem}.pricing-matrix th,.pricing-matrix td{padding:10px 8px}.feature-column{min-width:150px}.tier-name{font-size:1.1rem}.tier-price{font-size:1.4rem}.tier-period{font-size:.75rem}.pricing-cta-btn{padding:12px 24px;font-size:.9rem}}@media (max-width: 480px){.pricing-matrix-header h2{font-size:1.5rem}.tier-column{width:28%}.feature-column{width:44%;min-width:120px}.pricing-matrix{font-size:.8rem}.tier-name{font-size:1rem}.tier-price,.checkmark{font-size:1.2rem}.pricing-cta-btn{width:100%}}.landing-page{min-height:100vh;background:#0a0e1a;color:#fff;overflow-x:hidden}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0e1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.landing-nav-content{max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#fff}.landing-logo-img{height:40px;width:auto}.landing-logo-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-nav-links{display:flex;align-items:center;gap:2rem}.landing-nav-link{color:#fffc;text-decoration:none;font-weight:500;transition:color .2s}.landing-nav-link:hover{color:#fff}.landing-nav-login{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.landing-nav-login:hover{border-color:#fff6;background:#ffffff0d}.landing-nav-signup{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:.5rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #667eea66}.landing-nav-signup:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.landing-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:8rem 2rem 4rem;overflow:hidden}.landing-hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(102,126,234,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.15) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(99,102,241,.1) 0%,transparent 50%);animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.8}}.landing-hero-content{position:relative;z-index:1;max-width:1200px;text-align:center}.landing-hero-logo{margin-bottom:2rem;animation:fadeInUp .8s ease}.landing-hero-logo-img{height:320px;width:auto}.landing-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:50px;font-size:.875rem;font-weight:600;color:#a5b4fc;margin-bottom:2rem;animation:fadeInUp .8s ease .1s both}.landing-hero-title{font-size:4.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;animation:fadeInUp .8s ease .2s both;letter-spacing:-.02em}.landing-hero-gradient{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-subtitle{font-size:1.25rem;color:#ffffffb3;margin-bottom:3rem;line-height:1.6;animation:fadeInUp .8s ease .4s both}.landing-hero-cta{display:flex;gap:1rem;justify-content:center;margin-bottom:4rem;animation:fadeInUp .8s ease .6s both;flex-wrap:wrap}.landing-hero-btn{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s;border:none}.landing-hero-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 25px #667eea66}.landing-hero-btn.primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px #667eea99}.landing-hero-btn.secondary{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.2)}.landing-hero-btn.secondary:hover{background:#ffffff1a;border-color:#ffffff4d}.landing-cta-primary{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 25px #667eea66}.landing-cta-primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px #667eea99}.landing-cta-secondary{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s;background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.2)}.landing-cta-secondary:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.landing-hero-stats{display:flex;gap:4rem;justify-content:center;animation:fadeInUp .8s ease .8s both;flex-wrap:wrap}.landing-stat{text-align:center}.landing-stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-stat-label{font-size:.875rem;color:#fff9;margin-top:.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-section-header{text-align:center;margin-bottom:4rem}.landing-section-title{font-size:3rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.landing-section-subtitle{font-size:1.25rem;color:#fff9}.landing-features{padding:8rem 2rem;max-width:1400px;margin:0 auto}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.landing-feature-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;transition:all .3s;cursor:pointer}.landing-feature-card:hover,.landing-feature-card.hovered{transform:translateY(-8px);background:#ffffff0d;border-color:#fff3;box-shadow:0 20px 40px #0000004d}.landing-feature-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1.5rem;box-shadow:0 8px 20px #0003}.landing-feature-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.landing-feature-description{color:#ffffffb3;line-height:1.6}.landing-showcase{padding:8rem 2rem;background:linear-gradient(180deg,#0a0e1a,#0f1419,#0a0e1a);position:relative}.landing-showcase-container{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:12rem}.showcase-block{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.showcase-block.reverse{direction:rtl}.showcase-block.reverse>*{direction:ltr}.showcase-content{padding:2rem 0}.showcase-title{font-size:2.75rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.showcase-description{font-size:1.25rem;line-height:1.8;color:#ffffffb3;font-weight:400}.showcase-image-wrapper{position:relative;border-radius:20px;overflow:hidden}.showcase-glow{position:absolute;top:-50%;left:-50%;right:-50%;bottom:-50%;background:radial-gradient(circle,rgba(102,126,234,.15) 0%,transparent 70%);z-index:0;animation:glowPulse 8s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.showcase-image{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0009,0 0 80px #667eea26;position:relative;z-index:1;transition:transform .5s ease,box-shadow .5s ease}.showcase-image:hover{transform:scale(1.02);box-shadow:0 30px 80px #000000b3,0 0 120px #667eea40}.landing-pricing{padding:8rem 2rem;max-width:1400px;margin:0 auto}.landing-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.landing-pricing-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;position:relative;transition:all .3s}.landing-pricing-card.highlighted{background:#667eea0d;border-color:#667eea4d;transform:scale(1.05);box-shadow:0 20px 40px #667eea33}.landing-pricing-card.coming-soon{opacity:.7}.landing-pricing-card:hover{transform:translateY(-5px);border-color:#fff3}.landing-pricing-card.highlighted:hover{transform:scale(1.05) translateY(-5px)}.landing-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.landing-pricing-badge-alt{position:absolute;top:1rem;right:1rem;background:#ffffff1a;color:#fffc;padding:.4rem .8rem;border-radius:6px;font-size:.75rem;font-weight:600}.landing-pricing-header{margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:2rem}.landing-pricing-name{font-size:1.75rem;font-weight:700;margin-bottom:1rem}.landing-pricing-price{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1rem}.landing-pricing-amount{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-pricing-period{color:#fff9;font-size:1rem}.landing-pricing-description{color:#ffffffb3;line-height:1.6}.landing-pricing-features{list-style:none;padding:0;margin:0 0 2rem}.landing-pricing-feature{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#fffc}.landing-pricing-check{color:#667eea;font-weight:700;font-size:1.5rem}.landing-pricing-cta{width:100%;padding:1rem;border-radius:12px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s;border:none}.landing-pricing-cta.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 20px #667eea66}.landing-pricing-cta.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #667eea99}.landing-pricing-cta.secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#fff}.landing-pricing-cta.secondary:hover{background:#ffffff1a}.landing-pricing-cta.disabled{opacity:.5;cursor:not-allowed}.landing-pricing-footer{text-align:center}.landing-pricing-link{color:#a5b4fc;text-decoration:none;font-weight:600;transition:color .2s}.landing-pricing-link:hover{color:#c7d2fe}.landing-cta{padding:8rem 2rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);text-align:center}.landing-cta-content{max-width:800px;margin:0 auto}.landing-cta-title{font-size:3rem;font-weight:800;margin-bottom:1rem}.landing-cta-subtitle{font-size:1.25rem;color:#ffffffb3;margin-bottom:2.5rem}.landing-cta-button{padding:1.25rem 3rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:1.2rem;cursor:pointer;transition:all .3s;box-shadow:0 10px 30px #667eea66;margin-bottom:1rem}.landing-cta-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #667eea99}.landing-cta-note{color:#fff9;font-size:.875rem;margin-top:1rem}.landing-footer{background:#0000004d;border-top:1px solid rgba(255,255,255,.1);padding:4rem 2rem 2rem}.landing-footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;margin-bottom:3rem;gap:4rem;flex-wrap:wrap}.landing-footer-left{flex:1;min-width:300px}.landing-footer-logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.landing-footer-logo-img{height:32px;width:auto}.landing-footer-tagline{color:#fff9;line-height:1.6;max-width:400px}.landing-footer-links{display:flex;gap:4rem;flex-wrap:wrap}.landing-footer-column{display:flex;flex-direction:column;gap:.75rem}.landing-footer-column h4{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;color:#ffffffe6}.landing-footer-column a{color:#fff9;text-decoration:none;font-size:.875rem;transition:color .2s}.landing-footer-column a:hover{color:#fff}.landing-footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;color:#ffffff80;font-size:.875rem}.landing-footer-disclaimer{font-size:.75rem;color:#fff6;font-style:italic}@media (max-width: 1024px){.landing-hero-title{font-size:3.5rem}.landing-section-title{font-size:2.5rem}.landing-features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.showcase-block{grid-template-columns:1fr;gap:3rem}.showcase-block.reverse{direction:ltr}.showcase-title{font-size:2.25rem}.showcase-description{font-size:1.1rem}.landing-pricing-grid{grid-template-columns:1fr}.landing-pricing-card.highlighted{transform:scale(1)}.landing-pricing-card.highlighted:hover{transform:translateY(-5px)}}@media (max-width: 768px){.landing-nav-content{padding:1rem}.landing-nav-links{gap:1rem}.landing-hero{padding:6rem 1rem 3rem}.landing-hero-title{font-size:2.5rem}.landing-hero-subtitle{font-size:1rem}.landing-hero-btn{padding:.875rem 1.5rem;font-size:1rem}.landing-hero-stats{gap:2rem}.landing-stat-value,.landing-section-title{font-size:2rem}.landing-section-subtitle{font-size:1rem}.landing-features,.landing-showcase,.landing-pricing,.landing-cta{padding:4rem 1rem}.landing-features-grid{grid-template-columns:1fr}.landing-showcase-container{gap:6rem}.showcase-title{font-size:1.75rem}.showcase-description{font-size:1rem}.landing-cta-title{font-size:2rem}.landing-footer-content{flex-direction:column;gap:2rem}.landing-footer-bottom{flex-direction:column;text-align:center}}.landing-waitlist-container{max-width:600px;margin:0 auto;text-align:center;animation:fadeInUp .8s ease .6s both}.landing-waitlist-text{font-size:1.125rem;color:#fffc;margin-bottom:1.5rem}.landing-waitlist-form{display:flex;gap:1rem;margin-bottom:1rem}.landing-waitlist-input{flex:1;padding:1rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;transition:all .3s}.landing-waitlist-input:focus{outline:none;border-color:#667eea;background:#ffffff14}.landing-waitlist-input::placeholder{color:#fff6}.landing-waitlist-btn{padding:1rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;box-shadow:0 8px 25px #667eea66}.landing-waitlist-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px #667eea99}.landing-waitlist-success{color:#43e97b;font-size:1rem;margin:0;padding:.75rem;background:#43e97b1a;border:1px solid rgba(67,233,123,.3);border-radius:8px}.landing-waitlist-error{color:#f5576c;font-size:1rem;margin:0;padding:.75rem;background:#f5576c1a;border:1px solid rgba(245,87,108,.3);border-radius:8px}.terms-container{min-height:100vh;background:linear-gradient(180deg,#0f1419,#1a2332);padding:40px 20px}.terms-content{max-width:800px;margin:0 auto;color:#e0e0e0;line-height:1.7}.terms-content .back-button{background:transparent;border:1px solid #3a4553;color:#7aa2f7;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;margin-bottom:24px;transition:all .2s ease}.terms-content .back-button:hover{background:#7aa2f71a;border-color:#7aa2f7}.terms-content h1{font-size:36px;font-weight:700;margin-bottom:16px;background:linear-gradient(135deg,#7aa2f7,#bb9af7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.terms-content .effective-date{color:#888;margin-bottom:24px;font-size:14px}.terms-content h2{font-size:22px;font-weight:600;color:#7aa2f7;margin:32px 0 16px}.terms-content p{margin-bottom:16px;color:silver}.terms-content ul{margin:0 0 16px 24px;padding:0}.terms-content li{margin-bottom:8px;color:#b0b0b0}.terms-content strong{color:#e0e0e0}.terms-content hr{border:none;border-top:1px solid #2a3441;margin:32px 0}.terms-content a{color:#7aa2f7;text-decoration:none}.terms-content a:hover{text-decoration:underline}.disclaimer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.disclaimer-modal{background:var(--panel);border:2px solid var(--border);border-radius:16px;max-width:600px;width:100%;box-shadow:0 8px 32px #0006}.disclaimer-header{padding:24px 24px 16px;border-bottom:1px solid var(--border)}.disclaimer-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.disclaimer-content{padding:24px;color:var(--text);font-size:15px;line-height:1.7}.disclaimer-content p{margin:0 0 16px}.disclaimer-content p:last-child{margin-bottom:0}.disclaimer-content strong{color:var(--accent);font-weight:600}.disclaimer-checkbox{padding:0 24px 20px}.disclaimer-checkbox label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;color:var(--text);font-weight:500}.disclaimer-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--accent)}.disclaimer-accept-btn{width:calc(100% - 48px);margin:0 24px 24px;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.disclaimer-accept-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.disclaimer-accept-btn:disabled{opacity:.4;cursor:not-allowed}.filters-dropdown{position:relative;display:inline-block}.filters-dropdown-trigger{padding:6px 12px;font-size:14px;background:linear-gradient(135deg,var(--info) 0%,var(--bull) 100%);border:1px solid var(--info);border-radius:4px;color:#fff;cursor:pointer;font-weight:600;transition:all .2s ease}.filters-dropdown-trigger:hover{filter:brightness(1.1);box-shadow:0 2px 8px #4facfe4d}.filters-dropdown-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:600px;max-width:750px;background:#0f141b;border:1px solid #2a2f36;border-radius:12px;box-shadow:0 8px 24px #00000080;z-index:1000;padding:16px;max-height:85vh;overflow-y:auto}.filters-dropdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.filters-dropdown-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.reset-button{padding:6px 14px;font-size:13px;background:var(--chip-bg);border:1px solid var(--chip-br);border-radius:6px;color:var(--chip-txt);cursor:pointer;font-weight:500;transition:all .2s ease}.reset-button:hover{background:var(--bear);color:#fff;border-color:var(--bear)}.create-alert-button{padding:6px 14px;font-size:13px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid #3b82f6;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.create-alert-button:hover{filter:brightness(1.1);box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.view-alerts-button{padding:6px 14px;font-size:13px;background:transparent;border:1px solid #3b82f6;border-radius:6px;color:#3b82f6;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.view-alerts-button:hover{background:#3b82f61a;border-color:#2563eb;transform:translateY(-1px)}@keyframes slideDown{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.filters-dropdown-content{display:flex;flex-direction:column;gap:10px}.filter-section{padding:12px;background:#1a1d23;border-radius:8px;border:1px solid #3a3f47}.filter-section-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:14px;color:#e5e7eb}.filter-section-toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px}.filter-section-header{font-weight:600;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.filter-section-content{display:flex;flex-direction:column;gap:8px;margin-top:10px}.filter-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.filter-control{display:flex;flex-direction:column;gap:4px;flex:1;min-width:150px}.filter-control label{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.filter-control select{padding:8px 12px!important;font-size:.9em!important;background:#2a2f36!important;border:1px solid #3a3f47!important;border-radius:6px!important;color:#e5e7eb!important;cursor:pointer!important;transition:border-color .15s ease!important}.filter-control select:hover{border-color:#60a5fa!important}.filter-control select:focus{outline:none!important;border-color:#60a5fa!important;box-shadow:none!important}.filters-dropdown-panel::-webkit-scrollbar{width:8px}.filters-dropdown-panel::-webkit-scrollbar-track{background:var(--neutral-bg);border-radius:4px}.filters-dropdown-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.filters-dropdown-panel::-webkit-scrollbar-thumb:hover{background:var(--muted)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg, #1a1d29);border:1px solid var(--border-color, #2a2d3a);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color, #2a2d3a)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary, #fff)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary, #888);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--hover-bg, rgba(255, 255, 255, .05));color:var(--text-primary, #fff)}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-color, #2a2d3a);display:flex;gap:12px;justify-content:flex-end}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary, #fff)}.form-group input{width:100%;padding:10px 12px;background:var(--input-bg, #0f1117);border:1px solid var(--border-color, #2a2d3a);border-radius:6px;color:var(--text-primary, #fff);font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.form-group select,.form-select{width:100%;padding:10px 12px;background:var(--input-bg, #0f1117);border:1px solid var(--border-color, #2a2d3a);border-radius:6px;color:var(--text-primary, #fff);font-size:14px;cursor:pointer;transition:border-color .2s}.form-group select:focus,.form-select:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.form-group small{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary, #888)}.error-message{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;margin-bottom:20px;font-size:14px}.alert-summary{background:var(--hover-bg, rgba(255, 255, 255, .03));border:1px solid var(--border-color, #2a2d3a);border-radius:8px;padding:16px;margin-top:20px}.alert-summary h4{margin:0 0 12px;font-size:14px;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.summary-item{margin-bottom:12px;font-size:14px}.summary-item:last-child{margin-bottom:0}.summary-item strong{color:var(--text-primary, #fff);margin-right:8px}.summary-item ul{margin:8px 0 0;padding-left:20px;color:var(--text-secondary, #aaa)}.summary-item li{margin-bottom:4px}.primary-button{padding:10px 20px;background:var(--primary-color, #3b82f6);border:none;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.primary-button:hover:not(:disabled){background:var(--primary-hover, #2563eb);transform:translateY(-1px)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{padding:10px 20px;background:transparent;border:1px solid var(--border-color, #2a2d3a);border-radius:6px;color:var(--text-primary, #fff);font-weight:500;cursor:pointer;transition:all .2s}.secondary-button:hover:not(:disabled){background:var(--hover-bg, rgba(255, 255, 255, .05));border-color:var(--text-secondary, #888)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.telegram-link-button{display:inline-block;margin-top:16px;padding:12px 24px;background:#08c;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s}.telegram-link-button:hover{background:#0077b3;transform:translateY(-1px)}.modal-body ol{margin:16px 0;padding-left:24px;color:var(--text-secondary, #aaa)}.modal-body li{margin-bottom:8px;line-height:1.5}.channels-toggle{background:none;border:none;color:var(--text-primary, #fff);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:8px;width:100%;text-align:left}.channels-toggle:hover{color:var(--primary-color, #3b82f6)}.channel-badge{font-size:11px;background:var(--primary-color, #3b82f6);color:#fff;padding:2px 8px;border-radius:10px;font-weight:400}.channels-config{margin-top:12px;padding:12px;background:var(--hover-bg, rgba(255, 255, 255, .03));border:1px solid var(--border-color, #2a2d3a);border-radius:8px}.channel-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.channel-row+.channel-row{border-top:1px solid var(--border-color, #2a2d3a)}.channel-label{display:flex!important;align-items:center;gap:8px;font-size:14px;color:var(--text-primary, #fff);margin-bottom:0!important;cursor:pointer}.channel-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.channel-hint{font-size:12px;color:var(--text-secondary, #888)}.webhook-fields{margin-top:12px;display:flex;flex-direction:column;gap:8px}.webhook-url-input,.webhook-secret-input{width:100%;padding:8px 12px;background:var(--input-bg, #0f1117);border:1px solid var(--border-color, #2a2d3a);border-radius:6px;color:var(--text-primary, #fff);font-size:13px}.webhook-url-input:focus,.webhook-secret-input:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.test-webhook-btn{align-self:flex-start;padding:6px 14px;background:transparent;border:1px solid var(--border-color, #2a2d3a);border-radius:6px;color:var(--text-primary, #fff);font-size:12px;cursor:pointer;transition:all .2s}.test-webhook-btn:hover:not(:disabled){background:var(--hover-bg, rgba(255, 255, 255, .05));border-color:var(--text-secondary, #888)}.test-webhook-btn:disabled{opacity:.5;cursor:not-allowed}.webhook-test-result{font-size:12px;padding:4px 0}.webhook-test-result.success{color:#22c55e}.webhook-test-result.error{color:#ef4444}.alert-list-modal{max-width:700px;max-height:80vh}.alert-list-modal .modal-body{max-height:60vh;overflow-y:auto}.loading-state,.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state p{margin:10px 0;color:var(--text-secondary)}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{border:1px solid var(--border);border-radius:10px;padding:18px;background:var(--bg-secondary);transition:all .2s}.alert-item.paused{background:var(--bg-tertiary);opacity:.8}.alert-item:hover{box-shadow:0 4px 12px #0003;border-color:#3b82f64d}.alert-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.alert-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;flex:1}.alert-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.alert-status-dot.active{background:#4caf50;box-shadow:0 0 4px #4caf5099}.alert-status-dot.paused{background:#999}.paused-badge{background:#999;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.alert-actions{display:flex;gap:8px}.icon-button{background:transparent;border:1px solid #ddd;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .2s}.icon-button:hover{background:#f5f5f5;border-color:#bbb}.icon-button.delete-button:hover{background:#ffebee;border-color:#f44336}.alert-item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;font-size:13px;color:#666}.alert-detail{padding:4px 0}.alert-detail strong{color:#333;margin-right:6px}:root{--bg:#0f141b;--panel:#131a22;--muted:#748090;--text:#e6edf3;--line:#223042;--bull:#1ed37a;--bear:#ff5b5b;--info:#62a8ff;--amber:#f2b84b;--chip-bg:#0b1016;--chip-br:#253445;--chip-txt:#dfe7ef}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial}a.link{color:#7cc7ff;text-decoration:none;cursor:pointer}a.link:hover{text-decoration:underline}.sticky a.link{font-weight:600;color:#88d4ff}.sticky a.link:hover{color:#b3e5ff;text-decoration:none;text-shadow:0 0 8px rgba(136,212,255,.4)}.muted{color:var(--muted)}.shell{max-width:1240px;margin:16px auto;padding:0 16px}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}h1{margin:0 0 4px;font-weight:700;font-size:20px}.btn{background:#1a2431;border:1px solid var(--chip-br);color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer}.btn:hover{filter:brightness(1.08)}.toggle{display:flex;align-items:center;gap:8px}.toggle input{accent-color:#79c0ff}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 14px}.filter{display:flex;align-items:center;gap:8px}.filter>label{font-weight:600;color:var(--muted)}.filter select,.symbolsInput{background:#1a2431;border:1px solid var(--chip-br);color:var(--text);padding:8px 12px;border-radius:10px;outline:none;font-weight:500;cursor:pointer;transition:all .2s ease}.filter select:hover{filter:brightness(1.08)}.symbolsInput{min-width:320px}.label{color:var(--muted);font-weight:700;padding:6px 2px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.table-container{overflow:auto;max-height:calc(100vh - 200px)}.screener-table{width:100%;border-collapse:collapse}.screener-table th{color:#9fb3c8;text-align:center;padding:10px 12px;background:var(--panel);position:sticky;top:0;z-index:10}.screener-table tbody tr{border-top:8px solid transparent;content-visibility:auto;contain-intrinsic-size:0 50px}.screener-table td{padding:12px;border-top:1px solid #1e2935;border-bottom:1px solid #1e2935;background:#0f1620;text-align:center}.screener-table tr td:first-child{border-left:1px solid #1e2935;border-radius:10px 0 0 10px}.screener-table tr td:last-child{border-right:1px solid #1e2935;border-radius:0 10px 10px 0}.sticky{position:sticky;background:#0f1620;z-index:3}.screener-table th.sticky{background:var(--panel);z-index:11}.screener-table td.sticky,.screener-table th.sticky{z-index:3;background-color:#0f1620}.screener-table th.sticky{background-color:var(--panel);z-index:11}.screener-table .sticky-star{min-width:40px;width:40px;max-width:48px}.screener-table .sticky-rank{min-width:64px;width:70px}.screener-table .sticky-sym{min-width:100px;width:120px}.screener-table .sticky-last{min-width:90px;width:100px}.screener-table td.sticky-last,.screener-table th.sticky-last{box-shadow:4px 0 8px #00000073}.tone.bull{color:var(--bull)}.tone.bear{color:var(--bear)}.tone.info{color:var(--info)}.tone.neutral{color:#bfc9d6}.tone.accumulation{color:#f0b429}.tone.distribution{color:#ff8c42}.tone.bull-weak{color:#6db3f2}.tone.bear-weak{color:#c97c88}.tone.warning{color:orange}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:12px;line-height:1;border:1px solid var(--chip-br);background:var(--chip-bg);color:var(--chip-txt);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.pill.bull{background:#1ed37a1f;border-color:#1ed37a59;color:#b3ffd9}.pill.bear{background:#ff5b5b1f;border-color:#ff5b5b59;color:#ffc9c9}.pill.info{background:#62a8ff1f;border-color:#62a8ff59;color:#cfe4ff}.pill.neutral{background:#7aa2f714;border-color:#7aa2f740;color:#a9c7ff;font-weight:600}.pill-bullish{display:inline-flex;align-items:center;gap:.35rem;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px;background:#00c8782e;color:#00c878}.pill-bearish{display:inline-flex;align-items:center;gap:.35rem;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px;background:#ff46462e;color:#ff4646}.pill-neutral{display:inline-flex;align-items:center;gap:.35rem;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px;background:#b4b4b424;color:#dcdcdce6}.colmenu-wrapper{position:relative}.colmenu{position:absolute;top:40px;right:0;background:#101723;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;z-index:5}.colmenu-title{font-weight:700;color:#b9c8d8;margin-bottom:6px}.colmenu-item{display:flex;align-items:center;gap:8px}.colmenu input[type=checkbox]{accent-color:#67e3a7}.preset-root{position:relative}.preset-menu{position:absolute;top:40px;left:0;background:#101723;border:1px solid var(--line);border-radius:12px;padding:12px;z-index:6;min-width:560px}.preset-any{margin-bottom:8px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.preset-title{font-weight:700;color:#b9c8d8;margin-bottom:4px}.preset-item{padding:6px 8px;border-radius:8px;cursor:pointer;background:#111a25;border:1px solid #1f2a37}.preset-item:hover{background:#152133}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin:14px 0}.cardTitle{font-weight:700;margin-bottom:10px;color:#cfe0f1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{width:100%;border-collapse:collapse}.mini th,.mini td{padding:10px;border-bottom:1px solid #1b2734;text-align:center}.mini th{text-align:center;color:#9fb3c8}.chart-wrap{position:relative}.spark{width:100%;height:auto;display:block}.axisLayer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.grid{stroke:#1d2a38;stroke-width:1}.axisText{fill:#c9d6e3;font-size:11px}.tooltip{fill:#0d141d;stroke:#2a394c;stroke-width:1}.tooltip-text{fill:#dfe7ef;font-size:12px}.seg{display:flex;gap:8px}.seg-btn{background:#192433;border:1px solid #2a3b4f;color:#cfe0f1;padding:6px 12px;border-radius:999px;cursor:pointer}.seg-btn.active{background:#203246;border-color:#3b5675}.filters.pro{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.filterGroup{display:flex;gap:8px;align-items:flex-end;padding:8px;border:1px solid var(--panel);border-radius:10px;background:#ffffff05}.filterTitle{font-size:12px;opacity:.7;margin-bottom:4px}.filter select{background:var(--panel);color:var(--fg);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:6px 8px}.filters.pro.modern{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.filterGroup.modern{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--panel);border-radius:12px;background:#ffffff08;min-width:280px}.filterGroup.modern.on{box-shadow:0 0 0 1px #00ffc833 inset}.filterGroup.modern.off{opacity:.85}.filterGroupHead{display:flex;align-items:center;justify-content:space-between}.filterTitle{font-size:12px;opacity:.75}.filter.joiner{display:flex;align-items:flex-end;gap:8px}.seg{display:inline-flex;border:1px solid var(--panel);border-radius:10px;overflow:hidden}.toggle.pillish{display:inline-flex;gap:6px;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid var(--panel)}.small{font-size:12px}.pill-btn{border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--fg);padding:6px 10px;border-radius:999px;font-size:12px;cursor:pointer}.pill-btn.on{background:#f59e0b22;border-color:#f59e0b66;box-shadow:0 0 0 1px #f59e0b33 inset}.tinySelect{width:64px}.seg{display:inline-flex;border:1px solid var(--panel);border-radius:10px;overflow:hidden;margin:0 8px}.seg-btn{padding:6px 10px;font-size:12px;background:transparent;border:none;cursor:pointer}.seg-btn.active{background:var(--panel)}.pill,.tone{white-space:nowrap}.pill:after,.tone:after{white-space:nowrap}.shell{max-width:min(96vw,1920px)}.panel{overflow-x:visible;overflow-y:hidden}.table-container{overflow-x:auto;overflow-y:visible;margin-bottom:0}.screener-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.screener-table th,.screener-table td{white-space:nowrap;vertical-align:middle}.pill,.tone{display:inline-block}.pill.bull{background:#2ea0431f;border:1px solid rgba(46,160,67,.35);color:#cfead6}.pill.bear{background:#d04a491f;border:1px solid rgba(208,74,73,.35);color:#f2c4c4}.pill.info{background:#4678c81f;border:1px solid rgba(70,120,200,.35);color:#c8d8ff}.pill.neutral{background:#b4a05a1f;border:1px solid rgba(180,160,90,.35);color:#f1e0b0}@media (min-width: 1800px){.shell{max-width:min(96vw,2200px)}}.screener-table th,.screener-table td{padding:10px 12px;vertical-align:middle;white-space:nowrap}.screener-table td.status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.screener-table td.sticky,.screener-table th:first-child{width:140px;max-width:180px}.pill.bull{background:#2ecc711f;color:var(--bull);border:1px solid rgba(46,204,113,.25)}.pill.bear{background:#e74c3c1f;color:var(--bear);border:1px solid rgba(231,76,60,.25)}.pill.info{background:#3498db1f;color:#89bfff;border:1px solid rgba(52,152,219,.25)}.pill.neutral{background:#7f8c8d1f;color:#c8c8c8;border:1px solid rgba(127,140,141,.25)}@media (max-width: 1100px){.screener-table th,.screener-table td{padding:8px 10px}}.panel{overflow-x:auto}.screener-table th,.screener-table td{padding:10px 12px;vertical-align:top;white-space:nowrap}.screener-table .tone{display:block}.screener-table.compact th,.screener-table.compact td{padding:6px 8px}@media (max-width:1100px){.screener-table th,.screener-table td{padding:8px 10px}}.screener-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.screener-table th,.screener-table td{display:table-cell!important;vertical-align:middle;white-space:nowrap;padding:8px 10px}.screener-table td .tone+.tone{margin-top:4px}.pill.bull{background:#124d2c;color:#9fffac}.pill.bear{background:#4d1b1b;color:#ffb3b3}.pill.info,.pill.neutral{background:#2f2f2f;color:#cfcfcf}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 16px}.filters .filter{display:flex;align-items:center;gap:6px}.filters .symbolsInput{min-width:360px;max-width:60vw}@media (max-width:900px){.filters .symbolsInput{min-width:220px;max-width:100%}}.screener-table td{vertical-align:top}.screener-table .tone{display:block;line-height:1.25;white-space:nowrap;margin:0;padding:1px 0}.screener-table .tone+.tone{margin-top:4px}.screener-table.compact .tone{line-height:1.15;padding:0;margin:0}.screener-table.compact .tone+.tone{margin-top:2px}.screener-table td,.screener-table th{vertical-align:top}.screener-table td{padding-top:10px!important;padding-bottom:10px!important}.screener-table .tone{display:block;line-height:1.35;white-space:nowrap;margin:0;padding:0}.screener-table .tone+.tone{margin-top:6px}.screener-table.compact td{padding-top:6px!important;padding-bottom:6px!important}.screener-table.compact .tone{line-height:1.25}.screener-table.compact .tone+.tone{margin-top:4px}.panel{overflow-x:auto;-webkit-overflow-scrolling:touch}.screener-table{min-width:1280px;table-layout:auto}.screener-table.compact{min-width:1100px}.screener-table td>div.tone{display:block;white-space:nowrap}@media (max-width: 1280px){.screener-table{min-width:1100px}}.tone.bull-sweep{color:var(--bull);opacity:.9;filter:saturate(.95) brightness(1.04)}.tone.bear-sweep{color:var(--bear);opacity:.9;filter:saturate(.95) brightness(.96)}.loading-phase-1,.loading-phase-2{animation:pulse-gentle 2s ease-in-out infinite}@keyframes pulse-gentle{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.001)}}.screener-table tbody tr{animation:fadeIn .4s ease-in;transition:opacity .3s ease,background-color .2s ease,transform .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.phase-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:.85em;font-weight:500;transition:all .3s ease}.phase-indicator.phase-1{background:#60a5fa1a;color:#60a5fa}.phase-indicator.phase-2{background:#fbbf241a;color:#fbbf24}.phase-indicator.phase-3{background:#22c55e1a;color:#22c55e}.loading-progress{width:200px;height:4px;background:#ffffff1a;position:relative;overflow:hidden;border-radius:2px;margin-left:12px}.loading-progress-bar{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);transition:width .3s cubic-bezier(.4,0,.2,1);border-radius:2px;box-shadow:0 0 10px #60a5fa80}.loading-progress-bar.indeterminate{width:40%;animation:progress-slide 1.5s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(96,165,250,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.phase-complete-flash{animation:flash-success .6s ease-out}@keyframes flash-success{0%,to{background-color:transparent}50%{background-color:#22c55e1a}}.cell-loading{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px;height:20px;min-width:60px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.cache-indicator{position:fixed;bottom:20px;right:20px;padding:8px 12px;background:#000c;border:1px solid rgba(96,165,250,.3);border-radius:6px;font-size:.75em;color:#60a5fa;z-index:1000;display:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cache-indicator.active{display:block;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.perf-metrics{display:flex;gap:12px;padding:8px 12px;background:#0000004d;border-radius:6px;font-size:.85em;margin-left:auto}.perf-metric{display:flex;flex-direction:column;gap:2px}.perf-metric-label{color:#ffffff80;font-size:.85em;font-weight:500}.perf-metric-value{color:#60a5fa;font-weight:600}@media (max-width: 768px){.loading-progress{width:100px}.phase-indicator{font-size:.75em;padding:3px 8px}.perf-metrics{display:none}}@media (prefers-reduced-motion: reduce){.loading-phase-1,.loading-phase-2,.loading-progress-bar,.loading-spinner,.cell-loading,.screener-table tbody tr{animation:none}}@media (prefers-color-scheme: dark){.loading-progress{background:#ffffff0d}.phase-indicator.phase-1{background:#60a5fa26}.phase-indicator.phase-2{background:#fbbf2426}.phase-indicator.phase-3{background:#22c55e26}}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.fast{background:#22c55e33;color:#22c55e}.status-badge.medium{background:#fbbf2433;color:#fbbf24}.status-badge.slow{background:#ef444433;color:#ef4444}.load-timing{font-family:Courier New,monospace;font-size:.8em;color:#fff9;padding:2px 6px;background:#0000004d;border-radius:3px}.screener-table-container{scroll-behavior:smooth;will-change:scroll-position}.virtual-row{will-change:transform;contain:layout style paint}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.loading-overlay.hidden{display:none}.loading-content{text-align:center;padding:40px;background:#1a1f26f2;border:1px solid rgba(96,165,250,.3);border-radius:12px;min-width:300px}.loading-title{font-size:1.2em;font-weight:600;margin-bottom:16px;color:#fff}.loading-subtitle{font-size:.9em;color:#fff9;margin-bottom:20px}.loading-phases{display:flex;gap:12px;margin-top:20px;justify-content:center}.loading-phase-dot{width:12px;height:12px;border-radius:50%;background:#fff3;transition:all .3s ease}.loading-phase-dot.active{background:#60a5fa;box-shadow:0 0 12px #60a5fa99;transform:scale(1.2)}.loading-phase-dot.complete{background:#22c55e}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s ease-out}.debug-timing{position:fixed;top:60px;right:20px;background:#000000e6;border:1px solid rgba(96,165,250,.3);border-radius:8px;padding:12px;font-family:Courier New,monospace;font-size:.75em;color:#60a5fa;z-index:9998;max-width:300px}.debug-timing-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.1)}.debug-timing-row:last-child{border-bottom:none}.debug-timing-label{color:#ffffffb3}.debug-timing-value{color:#22c55e;font-weight:600}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.live-indicator{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:6px;animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.column-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.column-manager-modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;max-width:1200px;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.column-manager-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.column-manager-header h2{margin:0;font-size:20px;font-weight:700;color:var(--text)}.column-manager-close{background:transparent;border:none;color:var(--muted);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.column-manager-close:hover{background:var(--chip-bg);color:var(--text)}.column-manager-body{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);flex:1;overflow:hidden}.column-manager-panel{background:var(--bg);padding:20px;display:flex;flex-direction:column;overflow:hidden}.column-manager-panel h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text);flex-shrink:0}.column-manager-cascade-scroll{overflow-y:auto;flex:1}.column-manager-active-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.column-manager-hint{font-size:12px;color:var(--muted)}.column-manager-active-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;padding-right:8px}.column-manager-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px;border:2px dashed var(--line);border-radius:12px}.column-manager-item{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--chip-br);border-radius:10px;padding:10px 12px;cursor:grab;transition:all .2s}.column-manager-item:active{cursor:grabbing}.column-manager-item:hover{border-color:var(--info);box-shadow:0 2px 8px #62a8ff1a}.column-manager-item-drag{color:var(--muted);display:flex;align-items:center;cursor:grab}.column-manager-item-label{flex:1;font-size:14px;color:var(--text);display:flex;align-items:center;gap:8px}.column-locked-badge{font-size:12px}.column-manager-item-remove{background:transparent;border:none;color:var(--muted);font-size:24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;transition:all .2s;padding:0;line-height:1}.column-manager-item-remove:hover{background:var(--bear);color:#fff}.column-manager-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--line);gap:16px}.column-manager-templates{display:flex;align-items:center;gap:8px;flex:1}.column-manager-template-buttons{display:flex;gap:6px;flex-wrap:wrap}.column-manager-template-item{display:flex;align-items:center;gap:2px;position:relative}.column-manager-template-btn{background:var(--chip-bg);border:1px solid var(--chip-br);color:var(--chip-txt);padding:6px 12px;border-radius:8px 0 0 8px;font-size:13px;cursor:pointer;transition:all .2s}.column-manager-template-btn:hover{background:var(--info);border-color:var(--info);color:#fff}.column-manager-template-delete{background:var(--chip-bg);border:1px solid var(--chip-br);border-left:none;color:var(--chip-txt);padding:6px 8px;border-radius:0 8px 8px 0;font-size:18px;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.column-manager-template-delete:hover{background:var(--bear);border-color:var(--bear);color:#fff}.column-manager-save-template{background:var(--chip-bg);border:1px solid var(--chip-br);color:var(--chip-txt);padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s}.column-manager-save-template:hover{filter:brightness(1.15)}.column-manager-actions{display:flex;gap:10px}.column-manager-cancel{background:var(--chip-bg);border:1px solid var(--chip-br);color:var(--text);padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:500;transition:all .2s}.column-manager-cancel:hover{filter:brightness(1.1)}.column-manager-save{background:var(--bull);border:1px solid var(--bull);color:#fff;padding:10px 24px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .2s}.column-manager-save:hover{filter:brightness(1.15);box-shadow:0 2px 12px #1ed37a4d}.column-manager-template-dialog{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.column-manager-template-dialog-content{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;min-width:400px;box-shadow:0 10px 40px #00000080}.column-manager-template-dialog-content h3{margin:0 0 16px;font-size:16px;color:var(--text)}.column-manager-template-dialog-content input{width:100%;background:var(--bg);border:1px solid var(--chip-br);color:var(--text);padding:10px 12px;border-radius:8px;font-size:14px;outline:none;margin-bottom:16px}.column-manager-template-dialog-content input:focus{border-color:var(--info)}.column-manager-template-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.column-manager-template-dialog-actions button{padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.column-manager-template-dialog-actions button:first-child{background:var(--chip-bg);border:1px solid var(--chip-br);color:var(--text)}.column-manager-template-dialog-actions button:last-child{background:var(--bull);border:1px solid var(--bull);color:#fff}.column-manager-template-dialog-actions button:last-child:disabled{opacity:.5;cursor:not-allowed}.column-manager-template-dialog-actions button:hover:not(:disabled){filter:brightness(1.15)}.dev-tooltip{position:relative;cursor:help}.dev-tooltip:before,.dev-tooltip:after{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;z-index:9999}.dev-tooltip:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1a2431;border:1px solid var(--chip-br);color:var(--text);padding:10px 14px;border-radius:8px;font-size:12px;font-weight:400;line-height:1.5;white-space:normal;width:max-content;max-width:350px;text-align:left;box-shadow:0 4px 16px #00000080}.dev-tooltip:before{content:"";position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--chip-br)}.dev-tooltip:hover:before,.dev-tooltip:hover:after{visibility:visible;opacity:1}.dev-tooltip.tip-left:after{left:0;transform:translate(0)}.dev-tooltip.tip-right:after{left:auto;right:0;transform:translate(0)}.column-studio-modal{background:var(--panel);border-radius:16px;width:95vw;max-width:1600px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;position:relative;overflow:hidden}.column-studio-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--chip-br);background:var(--panel);flex-shrink:0}.column-studio-title{display:flex;align-items:center;gap:12px}.column-studio-title h2{margin:0;font-size:22px;font-weight:600;color:var(--text)}.column-studio-unsaved-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.column-studio-close{background:transparent;border:1px solid var(--chip-br);color:var(--text);font-size:28px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s;line-height:1}.column-studio-close:hover{background:#ff5a5a1a;border-color:#ff5a5a4d;color:#ff6b6b}.column-studio-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.column-studio-panels{display:flex;gap:1px;height:100%;background:var(--chip-br);overflow:hidden}.column-studio-panel{background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.column-studio-panel-library{width:280px;flex-shrink:0}.column-studio-panel-editor{flex:1;min-width:400px}.column-studio-panel-preview{width:420px;flex-shrink:0}.column-studio-panel-header{padding:16px 20px;border-bottom:1px solid var(--chip-br);background:var(--panel);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.column-studio-panel-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.column-studio-hint{font-size:11px;color:var(--muted);font-weight:400}.column-studio-panel-body{flex:1;overflow-y:auto;overflow-x:hidden}.column-studio-panel-body::-webkit-scrollbar{width:8px}.column-studio-panel-body::-webkit-scrollbar-track{background:transparent}.column-studio-panel-body::-webkit-scrollbar-thumb{background:var(--chip-br);border-radius:4px}.column-studio-panel-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.column-studio-footer{padding:16px 24px;border-top:1px solid var(--chip-br);background:var(--panel);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.column-studio-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:6px}.column-studio-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.column-studio-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.column-studio-btn-secondary{background:var(--panel);color:var(--text);border:1px solid var(--chip-br)}.column-studio-btn-secondary:hover{background:var(--chip-bg);border-color:var(--text-muted)}.column-studio-btn-danger{background:transparent;color:#ff6b6b;border:1px solid rgba(255,90,90,.3)}.column-studio-btn-danger:hover{background:#ff5a5a1a;border-color:#ff5a5a80}.column-studio-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 20px #0000004d;z-index:10001;display:flex;align-items:center;gap:8px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 1199px) and (min-width: 768px){.column-studio-panels-tablet{display:flex;gap:1px}.column-studio-panel-library{width:260px}.column-studio-panel-editor{flex:1}.column-studio-panel-preview{display:none}.column-studio-preview-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:all .2s}.column-studio-preview-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #3b82f666}}@media (max-width: 767px){.column-studio-modal{width:100vw;height:100vh;max-height:none;border-radius:0}.column-studio-header{padding:16px}.column-studio-title h2{font-size:18px}.column-studio-mobile{display:flex;flex-direction:column;height:100%}.column-studio-tabs{display:flex;border-bottom:1px solid var(--chip-br);background:var(--panel);flex-shrink:0}.column-studio-tab{flex:1;padding:12px 16px;background:transparent;border:none;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.column-studio-tab.active{color:var(--text);border-bottom-color:#10b981}.column-studio-mobile-content{flex:1;overflow-y:auto}.column-studio-footer{padding:12px 16px}.column-studio-btn{padding:8px 16px;font-size:13px}}[data-theme=dark] .column-studio-modal,[data-theme=dark] .column-studio-panel{background:var(--panel)}[data-theme=dark] .column-studio-panel-header{border-bottom-color:var(--chip-br)}.column-studio-position-number{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:11px;font-weight:600;width:24px;height:24px;border-radius:6px;margin-right:8px;box-shadow:0 1px 3px #3b82f64d}.column-studio-skeleton{background:linear-gradient(90deg,var(--chip-bg) 25%,var(--chip-br) 50%,var(--chip-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.column-studio-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--muted)}.column-studio-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.column-studio-empty-text{font-size:14px;margin-bottom:8px}.column-studio-empty-hint{font-size:12px;opacity:.7}.layout-library{display:flex;flex-direction:column;height:100%;gap:12px;padding:12px}.layout-library-search{position:relative}.layout-library-search-input{width:100%;padding:8px 32px 8px 12px;background:var(--chip-bg);border:1px solid var(--chip-br);border-radius:6px;color:var(--text);font-size:13px;transition:all .2s}.layout-library-search-input:focus{outline:none;border-color:#3b82f6;background:var(--panel)}.layout-library-search-input::placeholder{color:var(--muted)}.layout-library-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.layout-library-search-clear:hover{color:var(--text);background:var(--chip-bg)}.layout-library-create{flex-shrink:0}.layout-library-create-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 1px 3px #10b9814d}.layout-library-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.layout-library-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.layout-card{background:var(--chip-bg);border:1px solid var(--chip-br);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s;position:relative}.layout-card:hover{border-color:#3b82f6;background:var(--panel);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f61a}.layout-card-active{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#0596690d)}.layout-card-active:hover{border-color:#10b981;background:linear-gradient(135deg,#10b98114,#05966914)}.layout-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.layout-card-name{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.layout-card-active-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:600;box-shadow:0 1px 3px #10b9814d}.layout-card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.layout-card-meta-divider{opacity:.5}.layout-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;background:var(--panel);padding:4px;border-radius:6px;border:1px solid var(--chip-br);box-shadow:0 2px 8px #0000001a}.layout-card-action{background:transparent;border:none;color:var(--text);padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s}.layout-card-action:hover{background:var(--chip-bg);color:#3b82f6}.layout-card-action-danger:hover{background:#ff5a5a1a;color:#ff6b6b}.layout-library-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10002;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.layout-library-dialog{background:var(--panel);border-radius:12px;padding:24px;min-width:400px;max-width:90vw;box-shadow:0 20px 40px #0000004d}.layout-library-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text)}.layout-library-dialog-input{width:100%;padding:10px 12px;background:var(--chip-bg);border:1px solid var(--chip-br);border-radius:6px;color:var(--text);font-size:14px;margin-bottom:16px;transition:all .2s}.layout-library-dialog-input:focus{outline:none;border-color:#3b82f6;background:var(--panel)}.layout-library-dialog-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 767px){.layout-library-dialog{min-width:auto;width:90vw}}.category-section{margin-bottom:1px;background:var(--panel)}.category-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--chip-br);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.category-section-header:hover,.category-section-header-expanded{background:var(--chip-bg)}.category-section-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.category-section-chevron-expanded{transform:rotate(0)}.category-section-header:not(.category-section-header-expanded) .category-section-chevron{transform:rotate(-90deg)}.category-section-name{flex:1;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.category-section-count{flex-shrink:0;font-size:11px;font-weight:600;color:var(--muted);background:var(--chip-br);padding:2px 8px;border-radius:10px}.category-section-body{padding:0;background:var(--bg)}.draggable-column{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--chip-br);transition:background-color .15s ease}.draggable-column:hover{background:var(--chip-bg)}.draggable-column-visible{background:var(--bg)}.draggable-column-visible:hover{background:var(--chip-bg)}.draggable-column-locked{opacity:.6;cursor:not-allowed}.draggable-column-drag{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:grab;transition:color .15s ease}.draggable-column-drag-enabled:hover{color:var(--text)}.draggable-column-drag-enabled:active{cursor:grabbing}.draggable-column-drag:not(.draggable-column-drag-enabled){cursor:not-allowed;opacity:.3}.column-studio-position-number{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:11px;font-weight:700;width:28px;height:28px;border-radius:8px;flex-shrink:0;box-shadow:0 2px 4px #3b82f640;letter-spacing:-.5px}.draggable-column-checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.draggable-column-checkbox:disabled{cursor:not-allowed;opacity:.5}.draggable-column-label{flex:1;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);min-width:0}.tier-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tier-badge-pro{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 1px 3px #8b5cf64d}.tier-badge-elite{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 1px 3px #f59e0b4d}.draggable-column-lock{flex-shrink:0;color:var(--muted);margin-left:4px}.column-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.column-editor-toolbar{flex-shrink:0;padding:16px;background:var(--panel);border-bottom:1px solid var(--chip-br)}.column-editor-search-bar{padding:12px 20px;background:var(--bg);border-bottom:1px solid var(--chip-br)}.column-editor-search{position:relative;display:flex;align-items:center}.column-editor-search svg{position:absolute;left:12px;color:var(--muted);pointer-events:none}.column-editor-search-input{width:100%;padding:10px 40px 10px 36px;background:var(--bg);border:1px solid var(--chip-br);border-radius:8px;color:var(--text);font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}.column-editor-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.column-editor-search-input::placeholder{color:var(--muted)}.column-editor-search-clear{position:absolute;right:8px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:24px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease;line-height:1}.column-editor-search-clear:hover{background:#ffffff0d;color:var(--text)}.column-editor-no-results{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px}.column-editor-categories{flex:1;overflow-y:auto;overflow-x:hidden}.column-editor-categories::-webkit-scrollbar{width:8px}.column-editor-categories::-webkit-scrollbar-track{background:var(--bg)}.column-editor-categories::-webkit-scrollbar-thumb{background:var(--chip-br);border-radius:4px}.column-editor-categories::-webkit-scrollbar-thumb:hover{background:var(--muted)}.live-preview{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--panel)}.live-preview-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--chip-br)}.live-preview-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.live-preview-drag-hint{font-size:11px;color:var(--muted);font-style:italic}.live-preview-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;box-shadow:0 1px 3px #3b82f64d}.live-preview-column-list{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg)}.live-preview-column-list::-webkit-scrollbar{width:8px}.live-preview-column-list::-webkit-scrollbar-track{background:var(--bg)}.live-preview-column-list::-webkit-scrollbar-thumb{background:var(--chip-br);border-radius:4px}.live-preview-column-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.live-preview-column-item{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--chip-br);transition:background .15s ease;cursor:default}.live-preview-column-item:hover{background:var(--chip-bg)}.live-preview-drag-handle{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:grab;transition:color .15s ease;font-size:16px;line-height:1;-webkit-user-select:none;user-select:none}.live-preview-drag-handle:hover{color:var(--text)}.live-preview-drag-handle:active{cursor:grabbing}.live-preview-position-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:11px;font-weight:700;min-width:28px;height:28px;padding:0 6px;border-radius:8px;flex-shrink:0;box-shadow:0 2px 4px #3b82f640;letter-spacing:-.5px}.live-preview-column-label{flex:1;font-size:13px;color:var(--text);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-preview-remove-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;border-radius:6px;transition:all .15s ease}.live-preview-remove-btn:hover{background:#ef44441a;color:#ef4444}.live-preview-table-wrapper{flex:1;overflow:auto;background:var(--bg)}.live-preview-table{width:100%;border-collapse:collapse;font-size:12px}.live-preview-th{position:sticky;top:0;background:var(--panel);border-bottom:2px solid var(--chip-br);padding:10px 12px;text-align:left;font-weight:600;color:var(--text);white-space:nowrap;z-index:1}.live-preview-position-col{width:40px;text-align:center;color:var(--muted);font-size:11px}.live-preview-header-content{display:flex;align-items:center;gap:6px}.live-preview-col-number{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:9px;font-weight:700;width:18px;height:18px;border-radius:4px;flex-shrink:0;box-shadow:0 1px 2px #3b82f640}.live-preview-col-label{font-size:11px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.live-preview-td{padding:8px 12px;border-bottom:1px solid var(--chip-br);color:var(--text);white-space:nowrap}.live-preview-td:hover{background:var(--chip-bg)}.live-preview-footer{flex-shrink:0;padding:10px 16px;background:var(--panel);border-top:1px solid var(--chip-br);text-align:center}.live-preview-hint{font-size:11px;color:var(--muted);font-style:italic}.live-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted);gap:12px}.live-preview-spinner{width:32px;height:32px;border:3px solid var(--chip-br);border-top-color:#3b82f6;border-radius:50%;animation:live-preview-spin .8s linear infinite}@keyframes live-preview-spin{to{transform:rotate(360deg)}}.live-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted);gap:12px;padding:20px}.live-preview-error svg{color:#ef4444}.live-preview-retry-btn{padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #3b82f64d}.live-preview-retry-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3b82f666}.live-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted);gap:12px;padding:40px 20px;text-align:center}.live-preview-empty svg{opacity:.3}.live-preview-empty p{font-size:14px;font-weight:500;margin:0}.live-preview-empty .live-preview-hint{font-size:12px;opacity:.7}.live-preview-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.live-preview-table-wrapper::-webkit-scrollbar-track{background:var(--bg)}.live-preview-table-wrapper::-webkit-scrollbar-thumb{background:var(--chip-br);border-radius:4px}.live-preview-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--muted)}.column-studio-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--panel);border-top:1px solid var(--chip-br);gap:16px}.column-studio-footer-left{display:flex;align-items:center;gap:12px}.column-studio-footer-status{display:flex;align-items:center;gap:8px;font-size:13px}.column-studio-footer-count{color:var(--text);font-weight:500}.column-studio-footer-warning{color:#ef4444;font-weight:600;background:#ef44441a;padding:4px 10px;border-radius:6px;font-size:12px;display:flex;align-items:center;gap:4px}.column-studio-footer-unsaved{color:#f59e0b;font-weight:500;font-size:12px}.column-studio-footer-right{display:flex;align-items:center;gap:8px}.column-studio-btn{padding:10px 20px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;white-space:nowrap}.column-studio-btn:disabled{opacity:.5;cursor:not-allowed}.column-studio-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 1px 3px #10b9814d}.column-studio-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.column-studio-btn-secondary{background:var(--chip-bg);color:var(--text);border:1px solid var(--chip-br)}.column-studio-btn-secondary:hover:not(:disabled){background:var(--panel);border-color:#3b82f6}.column-studio-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 1px 3px #ef44444d}.column-studio-btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #ef444466}.column-studio-btn-danger-outline{background:transparent;color:#ef4444;border:1px solid #ef4444}.column-studio-btn-danger-outline:hover:not(:disabled){background:#ef44441a}.column-studio-footer-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.column-studio-footer-dialog{background:var(--panel);border-radius:12px;padding:24px;min-width:400px;max-width:90vw;box-shadow:0 20px 40px #0000004d}.column-studio-footer-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text)}.column-studio-footer-dialog-input{width:100%;padding:10px 12px;background:var(--chip-bg);border:1px solid var(--chip-br);border-radius:6px;color:var(--text);font-size:14px;margin-bottom:16px;transition:all .2s}.column-studio-footer-dialog-input:focus{outline:none;border-color:#3b82f6;background:var(--panel)}.column-studio-footer-dialog-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 767px){.column-studio-footer{flex-direction:column;align-items:stretch;gap:12px}.column-studio-footer-left,.column-studio-footer-right{width:100%;justify-content:center}.column-studio-footer-right{flex-direction:column}.column-studio-btn{width:100%;justify-content:center}.column-studio-footer-dialog{min-width:auto;width:90vw}}.hierarchical-timeframes{padding-left:16px;border-left:2px solid var(--chip-br)}.timeframe-branch{margin-bottom:4px}.timeframe-branch-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg);border-radius:4px;cursor:pointer;transition:background .15s ease;font-size:12px}.timeframe-branch-header:hover,.timeframe-branch-header-expanded{background:var(--chip-bg)}.timeframe-branch-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.timeframe-branch-chevron-expanded{transform:rotate(0)}.timeframe-branch-header:not(.timeframe-branch-header-expanded) .timeframe-branch-chevron{transform:rotate(-90deg)}.timeframe-branch-badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:2px 6px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:11px;font-weight:600;border-radius:3px;letter-spacing:.5px;box-shadow:0 1px 2px #3b82f640}.timeframe-branch-count{margin-left:auto;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.timeframe-branch-body{padding-left:24px;padding-top:4px}.filter-bar{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg);border-bottom:1px solid var(--chip-br);position:sticky;top:0;z-index:10}.filter-bar-reset{padding:10px 20px;background:transparent;border:1px solid var(--chip-br);border-radius:6px;color:var(--text);font-size:.95em;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-bar-reset:hover{background:#ffffff0d;border-color:#60a5fa;color:#60a5fa}.filter-bar-reset:active{transform:scale(.98)}.cs-dropdown-wrap{position:relative}.cs-dropdown-trigger{width:100%;padding:10px 14px;border-radius:6px;border:1px solid var(--chip-br, #3a3f47);background:var(--bg, #2a2f36);color:var(--text, #e5e7eb);cursor:pointer;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:.95em;transition:border-color .15s ease;outline:none}.cs-dropdown-trigger.cs-dropdown-open{border-color:#60a5fa}.cs-dropdown-trigger.cs-dropdown-muted{color:#9ca3af}.cs-dropdown-arrow{margin-left:10px;font-size:.8em}.cs-dropdown-trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.cs-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg, #2a2f36);border:1px solid var(--chip-br, #3a3f47);border-radius:6px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 8px 16px #0006}.cs-dropdown-option{padding:10px 14px;cursor:pointer;color:var(--text, #e5e7eb);font-size:.9em;transition:background .15s ease}.cs-dropdown-option:hover{background:#ffffff0d}.cs-dropdown-option.cs-dropdown-option-active{background:#60a5fa26}.cs-dropdown-disabled{flex:1;padding:10px 14px;border-radius:6px;border:1px solid var(--chip-br, #3a3f47);background:var(--bg, #2a2f36);color:#9ca3af;font-size:.95em;min-width:200px}.cs-checkbox-dropdown-wrap{position:relative;flex:1;min-width:200px}.cs-checkbox-search-wrap{padding:10px 14px;border-bottom:1px solid var(--chip-br, #3a3f47);background:#1f2428;position:relative}.cs-checkbox-search-input{width:100%;padding:8px 12px;background:var(--bg, #2a2f36);border:1px solid var(--chip-br, #3a3f47);border-radius:4px;color:var(--text, #e5e7eb);font-size:.9em;outline:none}.cs-checkbox-search-input:focus{border-color:#60a5fa}.cs-checkbox-search-clear{position:absolute;right:24px;top:18px;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.2em;padding:0 4px}.cs-checkbox-toggle-all{width:100%;padding:10px 14px;background:#60a5fa1a;border:none;border-bottom:1px solid var(--chip-br, #3a3f47);color:#60a5fa;cursor:pointer;text-align:left;font-size:.85em;font-weight:600}.cs-checkbox-empty{padding:20px 14px;text-align:center;color:#9ca3af;font-size:.9em}.cs-checkbox-option{padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:8px;background:transparent;color:var(--text, #e5e7eb);font-size:.9em;border-bottom:1px solid rgba(58,63,71,.3);transition:background .15s ease}.cs-checkbox-option:hover{background:#ffffff0d}.cs-checkbox-box{width:16px;height:16px;border-radius:3px;border:1.5px solid #60a5fa;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cs-checkbox-box.cs-checkbox-checked{background:#60a5fa}.template-manager{position:relative;display:flex;align-items:center;gap:12px}.template-selector-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:linear-gradient(135deg,#1e2a3a,#0e1319);border:1px solid var(--chip-br);border-radius:10px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.template-selector-btn:hover{background:linear-gradient(135deg,#2a3647,#141b26);border-color:var(--info);box-shadow:0 2px 8px #62a8ff33}.template-icon{font-size:16px}.template-label{font-size:13px}.template-chevron{font-size:10px;opacity:.7}.column-counter{padding:6px 12px;background:#62a8ff1a;border:1px solid rgba(98,168,255,.3);border-radius:8px;font-size:11px;font-weight:600;color:var(--info);white-space:nowrap}.template-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.template-dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#0e1319;border:1px solid var(--line);border-radius:12px;padding:8px;z-index:1000;min-width:320px;max-width:400px;max-height:600px;overflow-y:auto;box-shadow:0 8px 32px #00000080}.template-dropdown::-webkit-scrollbar{width:8px}.template-dropdown::-webkit-scrollbar-track{background:#0a0e13;border-radius:4px}.template-dropdown::-webkit-scrollbar-thumb{background:#1e2a3a;border-radius:4px}.template-dropdown::-webkit-scrollbar-thumb:hover{background:#2a3647}.template-section{margin-bottom:12px}.template-section:last-child{margin-bottom:0}.template-section-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 6px;margin-bottom:4px}.template-item{padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent;margin-bottom:4px}.template-item:hover{background:#141b26;border-color:var(--chip-br)}.template-item.active{background:#62a8ff26;border-color:var(--info)}.template-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.template-item-icon{font-size:16px;flex-shrink:0}.template-item-name{font-weight:600;color:var(--text);font-size:13px;flex:1}.template-active-badge{color:var(--success);font-size:14px;font-weight:700}.template-item-desc{font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:6px;padding-left:24px}.template-item-count{font-size:10px;color:var(--muted);font-weight:600;padding-left:24px}.template-item.custom{border:1px solid #1e2a3a}.template-item-actions{display:flex;gap:6px;margin-top:8px;padding-left:24px}.template-action-btn{padding:4px 10px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent}.template-action-btn.load{background:#62a8ff26;color:var(--info);border-color:#62a8ff4d}.template-action-btn.load:hover{background:#62a8ff40;border-color:var(--info)}.template-action-btn.edit{background:#ffb86c26;color:#ffb86c;border-color:#ffb86c4d}.template-action-btn.edit:hover{background:#ffb86c40;border-color:#ffb86c}.template-action-btn.delete{background:#ff6b6b26;color:var(--danger);border-color:#ff6b6b4d}.template-action-btn.delete:hover{background:#ff6b6b40;border-color:var(--danger)}.save-template-btn{width:100%;padding:10px;background:linear-gradient(135deg,#62a8ff33,#62a8ff1a);border:1px solid var(--info);border-radius:8px;color:var(--info);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.save-template-btn:hover{background:linear-gradient(135deg,#62a8ff4d,#62a8ff33);box-shadow:0 2px 8px #62a8ff4d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-template-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#0e1319;border:1px solid var(--line);border-radius:16px;z-index:2001;min-width:400px;max-width:500px;box-shadow:0 16px 64px #0009}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-header h3{font-size:16px;font-weight:700;color:var(--text);margin:0}.modal-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.modal-close:hover{color:var(--danger)}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px}.form-group input{width:100%;padding:10px 12px;background:#101722;border:1px solid var(--chip-br);border-radius:8px;color:var(--text);font-size:13px;transition:border-color .2s}.form-group input:focus{border-color:var(--info);outline:none}.form-group input::placeholder{color:var(--muted);opacity:.6}.template-preview{padding:12px;background:#62a8ff1a;border:1px solid rgba(98,168,255,.3);border-radius:8px;font-size:12px;color:var(--info)}.template-preview strong{font-weight:600}.modal-footer{display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--line);justify-content:flex-end}.modal-btn{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent}.modal-btn.cancel{background:#1a2431;color:var(--muted);border-color:var(--chip-br)}.modal-btn.cancel:hover{background:#243040;color:var(--text)}.modal-btn.save{background:linear-gradient(135deg,var(--info) 0%,#4d8cd9 100%);color:#000;font-weight:700}.modal-btn.save:hover{box-shadow:0 4px 16px #62a8ff66;transform:translateY(-1px)}.modal-btn.save:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-btn.save:disabled:hover{box-shadow:none}.template-item.has-submenu{border-left:3px solid var(--info);-webkit-user-select:none;user-select:none}.template-chevron-small{font-size:10px;opacity:.6;margin-left:auto;pointer-events:none}.timeframe-submenu{margin:4px 0 8px 24px;padding:6px 0;border-left:2px solid rgba(98,168,255,.2);display:flex;flex-direction:column;gap:2px;-webkit-user-select:none;user-select:none}.timeframe-option{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;margin-left:8px;border-radius:6px;cursor:pointer;transition:all .15s;font-size:12px;background:#ffffff05;border:1px solid transparent;-webkit-user-select:none;user-select:none}.timeframe-option:hover{background:#62a8ff14;border-color:var(--info);transform:translate(2px)}.timeframe-option.active{background:#62a8ff33;border-color:var(--info);font-weight:600}.timeframe-label{color:var(--text);font-weight:500;letter-spacing:.5px}.edit-template-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1a2431;border:1px solid var(--chip-br);border-radius:12px;box-shadow:0 8px 32px #0009;z-index:10002;min-width:600px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.edit-template-modal .modal-body{overflow-y:auto;max-height:calc(90vh - 140px)}.edit-columns-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--chip-br)}.edit-columns-section label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:12px}.columns-cascade-wrapper{background:#0f141b;border:1px solid var(--chip-br);border-radius:8px;padding:12px;max-height:70vh;overflow:visible}.edit-template-modal.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;transform:none;border-radius:0;padding:20px 24px}.edit-template-modal.fullscreen .modal-body{max-height:calc(100vh - 160px)}@media (max-width: 768px){.template-dropdown{min-width:280px;max-width:90vw}.save-template-modal,.edit-template-modal{min-width:90vw;max-width:90vw}}.timeframe-selector{position:relative;display:inline-block}.tf-selector-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:1px solid rgba(99,102,241,.5);border-radius:6px;color:#fff;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;white-space:nowrap}.tf-selector-btn:hover{background:linear-gradient(135deg,#4338ca,#6d28d9);border-color:#6366f1cc;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.tf-label{font-weight:600}.tf-chevron{font-size:10px;opacity:.8}.tf-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:998;background:transparent}.tf-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#1a1f2e;border:1px solid rgba(99,102,241,.3);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;min-width:280px;overflow:hidden;animation:tfDropdownSlideIn .2s ease;pointer-events:all}@keyframes tfDropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tf-dropdown-title{padding:12px 16px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05}.tf-option{padding:12px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .15s ease;border-left:3px solid transparent}.tf-option:hover{background:#6366f11a;border-left-color:#6366f180}.tf-option.active{background:#6366f126;border-left-color:var(--accent)}.tf-option-label{font-size:14px;font-weight:500;color:var(--text)}.tf-option-value{font-size:12px;font-weight:700;color:var(--accent);background:#6366f126;padding:2px 8px;border-radius:4px;margin-left:8px}.tf-active-badge{color:var(--bull);font-size:14px;font-weight:700;margin-left:8px}.tf-dropdown-footer{padding:10px 16px;font-size:11px;color:var(--muted);background:#ffffff05;border-top:1px solid rgba(255,255,255,.05);text-align:center;font-style:italic}@media (max-width: 768px){.tf-dropdown{right:auto;left:0}}.loading-skeleton{width:100%;padding:20px;background:var(--bg)}.skeleton-header{display:flex;gap:12px;padding:12px;border-bottom:1px solid var(--border);margin-bottom:8px;opacity:.5}.skeleton-row{display:flex;gap:12px;padding:12px;border-bottom:1px solid rgba(255,255,255,.03);animation:fadeInSkeleton .4s ease-out forwards;opacity:0}@keyframes fadeInSkeleton{to{opacity:1}}.skeleton-cell{position:relative;background:#ffffff08;border-radius:4px;overflow:hidden}.skeleton-rank{width:50px;height:32px}.skeleton-symbol{width:120px;height:32px}.skeleton-price{width:100px;height:32px}.skeleton-change{width:80px;height:32px}.skeleton-indicator{flex:1;min-width:100px;height:32px}.skeleton-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.skeleton-loading-message{text-align:center;padding:20px;color:var(--muted);font-size:14px}.skeleton-progress{margin-top:8px;font-size:12px;color:var(--info)}.skeleton-progress-bar{width:100%;height:4px;background:#ffffff0d;border-radius:2px;margin-top:12px;overflow:hidden}.skeleton-progress-fill{height:100%;background:linear-gradient(90deg,var(--info),var(--bull));transition:width .3s ease;border-radius:2px}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:var(--bg);padding:20px}.error-boundary-card{max-width:600px;width:100%;background:#ffffff05;border:1px solid rgba(255,0,0,.2);border-radius:8px;padding:40px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.error-title{font-size:28px;font-weight:600;color:var(--text);margin-bottom:12px}.error-message{font-size:16px;color:var(--muted);margin-bottom:30px;line-height:1.5}.error-warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:6px;padding:16px;margin-bottom:24px;text-align:left}.error-warning strong{display:block;color:#ffc107;margin-bottom:8px;font-size:14px}.error-warning p{color:var(--muted);font-size:13px;margin:0}.error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.error-button{padding:12px 24px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.error-button-primary{background:var(--bull);color:#fff}.error-button-primary:hover{background:var(--bull-hover);transform:translateY(-1px)}.error-button-secondary{background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.1)}.error-button-secondary:hover{background:#ffffff1f}.error-details{text-align:left;margin-top:24px;padding:16px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px}.error-details summary{cursor:pointer;color:var(--info);font-size:13px;font-weight:500;margin-bottom:12px}.error-details summary:hover{color:var(--info-hover)}.error-stack{font-size:11px;color:var(--muted);white-space:pre-wrap;word-break:break-word;line-height:1.4;margin:0;padding:12px;background:#00000080;border-radius:4px;overflow-x:auto}.error-stack strong{color:var(--text);display:block;margin-bottom:4px}
