.stp-heatmap-container{max-width:1600px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.stp-heatmap-header{margin-bottom:30px}.stp-heatmap-header h2{margin:0 0 10px;font-size:28px;font-weight:600}
.stp-heatmap-header p{margin:0;color:#666;font-size:16px}
.stp-heatmap-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0;padding-bottom:10px}
.stp-heatmap-tab{padding:12px 24px;background:white;border:2px solid #ddd;border-radius:8px 8px 0 0;cursor:pointer;font-size:18px;font-weight:700;transition:all .2s}
.stp-heatmap-tab:hover{background:#f9f9f9;border-color:#999}
.stp-heatmap-tab.active{background:white;border-color:#333;border-bottom-color:white;box-shadow:0 -2px 4px rgba(0,0,0,.1)}
.stp-heatmap-tab[data-tab="bullish"]{color:#2E7D32}
.stp-heatmap-tab[data-tab="bearish"]{color:#C62828}
.stp-heatmap-content{display:none}.stp-heatmap-content.active{display:block}
.stp-heatmap-section{margin-bottom:50px;padding:20px;background:#fafafa;border-radius:8px}
.stp-heatmap-section-optimal{background:#f0f8ff;border:2px solid #0073aa}
.stp-heatmap-section h3{margin:0 0 20px;font-size:22px;font-weight:600}
.stp-treemap-container{width:100%;height:800px;border:1px solid #ddd;border-radius:4px;overflow:hidden;background:white}
.stp-treemap-tile{position:absolute;border:1px solid rgba(255,255,255,.3);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;text-shadow:0 1px 2px rgba(0,0,0,.5);cursor:pointer;transition:opacity .2s}
.stp-treemap-tile:hover{opacity:.9}
.stp-treemap-tile-ticker{font-size:14px;font-weight:700}
.stp-treemap-tile-composite{font-size:11px;font-weight:600;margin-top:2px}
.stp-treemap-sector-label{position:absolute;top:5px;left:5px;font-size:11px;font-weight:700;text-transform:uppercase;opacity:.7}
.stp-treemap-industry-label{position:absolute;top:5px;left:5px;font-size:10px;font-weight:600;opacity:.6}
.stp-heatmap-grid{display:flex;flex-direction:column;gap:30px}
.stp-heatmap-sector{background:white;padding:15px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}
.stp-heatmap-sector-header{font-size:18px;font-weight:700;margin-bottom:15px;padding:10px 15px;background:#f5f5f5;border-left:4px solid #0073aa;border-radius:4px}
.stp-heatmap-industry{margin-bottom:20px}
.stp-heatmap-industry-header{font-size:15px;font-weight:600;margin-bottom:10px;padding:8px 12px;background:#fafafa;border-left:3px solid #999;border-radius:3px;color:#333}
.stp-heatmap-tiles{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.stp-heatmap-tile{position:relative;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;padding:8px;box-shadow:0 2px 4px rgba(0,0,0,.15);transition:transform .2s,box-shadow .2s;color:white;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.stp-heatmap-tile:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.25);cursor:help}
.stp-heatmap-tile-clickable{cursor:pointer}.stp-heatmap-tile-clickable:hover{transform:scale(1.05);box-shadow:0 6px 12px rgba(0,0,0,.3);z-index:10}
.stp-heatmap-tile-ticker{font-size:14px;font-weight:700;text-align:center}
.stp-heatmap-tile-composite{font-size:12px;font-weight:600;text-align:center;margin-top:4px}
.stp-heatmap-modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.7)}
.stp-heatmap-modal-content{background-color:#fff;margin:2% auto;padding:20px;border-radius:8px;width:95%;max-width:1400px;max-height:90vh;overflow-y:auto}
.stp-heatmap-modal-close{color:#aaa;float:right;font-size:32px;font-weight:bold;cursor:pointer}.stp-heatmap-modal-close:hover{color:#000}
.stp-heatmap-modal-title{margin:0 0 20px;font-size:24px}
.stp-heatmap-modal-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:20px}
.stp-heatmap-chart-tile{background:#f9f9f9;border:1px solid #ddd;border-radius:5px;padding:15px}
.stp-heatmap-chart-header{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee}
.stp-heatmap-chart-ticker{font-size:18px;font-weight:bold;color:#0073aa}
.stp-heatmap-chart-grade{font-size:14px;font-weight:600}
.stp-heatmap-chart-container{width:100%;height:400px}
@media(max-width:768px){.stp-heatmap-tile{min-width:60px!important;min-height:60px!important}.stp-heatmap-modal-charts{grid-template-columns:1fr}}
