/* static/css/print.css */

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 10mm 10mm 15mm;
  }

  /* 1. Скрываем весь веб-интерфейс и служебные элементы */
  header,
  nav,
  aside,
  footer,
  .navbar,
  .no-print,
  .toast,
  .developer-toolbar,
  .toolbar,
  #app_tabs_bar,
  [data-theme] > header,
  body > div:has(#app_tabs_bar),
  body > div:has(header),
  body > div:has(nav),
  button,
  .btn,
  select,
  svg,
  i[class*="bi-"],
  input[type="checkbox"],
  .checkbox,
  th:has(input[type="checkbox"]),
  td:has(input[type="checkbox"]) {
    display: none !important;
  }

  /* 2. Базовые настройки страницы */
  html,
  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-family: Arial, sans-serif;
    font-size: 10pt !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Сброс внешних оберток */
  main,
  div:has(> .print-sheet) {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  /* 3. Печатный лист */
  .print-sheet {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .print-sheet *,
  .print-header *,
  .print-body * {
    color: #000000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .print-header {
    margin-bottom: 12px !important;
  }

  /* 4. Все таблицы на всех страницах (и отчёты, и печатные бланки) */
  table:not(.no-border) {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
  }

  thead {
    display: table-header-group !important;
  }

  tbody {
    display: table-row-group !important;
  }

  tfoot {
    display: table-footer-group !important;
    font-weight: bold !important;
  }

  tr {
    display: table-row !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  table:not(.no-border) th,
  table:not(.no-border) td {
    display: table-cell !important;
    border: 1px solid #000000 !important;
    color: #000000 !important;
    padding: 4px 6px !important;
    background: transparent !important;
  }

  thead th {
    background-color: #f2f2f2 !important;
    font-weight: bold !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Таблицы без границ (для подписей и реквизитов сторон) */
table.no-border,
  table.no-border th,
  table.no-border td {
    border: none !important;
    text-align: left !important;
    vertical-align: top !important;
  }
  .print-border {
    border-color: #000000 !important;
  }

  /* 5. Текстовые и числовые инпуты как плоский текст */
  input:not([type="checkbox"]) {
    display: inline-block !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    color: #000000 !important;
    text-align: right !important;
  }
}