/* Same legal sheet model as departments; scoped to the Service printout. */
.service-sheet{--accent:#2458a4;--pale:#eaf1ff;width:8.5in;height:14in;padding:.5in;background:#fff;margin:0 auto;color:#282e29;display:flex;flex-direction:column;font-family:Arial,Helvetica,sans-serif;line-height:1.2;box-sizing:border-box;flex-shrink:0}
.service-sheet *{box-sizing:border-box}
.preview-pages .service-sheet{box-shadow:0 5px 20px #28332322}
.service-sheet .sheet-header{display:flex;justify-content:space-between;align-items:center;border-top:5pt solid var(--accent);border-bottom:.55pt solid #aab3b9;padding:9pt 0 10pt;min-height:79pt;flex-shrink:0;gap:10pt}
.service-sheet .sheet-header img{width:130pt;height:auto}
.service-sheet .sheet-header>div{text-align:right}
.service-sheet .sheet-header h1{font-size:21pt;color:var(--accent);text-transform:uppercase;margin:0 0 5pt;line-height:1.1}
.service-sheet .sheet-header p{font-size:6.7pt;letter-spacing:.6pt;margin:0 0 8pt;color:#282e29}
.service-sheet .sheet-header strong{font-size:8.5pt}
.service-sheet .sheet-header small{display:block;font-size:6pt;color:#586572;margin-top:5pt}
.service-sheet .sheet-table{width:100%;border-collapse:collapse;table-layout:fixed;flex:none;font-size:8pt;margin-top:14pt}
.service-sheet .sheet-table td,.service-sheet .sheet-table th{border:.55pt solid #aab3b9;padding:0;text-align:center;overflow-wrap:anywhere;vertical-align:middle}
.service-sheet .col-name{width:23%}.service-sheet .col-seniority{width:11.5%}.service-sheet .col-total{width:5.7%}
.service-sheet .sheet-table thead{height:29pt;background:#eff2f7}
.service-sheet .sheet-table thead th{font-size:7.6pt;text-transform:uppercase}
.service-sheet .sheet-table thead small{font-size:6pt;font-weight:400;text-transform:none}
.service-sheet .sheet-group{height:16pt;background:var(--pale)}
.service-sheet .sheet-group th{text-align:left;padding-left:6pt;text-transform:uppercase;font-size:7.5pt;color:#1a437e}
.service-sheet .sheet-subtotal{height:16pt;background:#f2f5fa}
.service-sheet .sheet-subtotal td:first-child{text-align:right;padding-right:7pt;text-transform:uppercase;font-size:6.8pt;font-weight:700}
/* Row sizes stay in the stylesheet to respect the production CSP. */
.service-sheet .sheet-person{--row-height:calc(var(--row-unit,42pt) * var(--row-units,1));height:var(--row-height)}
.service-sheet[data-row-unit="32"]{--row-unit:32pt}
.service-sheet[data-row-unit="33"]{--row-unit:33pt}
.service-sheet[data-row-unit="34"]{--row-unit:34pt}
.service-sheet[data-row-unit="35"]{--row-unit:35pt}
.service-sheet[data-row-unit="36"]{--row-unit:36pt}
.service-sheet[data-row-unit="37"]{--row-unit:37pt}
.service-sheet[data-row-unit="38"]{--row-unit:38pt}
.service-sheet[data-row-unit="39"]{--row-unit:39pt}
.service-sheet[data-row-unit="40"]{--row-unit:40pt}
.service-sheet[data-row-unit="41"]{--row-unit:41pt}
.service-sheet[data-row-unit="42"]{--row-unit:42pt}
.service-sheet .sheet-person[data-row-units="2"]{--row-units:2}
.service-sheet .sheet-person[data-row-units="3"]{--row-units:3}
.service-sheet .sheet-person[data-row-units="4"]{--row-units:4}
.service-sheet .sheet-person[data-row-units="5"]{--row-units:5}
.service-sheet .sheet-person[data-row-units="6"]{--row-units:6}
.service-sheet .sheet-person[data-row-units="7"]{--row-units:7}
.service-sheet .sheet-person[data-row-units="8"]{--row-units:8}
.service-sheet .sheet-person[data-row-units="9"]{--row-units:9}
.service-sheet .sheet-person[data-row-units="10"]{--row-units:10}
.service-sheet .sheet-person[data-row-units="11"]{--row-units:11}
.service-sheet .sheet-person[data-row-units="12"]{--row-units:12}
.service-sheet .sheet-person[data-row-units="13"]{--row-units:13}
.service-sheet .sheet-person[data-row-units="14"]{--row-units:14}
.service-sheet .sheet-person[data-row-units="15"]{--row-units:15}
.service-sheet .sheet-name{text-align:left!important;font-size:9.5pt;font-weight:600}
.service-sheet .sheet-person-label{height:calc(var(--row-height,42pt) - .55pt);padding:4pt;line-height:1.2;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.service-sheet .sheet-job-title{display:block;font-size:6.5pt;font-weight:400;line-height:1.15;margin-top:2pt;overflow-wrap:anywhere}
.service-sheet .service-rank{font-size:6.5pt;font-weight:400;color:#657484}
.service-sheet .sheet-seniority{font-size:6.5pt;padding:2pt!important}
.service-sheet .sheet-work{height:calc(var(--row-height,42pt) - 11.55pt);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2pt;font-size:8pt;line-height:1.2;overflow:hidden}
.service-sheet .sheet-day-detail{display:grid;grid-template-columns:1fr 1fr;height:11pt;border-top:.5pt solid #aab3b9;font-size:5pt;line-height:1.1}
.service-sheet .sheet-day-detail span{display:flex;justify-content:center;align-items:center;overflow-wrap:anywhere;padding:0 1pt}
.service-sheet .sheet-day-detail span+span{background:var(--pale);border-left:.5pt solid #aab3b9}
.service-sheet .sheet-total{font-weight:700;font-size:8pt;background:#f5f8fd;white-space:normal}
.service-sheet .service-shift{font-size:8pt;font-weight:700;line-height:1.15;width:100%;padding:1pt 0}
.service-sheet .service-shift+.service-shift{border-top:.5pt solid #c6d1e0;margin-top:2pt;padding-top:2pt}
.service-sheet .print-start,.service-sheet .print-end{display:block;white-space:nowrap}
.service-sheet .service-shift small{display:block;font-size:5.5pt;font-weight:400;line-height:1.1;margin:1pt 0 0;color:inherit}
.service-sheet .service-shift.cross-role{background:#eaf1ff;color:#183e75}
.service-sheet .service-shift .service-role{font-weight:700;margin:0 0 1pt}
.service-sheet .print-leave{color:#a12628;display:block;font-size:6pt;line-height:1.15;font-weight:700}
.service-sheet .service-off .sheet-work{background:#edf0f3}
.service-sheet .service-unavailable{font-size:5.7pt;color:#586572}
.service-sheet .service-unfilled th,.service-sheet .service-unfilled td,.service-sheet .service-unfilled .sheet-day-detail span{background:#fff1cd}
.service-sheet .service-unfilled .service-shift{color:#6b4300}
.service-sheet .birthday-greeting{font-size:5.7pt;line-height:1.1;color:#814000;display:block}
.service-sheet .sheet-bottom{display:flex;justify-content:space-between;gap:8pt;padding:9pt 0;font-size:6pt;line-height:1.4;flex-shrink:0}
.service-sheet .sheet-totals{margin-left:auto;text-align:right;flex-shrink:0}
.service-sheet .sheet-totals strong{display:block;font-size:9pt}
.service-sheet .sheet-totals span{font-size:6.5pt}
.service-sheet .service-week-total{display:flex;justify-content:space-between;gap:8pt;align-items:center;background:var(--pale);border-top:.7pt solid #adc0dc;padding:7pt;margin-bottom:12pt;flex-shrink:0}
.service-sheet .service-week-total strong{font-size:8pt;color:#1a437e}
.service-sheet .service-week-total span{font-size:6pt;text-align:right}
.service-sheet .sheet-notes{font-size:7pt;min-height:49pt}
.service-sheet .sheet-notes strong{text-transform:uppercase;font-size:7pt}
.service-sheet .sheet-notes p{margin:5pt 0 0;border-bottom:.5pt solid #aab3b9;min-height:30pt}
@page service-schedule{size:legal portrait;margin:0}
@media print{body:not(.printing-planogram){margin:0!important;padding:0!important}#printSheet .service-sheet{page:service-schedule;margin:0;break-inside:avoid;break-after:page;box-shadow:none}#printSheet .service-sheet:last-child{break-after:auto}.service-sheet .sheet-table tr{break-inside:avoid}}
.service-pdf-tools{padding:10px 20px;background:#f2f6fc;color:#254365}.service-pdf-tools p{margin:0;font-size:.85rem}.service-pdf-tools a{display:inline-block;margin:10px 16px 2px 0;color:#194c98;font-weight:700}#servicePdfResult[hidden]{display:none!important}#previewPdf:disabled{opacity:.5;cursor:wait}

.service-sheet.compact-service{padding:.35in}
.service-sheet.compact-service .sheet-header{min-height:72pt;padding:7pt 0}
.service-sheet.compact-service .sheet-table{margin-top:10pt}
.service-sheet.compact-service .sheet-work{padding:1pt}
.service-sheet.compact-service .service-shift{padding:0}
.service-sheet.compact-service .sheet-bottom{padding:6pt 0}
.service-sheet.compact-service .service-week-total{margin-bottom:8pt}
.service-sheet.compact-service .sheet-notes{min-height:40pt}
.service-sheet.compact-service .sheet-notes p{min-height:24pt}

/* Individual colored work portions; also retained in PDF rasterization. */
.service-sheet .service-shift{box-sizing:border-box;border:.7pt solid #738178;border-left:2pt solid #738178;border-radius:3pt;background:#f1f4f0;padding:3pt 1pt;margin:1.5pt 0;width:100%;gap:2pt;color:#222;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.service-sheet .printed-shift-range{display:flex;justify-content:center;align-items:center;gap:1.5pt;white-space:nowrap;font-size:7pt;font-weight:700;line-height:1.2}
.service-sheet .assignment-label{display:block;font-size:5.5pt;font-weight:600;line-height:1.15;text-align:center;overflow-wrap:anywhere}
.service-sheet .printed-day-total{display:block;font-size:5.5pt;font-weight:700;line-height:1.2;margin-bottom:1.5pt;color:#384d3d}
.service-sheet .shift-theme-boulangerie{--shift-color:#b88a00;border-color:#b88a00;background:#fff4c6}
.service-sheet .shift-theme-service{--shift-color:#2458a4;border-color:#2458a4;background:#eaf1ff}
.service-sheet .shift-theme-fruits{--shift-color:#34824d;border-color:#34824d;background:#e9f4e7}
.service-sheet .shift-theme-viande{--shift-color:#b62b32;border-color:#b62b32;background:#fae8e7}
.service-sheet .shift-theme-charcuterie{--shift-color:#b65380;border-color:#b65380;background:#fbe9f1}
.service-sheet .shift-theme-pam{--shift-color:#c46620;border-color:#c46620;background:#fff0df}
.service-sheet .shift-theme-poissonnerie{--shift-color:#287c9c;border-color:#287c9c;background:#e4f4fc}
.service-sheet .shift-theme-epicerie{--shift-color:#344351;border-color:#344351;background:#e9edf1}
.service-sheet .shift-theme-administration{--shift-color:#665489;border-color:#665489;background:#eee9f6}
.service-sheet .status-training{border-color:#176354;background:#e0f0e9;color:#176354!important}
.service-sheet .status-cut-fruit{border-color:#34824d;background:#b8dfb0;color:#282e29!important}

.service-sheet .service-shift{flex-shrink:0}
.service-sheet .printed-shift-range{font-size:6pt;gap:.5pt}
.service-sheet .service-shift+.service-shift{border-top:.7pt solid var(--shift-color,#738178); padding-top:3pt}

/* Ordinary shifts use the original stacked hours; boxes distinguish shared portions only. */
.service-sheet .service-shift.simple-shift{display:flex;flex-direction:column;align-items:center;border:0;border-radius:0;background:transparent;padding:0;margin:0;gap:1pt;color:inherit}
.service-sheet .simple-shift .printed-shift-range{display:flex;flex-direction:column;gap:0;font-size:8.5pt;line-height:1.15;order:0}
.service-sheet .simple-shift .printed-shift-range> :nth-child(2){display:none}
.service-sheet .simple-shift .assignment-label,.service-sheet .simple-shift .service-role,.service-sheet .simple-shift .shift-absence{order:1}

.service-needs-sheet .sheet-header h2{font-size:13pt;margin:5pt 0;color:#2458a4}.service-needs-sheet .needs-table{font-size:8pt}.service-needs-sheet .needs-table td,.service-needs-sheet .needs-table th{padding:5pt 3pt;vertical-align:top}.service-needs-sheet .needs-table th{font-size:7.5pt}.service-needs-sheet .needs-table small{display:block;font-size:6.3pt;font-weight:400;margin-top:3pt;line-height:1.3}.service-needs-sheet .needs-subtotal{background:#f2f5fa;font-weight:700}.service-needs-sheet .needs-footer{margin-top:12pt;font-size:8pt}.service-needs-sheet .needs-footer p{font-size:7pt;line-height:1.4}.service-needs-sheet .needs-entry{padding:3pt 0}.service-needs-sheet .needs-entry strong{font-size:7pt;display:block}.service-needs-sheet .needs-time{display:block;font-size:7.7pt;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:5pt}.service-needs-sheet .needs-empty{color:#7e8994}
