		/* SRA Dashboard and Badges */
		.sra-container {
			display: grid;
			grid-template-columns: 1fr;
			gap: 1rem;
			margin-bottom: 1.5rem;
		}

		@media (min-width: 992px) {
			.sra-container {
				grid-template-columns: 2fr 1fr;
			}
		}

		.sra-card {
			background: var(--card-bg);
			backdrop-filter: blur(20px);
			border: 1px solid var(--card-border);
			border-radius: 12px;
			padding: 1rem;
			box-shadow: var(--shadow-md);
			display: flex;
			flex-direction: column;
			gap: 0.75rem;
			position: relative;
			overflow: hidden;
			transition: all 0.3s ease;
		}

		.sra-card:hover {
			border-color: rgba(255, 255, 255, 0.2);
			transform: translateY(-2px);
			box-shadow: var(--shadow-lg);
		}

		.sra-header-section {
			display: flex;
			align-items: center;
			justify-content: space-between;
			border-bottom: 1px solid var(--card-border);
			padding-bottom: 0.5rem;
		}

		.sra-title {
			font-size: 1.05rem;
			font-weight: 700;
			color: var(--text-primary);
			display: flex;
			align-items: center;
			gap: 0.4rem;
		}

		.sra-risk-display {
			display: flex;
			align-items: center;
			gap: 0.5rem;
		}

		.sra-grade-badge {
			width: 42px;
			height: 42px;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.35rem;
			font-weight: 900;
			color: #fff;
			text-shadow: 0 1px 3px rgba(0,0,0,0.5);
			box-shadow: 0 3px 10px rgba(0,0,0,0.3);
			border: 1.5px solid rgba(255,255,255,0.2);
			transition: all 0.3s ease;
		}

		.grade-a { background: linear-gradient(135deg, #48bb78, #38a169); box-shadow: 0 0 15px rgba(72, 187, 120, 0.3); }
		.grade-b { background: linear-gradient(135deg, #4299e1, #3182ce); box-shadow: 0 0 15px rgba(66, 153, 225, 0.3); }
		.grade-c { background: linear-gradient(135deg, #ecc94b, #d69e2e); box-shadow: 0 0 15px rgba(236, 201, 75, 0.3); color: #1a202c; text-shadow: none; }
		.grade-d { background: linear-gradient(135deg, #ed8936, #dd6b20); box-shadow: 0 0 15px rgba(237, 137, 54, 0.3); }
		.grade-f { background: linear-gradient(135deg, #e53e3e, #c53030); box-shadow: 0 0 20px rgba(229, 62, 62, 0.5); animation: pulse-red 2s infinite; }

		@keyframes pulse-red {
			0% { transform: scale(1); box-shadow: 0 0 15px rgba(229, 62, 62, 0.5); }
			50% { transform: scale(1.03); box-shadow: 0 0 25px rgba(229, 62, 62, 0.7); }
			100% { transform: scale(1); box-shadow: 0 0 15px rgba(229, 62, 62, 0.5); }
		}

		.sra-stats-grid {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 0.75rem;
		}

		@media (min-width: 576px) {
			.sra-stats-grid {
				grid-template-columns: repeat(4, 1fr);
			}
		}

		.sra-stat-box {
			background: rgba(255, 255, 255, 0.03);
			border: 1px solid var(--card-border);
			border-radius: 8px;
			padding: 0.5rem;
			text-align: center;
		}

		.sra-stat-val {
			font-size: 1.2rem;
			font-weight: 700;
			color: var(--text-primary);
		}

		.sra-stat-lbl {
			font-size: 0.7rem;
			color: var(--text-secondary);
			margin-top: 0.15rem;
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}

		/* EOL Lifecycle Styling */
		.eol-info-container {
			display: flex;
			flex-direction: column;
			gap: 0.35rem;
		}

		.eol-row {
			display: flex;
			justify-content: space-between;
			font-size: 0.85rem;
			padding: 0.15rem 0;
			border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
		}

		.eol-badge {
			padding: 0.2rem 0.6rem;
			border-radius: 20px;
			font-size: 0.75rem;
			font-weight: 600;
			text-transform: uppercase;
		}

		.eol-supported { background: rgba(72, 187, 120, 0.15); color: #48bb78; border: 1px solid rgba(72, 187, 120, 0.3); }
		.eol-expired { background: rgba(229, 62, 62, 0.15); color: #f56565; border: 1px solid rgba(229, 62, 62, 0.3); }
		.eol-unknown { background: rgba(160, 174, 192, 0.15); color: #a0aec0; border: 1px solid rgba(160, 174, 192, 0.3); }

		/* Concurrency and SRA Badges */
		.epss-weighted-badge {
			font-size: 0.8rem;
			padding: 0.15rem 0.4rem;
			border-radius: 4px;
			font-weight: 600;
			background: rgba(102, 126, 234, 0.15);
			color: #a3bffa;
			border: 1px solid rgba(102, 126, 234, 0.3);
			margin-left: 0.5rem;
		}

		/* Comparison UI */
		.compare-btn-container {
			margin-top: 0.5rem;
			display: flex;
			justify-content: flex-end;
		}

		.compare-panel {
			margin-top: 1.5rem;
			background: rgba(10, 10, 20, 0.6);
			border: 1.5px solid #667eea;
			border-radius: 16px;
			padding: 1.5rem;
			box-shadow: 0 10px 30px rgba(102, 126, 234, 0.15);
			animation: slideDown 0.3s ease;
		}

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

		.compare-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			border-bottom: 1px solid rgba(102, 126, 234, 0.2);
			padding-bottom: 0.75rem;
			margin-bottom: 1rem;
		}

		.compare-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1rem;
			align-items: stretch;
		}

		.compare-column {
			background: rgba(255, 255, 255, 0.02);
			border: 1px solid var(--card-border);
			border-radius: 12px;
			padding: 1rem;
			display: flex;
			flex-direction: column;
			gap: 1rem;
			text-align: center;
		}

		.compare-column.primary-product {
			background: rgba(102, 126, 234, 0.03);
			border-color: rgba(102, 126, 234, 0.3);
		}

		.compare-column.comparison-product {
			background: rgba(237, 137, 54, 0.03);
			border-color: rgba(237, 137, 54, 0.3);
		}

		.compare-metric-row {
			display: flex;
			justify-content: space-between;
			padding: 0.5rem 0;
			border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
			font-size: 0.9rem;
		}

		.compare-search-input {
			width: 100%;
			background: rgba(0, 0, 0, 0.2);
			border: 1px solid var(--card-border);
			border-radius: 8px;
			color: var(--text-primary);
			padding: 0.5rem 0.75rem;
			font-family: inherit;
			font-size: 0.9rem;
			outline: none;
			transition: all 0.2s ease;
		}

		.compare-search-input:focus {
			border-color: #667eea;
			box-shadow: 0 0 8px rgba(102, 126, 234, 0.25);
		}

		/* Report Generator Panel */
		.report-workspace {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1.5rem;
			background: var(--card-bg);
			border: 1px solid var(--card-border);
			border-radius: 12px;
			padding: 1.5rem;
			box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
			margin-bottom: 2rem;
		}

		@media (max-width: 992px) {
			.report-workspace {
				grid-template-columns: 1fr;
			}
		}

		.report-form {
			display: flex;
			flex-direction: column;
			gap: 1rem;
			max-height: 870px;
			overflow-y: auto;
			padding-right: 0.75rem;
			scrollbar-width: thin;
		}

		.report-form-group {
			display: flex;
			flex-direction: column;
			gap: 0.35rem;
		}

		.report-form-group label {
			font-size: 0.85rem;
			font-weight: 600;
			color: var(--text-primary);
		}

		.report-input, .report-textarea, .report-select {
			background: rgba(0, 0, 0, 0.2);
			border: 1px solid var(--card-border);
			border-radius: 8px;
			color: var(--text-primary);
			padding: 0.5rem 0.75rem;
			font-family: inherit;
			font-size: 0.9rem;
			outline: none;
			transition: all 0.2s ease;
		}

		.report-input:focus, .report-textarea:focus, .report-select:focus {
			border-color: #48bb78;
			box-shadow: 0 0 8px rgba(72, 187, 120, 0.25);
		}

		.report-select option {
			background-color: #1a202c;
			color: #f7fafc;
			padding: 0.5rem;
		}

		.report-cve-list {
			max-height: 200px;
			overflow-y: auto;
			border: 1px solid var(--card-border);
			border-radius: 8px;
			padding: 0.5rem;
			background: rgba(0, 0, 0, 0.15);
			display: flex;
			flex-direction: column;
			gap: 0.4rem;
			scrollbar-width: thin;
		}

		.report-cve-item {
			display: flex;
			align-items: center;
			gap: 0.5rem;
			font-size: 0.85rem;
			cursor: pointer;
			padding: 0.2rem;
			border-radius: 4px;
		}

		.report-cve-item:hover {
			background: rgba(255, 255, 255, 0.05);
		}

		/* Document Preview Panel */
		.report-preview-panel {
			display: flex;
			flex-direction: column;
			gap: 1rem;
		}

		.report-preview-canvas {
			background: #ffffff;
			color: #2d3748;
			border-radius: 8px;
			padding: 2.5rem;
			box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
			font-family: 'Arial', sans-serif;
			line-height: 1.5;
			font-size: 0.85rem;
			max-height: 820px;
			overflow-y: auto;
			border: 1px solid #cbd5e0;
			scrollbar-width: thin;
		}

		/* Word Report Document Styling */
		.report-doc-title {
			font-size: 1.4rem;
			font-weight: 700;
			color: #1a365d;
			margin-bottom: 1rem;
			border-bottom: 2px solid #2b6cb0;
			padding-bottom: 0.3rem;
		}

		.report-doc-table {
			width: 100%;
			border-collapse: collapse;
			margin-bottom: 1.2rem;
			font-size: 0.8rem;
			border: 1px solid #cbd5e0;
		}

		.report-doc-table th, .report-doc-table td {
			border: 1px solid #a0aec0;
			padding: 0.5rem;
			text-align: left;
			vertical-align: top;
		}

		.report-doc-table th {
			background-color: #2b6cb0;
			color: #ffffff;
			font-weight: 700;
		}

		.report-doc-section-title {
			font-size: 1.05rem;
			font-weight: 700;
			color: #2b6cb0;
			margin-top: 1.2rem;
			margin-bottom: 0.5rem;
		}

		.report-doc-text {
			margin-bottom: 0.8rem;
			color: #2d3748;
			text-align: justify;
		}

		.report-doc-list {
			margin-left: 1.2rem;
			margin-bottom: 0.8rem;
		}

		.report-doc-list li {
			margin-bottom: 0.25rem;
		}

		.report-doc-vt-box {
			display: flex;
			align-items: center;
			background: #f7fafc;
			border: 1px solid #e2e8f0;
			border-radius: 6px;
			padding: 0.75rem;
			margin-bottom: 1rem;
			gap: 1rem;
		}

		.report-doc-vt-badge {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 85px;
			width: auto;
			padding: 0.35rem 0.6rem;
			border-radius: 20px;
			border: 1.5px solid #e53e3e;
			color: #e53e3e;
			font-weight: 800;
			font-size: 0.75rem;
			letter-spacing: 0.05em;
			background: #fff5f5;
			flex-shrink: 0;
			text-align: center;
		}

		.report-doc-vt-badge.clean {
			border-color: #38a169;
			color: #38a169;
			background: #f0fff4;
		}

		.report-doc-vt-badge.pending {
			border-color: #cbd5e0;
			color: #718096;
			background: #f7fafc;
		}

		.report-doc-vt-badge.warning {
			border-color: #dd6b20;
			color: #dd6b20;
			background: #fffaf0;
		}

		#printSection {
			display: none;
		}
