#report-header {
	margin: 0 auto;
	padding: 10px 32px;
}

#report-header.is-pinned {
	position: fixed;
	top: 55px;
	left: 0;
	right: 0;
	width: auto;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 0;
	z-index: 400;
	background: var(--white);
	box-shadow: 0 6px 16px rgba(0,0,0,0.12);
	border-bottom: 1px solid var(--table-border);
}

#pin-header-btn {
	height: auto;
	width: auto;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('/Templates/MTBP2025/images/icons/unpin.svg');
	background-size: 25px 25px;
}

#pin-header-btn[aria-pressed="false"] {
	background-image: url('/Templates/MTBP2025/images/icons/pin.svg');
}

.patient-info {
	display: flex;
	align-items: center;
}

.patient-icon {
	margin-right: var(--space-md);
	font-size: var(--font-xl);
}

.patient-name {
	font-size: var(--font-xxl);
	font-weight: bold;
	display: flex;
	align-items: center;
	gap: var(--space-md);
}

.action-buttons button{
	padding: var(--space-sm) var(--space-lg);
}

#panel, .patient-panel, #fmi-panel-content, .info-bar {
	background-color: white;
	border-radius: var(--radius-md);
	margin-bottom: var(--space-xl);
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.patient-panel {
	background: white;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    padding: var(--space-xxl);
    margin-bottom: var(--space-xxl);
}

#tab-system {
	 box-shadow: none;
}

.info-bar {
	max-width: 1400px;
	margin: var(--space-xl) auto;
	background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: var(--space-md) var(--space-lg);
    display: flex;
    align-items: center;
    gap: var(--space-xxl);
    font-size: var(--font-sm);
}

.info-bar-pipeline {
	display: flex;
    flex-direction: row;
    gap: var(--space-sm);
}

#panel {
	margin-top: var(--space-xl);
	box-shadow: none;
}

.panel2-body {
	overflow: hidden;
	padding: var(--space-lg) var(--space-xl);
	border-radius: var(--radius-lg);
	background-color: white;
	border-radius: 0 0 8px 8px;
	border: 1px grey solid;
}

.patient-details {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg) 32px;
	font-size: var(--font-sm);
}

.details-table { width: 100%; }

.detail-item {
	display: flex;
    gap: var(--space-sm);
}

.detail-value {
    color: #111827;
    font-weight: 500;
}

@media (max-width: 900px) {
  .details-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .details-row { grid-template-columns: 1fr; }
}

/* CHROME-STYLE TABS - MAIN NAVIGATION */
.tab-header, .tab2-header {
    display: flex;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md) 0 var(--space-md);
    border-radius: 8px 8px 0 0;
    position: relative;
    background-color: #f5f5f5;
}

.tab-button {
    position: relative;
    padding: var(--space-md) var(--space-xxl);
    border-bottom: none;
    background-color: #c0c6cc;
    color: var(--blue);
    cursor: pointer;
    font-size: var(--font-lg);
    font-weight: 500;
    border-radius: 8px 8px 0 0;
    z-index: 1;
	margin-bottom: -0.5px;
	border: 1px solid grey;
    border-width: 0px 0px 1px 0px;
}

.tab-button.active {
    border: 1px solid grey;
	border-width: 1px 1px 0 1px;
    background-color: white;
    color: unset;
    z-index: 5;
}

.tab-button:hover:not(.active) {
    background-color: #d1d6db;
	color: var(--blue-hover);
}

.tab-button.active::before,
.tab-button.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 8px;
    height: 8px;
    background: #f5f5f5;
}

.tab-button.active::before {
    left: -9px;
    border-bottom-right-radius: 8px;
    box-shadow: 2px 2px 0 0 white;
    border-right: 1px solid grey;
    border-bottom: 1px solid grey;
}

.tab-button.active::after {
    right: -8.5px;
    border-bottom-left-radius: 8px;
    box-shadow: -2px 2px 0 0 white;
    border-left: 1px solid grey;
    border-bottom: 1px solid grey;
}

.tab-button.active:hover{
	background: white;
}

#genomics-content, #proteomics-content {
	padding: var(--space-lg) 46px;
	background-color: white;
	border-radius: 0 0 8px 8px;
	border: 1px grey solid;
}

