/* Печать. Два разных бланка:
   .sheet-week  — недельная рапортичка, альбомный лист;
   .sheet-rep   — сводка отчёта, книжный лист.
   На экране оба спрятаны и появляются только при печати.
   Автор: Шуряев Александр */

.sheet { display: none; }

@media screen {
  .sheet { display: none !important; }
}

@media print {
  .noprint, .rail, .toast, .modal-bg { display: none !important; }

  html, body {
    background: #fff !important;
    color: #000 !important;
    font-size: 10pt;
    font-family: var(--font-ui);
  }
  body::before { display: none !important; }
  main { display: none !important; }
  .shell { display: block; }

  .sheet { display: block !important; }
  .sheet.hide { display: none !important; }

  /* --- ведомость посещения: бланк повторяет бумажную форму колледжа --- */
  .vedom {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
    font-family: "Times New Roman", Times, serif;
    font-size: 8pt;
  }
  .vedom td, .vedom th {
    border: 0.5pt solid #000;
    padding: 0 1pt;
    text-align: center;
    vertical-align: middle;
    overflow: hidden;
  }
  /* внешний контур и границы дней — толще, как в исходном бланке */
  .vedom { border: 1.2pt solid #000; }
  .vedom .dsep { border-left: 1.2pt solid #000; }

  .vedom tr.ttl td {
    border: 1.2pt solid #000;
    font-size: 11pt;
    padding: 3pt 4pt;
    text-align: center;
  }
  .vedom tr.hd td, .vedom tr.hd th {
    font-weight: 400;
    font-size: 8pt;
    padding: 2pt 1pt;
    line-height: 1.15;
    border-top: 1.2pt solid #000;
    border-bottom: 1.2pt solid #000;
  }
  .vedom th.day .dt { font-size: 7.5pt; }
  .vedom th.fio { font-size: 9pt; }
  .vedom th.nn, .vedom td.nn { font-size: 8pt; }

  .vedom td.fio {
    text-align: left;
    padding-left: 3pt;
    font-size: 8.5pt;
    white-space: nowrap;
  }
  .vedom tbody tr { height: 5.1mm; }
  .vedom td.off { background: #d9d9d9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .vedom td.tot { font-weight: 600; }

  .vedom tr.r-tall { height: 14mm; }
  .vedom tr.r-mid { height: 6mm; }
  .vedom tr.r-low { height: 5.2mm; }
  .vedom td.lbl {
    text-align: center;
    font-size: 8.5pt;
    border-top: 1.2pt solid #000;
  }
  .vedom tr.r-mid td.lbl, .vedom tr.r-low td.lbl { border-top: 0.5pt solid #000; }
  .vedom td.free { border-top: 1.2pt solid #000; }
  .vedom tr.r-mid td.free, .vedom tr.r-low td.free { border-top: 0.5pt solid #000; }
  .vedom td.nm { text-align: center; font-size: 9pt; }

  /* --- ведомость по одной дисциплине --- */
  .sheet-subj { font-family: "Times New Roman", Times, serif; }
  .sheet-subj .ph { margin-bottom: 6pt; }
  .sheet-subj .ph h1 { margin: 0 0 2pt; font-size: 12pt; font-weight: 700; text-align: center; }
  .sheet-subj .ph .sub { text-align: center; font-size: 9.5pt; margin-bottom: 5pt; }

  .vedom.subj { font-size: 8.5pt; }
  .vedom.subj th.dcol { font-size: 8pt; padding: 2pt 0; }
  .vedom.subj th.pcol { font-size: 7pt; color: #333; padding: 1pt 0; }
  .vedom.subj tbody tr { height: 5.4mm; }
  .vedom.subj tr.sumrow td { border-top: 1.2pt solid #000; }
  .vedom.subj td.off { background: #d9d9d9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  .sheet-subj .legend-p { margin-top: 6pt; font-size: 8pt; display: flex; gap: 14pt; flex-wrap: wrap; }
  .sheet-subj .sign { margin-top: 14pt; }
  .sheet-subj .sign .ln {
    border-bottom: 0.5pt solid #000;
    height: 14pt;
    margin-bottom: 2pt;
    font-size: 9pt;
    text-align: center;
    padding-top: 2pt;
  }

  /* --- сводка за период: обычный книжный лист --- */
  .sheet-rep { font-family: "Times New Roman", Times, serif; }
  .sheet-rep .ph { margin-bottom: 8pt; }
  .sheet-rep .ph h1 { margin: 0 0 3pt; font-size: 14pt; font-weight: 700; text-align: center; }
  .sheet-rep .ph .sub { text-align: center; font-size: 10pt; margin-bottom: 6pt; }
  .sheet-rep table { border-collapse: collapse; width: 100%; page-break-inside: auto; }
  .sheet-rep th, .sheet-rep td {
    border: 0.5pt solid #000;
    padding: 2pt 3pt;
    font-size: 8.5pt;
    text-align: center;
    vertical-align: middle;
  }
  .sheet-rep th { background: #ececec !important; font-weight: 600; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .sheet-rep td.who, .sheet-rep th.who { text-align: left; white-space: nowrap; }
  .sheet-rep td.nn, .sheet-rep th.nn { width: 18pt; }
  .sheet-rep tr { page-break-inside: avoid; }
  .sheet-rep thead { display: table-header-group; }

  .sign { margin-top: 12pt; display: flex; justify-content: space-between; gap: 20pt; font-size: 9.5pt; }
  .sign .fld { flex: 1; }
  .sign .ln { border-bottom: 0.5pt solid #000; height: 14pt; margin-bottom: 2pt; }
  .sign .cap { font-size: 8pt; color: #333; text-align: center; }

  .pfoot {
    margin-top: 10pt;
    border-top: 0.5pt solid #999;
    padding-top: 4pt;
    font-size: 7.5pt;
    color: #444;
    display: flex;
    justify-content: space-between;
  }

  .sheet h2 { font-size: 11pt; margin: 10pt 0 5pt; page-break-after: avoid; }
  .sheet .cards { display: flex; gap: 8pt; margin-bottom: 8pt; }
  .sheet .cards div { flex: 1; border: 0.5pt solid #000; padding: 4pt 6pt; }
  .sheet .cards .k { font-size: 7.5pt; color: #333; }
  .sheet .cards .v { font-size: 13pt; font-weight: 700; }

  .pagebreak { page-break-before: always; }
}

@page { margin: 10mm 8mm; }

/* Недельная рапортичка помещается только поперёк листа. */
body.print-week { }
@media print {
  body.print-week .sheet-rep, body.print-week .sheet-subj { display: none !important; }
  body.print-rep .sheet-week, body.print-rep .sheet-subj { display: none !important; }
  body.print-subj .sheet-week, body.print-subj .sheet-rep { display: none !important; }
}
