/**
 * ProSchool mbilletech - Master Print & Responsive CSS
 * Version: 1.0.0
 * Purpose: Professional A4 Print Optimization & Mobile-Ready UI
 */

/* --- ROOT VARIABLES --- */
:root {
    --ps-national-primary: #2271b1; /* Professional Blue */
    --ps-english-primary: #1b7a0f;  /* Professional Green */
    --ps-border-color: #000000;
    --ps-bg-light: #f9f9f9;
    --ps-danger: #d63638;
}

/* --- BASE STYLES FOR SCREEN --- */
.proschool-print-container {
    max-width: 1200px;
    margin: 10px auto;
    padding: 10px;
    background: #fff;
    box-sizing: border-box;
}

/* Responsive Table Wrappers */
.ps-responsive-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 5px;
}

/* --- MOBILE RESPONSIVENESS (480px) --- */
@media screen and (max-width: 480px) {
    .proschool-print-container {
        padding: 5px;
    }
    
    h1, h2, h3 {
        font-size: 16px !important;
        margin-bottom: 5px !important;
    }

    .ps-two-col {
        flex-direction: column !important;
    }

    .ps-dist-grid {
        grid-template-columns: 1fr !important; /* Single column on mobile */
    }

    /* Shrink table text slightly more for very small screens to minimize scrolling */
    .proschool-print-container table td, 
    .proschool-print-container table th {
        font-size: 9px !important;
        padding: 2px !important;
    }
}

/* --- MASTER PRINT OPTIMIZATION --- */
@media print {
    /* 1. Force Color Graphics and Backgrounds */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    /* 2. Page Setup & Margins */
    @page {
        margin: 0.5cm !important;
    }

    /* Orientation Specifics */
    .proschool-landscape-print {
        size: A4 landscape !important;
    }

    .proschool-portrait-print {
        size: A4 portrait !important;
    }

    /* 3. Hide WordPress Elements */
    #adminmenumain,
    #wpadminbar,
    #adminmenuwrap,
    #wpfooter,
    .update-nag,
    .proschool-no-print,
    .notice,
    #footer-upgrade {
        display: none !important;
        height: 0 !important;
        visibility: hidden !important;
    }

    body {
        background: #fff !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    #wpcontent, #wpbody-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* 4. Aggressive Vertical Compression */
    .proschool-print-container {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    h1, h2, h3, h4 {
        margin: 1px 0 !important; /* Minimized margin */
        padding: 0 !important;
        line-height: 1.1 !important;
    }

    .proschool-print-container table {
        width: 100% !important;
        border-collapse: collapse !important;
        margin-bottom: 2px !important; /* Minimized margin */
        table-layout: auto !important;
    }

    .proschool-print-container table th,
    .proschool-print-container table td {
        font-size: 10px !important;
        padding: 1px 2px !important; /* Minimal 1px-2px padding */
        line-height: 1.1 !important;
        border: 1px solid var(--ps-border-color) !important;
    }

    /* 5. Page Separation */
    .proschool-page-break {
        display: block !important;
        page-break-before: always !important;
        break-before: page !important;
        margin-top: 0 !important;
    }

    /* 6. Distinctions & Chart Layouts */
    .ps-dist-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1px 10px !important;
    }

    .ps-checkbox-box {
        border: 1px solid #000 !important;
        width: 8px !important;
        height: 8px !important;
        display: inline-block !important;
    }

    .ps-chart-box {
        max-width: 320px !important; /* Ensure it stays contained next to distinctions */
    }

    .ps-bar-container {
        background: #eeeeee !important;
        border: 0.5px solid #cccccc !important;
        height: 8px !important;
        width: 100% !important;
    }

    .ps-bar-fill {
        height: 100% !important;
    }

    /* Color Enforcement */
    .prog-nat-bg { background-color: var(--ps-national-primary) !important; }
    .prog-eng-bg { background-color: var(--ps-english-primary) !important; }

    /* 7. Footer & Decisions */
    .ps-footer-stats-row {
        background: #eeeeee !important;
        display: flex !important;
        justify-content: space-between !important;
        border: 1px solid #000 !important;
        padding: 4px !important;
        font-weight: bold !important;
    }

    .ps-decision-block {
        border: 1px solid #000 !important;
        padding: 5px !important;
        margin-top: 5px !important;
    }

    .ps-signature-row {
        display: flex !important;
        justify-content: space-between !important;
        margin-top: 15px !important;
    }

    .ps-signature-box {
        text-align: center !important;
        width: 30% !important;
        border-top: 1px dashed #000 !important;
        padding-top: 2px !important;
        font-size: 9px !important;
    }
}

/* --- COLORS & ACCENTS (SCREEN & PRINT) --- */

/* National Program Styles */
.proschool-nat-header {
    color: var(--ps-national-primary);
    border-bottom: 2px solid var(--ps-national-primary);
}
.proschool-nat-avg {
    background-color: #e6f0f9 !important;
    font-weight: bold;
}

/* English Program Styles */
.proschool-eng-header {
    color: var(--ps-english-primary);
    border-bottom: 2px solid var(--ps-english-primary);
}
.proschool-eng-avg {
    background-color: #eef9eb !important;
    font-weight: bold;
}

/* Generic Utilities */
.ps-text-danger { color: var(--ps-danger) !important; }
.ps-bold { font-weight: 700; }
.ps-italic { font-style: italic; }
.ps-uppercase { text-transform: uppercase; }

/* Distinction Checked Style */
.ps-checked {
    background-color: #000 !important;
    color: #fff !important;
}