@charset "UTF-8";
/* ===================================================================
   Print. Applied to the print views and to any page sent to paper.
   =================================================================== */

@page {
    size: A4;
    margin: 16mm 14mm;
}

@media print {

    :root {
        --ink: #000;
        --ink-2: #222;
        --muted: #555;
        --line: #999;
        --line-soft: #ccc;
    }

    body {
        background: #fff !important;
        color: #000;
        font-size: 10.5pt;
        line-height: 1.45;
    }

    /* Anything that only serves the screen. */
    .no-print,
    .topbar,
    .footer,
    .tabs,
    .filters,
    .form-actions,
    .nav,
    .nav-toggle,
    .btn,
    .modal-backdrop,
    .combo-toggle,
    .combo-list {
        display: none !important;
    }

    .page {
        max-inline-size: none;
        margin: 0;
        padding: 0;
    }

    .card {
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        margin-block-end: 0;
        background: transparent;
    }

    /* --------------------------------------------------- print header */

    .print-head {
        display: block;
        border-block-end: 1.5pt solid #000;
        padding-block-end: 6pt;
        margin-block-end: 12pt;
    }
    .print-school {
        font-size: 8.5pt;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: #444;
    }
    .print-title {
        font-size: 15pt;
        font-weight: 700;
        margin-block: 2pt 0;
    }
    .print-meta {
        font-size: 9pt;
        color: #444;
        margin-block-start: 3pt;
    }

    /* --------------------------------------------------- agenda sheet */

    .detail-grid {
        display: block;
    }

    .detail-item {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-block-end: 9pt;
        padding-block-end: 6pt;
        border-block-end: .5pt solid #ccc;
    }
    .detail-item:last-child { border-block-end: none; }

    .detail-label {
        font-size: 8pt;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .05em;
        color: #333;
        margin-block-end: 2pt;
    }
    .detail-value {
        font-size: 10.5pt;
        white-space: pre-wrap;
    }
    .detail-value:empty::before { content: "—"; }

    .meta-row {
        border-block: .5pt solid #999;
        font-size: 8.5pt;
        gap: 14pt;
        padding-block: 5pt;
    }

    /* ----------------------------------------------------- list print */

    .table-wrap { overflow: visible; border: none; border-radius: 0; }

    .table {
        min-inline-size: 0;
        inline-size: 100%;
        font-size: 8.5pt;
        border-collapse: collapse;
    }
    .table th {
        background: #eee !important;
        color: #000;
        font-size: 7.5pt;
        border: .5pt solid #999;
        padding: 3pt 4pt;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .table td {
        border: .5pt solid #bbb;
        padding: 3pt 4pt;
        vertical-align: top;
    }
    .table tbody tr:hover { background: transparent; }
    .table thead { display: table-header-group; }
    .table tr { break-inside: avoid; page-break-inside: avoid; }

    .cell-actions { display: none; }

    /* -------------------------------------------------------- badges */

    .badge {
        border: .5pt solid #666;
        background: transparent !important;
        color: #000 !important;
        padding: 0 3pt;
        font-size: 7.5pt;
    }
    .badge::before { display: none; }

    /* Expand links so a printed page still carries the reference. */
    .print-ref {
        font-size: 8pt;
        color: #444;
        margin-block-start: 10pt;
        padding-block-start: 5pt;
        border-block-start: .5pt solid #ccc;
    }

    .print-signature {
        margin-block-start: 22pt;
        display: flex;
        gap: 30pt;
        break-inside: avoid;
    }
    .print-signature div {
        flex: 1;
        border-block-start: .5pt solid #666;
        padding-block-start: 3pt;
        font-size: 8.5pt;
        color: #444;
    }

    a { color: #000; text-decoration: none; }
    h1, h2, h3 { break-after: avoid; page-break-after: avoid; }
}

/* The dedicated print views load this file for screen too, so the
   preview matches the paper output. */
.print-page {
    max-inline-size: 46rem;
    margin-inline: auto;
    padding: 2rem 1.5rem;
    background: #fff;
}

.print-head { margin-block-end: 1.5rem; border-block-end: 2px solid currentColor; padding-block-end: .6rem; }
.print-school { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: #667; }
.print-title { font-size: 1.3rem; font-weight: 700; margin-block: .15rem 0; }
.print-meta { font-size: .82rem; color: #667; margin-block-start: .2rem; }
.print-signature { margin-block-start: 2.5rem; display: flex; gap: 2rem; }
.print-signature div { flex: 1; border-block-start: 1px solid #999; padding-block-start: .3rem; font-size: .8rem; color: #667; }
.print-ref { font-size: .75rem; color: #667; margin-block-start: 1.5rem; padding-block-start: .5rem; border-block-start: 1px solid #ddd; }
