/* Print-specific styles for reports and appointments */

@media print {

    /* Hide navigation and UI elements */
    nav,
    .no-print,
    button:not(.print-show),
    .shadow-md,
    .shadow-lg {
        display: none !important;
    }

    /* Reset backgrounds and colors for print */
    body {
        background: white !important;
        color: black !important;
        font-size: 12pt;
        line-height: 1.5;
    }

    /* Ensure content fits on page */
    .print-container {
        width: 100%;
        max-width: 8.5in;
        margin: 0 auto;
        padding: 0.5in;
    }

    /* Page breaks */
    .page-break {
        page-break-after: always;
    }

    .avoid-break {
        page-break-inside: avoid;
    }

    /* Table styling for print */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 1em 0;
    }

    table th,
    table td {
        border: 1px solid #333;
        padding: 8px;
        text-align: left;
    }

    table th {
        background-color: #f0f0f0 !important;
        font-weight: bold;
    }

    /* Headers and footers */
    .print-header {
        margin-bottom: 1in;
        text-align: center;
        border-bottom: 2px solid #333;
        padding-bottom: 0.5em;
    }

    .print-footer {
        margin-top: 1in;
        text-align: center;
        border-top: 1px solid #333;
        padding-top: 0.5em;
        font-size: 10pt;
    }

    /* Headings */
    h1 {
        font-size: 18pt;
        margin-bottom: 0.5em;
    }

    h2 {
        font-size: 14pt;
        margin-top: 1em;
        margin-bottom: 0.5em;
    }

    h3 {
        font-size: 12pt;
        margin-top: 0.5em;
        margin-bottom: 0.25em;
    }

    /* Links */
    a {
        color: black !important;
        text-decoration: none !important;
    }

    /* Remove shadows and fancy styling */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }
}

/* Print button - only show on screen */
@media screen {
    .print-button {
        position: fixed;
        top: 100px;
        right: 20px;
        z-index: 1000;
    }
}