/* ===================================================================
   Print / PDF Export Styles for Tax Calculator - Compact Version
   =================================================================== */
@media print {
    /* Hide interactive elements */
    .header, .footer, .breadcrumb, .btn, .action-btn, .result-actions,
    .mode-switch, .example-scenarios, .hamburger {
        display: none !important;
    }

    /* Hide cookie consent banner in print/PDF */
    #cookie-consent-banner,
    .cookie-consent-banner {
        display: none !important;
    }
    
    /* Hide explanatory sidebar content that appears after the main results container */
    .sidebar-content #results-container ~ * {
        display: none !important;
    }

    /* Future Value Calculator: hide sidebar info cards after results in print */
    body.page-future-value .calculator-sidebar #results-container ~ * {
        display: none !important;
    }
    
    /* ROI Calculator: hide original form in print, use compact input summary instead */
    body.page-roi #roi-form {
        display: none !important;
    }

    /* IRR Calculator: hide main form in print, use compact input summary instead */
    body.page-irr #advanced-irr-form {
        display: none !important;
    }

    /* NPV Calculator: hide main form in print, use compact input summary instead */
    body.page-npv #npv-form {
        display: none !important;
    }

    /* Future Value Calculator: hide main form in print, use compact input summary instead */
    body.page-future-value #fv-form {
        display: none !important;
    }

    /* Real Estate IRR Analyzer: hide main form in print, use compact input summary instead */
    body.page-re-irr-analyzer #re-irr-form {
        display: none !important;
    }

    /* Cap Rate Calculator: hide main form in print, use compact input summary instead */
    body.page-cap-rate #cap-rate-form {
        display: none !important;
    }

    /* Mortgage Calculator: hide main form in print, use compact input summary instead */
    body.page-mortgage #mortgage-form {
        display: none !important;
    }

    /* Amortization Calculator: hide main form in print, use compact input summary instead */
    body.page-amortization #amortization-form {
        display: none !important;
    }

    /* Payback Period Calculator: hide main form in print, use compact input summary instead */
    body.page-payback #payback-form {
        display: none !important;
    }

    /* Retirement Calculator: hide main form in print, use compact input summary instead */
    body.page-retirement #retirement-form {
        display: none !important;
    }

    /* Tax Calculator: hide main form in print, use compact input summary instead */
    body.page-tax #tax-form {
        display: none !important;
    }

    /* Paycheck Calculator: hide main form in print, use compact input summary instead */
    body.page-paycheck #paycheck-form {
        display: none !important;
    }

    /* Self-Employment Tax Calculator: hide main form in print, use compact input summary instead */
    body.page-self-employment-tax #se-tax-form {
        display: none !important;
    }

    .print-input-summary {
        margin: 8px 0 10px 0;
        font-size: 9pt;
        page-break-inside: avoid;
    }

    .print-input-summary table {
        width: 100%;
        border-collapse: collapse;
    }

    .print-input-summary th,
    .print-input-summary td {
        border: 1px solid #333;
        padding: 4px 6px;
        text-align: left;
    }

    .print-input-summary th {
        background: #f0f0f0;
        font-weight: bold;
        width: 60%;
    }
    
    /* Compact page layout */
    @page {
        margin: 0.5in;
        size: letter;
    }
    
    body {
        margin: 0;
        padding: 0;
        background: white;
        color: black;
        font-size: 10pt;
        line-height: 1.3;
    }
    
    .container {
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    
    .calculator-layout {
        display: block;
    }
    
    .calculator-main {
        width: 100%;
        max-width: 100%;
    }
    
    .calculator-container {
        box-shadow: none;
        padding: 0;
        margin: 0;
        background: white;
    }
    
    /* Results container - compact */
    #results-container {
        display: block !important;
        opacity: 1 !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 0;
        margin: 0;
        border: none;
        background: white;
    }
    
    /* Print header - compact */
    .print-header {
        text-align: center;
        margin-bottom: 10px;
        padding-bottom: 8px;
        border-bottom: 1px solid #333;
    }
    
    .print-header h1 {
        font-size: 16pt;
        margin: 0 0 3px 0;
        color: #333;
    }
    
    .print-header p {
        margin: 2px 0;
        color: #666;
        font-size: 8pt;
        line-height: 1.2;
    }
    
    /* Headings - compact */
    #results-container h3 {
        font-size: 13pt;
        margin: 8px 0 6px 0;
        color: #333;
        page-break-after: avoid;
    }
    
    #results-container h4 {
        font-size: 11pt;
        margin: 6px 0 4px 0;
        color: #333;
        page-break-after: avoid;
    }
    
    /* Summary grid - compact */
    .summary-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 5px;
        margin: 5px 0 8px 0;
        page-break-inside: avoid;
    }
    
    .summary-item {
        padding: 5px;
        border: 1px solid #333;
        background: #f9f9f9;
    }
    
    .summary-item label {
        font-weight: bold;
        font-size: 8pt;
        display: block;
        margin-bottom: 2px;
        line-height: 1.1;
    }
    
    .summary-item span {
        font-size: 10pt;
        font-weight: bold;
    }
    
    .highlight-result {
        grid-column: span 3;
        background: #fff3cd !important;
        border: 1px solid #333 !important;
    }
    
    /* Tables - compact */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 5px 0;
        font-size: 9pt;
        page-break-inside: avoid;
    }
    
    table thead {
        background: #f0f0f0;
    }
    
    table th,
    table td {
        border: 1px solid #333;
        padding: 4px;
        text-align: left;
    }
    
    table th {
        font-weight: bold;
        font-size: 9pt;
    }
    
    /* Section containers - compact */
    .tax-brackets,
    .tax-comparison,
    .tax-planning {
        margin: 8px 0;
        page-break-inside: auto;
    }
    
    /* Tax planning tips - compact */
    .tax-planning ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .tax-planning li {
        margin: 4px 0;
        padding: 5px;
        border: 1px solid #333;
        border-left: 3px solid #000;
        background: #f9f9f9;
        page-break-inside: avoid;
        font-size: 9pt;
        line-height: 1.3;
    }
    
    .tax-planning strong {
        display: inline;
        margin-bottom: 0;
        font-size: 9pt;
    }
    
    .tax-planning li br {
        display: none;
    }
    
    .tax-planning strong::after {
        content: " ";
    }
    
    /* Remove excessive margins */
    p, ul, ol {
        margin: 3px 0;
    }
    
    /* Force visibility and allow page breaks */
    * {
        overflow: visible !important;
        max-height: none !important;
    }
    
    /* Allow page breaks between sections if needed */
    .tax-comparison {
        page-break-before: auto;
        page-break-after: auto;
    }
    
    /* Retirement Calculator - 打印样式 */
    .chart-container {
        margin: 10px 0;
        padding: 5px;
        border: 1px solid #333;
        page-break-inside: avoid;
    }
    
    .retirement-details,
    .action-items {
        margin: 10px 0;
        page-break-inside: avoid;
    }
    
    .analysis-list {
        list-style: none;
        padding: 0;
        margin: 5px 0;
    }
    
    .analysis-list li {
        margin: 4px 0;
        padding: 5px;
        border: 1px solid #333;
        border-left: 3px solid #007bff;
        background: #f9f9f9;
        page-break-inside: avoid;
        font-size: 9pt;
        line-height: 1.3;
    }
    
    .analysis-list li.positive {
        border-left-color: #28a745;
    }
    
    .analysis-list li.negative {
        border-left-color: #dc3545;
    }
    
    /* 图表在打印时保持可见并居中显示 */
    #savings-growth-chart,
    #income-comparison-chart,
    #payment-chart,
    #balance-chart,
    #amortization-chart,
    #cumulative-cashflow-chart,
    #roi-gauge-chart,
    #cap-rate-gauge-chart,
    #tax-breakdown-chart,
    #se-tax-chart,
    #income-distribution-chart,
    #cashflow-chart,
    #growth-chart,
    #breakdown-chart,
    #case-comparison-chart,
    #paycheck-chart,
    #annual-chart {
        display: flex !important;
        justify-content: center;
        align-items: center;
        max-height: 300px !important;
        page-break-inside: avoid;
    }
}