#proteomics-content {
	display: none;
}

/* CHROME-STYLE TABS - SECOND NAVIGATION */
.tab2-system {
	position: relative;
	border-radius: 8px;
}

.tab2-header {
	background-color: white;
}

.tab2-header .tab-button.active::before, .tab2-header .tab-button.active::after {
	background: white;
}

.tab2-helper-icon {
	position: absolute;
	top: var(--space-xl);
	right: -15px;
	z-index: 3;
}

.alert, .alert2 {
	background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: var(--space-xl);
    margin-bottom: var(--space-xxl);
}

.alert2 {
	margin: 0;
	background: none;
}

.alert-body {
	min-height: 50px;
}

.alert-body-sampling {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-bottom: var(--space-lg);
}

.metric-item {
	display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--font-sm);
    background-color: #fffbeb;
    padding: var(--space-xs);
    border-radius: 12px;
}

.metric-value {
	font-weight: 600;
}

.metric-note {
    font-size: var(--font-sm);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.variant-summary {
	margin: var(--space-md) var(--space-md) var(--space-xl);
	border-radius: var(--radius-sm);
}

.summary-item {
	margin-bottom: var(--space-md);
	line-height: 1.5;
}

.summary-item:last-child {
	margin-bottom: 0;
}

.clickable, .download-link {
	color: var(--orange);
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s;
}

.download-link {
	color: var(--blue)
}

.clickable:hover {
	text-decoration: underline;
	color: var(--dark-orange);
}

.download-link:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.more-link {
	color: var(--blue);
	text-decoration: none;
	cursor: pointer;
	font-size: var(--font-sm);
	transition: color 0.2s;
}

.more-link:hover {
	text-decoration: underline;
}

.collapsible-section {
	border: 1px solid var(--blue);
	border-radius: var(--radius-sm);
	margin-bottom: var(--space-xl);
	overflow: hidden;
}

.content-title {
	font-weight: bold;
	font-size: var(--font-lg);
}

.toggle-icon {
	font-size: var(--font-xl);
	color: var(--blue);
}

.content-content {
	padding: var(--space-lg);
	display: block;
}

.content-content.collapsed {
	display: none;
}

table {
	width: 100%;
	table-layout: auto;
    font-size: var(--font-sm);
	font-weight: 500;
}

th, td {
	padding: var(--space-md) var(--space-sm);
	text-align: left;
	border-bottom: 1px solid #eee;
	vertical-align: top;
}

th {
	min-width: 165px; 
}

.empty-col {
	min-width: unset;
	width: 85px;
}

th {
	color: var(--dark-gray);
	background-color: rgba(0, 0, 0, 0.02);
	position: sticky;
	top: 0;
}

td {
	font-size: var(--font-xs);
	font-weight: 400;
}

tr:hover {
	background-color: rgba(0, 0, 0, 0.01);
}

.evidence-title, .origin-title, .biomarker-title {
	font-weight: 500;
}

.gene-badge, .mutation-badge {
	background-color: var(--blue);
	color: white;
	padding: var(--space-xs) var(--space-md);
	border-radius: var(--radius-sm);
	font-size: var(--font-sm);
	display: inline-block;
	font-weight: 500;
	transition: all 0.2s ease;
	cursor: pointer;
	text-decoration: none;
}

.gene-badge:hover, .mutation-badge:hover {
	background-color: var(--blue-hover);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(67, 172, 255, 0.4);
}

/* Small Popup Action Styling */
.smallPopupAction {
    color: #43acff;
    text-decoration: underline;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
}

.smallPopupAction:hover {
    color: #2691e6;
    text-decoration-thickness: 2px;
}

/* Badge hover effects - consistent for all badges */
.badge-ts, .badge-sp, .badge-ms, .badge-sf, .badge-og, .badge-multi-hit, .badge-am {
	background-color: var(--blue);
	color: white;
	padding: 2px var(--space-sm);
	border-radius: 50%;
	font-size: var(--font-xs);
	display: inline-block;
	margin-top: var(--space-sm);
	transition: all 0.2s ease;
	cursor: pointer;
	text-decoration: none;
}

.badge-ts {
	margin-right: var(--space-sm);
}

.badge-more {
	border-radius: var(--radius-sm);
	padding: 2px 8px;
}

.badge-ts:hover, .badge-sp:hover, .badge-ms:hover, .badge-sf:hover, .badge-og:hover, .badge-multi-hit:hover, .badge-am:hover {
	background-color: var(--blue-hover);
}

.badge-ts {
	margin-right: var(--space-sm);
}

.help-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background-color: #ddd;
	color: white;
	border-radius: 50%;
	text-align: center;
	line-height: 1;
	margin-left: var(--space-sm);
	font-size: var(--font-xs);
	cursor: pointer;
	transition: background-color 0.2s;
}

