*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}#root{width:100%;min-height:100vh}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#fff)}.ticker-strip{background:linear-gradient(90deg,#1a1a2e,#16213e,#1a1a2e);overflow:hidden;white-space:nowrap;position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid #2a2a4e}.ticker-track{display:flex;width:100%;overflow:hidden}.ticker-content{display:flex;animation:ticker-scroll 45s linear infinite;padding:10px 0}.ticker-content:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 24px;border-right:1px solid rgba(255,255,255,.1);flex-shrink:0}.ticker-symbol{font-weight:700;color:#fff;font-size:.85rem;letter-spacing:.02em}.ticker-price{color:#ffffffe6;font-size:.85rem;font-weight:500}.ticker-change{font-size:.8rem;font-weight:600;padding:2px 6px;border-radius:4px}.ticker-change.positive{color:#10b981;background:#10b98126}.ticker-change.negative{color:#ef4444;background:#ef444426}.ticker-loading{color:#fff9;font-size:.85rem;padding:10px 24px}.header{background-color:#fff;border-bottom:1px solid #e8e8e8;padding:1.25rem 3rem;box-shadow:0 2px 8px #0000000a;position:fixed;top:51px;left:0;right:0;z-index:999;width:100%;max-height:200px;overflow:hidden}.header-content{max-width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.title-section{flex:1;min-width:300px;max-width:650px;display:flex;flex-direction:column;gap:.35rem}.title{font-size:clamp(1.3rem,2.8vw,2.2rem);font-weight:800;color:#1a1a1a;letter-spacing:-.02em;line-height:1.15;margin:0}.last-refresh{font-size:.8rem;color:#666;font-weight:500;padding:.1rem 0;line-height:1.2}.sortable{-webkit-user-select:none;user-select:none}.sortable:hover{background-color:#d4f34e1a}.title-with-logo{display:flex;align-items:center;gap:1rem}.header-logo{width:50px;height:50px;border-radius:50%;object-fit:cover}.patreon-link{display:inline-flex;align-items:center;gap:.5rem;color:#ff424d;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease;padding:.2rem 0;width:fit-content}.patreon-link:hover{color:#e63946;transform:translate(3px)}.patreon-link svg{flex-shrink:0}.header-actions{display:flex;gap:1rem;align-items:center}.batch-edit-btn{background-color:#d4f34e;color:#1a1a1a;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #d4f34e33}.batch-edit-btn:hover:not(:disabled){background-color:#c4e33e;transform:translateY(-1px);box-shadow:0 4px 12px #d4f34e4d}.batch-edit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.refresh-btn{background-color:#1a1a1a;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #0000001a}.refresh-btn:hover:not(:disabled){background-color:#2a2a2a;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.refresh-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.container{max-width:100%;margin:365px auto 0;padding:2rem 3rem}.controls{display:flex;gap:1rem;margin-bottom:2rem;align-items:center;flex-wrap:wrap}.sort-dropdown{display:flex;align-items:center;gap:.75rem;background-color:#fff;padding:.75rem 1.25rem;border-radius:8px;border:1px solid #e8e8e8;box-shadow:0 1px 4px #0000000a;transition:all .2s}.sort-dropdown:hover{border-color:#d4f34e}.sort-dropdown label{font-size:.95rem;color:#666;font-weight:600}.sort-dropdown select{border:none;background:none;font-size:.95rem;cursor:pointer;outline:none;color:#1a1a1a;font-weight:500}.search-container{display:flex;align-items:center;gap:.75rem;background-color:#fff;padding:.75rem 1.25rem;border-radius:8px;border:1px solid #e8e8e8;flex:1;max-width:400px;box-shadow:0 1px 4px #0000000a;transition:all .2s}.search-container:focus-within{border-color:#d4f34e;box-shadow:0 2px 8px #d4f34e1a}.search-container svg{color:#999}.search-input{border:none;outline:none;font-size:.95rem;width:100%;color:#1a1a1a}.add-btn{background-color:#d4f34e;color:#1a1a1a;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #d4f34e33}.add-btn:hover{background-color:#c4e33e;transform:translateY(-1px);box-shadow:0 4px 12px #d4f34e4d}.empty-state{background-color:#fff;border-radius:12px;padding:4rem 2rem;text-align:center;box-shadow:0 4px 16px #0000000f}.empty-state p{color:#666;margin-bottom:1.5rem;font-size:1.1rem}.empty-state button{background-color:#d4f34e;color:#1a1a1a;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #d4f34e33}.empty-state button:hover{background-color:#c4e33e;transform:translateY(-1px);box-shadow:0 4px 12px #d4f34e4d}.table-wrapper{background-color:#fff;border-radius:12px;overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 380px);box-shadow:0 4px 16px #0000000f}.stock-table-wide{width:100%;border-collapse:collapse;min-width:3000px}.stock-table-wide thead{background-color:#fafafa;border-bottom:2px solid #e8e8e8}.stock-table-wide th{padding:1rem .75rem;text-align:left;font-size:.75rem;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-right:1px solid #f0f0f0;cursor:help;transition:color .2s;background-color:#fafafa;position:sticky;top:0;z-index:10}.stock-table-wide th:nth-child(1),.stock-table-wide td:nth-child(1){position:sticky;left:0;z-index:5;background-color:#fafafa;box-shadow:2px 0 4px #0000000d;width:90px;min-width:90px;max-width:90px}.stock-table-wide thead th:nth-child(1){z-index:20}.stock-table-wide th:nth-child(2),.stock-table-wide td:nth-child(2){position:sticky;left:90px;z-index:5;background-color:#fafafa;box-shadow:2px 0 4px #0000000d;width:220px;min-width:220px;max-width:220px}.stock-table-wide thead th:nth-child(2){z-index:20}.stock-table-wide tbody tr:hover td:nth-child(1),.stock-table-wide tbody tr:hover td:nth-child(2){background-color:#f5f5f5}.stock-table-wide th:hover{color:#d4f34e}.stock-table-wide th.text-right{text-align:right}.stock-table-wide th.text-center{text-align:center}.stock-table-wide tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.stock-table-wide tbody tr:hover{background-color:#fafafa}.stock-table-wide td{padding:.875rem .75rem;font-size:.85rem;white-space:nowrap;border-right:1px solid #f8f8f8;background-color:#fff}.stock-table-wide td.text-right{text-align:right}.stock-table-wide td.text-center{text-align:center}.stock-row-wide{font-size:.85rem}.company-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#666}.price-value{font-weight:600;color:#1a1a1a}.price-red{color:#ef4444;font-weight:500}.price-blue{color:#3b82f6;font-weight:500}.change-positive{color:#10b981;font-weight:600}.change-negative{color:#ef4444;font-weight:600}.rank-badge{background-color:#f0f0f0;border-radius:12px;padding:.35rem .65rem;font-weight:700;font-size:.75rem;display:inline-block;min-width:32px;color:#666;text-align:center}.remove-btn{background:none;border:none;color:#999;cursor:pointer;padding:.35rem;border-radius:6px;transition:all .2s}.remove-btn:hover{color:#ef4444;background-color:#fef2f2}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background-color:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 40px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e8e8e8}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0}.modal-close{background:none;border:none;color:#999;cursor:pointer;padding:.35rem;border-radius:6px;transition:all .2s}.modal-close:hover{color:#666;background-color:#f5f5f5}.modal-body{padding:2rem}.modal-body label{display:block;font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.modal-body input{width:100%;padding:.875rem 1rem;border:1px solid #e8e8e8;border-radius:8px;font-size:.95rem;outline:none;transition:all .2s}.modal-body input:focus{border-color:#d4f34e;box-shadow:0 0 0 3px #d4f34e1a}.modal-body input:disabled{background-color:#f5f5f5;cursor:not-allowed}.modal-hint{margin-top:.75rem;font-size:.8rem;color:#666;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;border-top:1px solid #e8e8e8}.btn-secondary{background-color:#fff;color:#666;border:1px solid #e8e8e8;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#d0d0d0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#d4f34e;color:#1a1a1a;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #d4f34e33}.btn-primary:hover:not(:disabled){background-color:#c4e33e;transform:translateY(-1px);box-shadow:0 4px 12px #d4f34e4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.batch-edit-modal{width:95%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.batch-edit-content{padding:2rem;overflow-y:auto;flex:1}.batch-edit-table{width:100%;border-collapse:collapse}.batch-edit-table th{background-color:#fafafa;padding:1rem;text-align:left;font-size:.8rem;font-weight:700;color:#666;text-transform:uppercase;border-bottom:2px solid #e8e8e8;letter-spacing:.05em}.batch-edit-table td{padding:1rem;border-bottom:1px solid #f0f0f0}.batch-edit-table input{width:100%;padding:.625rem .875rem;border:1px solid #e8e8e8;border-radius:6px;font-size:.9rem;transition:all .2s}.batch-edit-table input:focus{outline:none;border-color:#d4f34e;box-shadow:0 0 0 3px #d4f34e1a}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026}.close-btn{background:none;border:none;color:#999;cursor:pointer;padding:.35rem;border-radius:6px;transition:all .2s}.close-btn:hover{color:#666;background-color:#f5f5f5}.cancel-btn{background-color:#fff;color:#666;border:1px solid #e8e8e8;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn:hover{background-color:#f5f5f5;border-color:#d0d0d0}.save-btn{background-color:#d4f34e;color:#1a1a1a;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #d4f34e33}.save-btn:hover{background-color:#c4e33e;transform:translateY(-1px);box-shadow:0 4px 12px #d4f34e4d}.spin{animation:spin 1s linear infinite}.market-summary-container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem}.market-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.market-summary-header h1{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin:0}.download-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#d4f34e;color:#1a1a1a;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #d4f34e33}.download-btn:hover:not(:disabled){background-color:#c4e33e;transform:translateY(-1px);box-shadow:0 4px 12px #d4f34e4d}.download-btn:disabled{opacity:.6;cursor:not-allowed}.market-summary{max-width:1400px;margin:0 auto}.market-section{margin-bottom:3rem}.section-title{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.gainers-title{color:#16a34a}.losers-title{color:#dc2626}.market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.market-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;border:1px solid #f0f0f0}.market-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.market-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.market-card-header h3{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin:0}.market-card-type{font-size:.75rem;font-weight:600;color:#666;background:#f5f5f5;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.market-card-price{font-size:2rem;font-weight:800;color:#1a1a1a;margin-bottom:.5rem}.market-card-change{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600}.market-card-change.positive{color:#16a34a}.market-card-change.negative{color:#dc2626}.mag7-title{color:#d4f34e}.mag7-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.mag7-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;border:1px solid #f0f0f0;text-decoration:none;display:block}.mag7-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #d4f34e26;border-color:#d4f34e}.mag7-card-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.mag7-symbol{font-size:1.1rem;font-weight:700;color:#1a1a1a}.mag7-name{font-size:.75rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mag7-card-body{display:flex;justify-content:space-between;align-items:center}.mag7-price{font-size:1.25rem;font-weight:700;color:#1a1a1a}.mag7-change{display:flex;align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;padding:.25rem .5rem;border-radius:6px}.mag7-change.positive{color:#16a34a;background:#16a34a1a}.mag7-change.negative{color:#dc2626;background:#dc26261a}.gainers-losers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem}.stock-list{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0f0}.stock-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #f5f5f5;transition:background .2s ease}.stock-list-item:last-child{border-bottom:none}.stock-list-item:hover{background:#fafafa}.stock-rank{font-size:1.25rem;font-weight:800;color:#d4f34e;min-width:40px}.stock-info{flex:1}.stock-symbol{font-size:1rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.stock-name{font-size:.85rem;color:#666}.stock-price-section{text-align:right}.stock-price{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.stock-change{font-size:.95rem;font-weight:600}.stock-change.positive{color:#16a34a}.stock-change.negative{color:#dc2626}.no-stocks-message{text-align:center;color:#999;padding:2rem;font-size:.95rem}.market-summary-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #D4F34E;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-icon{color:#d4f34e;animation:spin 1s linear infinite}.nav-tabs{display:flex;gap:.5rem;border-bottom:2px solid #f0f0f0;padding:0 1rem;position:fixed;top:235px;left:0;right:0;z-index:998;width:100%;background-color:#fff;overflow-x:auto;overflow-y:hidden}.nav-tab{background:none;border:none;border-bottom:3px solid transparent;padding:1rem 1.5rem;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.nav-tab:hover{color:#1a1a1a}.nav-tab.active{color:#d4f34e;border-bottom-color:#d4f34e}@media(max-width:768px){.header{padding:1rem}.header-content{gap:1rem}.title-section{min-width:auto;gap:.25rem}.title{font-size:1.25rem;line-height:1.3}.last-refresh{font-size:.75rem}.patreon-link{font-size:.85rem;padding:.25rem 0}.header-logo{width:40px;height:40px}.title-with-logo{gap:.75rem}.header-actions{width:100%;gap:.5rem;flex-wrap:nowrap;justify-content:space-between}.batch-edit-btn,.refresh-btn{padding:.6rem 1rem;font-size:.85rem;flex:1;justify-content:center;min-width:0}.batch-edit-btn svg,.refresh-btn svg{width:16px;height:16px}.container{padding:1rem}.nav-tabs{padding:0 .5rem;margin-bottom:1rem;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{padding:.75rem 1rem;font-size:.85rem;white-space:nowrap;flex-shrink:0}.gainers-losers-grid,.market-grid{grid-template-columns:1fr}.controls{gap:.5rem;margin-bottom:1rem}.sort-dropdown,.filter-dropdown{padding:.6rem 1rem;font-size:.85rem;width:48%}.search-container{width:100%}.stock-table-wide{font-size:.75rem}.stock-table-wide th,.stock-table-wide td{padding:.5rem .4rem;font-size:.75rem}.company-name{max-width:80px;white-space:normal;line-height:1.2;overflow:visible;text-overflow:clip}.stock-table-wide th:nth-child(1),.stock-table-wide td:nth-child(1){width:55px;min-width:50px;max-width:60px}.stock-table-wide th:nth-child(2),.stock-table-wide td:nth-child(2){left:55px;width:90px;min-width:80px;max-width:100px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.stock-table-wide th:nth-child(3),.stock-table-wide td:nth-child(3){display:none}.stock-table-wide th:nth-child(4),.stock-table-wide td:nth-child(4),.stock-table-wide th:nth-child(5),.stock-table-wide td:nth-child(5){width:60px;min-width:55px;max-width:70px}}.ticker-link{color:inherit;text-decoration:none;cursor:pointer;transition:all .2s ease;display:inline-block}.ticker-link:hover{color:#d4f34e;text-decoration:underline}.ticker-link:hover strong{color:#d4f34e}.stock-detail-container{min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#fff);padding:2rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease;margin-bottom:2rem}.back-button:hover{background:#f5f5f5;border-color:#d0d0d0;transform:translate(-3px)}.stock-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.stock-title h1{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin:0 0 .5rem;letter-spacing:-.02em}.stock-title h2{font-size:1.1rem;font-weight:500;color:#666;margin:0}.stock-price-header{text-align:right}.current-price{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.price-change{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:1rem;font-weight:600}.price-change.positive{background:#dcfce7;color:#16a34a}.price-change.negative{background:#fee2e2;color:#dc2626}.chart-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000f}.tradingview-chart-container{width:100%;height:600px;min-height:500px;border-radius:8px;overflow:hidden}.chart-controls{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.chart-range-btn{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.chart-range-btn:hover{background:#ebebeb;border-color:#d0d0d0}.chart-range-btn.active{background:#d4f34e;border-color:#d4f34e;color:#fff}.chart-wrapper{height:400px;position:relative}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.stat-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000f}.stat-section h3{font-size:1.2rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.stat-rows{display:flex;flex-direction:column;gap:1rem}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f5f5f5}.stat-row:last-child{border-bottom:none}.stat-label{font-size:.95rem;color:#666;font-weight:500}.stat-value{font-size:1rem;font-weight:600;color:#1a1a1a}.stat-value.positive{color:#16a34a}.stat-value.negative{color:#dc2626}.stat-value.warning{color:#f59e0b}.error-message{text-align:center;padding:3rem;color:#dc2626;font-size:1.1rem;font-weight:600;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}@media(max-width:768px){.stock-header{flex-direction:column;align-items:flex-start}.stock-price-header{text-align:left}.chart-wrapper{height:300px}.stats-grid{grid-template-columns:1fr}}.performance-analytics{max-width:1400px;margin:0 auto;padding:2rem 3rem}.performance-header{margin-bottom:3rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e8e8e8;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.back-button:hover{background:#f8f9fa;border-color:#d4f34e;color:#d4f34e}.performance-header h1{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin:0 0 .5rem}.performance-header .subtitle{font-size:1.1rem;color:#666;margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.metric-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;border:2px solid transparent}.metric-card:hover{box-shadow:0 8px 24px #d4f34e26;border-color:#d4f34e;transform:translateY(-4px)}.metric-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.metric-header h3{font-size:1rem;font-weight:600;color:#666;margin:0;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:3rem;font-weight:800;display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.metric-value svg{flex-shrink:0}.metric-subtitle{font-size:.9rem;color:#999;font-weight:500}.comparison-section{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 2px 12px #0000000f;margin-bottom:2rem}.comparison-section h2{font-size:1.8rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.comparison-subtitle{font-size:1rem;color:#666;margin:0 0 2rem}.comparisons{display:flex;flex-direction:column;gap:2.5rem}.comparison-bar-container{border-bottom:1px solid #f0f0f0;padding-bottom:2rem}.comparison-bar-container:last-child{border-bottom:none;padding-bottom:0}.comparison-label{font-size:1.2rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:3px solid #D4F34E;display:inline-block}.comparison-bars{display:flex;flex-direction:column;gap:1rem}.bar-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:1.5rem}.bar-name{font-size:.95rem;font-weight:600;color:#333;text-align:right}.bar-wrapper{position:relative;height:48px;background:#f8f9fa;border-radius:8px;overflow:visible}.performance-bar{height:100%;border-radius:8px;display:flex;align-items:center;justify-content:flex-end;padding-right:1rem;min-width:60px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 8px #0000001a}.bar-value{font-size:.9rem;font-weight:700;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2)}.performance-note{background:#fffbf5;border-left:4px solid #D4F34E;padding:1.5rem;border-radius:8px}.performance-note p{margin:0;color:#666;font-size:.9rem;line-height:1.6}.performance-note strong{color:#d4f34e;font-weight:600}.error-state{background:#fff;border-radius:16px;padding:3rem;text-align:center;box-shadow:0 2px 12px #0000000f}.error-message{color:#ef4444;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem}@media(max-width:768px){.performance-analytics{padding:1.5rem}.performance-header h1{font-size:2rem}.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:2.5rem}.comparison-section{padding:1.5rem}.bar-row{grid-template-columns:100px 1fr;gap:1rem}.bar-name{font-size:.85rem}.bar-wrapper{height:40px}.bar-value{font-size:.8rem}}.performance-container{max-width:1400px;margin:0 auto;padding:2rem 3rem}.performance-container h1{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin:0 0 .5rem}.page-subtitle{font-size:1.1rem;color:#666;margin:0 0 2rem}.summary-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.summary-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001a}.summary-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.summary-card-header h3{font-size:1.1rem;font-weight:600;color:#666;margin:0}.summary-card-value{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin-bottom:.5rem}.summary-card-label{font-size:.95rem;color:#999}.performance-sections{display:flex;flex-direction:column;gap:3rem}.performance-section{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 2px 12px #0000000f}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.section-header h2{font-size:1.8rem;font-weight:700;color:#1a1a1a;margin:0}.performance-table-container{overflow-x:auto}.performance-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}.performance-table thead{background:#f8f9fa}.performance-table th{padding:1rem;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e8e8e8;white-space:nowrap}.performance-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.performance-table tbody tr{transition:all .2s ease}.performance-table tbody tr:hover{background:#fffbf5}.performance-table tbody tr:last-child td{border-bottom:none}.rank-badge{display:inline-flex;align-items:center;justify-content:center;background:#d4f34e;color:#1a1a1a;font-weight:700;font-size:.9rem;padding:.4rem .8rem;border-radius:8px;min-width:50px}.performance-cell{display:flex;align-items:center;font-weight:600;font-size:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.spinner{width:48px;height:48px;border:4px solid #f0f0f0;border-top:4px solid #D4F34E;border-radius:50%;animation:spin 1s linear infinite}.loading-container p{font-size:1.1rem;color:#666;margin:0}.error-message{text-align:center;padding:3rem 2rem}.error-message p{font-size:1.1rem;color:#ef4444;margin:0 0 1.5rem}.retry-button{background:#d4f34e;color:#1a1a1a;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:#c4e33e;transform:translateY(-2px);box-shadow:0 4px 12px #d4f34e4d}@media(max-width:768px){.performance-container{padding:1.5rem}.performance-container h1{font-size:2rem}.performance-section{padding:1.5rem}.section-header h2{font-size:1.5rem}.performance-table{font-size:.85rem}.performance-table th,.performance-table td{padding:.75rem .5rem}.rank-badge{min-width:40px;padding:.3rem .6rem;font-size:.8rem}}.stock-detail-news{max-width:1400px;margin:2rem auto;padding:0 2rem}.news-feed-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.news-feed-section h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:2px solid #D4F34E}.loading-news,.no-news{text-align:center;padding:3rem 1rem;color:#666;font-size:1rem}.news-grid{display:flex;flex-direction:column;gap:1.5rem;max-height:800px;overflow-y:auto;padding-right:.5rem}.news-grid::-webkit-scrollbar{width:6px}.news-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.news-grid::-webkit-scrollbar-thumb{background:#d4f34e;border-radius:3px}.news-card{display:flex;gap:1rem;background:#f9f9f9;border-radius:8px;padding:1rem;text-decoration:none;color:inherit;transition:all .2s ease;border:1px solid #e8e8e8}.news-card:hover{background:#fff;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#d4f34e}.news-image{width:120px;height:80px;object-fit:cover;border-radius:6px;flex-shrink:0}.news-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.news-source{font-size:.75rem;font-weight:600;color:#d4f34e;text-transform:uppercase;letter-spacing:.5px}.news-headline{font-size:1rem;font-weight:600;color:#1a1a1a;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-summary{font-size:.875rem;color:#666;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-date{font-size:.75rem;color:#999;margin-top:auto}@media(max-width:768px){.stock-detail-news{padding:0 1rem}.news-feed-section{padding:1.5rem}.news-card{flex-direction:column}.news-image{width:100%;height:150px}}.earnings-calendar-container{padding:2rem 3rem;max-width:100%;margin:0 auto}.earnings-calendar-header{margin-bottom:2rem}.earnings-calendar-title{display:flex;align-items:center;gap:1rem;color:#1a1a1a;margin-bottom:.5rem}.earnings-calendar-title h2{font-size:2rem;font-weight:700;margin:0}.earnings-subtitle{font-size:.95rem;color:#666;margin:0;padding-left:3rem}.watchlist-highlight-label{color:#d4f34e;font-weight:600;margin-left:.5rem}.earnings-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;overflow-x:auto}.earnings-day-column{min-width:180px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.earnings-day-header{text-align:center;padding:1rem;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e8e8e8}.earnings-day-name{font-size:.75rem;font-weight:700;color:#666;letter-spacing:.05em;margin-bottom:.25rem}.earnings-day-number{font-size:1.5rem;font-weight:800;color:#1a1a1a}.earnings-time-section{padding:1rem}.earnings-time-section.before-open{background-color:#fff8f5;border-bottom:1px solid #f0f0f0}.earnings-time-section.after-close{background-color:#f5f9ff}.earnings-time-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:#666;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.earnings-companies-grid{display:flex;flex-direction:column;gap:.5rem}.earnings-company-card{background:#fff;border:2px solid #e8e8e8;border-radius:8px;padding:.75rem;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.75rem;cursor:pointer;transition:all .2s ease}.earnings-company-card:hover{border-color:#ccc;box-shadow:0 2px 6px #0000001a;transform:translateY(-2px)}.earnings-company-card.on-watchlist{background:linear-gradient(135deg,#fff5f0,#ffe8dc);border:2px solid #D4F34E;box-shadow:0 2px 8px #d4f34e33}.earnings-company-card.on-watchlist:hover{border-color:#d4f34e;box-shadow:0 4px 12px #d4f34e4d}.earnings-company-card img{width:40px;height:40px;object-fit:contain;border-radius:4px}.earnings-fallback-logo{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff}.earnings-ticker{font-size:.7rem;font-weight:700;color:#1a1a1a;text-align:center}.earnings-no-data{grid-column:1 / -1;text-align:center;color:#999;font-size:.75rem;padding:1rem 0;font-style:italic}.earnings-calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.earnings-calendar-loading p{color:#666;font-size:1rem}@media(max-width:1400px){.earnings-calendar-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:1024px){.earnings-calendar-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.earnings-calendar-container{padding:1rem}.earnings-calendar-grid{grid-template-columns:repeat(2,1fr)}.earnings-day-column{min-width:150px}.earnings-companies-grid{grid-template-columns:repeat(2,1fr)}}.earnings-week-navigation{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.week-nav-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#d4f34e,#c4e33e);color:#1a1a1a;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.week-nav-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4f34e4d}.week-label{font-size:1.25rem;font-weight:700;color:#1a1a1a;min-width:150px;text-align:center}.earnings-day-month{font-size:.7rem;color:#999;margin-top:.25rem}.polymarket-odds-section{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e8e8e8;border-radius:12px;padding:2rem;margin-bottom:2rem}.polymarket-header{display:flex;align-items:center;gap:.75rem;color:#1a1a1a;margin-bottom:.5rem}.polymarket-header h3{font-size:1.5rem;font-weight:700;margin:0}.polymarket-subtitle{font-size:.9rem;color:#666;margin:0 0 1.5rem;padding-left:2rem}.polymarket-odds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.polymarket-card{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:all .2s ease}.polymarket-card:hover{border-color:#d4f34e;box-shadow:0 4px 12px #d4f34e33;transform:translateY(-2px)}.polymarket-card-header{display:flex;flex-direction:column;align-items:center;gap:.5rem}.polymarket-symbol{font-size:.85rem;font-weight:700;color:#1a1a1a}.polymarket-probability{font-size:2.5rem;font-weight:800;line-height:1}.polymarket-probability.high{color:#22c55e}.polymarket-probability.medium{color:#d4f34e}.polymarket-probability.low{color:#ef4444}.polymarket-label{font-size:.8rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.polymarket-date{font-size:.75rem;color:#999;padding:.25rem .75rem;background:#f5f5f5;border-radius:4px}.polymarket-no-data{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;color:#999;font-size:.9rem}@media(max-width:768px){.earnings-week-navigation{flex-direction:column;gap:1rem}.week-nav-btn{width:100%;justify-content:center}.polymarket-odds-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.watchlist-earnings-section{background:linear-gradient(135deg,#fff5f0,#ffe8dc);border:2px solid #D4F34E;border-radius:12px;padding:2rem;margin-bottom:2rem}.section-header{display:flex;align-items:center;gap:.75rem;color:#1a1a1a;margin-bottom:1rem}.section-header h3{font-size:1.5rem;font-weight:700;margin:0}.section-subtitle{font-size:.9rem;color:#666;margin:0 0 1.5rem;padding-left:2rem}.watchlist-earnings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.watchlist-earnings-card{background:#fff;border:2px solid #D4F34E;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.watchlist-earnings-card:hover{box-shadow:0 4px 12px #d4f34e4d;transform:translateY(-2px)}.watchlist-earnings-logo{width:56px;height:56px;object-fit:contain;border-radius:8px}.watchlist-earnings-info{display:flex;flex-direction:column;gap:.25rem}.watchlist-earnings-symbol{font-size:1.1rem;font-weight:700;color:#1a1a1a}.watchlist-earnings-date{font-size:.85rem;color:#666;font-weight:600}.watchlist-earnings-time{font-size:.75rem;color:#d4f34e;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.polymarket-odds-section-separated{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e8e8e8;border-radius:12px;padding:2rem;margin-bottom:2rem}.notable-earnings-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000f}.notable-badge{margin-left:auto;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.75rem;font-weight:700;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.watchlist-earnings-grid{grid-template-columns:1fr}.watchlist-earnings-card{flex-direction:column;text-align:center}.section-header{flex-wrap:wrap}.notable-badge{margin-left:0;margin-top:.5rem}}.notable-badge.all{background:linear-gradient(135deg,#94a3b8,#64748b)}.refresh-cache-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:1rem}.refresh-cache-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.refresh-cache-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-cache-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.polymarket-card.on-watchlist{border:2px solid #D4F34E}.polymarket-fallback{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.watchlist-earnings-logo+.earnings-fallback-logo{width:56px;height:56px;background:linear-gradient(135deg,#d4f34e,#e8ff6b);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}@media(max-width:768px){.earnings-week-navigation{flex-wrap:wrap;gap:.75rem}.refresh-cache-btn{margin-left:0;width:100%}}.polymarket-predictions-container{max-width:1400px;margin:2rem auto;padding:0 2rem}.polymarket-day-section{margin-bottom:3rem}.polymarket-day-header{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:3px solid #D4F34E;display:inline-block}.polymarket-predictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.polymarket-prediction-card{background:#fff;border:2px solid #e8e8e8;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.polymarket-prediction-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.polymarket-prediction-card.on-watchlist{border:2px solid #D4F34E;background:linear-gradient(135deg,#fff5f0,#fff)}.polymarket-card-header{display:flex;align-items:center;gap:1rem}.polymarket-logo{width:48px;height:48px;object-fit:contain;border-radius:8px}.polymarket-card-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.polymarket-symbol{font-size:1.1rem;font-weight:700;color:#1a1a1a;display:flex;align-items:center}.polymarket-date-small{font-size:.85rem;color:#666;font-weight:600}.polymarket-probability-large{font-size:3rem;font-weight:800;text-align:center;padding:1rem 0;border-radius:12px}.polymarket-probability-large.high{color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.polymarket-probability-large.medium{color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a)}.polymarket-probability-large.low{color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca)}.polymarket-label{font-size:.9rem;color:#666;text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.polymarket-timing{font-size:.85rem;color:#d4f34e;text-align:center;font-weight:600;padding:.5rem;background:#fff5f0;border-radius:8px}.polymarket-question{font-size:.8rem;color:#888;line-height:1.4;padding:.75rem;background:#f9fafb;border-radius:8px;border-left:3px solid #667eea}.polymarket-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.polymarket-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;text-align:center}.polymarket-no-data p{font-size:1.1rem;color:#666;margin:0}.polymarket-help-text{font-size:.9rem!important;color:#999!important;max-width:500px}@media(max-width:768px){.polymarket-predictions-grid{grid-template-columns:1fr}.polymarket-prediction-card{padding:1.25rem}.polymarket-probability-large{font-size:2.5rem}}.technical-indicators-section{background:#fff;border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 2px 8px #00000014}.technical-indicators-section h2{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem}.signal-summary{background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;padding:2rem;margin-bottom:2rem;border:2px solid #e8e8e8}.signal-summary.strong-buy{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.signal-summary.weak-buy{border-color:#34d399;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.signal-summary.neutral{border-color:#94a3b8;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.signal-summary.weak-sell{border-color:#fbbf24;background:linear-gradient(135deg,#fef3c7,#fde68a)}.signal-summary.strong-sell{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca)}.signal-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.signal-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000001a}.strong-buy .signal-icon{color:#10b981}.weak-buy .signal-icon{color:#34d399}.neutral .signal-icon{color:#94a3b8}.weak-sell .signal-icon{color:#fbbf24}.strong-sell .signal-icon{color:#ef4444}.signal-text h3{font-size:2rem;font-weight:800;margin:0 0 .5rem;color:#1a1a1a}.signal-description{font-size:1rem;color:#666;margin:0 0 .5rem;line-height:1.5}.signal-score{font-size:.9rem;color:#888;font-weight:600}.signal-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;white-space:nowrap;border:1.5px solid}.signal-badge.signal-strong-buy{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border-color:#10b981}.signal-badge.signal-weak-buy{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#166534;border-color:#34d399}.signal-badge.signal-neutral{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;border-color:#94a3b8}.signal-badge.signal-weak-sell{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-color:#fbbf24}.signal-badge.signal-strong-sell{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border-color:#ef4444}.signal-factors{background:#fff;border-radius:8px;padding:1.25rem;margin-top:1rem}.signal-factors h4{font-size:1rem;font-weight:700;color:#1a1a1a;margin:0 0 .75rem}.signal-factors ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.signal-factors li{font-size:.9rem;padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:space-between}.positive-factor{background:#f0fdf4;color:#166534}.negative-factor{background:#fef2f2;color:#991b1b}.factor-weight{font-weight:700;margin-left:.5rem}.indicators-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:2rem}.indicator-card{background:#f8f9fa;border-radius:8px;padding:1.25rem;border:1px solid #e8e8e8;transition:all .2s ease}.indicator-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.indicator-card h4{font-size:1rem;font-weight:700;color:#1a1a1a;margin:0 0 .75rem}.indicator-value{font-size:1.25rem;font-weight:700;color:#d4f34e;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.25rem}.indicator-value span{font-size:.95rem}.indicator-description{font-size:.85rem;color:#666;line-height:1.5;margin:0}.indicator-analysis{font-size:.9rem;color:#374151;line-height:1.6;margin:0;padding:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;border-left:3px solid #D4F34E}.rsi-bar{width:100%;height:12px;background:#e8e8e8;border-radius:6px;overflow:hidden;margin-top:.75rem}.rsi-fill{height:100%;transition:width .3s ease;border-radius:6px}.indicator-interactions{background:#f8f9fa;border-radius:8px;padding:1.5rem;border-left:4px solid #D4F34E}.indicator-interactions h3{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem}.indicator-interactions ol{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.75rem}.indicator-interactions li{font-size:.95rem;color:#666;line-height:1.6}.loading-message,.error-message{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;font-size:1rem;color:#666}.error-message{color:#ef4444}.fear-greed-card{background:linear-gradient(135deg,#fff,#f5f5f5);border-radius:12px;border:2px solid #e8e8e8;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:140px;box-shadow:0 2px 8px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.fear-greed-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.fear-greed-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:.75rem}.fear-greed-header h3{font-size:1rem;font-weight:600;margin:0;color:#1a1a1a}.fear-greed-label{font-size:.8rem;font-weight:700;padding:4px 8px;border-radius:6px;background:#f0f0f0;color:#666}.fear-greed-value{font-size:2.5rem;font-weight:800;margin:.5rem 0;border-radius:8px;padding:.75rem;width:100%}.fear-greed-extreme-fear{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.fear-greed-fear{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#92400e}.fear-greed-neutral{background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#78350f}.fear-greed-greed{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.fear-greed-extreme-greed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.fear-greed-description{font-size:.8rem;color:#999;margin:.5rem 0 0}@media(max-width:768px){.technical-indicators-section{padding:1.5rem}.signal-header{flex-direction:column;text-align:center}.signal-text h3{font-size:1.5rem}.indicators-grid{grid-template-columns:1fr}}
