:root {
    --print-text: #000;
    --print-bg: #fff;
    --print-border: #ccc;
    --print-border-strong: #999;
    --print-bg-subtle: #f5f5f5;
    --print-bg-muted: #e9ecef;
    --print-bg-light: #f9f9f9;
    --print-fill: #666;
    --print-fill-dark: #333;
}

@media print {
    *,
    *::before,
    *::after {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body {
        color: var(--print-text) !important;
        background: var(--print-bg) !important;
        font-size: 11pt;
        margin: 0;
        padding: 0;
    }

    a {
        color: var(--print-text) !important;
        text-decoration: underline;
    }

    header.masthead,
    footer,
    .filter-panel,
    .btn,
    .gantt-scroll,
    .gantt-legend,
    .breadcrumb,
    .navbar-toggler,
    dialog,
    .alert {
        display: none !important;
    }

    main {
        margin-top: 0 !important;
        padding: 0 !important;
    }

    main > div {
        padding: 0 !important;
    }

    details {
        display: block !important;
    }

    details > summary {
        display: none !important;
    }

    details > * {
        display: block !important;
    }


    dialog[open] {
        display: none !important;
    }


    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }

    tr {
        page-break-inside: avoid;
    }

    .content-card,
    .stat-card,
    .milestone-card,
    .task-preview-item {
        box-shadow: none !important;
        border: 1px solid var(--print-border) !important;
        border-radius: 0 !important;
        background: var(--print-bg) !important;
    }

    .schedule-overview-card {
        background: var(--print-bg) !important;
    }

    .stat-card {
        background: var(--print-bg-subtle) !important;
    }

    .table th,
    .table td {
        border: 1px solid var(--print-border-strong) !important;
    }

    .data-table thead th {
        background: var(--print-bg-muted) !important;
    }

    .schedule-overview-card {
        page-break-after: always;
    }

    .milestone-card {
        page-break-after: always;
    }

    .completion-track {
        border: 1px solid var(--print-border) !important;
    }

    .completion-fill {
        background: var(--print-fill) !important;
    }

    .timeline-bar {
        background: var(--print-fill-dark) !important;
    }

    .timeline-milestone-bar {
        background: var(--print-fill-dark) !important;
    }

    .task-preview-list {
        border: 1px solid var(--print-border) !important;
    }

    .task-preview-item {
        background: var(--print-bg-light) !important;
    }

    .badge {
        background: transparent !important;
        color: var(--print-text) !important;
        border: 1px solid var(--print-border-strong) !important;
    }

    .dependency-chip {
        background: transparent !important;
        border: 1px solid var(--print-border-strong) !important;
        color: var(--print-text) !important;
    }

    .meta-chip {
        background: var(--print-bg-muted) !important;
        color: var(--print-text) !important;
    }

    #timeline-description {
        display: none !important;
    }
}