.help-icon:hover {
	background-color: #ccc;
}

.header-controls {
	display: flex;
	align-items: center;
}

.header-controls .help-icon {
	margin-right: var(--space-xl);
}

.checkbox-container {
	white-space: nowrap;
	display: flex;
	align-items: center;
	margin: var(--space-md) 0;
	font-size: var(--font-sm);
}

.checkbox-container input {
	margin-right: var(--space-sm);
	cursor: pointer;
}

.checkbox-container label {
	cursor: pointer;
}

.subtype-title {
	font-size: var(--font-md);
	margin: var(--space-xxl) 0;
	color: var(--dark-gray);
}

.subtype-instruction {
	margin-bottom: var(--space-lg);
    font-size: var(--font-sm);
}

.reference-sets {
	margin-bottom: var(--space-xxl);
}

.reference-sets-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-lg);
}

.reference-set-item {
	margin-bottom: var(--space-sm);
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	border: 1px solid var(--card-bd);
    font-size: var(--font-sm);
	background: var(--light-gray);
	padding: var(--space-sm) var(--space-md);
	border-radius: 999px;
	cursor: pointer;
	user-select: none;
	font-weight: 600;
}

.reference-set-item input {
	margin-right: var(--space-sm);
	cursor: pointer;
}

.reference-set-item label {
	cursor: pointer;
	white-space: nowrap;
}

.highlight-orange {
	color: var(--orange);
}

.protein-content {
	padding: var(--space-xl);
	position: relative;
	background-color: rgba(57, 169, 255, 0.02);
	border-radius: var(--radius-sm);
}

.protein-header {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--space-xl);
}

.protein-name {
	font-weight: bold;
	font-size: var(--font-md);
}

.protein-status.high {
	color: red;
	font-weight: bold;
}

.visualization-container {
	width: 100%;
	height: 200px;
	position: relative;
	overflow: hidden;
	background-color: white;
	border: 1px solid var(--medium-gray);
	border-radius: var(--radius-sm);
	margin-bottom: var(--space-md);
}

.distribution-plot {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.z-score-labels {
	position: absolute;
	bottom: var(--space-sm);
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	padding: 0 var(--space-md);
}

.z-score-column {
	flex: 1;
	display: flex;
	justify-content: space-between;
	font-size: var(--font-xs);
	color: var(--dark-gray);
}

.spacer {
	width: var(--space-xl);
}

.z-score-footer {
	display: flex;
	justify-content: space-between;
	margin-top: var(--space-md);
}

.z-score-label {
	width: 48%;
	text-align: center;
	font-size: var(--font-xs);
	color: var(--dark-gray);
	font-weight: 500;
}

.badge {
	display: inline-block;
	background-color: var(--orange);
	color: var(--white);
	font-size: 0.9rem;
	font-weight: 500;
	padding: var(--space-xs) var(--space-md);
	border-radius: 20px;
}

#report-page .accordion-item {
	margin-left: auto;
	width: 100%;
}

#report-page .highlight-orange {
	font-weight: inherit;
}

/* specifically for the accordion component in reports */
#report-page .accordion-header { 
	background-color: var(--light-gray);
}

#report-page .container-title {
    font-size: var(--font-sm);
    font-weight: 500;
}

#report-page .accordion-header:hover, #report-page .accordion-item.active .accordion-header {
	background: #e9ecef;
	color: unset;
}

