/* =====================================================================
   print.css — style WSPÓŁDZIELONE / ZAPASOWE dla wydruku planu lekcji
   ---------------------------------------------------------------------
   Główny dokument druku generowany przez js/print.js ma style INLINE,
   żeby okno było w pełni samodzielne (działa z file:// i bez sieci).
   Ten plik jest dodatkiem:
     • można go podlinkować w oknie druku jako wzmocnienie,
     • przydaje się, gdyby ktoś chciał drukować plan bezpośrednio
       z głównej aplikacji (kontener .printplan-root).
   Wszystkie reguły są zakresowane pod .printplan-root, żeby NIE kolidować
   ze stylami aplikacji (css/styles.css).
   ===================================================================== */

.printplan-root {
  --pp-ink: #1b2230;
  --pp-ink-soft: #5a6478;
  --pp-line: #c9d0dc;
  --pp-line-soft: #e6eaf1;
  --pp-accent: #1f6fd4;
  --pp-accent-soft: #eef4fc;
  --pp-paper: #ffffff;
  --pp-empty: #fafbfd;

  color: var(--pp-ink);
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.printplan-root * { box-sizing: border-box; }

/* ---- strona jednej klasy ---- */
.printplan-root .page {
  position: relative;
  background: var(--pp-paper);
  width: 100%;
  margin: 0 auto 22px;
  padding: 26px 30px;
  border-radius: 6px;
  box-shadow: 0 4px 24px rgba(20, 30, 55, .10);
}

/* ---- nagłówek strony ---- */
.printplan-root .page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--pp-ink);
}
.printplan-root .ph-title { font-size: 17px; font-weight: 800; line-height: 1.2; }
.printplan-root .ph-sub { font-size: 12px; color: var(--pp-ink-soft); margin-top: 3px; }
.printplan-root .ph-class { text-align: right; flex: none; }
.printplan-root .ph-class-badge {
  display: inline-block;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  padding: 6px 14px;
  border: 2px solid var(--pp-accent);
  border-radius: 10px;
  color: var(--pp-accent);
}
.printplan-root .ph-date { font-size: 11px; color: var(--pp-ink-soft); margin-top: 6px; }

/* ---- pasek meta (sala / wychowawca / uczniowie) ---- */
.printplan-root .page-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  font-size: 12px;
  color: var(--pp-ink-soft);
  margin: 10px 0 14px;
}
.printplan-root .page-meta strong { color: var(--pp-ink); font-weight: 700; }
.printplan-root .page-meta .sep { color: var(--pp-line); }

/* ---- tabela tygodniowa ---- */
.printplan-root .plan-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.printplan-root .plan-table th,
.printplan-root .plan-table td {
  border: 1px solid var(--pp-line);
  vertical-align: middle;
}
.printplan-root .plan-table thead th {
  background: var(--pp-accent-soft);
  color: var(--pp-ink);
  font-size: 12px;
  font-weight: 700;
  padding: 8px 4px;
  text-align: center;
  border-bottom: 1.5px solid var(--pp-accent);
}
.printplan-root .th-num { width: 34px; }
.printplan-root .th-time { width: 78px; }

.printplan-root .td-num {
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  color: var(--pp-ink-soft);
  background: var(--pp-accent-soft);
}
.printplan-root .td-time {
  text-align: center;
  font-size: 10.5px;
  color: var(--pp-ink-soft);
  white-space: nowrap;
  background: var(--pp-accent-soft);
  line-height: 1.25;
}
.printplan-root .td-time .dash { margin: 0 1px; }

/* ---- komórka lekcji ---- */
.printplan-root .cell {
  height: 46px;
  padding: 4px 5px;
  text-align: center;
  line-height: 1.15;
}
.printplan-root .cell.empty { background: var(--pp-empty); }
.printplan-root .cell .c-subj { display: block; font-size: 13.5px; font-weight: 700; color: var(--pp-ink); }
.printplan-root .cell .c-meta { display: block; font-size: 10px; color: var(--pp-ink-soft); margin-top: 2px; }
.printplan-root .cell .c-tch { font-weight: 600; }
.printplan-root .cell .c-room { margin-left: 5px; }
.printplan-root .cell .note-dot { color: var(--pp-accent); font-weight: 800; }
.printplan-root .cell.multi { padding: 2px 4px; }
.printplan-root .c-split { border: none; border-top: 1px dashed var(--pp-line-soft); margin: 3px 0; }

/* ---- stopka strony ---- */
.printplan-root .page-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--pp-line-soft);
  font-size: 10px;
  color: var(--pp-ink-soft);
}
.printplan-root .pf-page { font-weight: 600; white-space: nowrap; }

/* =====================================================================
   DRUK — A4 pionowy, każda klasa na osobnej stronie, bez łamania wierszy
   ===================================================================== */
@media print {
  @page { size: A4 portrait; margin: 12mm 10mm; }

  .printplan-root .page {
    box-shadow: none;
    border-radius: 0;
    margin: 0;
    padding: 0;
    width: auto;
    page-break-after: always;
    break-after: page;
  }
  .printplan-root .page:last-child {
    page-break-after: auto;
    break-after: auto;
  }
  .printplan-root .plan-table { page-break-inside: avoid; }
  .printplan-root .plan-table tr,
  .printplan-root .plan-table thead {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .printplan-root .plan-table thead { display: table-header-group; }
  .printplan-root .cell { height: auto; min-height: 42px; }

  /* elementy które nie mają iść na papier */
  .printplan-root .pp-noprint { display: none !important; }
}
