.lesson-print-toolbar {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 24px;
  align-items: center;
  margin: 30px 0 18px;
  padding: 24px 26px 24px 30px;
  overflow: hidden;
  border: 1px solid #57e38955;
  border-radius: 14px;
  background:
    linear-gradient(90deg, #57e389 0 5px, transparent 5px),
    repeating-linear-gradient(135deg, transparent 0 18px, #ffffff05 18px 19px),
    #111923;
}

.lesson-print-toolbar h3,
.lesson-print-toolbar p { margin: 0; }
.lesson-print-toolbar h3 { font-size: 23px; }
.lesson-print-toolbar > div > p:last-child { margin-top: 8px; color: var(--muted); font-size: 14px; }
.lesson-pack-kicker { color: var(--green); font: 800 10.5px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.lesson-print-status { grid-column: 1 / -1; min-height: 0; color: var(--green); font: 700 12px var(--mono); }
.lesson-print-status:empty { display: none; }

.lesson-print-button {
  min-width: 190px;
  padding: 15px 18px;
  border: 0;
  border-radius: 10px;
  background: var(--green);
  color: #07130b;
  cursor: pointer;
  font-family: var(--body-font);
  text-align: left;
  box-shadow: 0 8px 28px #0005;
}

.lesson-print-button span,
.lesson-print-button small { display: block; }
.lesson-print-button span { font-weight: 850; font-size: 14px; }
.lesson-print-button small { margin-top: 2px; opacity: .72; }
.lesson-print-button:hover { filter: brightness(1.07); transform: translateY(-1px); }
.lesson-print-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.lesson-print-button[aria-busy="true"] { cursor: wait; opacity: .78; }
.lesson-print-actions { display: grid; gap: 11px; }
.lesson-pdf-link { display: block; padding: 7px 3px; color: var(--green); font: 800 12px var(--mono); line-height: 1.45; text-align: center; text-underline-offset: 4px; }
.lesson-pdf-link:hover { color: #fff; }
.lesson-pdf-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.lesson-extension { margin-top: 26px; }
.lesson-extension::before { background: linear-gradient(#f6c344, var(--red)); }
.lesson-extension .runway-time { color: #f6c344; }

.teacher-pack-intro { margin-bottom: 34px; }
.pack-sheet {
  --paper: #f5f1e8;
  --ink: #13171b;
  --soft-ink: #4b5359;
  --paper-line: #b8b3aa;
  position: relative;
  margin: 0 0 34px;
  padding: 34px;
  overflow: hidden;
  border: 1px solid #d8d1c5;
  border-radius: 4px;
  background:
    linear-gradient(90deg, transparent 0 97%, #e11d2e 97% 100%),
    repeating-linear-gradient(0deg, transparent 0 31px, #15191d09 31px 32px),
    var(--paper);
  color: var(--ink);
  box-shadow: 0 24px 70px #0007;
}

.pack-sheet::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: repeating-linear-gradient(180deg, var(--ink) 0 18px, var(--paper) 18px 28px);
}

.pack-sheet h3,
.pack-sheet h4,
.pack-sheet strong,
.pack-sheet b { color: var(--ink); }
.pack-sheet h3 { margin: 24px 0 20px; font-size: 29px; line-height: 1.05; }
.pack-sheet h4 { margin: 0 0 10px; font: 800 12px var(--mono); letter-spacing: .08em; text-transform: uppercase; }

.pack-sheet-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ink);
}

.pack-sheet-head div { display: flex; gap: 10px; align-items: center; }
.pack-sheet-head span { padding: 4px 7px; background: var(--ink); color: var(--paper); font: 800 10px var(--mono); letter-spacing: .1em; }
.pack-sheet-head p { margin: 0; color: var(--soft-ink); font: 700 10px var(--mono); text-transform: uppercase; }
.pack-sheet-head strong { font: 850 16px var(--display); }

.pack-fields { display: grid; gap: 16px; margin: 16px 0 24px; }
.pack-fields-three { grid-template-columns: 1.4fr 1fr 1fr; }
.pack-fields .paper-field { color: var(--soft-ink); font: 700 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.pack-fields .paper-field span { display: block; min-height: 22px; border-bottom: 1px solid var(--ink); }

.pack-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 18px 0 24px; }
.pack-checklist { list-style: none; margin: 0; padding: 0; }
.pack-checklist li { display: grid; grid-template-columns: 20px 1fr; gap: 5px; padding: 5px 0; color: var(--ink); font-size: 12px; line-height: 1.35; border-bottom: 1px dotted var(--paper-line); }
.pack-checklist li span { font: 900 15px var(--mono); }
.pack-alerts li span { color: #a20d22; }

.pack-sheet table {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--ink);
  background: #fff9;
  color: var(--ink);
  table-layout: fixed;
  font-size: 11px;
  line-height: 1.3;
}

.pack-sheet th,
.pack-sheet td { padding: 8px 9px; border: 1px solid var(--paper-line); color: var(--ink); }
.pack-sheet th { background: var(--ink); color: var(--paper); font-size: 9px; }
.pack-sheet td:first-child { color: var(--ink); }
.pack-timeline th:first-child { width: 14%; }
.pack-timeline th:nth-child(2) { width: 28%; }
.pack-timeline th:last-child { width: 8%; text-align: center; }
.pack-timeline td:last-child { text-align: center; font-size: 16px; }

.pilot-row {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto 1fr;
  gap: 8px;
  align-items: end;
  margin: 0 0 20px;
  color: var(--soft-ink);
  font-size: 11px;
}

.pilot-row i { min-height: 18px; border-bottom: 1px solid var(--ink); }
.observation-table th:first-child { width: 14%; }
.observation-table td:not(:first-child) { font-size: 9px; }

.flight-plan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
  margin-top: 22px;
}

.flight-plan-grid > div { min-height: 74px; }
.flight-plan-grid b { display: block; font: 800 10px var(--mono); text-transform: uppercase; }
.flight-plan-grid span,
.teacher-note-lines span { display: block; height: 22px; border-bottom: 1px dotted var(--soft-ink); }

.three-point-plan { margin-top: 24px; padding-top: 16px; border-top: 2px solid var(--ink); }
.three-point-plan > div { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.three-point-plan article { display: grid; gap: 4px; }
.three-point-plan article > b { font: 850 11px var(--mono); text-transform: uppercase; }
.three-point-plan .plan-line { display: grid; grid-template-columns: 150px 1fr; gap: 8px; align-items: end; color: var(--soft-ink); font-size: 10px; }
.three-point-plan .plan-line span { display: block; min-height: 17px; border-bottom: 1px dotted var(--soft-ink); }

.score-sheet th:first-child { width: 20%; }
.score-sheet th:nth-child(2) { width: 48%; }
.score-sheet th:nth-child(n+3),
.score-sheet td:nth-child(n+3) { width: 16%; text-align: center; }
.score-total td { height: 34px; font-weight: 850; }

.exit-tickets { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 24px 0; }
.exit-tickets article { padding: 15px; border: 1px dashed var(--ink); }
.exit-tickets article > span { display: block; margin-bottom: 13px; color: var(--ink); font: 850 11px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.exit-tickets p { margin: 8px 0 0; color: var(--soft-ink); font-size: 11px; }
.exit-tickets i { display: block; height: 21px; border-bottom: 1px dotted var(--soft-ink); }
.teacher-note-lines { margin-top: 16px; }
.teacher-note-lines b { font: 800 10px var(--mono); text-transform: uppercase; }

.paper-fallback-intro { margin: 0 0 18px; color: var(--soft-ink); font-size: 12px; line-height: 1.5; }
.paper-fallback-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.paper-fallback-grid article { display: grid; gap: 9px; min-height: 123px; padding: 14px 16px; border: 1px solid var(--ink); background: #fff9; }
.paper-fallback-grid b { font: 850 13px var(--display); }
.paper-fallback-grid span { color: var(--soft-ink); font: 700 11px var(--mono); }
.paper-fallback-sequence { margin-top: 18px; padding: 16px; border: 2px solid var(--ink); }
.paper-fallback-sequence h4 { margin-bottom: 6px; }
.paper-fallback-sequence p,
.paper-fallback-key p,
.paper-fallback-exit p { margin: 0; color: var(--soft-ink); font-size: 11px; line-height: 1.5; }
.paper-fallback-blanks { display: flex; flex-wrap: wrap; gap: 14px; margin: 15px 0; color: var(--ink); font: 700 11px var(--mono); }
.paper-fallback-key,
.paper-fallback-exit { margin-top: 16px; padding: 13px 16px; border-left: 3px solid var(--ink); background: #fff9; }
.paper-fallback-key b,
.paper-fallback-exit b { display: block; margin-bottom: 5px; font: 800 11px var(--mono); text-transform: uppercase; }

.pack-sheet-foot {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
  padding-top: 10px;
  border-top: 1px solid var(--ink);
  color: var(--soft-ink);
  font: 700 8.5px var(--mono);
}

@media (max-width: 620px) {
  .lesson-print-toolbar { grid-template-columns: 1fr; padding: 21px 20px 21px 25px; }
  .lesson-print-button { width: 100%; }
  .pack-sheet { padding: 24px 20px 24px 26px; }
  .pack-sheet h3 { font-size: 24px; }
  .pack-sheet-head { display: grid; align-items: start; }
  .pack-sheet-head strong { grid-row: 1; }
  .pack-fields-three,
  .pack-columns,
  .flight-plan-grid,
  .exit-tickets,
  .three-point-plan > div { grid-template-columns: 1fr; }
  .pilot-row { grid-template-columns: auto auto 1fr; }
  .pack-sheet table,
  .pack-sheet tbody,
  .pack-sheet tr,
  .pack-sheet td { display: block; width: 100%; min-width: 0; }
  .pack-sheet thead { display: none; }
  .pack-sheet tbody { padding: 4px 11px; }
  .pack-sheet tr { padding: 9px 0; border-bottom: 1px solid var(--paper-line); }
  .pack-sheet tr:last-child { border-bottom: 0; }
  .pack-sheet td {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 10px;
    padding: 5px 0;
    border: 0;
    text-align: left !important;
  }
  .pack-sheet td::before { color: var(--soft-ink); font: 800 8px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
  .pack-timeline td:nth-child(1)::before { content: "Minuty"; }
  .pack-timeline td:nth-child(2)::before { content: "Etap"; }
  .pack-timeline td:nth-child(3)::before { content: "Gotowe, gdy"; }
  .pack-timeline td:nth-child(4)::before { content: "Status"; }
  .observation-table td:nth-child(1)::before { content: "Pilot / próba"; }
  .observation-table td:nth-child(2)::before { content: "Spokojny start"; }
  .observation-table td:nth-child(3)::before { content: "Kierunek nosa"; }
  .observation-table td:nth-child(4)::before { content: "Linia do bramki"; }
  .observation-table td:nth-child(5)::before { content: "Powrót po błędzie"; }
  .score-sheet td:nth-child(1)::before { content: "Kryterium"; }
  .score-sheet td:nth-child(2)::before { content: "2 punkty"; }
  .score-sheet td:nth-child(3)::before { content: "Pilot A"; }
  .score-sheet td:nth-child(4)::before { content: "Pilot B"; }
  .score-sheet .score-total td { display: block; min-height: 32px; }
  .score-sheet .score-total td::before { display: none; }
  .pack-sheet-foot { display: grid; }
  .paper-fallback-grid { grid-template-columns: 1fr; }
  .paper-fallback-grid article { min-height: 0; }
}

@media print {
  @page { size: A4 portrait; margin: 10mm; }

  .lesson-print-toolbar,
  .teacher-pack-intro { display: none !important; }
  .lead { color: #222; }
  .article-section { break-inside: auto; }
  .table-scroll { overflow: visible; }
  table { min-width: 0; }
  .pack-sheet table { display: table; max-width: none; min-width: 0; overflow: visible; }
  .pack-sheet thead { display: table-header-group; }
  .pack-sheet tbody { display: table-row-group; width: auto; padding: 0; }
  .pack-sheet tr { display: table-row; width: auto; padding: 0; border-bottom: 0; }
  .pack-sheet th,
  .pack-sheet td { display: table-cell; width: auto; min-width: 0; }
  .pack-sheet td::before { display: none; }
  .pack-fields-three { grid-template-columns: 1.4fr 1fr 1fr; }
  .pack-columns,
  .flight-plan-grid,
  .exit-tickets,
  .three-point-plan > div { grid-template-columns: 1fr 1fr; }
  .pilot-row { grid-template-columns: auto auto 1fr auto auto 1fr; }
  .paper-fallback-grid { grid-template-columns: 1fr 1fr; }
  .paper-fallback-grid article { min-height: 30mm; padding: 3mm 4mm; gap: 2mm; }
  .paper-fallback-sequence { margin-top: 4mm; padding: 3mm 4mm; }
  .paper-fallback-key,
  .paper-fallback-exit { margin-top: 3mm; padding: 2mm 4mm; }

  .teacher-pack { padding: 0; }
  .pack-sheet {
    min-height: 277mm;
    margin: 0;
    padding: 10mm 9mm 8mm 11mm;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    break-before: page;
    break-inside: avoid;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .pack-sheet h3 { margin: 6mm 0 5mm; font-size: 22pt; }
  .pack-sheet-head { padding-bottom: 3mm; }
  .pack-fields { margin: 4mm 0 5mm; }
  .pack-columns { margin: 4mm 0 5mm; gap: 7mm; }
  .pack-checklist li { padding: 1.5mm 0; font-size: 8.5pt; }
  .pack-sheet th,
  .pack-sheet td { padding: 2.1mm 2.3mm; }
  .pack-sheet-foot { margin-top: 5mm; }

  body.lesson-print-pack-only .crumbs,
  body.lesson-print-pack-only .hero,
  body.lesson-print-pack-only .article-grid > .toc,
  body.lesson-print-pack-only .article-grid > article > .article-section:not(.teacher-pack),
  body.lesson-print-pack-only .closing,
  body.lesson-print-pack-only .site-foot { display: none !important; }
  body.lesson-print-pack-only .article-grid { display: block; }
  body.lesson-print-pack-only .teacher-pack { display: block !important; }
  body.lesson-print-pack-only .pack-sheet-lead { break-before: auto; }
}
