:root{--red:#d71920;--red-dark:#ad1016;--ink:#202124;--muted:#667085;--line:#dce1e7;--bg:#f4f5f7;--white:#fff;--blue:#eaf2ff;--green:#e8f5ec;--amber:#fff3cd;--shadow:0 10px 28px rgba(22,31,45,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.4 Arial,sans-serif}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;padding:11px 16px;background:var(--red);color:#fff;font-weight:800;cursor:pointer}button:hover{background:var(--red-dark)}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button.secondary:hover,button.ghost:hover{background:#f2f3f5}button.ghost{background:transparent;color:var(--muted);border:1px solid transparent}button.danger{background:#fff;color:#b3261e;border:1px solid #efb8b5}input,select,textarea{border:1px solid #cbd2d9;border-radius:8px;padding:9px;background:#fff;color:var(--ink)}label{font-weight:700;color:#40454b}.eyebrow{margin:0;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.09em}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:var(--shadow);border-top:6px solid var(--red)}.login-card h1{font-size:34px;margin:4px 0}.login-card>p:not(.eyebrow,.error){color:var(--muted);margin:0 0 24px}.login-card label{display:grid;gap:7px}.login-card button{width:100%;margin-top:14px}.error{min-height:20px;color:#b3261e;margin:10px 0 0}.app-header{background:#fff;border-bottom:4px solid var(--red);padding:22px max(24px,calc((100vw - 1500px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.app-header h1{margin:2px 0 0;font-size:30px}.app-header>div>p:last-child{margin:2px 0 0;color:var(--muted)}.header-actions{display:flex;gap:8px}main{max-width:1500px;margin:22px auto;padding:0 24px 60px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.week-toolbar{display:flex;gap:12px;align-items:center;padding:13px 16px}.square{width:42px;height:42px;padding:0;font-size:25px;background:#272b30}.week-toolbar>div{display:flex;align-items:baseline;gap:8px}.week-toolbar strong{font-size:20px}.week-toolbar input{margin-left:auto}.save-status{color:#39734d;font-weight:700}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.metric{padding:16px}.metric>span{display:block;color:var(--muted);font-size:13px;font-weight:700}.metric strong,.metric label{display:block;font-size:25px;margin-top:4px}.metric input{width:110px;font-size:23px;font-weight:800;padding:2px 7px}.metric small{display:block;margin-top:2px}.good{color:#137333}.bad{color:#b3261e}.add-card,.board-card,.notes-card{margin-top:16px;padding:19px}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.section-title h2{margin:1px 0 0;font-size:22px}.section-title>p{margin:0;color:var(--muted)}#shiftForm{display:grid;grid-template-columns:1.15fr 2.6fr .75fr .75fr .75fr 1.2fr 1.5fr;gap:12px;align-items:end}#shiftForm label{display:grid;gap:5px;font-size:13px}fieldset{border:0;padding:0;margin:0}legend{font-size:13px;font-weight:700;margin-bottom:5px}.day-choices{display:flex;gap:5px}.day-choice input{position:absolute;opacity:0;pointer-events:none}.day-choice span{display:block;border:1px solid #cbd2d9;border-radius:8px;padding:9px 10px;background:#fff;cursor:pointer}.day-choice input:checked+span{background:#272b30;color:#fff;border-color:#272b30}.notes-field{min-width:130px}.form-actions{grid-column:1/-1;display:flex;gap:8px}.week-board{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.day-column{border:1px solid var(--line);border-radius:12px;min-height:185px;background:#fafbfc;overflow:hidden}.day-head{background:#292d32;color:#fff;padding:10px;text-align:center}.day-head strong{display:block}.day-head small{color:#ccd2d8}.shift-list{padding:8px;display:grid;gap:7px}.shift-card{width:100%;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-left:5px solid #5b6470;border-radius:9px;padding:9px;box-shadow:0 2px 6px rgba(0,0,0,.04)}.shift-card:hover{background:#fff;transform:translateY(-1px)}.shift-card.manager,.shift-card.supervisor{border-left-color:#d71920}.shift-card.cashier{border-left-color:#2878c8}.shift-card.support{border-left-color:#d08a00}.shift-card.packer{border-left-color:#27945a}.shift-card b{display:block}.shift-card span{display:block;font-size:13px;margin-top:2px}.shift-card small{display:block;color:var(--muted);margin-top:3px}.day-total{border-top:1px solid var(--line);padding:8px 10px;font-weight:800;text-align:right;background:#fff}.empty{color:#9aa1aa;text-align:center;padding:25px 5px}.warnings{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.warning{background:var(--amber);color:#765700;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.notes-card label{display:block;margin-bottom:7px}.notes-card textarea{width:100%;resize:vertical}#toast{position:fixed;right:20px;bottom:20px;background:#202124;color:#fff;border-radius:10px;padding:12px 16px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}#printSheet{display:none}@media(max-width:1050px){.summary-grid{grid-template-columns:repeat(2,1fr)}#shiftForm{grid-template-columns:repeat(3,1fr)}.day-choices{flex-wrap:wrap}}@media(max-width:650px){.app-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1}.week-toolbar{flex-wrap:wrap}.week-toolbar input{margin-left:0}.save-status{width:100%}.summary-grid{grid-template-columns:1fr 1fr}#shiftForm{grid-template-columns:1fr 1fr}.section-title{align-items:flex-start;flex-direction:column}.day-choices{grid-template-columns:repeat(4,1fr);display:grid}.week-board{grid-template-columns:repeat(7,165px)}}
#loginView[hidden]{display:none!important}
.summary-grid .combined-total{grid-column:1/-1;border-left:5px solid var(--red)}
.share-card{margin-top:14px;padding:18px;display:grid;gap:12px}
.share-card h2{margin:2px 0 4px;font-size:19px}
.share-card p:last-child{margin:0;color:var(--muted)}
.share-actions{display:flex;gap:8px;flex-wrap:wrap}
.share-card>label{font-weight:700}
.share-card>input{max-width:310px}
.share-actions [hidden]{display:none}
#shareLinkDisplay{display:block;overflow-wrap:anywhere;color:#34414c;font-size:13px}
.combined-total strong{font-size:32px}
.employee-other-roles #employeeOtherRoles{display:flex;gap:14px;flex-wrap:wrap}
.employee-other-roles label{display:flex;align-items:center;gap:5px;font-size:13px}
.employee-other-roles input{width:auto}
/* Horaire et équipe */
.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow-x:auto;margin-top:18px}
.schedule-day{min-width:180px;background:#f8fafb;border:1px solid #dfe5e8;border-radius:10px;padding:10px}
.schedule-day h3{margin:0 0 10px;font-size:1rem}
.schedule-item{display:block;background:white;border:1px solid #e0e5e8;border-radius:7px;padding:8px;margin-bottom:8px}
.schedule-item span{display:block;font-size:.83rem;margin-bottom:5px}
.schedule-item select{width:100%;max-width:100%}
.employee-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;margin:14px 0}
.employee-row{display:flex;flex-direction:column;text-align:left;gap:3px;font-size:.84rem}
.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.availability-grid input{width:100%}
.import-label{display:inline-flex;align-items:center;cursor:pointer;padding:10px 14px;border-radius:8px}
.employee-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px;margin-top:18px}
.employee-totals h3{grid-column:1/-1;margin:6px 0}
.employee-totals div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e0e5e8;padding:6px}
.schedule-group{margin:18px 0 24px}
#scheduleBoard{display:block;width:100%}
.schedule-group .schedule-grid{width:100%;grid-template-columns:repeat(7,minmax(180px,1fr))}
.schedule-group>h3{margin:0 0 8px;padding:8px 12px;background:#292d32;color:#fff;border-radius:8px}
.schedule-day h4{margin:0 0 10px}
.employee-list{display:block}
.employee-group{margin:12px 0 22px}
.employee-group h3{border-bottom:2px solid #d71920;padding-bottom:5px}
.employee-group .employee-row{display:inline-flex;width:min(250px,100%);margin:4px;vertical-align:top}
.employee-totals .total-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.total-group span{display:block;font-size:.85rem}
#printPreview{width:min(1100px,96vw);max-height:94vh;border:0;border-radius:14px;padding:0;background:#eef0f2;box-shadow:0 20px 70px #0005}
#printPreview::backdrop{background:#0009}
.preview-toolbar{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #ccd2d8;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.preview-toolbar>div{display:flex;gap:8px}
.preview-pages{padding:20px;display:grid;gap:20px;justify-content:center;overflow:auto}
.preview-pages .print-page{width:min(8.5in,calc(96vw - 50px));min-height:11in;background:#fff;padding:.35in;box-shadow:0 3px 16px #0002;display:flex;flex-direction:column}
.preview-pages .print-title{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid #d71920;padding-bottom:7px;margin-bottom:9px}
.preview-pages .print-title h1{margin:0;font-size:22px}
.preview-pages .print-title p{margin:0;font-size:10px;color:#d71920;font-weight:900}
.preview-pages .print-title div:last-child{text-align:right;font-size:12px}
.preview-pages .print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.preview-pages .print-table th,.preview-pages .print-table td{border:1px solid #69717a;padding:5px;text-align:center;vertical-align:middle}
.preview-pages .print-table thead th{background:#292d32;color:#fff}
.preview-pages .print-table th:first-child{width:8%}
.preview-pages .print-shift small{display:block;font-weight:400;color:#4e5660}
.preview-pages .print-summary{margin-top:auto;border:1px solid #69717a;padding:8px;display:flex;justify-content:space-between}
.preview-pages .print-footer{text-align:right;color:#6c737b;font-size:10px;margin-top:5px}
@media(max-width:900px){.schedule-grid{grid-template-columns:repeat(7,180px)}}

.preview-pages .print-table th:first-child{width:24%;text-align:left}.preview-pages .print-table th:last-child{width:9%}.preview-pages .print-name{text-align:left;overflow-wrap:anywhere}.preview-pages .print-hours{font-weight:900;white-space:nowrap}.preview-pages .print-unfilled th,.preview-pages .print-unfilled td{background:#fff3cd}.preview-pages .print-shift{font-weight:800}.preview-pages .print-shift+.print-shift{margin-top:4px}
.preview-pages .print-seniority{display:block;margin-top:2px;font-size:9px;font-weight:400;color:#4e5660}
.time-off-grid{display:flex;gap:14px;flex-wrap:wrap}
.time-off-grid label{display:flex;align-items:center;gap:5px}
.requested-leave{grid-column:1/-1;border:1px solid #e7c9c9;border-radius:10px;padding:12px;background:#fffafa}
.requested-leave p{margin:0 0 10px;color:#667085;font-size:13px}
#employeeForm{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:end}
#employeeForm>label{display:grid;gap:6px;min-width:0;font-size:13px}
#employeeForm>label input,#employeeForm>label select{width:100%}
#employeeForm>fieldset,#employeeForm>.rank-help{grid-column:1/-1}
#employeeForm>.notes-field{grid-column:span 4}
#employeeForm>label:has(#employeeActive){display:flex;align-items:center;gap:8px}
#employeeForm>label:has(#employeeActive) input{width:auto}
#employeeForm .rank-help{margin:0;color:#667085;font-size:13px}
@media(max-width:1050px){#employeeForm{grid-template-columns:repeat(2,minmax(0,1fr))}#employeeForm>.notes-field{grid-column:1/-1}}
@media(max-width:650px){#employeeForm{grid-template-columns:1fr}#employeeForm>.notes-field{grid-column:1}}
.preview-pages .print-start,.preview-pages .print-end{display:block;white-space:nowrap}
.preview-pages .print-leave{color:#c5121b;font-size:10px;line-height:1.15}
.schedule-item-unfilled{background:#fff0c2;border:2px solid #b45f00;border-left:7px solid #b45f00}
.schedule-item-unfilled span{color:#653400;font-weight:800}
.schedule-item-unfilled select{border:2px solid #b45f00;background:#fffaf0;color:#653400;font-weight:800}
.shift-availability{margin:-4px 0 10px;border:1px solid #e2ba68;border-radius:8px;background:#fffaf0;padding:7px;font-size:12px}
.shift-availability summary{cursor:pointer;color:#653400;font-weight:800}
.shift-availability ul{list-style:none;padding:0;margin:8px 0;max-height:260px;overflow:auto}
.shift-availability li{padding:6px 0;border-top:1px solid #eadcc0}
.shift-availability li b,.shift-availability li span,.shift-availability li small{display:block}
.shift-availability li small{color:#895b20}
.shift-availability button{width:100%;padding:7px;font-size:12px}
.preview-pages .print-unfilled th,.preview-pages .print-unfilled td{background:#ffe5a3;border-color:#a35100}
.preview-pages .print-unfilled .print-shift{color:#653400}
#employeeForm>.employee-option{grid-column:span 2;display:flex;align-items:center;gap:8px;align-self:center}
#employeeForm>.employee-option input{width:auto}
@media(max-width:1050px){#employeeForm>.employee-option{grid-column:1/-1}}

/* Aperçu fidèle à la feuille légale, avec une typographie plus lisible. */
.preview-pages .print-page{width:min(8.5in,calc(96vw - 50px));min-height:14in;padding:.4in;color:#24303b;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif}
.preview-pages .print-title{gap:15px;border-bottom:3px solid #d71920;padding-bottom:12px;margin-bottom:14px}
.preview-pages .print-title p{margin:0 0 4px;color:#b51c24;font-size:11px;font-weight:800;letter-spacing:.12em}
.preview-pages .print-title h1{margin:0;color:#202a33;font:700 28px/1.1 "Trebuchet MS","Segoe UI",sans-serif}
.preview-pages .print-section+.print-section{margin-top:25px;padding-top:14px;border-top:2px solid #d71920}
.preview-pages .print-section h2{margin:0 0 10px;font-size:17px;color:#202a33}
.preview-pages .print-section-summary{margin-top:9px;text-align:right;color:#34414c;font-size:11px}
.preview-pages .print-period{text-align:right;font-size:12px;line-height:1.3}
.preview-pages .print-period span{display:block;color:#66717b;font-size:10px;font-weight:800;letter-spacing:.1em}
.preview-pages .print-period b{display:block;color:#202a33;font-size:12px}
.preview-pages .print-period small{display:block;margin-top:3px;color:#66717b;font-size:10px}
.preview-pages .print-table{font-size:11.5px;line-height:1.28}
.preview-pages .print-table th,.preview-pages .print-table td{border:1px solid #ccd4dc;padding:9px 6px;text-align:center;vertical-align:middle}
.preview-pages .print-table thead th{background:#273440;border-color:#273440;color:#fff;font-size:11px;padding:12px 6px}
.preview-pages .print-table tbody tr:nth-child(even){background:#f5f7f9}
.preview-pages .print-name{text-align:left!important;font-weight:700}
.preview-pages .print-seniority{display:block;margin-top:4px;color:#5c6874;font-size:9px;font-weight:400}
.preview-pages .print-hours{background:#eef2f5;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.preview-pages .print-shift{color:#202a33;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.18}
.preview-pages .print-shift+.print-shift{margin-top:8px;padding-top:7px;border-top:1px solid #dce2e7}
.preview-pages .print-shift small{display:block;margin-top:3px;color:#586571;font-size:9px;font-weight:400}
.preview-pages .print-shift[class*="print-cross-"]{padding:5px 2px;border-radius:4px}
.preview-pages .print-shift.print-cross-cashier{background:#fce1ef;color:#8b1850}
.preview-pages .print-shift.print-cross-packer{background:#dcefff;color:#145783}
.preview-pages .print-shift.print-cross-orders{background:#ebe3ff;color:#573e83}
.preview-pages .print-shift.print-cross-supervisor{background:#ffe5df;color:#8c3226}
.preview-pages .print-shift .print-role-label{margin:0 0 2px;color:inherit;font-size:9px;font-weight:800}
.preview-pages .print-leave{display:block;color:#c5121b;font-size:10px;font-weight:800;line-height:1.15}
.preview-pages .print-table td.print-unavailable{background:#d9dde2}
.preview-pages .print-unavailable-label{color:#4f5963;font-size:10px}
.preview-pages .print-unfilled th,.preview-pages .print-unfilled td,.preview-pages .print-table tbody tr.print-unfilled{background:#ffe5a3;border-color:#d9a74a}
.preview-pages .print-unfilled .print-shift{color:#653400}
.preview-pages .print-summary{margin-top:auto;padding:13px 2px 5px;border:0;border-top:1px solid #cbd3d9;color:#34414c;font-size:11px}
.preview-pages .print-summary b{color:#8b4800}
.view-dashboard{margin-top:22px;border-top:1px solid #d8dfe5;padding-top:18px}.view-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.view-dashboard-header h3{margin:0}.view-dashboard-header p{margin:5px 0;color:#64717c}.view-list{max-height:290px;overflow:auto;border:1px solid #d8dfe5;border-radius:8px}.view-row{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid #e8ecef}.view-row:last-child{border-bottom:0}.view-row span:last-child{color:#596874;text-align:right}@media(max-width:600px){.view-row{display:block}.view-row span{display:block}.view-row span:last-child{text-align:left}}
.preview-pages .print-footer{margin-top:7px;color:#6b7680;font-size:9px}

.header-actions { flex-wrap: wrap; justify-content: flex-end; }
#planoPrintSheet { display: none; }
#planoPreview { width: min(1100px,96vw); max-height: 94vh; border: 0; border-radius: 14px; padding: 0; background: #eef0f2; box-shadow: 0 20px 70px #0005; }
#planoPreview::backdrop { background: #0009; }
.plano-preview-pages .plano-page { width: min(8.5in,calc(96vw - 50px)); min-height: 14in; padding: .4in; background: #fff; box-shadow: 0 3px 16px #0002; display: flex; flex-direction: column; color: #24303b; font-family: "Segoe UI","Helvetica Neue",Arial,sans-serif; }
.plano-preview-pages .plano-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; padding-bottom: 12px; margin-bottom: 15px; border-bottom: 3px solid #d71920; }
.plano-preview-pages .plano-title p { margin: 0 0 4px; color: #b51c24; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.plano-preview-pages .plano-title h1 { margin: 0; font: 700 27px/1.1 "Trebuchet MS","Segoe UI",sans-serif; }
.plano-preview-pages .plano-title div:last-child { text-align: right; font-size: 12px; }
.plano-preview-pages .plano-title small { display: block; color: #66717b; font-size: 10px; margin-top: 4px; }
.plano-preview-pages .plano-warning { margin: 0 0 10px; padding: 7px 10px; background: #ffe5a3; color: #653400; font-weight: 800; font-size: 11px; }
.plano-preview-pages .plano-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13.33px; }
.plano-preview-pages .plano-table th,.plano-preview-pages .plano-table td { border: 1px solid #aebbc5; text-align: center; vertical-align: middle; padding: 6px 3px; }
.plano-preview-pages .plano-table thead th { background: #273440; color: #fff; border-color: #273440; font-size: 12px; }
.plano-preview-pages .plano-table thead tr:first-child th { padding: 11px 3px; }
.plano-preview-pages .plano-table thead th:first-child { width: 27%; text-align: left; padding-left: 9px; }
.plano-preview-pages .plano-table thead th:nth-child(2),.plano-preview-pages .plano-table thead th:nth-child(3) { width: 9%; }
.plano-preview-pages .plano-table tbody tr { height: var(--plano-row-height, 48px); }
.plano-preview-pages .plano-table .plano-group { height: 34px; }
.plano-preview-pages .plano-unfilled .plano-name { background: #fff1cf; }
.plano-preview-pages .plano-group th { background: #e8edf2; text-align: left; padding-left: 9px; color: #283440; letter-spacing: .05em; }
.plano-preview-pages .plano-name { text-align: left !important; padding-left: 9px !important; overflow-wrap: anywhere; font-weight: 700; }
.plano-preview-pages .plano-supervisor .plano-name,.plano-preview-pages .plano-supervisor .plano-time { background: #fce5e6; color: #7d1920; }
.plano-preview-pages .plano-supervisor .plano-name { border-left: 4px solid #b51c24; }
.plano-preview-pages .plano-time { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.plano-preview-pages .plano-off { background: #eef1f4; }
.plano-preview-pages .plano-slot { background: #fff; }
.plano-preview-pages .plano-empty td { color: #77818b; text-align: left; padding-left: 9px; }
.plano-preview-pages .plano-footer { margin-top: auto; padding-top: 8px; border-top: 1px solid #cbd3d9; color: #66717b; font-size: 10px; }

#undoStatus { display: block; flex-basis: 100%; font-size: .8rem; color: #5b6470; }

/* Match the Service shortcuts to the shared portal navigation. */
@media screen {
 #appView>.app-header{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:center}
 #appView>.app-header>.header-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:stretch;min-width:0;width:100%}
 #appView .header-actions>a:not([hidden]),#appView .header-actions>button:not([hidden]){display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:60px;margin:0;padding:12px 14px;border:1px solid #dce5df;border-radius:8px;background:#f7f9f6;color:#294f42;font:600 14px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;text-decoration:none;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
 #appView .header-actions>a:hover,#appView .header-actions>button:enabled:hover{background:#eaf1e9;border-color:#a9bfb0}
 #appView .header-actions>a:focus-visible,#appView .header-actions>button:focus-visible{outline:3px solid #c18f25;outline-offset:3px}
 #appView .header-actions>button:disabled{opacity:.5;cursor:not-allowed}
 #appView .header-actions>#logoutBtn{background:white;color:#52645b}
 #appView .header-actions>#logoutBtn:hover{background:#fff1ef;border-color:#e4c0b8;color:#93392f}
 #appView .header-actions>#undoStatus{grid-column:1/-1;order:1;margin:0;font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#64736c}
 #appView .header-actions>#undoStatus:empty{display:none}
 @media(max-width:900px){#appView>.app-header{grid-template-columns:1fr;gap:20px}}
 @media(max-width:640px){#appView>.app-header>.header-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#appView .header-actions>a:not([hidden]),#appView .header-actions>button:not([hidden]){padding:10px;font-size:13px}}
 @media(max-width:340px){#appView>.app-header>.header-actions{grid-template-columns:1fr}}
}
#permanentAvailabilityWarnings:empty{display:none}#permanentAvailabilityWarnings:not(:empty){padding:16px;margin:16px 0;background:#fff0d5;border:1px solid #d2a854;border-radius:10px}#permanentAvailabilityWarnings li{margin:6px 0}#employeeAvailabilityStatus{font-size:.9rem;line-height:1.5;color:#5b655e}

.plano-role{display:block;font-size:.8em;font-weight:400}

.absence-fields{grid-column:1/-1;border:1px solid #b7cbc3;border-radius:10px;padding:12px}.absence-fields label{display:block;margin:8px 0}.shift-absence{display:block;font-weight:600;color:#784317;white-space:normal}

@media screen{
 body.service-preview-open{--service-preview-width:clamp(440px,48vw,880px)}
 body.service-preview-open #appView{padding-right:var(--service-preview-width)}
 body.service-preview-open .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.service-preview-open #shiftForm{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.service-preview-open #printPreview[open]{position:fixed;inset:0 0 0 auto;margin:0;width:var(--service-preview-width);height:100dvh;max-width:none;max-height:none;display:flex;flex-direction:column;border-left:1px solid #bac3ce;border-radius:0;box-shadow:-5px 0 20px #0002;z-index:40;overflow:hidden}
 #printPreview .preview-toolbar{flex-wrap:wrap;flex-shrink:0;padding:10px;gap:8px}
 #printPreview .preview-toolbar>div{flex-wrap:wrap;gap:6px}
 #printPreview .preview-toolbar button{padding:8px 10px;font-size:12px}
 #printPreview .service-pdf-tools{padding:8px 12px;flex-shrink:0}
 #printPreview #previewPages{display:block;min-height:0;flex:1;overflow:auto;padding:12px}
 #previewPages>.service-sheet{zoom:var(--service-preview-scale,1);margin:0 auto 16px}
 body.service-preview-expanded #printPreview[open]{inset:3dvh 2vw;width:96vw;height:94dvh;border-radius:12px;border:1px solid #bac3ce}
 @media(max-width:900px){
  body.service-preview-open #appView{padding-right:0;padding-bottom:48dvh}
  body.service-preview-open #printPreview[open]{inset:auto 0 0;width:100%;height:46dvh;border-left:0;border-top:2px solid #bac3ce}
  #printPreview .preview-toolbar strong{font-size:13px}
  #printPreview .preview-toolbar label{font-size:11px}
  body.service-preview-expanded #printPreview[open]{inset:2dvh 2vw;width:96vw;height:96dvh}
 }
}

.schedule-time-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.schedule-time-editor fieldset{display:grid;gap:.4rem;min-width:0;padding:.4rem 0;border:0;margin:0}
.schedule-time-editor input,.schedule-time-editor button{width:100%;min-width:0;box-sizing:border-box}
.schedule-time-editor .remove-scheduled-shift{background:white;color:#9c2525;border:1px solid currentColor}
