/* VS Institute — Print Stylesheet */
@media print {

    /* Hide non-essential UI */
    .admin-sidebar,
    .student-sidebar,
    .admin-topbar,
    .admin-nav-section,
    .btn-primary,
    .btn-gold,
    .btn-outline,
    .btn-danger,
    .btn-success,
    .btn-warning,
    .hamburger,
    .mobile-menu,
    .overlay-bg,
    .navbar-vs,
    .notif-ticker,
    footer,
    #sidebarToggle,
    form,
    button,
    .no-print {
        display: none !important;
    }

    /* Reset layout to full width */
    body {
        font-family: 'Times New Roman', serif;
        font-size: 11pt;
        color: #000;
        background: #fff;
        margin: 0;
        padding: 0;
    }

    .admin-main,
    .admin-layout {
        margin-left: 0 !important;
        display: block !important;
    }

    .admin-page {
        padding: 8px !important;
    }

    .container {
        max-width: 100% !important;
        padding: 0 !important;
    }

    /* Print header branding */
    .print-header {
        display: block !important;
        text-align: center;
        border-bottom: 2px solid #000;
        padding-bottom: 10px;
        margin-bottom: 16px;
    }

    .print-header h1 {
        font-size: 18pt;
        font-weight: bold;
        margin: 0 0 3px;
    }

    .print-header p {
        font-size: 10pt;
        color: #444;
        margin: 0;
    }

    /* Tables */
    .table-wrap {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
    }

    .data-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 9pt;
    }

    .data-table th {
        background: #f0f0f0 !important;
        color: #000 !important;
        border: 1px solid #999;
        padding: 6px 8px;
        font-weight: bold;
        font-size: 9pt;
        text-transform: uppercase;
    }

    .data-table td {
        border: 1px solid #ccc;
        padding: 5px 8px;
        font-size: 9pt;
    }

    /* Cards */
    .card-white,
    .form-card,
    .stat-card {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        break-inside: avoid;
    }

    /* Progress bars */
    .progress-bar {
        border: 1px solid #ccc;
        background: #eee;
    }

    .progress-fill {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    /* Badges */
    .badge,
    .test-badge,
    .badge-blue,
    .badge-green,
    .badge-red,
    .badge-yellow,
    .badge-gray {
        border: 1px solid #999;
        background: #f5f5f5 !important;
        color: #000 !important;
        padding: 1px 4px;
        font-size: 8pt;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    /* Rows */
    .row {
        display: block !important;
    }

    .col-md-3,
    .col-md-4,
    .col-md-6,
    .col-lg-4,
    .col-lg-6 {
        width: 100% !important;
        float: none !important;
    }

    /* Page breaks */
    .page-break-before { page-break-before: always; }
    .page-break-after  { page-break-after: always; }
    .no-break          { break-inside: avoid; }

    /* Grid adjustments */
    .grid-2, .grid-3, .grid-4 {
        display: block !important;
    }

    /* Charts — hide canvas for print (they don't render well) */
    canvas {
        display: none !important;
    }

    /* Attendance specific */
    .att-present { background: #d4edda !important; color: #155724 !important; print-color-adjust: exact; }
    .att-absent  { background: #f8d7da !important; color: #721c24 !important; print-color-adjust: exact; }
    .att-late    { background: #fff3cd !important; color: #856404 !important; print-color-adjust: exact; }

    /* Page margins */
    @page {
        margin: 15mm 12mm;
        size: A4 portrait;
    }

    @page :first {
        margin-top: 8mm;
    }
}

/* Print header — hidden on screen, visible in print */
.print-header {
    display: none;
}
