@page { size: A4 portrait; margin: 12mm; }
* { box-sizing: border-box; }
body.price-print { margin: 0; background: #eef1f3; color: #15191c; font-family: Poppins, Arial, sans-serif; font-size: 10pt; line-height: 1.35; }
.print-toolbar { text-align: right; max-width: 210mm; margin: 16px auto; padding: 0 12mm; }
.print-toolbar button { padding: 11px 20px; background: #147ca6; border: 1px solid #147ca6; border-radius: 6px; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.print-toolbar button:focus-visible { outline: 3px solid #0e6386; outline-offset: 3px; }
.print-sheet { max-width: 210mm; margin: 0 auto 20px; padding: 12mm; background: #fff; box-shadow: 0 2px 10px #0002; }
.print-heading { display: flex; justify-content: space-between; align-items: center; gap: 10mm; padding-bottom: 5mm; margin-bottom: 5mm; border-bottom: 1px solid #aab8bf; }
.print-heading img { width: 40mm; height: auto; }
.print-heading h1 { margin: 0; font-size: 22pt; }
.print-heading p { margin: 1mm 0 0; font-size: 8pt; }
.print-vehicles { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8mm; }
.print-vehicle { min-width: 0; }
.print-vehicle h2 { margin: 0 0 3mm; font-size: 13pt; color: #147ca6; break-after: avoid; }
.print-category { margin-bottom: 4mm; }
.print-category-heading { break-inside: avoid; break-after: avoid; page-break-after: avoid; }
.print-category h3 { margin: 0; padding-bottom: 1mm; font-size: 10pt; border-bottom: 1px solid #aab8bf; }
.print-note { margin: 1mm 0; font-size: 7.5pt; }
.print-item { padding: 1.5mm 0; border-bottom: 1px solid #e0e3e5; break-inside: avoid; page-break-inside: avoid; }
.print-price-row { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 3mm; }
.print-name { min-width: 0; overflow-wrap: anywhere; }
.print-amount { color: #000; text-align: right; white-space: nowrap; font-weight: 600; }
.print-offer { display: inline-block; padding: 0 1mm; border: 1px solid currentColor; border-radius: 2mm; font-size: 7pt; font-weight: 600; white-space: nowrap; }
.print-lesson, .print-contents { margin: .5mm 0 0; font-size: 8pt; overflow-wrap: anywhere; }
@media screen and (max-width: 600px) { .print-sheet { padding: 18px; } .print-vehicles { grid-template-columns: 1fr; } .print-heading { gap: 12px; } }
@media print {
    body.price-print { background: #fff; }
    .print-toolbar { display: none; }
    .print-sheet { width: auto; max-width: none; margin: 0; padding: 0; box-shadow: none; }
}

.print-offer.print-choice { color: #147ca6; }
.print-amount.print-price-red { color: #b91c1c; }
