#sidebar { position: absolute; }
#sidebar.diagnostic-panel-open { overflow-y: hidden; }

#diagnostic-error-panel {
	background: #f0fdff;
	bottom: 0;
	box-sizing: border-box;
	color: #26383c;
	display: flex;
	flex-direction: column;
	left: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 20px 16px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 20;
}

#diagnostic-error-panel[hidden] { display: none; }
#diagnostic-error-panel h2 { font-size: 20px; margin: 0 0 14px; }
#diagnostic-error-panel p { line-height: 1.45; }
#diagnostic-error-code { font-weight: 700; }
.diagnostic-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.diagnostic-actions .btn { white-space: normal; }
#diagnostic-package-preview { background: #fff; border: 1px solid #8cbdc5; margin-top: 14px; padding: 12px; }
#diagnostic-package-preview h3 { font-size: 16px; margin: 8px 0; }
#diagnostic-package-preview ul { padding-left: 20px; }
#diagnostic-download-status { color: #256b38; font-weight: 700; margin-top: 12px; }

.diagnostic-session-report { color: #26383c; padding: 0; }
.diagnostic-session-report h5 { align-items: center; display: flex; font-size: 22px; font-weight: 700; gap: 7px; margin: 0 0 6px; }
.diagnostic-session-report h6 { font-size: 15px; font-weight: 700; margin: 0 0 4px; }
.diagnostic-session-report p { line-height: 1.35; margin: 0; }
.diagnostic-session-intro { margin-bottom: 9px !important; }
.diagnostic-heart { fill: #d82f82; flex: 0 0 auto; height: 17px; stroke: #d82f82; stroke-linejoin: round; width: 17px; }
.diagnostic-choice-box { background: #f0fbfd; border-left: 4px solid #39a7b8; margin: 8px 0; padding: 8px 10px; }
.diagnostic-download-card, .diagnostic-isometry-case { align-items: center; background: #fff; border: 1px solid #cbdcdf; border-radius: 4px; display: grid; gap: 8px 14px; grid-template-columns: minmax(0, 1fr) auto; margin-top: 8px; padding: 9px 10px; }
.diagnostic-download-card .btn, .diagnostic-isometry-case .btn { white-space: normal; }
.diagnostic-isometry-case-status, #diagnostic-isometry-case-status { grid-column: 1 / -1; }
.diagnostic-preview-toggle { font-weight: 700; margin-top: 6px; padding-left: 0; }
#diagnostic-session-report-preview { background: #f7fcfd; border: 1px solid #8cbdc5; display: grid; gap: 4px 18px; grid-template-columns: 1fr 1fr; margin-top: 7px; padding: 9px 10px; }
#diagnostic-session-report-preview h6 { font-size: 15px; font-weight: 700; }
#diagnostic-session-report-preview ul { margin: 0; padding-left: 18px; }
.diagnostic-preview-closing { border-top: 1px solid #cbdcdf; grid-column: 1 / -1; margin-top: 4px !important; padding-top: 7px; }
#diagnostic-session-report-status, #diagnostic-isometry-case-status { color: #256b38; font-weight: 700; min-height: 0; }
.diagnostic-export-footer { align-items: stretch; display: flex; flex-wrap: wrap; justify-content: space-between; }
.diagnostic-report-entry { box-sizing: border-box; flex: 0 0 100%; margin-bottom: 8px; text-align: left; width: 100%; }
.diagnostic-report-banner { align-items: center; background: #fff; border: 1px solid #dfe3e8; border-radius: 3px; box-sizing: border-box; color: #333; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) 18px; padding: 12px; text-align: left; width: 100%; }
.modal-content .diagnostic-export-footer .diagnostic-report-banner { width: 100%; }
.diagnostic-report-banner:hover { background: #eaf8fa; border-color: #5faeba; }
.diagnostic-report-banner:focus-visible, .diagnostic-session-report .btn:focus-visible { box-shadow: 0 0 0 3px rgba(216,47,130,.3); outline: 2px solid #9b1f65; outline-offset: 2px; }
.diagnostic-report-arrow { align-self: center; fill: none; height: 18px; stroke: #368e9c; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 18px; }
.diagnostic-report-banner-copy { display: flex; flex-direction: column; font-size: 14px; gap: 8px; line-height: 1.45; }
.diagnostic-report-banner-copy strong { align-items: center; display: flex; font-size: 14px; gap: 5px; }
.diagnostic-report-banner-copy small { color: #5b6d70; font-size: 14px; margin-top: 4px; }

@media (max-width: 800px) {
	#diagnostic-error-panel { padding: 14px 12px; }
	#diagnostic-error-panel h2 { font-size: 18px; }
	.diagnostic-export-footer, .diagnostic-report-entry { align-items: stretch; flex-direction: column; }
	.diagnostic-download-card, .diagnostic-isometry-case, #diagnostic-session-report-preview { grid-template-columns: 1fr; }
	.diagnostic-preview-closing, #diagnostic-isometry-case-status { grid-column: 1; }
}
