/**
 * Print-friendly styles for Kakehashi
 * These styles apply only when printing
 */

@media print {
    /* Hide non-essential elements */
    .navbar,
    .sidebar,
    .btn,
    .tabs,
    .modal,
    .flash-message,
    .no-print,
    footer,
    nav,
    .quick-actions,
    .dashboard-sidebar,
    .pagination,
    form button[type="submit"],
    .form-actions,
    .print-hide {
        display: none !important;
    }

    /* Reset page layout */
    body {
        font-family: "Helvetica Neue", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
        font-size: 11pt;
        line-height: 1.6;
        color: #000 !important;
        background: #fff !important;
        margin: 0;
        padding: 0;
    }

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

    /* Card styling for print */
    .card {
        background: #fff !important;
        border: 1px solid #ddd !important;
        box-shadow: none !important;
        margin-bottom: 15pt !important;
        page-break-inside: avoid;
    }

    /* Headers */
    h1, .page-title {
        font-size: 18pt !important;
        margin-bottom: 10pt !important;
        color: #000 !important;
    }

    h2, .section-title {
        font-size: 14pt !important;
        margin: 15pt 0 8pt !important;
        color: #000 !important;
        border-bottom: 1px solid #333;
        padding-bottom: 4pt;
    }

    h3 {
        font-size: 12pt !important;
        margin: 10pt 0 5pt !important;
    }

    /* Table styling */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 10pt 0;
    }

    th, td {
        border: 1px solid #ddd;
        padding: 6pt 8pt;
        text-align: left;
    }

    th {
        background: #f5f5f5 !important;
        font-weight: 600;
    }

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

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

    /* Records list */
    .record-card,
    .record-list-item {
        border: 1px solid #ddd !important;
        margin-bottom: 10pt !important;
        padding: 10pt !important;
        page-break-inside: avoid;
    }

    /* Badges for print */
    .badge {
        border: 1px solid #999 !important;
        background: #f5f5f5 !important;
        color: #333 !important;
        padding: 2pt 6pt !important;
        font-size: 9pt !important;
    }

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

    /* Show URLs for external links */
    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666;
    }

    /* Calendar print styling */
    .calendar-grid {
        border: 1px solid #ddd;
    }

    .calendar-day {
        border: 1px solid #eee;
        min-height: 60pt !important;
    }

    .calendar-day.today {
        background: #f5f5f5 !important;
    }

    /* Print header */
    .print-header {
        display: block !important;
        text-align: center;
        margin-bottom: 20pt;
        padding-bottom: 15pt;
        border-bottom: 2px solid #333;
    }

    .print-header h1 {
        margin-bottom: 5pt;
    }

    .print-header .print-meta {
        font-size: 10pt;
        color: #666;
    }

    /* Print footer */
    .print-footer {
        display: block !important;
        position: fixed;
        bottom: 10mm;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 9pt;
        color: #666;
        border-top: 1px solid #ddd;
        padding-top: 5pt;
    }

    /* Form elements for print */
    input, textarea, select {
        border: 1px solid #ddd !important;
        background: #fff !important;
    }

    /* Grid layouts */
    .grid,
    .flex-between,
    .dashboard-grid {
        display: block !important;
    }

    .grid > *,
    .flex-between > *,
    .dashboard-grid > * {
        width: 100% !important;
        margin-bottom: 10pt;
    }

    /* Medical info for print */
    .medication-card,
    .appointment-card {
        border: 1px solid #ddd !important;
        padding: 10pt !important;
        margin-bottom: 8pt !important;
    }

    /* Support plan goals */
    .goal-card {
        border: 1px solid #ddd !important;
        page-break-inside: avoid;
    }

    /* Activity log */
    .activity-item {
        border-bottom: 1px solid #eee;
        padding: 5pt 0;
    }

    /* Statistics charts - hide interactive elements */
    canvas {
        max-width: 100%;
        page-break-inside: avoid;
    }

    /* Child avatar for print */
    .child-avatar {
        width: 40pt !important;
        height: 40pt !important;
        border: 1pt solid #999 !important;
        background: #f5f5f5 !important;
        color: #333 !important;
    }

    /* Mood indicators */
    .record-mood {
        font-size: 16pt !important;
    }

    /* Print-specific utility classes */
    .print-only {
        display: block !important;
    }

    .print-full-width {
        width: 100% !important;
    }
}

/* Hide print-only elements on screen */
@media screen {
    .print-only,
    .print-header,
    .print-footer {
        display: none !important;
    }
}
