@media print {

    /* ===== @page (колонтитулы) ===== */
    @page {
        size: A4;
        margin: 25mm 20mm 25mm 20mm;
        background: #ffffff;
        @top-center {
            content: "ООО «Аудиторская фирма СИГМА»";
            font-size: 8pt;
            color: #999;
            background: #ffffff;
        }
        @bottom-right {
            content: "Стр. " counter(page) " из " counter(pages);
            font-size: 8pt;
            color: #999;
            background: #ffffff;
        }
        @bottom-left {
            content: "Расчёт носит информационный характер";
            font-size: 7pt;
            color: #bbb;
            font-style: italic;
            background: #ffffff;
        }
    }

    /* ===== Layout reset ===== */
    /* ---- 22: Prevent orphan/widow lines ---- */
    body {
        orphans: 2;
        widows: 2;
    }

    /* ---- Layout reset ---- */
    html {
        background: #ffffff !important;
        border: none !important;
    }
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: 'Times New Roman', Georgia, serif;
        font-size: 12pt;
        line-height: 1.4;
        margin: 0;
        padding: 0;
        border: none !important;
    }

    .main,
    .section,
    .lp-container,
    .calculator-layout,
    .calculator-main,
    .calc-result-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }

    .calc-result {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: none !important;
        background: none !important;
    }

    /* ===== Тёмная тема сброс ===== */
    /* ---- C1: Reset CSS variables (dark theme → white print) ---- */
    :root,
    [data-theme="dark"] {
        --bg-main: #ffffff !important;
        --bg-card: #ffffff !important;
        --bg-base: #ffffff !important;
        --text-main: #000000 !important;
        --text-muted: #333333 !important;
        --text-secondary: #555555 !important;
        --primary: #000000 !important;
        --border-color: #999999 !important;
        --accent: #333333 !important;
        --accent-secondary: #555555 !important;
        --danger: #cc0000 !important;
        --success: #166534 !important;
        --warning: #92400e !important;
        --bg-secondary: #f5f5f5 !important;
        --bg-tertiary: #fafafa !important;
        --warning-bg: #fffbe6 !important;
        --warning-text: #856404 !important;
        --panel-warning-bg: #fff3e0 !important;
        --dot-warning: #ff9800 !important;
        --bg-surface: #fafafa !important;
    }

    /* ---- .warning-box hardcoded dark override → print values ---- */
    [data-theme="dark"] .warning-box {
        background: #fff3e0 !important;
        border-left-color: #ff9800 !important;
        color: #000000 !important;
    }

    /* ===== Print-color-adjust ===== */
    /* ---- C2: Force color adjust for backgrounds/borders ---- */
    /* Только body — НЕ html. html при тёмной теме имеет тёмный фон,
       print-color-adjust:exact на html заливает @page margin boxes чёрным. */
    body {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    /* ===== Print-only show/hide ===== */
    /* ---- Hide everything non-essential ---- */
    .header,
    .footer,
    .theme-toggle,
    .header__burger,
    .header__actions,
    .header__user,
    .header__avatar,
    .header__avatar-btn,
    .header__avatar-menu,
    .alert:not(.calc-result .alert),
    nav,
    .no-print,
    .calc-form,
    .calc-form__actions,
    .side-panel,
    .favorite-btn,
    .calc-info-details,
    .calc-result-actions,
    .copy-toast,
    .lk-toast-layer,
    .lk-confirm,
    .anon-limit-bar,
    .anon-limit-badge--nav,
    .anon-limit-modal,
    [class*="ya-"],
    [id*="yandex_rtb"],
    .lp-container > *:not(.calculator-layout):not(.calc-result-wrapper):not(.print-only),
    .calculator-main > *:not(.calc-result):not(.calc-result-wrapper),
    .doc-panel,
    .doc-resizer,
    .doc-desk-toolbar,
    .doc-actionbar,
    .doc-action-bar,
    .doc-mobile-switch,
    .doc-desk__empty,
    .doc-empty,
    .doc-toast {
        display: none !important;
    }

    /* ---- Show all .print-only elements in print ---- */
    .print-only {
        display: block !important;
    }

    /* Hide interactive copy hints in print */
    .copy-hint,
    .copy-hint svg {
        display: none !important;
    }
    .amount-text-result-card__copy {
        display: none !important;
    }

    [aria-label*="Копировать"] {
        pointer-events: none;
    }

    [data-tooltip] {
        border-bottom: none !important;
    }

    /* Hide screen-only elements */
    .no-print {
        display: none !important;
    }

    /* ===== Universal print-header ===== */
    /* ---- 18 Слой 1: Fixed page header — СКРЫТ: дублирует @top-center (firm на
       каждой странице) и print_header-макрос (firm + дата на стр. 1). Fixed-строка
       налезала на заголовок макроса и рисовала лишнюю полосу через всю ширину. */
    .print-page-header {
        display: none !important;
    }

    /* ---- Универсальный print-calc-header (macro print_header) ---- */
    .print-calc-header {
        display: block !important;
        text-align: center;
        margin-bottom: 4pt;
        padding-bottom: 2pt;
        border-bottom: 1pt solid #000000;
        page-break-inside: avoid;
    }
    .print-calc-header__top {
        display: flex;
        justify-content: space-between;
        font-size: 9pt;
        color: #333333;
        margin-bottom: 4pt;
    }
    .print-calc-header__firm {
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
    }
    .print-calc-header__date {
        font-size: 9pt;
        color: #555555;
    }
    .print-calc-header__title {
        font-size: 15pt;
        font-weight: bold;
        margin: 6pt 0 2pt;
        text-transform: uppercase;
        letter-spacing: 0.6pt;
        color: #000000;
    }
    .print-calc-header__line {
        border-bottom: 0.5pt solid #999999;
        margin-top: 4pt;
    }

    /* ===== Print-params ===== */
    /* Print parameters table */
    .print-params {
        display: block !important;
        margin-bottom: 4pt;
        page-break-inside: avoid;
    }

    /* ---- Print parameters block ---- */
    .print-params {
        display: block !important;
        margin: 3pt 0 4pt;
        page-break-inside: avoid;
    }
    .print-params__grid {
        display: grid;
        gap: 1pt 6pt;
    }
    .print-params__grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .print-params__item {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        padding: 1pt 3pt;
        border-bottom: 0.5pt dotted #999999;
    }
    .print-params__label {
        font-size: 8pt;
        color: #444444;
        text-transform: uppercase;
        letter-spacing: 0.15pt;
    }
    .print-params__value {
        font-size: 9pt;
        font-weight: bold;
        color: #000000;
        font-variant-numeric: tabular-nums;
        text-align: right;
    }

    .print-params {
        font-size: 9pt;
    }

    .print-params span {
        margin-right: 12pt;
    }

    /* ===== Print-footer ===== */
    /* ---- Print footer (disclaimer + copyright) ---- */
    .print-footer {
        display: block !important;
        margin-top: 12pt;
        padding-top: 4pt;
        border-top: 0.5pt solid #999999;
        font-size: 8pt;
        font-style: italic;
        text-align: center;
        color: #555555;
        line-height: 1.3;
        break-inside: avoid;
    }
    .print-footer p {
        margin: 2pt 0;
    }

    /* ===== Print-empty-notice (guard) ===== */
    /* ---- C3: Empty print notice (no result → guard message) ---- */
    .print-empty-notice {
        font-size: 14pt;
        text-align: center;
        margin-top: 40mm;
        color: #333;
    }

    /* ===== Watermark (ВЫКЛЮЧЕН) ===== */
    /* Для активации: добавить .print-watermark--active на body
       в beforeprint (только для anon). Для logged-in — не добавлять. */
    /*
    .print-watermark--active .calculator-layout::before {
        content: "afsigma.ru";
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-45deg);
        font-size: 72pt;
        color: rgba(0, 0, 0, 0.08);
        font-weight: bold;
        pointer-events: none;
        z-index: 9999;
    }
    */

    /* ===== Result highlight ===== */
    .result-highlight__note {
        color: #333 !important;
    }

    /* Main result box polish */
    .result-highlight {
        background: #f5f5f5 !important;
        border: 1pt solid #000000 !important;
        padding: 5pt 8pt !important;
        margin: 6pt 0 !important;
        page-break-inside: avoid;
    }
    .result-highlight__label {
        font-size: 10pt !important;
        text-transform: uppercase;
        letter-spacing: 0.5pt;
        color: #333333 !important;
        margin-bottom: 3pt;
    }
    .result-highlight__value {
        font-size: 28pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        font-variant-numeric: tabular-nums;
    }
    .result-highlight__savings {
        font-size: 12pt !important;
        color: #333333 !important;
        font-weight: bold !important;
    }
    .result-highlight__worst {
        font-size: 9pt !important;
        color: #777777 !important;
    }

    .result-highlight__badge {
        border: 0.5pt solid #333333 !important;
        background: #f5f5f5 !important;
        color: #333333 !important;
        font-size: 8pt !important;
    }

    /* ===== Result cards ===== */
    /* Enforce grid layout so cards never clip */
    .result-grid--2:not(.no-print) {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5pt !important;
        justify-content: normal !important;
        margin: 4pt 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .result-grid--2#net-cards:not(.no-print) {
        grid-template-columns: repeat(2, 1fr) !important;
        max-width: 60% !important;
        margin: 4pt auto !important;
    }
    .result-card-sm {
        border: 0.75pt solid #999999 !important;
        padding: 3pt 4pt !important;
        background: #fafafa !important;
        text-align: center;
        page-break-inside: avoid;
    }
    .result-card-sm__label {
        font-size: 9pt !important;
        color: #444444 !important;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
        margin-bottom: 1pt;
    }
    .result-card-sm__value {
        font-size: 13pt !important;
        font-weight: bold !important;
        color: #000000 !important;
        font-variant-numeric: tabular-nums;
    }

    .result-grid--3 {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5pt !important;
        margin: 4pt 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* ===== Tables ===== */
    /* ---- C5: Repeat table headers on each page ---- */
    thead {
        display: table-header-group !important;
    }

    /* ===== Disclaimer ===== */
    /* Disclaimers in print */
    .calc-disclaimer {
        display: flex !important;
        flex-direction: column !important;
        gap: 4pt !important;
        margin: 6pt 0 !important;
    }
    .calc-disclaimer__item {
        display: flex !important;
        gap: 6pt !important;
        align-items: flex-start !important;
        padding: 4pt 6pt !important;
        border-left: 1.5pt solid #f59e0b !important;
        background: #fafafa !important;
        font-size: 8pt !important;
        line-height: 1.4 !important;
        color: #444444 !important;
    }
    .calc-disclaimer__icon {
        width: 12pt !important;
        height: 12pt !important;
        color: #f59e0b !important;
    }

    /* ===== Calc-specific: НДС ===== */
    /* NDS: compact highlight override */
    .print-nds-highlight {
        padding: 5pt 8pt !important;
        margin: 4pt 0 !important;
        border-width: 1pt !important;
    }

    /* NDS: hide formula block in print */
    .calc-result .result-formula {
        display: none !important;
    }

    /* NDS: 2-card grid centered */
    .print-nds-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 5pt !important;
        max-width: 70% !important;
        margin: 4pt auto !important;
    }

    .calc-form__row--nds-rate {
        display: none !important;
    }

    /* ===== Calc-specific: НДФЛ ===== */
    /* ---- Result blocks: formula (общее правило; фактически перекрыто более
       специфичным правилом НДС выше: .calc-result .result-formula {display:none}.
       Класс .result-formula используется только в calc_nds.html и calc_usn.html;
       в calc_ndfl.html его нет) ---- */
    .result-formula {
        display: block !important;
        box-shadow: none !important;
        border: none !important;
        background: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
        text-align: center;
        margin: 4pt 0;
        padding: 3pt 4pt;
        border: 1pt solid #cccccc !important;
    }

    .result-formula__code {
        font-size: 10pt;
        font-family: 'Courier New', monospace;
        color: #333333;
    }

    .result-formula__source {
        font-size: 9pt;
        color: #666666;
        margin-top: 4pt;
    }

    /* Table polish */
    .ndfl-table-wrapper {
        border: 1pt solid #000000 !important;
        margin: 12pt 0 !important;
        page-break-inside: avoid;
    }
    .ndfl-table {
        width: 100%;
        border-collapse: collapse;
    }
    .ndfl-table th {
        background: #e0e0e0 !important;
        font-size: 9pt;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
        padding: 5pt 6pt !important;
        border: 0.5pt solid #666666 !important;
        text-align: left;
    }
    .ndfl-table td {
        font-size: 10pt;
        padding: 4pt 6pt !important;
        border: 0.5pt solid #999999 !important;
    }
    .ndfl-table td:nth-child(2),
    .ndfl-table td:nth-child(3),
    .ndfl-table td:nth-child(4),
    .ndfl-table td:nth-child(5) {
        text-align: right;
        font-variant-numeric: tabular-nums;
    }
    .ndfl-table__total td {
        font-size: 11pt !important;
        background: #f0f0f0 !important;
        border-top: 1pt solid #000000 !important;
        font-weight: bold;
    }

    .ndfl-progress-bar {
        border: 1px solid #999999 !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .ndfl-progress-bar__segment {
        color: #000000 !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    /* ===== Calc-specific: УСН ===== */
    .print-usn-highlight {
        padding: 5pt 8pt !important;
        margin: 4pt 0 !important;
        border-width: 1pt !important;
    }

    .print-usn-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 5pt !important;
        max-width: 80% !important;
        margin: 4pt auto !important;
    }

    /* ===== Calc-specific: Патент (ПСН) ===== */
    /* ---- Patent (ПСН) Professional Print Layout ---- */
    /* Print header */
    .print-patent-header {
        display: block !important;
        text-align: center;
        margin-bottom: 6pt;
        padding-bottom: 3pt;
        border-bottom: 1.5pt solid #000000;
        page-break-inside: avoid;
    }
    .print-patent-header__top {
        display: flex;
        justify-content: space-between;
        font-size: 9pt;
        color: #333333;
        margin-bottom: 4pt;
    }
    .print-patent-header__firm {
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
    }
    .print-patent-header__date {
        font-size: 9pt;
        color: #555555;
    }
    .print-patent-header__title {
        font-size: 14pt;
        font-weight: bold;
        margin: 4pt 0 2pt;
        text-transform: uppercase;
        letter-spacing: 0.5pt;
        color: #000000;
    }
    .print-patent-header__line {
        border-bottom: 0.5pt solid #999999;
        margin-top: 3pt;
    }

    /* Print parameters table */
    .print-patent-params-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 9pt;
    }
    .print-patent-params-table td {
        border: 0.5pt solid #999999;
        padding: 3pt 5pt;
        vertical-align: top;
    }
    .print-patent-params-table__label {
        background: #f0f0f0;
        font-weight: 600;
        color: #444444;
        width: 18%;
        white-space: nowrap;
    }
    .print-patent-params-table__value {
        color: #000000;
        width: 32%;
    }

    /* Print main result table */
    .print-patent-result {
        display: block !important;
        margin: 4pt 0;
        page-break-inside: avoid;
    }
    .print-patent-result-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 11pt;
    }
    .print-patent-result-table td {
        border: 0.5pt solid #666666;
        padding: 5pt 8pt;
    }
    .print-patent-result-table__label {
        background: #f5f5f5;
        font-weight: 600;
        color: #333333;
        width: 65%;
    }
    .print-patent-result-table__value {
        text-align: right;
        font-weight: bold;
        color: #000000;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .print-patent-result-table__total {
        border-top: 1.5pt solid #000000;
    }
    .print-patent-result-table__total td {
        border-top: 1.5pt solid #000000;
        font-size: 12pt;
        background: #f0f0f0;
    }
    .print-patent-result-table__total .print-patent-result-table__label {
        font-size: 12pt;
        font-weight: bold;
        text-transform: uppercase;
    }
    .print-patent-result-table__total .print-patent-result-table__value {
        font-size: 13pt;
    }
    .print-patent-result-table__note {
        text-align: center;
        font-size: 9pt;
        color: #444444;
        font-style: italic;
        background: #fafafa;
    }

    /* Print section title */
    .print-patent-section-title {
        font-size: 10pt;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
        border-bottom: 0.5pt solid #999999;
        padding-bottom: 2pt;
        margin: 6pt 0 3pt;
        color: #333333;
    }

    /* Print reduction breakdown */
    .print-patent-reduction {
        display: block !important;
        margin: 4pt 0;
        page-break-inside: avoid;
    }
    .print-patent-breakdown-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 9pt;
    }
    .print-patent-breakdown-table td {
        border: 0.5pt solid #cccccc;
        padding: 3pt 5pt;
    }
    .print-patent-breakdown-table__num {
        text-align: right;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        font-weight: 600;
    }
    .print-patent-breakdown-table__subtotal td {
        border-top: 1pt solid #666666;
        font-weight: bold;
        background: #f8f8f8;
    }

    /* Print payment schedule */
    .print-patent-schedule {
        display: block !important;
        margin: 4pt 0;
        page-break-inside: avoid;
    }
    .print-patent-schedule-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 9pt;
    }
    .print-patent-schedule-table th {
        background: #e0e0e0;
        color: #333333;
        font-size: 8pt;
        font-weight: bold;
        text-transform: uppercase;
        padding: 3pt 5pt;
        border: 0.5pt solid #666666;
        text-align: left;
    }
    .print-patent-schedule-table td {
        padding: 3pt 5pt;
        border: 0.5pt solid #999999;
        font-size: 9pt;
        color: #000000;
    }
    .print-patent-schedule-table__num {
        text-align: right;
        font-weight: bold;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .print-patent-schedule__note {
        font-size: 8pt;
        color: #555555;
        margin-top: 2pt;
        font-style: italic;
    }

    /* Print extras (1%, USN comparison, income forecast) */
    .print-patent-extras {
        display: block !important;
        margin: 4pt 0;
        page-break-inside: avoid;
    }
    .print-patent-extras__row {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 4pt;
        font-size: 9pt;
        padding: 2pt 0;
        border-bottom: 0.25pt dotted #cccccc;
    }
    .print-patent-extras__row:last-child {
        border-bottom: none;
    }
    .print-patent-extras__label {
        font-weight: 600;
        color: #333333;
    }
    .print-patent-extras__value {
        font-weight: bold;
        color: #000000;
        font-variant-numeric: tabular-nums;
    }
    .print-patent-extras__note {
        color: #555555;
        font-size: 8pt;
        font-style: italic;
    }

    /* Print warnings */
    .print-patent-warning {
        border: 0.5pt solid #f0a020 !important;
        background: #fffbe6 !important;
        color: #444444 !important;
        font-size: 8.5pt !important;
        padding: 3pt 6pt !important;
        margin: 2pt 0 !important;
        page-break-inside: avoid;
    }

    /* Print disclaimer */
    .calc-result .print-patent-header ~ .calc-disclaimer {
        display: flex !important;
        flex-direction: column !important;
        gap: 3pt !important;
        margin: 6pt 0 0 !important;
        page-break-inside: avoid;
    }
    .calc-result .print-patent-header ~ .calc-disclaimer .calc-disclaimer__item {
        font-size: 8pt !important;
        line-height: 1.35 !important;
        color: #555555 !important;
        border-left: 1.5pt solid #999999 !important;
        background: #fafafa !important;
        padding: 3pt 6pt !important;
    }

    .advance-schedule__row {
        padding: 1pt 2pt !important;
        font-size: 8pt !important;
        gap: 4pt !important;
    }
    .advance-schedule__row--next {
        border-left: 1.5pt solid #000000 !important;
        background: #f5f5f5 !important;
    }
    .advance-schedule__period {
        font-weight: 600 !important;
    }
    .advance-schedule__remaining {
        font-size: 8pt !important;
        min-width: 60pt !important;
    }
    .advance-schedule__row--overdue {
        opacity: 0.7 !important;
    }
    .advance-schedule__row--overdue .advance-schedule__remaining {
        color: #666666 !important;
    }

    /* Patent print: показывать calc-field__hint внутри patent-result-details */
    .calc-result details.patent-result-details > .calc-field__hint {
        display: block !important;
        font-size: 9pt !important;
        color: #333 !important;
        margin: 4pt 0 !important;
    }

    /* ===== Calc-specific: Нагрузка ===== */
    /* ===== Nagruzka (tax burden) print ===== */
    .result-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 8pt;
        break-inside: avoid;
    }
    .result-table th {
        background: #e0e0e0 !important;
        color: #000000 !important;
        font-size: 8pt;
        padding: 3pt 4pt;
        border: 0.5pt solid #333333;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .result-table td {
        padding: 3pt 4pt;
        border: 0.5pt solid #333333;
        font-size: 8pt;
    }
    .result-table__row--best td {
        background: transparent !important;
        font-weight: 700;
        border-left: 1.5pt solid #333333;
        border-color: #333333 !important;
        box-shadow: none !important;
    }
    .result-table__best-mark {
        color: #000000;
    }
    .calc-result__subtitle {
        font-size: 10pt;
        margin-top: 8pt;
    }
    .alert:not(.calc-result .alert) {
        display: none !important;
    }
    .calc-result .alert {
        display: block !important;
        break-inside: avoid;
        font-size: 8pt;
        padding: 4pt 6pt;
        margin-bottom: 4pt;
        border: 0.5pt solid #999999;
        background: #f5f5f5 !important;
        color: #333333 !important;
    }
    /* FAQ-аккордеон (справочный контент сайта) — явное скрытие как двойная защита
       к классу no-print: beforeprint-хук открывает details без no-print на самом
       элементе (паттерн ins-seniority-faq) */
    .nagruzka-faq {
        display: none !important;
    }

    /* ===== Calc-specific: ГПХ ===== */
    .calc-glossary,
    .gph-demo-presets,
    .gph-comparison-toggle {
        display: none !important;
    }

    /* ===== Calc-specific: Ставка ЦБ ===== */
    .keyrate-chart,
    .keyrate-refresh,
    .keyrate-payments-chart,
    .calc-form__divider,
    .calc-form__section-title,
    .calc-form__section-desc,
    .info-tooltip,
    #annual-simulator,
    .annual-simulator {
        display: none !important;
    }

    .keyrate-display {
        background: none !important;
        color: #000 !important;
        border: 2px solid #000;
        padding: 12pt 16pt;
        border-radius: 0;
    }
    .keyrate-display__value {
        font-size: 24pt;
        color: #000 !important;
    }
    .keyrate-display__meta {
        color: #333 !important;
    }
    .keyrate-display__badge {
        border: 1px solid #999;
        color: #333 !important;
        background: #f0f0f0 !important;
    }
    .keyrate-compare {
        border: 1px solid #999;
        border-radius: 0;
    }
    .keyrate-compare__col--annuity {
        background: none !important;
    }
    .keyrate-compare__main,
    .keyrate-compare__range {
        color: #000 !important;
    }

    /* ===== Calc-specific: Валюта ===== */
    .rate-badge {
        display: none !important;
    }
    .currency-tabs,
    .currency-calendar,
    .currency-metal-calc,
    .currency-crypto-converter,
    .currency-swap,
    .currency-converter,
    .currency-converter__row--spread,
    .copy-hint,
    .currency-tile__spark,
    .currency-expand-btn {
        display: none !important;
    }
    .currency-result__main {
        border: 2px solid #000;
        padding: 12pt 16pt;
    }
    .currency-result__to {
        font-size: 18pt;
        color: #000 !important;
    }
    .currency-tiles-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 6pt;
    }
    .currency-tile {
        border: 1px solid #999 !important;
        background: none !important;
        padding: 8pt;
    }
    .currency-tile__rate {
        color: #000 !important;
    }
    .currency-expand-panel {
        max-height: none !important;
        opacity: 1 !important;
        overflow: visible !important;
    }
    /* Currency calculator: show form content in print (tiles + converter) */
    .calculator-main > .calc-form[data-currency-print] {
        display: block !important;
    }
    .calculator-main.currency-has-result .calc-result-actions {
        display: none !important;
    }

    /* ===== Calc-specific: Инфляция ===== */
    .inflation-result-display__label,
    .inflation-result-display__date {
        color: #333 !important;
    }

    .inflation-display {
        background: none !important;
        border: 1px solid #999;
        color: #000 !important;
    }
    .inflation-display__value {
        color: #000 !important;
    }
    .inflation-display__meta {
        color: #333 !important;
    }
    .inflation-result-display {
        background: none !important;
        border: 1px solid #999;
        color: #000 !important;
        margin: 8pt 0;
        padding: 8pt 10pt;
    }
    .inflation-result-display__value {
        color: #000 !important;
    }
    .inflation-chart {
        display: none !important;
    }
    .inflation-details {
        background: none !important;
        border: 1px solid #999;
        padding: 8pt 10pt;
        margin: 8pt 0;
        break-inside: avoid;
    }
    .inflation-details__table {
        width: 100%;
        border-collapse: collapse;
        font-size: 8pt;
        table-layout: auto;
    }
    .inflation-details__table th {
        background: #e0e0e0 !important;
        padding: 3pt 4pt;
        border: 0.5pt solid #666;
        text-align: left;
        white-space: normal;
    }
    .inflation-details__table td {
        padding: 2pt 4pt;
        border: 0.5pt solid #999;
        white-space: normal;
    }
    .inflation-comparison {
        background: none !important;
        border: 1px solid #999;
        padding: 8pt 10pt;
        margin: 8pt 0;
        break-inside: avoid;
    }
    .inflation-comparison__table {
        width: 100%;
        border-collapse: collapse;
        font-size: 8pt;
        table-layout: auto;
    }
    .inflation-comparison__table th {
        background: #e0e0e0 !important;
        padding: 3pt 4pt;
        border: 0.5pt solid #666;
        text-align: left;
        white-space: normal;
    }
    .inflation-comparison__table td {
        padding: 2pt 4pt;
        border: 0.5pt solid #999;
        white-space: normal;
    }
    .inflation-comparison__row--active td {
        background: #f5f5f5 !important;
    }
    .inflation-fab {
        display: none !important;
    }
    .inflation-warning {
        background: none !important;
        border: 1px solid #999;
        color: #333 !important;
        break-inside: avoid;
    }
    .inflation-warning svg {
        stroke: #666 !important;
    }
    .inflation-warnings {
        display: flex;
        flex-direction: column;
        gap: 4pt;
    }
    .inflation-warnings .inflation-warning {
        margin: 0;
    }
    .inflation-details__title {
        color: #000000 !important;
    }
    .inflation-details__subtitle {
        color: #333333 !important;
    }
    .inflation-details__table {
        font-size: 8pt;
    }
    .inflation-details__table th {
        color: #333333 !important;
        padding: 3pt 4pt;
        font-size: 8pt;
    }
    .inflation-details__table td {
        color: #000000 !important;
        padding: 3pt 4pt;
    }
    .inflation-details__table td:first-child {
        color: #333333 !important;
    }
    .inflation-comparison__title {
        color: #000000 !important;
    }
    .inflation-comparison__table {
        font-size: 8pt;
    }
    .inflation-comparison__table th {
        color: #333333 !important;
        padding: 3pt 4pt;
        font-size: 8pt;
    }
    .inflation-comparison__table td {
        color: #000000 !important;
        padding: 3pt 4pt;
    }

    /* ===== Calc-specific: Отпускные ===== */
    /* ---- Vacation calculator print ---- */
    .calc-mode-toggle,
    .calc-input-mode-toggle,
    .info-tooltip,
    .vacation-fab,
    .vacation-result__details summary,
    .vacation-mini-calendar,
    .vacation-comparison,
    .vacation-smart-hints,
    .vacation-salary-grid__header,
    .ndfl-progress-bar {
        display: none !important;
    }

    .vacation-result {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .vacation-result__deadline {
        border: 0.5pt solid #999999 !important;
        background: #f5f5f5 !important;
        padding: 4pt 6pt !important;
        margin: 4pt 0 !important;
        break-inside: avoid;
    }

    .vacation-result__deadline-timer,
    .vacation-result__deadline-badge--pulse {
        animation: none !important;
        display: none !important;
    }

    .vacation-result__badge {
        border: 0.5pt solid #999999 !important;
        background: #f5f5f5 !important;
        color: #333333 !important;
        font-size: 8pt !important;
    }

    .vacation-ndfl-table th,
    .vacation-ndfl-table td {
        border: 0.5pt solid #999999 !important;
        font-size: 8pt !important;
        padding: 3pt 4pt !important;
    }

    .vacation-ndfl-table th {
        background: #e0e0e0 !important;
    }

    .vacation-sdz-table th,
    .vacation-sdz-table td {
        border: 0.5pt solid #999999 !important;
        font-size: 8pt !important;
        padding: 3pt 4pt !important;
    }

    .vacation-sdz-table th {
        background: #e0e0e0 !important;
    }

    /* ---- Vacation donut chart print ---- */
    .vacation-donut-chart {
        display: flex !important;
        align-items: center;
        gap: 12pt;
        margin: 6pt 0;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .vacation-donut-chart__svg {
        width: 180pt;
        height: 180pt;
        flex-shrink: 0;
    }
    .vacation-donut-chart__legend {
        font-size: 9pt;
        color: #333333 !important;
    }
    .vacation-donut-chart__dot {
        width: 8pt;
        height: 8pt;
    }
    .vacation-donut-chart__label {
        color: #000000 !important;
    }

    /* ===== Sick leave calculator print ===== */
    .sick-mode-tab,
    .sick-type-grid,
    .sick-subform {
        display: none !important;
    }

    .sick-result {
        display: block !important;
        width: 100% !important;
    }

    .sick-result__secondary-item {
        border: 0.5pt solid #999999 !important;
        background: #f5f5f5 !important;
        break-inside: avoid;
    }

    .sick-result__secondary-label,
    .sick-paysplit__label,
    .sick-paysplit__days {
        color: #333333 !important;
        font-size: 8pt !important;
    }

    .sick-result__secondary-value,
    .sick-paysplit__value {
        color: #000000 !important;
    }

    .sick-paysplit__item {
        border: 0.5pt solid #999999 !important;
        border-left: 2pt solid #333333 !important;
        background: #f5f5f5 !important;
        break-inside: avoid;
    }

    .sick-badge {
        border: 0.5pt solid #999999 !important;
        background: #f5f5f5 !important;
        color: #333333 !important;
        font-size: 8pt !important;
    }

    /* Donut + week-grid: видны в печати, не разрывать */
    .sick-donut,
    .sick-week-grid-block,
    .sick-details {
        break-inside: avoid;
    }

    .sick-donut__svg {
        width: 110px !important;
        height: 110px !important;
    }

    .sick-donut__legend-label,
    .sick-week-grid-block__label,
    .sick-week-grid__legend {
        color: #333333 !important;
    }

    /* Week grid: ограничение ширины — резиновые колонки 1fr + aspect-ratio: 1
       на полной ширине A4 раздувают квадраты до ~180px. max-width сжимает
       колонки до ~33px, квадраты и адаптивность сохраняются. */
    .sick-week-grid {
        max-width: 250pt;
        gap: 2pt;
    }

    .sick-week-grid__cell {
        font-size: 8pt;
        border-radius: 2pt;
    }

    .sick-week-grid__weekday {
        font-size: 7pt;
        padding: 0;
    }

    .sick-week-grid__month-label {
        font-size: 8pt;
        padding: 3pt 0 1pt;
        text-align: left;
    }

    .sick-week-grid__legend {
        font-size: 8pt;
        gap: 3pt 10pt;
        margin-top: 3pt;
    }

    .sick-details__row--note td {
        background: #f5f5f5 !important;
        color: #333333 !important;
    }

    /* ===== Calc-specific: Декретные ===== */
    /* Лента (140–194 ячейки — бумажный мусор, вместо неё помесячная сводка), FAQ
       (справочный контент сайта) и empty-state (лежит вне .calc-form — глобальный
       hide-лист его не покрывает) — в печати не нужны. Форма/type-grid/subform/
       segmented-toggle скрыты глобальным hide-листом (внутри .calc-form). */
    .mat-week-grid-block,
    .mat-faq,
    .mat-empty {
        display: none !important;
    }
    /* Smart-hints ПЕЧАТАЮТСЯ (дедлайн выплаты и срок обращения уместны на бумаге) —
       серый print-вариант (фоны rgba не печатаются по C2) */
    .mat-hints__card {
        border: 0.5pt solid #999999 !important;
        background: #f5f5f5 !important;
        color: #333333 !important;
        font-size: 8pt !important;
        padding: 3pt 5pt !important;
        break-inside: avoid;
    }
    /* C6: помесячная таблица ухода (18 строк) — разрыв допустим, thead повторяется (C5);
       перекрывает глобальные details/calc-print-visible break-inside: avoid */
    .mat-details--childcare {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    /* ===== Calc-specific: Дата-разница ===== */
    /* ===== Date diff calculator print ===== */
    .date-diff-result-layout {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 8pt !important;
        align-items: start !important;
        margin: 4pt 0 !important;
    }
    .date-diff-tabs {
        margin: 4pt 0 !important;
    }
    .date-diff-donut {
        display: flex !important;
        align-items: center !important;
        gap: 8pt !important;
        background: none !important;
        border: 0.5pt solid #999999 !important;
        padding: 6pt 8pt !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .date-diff-donut__svg {
        width: 100pt !important;
        height: 100pt !important;
        flex-shrink: 0 !important;
    }
    .date-diff-donut__legend {
        display: flex !important;
        flex-direction: column !important;
        gap: 3pt !important;
    }
    .date-diff-donut__legend-item {
        font-size: 9pt !important;
        color: #333333 !important;
    }
    .date-diff-donut__dot {
        width: 6pt !important;
        height: 6pt !important;
    }
    .date-diff-donut__label {
        color: #000000 !important;
    }
    .date-diff-donut__center-text {
        fill: #000000 !important;
    }
    .date-diff-donut__center-sub {
        fill: #555555 !important;
    }
    .date-diff-summary {
        font-size: 9pt !important;
        color: #333333 !important;
        margin: 4pt 0 6pt !important;
    }
    .date-diff-summary strong {
        color: #000000 !important;
    }
    .date-diff-excluded {
        display: block !important;
        border: 0.5pt solid #999999 !important;
        background: none !important;
        margin: 4pt 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .date-diff-excluded__summary {
        display: none !important;
    }
    .date-diff-excluded__grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 4pt !important;
        padding: 4pt 6pt !important;
    }
    .date-diff-excluded__month {
        border: 0.5pt solid #cccccc !important;
        padding: 3pt 4pt !important;
        background: #fafafa !important;
    }
    .date-diff-excluded__month-title {
        font-size: 8pt !important;
        font-weight: 700 !important;
        color: #333333 !important;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
        margin-bottom: 2pt !important;
        padding-bottom: 2pt !important;
        border-bottom: 0.5pt solid #cccccc !important;
    }
    .date-diff-excluded__list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .date-diff-excluded__item {
        display: flex !important;
        justify-content: space-between !important;
        font-size: 8pt !important;
        color: #000000 !important;
        padding: 1pt 0 !important;
    }
    .date-diff-excluded__date {
        font-variant-numeric: tabular-nums !important;
    }
    .date-diff-excluded__reason {
        font-size: 8pt !important;
        color: #555555 !important;
    }
    .calc-empty-state {
        display: none !important;
    }
    .date-diff-tabs__nav {
        display: none !important;
    }
    .date-diff-tabs__panel {
        display: block !important;
        border: none !important;
        padding: 0 !important;
    }
    .date-diff-calendar {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 4pt !important;
        margin: 4pt 0 !important;
    }
    .date-diff-calendar__month {
        border: 0.5pt solid #999999 !important;
        padding: 4pt !important;
        break-inside: avoid;
    }
    .date-diff-calendar__month-title {
        font-size: 9pt !important;
        font-weight: 700 !important;
        border-bottom: 0.5pt solid #999999 !important;
        padding-bottom: 2pt !important;
        margin-bottom: 3pt !important;
    }
    .date-diff-calendar__weekdays {
        gap: 2pt !important;
        margin-bottom: 2pt !important;
    }
    .date-diff-calendar__weekday {
        font-size: 7pt !important;
    }
    .date-diff-calendar__week {
        gap: 2pt !important;
    }
    .date-diff-calendar__day {
        font-size: 8pt !important;
        border: 0.5pt solid #cccccc !important;
        border-radius: 2pt !important;
    }
    .date-diff-calendar__day--work {
        background: #f0fdf4 !important;
        color: #166534 !important;
        border-color: #86efac !important;
    }
    .date-diff-calendar__day--weekend {
        background: #f9fafb !important;
        color: #6b7280 !important;
    }
    .date-diff-calendar__day--holiday {
        background: #fef2f2 !important;
        color: #991b1b !important;
        border-color: #fca5a5 !important;
    }
    .date-diff-calendar__day--regional_holiday {
        background: #fffbeb !important;
        color: #92400e !important;
        border-color: #fcd34d !important;
    }
    .date-diff-calendar__day--shortened {
        background: #eff6ff !important;
        color: #1e40af !important;
        border-color: #93c5fd !important;
    }
    .date-diff-calendar__day--out {
        color: #666666 !important;
        opacity: 0.5 !important;
    }
    .date-diff-calendar__day--empty {
        border: none !important;
    }

    /* Calendar legend — hidden in print (no-print in template) */
    .date-diff-calendar__legend.no-print {
        display: none !important;
    }

    /* Hide source badge in print */
    .date-diff-source {
        display: none !important;
    }

    /* ===== Calc-specific: НПД ===== */
    /* ===== NPD calculator print ===== */

    /* NPD expandable sections: CSS expanding (вместо JS-клонирования) */
    .calc-result details.npd-expandable,
    .calc-result details.npd-pro-mode {
        display: block !important;
        border: 0.5pt solid #999999 !important;
        border-radius: 0 !important;
        background: #fafafa !important;
        margin: 4pt 0 !important;
        padding: 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .calc-result details.npd-expandable > summary,
    .calc-result details.npd-pro-mode > summary {
        font-weight: bold !important;
        font-size: 9pt !important;
        padding: 3pt 6pt !important;
        border-bottom: 0.5pt solid #cccccc !important;
        color: #000000 !important;
    }
    .npd-expandable__badge {
        display: none !important;
    }
    .npd-expandable__content,
    .npd-pro-mode__content {
        display: block !important;
        padding: 4pt 6pt !important;
        border-top: none !important;
    }

    /* Comparison table: чёрно-белая, компактная */
    .npd-comparison-table {
        font-size: 8pt !important;
        width: 100% !important;
        border-collapse: collapse !important;
    }
    .npd-comparison-table th,
    .npd-comparison-table td {
        border: 0.5pt solid #999999 !important;
        padding: 2pt 4pt !important;
        font-size: 8pt !important;
        color: #000000 !important;
    }
    .npd-comparison-table__highlight,
    .npd-comparison-table__savings,
    .npd-comparison-table__loss {
        font-weight: bold !important;
        color: #000000 !important;
    }

    /* Bonus bar: только текст, без прогресс-бара */
    .npd-bonus-bar {
        border: 0.5pt solid #999999 !important;
        background: #fafafa !important;
        padding: 4pt 6pt !important;
        margin: 4pt 0 !important;
    }
    .npd-bonus-bar__track,
    .npd-bonus-bar__fill {
        display: none !important;
    }

    /* Distribution 63/37: текст, без фона */
    .npd-distribution {
        border: 0.5pt solid #999999 !important;
        background: #fafafa !important;
        padding: 3pt 6pt !important;
        margin: 4pt 0 !important;
        flex-direction: row !important;
    }
    .npd-distribution__label span,
    .npd-distribution__label .calc-rate-tooltip {
        display: none !important;
    }

    /* Overlimit warning: чёрно-белый */
    .npd-overlimit {
        border: 1pt solid #cc0000 !important;
        background: #fff5f5 !important;
        padding: 4pt 6pt !important;
        margin: 4pt 0 !important;
        break-inside: avoid;
    }
    .npd-overlimit__title {
        color: #cc0000 !important;
        font-size: 9pt !important;
    }
    .npd-overlimit__title svg {
        display: none !important;
    }
    .npd-overlimit__split {
        grid-template-columns: 1fr 1fr !important;
        gap: 4pt !important;
    }
    .npd-overlimit__part {
        border: 0.5pt solid #999999 !important;
        background: #ffffff !important;
    }

    /* Ex-employer warning: чёрно-белый */
    .npd-ex-employer-warning {
        border: 1pt solid #cc8800 !important;
        background: #fffef5 !important;
        padding: 4pt 6pt !important;
        margin: 4pt 0 !important;
        font-size: 8pt !important;
        break-inside: avoid;
    }

    /* Breakdown: компактная таблица */
    .npd-breakdown__row {
        font-size: 8.5pt !important;
        border-bottom: 0.5pt dotted #aaaaaa !important;
    }
    .npd-breakdown__row--total {
        border-top: 1pt solid #000000 !important;
    }

    /* Pension info: компактная */
    .npd-pension-info__row {
        border: 0.5pt solid #999999 !important;
        background: #fafafa !important;
        font-size: 8pt !important;
    }

    /* Result cards: чёрно-белые */
    .npd-comparison-table .npd-comparison-table__highlight {
        background: #f0f0f0 !important;
    }

    /* Hide interactive elements in print */
    .npd-mode-toggle,
    .npd-cards,
    .npd-progress,
    .segmented-toggle {
        display: none !important;
    }

    /* Result highlight: чёрно-белый */
    .result-highlight {
        border: 1pt solid #000000 !important;
        background: #f5f5f5 !important;
        padding: 6pt 8pt !important;
        margin: 4pt 0 !important;
    }
    .result-highlight__value {
        font-size: 14pt !important;
        font-weight: bold !important;
        color: #000000 !important;
    }

    /* NPD print: скрыть hints внутри результата (лишний текст) */
    .calc-result .calc-field__hint {
        display: none !important;
    }

    /* NPD print: result cards — компактные, без фона */
    .result-card-sm {
        border: 0.5pt solid #999999 !important;
        background: #fafafa !important;
        padding: 4pt 6pt !important;
        margin: 3pt 0 !important;
        break-inside: avoid;
    }
    .result-card-sm__label {
        font-size: 8pt !important;
        color: #444444 !important;
    }
    .result-card-sm__value {
        font-size: 11pt !important;
        font-weight: bold !important;
        color: #000000 !important;
    }

    /* NPD print: bonus bar — только текст */
    .npd-bonus-bar__header {
        font-size: 9pt !important;
    }

    /* NPD print: distribution — компактная */
    .npd-distribution__label {
        font-size: 8pt !important;
        color: #444444 !important;
    }
    .npd-distribution__value {
        font-size: 9pt !important;
        font-weight: bold !important;
    }

    /* NPD print: result grid — одна колонка для компактности */
    .result-grid:not(.no-print) {
        display: block !important;
    }
    .result-card-sm:not(.no-print) {
        display: block !important;
        width: 100% !important;
    }

    /* ===== Calc-specific: Сумма прописью ===== */
    /* ===== Amount Text print ===== */
    .amount-text-input-wrapper,
    .amount-text-clear-btn,
    .amount-text-hint,
    .amount-text-error {
        display: none !important;
    }

    .amount-text-results {
        display: block !important;
        margin: 0 !important;
    }

    .amount-text-result-card {
        border: 0.75pt solid #999999 !important;
        background: #fafafa !important;
        padding: 8pt 10pt !important;
        margin-bottom: 6pt !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .amount-text-result-card__label {
        font-size: 8pt !important;
        text-transform: uppercase;
        letter-spacing: 0.3pt;
        color: #444444 !important;
        margin-bottom: 3pt !important;
    }

    .amount-text-result-card__value {
        font-size: 11pt !important;
        color: #000000 !important;
        line-height: 1.4 !important;
    }

    .amount-text-result-card__copy {
        display: none !important;
    }

    /* ===== Details expanding for print ===== */
    /* ---- Calc-info-section (detail calc) — visible in print ---- */
    .calc-info-section:not(.no-print) {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
        border: 0.5pt solid #999999 !important;
        padding: 4pt 6pt !important;
        margin: 4pt 0 !important;
    }
    .calc-info-section:not(.no-print) > .calc-info-section__title {
        font-size: 10pt !important;
        font-weight: bold !important;
        margin-bottom: 3pt !important;
    }
    .calc-info-section__body {
        font-size: 9pt !important;
    }
    .calc-info-section__body p {
        margin: 2pt 0 !important;
    }
    .calc-info-section__body code {
        font-size: 8pt !important;
        font-family: 'Courier New', monospace !important;
    }
    .calc-info-section__note {
        font-size: 8pt !important;
        color: #555555 !important;
    }
    .calc-info-section details:not([open]) {
        display: none !important;
    }
    .calc-info-section details[open] {
        display: block !important;
    }
    .calc-info-section details[open] > summary {
        display: block !important;
        font-weight: bold !important;
        font-size: 10pt !important;
        list-style: none !important;
    }
    .calc-info-section details[open] > summary::marker {
        display: none !important;
        content: "" !important;
    }
    .calc-info-section details[open] > .calc-info-section__body {
        display: block !important;
    }

    /* ===== Details expanding for print (CSS вместо JS-клонирования) ===== */
    details {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }
    /* Allow batch periods list to break across pages (can be very long) */
    .date-diff-batch-periods {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    details > summary {
        font-weight: bold !important;
        font-size: 9pt !important;
        list-style: none !important;
    }
    details > summary::marker {
        display: none !important;
        content: "" !important;
    }
    details > summary::-webkit-details-marker {
        display: none !important;
    }
    details > *:not(summary) {
        display: block !important;
    }

    /* calc-print-visible: details с расчётными данными — видимы в печати
       (перекрывает .calc-info-details { display: none } через специфичность 0,2,0 > 0,1,0) */
    .calc-info-details.calc-print-visible {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
        margin: 6pt 0 !important;
    }
    .calc-info-details.calc-print-visible > .calc-info-section__title,
    .calc-info-details.calc-print-visible > summary {
        font-weight: bold !important;
        font-size: 10pt !important;
        color: #000000 !important;
        border-bottom: 0.5pt solid #999 !important;
        padding-bottom: 2pt !important;
        margin-bottom: 4pt !important;
        list-style: none !important;
    }
    .calc-info-details.calc-print-visible > summary::marker {
        display: none !important;
        content: "" !important;
    }
    .calc-info-details.calc-print-visible > .calc-info-section,
    .calc-info-details.calc-print-visible > .calc-info-section__body {
        display: block !important;
    }

    /* ===== Profile page print ===== */
    /* ---- Profile page print ---- */
    .profile-sidebar,
    .profile-tabs-wrap,
    .profile-tabs,
    .profile-tabs__arrow,
    .doc-card__actions,
    .doc-name__edit,
    .settings-row__toggle,
    .btn,
    .favorite-form {
        display: none !important;
    }
    .profile-content {
        width: 100% !important;
        max-width: 100% !important;
    }
    .profile-panel { width: 100% !important; max-width: 100% !important; }
    .profile-content .security-table thead { display: table-header-group !important; }
    .profile-content .security-table tr { display: table-row !important; }
    .profile-content .security-table td { display: table-cell !important; }
    .profile-content .security-table td::before { content: none !important; }
    .profile-content .security-table .doc-group-header td { display: table-cell !important; }
    .profile-content .security-table td.security-ua { word-break: normal !important; }
    .doc-card {
        border: 0.5pt solid #999999 !important;
        padding: 4pt 6pt !important;
        margin: 3pt 0 !important;
        break-inside: avoid;
    }

    /* ===== Tax Calendar print ===== */
    /* ---- Tax Calendar print ---- */
    .tax-calendar-filters { display: none !important; }
    .tax-calendar__month[data-collapsed="true"] .tax-calendar__list { display: block !important; }
    .tax-calendar__chevron { display: none !important; }
    .tax-calendar__item { border: 0.5pt solid #999; padding: 4pt 6pt; margin: 3pt 0; break-inside: avoid; }
    .tax-calendar__month-title { font-size: 12pt; font-weight: 700; cursor: default; }
    .deadline-badge { border: 0.5pt solid #666; }

    /* ===== Tickets print ===== */
    /* ---- Tickets print ---- */
    .ticket-row { border: 0.5pt solid #999; padding: 6pt; margin: 3pt 0; break-inside: avoid; }
    .ticket-badge { border: 0.5pt solid #666; }
    .ticket-messages { font-size: 10pt; }

    /* ===== Calc-specific: Страховой стаж ===== */
    /* FAQ — справочный контент сайта, в печати не нужен (форма/кнопки/side-panel
       скрыты глобальным hide-листом; таблица периодов видна через calc-print-visible) */
    .ins-seniority-faq {
        display: none !important;
    }
    /* Бейджи (МРОТ, СВО, прогноз-бейджи) — серый print-вариант */
    .ins-seniority-badge {
        display: inline-flex !important;
        border: 0.5pt solid #999999 !important;
        background: #f0f0f0 !important;
        color: #333333 !important;
        font-size: 7pt !important;
        padding: 1pt 4pt !important;
    }
    /* Строка прогноз-бейджей — не разрывать (цвета наследуются от .ins-seniority-badge) */
    .ins-seniority-forecast {
        break-inside: avoid !important;
    }
    /* Warnings и карточка «Что не вошло» — серый print-вариант */
    .ins-seniority-warning,
    .ins-seniority-excluded {
        background: #f5f5f5 !important;
        border: 0.5pt solid #999999 !important;
        color: #000000 !important;
        font-size: 8pt !important;
        padding: 3pt 5pt !important;
    }
    .ins-seniority-excluded__title {
        color: #333333 !important;
        font-size: 8pt !important;
    }
    .ins-seniority-excluded__list {
        font-size: 8pt !important;
    }
    /* Строка «Всего зачтено» — чёрный текст */
    .ins-seniority-total {
        color: #333333 !important;
        font-size: 9pt !important;
    }
    .ins-seniority-total strong {
        color: #000000 !important;
    }
    /* Таблица периодов */
    .ins-seniority-table {
        font-size: 9pt !important;
    }
    /* C6: override глобального details { break-inside: avoid } — таблица периодов
       потенциально длинная (до 100 строк), пусть разрывается (thead повторяется) */
    .ins-seniority-details {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    /* Подпись «не хватает» в карточке пенсии */
    .ins-seniority-card-sub {
        color: #444444 !important;
        font-size: 8pt !important;
    }

    /* ===== Calc-specific: Алименты ===== */
    /* ---- Alimony calculator print ---- */
    .calc-mode-toggle,
    .alimony-profi-fields,
    .calc-empty-state,
    .info-tooltip,
    .calc-field__hint,
    .alimony-details > summary,
    .alimony-progress {
        display: none !important;
    }

    /* Badge: visible in print */
    .badge-manual {
        display: inline-flex !important;
        border: 0.5pt solid #999999 !important;
        background: #f0f0f0 !important;
        color: #333333 !important;
        font-size: 7pt !important;
    }

    /* Details: open for print, hide summary triangle */
    .alimony-details {
        display: block !important;
        break-inside: avoid;
        page-break-inside: avoid;
        break-before: page;
    }

    .alimony-details > .calc-details__body {
        display: block !important;
        font-size: 9pt !important;
        color: #000000 !important;
    }

    .alimony-details .calc-details__sub {
        color: #444444 !important;
        font-size: 8pt !important;
    }

    .alimony-details .calc-details__source {
        color: #666666 !important;
        font-size: 7pt !important;
        border-top: 0.5pt solid #cccccc !important;
    }

    /* Side panel: only sources visible in print */
    .side-panel .side-panel__collapsible {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .side-panel .side-panel__collapsible > summary {
        font-size: 10pt !important;
        font-weight: 700 !important;
        color: #000000 !important;
    }

    .side-panel .side-panel__list {
        font-size: 8pt !important;
        color: #333333 !important;
    }

    .side-panel .side-panel__list li {
        break-inside: avoid;
    }

    /* ===== Страница прайса (/price) — «прейскурант-документ» ===== */
    /* Печать = чистый каталог ОБОИХ направлений + контакты.
       Скрываем: переключатель частей А/Б, индекс разделов + поиск, типовые
       наборы, калькулятор стоимости (Приложение № 1 — интерактив, на бумаге
       мёртв), sticky-bar, форму-отрывную часть, декор документа (водяной
       знак, розетка, пробойники, сгиб, QR, подписи/штамп), баннер партнёра,
       контролы выбора. «по запросу»-строки печатаются как есть. */
    .price-doc__parts,
    .price-doc__toolbar,
    .price-search-empty,
    .price-sets,
    .price-estimate,
    .price-bar,
    .price-slip,
    .price-doc__watermark,
    .price-doc__rosette,
    .price-doc__punch,
    .price-doc__fold,
    .price-doc__qr,
    .price-doc__footer,
    .price-partner-doc,
    .price-row__toggle,
    .price-row__qty,
    .price-row-group__toggle,
    .price-row-group__chevron {
        display: none !important;
    }

    /* Бумага → чистый лист: без фона/тени/отступов документа */
    .price-doc {
        background: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: none !important;
    }

    /* Отступ под sticky-bar ставится JS инлайном — на печати не нужен */
    .price-page {
        padding-bottom: 0 !important;
    }

    /* Оба направления видны всегда (табы на экране переключают панели) */
    .price-tab-panel {
        display: block !important;
    }

    /* Юр-аккордеон раскрыт (beforeprint-хук в шаблоне + дубль-гарант) */
    .price-jur-cat {
        border: none !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    .price-jur-cat .price-rows {
        padding: 0 !important;
    }
    .price-jur-cat__summary {
        font-size: 11pt !important;
        cursor: default;
    }
    .price-jur-cat__chevron {
        display: none !important;
    }

    /* Строки-группы режимов раскрыты (beforeprint-хук в шаблоне) */
    .price-row-group {
        border: none !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    .price-row-group__summary {
        cursor: default;
        padding: 3pt 0 !important;
    }
    .price-row-group__price b {
        font-size: 10pt !important;
        color: #000000 !important;
    }
    .price-row-group__price i {
        font-size: 8pt !important;
        color: #333333 !important;
    }
    .price-rows--group {
        padding: 0 0 0 14pt !important;
    }

    .price-doc__head {
        border-bottom: 1.5pt solid #000000 !important;
    }
    .price-doc__title {
        font-size: 18pt !important;
    }
    .price-doc__docline {
        border-bottom: 0.5pt dashed #999999 !important;
    }

    .price-section-doc {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
    .price-section-doc__title {
        font-size: 11pt !important;
    }
    .price-section-doc__title::after {
        background: #000000 !important;
    }

    .price-row {
        break-inside: avoid;
        padding: 3pt 0 !important;
        border-bottom: 0.5pt solid #cccccc !important;
    }
    .price-row__name {
        font-size: 9pt !important;
    }
    .price-row__desc {
        font-size: 8pt !important;
        color: #333333 !important;
    }
    .price-row__dots {
        border-bottom-color: #999999 !important;
    }
    .price-row__price b {
        font-size: 10pt !important;
        color: #000000 !important;
    }
    .price-row__price i,
    .price-row__ask {
        font-size: 8pt !important;
        color: #333333 !important;
    }

    .price-empty {
        border: none !important;
        background: none !important;
        color: #333333 !important;
        font-size: 9pt !important;
        padding: 8pt 0 !important;
    }

    /* SEO-блок режимов (Р3) — текст-описание, на печати виден */
    .price-regimes-note {
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin-top: 8pt !important;
    }
    .price-regimes-note__title {
        font-size: 11pt !important;
    }
    .price-regimes-note__title::after {
        background: #000000 !important;
    }
    .price-regimes-note__text {
        font-size: 9pt !important;
        color: #333333 !important;
    }
    .price-regimes-note__list {
        font-size: 9pt !important;
        color: #000000 !important;
    }

    /* Примечания-FAQ (В5) — на печати раскрыты (beforeprint-хук шаблона) */
    .price-faq {
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin-top: 8pt !important;
    }
    .price-faq__title {
        font-size: 11pt !important;
    }
    .price-faq__title::after {
        background: #000000 !important;
    }
    .price-faq__item {
        break-inside: avoid;
        border-bottom: 0.5pt solid #cccccc !important;
    }
    .price-faq__q {
        font-size: 9pt !important;
        cursor: default;
        padding: 3pt 0 !important;
    }
    .price-faq__chevron {
        display: none !important;
    }
    .price-faq__a {
        font-size: 8pt !important;
        color: #333333 !important;
        padding: 0 0 4pt 8pt !important;
    }
    .price-faq__seo p {
        font-size: 8pt !important;
        color: #333333 !important;
    }

    .price-print-contacts {
        margin-top: 10pt !important;
        padding-top: 4pt !important;
        border-top: 0.5pt solid #999999 !important;
        font-size: 9pt !important;
        color: #333333 !important;
        text-align: center;
    }

    /* ===== Calc-specific: Плановая калькуляция (plancalc) ===== */
    /* Форма/навигатор/кнопки/side-panel — глобальные hide-правила; alerts вне .calc-result
       (wrapper у wide-layout) — глобально скрыты (конвенция nagruzka); copy-hint — глобально */
    .plancalc-hero--sticky {
        position: static !important;
    }
    .plancalc-hero {
        border: 1.5pt solid #000000 !important;
        box-shadow: none !important;
        background: none !important;
        break-inside: avoid;
        text-align: center;  /* официальная форма: цена по центру */
    }
    .plancalc-hero__value {
        font-size: 20pt !important;
        color: #000000 !important;
    }
    .plancalc-hero__label,
    .plancalc-hero__sub {
        color: #333333 !important;
    }
    .plancalc-hero__warning {
        color: #000000 !important;
        text-align: left;
    }
    /* Заголовок таблицы не отрывается от самой таблицы между страницами */
    .plancalc-subtitle {
        break-after: avoid;
        page-break-after: avoid;
    }
    /* Светофор-бейдж (цветной) — не печатаем: аналитика остаётся в таблице итогов */
    .plancalc-health {
        display: none !important;
    }
    .plancalc-result-grid--4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 6pt !important;
    }
    .plancalc-result-grid--4 .result-card-sm {
        box-shadow: none !important;
        border: 0.5pt solid #999999 !important;
        background: none !important;
    }
    .plancalc-cardnote {
        color: #555555 !important;
    }
    .plancalc-table__custom {
        border-color: #666666 !important;
        color: #333333 !important;
    }
    .plancalc-analytics {
        background: none !important;
        border-color: #999999 !important;
        break-inside: avoid;
    }
    .plancalc-analytics__label {
        color: #555555 !important;
    }
    .plancalc-analytics__value {
        color: #000000 !important;
    }
    .plancalc-notes {
        break-inside: avoid;
    }
    .plancalc-notes__list,
    .plancalc-notes__list a {
        color: #333333 !important;
    }
    /* Блок подписей официальной формы «Плановая калькуляция» (6.5 п.8 плана) */
    .plancalc-sign {
        margin-top: 24pt !important;
        break-inside: avoid;
        font-size: 10pt !important;
    }
    .plancalc-sign__row {
        display: flex;
        align-items: baseline;
        gap: 12pt;
    }
    .plancalc-sign__role {
        font-weight: bold;
    }
    .plancalc-sign__mp {
        margin-left: 24pt;
    }
    /* Табы plancalc — панели раскрыты в печати (C3b снимает hidden в calculator_base),
       навигация табов и панель «Сценарии» скрыты классом no-print в разметке */
    .plancalc-tabs__panel {
        padding-top: 8pt !important;
    }
    .plancalc-chart {
        break-inside: avoid;
        margin-bottom: 10pt;
    }
    /* Графики на бумаге: скролл-полоса бессмысленна (canvas — растр), ширина — по странице.
       Canvas с inline-размерами от экрана (1352px) масштабируется под печатную ширину,
       height:auto — без искажения пропорций */
    .plancalc-chart-scroll {
        overflow: visible !important;
    }
    .plancalc-chart canvas {
        max-width: 100% !important;
        height: auto !important;
    }
    .plancalc-chart-note,
    .plancalc-compare__lead {
        color: #555555 !important;
    }
    .plancalc-compare__badge {
        border-color: #666666 !important;
        color: #333333 !important;
    }
    .plancalc-compare__reason {
        color: #333333 !important;
    }
    .plancalc-cvp__cards .result-card-sm {
        box-shadow: none !important;
        border: 0.5pt solid #999999 !important;
        background: none !important;
    }

    /* ===== Документы («Стол документа») ===== */
    .doc-studio {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }
    .doc-desk {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: visible !important;
    }
    .doc-paper-wrap {
        display: block !important;
        width: 100% !important;
        /* ⚠ inline height от applyZoom (JS) — убить, иначе паразитная 2-я страница */
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }
    .doc-paper-wrap[hidden] {
        display: none !important;
    }
}
