/* Print - стили для печати */

/* Режим печати - применяется через класс .print-mode на body */
body.print-mode button:not(#printModeToggle):not(.save-jpg-btn),
body.print-mode .save-jpg-btn,
body.print-mode .add-pub-badge,
body.print-mode .delete-pub-badge,
body.print-mode .restore-stat-btn,
body.print-mode .burger-menu,
body.print-mode .burger-menu-container,
body.print-mode .contract-actions-menu,
body.print-mode .contract-type-badge.editable,
body.print-mode .left-sidebar,
body.print-mode .right-sidebar,
body.print-mode #statusBarInvoiceBtn,
body.print-mode #statsGenToggle,
body.print-mode #invoiceWidget,
body.print-mode .back-to-top,
body.print-mode .sidebar-toggle,
body.print-mode .yellow-badge,
body.print-mode .green-badge,
    body.print-mode .auto-date-badge,
    body.print-mode input[type="checkbox"],
    body.print-mode .reset-single-pad-btn,
    body.print-mode .ord-send-button,
    body.print-mode .stats-empty-state,
    body.print-mode .toast-container,
    body.print-mode .toast,
    body.print-mode .no-print,
    body.print-mode #contractsFilterBar {
    display: none !important;
}

/* Статус-бар остаётся видимым в режиме печати (для возможности выхода из режима) */
/* При физической печати (@media print) он скрывается автоматически */

body.print-mode [contenteditable] {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    cursor: default !important;
    pointer-events: none !important;
    outline: none !important;
}

body.print-mode .content-header {
    background: white !important;
    border: none !important;
}

body.print-mode .content-body {
    padding-left: 0 !important;
    background: white !important;
}

body.print-mode #contractsColumn,
body.print-mode #contractsContainer,
body.print-mode .contract-section,
body.print-mode .eternal-stats-section {
    background: white !important;
}

body.print-mode .eternal-stats-section,
body.print-mode .self-promo-stats-section {
    margin-top: 20px !important;
    padding: 0 !important;
    box-shadow: none !important;
}

body.print-mode .eternal-stats-table,
body.print-mode .self-promo-stats-table {
    font-size: 9px !important;
}

body.print-mode .eternal-stats-table th,
body.print-mode .eternal-stats-table td,
body.print-mode .self-promo-stats-table th,
body.print-mode .self-promo-stats-table td {
    padding: 4px 3px !important;
    border: 1px solid #eee !important;
}

/* Столбец ERID (2-й столбец) - компактнее */
body.print-mode .eternal-stats-table th:nth-child(2),
body.print-mode .eternal-stats-table td:nth-child(2) {
    width: 65px !important;
    min-width: 65px !important;
    max-width: 65px !important;
}

