.biopanorama-root{display:flex;flex-direction:column;height:100vh;background-color:#0b1120;color:#f8fafc;font-family:Plus Jakarta Sans,Inter,sans-serif;overflow:hidden}.biopanorama-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:#0f172a;border-bottom:1px solid #1E293B;box-shadow:0 4px 20px #00000040;z-index:10}.biopanorama-nav .back-btn{color:#94a3b8;font-weight:600;text-transform:none;transition:all .2s ease}.biopanorama-nav .back-btn:hover{color:#06b6d4;background-color:#06b6d414}.biopanorama-nav .nav-title{font-weight:800;letter-spacing:-.015em;color:#fff}.biopanorama-nav .nav-badge{font-family:Fira Code,monospace;font-weight:700;font-size:.75rem;background-color:#1e293b;color:#f8fafc;border:1px solid #334155;border-radius:4px}.biopanorama-nav .nav-badge.success{background-color:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.biopanorama-layout{display:flex;flex:1;overflow:hidden}.biopanorama-sidebar{width:260px;background-color:#0f172a;border-right:1px solid #1E293B;display:flex;flex-direction:column;padding:16px 12px;gap:8px}.biopanorama-sidebar .tab-btn{justify-content:flex-start;text-transform:none;font-weight:600;font-size:.9rem;color:#94a3b8;padding:10px 16px;border-radius:6px;transition:all .2s cubic-bezier(.4,0,.2,1)}.biopanorama-sidebar .tab-btn:hover{color:#f8fafc;background-color:#ffffff08}.biopanorama-sidebar .tab-btn.active{color:#0b1120;background-color:#06b6d4;box-shadow:0 0 16px #06b6d459;font-weight:700}.biopanorama-sidebar .tab-btn.active .MuiButton-startIcon{color:#0b1120}.sidebar-info-card{background-color:#06b6d408!important;border:1px solid rgba(6,182,212,.15)!important;padding:12px;border-radius:6px}.biopanorama-content{flex:1;background-color:#0b1120;overflow-y:auto;padding:24px}.view-container{max-width:1200px;margin:0 auto;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bento-tile{background-color:#151e32!important;border:1px solid #1E293B!important;padding:20px;border-radius:8px!important;display:flex;flex-direction:column;justify-content:center;transition:all .3s ease}.bento-tile:hover{border-color:#334155!important;transform:translateY(-2px)}.bento-tile.glow-cyan{border-color:#06b6d44d!important;box-shadow:0 0 20px #06b6d41a}.bento-label{color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.bento-value{color:#fff;font-weight:800;letter-spacing:-.02em}.bento-section{background-color:#151e32!important;border:1px solid #1E293B!important;padding:24px;border-radius:8px!important}.section-title{font-weight:800;letter-spacing:-.01em;color:#fff;margin-bottom:8px!important}.manifest-card{box-shadow:0 8px 32px #00000026}.manifest-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#0f172a;border:1px solid #1E293B;border-radius:6px;transition:all .2s ease}.manifest-item:hover{border-color:#334155;background-color:#0f172acc}.manifest-item .file-name{font-family:Fira Code,monospace;color:#f8fafc;font-weight:600}.manifest-download{border-color:#1e293b!important;color:#94a3b8!important;text-transform:none!important}.manifest-download:hover{border-color:#06b6d4!important;color:#06b6d4!important;background-color:#06b6d40d!important}.step-card{display:flex;gap:16px;padding:16px;background-color:#0f172a;border:1px solid #1E293B;border-radius:6px}.step-number{font-family:Fira Code,monospace;font-weight:800;font-size:1.25rem;color:#06b6d4}.canvas-wrapper{background-color:#0b1120!important;border:1px solid #1E293B!important;border-radius:8px!important;padding:12px;overflow:hidden;box-shadow:inset 0 0 40px #00000080;display:flex;justify-content:center}.canvas-wrapper canvas{image-rendering:pixelated;border-radius:4px}.zero-state-card{background-color:#151e32!important;border:1px solid #1E293B!important;border-radius:8px!important;padding:48px 24px;text-align:center;max-width:600px;margin:40px auto;box-shadow:0 12px 40px #0000004d}.zero-state-card .primary-action{background-color:#06b6d4!important;color:#fff!important;font-weight:700!important}.zero-state-card .secondary-action{border-color:#1e293b!important;color:#94a3b8!important}.search-field .MuiOutlinedInput-root{background-color:#0f172a;border-radius:6px}.search-field .MuiOutlinedInput-notchedOutline{border-color:#1e293b!important}.search-field .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#334155!important}.search-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#06b6d4!important}.dge-table-wrapper{background-color:#0f172a;border:1px solid #1E293B;border-radius:6px}.dge-table-wrapper .MuiTableCell-root{border-bottom:1px solid #1E293B;color:#94a3b8}.dge-table-wrapper .MuiTableCell-head{background-color:#151e32;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.dge-table-wrapper .MuiTableRow-root:hover{background-color:#ffffff05!important}.dge-pagination{color:#94a3b8!important;border-top:none!important}.selected-gene-box{margin-top:16px;padding:16px;background-color:#0f172a;border:1px solid rgba(6,182,212,.2);border-radius:6px;box-shadow:0 4px 20px #06b6d40d;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0b1120}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#334155}.heatmap-outer-card{background-color:#151e32!important;border:1px solid #1E293B!important;border-radius:8px!important;box-shadow:0 12px 40px #0000004d!important}.heatmap-legend-bar{width:180px;height:12px;background:linear-gradient(90deg,#06b6d40d,#06b6d4);border:1px solid rgba(255,255,255,.1);border-radius:4px}.heatmap-scroll-container{width:100%;max-height:62vh;overflow:auto;border:1px solid #1E293B;border-radius:6px;background-color:#0f172a;margin-top:8px}.heatmap-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.heatmap-corner-header{position:sticky;top:0;left:0;background-color:#151e32!important;z-index:10;border-bottom:2px solid #1E293B;border-right:2px solid #1E293B;padding:16px;text-align:left;box-shadow:2px 2px 10px #0000004d}.heatmap-col-header{position:sticky;top:0;background-color:#151e32;color:#f8fafc;z-index:5;padding:12px 4px;text-align:center;border-bottom:2px solid #1E293B;border-right:1px solid #1E293B;font-family:Fira Code,monospace;font-size:.72rem;font-weight:700;white-space:nowrap}.col-header-text{writing-mode:vertical-rl;transform:rotate(180deg);text-align:left;padding:8px 4px;letter-spacing:.05em;color:#38bdf8}.heatmap-row-label-cell{position:sticky;left:0;background-color:#151e32;z-index:8;border-right:2px solid #1E293B;border-bottom:1px solid #1E293B;padding:12px 16px;min-width:190px;box-shadow:4px 0 10px #00000040;text-align:left}.heatmap-cell{padding:6px 12px;text-align:center;font-family:Fira Code,monospace;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease-in-out;border-right:1px solid rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.02);min-width:44px;height:44px}.heatmap-cell:hover{filter:brightness(1.4) contrast(1.1);transform:scale(1.12);z-index:15;box-shadow:0 0 15px #06b6d4cc,inset 0 0 8px #fff6;border-radius:4px}.cell-value-hover{opacity:0;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8);font-weight:700}.heatmap-cell:hover .cell-value-hover{opacity:1}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.composition-progress-container{width:100%;height:6px;background-color:#0f172a;border:1px solid #1E293B;border-radius:3px;overflow:hidden;position:relative}.composition-progress-bar{height:100%;border-radius:2px;background:linear-gradient(90deg,#06b6d4,#2dd4bf);box-shadow:0 0 10px #2dd4bf66;transition:width .8s cubic-bezier(.4,0,.2,1)}html,body{font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5}.picker-dialog-bg{z-index:1300!important;background-color:#00000080!important;opacity:1!important}.picker-dialog{z-index:1301!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;border-radius:8px!important;border:none!important;overflow:hidden!important;box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f!important}