#report-page .accordion-item .accordion-header::after {
	filter: invert(66%) sepia(45%) saturate(5413%) hue-rotate(184deg) brightness(103%) contrast(103%);
}

#report-page .accordion-item:hover .accordion-header::after {
	filter: invert(22%) sepia(72%) saturate(2661%) hue-rotate(199deg) brightness(90%) contrast(102%);
}

#report-page .accordion-item.active .accordion-header:hover {
	background-color: #e9ecef!important;
}

#report-page .accordion-content {
	padding: var(--space-sm);
}

/* Main dropdown container */
.screen-dropdown {
	font-size: var(--font-md);
	margin-left: var(--space-lg);
	position: relative;
	display: inline-block;
}

/* Dropdown button */
.screen-dropdown-button {
	padding: var(--space-sm) var(--space-lg);
	background-color: rgba(57, 169, 255, 0.1);
	border: 1px solid #ccc;
	cursor: pointer;
	border-radius: var(--radius-sm);
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	font-weight: 500;
	position: relative;
	user-select: none;
}

.screen-dropdown-button:hover {
	background-color: rgba(57, 169, 255, 0.15);
	border-color: rgba(57, 169, 255, 0.3);
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Add dropdown arrow */
.screen-dropdown-button::after {
	content: '▼';
	margin-left: auto;
	font-size: var(--font-xs);
	transition: transform 0.2s ease;
	opacity: 0.7;
}

.screen-dropdown.active .screen-dropdown-button::after {
	transform: rotate(180deg);
}

/* Dropdown content */
.screen-dropdown-content {
	display: none;
	position: absolute;
	top: 110%;
	left: 0;
	background-color: #fff;
	border: 1px solid var(--medium-gray);
	border-radius: var(--radius-sm);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	z-index: 1000;
	min-width: 320px;
	padding: var(--space-md);
	animation: dropdownSlide 0.2s ease-out;
}

@keyframes dropdownSlide {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.screen-dropdown.active .screen-dropdown-content {
	display: block;
}

/* Tree parent styling */
.tree-parent {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	font-weight: 600;
	padding: 2px 0;
}

/* Hide default jstree icons for parent nodes */
#screenTree li.no-icon > .jstree-anchor > .jstree-icon {
	display: none !important;
}

/* JSTree specific styling */
#screenTree {
	font-family: inherit;
}

#screenTree .jstree-anchor {
	padding: 4px 8px;
	border-radius: 4px;
	transition: all 0.2s ease;
	color: var(--text-color, #333);
	height: auto;
}

#screenTree .jstree-anchor:hover {
	background-color: rgba(57, 169, 255, 0.08);
	text-decoration: none;
}

#screenTree .jstree-clicked {
	background-color: rgba(57, 169, 255, 0.15) !important;
	color: var(--blue-hover) !important;
	font-weight: 500;
}

#screenTree .jstree-clicked:hover {
	background-color: rgba(57, 169, 255, 0.2) !important;
}

/* Parent nodes (SCREEN_A, SCREEN_B, etc.) */
#screenTree li.jstree-open > .jstree-anchor,
#screenTree li.jstree-closed > .jstree-anchor {
	background-color: #f8fafc;
	border-radius: 6px;
	padding: 4px 6px;
	pointer-events: none;
}

/* Child nodes (reports) */
#screenTree ul ul li .jstree-anchor {
	padding-left: 24px;
	margin-left: 8px;
	border-left: 2px solid #e2e8f0;
	position: relative;
}

#screenTree ul ul li .jstree-anchor::before {
	content: '';
	position: absolute;
	left: -2px;
	top: 50%;
	width: 8px;
	height: 2px;
	background-color: #e2e8f0;
}

/* File icons */
#screenTree .jstree-icon.fa-file,
#screenTree .jstree-icon.fa-file-arrow-down {
	color: #6b7280;
    font-size: var(--font-sm);
	margin-right: 6px;
}

#screenTree .jstree-icon.fa-file-arrow-down {
	color: #059669;
}

/* Status indicators */
.status-indicator {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display: inline-block;
	border: 2px solid #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	margin-left: 10px;
	margin-right: 2px;
}

.status-indicator.unknown {
	background-color: #9ca3af;
}

