html, body { margin: 0; padding: 0; background: #fff !important; }
body { font-family: "Myriad Pro", "Myriad", "Helvetica Neue", Arial, sans-serif; }
.print-toolbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; color: #d9e8f4; background: rgba(16,32,51,.94); backdrop-filter: blur(12px); }
.print-toolbar span { padding: 0 8px; font: 700 13px/1.2 Arial, sans-serif; }
.print-toolbar a, .print-toolbar button { border: 0; cursor: pointer; padding: 9px 14px; border-radius: 10px; color: #fff; background: #087cf0; font: 700 14px/1.2 Arial, sans-serif; text-decoration: none; }
.print-toolbar a.secondary { background: #42586e; }
.print-stage { display: flex; flex-direction: column; align-items: center; gap: 24px; min-height: 100vh; padding: 24px; overflow: auto; background: #d8e4ed; }
.print-stage .timetable-sheet { margin: 0; box-shadow: 0 14px 40px rgba(0,0,0,.18); }
.pdf-stage { margin: 0; padding: 0; background: #fff; }
.pdf-stage .timetable-sheet { margin: 0; box-shadow: none !important; }
.timetable-sheet { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

@media print {
    html, body { width: 100%; height: auto; margin: 0 !important; padding: 0 !important; }
    .print-toolbar { display: none !important; }
    .print-stage { display: block; min-height: 0; margin: 0; padding: 0; overflow: visible; background: #fff; }
    .print-stage .timetable-sheet { margin: 0 !important; box-shadow: none !important; }
    .timetable-sheet { page-break-after: always; break-after: page; }
    .timetable-sheet.sheet-last { page-break-after: auto; break-after: auto; }
}
