/* ===================================================================
   CoralLedger Comply - VAT Return Print Styles
   Purpose: Print-optimized styling for VAT Return dialog
   VAT-024: Print-Optimized Return View
   =================================================================== */

/* ===== PRINT CONTENT CLASSES ===== */

.vat-return-print-content {
    font-family: Arial, sans-serif;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    color: #1A1A2E;
    background: var(--white);
}

.print-header {
    text-align: center;
    border-bottom: 2px solid var(--deep-sea);
    padding-bottom: 16px;
    margin-bottom: 24px;
}

.government-header h1 {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    color: var(--deep-sea);
    text-transform: uppercase;
}

.government-header h2 {
    font-size: 16px;
    font-weight: bold;
    margin: 8px 0 0;
    color: var(--deep-sea);
}

.regulation-reference {
    font-size: 10px;
    font-style: italic;
    color: var(--gray-500);
    margin-top: 4px;
}

.print-section {
    margin-bottom: 24px;
    page-break-inside: avoid;
}

.print-section h3 {
    font-size: 14px;
    font-weight: bold;
    color: var(--deep-sea);
    border-bottom: 1px solid var(--deep-sea);
    padding-bottom: 4px;
    margin-bottom: 12px;
    margin-top: 0;
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 24px;
}

.info-row {
    display: flex;
    gap: 8px;
}

.info-row .label {
    font-weight: bold;
    min-width: 140px;
    color: var(--coral-text-primary);
}

.info-row .value {
    color: #1A1A2E;
}

.info-row .value.outstanding {
    color: #DC2626;
    font-weight: bold;
}

/* Status colors */
.status-draft {
    color: #F59E0B;
    font-weight: bold;
}

.status-filed {
    color: #10B981;
    font-weight: bold;
}

.status-paid {
    color: #059669;
    font-weight: bold;
}

/* VAT Calculation Table */
.vat-calculation-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0 8px;
}

.vat-calculation-table th,
.vat-calculation-table td {
    border: 1px solid var(--gray-200);
    padding: 10px 12px;
    text-align: left;
}

.vat-calculation-table th {
    background-color: var(--gray-100);
    font-weight: bold;
    color: var(--coral-text-primary);
}

.vat-calculation-table .amount {
    text-align: right;
    font-family: 'Courier New', monospace;
}

.vat-calculation-table .total-row {
    background-color: var(--info-light);
}

.vat-calculation-table .total-row td {
    border-top: 2px solid var(--deep-sea);
}

/* Note styles */
.refund-note {
    color: #10B981;
    font-style: italic;
    margin-top: 8px;
    font-size: 12px;
}

.payment-note {
    color: #DC2626;
    font-style: italic;
    margin-top: 8px;
    font-size: 12px;
}

.balance-note {
    color: var(--gray-500);
    font-style: italic;
    margin-top: 8px;
    font-size: 12px;
}

.notes-content {
    background: var(--gray-50);
    padding: 12px;
    border-left: 3px solid var(--deep-sea);
    margin: 0;
    white-space: pre-wrap;
}

/* Footer */
.print-footer {
    margin-top: 32px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
    font-size: 10px;
    color: var(--gray-500);
    text-align: center;
}

.print-footer p {
    margin: 4px 0;
}

.system-note {
    font-style: italic;
}

/* ===== PRINT MEDIA QUERY ===== */
@media print {
    /* Hide non-print elements */
    .no-print {
        display: none !important;
    }

    /* Reset dialog for print */
    .mud-dialog,
    .mud-dialog-container,
    .print-vat-return-dialog {
        position: static !important;
        box-shadow: none !important;
        border: none !important;
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .mud-dialog-content {
        padding: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* Hide MudBlazor overlay and backdrop */
    .mud-overlay,
    .mud-overlay-dialog,
    .mud-dialog-title,
    .mud-dialog-actions {
        display: none !important;
    }

    /* Print content styling */
    .vat-return-print-content {
        width: 100%;
        max-width: none;
        padding: 0;
        margin: 0;
    }

    /* Page setup */
    @page {
        size: A4;
        margin: 2cm;
    }

    body {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Ensure tables don't break across pages */
    .vat-calculation-table {
        page-break-inside: avoid;
    }

    .print-section {
        page-break-inside: avoid;
    }

    /* Preserve colors for status badges */
    .status-draft,
    .status-filed,
    .status-paid,
    .refund-note,
    .payment-note {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Table styling for print */
    .vat-calculation-table th {
        background-color: var(--gray-100) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .vat-calculation-table .total-row {
        background-color: var(--info-light) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}

/* ===== SCREEN-ONLY STYLES ===== */
@media screen {
    .vat-return-print-content {
        background: white;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .print-vat-return-dialog .mud-dialog-content {
        max-height: 70vh;
        overflow-y: auto;
    }
}
