.pf-desk{padding:16px!important}.pf-desk h2{font-size:17px;margin:0 0 6px}.pf-desk h2 span{font-size:12px;color:#63788d}.pf-desk h3{font-size:13px;margin:10px 0 5px}.pf-desk .pf-help{font-size:11px;color:#6c8096;margin:5px 0 8px;line-height:1.4}.pf-selectors{display:flex;align-items:end;gap:14px}.pf-desk .field{display:block;min-width:0!important;width:auto!important;flex:initial!important;margin:0 0 7px;font-size:12px}.pf-selectors .field{width:220px!important}.pf-desk input,.pf-desk select,.pf-desk textarea{width:100%;min-width:0!important;height:31px!important;padding:4px 7px!important;font-size:12px!important;box-sizing:border-box;border:1px solid #cad9e9;border-radius:4px;background:#fff;color:#102e50}.pf-desk textarea{height:32px!important;resize:vertical}.pf-desk button{font-size:11px;padding:6px 9px;min-height:29px}.pf-tools{margin-left:auto;display:flex;gap:6px;padding-bottom:7px}#pf-summary{display:flex;gap:8px 22px;flex-wrap:wrap;font-size:12px;padding:8px 0 12px;border-bottom:1px solid #dae4ee;margin-bottom:12px}#pf-summary strong{flex-basis:100%;font-size:14px}.pf-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,1fr);gap:18px}.pf-chart-scroll{max-height:calc(100dvh - 300px);min-height:160px;overflow:auto;padding-right:3px}.pf-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.pf-lane h3{background:#eceff2;padding:6px;border-radius:3px;text-align:center;margin:0 0 6px}.pf-process{display:block!important;text-align:left;width:100%;white-space:normal!important;background:#fff;border:1px solid #c8d7e7;color:#153858;margin-bottom:7px;padding:8px!important;border-radius:5px}.pf-process[aria-pressed=true]{border:2px solid #0864ec;background:#eef5ff;padding:7px!important}.pf-process strong,.pf-process small,.pf-process span,.pf-process em{display:block;overflow-wrap:anywhere}.pf-process strong{font-size:12px;line-height:1.35}.pf-process small{font-size:9px;color:#6c8096;margin-top:3px}.pf-process span{font-size:10px;color:#0764d9;margin-top:4px}.pf-process em{font-size:9px;font-style:normal;color:#64768b;margin-top:3px}.pf-arrow{text-align:center;color:#7890a5;font-size:15px;height:15px;margin-top:-6px}.pf-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#0864d9;margin-bottom:7px}.pf-entry-head>div{display:flex;gap:4px}#pf-editor{border:1px solid #d4e0ec;border-radius:6px;padding:12px;min-width:0;align-self:start}#pf-editor .pf-editor-scroll{max-height:calc(100dvh - 420px);min-height:260px;overflow:auto;padding-right:5px}#pf-editor fieldset{border:0;padding:0;margin:0;min-width:0}.pf-worker{display:flex;align-items:center;gap:5px;margin-bottom:5px}.pf-worker>span{font-size:10px;color:#6c8096;width:12px;flex:none}.pf-worker-scroll{max-height:212px;overflow:auto}.pf-desk .pd-table{width:100%!important;table-layout:fixed;min-width:0!important;border-collapse:collapse}.pf-desk .pd-table th{background:#eceff2!important;font-size:11px;padding:5px!important}.pf-desk .pd-table td{padding:3px!important}.pf-desk .pd-table th:last-child{width:68px}.pf-desk .pd-table input{text-align:right}.pf-rejection-scroll{max-height:249px;overflow:auto}.pf-quantities{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.pf-quantities input{font-size:16px!important;text-align:right}.pf-quantities input[readonly]{background:#f0f3f6}.pf-times{font-size:11px;margin:7px 0}.pf-times>div{display:grid;grid-template-columns:1fr 1fr 90px;gap:6px;margin-top:7px}.pf-empty{font-size:13px;color:#6c8096;padding:35px 10px;text-align:center}#pf-save{width:100%;font-size:12px;margin-top:2px}#pf-result[data-error=true]{color:#b11624}.pf-desk :disabled{cursor:default}.pf-desk fieldset:disabled input,.pf-desk fieldset:disabled select,.pf-desk fieldset:disabled textarea{background:#f4f6f8}.pf-desk [hidden]{display:none!important}

@media(max-width:900px){.pf-layout{grid-template-columns:1fr}.pf-chart-scroll{max-height:330px}#pf-editor .pf-editor-scroll{max-height:none}.pf-selectors{flex-wrap:wrap}.pf-tools{margin-left:0}.pf-desk{padding:12px!important}}



.pf-worker-excess{background:#fff0f0;border-radius:4px;padding:2px}.pf-worker-excess>span{color:#b11624}


@media(min-width:1200px){.pf-entry-columns{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(200px,1.1fr);gap:12px}.pf-desk .pf-rejects h3{margin-top:0}.pf-desk #pf-summary strong{flex-basis:auto}.pf-desk #pf-summary{align-items:center}.pf-desk #pf-editor .pf-editor-scroll{max-height:calc(100dvh - 480px)}.pf-desk #pf-editor{padding:10px}.pf-desk .pf-entry-head{margin-bottom:4px}.pf-desk .pf-entry-head button{padding:4px 7px}.pf-desk .pf-selectors .field{margin-bottom:3px}}
@media(min-width:901px){#pf-editor{max-height:calc(100dvh - 260px);display:flex;flex-direction:column;box-sizing:border-box}#pf-editor .pf-editor-scroll{flex:1;min-height:120px}#pf-editor .pf-entry-head,#pf-editor>h2,#pf-editor>.field,#pf-editor>.pf-help,#pf-save{flex-shrink:0}.pf-desk #pf-summary{padding-bottom:8px;margin-bottom:10px}.pf-chart-scroll{max-height:calc(100dvh - 280px)}}

.pf-footer{margin:8px 0 0 auto;width:calc((100% - 18px)/2.2);min-width:330px}.pf-footer #pf-dirty:empty,.pf-footer #pf-result:empty{display:none}.pf-footer #pf-save{margin:0}@media(min-width:901px){.pf-desk #pf-editor{max-height:calc(100dvh - 300px)}.pf-desk #pf-editor .pf-editor-scroll{max-height:calc(100dvh - 450px)}}@media(max-width:900px){.pf-footer{width:100%;min-width:0}}

/* Five readable worker rows; preserve room for attendance names and recorded times. */
.pf-desk .pf-worker-scroll{min-height:180px;max-height:216px;overflow-y:auto}.pf-desk .pf-worker{height:32px;margin-bottom:4px}.pf-desk .pf-worker select{height:32px!important;font-size:12px!important}.pf-desk #pf-editor{max-height:none}.pf-desk #pf-editor .pf-editor-scroll{min-height:370px;max-height:max(370px,calc(100dvh - 390px));flex:initial}.pf-desk .pf-help{overflow-wrap:normal;white-space:normal}
@media(min-width:1200px){.pf-layout{grid-template-columns:minmax(0,.6fr) minmax(570px,1fr)}.pf-entry-columns{grid-template-columns:minmax(300px,1.4fr) minmax(190px,.9fr)}.pf-footer{width:calc((100% - 18px)/1.6)}}
@media(min-width:901px) and (max-width:1199px){.pf-layout{grid-template-columns:1fr}.pf-entry-columns{display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(190px,.9fr);gap:14px}.pf-chart-scroll{max-height:250px}.pf-footer{width:100%}}
@media(max-width:900px){.pf-desk #pf-editor .pf-editor-scroll{max-height:none;min-height:0}.pf-desk .pf-worker-scroll{min-height:180px}.pf-tools{flex-wrap:wrap}}

/* Show actual attendance names and times directly, rather than empty worker slots. */
.pf-desk .pf-entry-columns{display:block}.pf-desk .pf-worker-scroll{min-height:250px;max-height:294px;overflow:auto}.pf-desk .pf-attendance-table th:first-child{width:42px}.pf-desk .pf-attendance-table th:nth-child(3){width:75px}.pf-desk .pf-attendance-table th:last-child{width:100px}.pf-desk .pf-attendance-table td{font-size:12px;vertical-align:middle;height:42px;padding:5px!important}.pf-desk .pf-attendance-table input[type=checkbox]{width:18px!important;height:18px!important;padding:0!important}.pf-attendance-table td:nth-child(2) strong,.pf-attendance-table td:nth-child(2) span,.pf-attendance-table small{display:block;line-height:16px;overflow-wrap:anywhere}.pf-attendance-table td:nth-child(2) strong{font-size:10px;color:#64798e}.pf-attendance-unavailable small{color:#b11624}.pf-desk .pf-attendance-table thead{position:sticky;top:0;z-index:1}.pf-desk .pf-rejects{margin-top:14px}.pf-desk #pf-editor .pf-editor-scroll{min-height:430px;max-height:max(430px,calc(100dvh - 330px))}.pf-desk .pf-attendance-empty{color:#8a5300}
@media(max-width:900px){.pf-desk #pf-editor .pf-editor-scroll{min-height:0;max-height:none}.pf-desk .pf-attendance-table th:nth-child(3){width:65px}.pf-desk .pf-attendance-table th:last-child{width:85px}}

/* Saved good output completes a process; keep its pending balance visible. */
.pf-desk .pf-pending{color:#c81e2b;font-weight:600}.pf-desk .pf-pending b{color:#c81e2b;font-size:14px}.pf-desk .pf-process.pf-completed{background:#eceff2;border-color:#c9d0d8;color:#5d6874}.pf-desk .pf-process.pf-completed[aria-pressed=true]{border-color:#7b8794;background:#e5e9ed}.pf-desk .pf-complete-label{color:#5d6874;font-weight:600}

.pf-desk .pf-worker-fieldset{margin:0;padding:0;border:0}.pf-desk #pf-cycle{background:#f0f3f6}

.pf-desk .pf-process .pf-totals{font-size:11px;font-weight:400;line-height:1.45;color:#52677c}

/* Review is readable; editing inputs have clear blue outlines. */
.pf-desk #pf-editor.pf-review .pf-editor-scroll{color:#626262}
.pf-desk #pf-editor.pf-review :is(input,select,textarea):disabled{color:#626262;-webkit-text-fill-color:#626262;opacity:1;background:#f4f6f8}
.pf-desk #pf-editor.pf-editing :is(input,select,textarea):not(:disabled):not([readonly]){color:#111;border:2px solid #2769ad;background:#f3f8ff}
.pf-desk #pf-editor.pf-editing :is(input,select,textarea):focus{outline:2px solid #145ab4;outline-offset:1px}
.pf-desk .pf-quantities{grid-template-columns:repeat(3,minmax(0,1fr))}
.pf-desk #pf-pending-qty{color:#c81e2b;font-weight:700}

.pf-desk #pf-editor.pf-review .pf-attendance-table tbody :is(td,strong,span){color:#626262}
.pf-desk #pf-editor.pf-editing .pf-attendance-table tbody :is(td,strong,span){color:#111}

/* Fill the full adjacent form height instead of ending the chart halfway down. */
@media(min-width:1200px){
 .pf-desk .pf-layout{align-items:stretch}
 .pf-desk #pf-chart{display:flex;flex-direction:column;min-height:calc(100dvh - 280px)}
 .pf-desk #pf-chart>h2,.pf-desk #pf-chart>.pf-help{flex-shrink:0}
 .pf-desk .pf-chart-scroll{height:0;flex:1 1 0;min-height:160px;max-height:none}
}

/* Compact worker allocations: blue entry cells, neutral calculated balances. */
.pf-desk{padding:10px!important}.pf-desk .pf-layout{gap:10px}.pf-desk .pf-selectors{gap:8px}.pf-desk #pf-summary{padding:5px 0;margin-bottom:7px}.pf-desk #pf-editor{padding:8px}.pf-desk .pf-help{margin:3px 0 5px}.pf-desk .pf-field{margin-bottom:4px}.pf-desk #pf-editor .pf-editor-scroll{min-height:0;max-height:calc(100dvh - 345px)}
.pf-desk .pf-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 8px}.pf-desk .pf-people>:nth-child(n+4){grid-column:1/-1}.pf-desk .pf-worker-scroll{min-height:0;max-height:260px;overflow:auto}.pf-desk .pf-attendance-table{min-width:1040px!important;width:100%!important}.pf-desk .pf-attendance-table th:first-child{width:28px}.pf-desk .pf-attendance-table th:nth-child(2){width:175px}.pf-desk .pf-attendance-table th:nth-child(3),.pf-desk .pf-attendance-table th:nth-child(4),.pf-desk .pf-attendance-table th:nth-child(5){width:72px}.pf-desk .pf-attendance-table th:nth-child(6){width:56px}.pf-desk .pf-attendance-table th:nth-child(7){width:125px}.pf-desk .pf-attendance-table th:nth-child(8),.pf-desk .pf-attendance-table th:nth-child(9){width:76px}.pf-desk .pf-attendance-table th:last-child{width:180px}.pf-desk .pf-attendance-table td{height:auto;padding:3px!important;font-size:12px}.pf-desk .pf-attendance-table td:nth-child(n+8){background:#f0f3f7;font-variant-numeric:tabular-nums}.pf-desk .pf-attendance-table input{text-align:left}.pf-desk .pf-attendance-table td:nth-child(2) span{font-size:12px}.pf-desk .pf-attendance-table td small{font-size:10px;line-height:13px}.pf-desk .pf-attendance-table th{white-space:normal}.pf-desk #pf-editor.pf-editing :is(input,select,textarea):not(:disabled):not([readonly]):not([type=checkbox]){background:#205f9f;color:#fff;border:1px solid #164e89}.pf-desk #pf-editor.pf-editing :is(input,textarea)::placeholder{color:#d4e5f9}.pf-desk #pf-editor.pf-editing select option{background:#205f9f;color:#fff}.pf-desk .pf-time-error td[data-pf-slots]{color:#b11624;font-weight:600}.pf-desk .pf-times>div{gap:5px;margin-top:4px}.pf-desk .pf-rejects{margin-top:7px}.pf-desk .pf-quantities{gap:6px;margin-top:7px}.pf-desk .pf-quantities input{font-size:14px!important}.pf-desk .pf-footer{margin-top:6px}.pf-desk #pf-editor .pf-attendance-table td input[type=checkbox]{accent-color:#205f9f}
@media(min-width:1200px){.pf-desk .pf-layout{grid-template-columns:minmax(230px,.55fr) minmax(0,1fr)}.pf-desk .pf-footer{width:calc((100% - 10px)/1.55)}}
@media(max-width:900px){.pf-desk #pf-editor .pf-editor-scroll{max-height:none}.pf-desk .pf-people{grid-template-columns:1fr 1fr}.pf-desk .pf-people>:nth-child(3){grid-column:1/-1}}
@media(pointer:coarse){.pf-desk input,.pf-desk select,.pf-desk textarea{min-height:40px!important;font-size:16px!important}.pf-desk .pf-attendance-table input[type=checkbox]{min-height:24px!important}.pf-desk button{min-height:40px}}
.pf-desk .pf-attendance-table th:nth-child(2){width:150px}.pf-desk .pf-attendance-table th:nth-child(5){width:56px}.pf-desk .pf-attendance-table th:nth-child(6),.pf-desk .pf-attendance-table th:nth-child(7){width:72px}.pf-desk .pf-attendance-table th:nth-child(8){width:120px}.pf-desk .pf-attendance-table th:nth-child(9){width:72px}.pf-desk .pf-attendance-table td:nth-child(n+8){background:transparent}.pf-desk .pf-attendance-table td[data-pf-net],.pf-desk .pf-attendance-table td[data-pf-available],.pf-desk .pf-attendance-table td[data-pf-slots]{background:#f0f3f7}.pf-desk .pf-attendance-table th:nth-child(7),.pf-desk .pf-attendance-table td[data-pf-available]{font-weight:600;color:#165da0}
.pf-desk .pf-attendance-table td:nth-child(2) strong,.pf-desk .pf-attendance-table td:nth-child(2) span{display:inline}.pf-desk .pf-attendance-table td:nth-child(2) strong{margin-right:4px}

/* The right form uses page scrolling; the left chart keeps its own position. */
.pf-desk .pf-layout{align-items:start}
.pf-desk #pf-editor{max-height:none!important;display:block}
.pf-desk #pf-editor .pf-editor-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-right:0}
.pf-desk .pf-worker-scroll,.pf-desk .pf-rejection-scroll{min-height:0!important;max-height:none!important;overflow-x:auto}
@media(min-width:1200px){
 .pf-desk #pf-chart{position:sticky;top:12px;align-self:start;height:calc(100dvh - 24px);min-height:0;max-height:calc(100dvh - 24px);display:flex;flex-direction:column}
 .pf-desk .pf-chart-scroll{height:auto;flex:1 1 0;min-height:100px;max-height:none;overflow:auto;overscroll-behavior:contain}
}

/* Per-worker free time lives directly below the two time inputs. */
.pf-desk .pf-attendance-table{min-width:960px!important}.pf-desk .pf-attendance-table th:nth-child(3){width:245px}.pf-desk .pf-attendance-table th:nth-child(4){width:55px}.pf-desk .pf-attendance-table th:nth-child(5),.pf-desk .pf-attendance-table th:nth-child(6){width:65px}.pf-desk .pf-attendance-table th:nth-child(7){width:125px}.pf-desk .pf-attendance-table th:last-child{width:75px}.pf-desk .pf-clock-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pf-desk .pf-clock-pair label{font-size:10px;margin:0}.pf-desk .pf-clock-pair input{width:100%;min-width:0!important}.pf-desk .pf-timeline-ticks{display:flex;justify-content:space-between;font-size:9px;line-height:12px;margin-top:3px}.pf-desk .pf-timeline-bar{display:flex;height:16px;overflow:hidden;border-radius:3px;background:#e7edf5}.pf-desk .pf-timeline-bar>span{overflow:hidden;white-space:nowrap;text-align:center;font-size:9px;line-height:16px;flex-shrink:0;min-width:0}.pf-desk .pf-slot-work{background:#2569ae;color:white}.pf-desk .pf-slot-free{background:#d5edc8;color:#24491c}.pf-desk .pf-slot-selected{background:#368b87;color:white}.pf-desk .pf-slot-break{background:#e1e4e9;color:#536070}.pf-desk .pf-free-choices{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.pf-desk .pf-free-choices button{padding:1px 3px!important;font-size:10px!important;line-height:14px;border:1px solid #b3d4a4;background:#edf8e5;color:#225819;min-height:0!important}.pf-desk .pf-booked-caption{display:block;font-size:9px;line-height:12px;color:#365b85;overflow-wrap:anywhere}.pf-desk .pf-slot-caption{font-size:10px;color:#607187}.pf-desk .pf-work-window small[data-pf-slots]{color:#b11624;display:block}.pf-desk .pf-work-window small[data-pf-slots]:empty{display:none}.pf-desk .pf-attendance-table th:nth-child(7){color:inherit;font-weight:inherit}

.pf-desk .pf-attendance-table th:nth-child(6){font-weight:600;color:#165da0}

.pf-desk .pf-timeline-bar{height:18px}.pf-desk .pf-timeline-bar>span{font-size:10px;line-height:18px}.pf-desk .pf-timeline-ticks{font-size:10px}.pf-desk .pf-booked-caption{font-size:10px;line-height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Show the complete process flow using normal page scrolling at every size. */
.pf-desk #pf-chart{position:static!important;display:block!important;height:auto!important;min-height:0!important;max-height:none!important}
.pf-desk .pf-chart-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;flex:none!important;overscroll-behavior:auto}

/* Keep the selected process and balance context visible over the entry form. */
.pf-desk .pf-process-header{position:sticky;top:0;z-index:5;background:#fff;padding:5px 0;border-bottom:1px solid #d4e0ec}

/* Keep occupied and selected time readable in both review and editing modes. */
.pf-desk #pf-editor .pf-attendance-table tbody .pf-timeline-bar>span.pf-slot-work,.pf-desk #pf-editor .pf-attendance-table tbody .pf-timeline-bar>span.pf-slot-selected{color:#fff;-webkit-text-fill-color:#fff}

/* Process stage colours: completed, in progress, and not started. */
.pf-desk .pf-lane h3{background:#12365b;color:#fff}
.pf-desk .pf-process,.pf-desk .pf-process[aria-pressed=true]{background:#fff;color:#000}
.pf-desk .pf-process.pf-in-progress,.pf-desk .pf-process.pf-in-progress[aria-pressed=true]{background:#b1bdca;color:#000}
.pf-desk .pf-process.pf-zero-pending,.pf-desk .pf-process.pf-zero-pending[aria-pressed=true]{background:#858f9b;color:#000}
.pf-desk .pf-process :is(strong,small,span,em,b){color:#000!important}

/* Keep plan identity above the selected process when the page scrolls. */
.pf-desk #pf-summary{position:sticky;top:0;z-index:6;background:#fff;padding:8px 0;box-shadow:0 2px 3px #00000012}
.pf-desk #pf-summary .pf-plan-quantity,.pf-desk #pf-summary .pf-plan-in-progress{color:#c81e2b}
.pf-desk .pf-process-header{top:var(--pf-summary-height,46px)}

.pf-desk .pf-process .pf-pending b{color:#c81e2b!important;font-weight:700}

/* Station Details controls this marker for every current process box. */
.pf-desk .pf-process .pf-mix-prod{color:#d00000!important;font-size:8pt!important;font-weight:400;text-align:right;line-height:1.2;margin-top:5px}

/* Actual predecessor output still available for this process. */
.pf-desk .pf-process .pf-available{font-size:8pt;color:#000!important;font-weight:400}.pf-desk .pf-process .pf-available b{display:inline;font-size:8pt;color:#c81e2b!important;font-weight:700}

.pf-desk .pf-process .pf-available b.pf-available-zero{color:#000!important}

.pf-mix-prod[role=link]{cursor:pointer;text-decoration:underline}.pf-mix-prod[role=link]:focus-visible{outline:2px solid #165f9d;outline-offset:2px}

/* MIX_PROD station identity stays light yellow in every process state. */
.pf-desk .pf-process.pf-mixed-production,.pf-desk .pf-process.pf-mixed-production[aria-pressed=true]{background:#fff2b3;color:#000}

/* Quantity validation stays beside the existing default-time control. */
.pf-default-times-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.pf-default-times-row>.pf-times{flex:1 1 260px}.pf-quantity-warning{color:#c81e2b;font-weight:700;font-size:11px;flex:1 1 300px}.pf-quantity-warning[hidden]{display:none}.pf-warning-blink{animation:pf-quantity-blink .6s ease-in-out 3}@keyframes pf-quantity-blink{0%,100%{opacity:1}50%{opacity:0}}

.pf-desk .pf-process .pf-adjustment{color:#c81e2b!important;font-size:8pt}

.pf-rejection-scroll .pf-rejection-cancel{display:block;font-size:8pt;padding:2px 5px;min-height:22px;margin-top:3px}
/* Align the rejection selector with its quantity input, above the CANCEL button. */
.pf-desk .pf-rejection-scroll .pd-table tbody td{vertical-align:top!important}
.pf-desk .pf-rejection-scroll .pd-table tbody :is(select,input){height:31px!important;margin:0}
/* Approved saved-record palette; EDIT keeps the established blue entry fields. */
.pf-desk #pf-editor.pf-review :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#513629!important;border-color:#513629!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.pf-desk #pf-editor.pf-review select option{background:#513629;color:#fff}
.pf-desk #pf-editor.pf-review input[type=checkbox]{accent-color:#513629}
.pf-desk #pf-editor.pf-review .pf-attendance-table tbody .pf-timeline-bar>span:is(.pf-slot-work,.pf-slot-selected){background:#513629;color:#fff!important;-webkit-text-fill-color:#fff}
/* Unused worker rows retain the original review colours. */
.pf-desk #pf-editor.pf-review .pf-attendance-row:not(:has(input[data-pf-attendance]:checked)) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#f4f6f8!important;border-color:#cad9e9!important;color:#626262!important;-webkit-text-fill-color:#626262!important;opacity:1!important}
.pf-desk #pf-editor.pf-review .pf-attendance-row:not(:has(input[data-pf-attendance]:checked)) .pf-timeline-bar>span.pf-slot-work{background:#2569ae}
.pf-desk #pf-editor.pf-review .pf-attendance-row:not(:has(input[data-pf-attendance]:checked)) .pf-timeline-bar>span.pf-slot-selected{background:#368b87}
/* Keep plan identity and its existing red quantity/status on a light blue row. */
.pf-desk #pf-summary{background:#e6f2ff}
/* Focus the complete selected-process entry area with a stronger light blue. */
.pf-desk #pf-editor,.pf-desk #pf-editor .pf-process-header,.pf-desk #pf-editor .pf-editor-scroll{background:#d4e7fa}
.pf-desk #pf-editor .pd-table tbody td{background:#d4e7fa}

/* Keep ordinary panel text readable without changing entry or status colours. */
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-help,
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-editor-scroll,
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .field,
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-clock-pair label,
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-attendance-table tbody :is(td,strong,small),
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-attendance-table td:nth-child(2)>span,
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-timeline-ticks,
.pf-desk #pf-editor:is(.pf-review,.pf-editing) [data-pf-slots],
.pf-desk #pf-editor:is(.pf-review,.pf-editing) .pf-booked-caption{color:#000}
.pf-desk #pf-editor .pf-timeline-bar>span:is(.pf-slot-free,.pf-slot-break){color:#000!important;-webkit-text-fill-color:#000!important}
.pf-desk #pf-editor.pf-review .pf-attendance-row:not(:has(input[data-pf-attendance]:checked)) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){color:#000!important;-webkit-text-fill-color:#000!important}
.pf-desk #pf-editor .pf-free-choices :is(button:disabled,.pf-slot-caption){color:#000;opacity:1}
.pf-desk #pf-editor .pf-attendance-unavailable small,
.pf-desk #pf-editor .pf-time-error [data-pf-slots]{color:#b11624}
.pf-desk #pf-editor input[type=number]{text-align:center!important}

/* Zero-pending process boxes use the approved white, bold lettering. */
.pf-desk .pf-process.pf-zero-pending,
.pf-desk .pf-process.pf-zero-pending :is(strong,small,span,em,b,.pf-available-zero,.pf-mix-prod),
.pf-desk .pf-process.pf-zero-pending .pf-available b.pf-available-zero{color:#fff!important;font-weight:700!important}
.pf-desk .pf-process.pf-zero-pending,
.pf-desk .pf-process.pf-zero-pending[aria-pressed=true]{background:#4b5563}
.pf-desk #pf-editor .pf-mix-warning{color:#d00000;font-weight:700;animation:pf-mix-warning-blink .7s ease-in-out 5}
@keyframes pf-mix-warning-blink{0%,100%{opacity:1}50%{opacity:0}}


/* Only the two requested section-heading undo controls. */
.pf-desk .pf-undo-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.pf-desk .pf-undo-heading>label{margin:0;font:inherit}
.pf-desk .pf-undo-heading>button{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:3px 7px;font-size:11px;line-height:16px;white-space:nowrap}
.pf-desk .pf-saved-updates{font-weight:650}
.pf-desk .pf-saved-updates>select{margin-top:5px}

/* F3: keep the blocked-process warning blinking until its editor is left. */
.pf-availability-warning{color:#c81e2b;font-weight:700;animation:pf-quantity-blink 1.2s ease-in-out infinite}
.pf-availability-warning[hidden]{display:none}
.pf-warning-blink{animation:pf-quantity-blink 1.2s ease-in-out infinite}

/* F3 available balance follows the process title with Pending-sized wording. */
.pf-desk .pf-header-available{display:inline-block;margin-left:12px;color:#c81e2b;font-size:11px;font-weight:700}
.pf-desk .pf-header-available b{font-size:14px}