/* Столбец Площадка (3-й столбец) - уменьшено */
body.print-mode .eternal-stats-table th:nth-child(3),
body.print-mode .eternal-stats-table td:nth-child(3) {
    width: 100px !important;
    max-width: 100px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Столбцы дат (Начало и Конец) - одинаковая ширина */
body.print-mode .eternal-stats-table th:nth-last-child(3),
body.print-mode .eternal-stats-table td:nth-last-child(3),
body.print-mode .eternal-stats-table th:nth-last-child(2),
body.print-mode .eternal-stats-table td:nth-last-child(2) {
    width: 55px !important;
    min-width: 55px !important;
    max-width: 55px !important;
    text-align: center !important;
}

/* Столбец Показы - компактнее */
body.print-mode .eternal-stats-table th:nth-last-child(1),
body.print-mode .eternal-stats-table td:nth-last-child(1) {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    text-align: center !important;
}

/* Столбец Публ. (4-й с конца) - очень компактно */
body.print-mode .eternal-stats-table th:nth-last-child(4),
body.print-mode .eternal-stats-table td:nth-last-child(4) {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    text-align: center !important;
}

/* Стили для таблицы саморекламы */
/* Столбец ERID (2-й столбец) */
body.print-mode .self-promo-stats-table th:nth-child(2),
body.print-mode .self-promo-stats-table td:nth-child(2) {
    width: 65px !important;
    min-width: 65px !important;
    max-width: 65px !important;
}

/* Столбец Площадка (3-й столбец) */
body.print-mode .self-promo-stats-table th:nth-child(3),
body.print-mode .self-promo-stats-table td:nth-child(3) {
    width: 100px !important;
    max-width: 100px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Столбцы дат (Начало и Конец) - одинаковая ширина */
body.print-mode .self-promo-stats-table th:nth-last-child(3),
body.print-mode .self-promo-stats-table td:nth-last-child(3),
body.print-mode .self-promo-stats-table th:nth-last-child(2),
body.print-mode .self-promo-stats-table td:nth-last-child(2) {
    width: 55px !important;
    min-width: 55px !important;
    max-width: 55px !important;
    text-align: center !important;
}

/* Столбец Показы */
body.print-mode .self-promo-stats-table th:nth-last-child(1),
body.print-mode .self-promo-stats-table td:nth-last-child(1) {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    text-align: center !important;
}

/* Столбец Публ. (4-й с конца) */
body.print-mode .self-promo-stats-table th:nth-last-child(4),
body.print-mode .self-promo-stats-table td:nth-last-child(4) {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    text-align: center !important;
}

body.print-mode .contract-table {
    page-break-inside: avoid;
}

body.print-mode {
    background: white !important;
}

body.print-mode .table-wrapper {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: white !important;
    box-shadow: none !important;
}

body.print-mode .table-wrapper::after {
    display: none !important;
    content: none !important;
}

body.print-mode .contract-table {
    font-size: 9px !important;
    max-width: 100% !important;
}

body.print-mode .contract-table tr,
body.print-mode .contract-table th,
body.print-mode .contract-table td {
    padding: 4px 3px !important;
    line-height: 1.4 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
}

/* Компактные заголовочные строки (Заказчик, Исполнитель и т.д.) в режиме печати */
body.print-mode .contract-table tr td[colspan] {
    padding: 4px 3px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
    height: auto !important;
    min-height: auto !important;
}

body.print-mode .contract-table tr td[colspan] strong {
    font-size: 9px !important;
    line-height: 1.4 !important;
}

body.print-mode .contract-table tr.contract-info-row td,
body.print-mode .contract-table tr.no-publications-header td,
body.print-mode .contract-table tr.unknown-platform-header td {
    padding: 4px 3px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
    height: auto !important;
    min-height: auto !important;
}

body.print-mode .contract-table tr.contract-info-row td strong,
body.print-mode .contract-table tr.no-publications-header td strong,
body.print-mode .contract-table tr.unknown-platform-header td strong {
    font-size: 9px !important;
    line-height: 1.4 !important;
}

body.print-mode .header-row td,
body.print-mode .preview-header-row td {
    padding: 4px 3px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
    height: auto !important;
    min-height: auto !important;
}

body.print-mode .header-row td strong,
body.print-mode .preview-header-row td strong {
    font-size: 9px !important;
    line-height: 1.4 !important;
}

body.print-mode .contract-table .ad-fee-cell div:first-child {
    font-size: 8px !important;
}

body.print-mode .contract-table .ad-fee-cell div:last-child {
    font-size: 9px !important;
}

/* Уменьшаем ширину колонок "Стоимость" и "Сумма" */
body.print-mode .contract-table td div[style*="color: #888"] {
    color: #888 !important;
}

body.print-mode .contract-table td[style*="min-width: 120px"] {
    min-width: 120px !important;
    width: 120px !important;
}

body.print-mode .contract-table th[style*="width: 100px"],
body.print-mode .contract-table th:nth-last-child(2),
body.print-mode .contract-table th:nth-last-child(1),
body.print-mode .contract-table td.platform-cpm-cell,
body.print-mode .contract-table td.platform-sum-cell {
    width: auto !important;
    min-width: 50px !important;
    max-width: 65px !important;
}

body.print-mode a {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none !important;
    cursor: default !important;
}

body.print-mode .contract-type-badge {
    cursor: default !important;
    pointer-events: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.print-mode .badge-type-part,
body.print-mode .badge-subject-part {
    background: transparent !important;
    color: inherit !important;
    border: none !important;
}

/* Убираем стили с поля НДС при печати */
body.print-mode .editable-vat-rate {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    cursor: default !important;
    pointer-events: none !important;
}

/* Скрываем всплывающие подсказки при печати */
body.print-mode [data-tooltip] {
    cursor: default !important;
}

body.print-mode [data-tooltip]::after,
body.print-mode [data-tooltip]::before {
    display: none !important;
    content: none !important;
}

/* Скрываем всплывающие подсказки для публикаций */
body.print-mode .pubs-tooltip-content,
body.print-mode .self-promo-errors-section {
    display: none !important;
}

body.print-mode .print-only {
    display: inline !important;
}

body.print-mode .shows-field,
body.print-mode .date-start-field,
body.print-mode .date-end-field {
    cursor: default !important;
    pointer-events: none !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
}

body.print-mode .ord-shows-badge {
    display: none !important;
}

/* Убираем стили с "без НДС" при печати */
body.print-mode td div {
    font-size: inherit !important;
    color: inherit !important;
    margin-top: 0 !important;
}

/* Уменьшаем шрифт в строке итогов для body.print-mode */
body.print-mode .contract-table tr[style*="background: #e3f2fd"],
body.print-mode .contract-table tr[style*="background: #e3f2fd"] *,
body.print-mode .contract-table tr[style*="background: #e3f2fd"] td,
body.print-mode .contract-table tr[style*="background: #e3f2fd"] td *,
body.print-mode .contract-table tr[style*="background: #e3f2fd"] td strong,
body.print-mode .contract-table tr[style*="background: #e3f2fd"] td span,
body.print-mode .contract-table tr[style*="background: #e3f2fd"] td span[style],
body.print-mode .contract-table tr[style*="background: #e3f2fd"] td[style] {
    font-size: 9px !important;
}

body.print-mode .contract-table .total-shows-cell,
body.print-mode .contract-table .total-cpm-cell,
body.print-mode .contract-table .total-sum-cell {
    font-size: 9px !important;
}

/* Строки будущих периодов сохраняют желтый фон в режиме печати */
body.print-mode .future-period-row td {
    background: #fff3e0 !important;
}

@media print {
    @page {
        margin: 0mm 10mm;
        size: auto;
    }
    
    html, body, .main-wrapper {
        background: white !important;
        height: auto !important;
        overflow: visible !important;
        margin: 0;
        padding: 0;
    }
    
    .app-layout,
    .main-content,
    .content-body,
    .content-area,
    .results,
    #contractsColumn,
    #contractsContainer,
    #contractsContainer > div,
    .contract-section:not(.filter-hidden),
    .eternal-stats-section,
    .table-wrapper {
        background: white !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        display: block !important;
        flex: none !important;
        box-shadow: none !important;
        position: static !important;
        width: 100% !important;
    }
    
    /* Скрываем все кроме контента актов */
    .left-sidebar,
    .right-sidebar,
    #globalStatusBar,
    body.print-mode #globalStatusBar,
    .content-header,
    .form-section,
    .loading,
    .back-to-top,
    #invoiceWidget,
    .toast-container,
    .toast {
        display: none !important;
    }
    
    /* Скрываем интерактивные элементы */
    #contractsFilterBar,
    button,
    .add-pub-badge,
    .delete-pub-badge,
    .restore-stat-btn,
    .burger-menu,
    .burger-menu-container,
    .contract-actions-menu,
    .sidebar-toggle,
    .yellow-badge,
    .green-badge,
    .auto-date-badge,
    input[type="checkbox"] {
        display: none !important;
    }
    
    /* Убираем стили редактируемых полей */
    [contenteditable] {
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        outline: none !important;
    }
    
    .shows-field {
        border: none !important;
        background: transparent !important;
        outline: none !important;
    }
    
    /* Ссылки как текст */
    a {
        color: inherit !important;
        text-decoration: none !important;
    }
    
    /* Убираем стили с "без НДС" при печати */
    td span + div {
        font-size: inherit !important;
        color: inherit !important;
        margin-top: 0 !important;
    }
    
    /* Убираем заливку у типа договора и субъекта */
    .contract-type-badge {
        background: transparent !important;
        box-shadow: none !important;
    }
    
    .badge-type-part,
    .badge-subject-part {
        background: transparent !important;
        color: inherit !important;
        border: none !important;
    }
    
    /* Убираем стили с поля НДС при печати */
    .editable-vat-rate {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        border-radius: 0 !important;
        cursor: default !important;
        pointer-events: none !important;
    }
    
    /* Скрываем всплывающие подсказки при печати */
    [data-tooltip] {
        cursor: default !important;
    }
    
    [data-tooltip]::after,
    [data-tooltip]::before {
        display: none !important;
        content: none !important;
    }
    
    /* Скрываем всплывающие подсказки для публикаций и секцию ошибок */
    .pubs-tooltip-content,
    .self-promo-errors-section {
        display: none !important;
    }
    
    .print-only {
        display: inline !important;
    }
    
    .no-print {
        display: none !important;
    }
    
    /* ОРД бейджи видны */
    .ord-badge {
        display: inline !important;
    }
    
    /* Уменьшаем ширину таблицы для печати */
    .table-wrapper {
        max-width: 98% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        background: white !important;
        box-shadow: none !important;
    }
    
    .table-wrapper::after {
        display: none !important;
        content: none !important;
    }
    
    .contract-table,
    .eternal-stats-table {
        font-size: 9px !important;
        max-width: 98% !important;
        width: 100% !important;
        table-layout: fixed !important;
        margin-bottom: 50px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    .contract-table th,
    .contract-table td,
    .eternal-stats-table th,
    .eternal-stats-table td {
        padding: 4px 3px !important;
        line-height: 1.4 !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    .contract-table tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    /* Компактные заголовочные строки (Заказчик, Исполнитель и т.д.) при печати */
    .contract-table tr td[colspan] {
        padding: 4px 3px !important;
        font-size: 9px !important;
        line-height: 1.4 !important;
        vertical-align: middle !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    .contract-table tr td[colspan] strong {
        font-size: 9px !important;
        line-height: 1.4 !important;
    }
    
    .contract-table tr.contract-info-row td,
    .contract-table tr.no-publications-header td,
    .contract-table tr.unknown-platform-header td {
        padding: 4px 3px !important;
        font-size: 9px !important;
        line-height: 1.4 !important;
        vertical-align: middle !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    .contract-table tr.contract-info-row td strong,
    .contract-table tr.no-publications-header td strong,
    .contract-table tr.unknown-platform-header td strong {
        font-size: 9px !important;
        line-height: 1.4 !important;
    }
    
    .header-row td,
    .preview-header-row td {
        padding: 4px 3px !important;
        font-size: 9px !important;
        line-height: 1.4 !important;
        vertical-align: middle !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    .header-row td strong,
    .preview-header-row td strong {
        font-size: 9px !important;
        line-height: 1.4 !important;
    }
    
    /* Компактнее колонки с датами */
    .contract-table .nowrap {
        white-space: nowrap !important;
    }
    
    /* Уменьшаем ширину колонок "Стоимость" и "Сумма" */
    .contract-table th[style*="width: 100px"],
    .contract-table th:nth-last-child(2),
    .contract-table th:nth-last-child(1),
    .contract-table td.platform-cpm-cell,
    .contract-table td.platform-sum-cell {
        width: auto !important;
        min-width: 50px !important;
        max-width: 65px !important;
    }
    
    /* Скрываем бейджи ОРД при печати */
    .ord-shows-badge {
        display: none !important;
    }
    
    /* Уменьшаем шрифт в строке итогов - перекрываем все inline стили */
    .contract-table tr[style*="background: #e3f2fd"],
    .contract-table tr[style*="background: #e3f2fd"] *,
    .contract-table tr[style*="background: #e3f2fd"] td,
    .contract-table tr[style*="background: #e3f2fd"] td *,
    .contract-table tr[style*="background: #e3f2fd"] td strong,
    .contract-table tr[style*="background: #e3f2fd"] td span,
    .contract-table tr[style*="background: #e3f2fd"] td span[style],
    .contract-table tr[style*="background: #e3f2fd"] td[style] {
        font-size: 9px !important;
    }
    
    .contract-table .total-shows-cell,
    .contract-table .total-cpm-cell,
    .contract-table .total-sum-cell,
    .contract-table .total-shows-cell[style],
    .contract-table .total-cpm-cell[style],
    .contract-table .total-sum-cell[style] {
        font-size: 9px !important;
    }
    
    .container {
        box-shadow: none;
        padding: 0;
        margin: 0;
        height: auto !important;
        overflow: visible !important;
        display: block !important;
    }
    
    /* Убираем ограничения по высоте для печати всего контента */
    .content-body,
    #contractsColumn {
        padding: 0 !important;
    }
    
    #contractsColumn {
        padding: 10px !important;
    }
    
    .contract-table {
        page-break-inside: avoid;
    }
    
    .contract-table tr {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    /* Специальные размеры для eternal-stats-table */
    /* Столбец ERID (2-й столбец) */
    .eternal-stats-table th:nth-child(2),
    .eternal-stats-table td:nth-child(2) {
        width: 65px !important;
        min-width: 65px !important;
        max-width: 65px !important;
    }
    
    /* Столбец Площадка (3-й столбец) */
    .eternal-stats-table th:nth-child(3),
    .eternal-stats-table td:nth-child(3) {
        width: 100px !important;
        max-width: 100px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    
    /* Столбцы дат (Начало и Конец) - одинаковая ширина */
    .eternal-stats-table th:nth-last-child(3),
    .eternal-stats-table td:nth-last-child(3),
    .eternal-stats-table th:nth-last-child(2),
    .eternal-stats-table td:nth-last-child(2) {
        width: 55px !important;
        min-width: 55px !important;
        max-width: 55px !important;
        text-align: center !important;
    }
    
    /* Столбец Показы */
    .eternal-stats-table th:nth-last-child(1),
    .eternal-stats-table td:nth-last-child(1) {
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        text-align: center !important;
    }
    
    /* Столбец Публ. */
    .eternal-stats-table th:nth-last-child(4),
    .eternal-stats-table td:nth-last-child(4) {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        text-align: center !important;
    }
    
    /* Стили для таблицы саморекламы */
    /* Столбец ERID (2-й столбец) */
    .self-promo-stats-table th:nth-child(2),
    .self-promo-stats-table td:nth-child(2) {
        width: 65px !important;
        min-width: 65px !important;
        max-width: 65px !important;
    }
    
    /* Столбец Площадка (3-й столбец) */
    .self-promo-stats-table th:nth-child(3),
    .self-promo-stats-table td:nth-child(3) {
        width: 100px !important;
        max-width: 100px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    
    /* Столбцы дат (Начало и Конец) - одинаковая ширина */
    .self-promo-stats-table th:nth-last-child(3),
    .self-promo-stats-table td:nth-last-child(3),
    .self-promo-stats-table th:nth-last-child(2),
    .self-promo-stats-table td:nth-last-child(2) {
        width: 55px !important;
        min-width: 55px !important;
        max-width: 55px !important;
        text-align: center !important;
    }
    
    /* Столбец Показы */
    .self-promo-stats-table th:nth-last-child(1),
    .self-promo-stats-table td:nth-last-child(1) {
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        text-align: center !important;
    }
    
    /* Столбец Публ. */
    .self-promo-stats-table th:nth-last-child(4),
    .self-promo-stats-table td:nth-last-child(4) {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        text-align: center !important;
    }
    
    /* Строки будущих периодов сохраняют желтый фон при печати */
    .future-period-row td {
        background: #fff3e0 !important;
    }
}

/* Фиксированная ширина таблиц при печати на средних экранах */
@media print and (min-width: 769px) and (max-width: 1024px) {
    .table-wrapper {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    .contract-table {
        max-width: 100% !important;
        width: 100% !important;
        table-layout: fixed !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
