@tailwind base;
@tailwind components;
@tailwind utilities;

/* Print Styles - Using @media print approach */
@media print {
    /* Page Setup */
    @page {
        size: landscape;
        margin: 0.2in;
    }
    
    body {
        font-size: 7pt !important;
        line-height: 1.1 !important;
        color: #000 !important;
        background: white !important;
    }
    
    /* Print Utility Classes */
    .print-break-inside-avoid {
        page-break-inside: avoid !important;
    }
    
    .print-only {
        display: block !important;
    }
    
    .screen-only {
        display: none !important;
    }
    
    /* Hide unnecessary elements */
    .no-print {
        display: none !important;
    }
    
    /* Text Sizes for Print */
    .print-text-xs {
        font-size: 6pt !important;
        line-height: 1rem !important;
    }
    
    .print-text-sm {
        font-size: 7pt !important;
        line-height: 1.25rem !important;
    }
    
    .print-text-base {
        font-size: 8pt !important;
        line-height: 1.5rem !important;
    }
    
    /* Spacing for Print */
    .print-mb-1 {
        margin-bottom: 0.1in !important;
    }
    
    .print-mb-2 {
        margin-bottom: 0.15in !important;
    }
    
    .print-mb-4 {
        margin-bottom: 0.2in !important;
    }
    
    .print-p-2 {
        padding: 2pt !important;
    }
    
    .print-p-3 {
        padding: 3pt !important;
    }
    
    .print-p-4 {
        padding: 4pt !important;
    }
    
    /* Print-specific container */
    .print-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0.1in !important;
    }
    
    /* Print table optimization */
    .print-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        font-size: 7pt !important;
    }
    
    .print-table th,
    .print-table td {
        border: 1px solid #000 !important;
        padding: 2pt 4pt !important;
        vertical-align: top !important;
    }
    
    .print-table th {
        background-color: #e0e7ff !important;
        font-weight: bold !important;
        color: #1e40af !important;
    }
    
    .print-table .text-right {
        text-align: right !important;
    }
    
    .print-table .text-center {
        text-align: center !important;
    }
    
    .print-totals-row {
        background-color: #1e40af !important;
        color: white !important;
        font-weight: bold !important;
    }
    
    /* Print summary boxes */
    .print-summary-box {
        border: 1px solid #000 !important;
        padding: 4pt !important;
        text-align: center !important;
        margin-bottom: 4pt !important;
        background: #f9fafb !important;
    }
    
    .print-header {
        text-align: center !important;
        margin-bottom: 6pt !important;
        border-bottom: 2px solid #1e40af !important;
        padding-bottom: 4pt !important;
    }
    
    /* Color adjustments for print */
    .print-text-green {
        color: #059669 !important;
    }
    
    .print-text-red {
        color: #dc2626 !important;
    }
    
    .print-text-blue {
        color: #1e40af !important;
    }
    
    /* Logo sizing for print */
    .print-logo {
        height: 40px !important;
    }

    /* Voucher-specific print styles */
    .print-text-xl {
        font-size: 14pt !important;
    }

    .voucher-container {
        max-width: 210mm !important;
        min-height: 148mm !important;
    }

    .voucher-credit {
        background-color: #f0fdf4 !important;
        border-left: 4px solid #16a34a !important;
    }

    .voucher-debit {
        background-color: #fef2f2 !important;
        border-left: 4px solid #dc2626 !important;
    }
}
