/* PandraX Archival Dossier Print Stylesheet
 * Phase 15 Increment 3D
 */

@page {
    size: A4 portrait;
    margin: 15mm 12mm 15mm 12mm;
}

@media print {
    /* 1. Reset Global Chrome & Layout */
    html,
    body {
        background: #ffffff !important;
        color: #0f172a !important;
        font-size: 10pt !important;
        line-height: 1.4 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Force light theme variable tokens even when printing from dark mode */
    :root,
    .dark {
        --background: 0 0% 100% !important;
        --foreground: 0 0% 3.9% !important;
        --card: 0 0% 100% !important;
        --card-foreground: 0 0% 3.9% !important;
        --popover: 0 0% 100% !important;
        --popover-foreground: 0 0% 3.9% !important;
        --primary: 0 0% 9% !important;
        --primary-foreground: 0 0% 98% !important;
        --secondary: 0 0% 96.1% !important;
        --secondary-foreground: 0 0% 9% !important;
        --muted: 0 0% 96.1% !important;
        --muted-foreground: 0 0% 40% !important;
        --accent: 0 0% 96.1% !important;
        --accent-foreground: 0 0% 9% !important;
        --border: 0 0% 85% !important;
        --input: 0 0% 89.8% !important;
        --ring: 0 0% 3.9% !important;
    }

    /* Hide Application Sidebar, Top Header Bar, Breadcrumbs, Command Search */
    header,
    aside,
    nav,
    [data-sidebar="sidebar"],
    [data-slot="sidebar"],
    .sidebar-wrapper,
    header[data-slot="sidebar-header"],
    .app-sidebar,
    .app-sidebar-header {
        display: none !important;
    }

    /* Main Content Container: Expand to full printable width without chrome padding */
    main,
    [data-slot="sidebar-inset"],
    .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }

    /* 2. Dossier Root Layout */
    .dossier-root {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 1.25rem !important;
    }

    /* 3. Screen-Only Elimination */
    .print\:hidden,
    button,
    input,
    select,
    .copy-btn,
    .privacy-switcher,
    .return-link {
        display: none !important;
    }

    /* 4. Page Break & Pagination Controls */
    .break-inside-avoid,
    .card,
    [data-slot="card"],
    .dossier-card,
    .dossier-hero-card,
    .report-card,
    .report-entry,
    .report-child-row,
    .report-citation-card,
    .report-source-card {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    h1,
    h2,
    h3,
    h4,
    .dossier-section-heading,
    .report-generation-heading,
    .report-section-heading {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }

    /* Lists, tables, and timeline nodes */
    tr,
    .dossier-timeline-item,
    .dossier-roster-row,
    .report-table-row {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* 5. Typography & High-Contrast Borders */
    .card,
    [data-slot="card"],
    .dossier-card,
    .report-card,
    .border {
        border-color: #cbd5e1 !important;
        box-shadow: none !important;
    }

    /* Genealogical Report Content Print Adjustments */
    .report-content-body {
        font-size: 9.5pt !important;
        line-height: 1.35 !important;
    }

    .report-grid-print-single {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    [data-testid="report-viewer-container"] {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    /* Semantic Architecture Disclaimers: Preserved with high-contrast archival borders */
    .dossier-disclaimer-box {
        border: 1.5pt solid #d97706 !important;
        background-color: #fffbeb !important;
        color: #92400e !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .dossier-disclaimer-box p,
    .dossier-disclaimer-box span {
        color: #78350f !important;
    }

    /* Derived Kinship Notice */
    .dossier-derived-notice {
        border: 1.5pt solid #6366f1 !important;
        background-color: #eef2ff !important;
        color: #3730a3 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* 6. Media Dimensions in Print */
    img {
        max-width: 100% !important;
        height: auto !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .dossier-gallery-img {
        max-height: 48mm !important;
        object-fit: contain !important;
    }

    /* 7. Print-Only Archival Header & Footer */
    .print-only-header {
        display: block !important;
    }

    .print-only-footer {
        display: block !important;
    }

    /* Links: No colored underlines in print */
    a {
        text-decoration: none !important;
        color: inherit !important;
    }
}
