.staff-final-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:18px 0; }
.staff-final-fields label,.staff-final-note,.staff-final-picker { display:flex; flex-direction:column; gap:7px; font-weight:700; }
.staff-final-fields input,.staff-final-fields select,.staff-final-picker select,.staff-final-note textarea { width:100%; min-height:42px; border:1px solid var(--line,#b8d8d4); border-radius:8px; padding:9px 12px; color:inherit; background:#fff; font:inherit; }
.staff-final-picker { max-width:380px; margin-bottom:22px; }
.staff-final-weekdays { border:1px solid var(--line,#c8e1dc); border-radius:12px; margin:16px 0; padding:16px; }
.staff-final-weekdays legend { font-weight:750; padding:0 7px; }
.staff-final-weekdays p,.staff-final-help { color:#597575; font-size:.88rem; line-height:1.7; }
.staff-final-weekdays>div { display:flex; flex-wrap:wrap; gap:10px; }
.staff-final-weekdays label { display:inline-flex; gap:7px; align-items:center; padding:9px 14px; background:#f1f8f6; border-radius:8px; cursor:pointer; }
.staff-final-weekdays input { accent-color:#107f78; width:18px; height:18px; }
.staff-final-shortened { margin:20px 0; padding:18px; border-left:4px solid #58b7aa; border-radius:8px; background:#f2faf8; }
.staff-final-shortened h3 { margin:0 0 6px; font-size:1rem; }
.staff-final-shortened .staff-final-fields { margin-bottom:8px; }
.staff-final-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; max-width:760px; margin:14px 0 20px; }
.staff-final-calendar-day { min-height:76px; border:1px solid #badbd6; border-radius:9px; background:#fff; color:#174448; padding:5px; display:flex; flex-direction:column; gap:4px; overflow:hidden; transition:border-color .15s ease,box-shadow .15s ease,background .15s ease; }
.staff-final-calendar-day.is-registered { border-color:#94c7c0; box-shadow:inset 0 3px #dcefeb; }
.staff-final-calendar-day.is-selected { background:#e8f6f3; border-color:#0d7f76; box-shadow:inset 0 0 0 2px #0d7f76; }
.staff-final-day-select { min-height:28px; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; font:inherit; font-weight:800; padding:3px; display:block; width:100%; }
.staff-final-day-select:hover { background:#edf7f5; }
.staff-final-calendar-day.is-selected .staff-final-day-select { color:#075f59; background:rgba(255,255,255,.7); }
.staff-final-calendar button:focus-visible { outline:3px solid #c89026; outline-offset:2px; }
.staff-final-day-number { line-height:1.1; text-align:center; }
.staff-final-day-entries { display:flex; flex-direction:column; gap:3px; min-width:0; }
.staff-final-day-entry { display:block; width:100%; max-width:100%; min-height:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:1px solid transparent; border-radius:5px; padding:3px 4px; cursor:pointer; font:inherit; font-size:.68rem; line-height:1.25; font-weight:800; text-align:center; }
.staff-final-day-entry:hover { filter:brightness(.96); border-color:currentColor; }
.is-tone-absence-0 { color:#14593b; background:#dff3e8; border-color:#8cc7a4; }
.is-tone-absence-1 { color:#174f75; background:#e1effb; border-color:#9fc4df; }
.is-tone-absence-2 { color:#5c3f77; background:#eee6f7; border-color:#c8addd; }
.is-tone-absence-3 { color:#75420f; background:#ffead8; border-color:#e8b47c; }
.is-tone-absence-4 { color:#79374a; background:#f9e2e8; border-color:#dfa5b4; }
.is-tone-absence-5 { color:#155b59; background:#dff1f0; border-color:#94c8c5; }
.is-tone-shift-0 { color:#174f75; background:#e0effa; border-color:#9fc6df; }
.is-tone-shift-1 { color:#14593b; background:#def2e7; border-color:#8cc7a4; }
.is-tone-shift-2 { color:#75420f; background:#ffead8; border-color:#e8b47c; }
.is-tone-shift-3 { color:#5c3f77; background:#ece3f6; border-color:#c7abdc; }
.is-tone-shift-4 { color:#683b66; background:#f3e5f1; border-color:#d0afd0; }
.is-tone-shift-5 { color:#155b59; background:#dff1f0; border-color:#94c8c5; }
.staff-final-calendar-legend { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin:12px 0 0; color:#597575; font-size:.82rem; line-height:1.45; }
.staff-final-legend-item { display:inline-flex; align-items:center; gap:6px; }
.staff-final-legend-swatch { width:18px; height:14px; flex:0 0 auto; border-width:1px; border-style:solid; border-radius:4px; }
.staff-final-calendar-help { margin:8px 0 0; color:#597575; font-size:.84rem; line-height:1.55; }
.staff-final-weekday { text-align:center; font-size:.9rem; font-weight:700; }
.staff-final-weekday:first-child { color:#b85959; }
.staff-final-weekday:nth-child(7) { color:#396d9e; }
.staff-final-batch-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.staff-final-batch-actions>span { margin-right:auto; font-weight:700; }
#staffContractErrors:empty,#batchRequestReport:empty { display:none; }
#staffEffectiveHoliday { margin:16px 0; }
.staff-final-editor { position:fixed; inset-inline:0; bottom:auto; width:min(680px,calc(100vw - 32px)); max-height:calc(100vh - 32px); margin:0 auto; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:0; border-radius:14px; padding:0; color:#174448; background:#fff; box-shadow:0 18px 55px rgba(16,56,55,.3); }
.staff-final-editor::backdrop { background:rgba(14,49,49,.48); }
.staff-final-editor__inner { padding:22px; }
.staff-final-editor__head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid #d5e7e3; }
.staff-final-editor__head h3 { margin:2px 0 0; font-size:1.25rem; }
.staff-final-editor__eyebrow { margin:0; color:#597575; font-size:.84rem; font-weight:700; }
.staff-final-editor__close { width:38px; height:38px; flex:0 0 auto; border:1px solid #badbd6; border-radius:50%; background:#fff; color:#174448; cursor:pointer; font-size:1.35rem; line-height:1; }
.staff-final-edit-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin:18px 0; }
.staff-final-edit-fields label,.staff-final-editor .staff-final-note { display:flex; flex-direction:column; gap:7px; font-weight:700; }
.staff-final-edit-fields input,.staff-final-edit-fields select,.staff-final-editor textarea { width:100%; min-height:42px; border:1px solid #b8d8d4; border-radius:8px; padding:9px 12px; color:inherit; background:#fff; font:inherit; }
.staff-final-editor__errors:not(:empty) { margin-top:14px; padding:10px 12px; border-left:4px solid #cf5d55; background:#fff4f2; }
.staff-final-editor__errors p { margin:0; }
.staff-final-editor__actions { display:grid; grid-template-columns:auto 1fr auto auto; gap:10px; align-items:center; margin-top:20px; padding-top:16px; border-top:1px solid #d5e7e3; }
@media(max-width:640px) { .staff-final-fields,.staff-final-edit-fields { grid-template-columns:1fr; } .staff-final-weekdays label { padding:8px 10px; } .staff-final-calendar { gap:4px; } .staff-final-calendar-day { min-height:62px; padding:3px; } .staff-final-day-select { min-height:24px; padding:2px; } .staff-final-day-entry { font-size:.59rem; padding:2px; white-space:normal; overflow-wrap:anywhere; text-overflow:clip; } .staff-final-editor { width:calc(100vw - 18px); max-height:calc(100vh - 18px); } .staff-final-editor__inner { padding:16px; } .staff-final-editor__actions { grid-template-columns:1fr 1fr; } .staff-final-editor__actions>span { display:none; } .staff-final-editor__actions .btn { width:100%; } }
