/**
 * Professional Print Stylesheet for Zillion Savings and Loans Application
 * Optimized for clean, professional document printing
 */

@media print {
    /* Reset and Base Styles */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    body {
        font-size: 11pt;
        line-height: 1.4;
        color: #000;
        background: white;
        margin: 0;
        padding: 15mm;
    }
    
    /* Page Setup */
    @page {
        size: A4;
        margin: 15mm;
    }
    
    /* Hide unnecessary elements */
    .sidebar,
    .navbar,
    .btn-toolbar,
    .btn-group,
    button,
    .btn,
    .border-bottom,
    .pagination,
    .modal,
    .modal-backdrop,
    .alert,
    .toast,
    nav,
    .nav,
    .navbar-brand,
    .dropdown,
    form,
    input,
    select,
    textarea,
    .card-header button,
    .no-print,
    .action-buttons,
    [class*="btn-"]:not(.print-show) {
        display: none !important;
    }
    
    /* Print Header */
    .print-header {
        display: block !important;
        text-align: center;
        margin-bottom: 20pt;
        padding-bottom: 10pt;
        border-bottom: 2pt solid #000;
    }
    
    .print-header h1 {
        font-size: 18pt;
        font-weight: bold;
        margin: 0 0 5pt 0;
        color: #000;
    }
    
    .print-header .company-info {
        font-size: 10pt;
        margin: 5pt 0;
    }
    
    .print-header .report-title {
        font-size: 14pt;
        font-weight: bold;
        margin: 10pt 0 5pt 0;
    }
    
    .print-header .report-date {
        font-size: 9pt;
        color: #666;
    }
    
    /* Convert Cards to Simple Sections */
    .card {
        border: 1pt solid #ddd !important;
        box-shadow: none !important;
        page-break-inside: avoid;
        margin-bottom: 15pt;
        background: white !important;
    }
    
    .card-header {
        background: #f8f9fa !important;
        border-bottom: 1pt solid #ddd !important;
        padding: 8pt 12pt !important;
        font-weight: bold;
        font-size: 12pt;
        color: #000 !important;
    }
    
    .card-body {
        padding: 12pt !important;
    }
    
    /* Stat Cards - Convert to simple text */
    .stat-card {
        border: 1pt solid #ddd !important;
        page-break-inside: avoid;
        margin-bottom: 10pt;
        padding: 8pt !important;
    }
    
    .stat-value {
        font-size: 14pt !important;
        font-weight: bold;
        color: #000 !important;
    }
    
    .stat-label {
        font-size: 9pt !important;
        color: #666 !important;
    }
    
    /* Tables */
    table {
        width: 100% !important;
        border-collapse: collapse !important;
        page-break-inside: auto;
        font-size: 9pt;
        margin: 10pt 0;
    }
    
    thead {
        display: table-header-group;
        background: #f8f9fa !important;
    }
    
    tfoot {
        display: table-footer-group;
    }
    
    tbody {
        display: table-row-group;
    }
    
    tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }
    
    th {
        background: #f8f9fa !important;
        color: #000 !important;
        font-weight: bold;
        padding: 6pt 8pt !important;
        border: 1pt solid #ddd !important;
        text-align: left;
    }
    
    td {
        padding: 6pt 8pt !important;
        border: 1pt solid #ddd !important;
        color: #000 !important;
    }
    
    /* Table striping for better readability */
    tbody tr:nth-child(even) {
        background: #f9f9f9 !important;
    }
    
    /* Badges and Labels */
    .badge {
        border: 1pt solid #000 !important;
        padding: 2pt 6pt !important;
        font-size: 8pt !important;
        background: white !important;
        color: #000 !important;
    }
    
    .badge::before {
        content: "[";
    }
    
    .badge::after {
        content: "]";
    }
    
    /* Remove badge colors, make all black text */
    .badge.bg-success::after { content: " - Success]"; }
    .badge.bg-danger::after { content: " - Urgent]"; }
    .badge.bg-warning::after { content: " - Warning]"; }
    .badge.bg-info::after { content: " - Info]"; }
    
    /* Headings */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        color: #000 !important;
        font-weight: bold;
    }
    
    h1 { font-size: 18pt; margin: 15pt 0 10pt 0; }
    h2 { font-size: 16pt; margin: 12pt 0 8pt 0; }
    h3 { font-size: 14pt; margin: 10pt 0 6pt 0; }
    h4 { font-size: 12pt; margin: 8pt 0 5pt 0; }
    h5 { font-size: 11pt; margin: 6pt 0 4pt 0; }
    
    /* Links */
    a {
        color: #000 !important;
        text-decoration: none !important;
    }
    
    /* Show URLs for important links */
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #666;
    }
    
    /* Progress bars */
    .progress {
        border: 1pt solid #000 !important;
        height: auto !important;
        background: white !important;
    }
    
    .progress-bar {
        background: #ddd !important;
        color: #000 !important;
        padding: 2pt 4pt;
        border-right: 1pt solid #000;
    }
    
    /* Icons - replace with text */
    .bi::before {
        content: "" !important;
    }
    
    /* Grid layout adjustments */
    .row {
        display: block !important;
    }
    
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
    .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        width: 100% !important;
        float: none !important;
        display: block !important;
    }
    
    /* Two column layout for certain content */
    .print-two-column .col-md-6 {
        width: 48% !important;
        float: left !important;
        margin-right: 2%;
    }
    
    /* Summary boxes */
    .print-summary {
        border: 2pt solid #000 !important;
        padding: 10pt !important;
        margin: 15pt 0 !important;
        page-break-inside: avoid;
        background: #f8f9fa !important;
    }
    
    .print-summary h4 {
        margin-top: 0;
        border-bottom: 1pt solid #000;
        padding-bottom: 5pt;
    }
    
    /* Signatures section */
    .print-signatures {
        margin-top: 40pt;
        page-break-inside: avoid;
    }
    
    .print-signature-line {
        display: inline-block;
        width: 45%;
        margin: 20pt 2% 0 0;
        border-top: 1pt solid #000;
        padding-top: 5pt;
        text-align: center;
    }
    
    /* Footer */
    .print-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 8pt;
        color: #666;
        padding: 5pt 0;
        border-top: 1pt solid #ddd;
    }
    
    /* Page numbers */
    .print-page-number::after {
        content: counter(page);
    }
    
    /* Specific component fixes */
    .table-responsive {
        overflow: visible !important;
    }
    
    .dropdown-menu {
        display: none !important;
    }
    
    /* Print-specific utilities */
    .print-show {
        display: block !important;
    }
    
    .print-inline {
        display: inline !important;
    }
    
    .print-break-before {
        page-break-before: always;
    }
    
    .print-break-after {
        page-break-after: always;
    }
    
    .print-no-break {
        page-break-inside: avoid;
    }
    
    /* Ensure main content takes full width */
    .main-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    .container-fluid {
        width: 100% !important;
        padding: 0 !important;
    }
    
    /* Text utilities */
    .text-muted {
        color: #666 !important;
    }
    
    .text-primary,
    .text-success,
    .text-danger,
    .text-warning,
    .text-info {
        color: #000 !important;
    }
    
    /* Financial amounts - make bold and clear */
    .amount,
    [class*="currency"],
    .stat-value {
        font-weight: bold !important;
        color: #000 !important;
    }
    
    /* Charts and graphs notification */
    canvas, .chart-container {
        display: none !important;
    }
    
    canvas::after {
        content: "[Chart - View digital version for visual representation]";
        display: block;
        padding: 10pt;
        border: 1pt dashed #999;
        text-align: center;
        font-style: italic;
    }
}

/* Print preview styles (when using browser print preview) */
@media screen {
    .print-only {
        display: none !important;
    }
}

@media print {
    .print-only {
        display: block !important;
    }
    
    .screen-only {
        display: none !important;
    }
}

