/**
 * Print / Save as PDF for Process document route (/processes/{id}/document).
 * Scoped with body.nucleus-process-document-active (set from processDocument.js while page is mounted).
 */

@media print {
    @page {
        size: A4;
        margin: 18mm 16mm;
    }

    /* --- Hide app chrome (only while process document route is active) --- */
    body.nucleus-process-document-active .skip-link,
    body.nucleus-process-document-active .mud-appbar,
    body.nucleus-process-document-active .notion-nav-shell,
    body.nucleus-process-document-active .notion-nav-overlay-backdrop,
    body.nucleus-process-document-active .page-header-panel,
    body.nucleus-process-document-active .bottom-nav,
    body.nucleus-process-document-active .conversation-widget,
    body.nucleus-process-document-active .message-notification-toast,
    body.nucleus-process-document-active .no-print,
    body.nucleus-process-document-active .mud-overlay,
    body.nucleus-process-document-active .mud-snackbar-root,
    body.nucleus-process-document-active .mud-dialog-container,
    body.nucleus-process-document-active .mud-popover-provider,
    body.nucleus-process-document-active .mud-tooltip-root,
    body.nucleus-process-document-active .mud-drawer-overlay,
    body.nucleus-process-document-active .entity-action-drawer,
    body.nucleus-process-document-active .mud-scroll-to-top,
    body.nucleus-process-document-active .mud-fab {
        display: none !important;
    }

    /* Toolbar uses .no-print; hide any stray icon controls inside the document host only */
    body.nucleus-process-document-active .process-document-page .mud-icon-button {
        display: none !important;
    }

    /* Layout: let the main column flow for print (avoid flex clipping) */
    body.nucleus-process-document-active,
    body.nucleus-process-document-active .mud-layout,
    body.nucleus-process-document-active .app-layout-root,
    body.nucleus-process-document-active .app-content-with-bottom-nav {
        background: #fff !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.nucleus-process-document-active .app-layout-root {
        display: block !important;
    }

    body.nucleus-process-document-active .app-content-with-bottom-nav {
        display: block !important;
    }

    /* Workspace middle column: no horizontal clip */
    body.nucleus-process-document-active .workspace-main-body,
    body.nucleus-process-document-active .module-workspace-page,
    body.nucleus-process-document-active .module-content-region {
        overflow: visible !important;
        max-height: none !important;
    }

    body.nucleus-process-document-active {
        color: #111 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Page shell */
    body.nucleus-process-document-active .process-document-page {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        flex: none !important;
        min-height: unset !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    /* Document “paper” */
    body.nucleus-process-document-active .process-document-body {
        display: block !important;
        max-width: 170mm;
        margin: 0 auto !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        color: #111 !important;
        font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        font-size: 10.5pt;
        line-height: 1.45;
    }

    body.nucleus-process-document-active .process-document-body .mud-text-secondary,
    body.nucleus-process-document-active .process-document-body .mud-typography-caption {
        color: #444 !important;
    }

    body.nucleus-process-document-active .process-document-body .mud-text-primary {
        color: #111 !important;
    }

    /* Formal header */
    body.nucleus-process-document-active .process-document-header {
        padding-bottom: 0.6rem;
        margin-bottom: 1rem;
        border-bottom: 1pt solid #222;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    body.nucleus-process-document-active .process-document-title {
        font-size: 18pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        margin: 0 0 0.35rem !important;
        color: #000 !important;
    }

    body.nucleus-process-document-active .process-document-meta--header {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: none !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.35rem 0.75rem !important;
    }

    body.nucleus-process-document-active .process-document-meta dt {
        font-size: 6.5pt !important;
        letter-spacing: 0.06em;
        color: #333 !important;
    }

    body.nucleus-process-document-active .process-document-meta dd {
        font-size: 9pt !important;
        color: #111 !important;
    }

    /* Sections */
    body.nucleus-process-document-active .process-document-section {
        margin-bottom: 1rem !important;
    }

    body.nucleus-process-document-active .process-document-section h2,
    body.nucleus-process-document-active .process-document-heading {
        font-size: 11pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0 0 0.4rem !important;
        padding-bottom: 0.15rem !important;
        border-bottom: 0.5pt solid #999 !important;
        break-after: avoid-page;
        page-break-after: avoid;
        orphans: 3;
        widows: 3;
    }

    body.nucleus-process-document-active .process-document-subheading,
    body.nucleus-process-document-active .process-document-subheading--compact {
        font-size: 10pt !important;
        font-weight: 600 !important;
        color: #111 !important;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    body.nucleus-process-document-active .process-document-prose {
        font-size: 10pt !important;
        line-height: 1.45 !important;
        color: #111 !important;
    }

    /* Inputs / outputs: single column in print for readability */
    body.nucleus-process-document-active .process-document-body .mud-grid {
        display: block !important;
        margin: 0 !important;
    }

    body.nucleus-process-document-active .process-document-body .mud-grid > .mud-item {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        padding: 0 0 0.5rem !important;
    }

    /* RACI & metadata grids */
    body.nucleus-process-document-active .process-document-body .process-document-meta:not(.process-document-meta--inline) {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.35rem 0.75rem !important;
        margin-bottom: 0.5rem !important;
        padding-bottom: 0.35rem !important;
        border-bottom: 0.5pt solid #ccc !important;
    }

    body.nucleus-process-document-active .process-document-meta--inline {
        border-bottom: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 0.35rem !important;
        gap: 0.25rem 0.6rem !important;
    }

    body.nucleus-process-document-active .process-document-meta > div {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    body.nucleus-process-document-active .process-document-io-list {
        margin: 0.15rem 0 0.25rem !important;
        padding-left: 1.1rem !important;
    }

    body.nucleus-process-document-active .process-document-io-list li {
        margin-bottom: 0.12rem !important;
        color: #111 !important;
    }

    /* Governance blocks */
    body.nucleus-process-document-active .process-document-gov-block {
        margin-bottom: 0.65rem !important;
        padding-bottom: 0.35rem;
        border-bottom: 0.25pt solid #ddd;
    }

    body.nucleus-process-document-active .process-document-gov-block:last-child {
        border-bottom: none;
    }

    /* Step cards — primary content */
    body.nucleus-process-document-active .process-document-step {
        break-inside: avoid-page;
        page-break-inside: avoid;
        margin-bottom: 0.65rem !important;
        padding: 0.45rem 0.5rem 0.5rem 0.55rem !important;
        background: #fff !important;
        border: 0.5pt solid #bbb !important;
        border-left: 2.5pt solid #333 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.nucleus-process-document-active .process-document-step-title {
        font-size: 10.5pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0 0 0.25rem !important;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    body.nucleus-process-document-active .process-document-step-label {
        font-size: 9.5pt !important;
        font-weight: 600 !important;
        color: #111 !important;
        margin: 0.35rem 0 0.15rem !important;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    body.nucleus-process-document-active .process-document-step .process-document-prose {
        margin-bottom: 0.25rem !important;
    }

    /* Links: readable, no reliance on theme */
    body.nucleus-process-document-active .process-document-body a,
    body.nucleus-process-document-active .process-document-body a.mud-typography-body2,
    body.nucleus-process-document-active .process-document-body .mud-link {
        color: #111 !important;
        text-decoration: underline !important;
        text-underline-offset: 2px;
        font-weight: 500;
    }

    /* Headings orphan control (sections + steps) */
    body.nucleus-process-document-active .process-document-body h1,
    body.nucleus-process-document-active .process-document-body h2,
    body.nucleus-process-document-active .process-document-body h3 {
        orphans: 3;
        widows: 3;
    }

    /* Do not print URL tails after links */
    body.nucleus-process-document-active .process-document-body a[href]::after {
        content: none !important;
    }
}
