/**
 * Ripon Assessment Review - Print Stylesheet
 * Formats Assessment Review Packets cleanly for physical printouts and PDF exports.
 */

@media print {
    /* Hide all non-printable elements */
    .civic-alert-bar,
    .site-header,
    .packet-toolbar,
    .share-fab,
    .modal-backdrop,
    .site-footer,
    .no-print,
    button {
        display: none !important;
    }

    /* Reset background and text for paper */
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-size: 11pt !important;
        line-height: 1.4 !important;
    }

    .container,
    .packet-document,
    .card {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    .packet-header {
        border-bottom: 2pt solid #000000 !important;
        padding-bottom: 12pt !important;
        margin-bottom: 18pt !important;
    }

    .packet-civic-tag {
        font-size: 9pt !important;
        font-weight: 700 !important;
        letter-spacing: 1pt !important;
        color: #333333 !important;
    }

    .packet-title {
        font-size: 18pt !important;
        font-weight: 800 !important;
        color: #000000 !important;
        margin: 4pt 0 !important;
    }

    .packet-badge {
        display: none !important;
    }

    .packet-meta-row {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10pt !important;
        font-size: 9pt !important;
        margin-top: 8pt !important;
        border-top: 1pt solid #cccccc !important;
        padding-top: 6pt !important;
    }

    .packet-section {
        margin-bottom: 16pt !important;
        page-break-inside: avoid;
    }

    .packet-section-title {
        font-size: 13pt !important;
        font-weight: 700 !important;
        border-bottom: 1pt solid #666666 !important;
        padding-bottom: 4pt !important;
        margin-bottom: 8pt !important;
    }

    .packet-table {
        width: 100% !important;
        border-collapse: collapse !important;
        margin-bottom: 10pt !important;
        font-size: 9.5pt !important;
    }

    .packet-table th,
    .packet-table td {
        border: 1pt solid #dddddd !important;
        padding: 6pt 8pt !important;
        text-align: left !important;
        color: #000000 !important;
    }

    .packet-table th {
        background: #f0f0f0 !important;
        font-weight: 700 !important;
    }

    .analysis-box,
    .break-even-box,
    .date-card {
        background: #f9f9f9 !important;
        border: 1pt solid #cccccc !important;
        padding: 10pt !important;
        border-radius: 4pt !important;
        color: #000000 !important;
    }

    .dates-cards-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12pt !important;
    }

    .checklist-items {
        list-style: none !important;
        padding: 0 !important;
    }

    .checklist-items li,
    .checklist-card {
        margin-bottom: 6pt !important;
        page-break-inside: avoid;
    }

    .checklist-card {
        border: 1pt solid #cccccc !important;
        padding: 8pt !important;
        background: #f9f9f9 !important;
    }

    .checklist-dispute {
        background: #fff8e6 !important;
        border: 1pt solid #e6c200 !important;
    }

    .packet-summary-cards {
        grid-template-columns: repeat(4, 1fr) !important;
    }

    .packet-stat-card {
        border: 1pt solid #dddddd !important;
        background: #f5f5f5 !important;
    }

    .psc-value,
    .packet-section-title,
    .checklist-card-header h3 {
        color: #000000 !important;
    }

    .chk-box {
        display: inline-block !important;
        width: 12pt !important;
        font-size: 11pt !important;
    }

    .checklist-check {
        display: none !important;
    }

    .packet-footer {
        border-top: 1pt solid #000000 !important;
        padding-top: 8pt !important;
        margin-top: 20pt !important;
        font-size: 8pt !important;
        color: #555555 !important;
        page-break-inside: avoid;
    }
}
