#bimmer-pdf-report-root {
    display: none;
}

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

    body.print-rich-pdf-mode {
        background: #ffffff;
        color: #0f172a;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.print-rich-pdf-mode > *:not(#bimmer-pdf-report-root) {
        display: none;
    }

    body.print-rich-pdf-mode #bimmer-pdf-report-root {
        display: block;
        width: 100%;
    }

    body.print-rich-pdf-mode .pdf-report,
    body.print-rich-pdf-mode .pdf-report * {
        box-sizing: border-box;
    }

    body.print-rich-pdf-mode .pdf-report {
        color: #0f172a;
        font-family: Inter, "Segoe UI", Arial, sans-serif;
        font-size: 9.5pt;
        line-height: 1.35;
        width: 100%;
    }

    body.print-rich-pdf-mode .pdf-page {
        break-after: page;
        page-break-after: always;
        width: 100%;
    }

    body.print-rich-pdf-mode .pdf-page:last-child {
        break-after: auto;
        page-break-after: auto;
    }

    body.print-rich-pdf-mode .pdf-cover {
        background:
            linear-gradient(135deg, #123047 0%, #16636a 52%, #edf7f5 52%, #ffffff 100%);
        border: 1px solid #d7e5e3;
        color: #ffffff;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 268mm;
        padding: 18mm;
    }

    body.print-rich-pdf-mode .pdf-cover-brand {
        align-items: center;
        display: grid;
        gap: 18px;
        grid-template-columns: 82px 1fr;
    }

    body.print-rich-pdf-mode .pdf-cover-brand img,
    body.print-rich-pdf-mode .pdf-brand-mark {
        align-items: center;
        background: rgba(255, 255, 255, 0.96);
        border: 1px solid rgba(255, 255, 255, 0.7);
        color: #123047;
        display: flex;
        font-size: 22pt;
        font-weight: 900;
        height: 72px;
        justify-content: center;
        object-fit: contain;
        padding: 8px;
        width: 72px;
    }

    body.print-rich-pdf-mode .pdf-kicker {
        color: #0f766e;
        display: block;
        font-size: 8pt;
        font-weight: 900;
        letter-spacing: 0;
        margin-bottom: 6px;
        text-transform: uppercase;
    }

    body.print-rich-pdf-mode .pdf-cover .pdf-kicker {
        color: #b6fff3;
    }

    body.print-rich-pdf-mode .pdf-cover h1 {
        color: #ffffff;
        font-size: 30pt;
        line-height: 1.05;
        margin: 0;
        max-width: 145mm;
    }

    body.print-rich-pdf-mode .pdf-cover p {
        color: rgba(255, 255, 255, 0.86);
        font-size: 11pt;
        margin: 8px 0 0;
        max-width: 120mm;
    }

    body.print-rich-pdf-mode .pdf-metric-grid {
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(3, 1fr);
        margin: 22mm 0 10mm;
    }

    body.print-rich-pdf-mode .pdf-metric-card,
    body.print-rich-pdf-mode .pdf-client-field,
    body.print-rich-pdf-mode .pdf-composition-grid article,
    body.print-rich-pdf-mode .pdf-mini-kpis div,
    body.print-rich-pdf-mode .pdf-sensitivity-card,
    body.print-rich-pdf-mode .pdf-sequence-list article,
    body.print-rich-pdf-mode .pdf-alert-card,
    body.print-rich-pdf-mode .pdf-note-panel,
    body.print-rich-pdf-mode .pdf-signature-band {
        background: #ffffff;
        border: 1px solid #dbe7e4;
        break-inside: avoid;
        color: #0f172a;
        padding: 12px;
    }

    body.print-rich-pdf-mode .pdf-cover .pdf-metric-card,
    body.print-rich-pdf-mode .pdf-cover .pdf-client-field {
        background: rgba(255, 255, 255, 0.94);
        border-color: rgba(255, 255, 255, 0.78);
    }

    body.print-rich-pdf-mode .pdf-metric-card span,
    body.print-rich-pdf-mode .pdf-client-field span,
    body.print-rich-pdf-mode .pdf-composition-grid span,
    body.print-rich-pdf-mode .pdf-mini-kpis span,
    body.print-rich-pdf-mode .pdf-signature-band span {
        color: #64748b;
        display: block;
        font-size: 7.5pt;
        font-weight: 800;
        text-transform: uppercase;
    }

    body.print-rich-pdf-mode .pdf-metric-card strong {
        color: #123047;
        display: block;
        font-size: 15pt;
        line-height: 1.1;
        margin: 5px 0;
    }

    body.print-rich-pdf-mode .pdf-metric-card small,
    body.print-rich-pdf-mode .pdf-client-field strong,
    body.print-rich-pdf-mode .pdf-bar-row small,
    body.print-rich-pdf-mode .pdf-table small,
    body.print-rich-pdf-mode .pdf-composition-grid small {
        color: #475569;
        display: block;
        font-size: 8pt;
        font-weight: 600;
    }

    body.print-rich-pdf-mode .pdf-client-grid {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(3, 1fr);
    }

    body.print-rich-pdf-mode .pdf-cover-footer {
        align-items: center;
        border-top: 1px solid rgba(255, 255, 255, 0.32);
        color: rgba(255, 255, 255, 0.84);
        display: flex;
        font-size: 8.5pt;
        justify-content: space-between;
        margin-top: 12mm;
        padding-top: 8px;
    }

    body.print-rich-pdf-mode .pdf-section {
        padding: 0;
    }

    body.print-rich-pdf-mode .pdf-section-head {
        border-bottom: 2px solid #123047;
        margin-bottom: 14px;
        padding-bottom: 8px;
    }

    body.print-rich-pdf-mode .pdf-section h2 {
        color: #123047;
        font-size: 20pt;
        line-height: 1.1;
        margin: 0;
    }

    body.print-rich-pdf-mode .pdf-section h3 {
        color: #123047;
        font-size: 11pt;
        margin: 0 0 8px;
    }

    body.print-rich-pdf-mode .pdf-composition-grid,
    body.print-rich-pdf-mode .pdf-mini-kpis {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(3, 1fr);
        margin-bottom: 14px;
    }

    body.print-rich-pdf-mode .pdf-composition-grid strong,
    body.print-rich-pdf-mode .pdf-mini-kpis strong {
        color: #123047;
        display: block;
        font-size: 13pt;
        margin: 4px 0;
    }

    body.print-rich-pdf-mode .pdf-two-col {
        display: grid;
        gap: 12px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    body.print-rich-pdf-mode .pdf-two-col > div {
        min-width: 0;
    }

    body.print-rich-pdf-mode .pdf-supply-grid {
        gap: 14px;
        grid-template-columns: minmax(0, 1fr);
    }

    body.print-rich-pdf-mode .pdf-bar-list {
        display: grid;
        gap: 7px;
    }

    body.print-rich-pdf-mode .pdf-bar-row {
        break-inside: avoid;
        border-bottom: 1px solid #e2e8f0;
        padding: 0 0 7px;
    }

    body.print-rich-pdf-mode .pdf-bar-row-head {
        align-items: baseline;
        display: flex;
        gap: 10px;
        justify-content: space-between;
        margin-bottom: 5px;
    }

    body.print-rich-pdf-mode .pdf-bar-row-head strong {
        color: #0f172a;
        font-size: 9pt;
    }

    body.print-rich-pdf-mode .pdf-bar-row-head span {
        color: #0f766e;
        font-size: 8pt;
        font-weight: 900;
        text-align: right;
    }

    body.print-rich-pdf-mode .pdf-bar-track {
        background: #e2e8f0;
        height: 7px;
        overflow: hidden;
        width: 100%;
    }

    body.print-rich-pdf-mode .pdf-bar-track span {
        background: linear-gradient(90deg, #0f766e, #2563eb);
        display: block;
        height: 100%;
        width: var(--bar, 0%);
    }

    body.print-rich-pdf-mode .pdf-table {
        border-collapse: collapse;
        color: #0f172a;
        font-size: 8.2pt;
        table-layout: fixed;
        width: 100%;
    }

    body.print-rich-pdf-mode .pdf-table thead {
        display: table-header-group;
    }

    body.print-rich-pdf-mode .pdf-table th {
        background: #123047;
        border: 1px solid #123047;
        color: #ffffff;
        font-size: 7.5pt;
        padding: 7px;
        text-align: left;
        text-transform: uppercase;
    }

    body.print-rich-pdf-mode .pdf-table td {
        border: 1px solid #d8e2e0;
        padding: 7px;
        vertical-align: top;
    }

    body.print-rich-pdf-mode .pdf-table th,
    body.print-rich-pdf-mode .pdf-table td,
    body.print-rich-pdf-mode .pdf-table small,
    body.print-rich-pdf-mode .pdf-table strong {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.print-rich-pdf-mode .pdf-table tbody tr {
        break-inside: avoid;
    }

    body.print-rich-pdf-mode .pdf-table tbody tr:nth-child(even) td {
        background: #f8fbfb;
    }

    body.print-rich-pdf-mode .pdf-table tfoot td {
        background: #e8f5f2;
        color: #123047;
        font-size: 10pt;
        font-weight: 900;
    }

    body.print-rich-pdf-mode .pdf-compact-table td {
        padding: 6px;
    }

    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table th,
    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table td {
        font-size: 8pt;
        padding: 5px 6px;
    }

    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table th:nth-child(1) {
        width: 32%;
    }

    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table th:nth-child(2) {
        width: 18%;
    }

    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table th:nth-child(3),
    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table th:nth-child(4) {
        width: 18%;
    }

    body.print-rich-pdf-mode .pdf-supply-grid .pdf-compact-table th:nth-child(5) {
        width: 14%;
    }

    body.print-rich-pdf-mode .pdf-budget-table {
        font-size: 8pt;
    }

    body.print-rich-pdf-mode .text-right {
        text-align: right;
    }

    body.print-rich-pdf-mode .text-center {
        text-align: center;
    }

    body.print-rich-pdf-mode .pdf-risk-pill {
        background: #fff7ed;
        border: 1px solid #fed7aa;
        color: #9a3412;
        display: inline-block;
        font-size: 7.5pt;
        font-weight: 900;
        padding: 2px 6px;
        text-transform: uppercase;
    }

    body.print-rich-pdf-mode .pdf-note-panel {
        background: #eef8ff;
        border-color: #bfdbfe;
        margin-bottom: 10px;
    }

    body.print-rich-pdf-mode .pdf-note-panel p,
    body.print-rich-pdf-mode .pdf-signature-band p,
    body.print-rich-pdf-mode .pdf-alert-card p {
        margin: 5px 0 0;
    }

    body.print-rich-pdf-mode .pdf-sequence-list,
    body.print-rich-pdf-mode .pdf-sensitivity-grid,
    body.print-rich-pdf-mode .pdf-alert-list {
        display: grid;
        gap: 8px;
    }

    body.print-rich-pdf-mode .pdf-sequence-list {
        grid-template-columns: repeat(2, 1fr);
    }

    body.print-rich-pdf-mode .pdf-sequence-list article span,
    body.print-rich-pdf-mode .pdf-sensitivity-card span {
        color: #64748b;
        display: block;
        font-size: 8pt;
        font-weight: 700;
    }

    body.print-rich-pdf-mode .pdf-pill-list {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin: 0 0 10px;
    }

    body.print-rich-pdf-mode .pdf-pill-list span {
        color: #64748b;
        font-size: 8pt;
        font-weight: 900;
        text-transform: uppercase;
    }

    body.print-rich-pdf-mode .pdf-pill-list strong {
        background: #fee2e2;
        border: 1px solid #fecaca;
        color: #991b1b;
        font-size: 8pt;
        padding: 3px 7px;
    }

    body.print-rich-pdf-mode .is-critical-row td {
        background: #fff1f2;
    }

    body.print-rich-pdf-mode .pdf-risk-grid {
        margin-top: 12px;
    }

    body.print-rich-pdf-mode .pdf-sensitivity-card {
        display: grid;
        gap: 4px;
    }

    body.print-rich-pdf-mode .pdf-alert-card.error {
        background: #fff1f2;
        border-color: #fecdd3;
    }

    body.print-rich-pdf-mode .pdf-alert-card.warning {
        background: #fffbeb;
        border-color: #fde68a;
    }

    body.print-rich-pdf-mode .pdf-empty-note {
        background: #f8fafc;
        border: 1px dashed #cbd5e1;
        color: #64748b;
        font-size: 8.5pt;
        margin: 0;
        padding: 10px;
    }

    body.print-rich-pdf-mode .pdf-signature-band {
        align-items: center;
        background: #f8fbfb;
        display: grid;
        gap: 12px;
        grid-template-columns: 48mm 1fr;
        margin-top: 14px;
    }

    body.print-rich-pdf-mode .pdf-gantt-report {
        font-size: 8.6pt;
    }

    body.print-rich-pdf-mode .pdf-gantt-page {
        break-after: auto;
        page-break-after: auto;
    }

    body.print-rich-pdf-mode .pdf-gantt-page .pdf-section-head p {
        color: #64748b;
        font-size: 8.5pt;
        margin: 6px 0 0;
    }

    body.print-rich-pdf-mode .pdf-gantt-metric-grid {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-bottom: 12px;
    }

    body.print-rich-pdf-mode .pdf-gantt-metric {
        background: #ffffff;
        border: 1px solid #dbe7e4;
        break-inside: avoid;
        padding: 9px;
    }

    body.print-rich-pdf-mode .pdf-gantt-metric span,
    body.print-rich-pdf-mode .pdf-gantt-task small,
    body.print-rich-pdf-mode .pdf-gantt-meta small,
    body.print-rich-pdf-mode .pdf-gantt-cost small {
        color: #64748b;
        display: block;
        font-size: 7pt;
        font-weight: 800;
        text-transform: uppercase;
    }

    body.print-rich-pdf-mode .pdf-gantt-metric strong {
        color: #123047;
        display: block;
        font-size: 12pt;
        margin: 3px 0;
    }

    body.print-rich-pdf-mode .pdf-gantt-metric small {
        color: #475569;
        display: block;
        font-size: 7.5pt;
    }

    body.print-rich-pdf-mode .pdf-gantt-timeline {
        border: 1px solid #d8e2e0;
        break-inside: auto;
        overflow: hidden;
    }

    body.print-rich-pdf-mode .pdf-gantt-scale {
        background:
            repeating-linear-gradient(90deg, #f8fafc 0, #f8fafc calc(10% - 1px), #dbeafe calc(10% - 1px), #dbeafe 10%);
        border-bottom: 1px solid #d8e2e0;
        height: 22px;
        position: relative;
    }

    body.print-rich-pdf-mode .pdf-gantt-scale span {
        color: #1d4ed8;
        font-size: 7pt;
        font-weight: 900;
        position: absolute;
        top: 5px;
        transform: translateX(-50%);
        white-space: nowrap;
    }

    body.print-rich-pdf-mode .pdf-gantt-row {
        break-inside: avoid;
        display: grid;
        grid-template-columns: 46mm minmax(0, 1fr) 25mm 28mm;
        min-height: 12mm;
    }

    body.print-rich-pdf-mode .pdf-gantt-row.no-cost {
        grid-template-columns: 46mm minmax(0, 1fr) 30mm;
    }

    body.print-rich-pdf-mode .pdf-gantt-row > div {
        border-bottom: 1px solid #e2e8f0;
        min-width: 0;
        padding: 5px 6px;
    }

    body.print-rich-pdf-mode .pdf-gantt-row.is-phase > div {
        background: #f8fbfb;
    }

    body.print-rich-pdf-mode .pdf-gantt-row.is-critical > div {
        background: #fff5f5;
    }

    body.print-rich-pdf-mode .pdf-gantt-task strong,
    body.print-rich-pdf-mode .pdf-gantt-meta strong,
    body.print-rich-pdf-mode .pdf-gantt-cost strong {
        color: #0f172a;
        display: block;
        font-size: 8.2pt;
        overflow-wrap: anywhere;
    }

    body.print-rich-pdf-mode .pdf-gantt-track {
        background:
            repeating-linear-gradient(90deg, transparent 0, transparent calc(10% - 1px), rgba(148, 163, 184, 0.25) calc(10% - 1px), rgba(148, 163, 184, 0.25) 10%),
            linear-gradient(180deg, #ffffff, #f8fbff);
        min-height: 10mm;
        position: relative;
    }

    body.print-rich-pdf-mode .pdf-gantt-bar {
        background: #2563eb;
        border-radius: 999px;
        display: block;
        height: 5mm;
        min-width: 8px;
        overflow: hidden;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }

    body.print-rich-pdf-mode .pdf-gantt-row.is-critical .pdf-gantt-bar {
        background: #dc2626;
    }

    body.print-rich-pdf-mode .pdf-gantt-row.is-phase .pdf-gantt-bar {
        background: #0f766e;
    }

    body.print-rich-pdf-mode .pdf-gantt-bar i {
        background: rgba(255, 255, 255, 0.34);
        display: block;
        height: 100%;
    }

    body.print-rich-pdf-mode .pdf-gantt-note {
        margin-top: 12px;
    }

    body.print-rich-pdf-mode .pdf-gantt-table-section {
        margin-top: 12px;
    }

    body.print-rich-pdf-mode .pdf-analysis-report .pdf-section-head p,
    body.print-rich-pdf-mode .pdf-materials-report .pdf-section-head p {
        color: #64748b;
        font-size: 8.5pt;
        margin: 6px 0 0;
    }

    body.print-rich-pdf-mode .pdf-analysis-report .pdf-metric-grid,
    body.print-rich-pdf-mode .pdf-materials-report .pdf-metric-grid {
        grid-template-columns: repeat(3, 1fr);
        margin: 0 0 12px;
    }

    body.print-rich-pdf-mode .pdf-analysis-sensitivity {
        margin-top: 14px;
    }

    body.print-rich-pdf-mode .pdf-materials-report .pdf-section:not(.pdf-page),
    body.print-rich-pdf-mode .pdf-analysis-report .pdf-section:not(.pdf-page) {
        margin-top: 12px;
    }

    body.print-rich-pdf-mode .pdf-section-head,
    body.print-rich-pdf-mode .pdf-composition-grid,
    body.print-rich-pdf-mode .pdf-client-grid,
    body.print-rich-pdf-mode .pdf-metric-grid,
    body.print-rich-pdf-mode .pdf-mini-kpis,
    body.print-rich-pdf-mode .pdf-pill-list,
    body.print-rich-pdf-mode .pdf-note-panel,
    body.print-rich-pdf-mode .pdf-signature-band,
    body.print-rich-pdf-mode .pdf-risk-grid > div,
    body.print-rich-pdf-mode .pdf-two-col > div,
    body.print-rich-pdf-mode .pdf-bar-row,
    body.print-rich-pdf-mode .pdf-sequence-list article,
    body.print-rich-pdf-mode .pdf-sensitivity-card,
    body.print-rich-pdf-mode .pdf-alert-card {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    body.print-rich-pdf-mode .pdf-section h2,
    body.print-rich-pdf-mode .pdf-section h3,
    body.print-rich-pdf-mode .pdf-section-head {
        break-after: avoid-page;
        page-break-after: avoid;
    }

    body.print-rich-pdf-mode .pdf-table {
        break-inside: auto;
        page-break-inside: auto;
    }

    body.print-rich-pdf-mode .pdf-table tr,
    body.print-rich-pdf-mode .pdf-table td,
    body.print-rich-pdf-mode .pdf-table th {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    body.print-rich-pdf-mode .pdf-table thead {
        break-after: avoid-page;
        page-break-after: avoid;
    }

    body.print-rich-pdf-mode .pdf-table tfoot {
        break-before: avoid-page;
        page-break-before: avoid;
    }

    body.print-rich-pdf-mode .pdf-report p,
    body.print-rich-pdf-mode .pdf-report td,
    body.print-rich-pdf-mode .pdf-report th,
    body.print-rich-pdf-mode .pdf-report small {
        orphans: 3;
        widows: 3;
    }

    /* 1. Ocultar absolutamente toda la interfaz interactiva */
    header,
    .catalog-ribbon,
    .top-controls,
    .budget-botones,
    .modal-overlay,
    .editor-overlay,
    .floating-list-overlay,
    .archivos-panel,
    .app-footer,
    .main-view-nav,
    .print-hide,
    .project-data-editor, /* Editor de datos del proyecto */
    .btn-delete,
    .btn-details-inline,
    .btn-details-sm,
    .btn-list-scroll,
    .category-label-mini {
        display: none !important;
    }

    body:not(.print-gantt-result-only) .gantt-modal-overlay {
        display: none; /* Ocultar el modal de Gantt salvo en la impresión puntual del resultado */
    }

    /* 2. Resetear el fondo y los márgenes del cuerpo */
    body {
        background: white;
        color: black;
        margin: 0;
        padding: 0;
    }

    /* 3. Forzar que el contenedor use el 100% del ancho del papel */
    .container,
    main.budget {
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: none;
        box-shadow: none;
        border: none;
        background: transparent;
    }

    /* 4. Estilizar la Ficha Técnica para que se vea como un encabezado de documento */
    .project-info-bar {
        border: 1px solid #eee;
        margin-bottom: 30px;
        box-shadow: none;
        background: #fafafa;
        page-break-inside: avoid;
    }

    /* 5. Asegurar que la tabla sea legible y ocupe todo el ancho */
    .budget-table {
        width: 100%;
        border-collapse: collapse;
    }

    .budget-table th {
        background-color: #f1f5f9;
        color: #000;
        border: 1px solid #ccc;
    }

    .budget-table td {
        border: 1px solid #eee;
    }

    .analysis-host,
    .analysis-container,
    .analysis-dashboard-container {
        box-shadow: none;
        margin: 0;
        max-width: none;
        padding: 0;
        width: 100%;
    }

    .kpi-card-new,
    .chart-box,
    .planning-summary-band,
    .materials-head,
    .materials-table-wrap,
    .supply-risk-alert {
        box-shadow: none;
        break-inside: avoid;
    }

    .dashboard-charts-layout,
    .kpi-grid-premium,
    .planning-summary-band {
        grid-template-columns: 1fr 1fr;
    }

    .material-risk-print {
        display: inline;
        font-weight: 700;
    }

    body.print-view-mode {
        background: #ffffff;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.print-no-cover .pdf-cover,
    body.print-no-summary .pdf-summary-section,
    body.print-no-budget .pdf-budget-section,
    body.print-no-supplies .pdf-supply-section,
    body.print-no-planning .pdf-planning-body,
    body.print-no-planning.print-no-risk.print-no-signature .pdf-planning-section,
    body.print-no-risk .pdf-risk-grid,
    body.print-no-signature .pdf-signature-band,
    body.print-hide-project-data .pdf-client-grid,
    body.print-hide-project-data .project-info-bar,
    body.print-hide-project-data .project-info-disclosure,
    body.print-hide-logo .pdf-cover-brand img,
    body.print-hide-logo .project-logo-display {
        display: none;
    }

    body.print-compact-mode .pdf-report {
        font-size: 8.5pt;
        line-height: 1.24;
    }

    body.print-compact-mode .pdf-cover {
        min-height: auto;
        padding: 12mm;
    }

    body.print-compact-mode .pdf-metric-grid,
    body.print-compact-mode .pdf-client-grid,
    body.print-compact-mode .pdf-composition-grid,
    body.print-compact-mode .pdf-mini-kpis {
        gap: 6px;
        margin: 8mm 0;
    }

    body.print-compact-mode .pdf-section {
        padding-block: 0;
    }

    body.print-compact-mode .budget-table th,
    body.print-compact-mode .budget-table td,
    body.print-compact-mode .mat-list-table th,
    body.print-compact-mode .mat-list-table td {
        padding: 4px 6px;
    }

    body.print-compact-mode .project-info-bar {
        margin-bottom: 12px;
        padding: 8px;
    }

    body.print-grayscale-mode .pdf-report,
    body.print-grayscale-mode .pdf-report *,
    body.print-grayscale-mode.print-view-mode #app,
    body.print-grayscale-mode.print-view-mode #app * {
        filter: grayscale(1) !important;
    }

    body.print-view-mode .content-hub,
    body.print-view-mode .hub-mobile-floating-nav,
    body.print-view-mode .hub-return-entry,
    body.print-view-mode .tool-shell-head,
    body.print-view-mode .project-session-bar,
    body.print-view-mode .mobile-project-disclosure,
    body.print-view-mode .mobile-settings-disclosure,
    body.print-view-mode .app-ad-placeholder,
    body.print-view-mode .assistant-panel,
    body.print-view-mode .assistant-modal-smart {
        display: none;
    }

    body.print-view-mode.print-budget-mode .analysis-host,
    body.print-view-mode.print-budget-mode .analysis-container,
    body.print-view-mode.print-analysis-mode .container,
    body.print-view-mode.print-analysis-mode .gantt-view-host,
    body.print-view-mode.print-analysis-mode .analysis-container,
    body.print-view-mode.print-materials-mode .container,
    body.print-view-mode.print-materials-mode .gantt-view-host,
    body.print-view-mode.print-materials-mode .analysis-host:not(.gantt-view-host) {
        display: none;
    }

    body.print-view-mode.print-analysis-mode .analysis-host:not(.gantt-view-host),
    body.print-view-mode.print-materials-mode .analysis-container {
        display: block;
        margin: 0;
        max-width: none;
        padding: 0;
        width: 100%;
    }

    body.print-view-mode .interactive-tool-shell,
    body.print-view-mode #app {
        display: block;
        margin: 0;
        min-height: 0;
        padding: 0;
        width: 100%;
    }

    .mat-list-table {
        min-width: 0;
        width: 100%;
    }

    .mat-list-table th,
    .mat-list-table td {
        border: 1px solid #ddd;
        padding: 8px;
    }

    body.print-gantt-result-only * {
        visibility: hidden !important;
    }

    body.print-gantt-result-only .gantt-result-panel,
    body.print-gantt-result-only .gantt-result-panel * {
        visibility: visible !important;
    }

    body.print-gantt-result-only .interactive-tool-shell,
    body.print-gantt-result-only #app,
    body.print-gantt-result-only .gantt-view-host,
    body.print-gantt-result-only .gantt-dashboard-shell,
    body.print-gantt-result-only .gantt-professional-container,
    body.print-gantt-result-only .gantt-stage-layout {
        display: block !important;
        visibility: visible !important;
    }

    body.print-gantt-result-only .gantt-hero-panel,
    body.print-gantt-result-only .gantt-meta-grid,
    body.print-gantt-result-only .gantt-view-host .gantt-toolbar,
    body.print-gantt-result-only .gantt-kpi-strip-inline,
    body.print-gantt-result-only .gantt-flow-editor-panel,
    body.print-gantt-result-only .gantt-insight-grid,
    body.print-gantt-result-only .gantt-deep-grid,
    body.print-gantt-result-only .app-ad-placeholder {
        display: none;
    }

    body.print-gantt-result-only .gantt-result-panel {
        background: #ffffff;
        border: 0;
        display: block;
        box-shadow: none;
        color: #000000;
        left: 0;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        width: 100%;
    }

    body.print-gantt-result-only .gantt-result-panel .gantt-canvas-toolbar,
    body.print-gantt-result-only .gantt-result-panel .gantt-stage-chips,
    body.print-gantt-result-only .mini-gantt-controls,
    body.print-gantt-result-only .mini-gantt-list-toggle,
    body.print-gantt-result-only .mini-gantt-link-toggle,
    body.print-gantt-result-only .mini-gantt-line-legend {
        display: none;
    }

    body.print-gantt-result-only .gantt-result-panel .gantt-stage-head {
        margin-bottom: 12px;
    }

    body.print-gantt-result-only #gantt_chart_container,
    body.print-gantt-result-only .mini-gantt-shell,
    body.print-gantt-result-only .mini-gantt-scroll {
        height: auto;
        max-height: none;
        min-height: 0;
        overflow: visible;
    }

    body.print-gantt-result-only .mini-gantt-shell {
        border: 1px solid #ddd;
        box-shadow: none;
    }
}
