@page { size: legal portrait; margin: .4in; }
* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
body { background: #fff !important; color: #24303b; font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
.app-header, main, #toast, #printPreview, #loginView { display: none !important; }
#printSheet { display: block !important; }
.print-page { min-height: 12.6in; display: flex; flex-direction: column; break-inside: avoid; }
.print-page + .print-page { break-before: page; }
.print-title { display: flex; justify-content: space-between; align-items: flex-end; gap: 15px; border-bottom: 2.5pt solid #d71920; padding-bottom: 12px; margin-bottom: 14px; }
.print-title p { margin: 0 0 4px; color: #b51c24; font-size: 8pt; font-weight: 800; letter-spacing: .12em; }
.print-title h1 { margin: 0; color: #202a33; font: 700 21pt/1.1 "Trebuchet MS", "Segoe UI", sans-serif; }
.print-section + .print-section { margin-top: 22px; padding-top: 12px; border-top: 2px solid #d71920; }
.print-section h2 { margin: 0 0 8px; color: #202a33; font-size: 12pt; }
.print-section-summary { margin-top: 8px; color: #34414c; font-size: 8pt; text-align: right; }
.print-period { text-align: right; font-size: 8.5pt; line-height: 1.3; }
.print-period span { display: block; color: #66717b; font-size: 7pt; font-weight: 800; letter-spacing: .1em; }
.print-period b { display: block; color: #202a33; font-size: 9pt; }
.print-period small { display: block; margin-top: 3px; color: #66717b; font-size: 7.5pt; }
.print-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 8.5pt; line-height: 1.28; }
.print-table th, .print-table td { border: 1px solid #ccd4dc; padding: 7px 5px; text-align: center; vertical-align: middle; }
.print-table thead th { background: #273440; border-color: #273440; color: #fff; font-size: 8pt; font-weight: 750; padding: 9px 5px; }
.print-table th:first-child { width: 24%; text-align: left; }
.print-table th:last-child { width: 9%; }
.print-table tbody tr { break-inside: avoid; }
.print-table tbody tr:nth-child(even) { background: #f5f7f9; }
.print-name { text-align: left !important; overflow-wrap: anywhere; font-weight: 700; }
.print-seniority { display: block; margin-top: 4px; font-size: 7pt; font-weight: 400; color: #5c6874; }
.print-hours { background: #eef2f5; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.print-table td { min-height: 36px; }
.print-shift { color: #202a33; font-weight: 750; font-size: 9pt; font-variant-numeric: tabular-nums; line-height: 1.18; }
.print-shift + .print-shift { margin-top: 8px; padding-top: 7px; border-top: 1px solid #dce2e7; }
.print-start, .print-end { display: block; white-space: nowrap; }
.print-shift small { display: block; margin-top: 3px; color: #586571; font-size: 7pt; font-weight: 400; }
.print-shift[class*="print-cross-"] { padding: 4px 2px; border-radius: 4px; }
.print-shift.print-cross-cashier { background: #fce1ef; color: #8b1850; }
.print-shift.print-cross-packer { background: #dcefff; color: #145783; }
.print-shift.print-cross-orders { background: #ebe3ff; color: #573e83; }
.print-shift.print-cross-supervisor { background: #ffe5df; color: #8c3226; }
.print-shift .print-role-label { margin: 0 0 2px; color: inherit; font-size: 6.5pt; font-weight: 800; }
.print-leave { display: block; color: #c5121b; font-size: 7.5pt; font-weight: 800; line-height: 1.15; }
.print-table td.print-unavailable { background: #d9dde2; }
.print-unavailable-label { color: #4f5963; font-size: 7pt; }
.print-unfilled th, .print-unfilled td, .print-table tbody tr.print-unfilled { background: #ffe5a3; border-color: #d9a74a; }
.print-unfilled .print-shift { color: #653400; }
.print-summary { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding: 13px 2px 5px; border-top: 1px solid #cbd3d9; color: #34414c; font-size: 8.5pt; }
.print-summary b { color: #8b4800; }
.print-footer { margin-top: auto; padding-top: 7px; text-align: right; color: #6b7680; font-size: 7pt; }

/* Feuille de route quotidienne, une journée par page légale. */
#planoPrintSheet { display: none; }
body.printing-planogram #printSheet { display: none !important; }
body.printing-planogram #planoPrintSheet { display: block !important; }
#planoPreview { display: none !important; }
.plano-page { min-height: 13.2in; break-after: page; display: flex; flex-direction: column; color: #24303b; font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
.plano-page:last-child { break-after: auto; }
.plano-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; padding-bottom: 12px; margin-bottom: 15px; border-bottom: 2.5pt solid #d71920; }
.plano-title p { margin: 0 0 4px; color: #b51c24; font-size: 8pt; font-weight: 800; letter-spacing: .12em; }
.plano-title h1 { margin: 0; font: 700 20pt/1.1 "Trebuchet MS", "Segoe UI", sans-serif; }
.plano-title div:last-child { text-align: right; font-size: 9pt; }
.plano-title small { display: block; color: #66717b; font-size: 7.5pt; margin-top: 4px; }
.plano-warning { margin: 0 0 10px; padding: 7px 10px; background: #ffe5a3; color: #653400; font-weight: 800; font-size: 8pt; }
.plano-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 10pt; }
.plano-table th, .plano-table td { border: 1px solid #aebbc5; text-align: center; vertical-align: middle; padding: 5px 3px; }
.plano-table thead th { background: #273440; color: #fff; border-color: #273440; font-size: 9pt; }
.plano-table thead tr:first-child th { padding: 9px 3px; }
.plano-table thead th:first-child { width: 27%; text-align: left; padding-left: 9px; }
.plano-table thead th:nth-child(2), .plano-table thead th:nth-child(3) { width: 9%; }
.plano-table tbody tr { break-inside: avoid; height: var(--plano-row-height, 48px); }
.plano-table .plano-group { height: 34px; }
.plano-group th { background: #e8edf2; text-align: left; padding-left: 9px; color: #283440; letter-spacing: .05em; }
.plano-name { text-align: left !important; padding-left: 9px !important; overflow-wrap: anywhere; font-weight: 700; }
.plano-supervisor .plano-name, .plano-supervisor .plano-time { background: #fce5e6; color: #7d1920; }
.plano-supervisor .plano-name { border-left: 4px solid #b51c24; }
.plano-unfilled .plano-name { background: #fff1cf; }
.plano-time { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.plano-off { background: #eef1f4; }
.plano-slot { background: #fff; }
.plano-empty td { color: #77818b; text-align: left; padding-left: 9px; }
.plano-footer { margin-top: auto; padding-top: 8px; border-top: 1px solid #cbd3d9; color: #66717b; font-size: 7pt; }

.plano-role{display:block;font-size:.8em;font-weight:400}
