 
        body {
            font-family: 'Inter', sans-serif;
            background-color: #f1f5f9;
            color: #0f172a;
        }
        .step-container {
            display: none;
            animation: fadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .step-container.active {
            display: block;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(6px); }
            to { opacity: 1; transform: translateY(0); }
        }
		/* Add this class right under @keyframes fadeIn */
		.animate-fadeIn {
			animation: fadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		}
        .report-table th, .report-table td {
            padding: 0.75rem 1rem;
            border-bottom: 1px solid #e2e8f0;
            text-align: right;
        }
        .report-table th:first-child, .report-table td:first-child {
            text-align: left;
        }
        .report-table th {
            font-weight: 600;
            color: #334155;
            background-color: #f8fafc;
        }
        .report-table tr:hover {
            background-color: #f1f5f9;
        }
        .excel-table {
            border-collapse: separate;
            border-spacing: 0;
            font-family: 'Inter', system-ui, -apple-system, sans-serif;
            font-size: 0.75rem;
        }
        .excel-table th, .excel-table td {
            border-right: 1px solid #cbd5e1;
            border-bottom: 1px solid #cbd5e1;
            padding: 0.5rem 0.75rem;
            white-space: nowrap;
        }
        .excel-table th {
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.025em;
        }
        .excel-sticky-col {
            position: sticky;
            left: 0;
            z-index: 20;
            background-color: #ffffff;
            font-weight: 500;
        }
        .excel-header-row th.excel-sticky-col {
            background-color: #f8fafc;
            z-index: 30;
        }
        .calc-tooltip-trigger {
            position: relative;
            cursor: pointer;
            border-bottom: 1.5px dotted #94a3b8;
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            transition: color 0.15s ease;
        }
        /* Tooltip box base (hidden by default) */
        .calc-tooltip-box {
            visibility: hidden;
            opacity: 0;
            width: 320px;
            max-width: 88vw; /* Prevents mobile horizontal overflow */
            background-color: #0f172a;
            color: #f8fafc;
            text-align: left;
            border-radius: 0.75rem;
            padding: 0.85rem;
            position: absolute;
            z-index: 100;
            bottom: 125%;
            left: 50%;
            transform: translateX(-50%) translateY(4px);
            transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
            font-size: 0.75rem;
            line-height: 1.35;
            font-weight: 400;
            pointer-events: auto; 
        }
		.calc-tooltip-box::after {
			content: "";
			position: absolute;
			top: 100%;
			/* Use CSS variable to shift the arrow when the box moves */
			left: calc(50% + var(--arrow-shift, 0px));
			margin-left: -6px;
			border-width: 6px;
			border-style: solid;
			border-color: #0f172a transparent transparent transparent;
		}
        /* DESKTOP ONLY: Hover interactions */
        @media (hover: hover) and (pointer: fine) {
            .calc-tooltip-trigger:hover .calc-tooltip-box {
                visibility: visible;
                opacity: 1;
                transform: translateX(-50%) translateY(0);
            }
        }
        /* MOBILE/TOUCH: Active class toggled via JavaScript */
        .calc-tooltip-trigger.active .calc-tooltip-box {
            visibility: visible;
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
        pre::-webkit-scrollbar, div::-webkit-scrollbar {
            height: 6px;
            width: 6px;
        }
        pre::-webkit-scrollbar-thumb, div::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 4px;
        }
        /* PDF EXPORT MODE (Triggered by Headless Chrome) */
        /* AI-UPDATE: Complete print-to-PDF design system refactor: eliminates grey backgrounds, fixes canvas chart aspect ratios, positions Assumed Growth Rate top-right, and prevents trailing blank pages */
        .export-pdf-mode .no-print, 
        .export-pdf-mode nav[aria-label="Tabs"], 
        .export-pdf-mode #header-action-buttons, 
        .export-pdf-mode #toast-container,
        .export-pdf-mode #sticky-preview-bar,
        .export-pdf-mode #tab3-gate-overlay { display: none !important; }
        /* AI-UPDATE: Strip all grey backgrounds across entire document for crisp white print rendering, 
           without destroying structural padding on utility classes */
        .export-pdf-mode,
        .export-pdf-mode body,
        .export-pdf-mode html,
        .export-pdf-mode .min-h-screen { 
            background: #ffffff !important; 
            background-color: #ffffff !important; 
            padding: 0 !important; 
            margin: 0 !important; 
            padding-bottom: 0 !important;
            margin-bottom: 0 !important;
        }
        /* FIX 1: Target backgrounds only, preserving the original `p-6` padding on the cards */
        .export-pdf-mode .bg-slate-50,
        .export-pdf-mode .bg-slate-100,
        .export-pdf-mode .bg-slate-200 {
            background-color: transparent !important;
        }
        .export-pdf-mode .shadow-xl, .export-pdf-mode .shadow-md, .export-pdf-mode .shadow-sm, .export-pdf-mode .shadow-inner { box-shadow: none !important; }
        .export-pdf-mode .border, .export-pdf-mode .border-slate-200, .export-pdf-mode .border-slate-300 { border-color: #cbd5e1 !important; }
        .export-pdf-mode .max-w-6xl { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important; border: none !important; }
        /* AI-UPDATE: Collapse tooltip flex container to plain inline text in print mode to prevent table cell flexbox rendering glitches */
        .export-pdf-mode .calc-tooltip-trigger { display: inline !important; border-bottom: none !important; text-decoration: none !important; pointer-events: none; }
        .export-pdf-mode .calc-tooltip-trigger svg, 
        .export-pdf-mode .calc-tooltip-box { display: none !important; }
        .export-pdf-mode .tab-content { display: block !important; visibility: visible !important; position: static !important; opacity: 1 !important; }
        /* AI-UPDATE: Force unlock of blurred content on Tab 3 for clean PDF rendering */
        .export-pdf-mode #tab3-blurred-content { filter: none !important; pointer-events: auto !important; opacity: 1 !important; }
        // AI-UPDATE: BEGIN PRINT CSS FIX FOR TAB 3 SINGLE-PAGE FIT & TABLE LEGIBILITY
        /* Collapse inner card padding in print mode to prevent vertical height overflow on Page 1 and Tab 3 */
        .export-pdf-mode .p-4.md\:p-8 { padding: 0.5rem 0.75rem !important; }
        .export-pdf-mode .bg-gradient-to-r.from-blue-950 { padding: 0.75rem 1rem !important; border-radius: 0.5rem !important; }
        /* Enforce clean page breaks between tab containers so Tab 3 starts at the top of a fresh page */
        .export-pdf-mode #content-year1 { page-break-after: always !important; break-after: page !important; }
        .export-pdf-mode #content-excelView { page-break-before: always !important; break-before: page !important; page-break-after: always !important; break-after: page !important; margin-top: 0 !important; padding-top: 0.5rem !important; }
        .export-pdf-mode #content-multiYear { page-break-before: always !important; break-before: page !important; page-break-after: avoid !important; break-after: avoid !important; display: block !important; margin-top: 0 !important; padding-top: 0.5rem !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
        /* Compact Page 1 cards and enforce unbreakable side-by-side layout to prevent severed Net Income boxes */
        .export-pdf-mode #deferredCompNeutralizerCard:not(.hidden) { padding: 0.5rem 0.75rem !important; margin-bottom: 0.5rem !important; page-break-inside: avoid !important; break-inside: avoid !important; }
        .export-pdf-mode #content-year1 .grid.grid-cols-1.md\:grid-cols-2 { page-break-inside: avoid !important; break-inside: avoid !important; margin-bottom: 0.5rem !important; }
        .export-pdf-mode #content-year1 .grid.grid-cols-1.md\:grid-cols-2 > div { padding: 0.75rem 1rem !important; }
        /* Calibrate Tab 3 card margins and chart height (270px) with object-fit: contain so Chart + Table 1 + Table 2 fit on a single page */
        .export-pdf-mode #ejEquityComparisonCard:not(.hidden) { page-break-inside: avoid !important; break-inside: avoid !important; margin-bottom: 0.5rem !important; }
        .export-pdf-mode #chartSection:not(.hidden) { page-break-inside: avoid !important; break-inside: avoid !important; margin-bottom: 0.5rem !important; }
        .export-pdf-mode #chartSection .relative { height: 270px !important; min-height: 270px !important; max-height: 270px !important; }
        .export-pdf-mode #chartSection img,
        .export-pdf-mode #chartSection canvas { max-height: 270px !important; height: 270px !important; width: 100% !important; object-fit: contain !important; margin: 0 !important; padding: 0 !important; }
        .export-pdf-mode #chartSection .p-5.bg-slate-900 {
            padding: 0.5rem 1rem !important;
            display: flex !important;
            flex-direction: row !important;
            justify-content: space-between !important;
            align-items: center !important;
            background-color: #0f172a !important;
            border-bottom: 1px solid #1e293b !important;
        }
        .export-pdf-mode #chartSection .px-5.py-3.bg-slate-50 { padding: 0.35rem 0.75rem !important; font-size: 8.5px !important; line-height: 1.15 !important; }
        .export-pdf-mode #chartSection .chart-header-rate-box {
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
            padding: 0 !important;
            margin: 0 !important;
            width: auto !important;
            text-align: right !important;
        }
        .export-pdf-mode #chartSection #investmentRate { display: none !important; }
        .export-pdf-mode #chartSection label { font-size: 0 !important; line-height: 1 !important; }
        .export-pdf-mode #chartSection label::before {
            content: "Assumed Growth Rate:" !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            color: #94a3b8 !important;
            text-transform: uppercase !important;
            letter-spacing: 0.025em !important;
        }
        .export-pdf-mode #investRateDisplay {
            font-size: 12px !important;
            font-weight: 800 !important;
            color: #34d399 !important;
            background: transparent !important;
            border: none !important;
            padding: 0 !important;
            margin-left: 0.25rem !important;
        }
        /* AI-UPDATE [COMPLIANCE]: Ensure consolidated regulatory notice and disclaimers print clearly on PDF Page 2 */
        .export-pdf-mode #consolidatedRegulatoryNotice,
        .export-pdf-mode #tab1Disclosures {
            display: block !important;
            visibility: visible !important;
            opacity: 1 !important;
            page-break-before: always !important;
            break-before: page !important;
            page-break-inside: avoid !important;
            break-inside: avoid !important;
            margin-top: 0.5rem !important;
        }
        /* Ensures Table 1 card remains an unbreakable block */
        .export-pdf-mode #multiYearTableCard {
            page-break-inside: avoid !important;
            break-inside: avoid !important;
            margin-bottom: 0.5rem !important;
        }
        
        .export-pdf-mode #multiYearTableCard .p-5 { padding: 0.5rem 1rem !important; }
        /* Ensures Table 2 renders on the same page as Chart + Table 1 without a forced page break */
        .export-pdf-mode #diffTableContainer {
            page-break-before: auto !important;
            break-before: auto !important;
            page-break-inside: avoid !important;
            break-inside: avoid !important;
            margin-top: 0.5rem !important;
            margin-bottom: 0.5rem !important;
        }
        .export-pdf-mode #diffTableContainer .p-5 { padding: 0.5rem 1rem !important; }
        /* Expand table cell font size and padding to utilize Page 4 vertical space and improve legibility */
        .export-pdf-mode .report-table th, 
        .export-pdf-mode .report-table td { padding: 5px 8px !important; font-size: 10.5px !important; line-height: 1.3 !important; box-sizing: border-box !important; }
        .export-pdf-mode .report-table th { font-size: 9.5px !important; }
        /* Enforce strict table layout with border-collapse: separate to fix Chromium's bug ignoring page-break-inside: avoid on tbodys */
        .export-pdf-mode table { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; table-layout: fixed !important; }
		// AI-UPDATE: END PRINT CSS FIX
        .export-pdf-mode thead { display: table-header-group !important; }
        .export-pdf-mode tbody { display: table-row-group !important; }
        .export-pdf-mode tr { page-break-inside: avoid !important; break-inside: avoid !important; }
		/* ========================================= */
        /* DYNAMIC TABLE PAGINATION GLUE  */
        /* ========================================= */
        /* Forces the headless browser to treat the entire <tbody> section as an unbreakable brick */
        .export-pdf-mode .pdf-section-avoid {
            page-break-inside: avoid !important;
            break-inside: avoid !important;
        }
        /* Ensure the parent table is allowed to naturally break across pages, otherwise the whole table gets pushed to a blank page */
        .export-pdf-mode table {
            page-break-inside: auto !important;
            break-inside: auto !important;
        }
        /* ========================================= */
        .export-pdf-mode .report-table { font-size: 9.5px !important; width: 100% !important; table-layout: fixed !important; }
        .export-pdf-mode .report-table th, 
        .export-pdf-mode .report-table td { padding: 4px 5px !important; line-height: 1.25 !important; box-sizing: border-box !important; }
        .export-pdf-mode .report-table th:first-child, 
        .export-pdf-mode .report-table td:first-child { width: 30% !important; text-align: left !important; white-space: normal !important; word-break: break-word !important; }
        .export-pdf-mode .report-table th:not(:first-child), 
        .export-pdf-mode .report-table td:not(:first-child) { width: 14% !important; white-space: nowrap !important; word-break: normal !important; text-align: right !important; }
        /* FIX 4 & SIDE-BY-SIDE LAYOUT: Enforce Side-by-Side layout using Grid, and vertically align the bottom footers */
        .export-pdf-mode .md\:grid-cols-2 { 
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important; 
            display: grid !important; 
            align-items: stretch !important;
        }
        /* Flex-grow logic pushes the final Net Income totals to the bottom of both cards so they perfectly align horizontally */
        .export-pdf-mode .md\:grid-cols-2 > div { 
            display: flex !important; 
            flex-direction: column !important; 
        }
        .export-pdf-mode .md\:grid-cols-2 > div > .space-y-3 { 
            display: flex !important; 
            flex-direction: column !important; 
            flex-grow: 1 !important; 
        }
        .export-pdf-mode .md\:grid-cols-2 > div > .space-y-3 > div.border-t { 
            margin-top: auto !important; 
        }
        /* AI-UPDATE: Rearrange Hero Break-Even block vertically below text */
        .export-pdf-mode .bg-emerald-950\/40 { flex-direction: column !important; align-items: flex-start !important; padding: 0.75rem !important; gap: 0.5rem !important; }
        .export-pdf-mode .bg-emerald-950\/40 .calc-tooltip-trigger { width: 100% !important; text-align: center !important; justify-content: center !important; margin-top: 0.25rem !important; }
        /* FIX 3: Remove border from Break-Even box and align text/number on the same line */
        .export-pdf-mode .bg-emerald-950\/40 .bg-emerald-900\/60 {
            border: none !important;
            background: transparent !important;
            padding: 0 !important;
            display: flex !important;
            flex-direction: row !important;
            align-items: baseline !important;
            justify-content: flex-start !important;
            gap: 0.4rem !important;
        }
        .export-pdf-mode #breakEvenDisplay { display: inline !important; font-size: 1.25rem !important; line-height: 1 !important; margin: 0 !important; }
        .export-pdf-mode .bg-emerald-950\/40 .bg-emerald-900\/60 span.text-xs { border-bottom: none !important; }
        /* AI-UPDATE: Compact Hero Banner vertical padding and fonts to fit Side-by-Side cards on Page 1 */
        .export-pdf-mode .bg-gradient-to-r.from-emerald-600 { padding: 1rem 1.25rem !important; border-radius: 0.75rem !important; }
        .export-pdf-mode .bg-gradient-to-r.from-emerald-600 .text-4xl,
        .export-pdf-mode .bg-gradient-to-r.from-emerald-600 .text-5xl,
        .export-pdf-mode .bg-gradient-to-r.from-emerald-600 .text-6xl { font-size: 2.25rem !important; line-height: 2.5rem !important; padding-top: 0.25rem !important; }
        /* FIX 2: Ensure "Active Comparison" and "Generated" stay inline and left-aligned.
           Scope vertical stacking strictly to the badges inside the comparison cards to prevent header collateral damage. */
        .export-pdf-mode .md\:grid-cols-2 .flex.items-center.gap-2 { flex-direction: column !important; align-items: flex-end !important; gap: 0.25rem !important; }
        .export-pdf-mode #fhc-enterprise-badge { font-size: 9px !important; padding: 2px 6px !important; white-space: nowrap !important; }
        /* Disable interactivity and fix Chromium backgrounds */
        .export-pdf-mode .overflow-x-auto, .export-pdf-mode .overflow-y-auto { max-height: none !important; overflow: visible !important; }
        .export-pdf-mode * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
        .export-pdf-mode .backdrop-blur { backdrop-filter: none !important; }
        .export-pdf-mode .bg-emerald-950\/60 { background-color: #022c22 !important; }
        /* AI-UPDATE: Redact active application DOM elements and expose the gated directive notice during native print triggers */
        /* We added :not(.export-pdf-mode) so headless Chrome can bypass the redaction during PDF generation */
    @media print {
    /* Hide all elements except #printGatedNotice when NOT in automated PDF export mode */
    body:not(.export-pdf-mode) > *:not(#printGatedNotice) {
        display: none !important;
    }

    /* Force full-page styling on #printGatedNotice for native browser printing */
    body:not(.export-pdf-mode) #printGatedNotice {
        display: block !important;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #ffffff !important;
        z-index: 9999;
    }
}