.status-indicator.active {
	background-color: var(--success-color, #10b981);
}

.status-indicator.warning {
	background-color: #f59e0b;
}

.status-indicator.error {
	background-color: #ef4444;
}

.status-text {
	color: var(--dark-gray, #6b7280);
	font-size: var(--font-xs);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Improve tree structure lines */
#screenTree .jstree-node {
	margin: 0;
}

#screenTree .jstree-children {
	margin-top: 4px;
}


/* Responsive adjustments */
@media (max-width: 768px) {
	.screen-dropdown-content {
		min-width: 280px;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* in popup */
.toggleContent {
	padding: 10px;
	background-color: #f1f1f1;
	line-height: 22px;
}

.geneInfoPopup,
.mutationInfoPopup,
.rearrangementInfoPopup,
.copyNumberInfoPopup {
	cursor: pointer;
}

.gene_tab_list {
	margin-bottom: 30px;
	border-bottom: 1px solid #c5c5c5;
}

.gene_tab_list a {
	position: relative;
	border: 0.1rem solid;
	border-color: #c5c5c5 !important;
	background-color: #ffffff !important;
	color: #c5c5c5 !important;
	font-size: var(--font-xxl);
	line-height: 45px;
	font-weight: normal !important;
	transition: none !important;
	border-radius: 0.1875rem 0.1875rem 0 0 !important;
	padding: var(--space-sm) var(--space-xl) !important;
	margin-left: 5px;
	text-decoration: none;
	top: -2px !important;
}

.gene_tab_list a:hover {
	color: #000000 !important;
}

.gene_tab_list a.active {
	background-color: #ffffff !important;
	border-bottom: 3px solid #ffffff !important;
	color: #000000 !important;
}

.gene_tab_content {
	display: none;
}

.gene_tab_content.show {
	display: block;
}

.simplified-table {
    width: 100%;
    table-layout: auto;
}

.simplified-table .gene-badge {
    background-color: var(--blue);
    color: white;
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
    display: inline-block;
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
    text-decoration: none;
}

.simplified-table .gene-badge:hover {
    background-color: var(--blue-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(67, 172, 255, 0.4);
}

.simplified-table .mutation-badge {
    background-color: var(--blue);
    color: white;
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
    display: inline-block;
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
    text-decoration: none;
    margin-bottom: var(--space-xs);
}

.simplified-table .mutation-badge:hover {
    background-color: var(--blue-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(67, 172, 255, 0.4);
}

.status-popup {

}

.status-popup h3 {
	display: block;
	margin-bottom: 10px;
}

.status-popup .status-form-section {
	margin-bottom: 20px;
}

.status-popup .status-form-section label {
	display: block;
}

.status-popup .status-form-section select {
	width: 100%;
	padding: 10px 12px 10px 12px;
	border: 1px solid var(--table-border);
	border-radius: 4px;
	font-size: 0.95rem;
	outline: none;
	box-shadow: rgba(0, 0, 0, 0.1) 0 0 5px 0, rgba(0, 0, 0, 0.1) 0 0 1px 0;
}

.status-popup .status-form-section textarea {
	width: 100%;
	height: 100px;
}

.status-popup .actions {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px;
}

.status-popup .actions .action-close {
	color: #9a9a9a;
	cursor: pointer;
}

#genomics-content table {
    table-layout: fixed !important;
}

#genomics-content table thead th:nth-child(1), 
#genomics-content table tbody td:nth-child(1) { 
    width: 12%;
}

#genomics-content table thead th:nth-child(2), 
#genomics-content table tbody td:nth-child(2) { 
    width: 13%;
}

#genomics-content table thead th:nth-child(3), 
#genomics-content table tbody td:nth-child(3) { 
    width: 10%;
}

#genomics-content table thead th:nth-child(4), 
#genomics-content table tbody td:nth-child(4) { 
    width: 25%;
}

#genomics-content table thead th:nth-child(5), 
#genomics-content table tbody td:nth-child(5) { 
    width: 20%;
}

#genomics-content table thead th:nth-child(6), 
#genomics-content table tbody td:nth-child(6) { 
    width: 25%;
}