@media print {
    /* Choose good page margins */
    @page {
        size: letter portrait;
        margin: .1in;
    }

    /* Hide non essential page elements */
    header,
    footer,
    nav,
    .navbar,
    .btn,
    .dropdown,
    .modal,
    .breadcrumb,
    .alert,
    .toast,
    .pagination,
    .no-print {
        display: none !important;
    }

    .print-only { display: inline; }
    th.print-only { display: table-cell; }
    td.print-only { display: table-cell; }

    /* Hide non essential toggles */
    .toggleImage,
    .collapse,
    .accordion-button {
        display: none !important;
    }

    /* Browsers sometimes print Bootstrap colors lightly. */
    * {
        /* color: #000 !important; */
        background: transparent !important;
    }

    /* Print URLs? Usually no. */
    a {
        text-decoration: none;
        color: black;
    }

    /* Bootstrap containers are intentionally narrow. */
    .container,
    .container-fluid {
        width: 100% !important;
        max-width: none !important;
        margin: 0;
        padding: 0;
    }

    .card {
        border: none !important;
        box-shadow: none !important;
    }

    /* Avoid splitting sections */
    h1,
    h2,
    h3,
    .card,
    .row {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Make tables print nicely */
    table, .table {
        width: 100%;
        border-collapse: collapse;
    }

    .adminTable {
        width: 100%;
        min-width: auto;
        /* border-bottom: solid 5px #000; */
    }

    th,
    td {
        border: 1px solid #ccc;
        padding: 6px;
    }

    thead {
        display: table-header-group;
    }

    .adminForm {
        max-width: none;
        width: 100% !important;
        margin: 0;
    }

    .adminForm .approve-label input[type="radio"] { display: none; }
}
