.nfab{padding:18px}.nf-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0}.nf-controls input{min-width:0}.nf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0}.nf-field{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:13px}.nf-field input,.nf-field select,.nf-field textarea,.nf-controls input,.nf-controls select{background:var(--navy-mid);color:var(--text-primary);border:1px solid var(--navy-border);border-radius:7px;padding:9px;font:inherit;min-width:0}.nf-field textarea{min-height:75px}.nf-btn{border:1px solid var(--navy-border);background:var(--navy-mid);color:var(--text-primary);padding:9px 13px;border-radius:7px;cursor:pointer;font:inherit}.nf-btn.primary{background:#ed1c24;color:#fff;border-color:#ed1c24}.nf-btn:disabled{opacity:.5;cursor:wait}.nf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--navy-border);border-radius:9px;padding:13px;margin:8px 0}.nf-row small{display:block;color:var(--text-muted);margin-top:5px}.nf-dialog{margin:auto;background:var(--navy-mid);color:var(--text-primary);border:1px solid var(--navy-border);border-radius:13px;padding:22px;width:min(900px,94vw);max-height:90dvh;overflow:auto}.nf-dialog::backdrop{background:#0009}.nf-dialog h3{margin:16px 0 8px}.nf-error{color:var(--danger,#d33);white-space:pre-wrap}.nf-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.nf-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.nf-detail dt{font-size:12px;color:var(--text-muted)}.nf-detail dd{margin:3px 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.nf-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.nf-day{border:1px solid var(--navy-border);border-radius:9px;padding:12px}.nf-day h3{margin:0 0 12px}.nf-slot{border-left:4px solid #ed1c24;border-bottom:1px solid var(--navy-border);padding:9px;margin:5px 0;font-size:13px}.nf-slot[data-kind=manpower]{border-left-color:#448bc6}.nf-slot[data-kind=delivery]{border-left-color:#a77b20}.nf-parts{width:100%;border-collapse:collapse}.nf-parts input,.nf-parts select{max-width:100%;width:100%;box-sizing:border-box}.nf-parts td{padding:5px;vertical-align:bottom}.nf-history details{border-top:1px solid var(--navy-border);padding:9px 0}.nf-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.nf-muted{color:var(--text-muted);font-size:13px}@media(max-width:600px){.nf-row{align-items:flex-start;flex-wrap:wrap}.nf-dialog{padding:13px}.nf-grid{grid-template-columns:1fr}.nfab{padding:10px}}

/* Align action baselines with labeled fields, including wrapped mobile controls. */
.nf-controls > .nf-field{flex:1 1 180px;min-width:0}.nf-controls .nf-field input,.nf-controls .nf-field select{width:100%;height:40px;box-sizing:border-box}.nf-controls > .nf-btn{height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0}.nf-btn{min-height:40px;line-height:20px;box-sizing:border-box}.nf-parts .nf-btn{white-space:nowrap}@media(max-width:600px){.nf-controls{gap:8px}.nf-controls > .nf-field{flex-basis:100%}.nf-controls > .nf-btn{flex:1 1 auto}}

.nfab .nf-preview-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:12px 0}.nf-preview-controls .nf-field{flex:0 1 190px;margin:0}.nf-preview-controls .nf-btn{min-height:42px}.nf-preview{min-width:0;max-width:100%}.nf-sheet-wrap{max-width:100%;overflow:auto;border:1px solid #172f50;border-radius:8px}.nf-manpower-sheet{width:100%;min-width:850px;border-collapse:collapse;table-layout:fixed;color:#111;background:white}.nf-manpower-sheet caption{text-align:left;font-size:22px;padding:14px;background:white;color:#111}.nf-manpower-sheet th,.nf-manpower-sheet td{border:1px solid #384759;padding:9px 12px;white-space:normal;overflow-wrap:anywhere}.nf-manpower-sheet thead th{background:#111!important;color:white!important}.nf-manpower-sheet th:nth-child(1){width:31%}.nf-manpower-sheet th:nth-child(2){width:19%}.nf-manpower-sheet th:nth-child(3){width:22%}.nf-manpower-sheet th:nth-child(4){width:28%}.nf-manpower-sheet .nf-region th{background:#002060!important;color:white!important;text-align:center}.nf-manpower-sheet td{background:var(--sheet-row,#fff)!important;color:#111!important}.nf-manpower-sheet td:not(:last-child){font-weight:600;text-align:center}.nf-preview .hub-fab-schedule-wrap{max-height:70vh}@media(max-width:600px){.nf-preview-controls .nf-btn{flex:1 1 135px}.nf-preview-controls .nf-field{flex:1 1 100%}.nf-preview-controls input{width:100%}}
#ops-native-schedule .nf-manpower-sheet thead th{background:#111!important;color:#fff!important}#ops-native-schedule .nf-manpower-sheet .nf-region th{background:#002060!important;color:#fff!important}#ops-native-schedule .nf-manpower-sheet td{background:var(--sheet-row,#fff)!important;color:#111!important}#ops-native-schedule .nf-btn.primary{background:#e71925!important;color:#fff!important;border-color:#e71925!important}#ops-native-schedule .nf-preview .hub-fab-schedule-wrap{width:100%;max-width:100%;margin-left:0;margin-right:0}

/* Review queue: type filters and request notes visible alongside job details. */
.nf-request-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 6px}.nf-request-tabs .nf-btn{white-space:nowrap}.nf-request-tabs .nf-btn[aria-pressed=true]{background:#c8101c!important;border-color:#c8101c!important;color:#fff!important}.nf-request-tabs .nf-btn:focus-visible,.nf-review-actions .nf-btn:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}
.nf-review-row{border:1px solid var(--navy-border);border-radius:9px;margin:8px 0;background:var(--navy-mid);display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.5fr) auto;align-items:start;gap:24px;padding:18px}.nf-review-info,.nf-review-notes{min-width:0}.nf-review-info h3{font-size:16px;line-height:1.4;margin:0 0 10px;overflow-wrap:anywhere}.nf-review-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;font-size:13px;margin:0}.nf-review-meta dt{color:var(--text-muted);margin:0}.nf-review-meta dd{margin:0;overflow-wrap:anywhere;color:var(--text-primary)}.nf-review-status{display:inline-block;margin-top:12px;padding:4px 9px;border:1px solid var(--navy-border);border-radius:6px;font-size:12px;font-weight:600;background:var(--navy-mid);color:var(--text-primary)}.nf-review-status[data-state=draft]{background:#fff1cc;color:#6b4200;border-color:#e8c777}.nf-review-notes{border-left:1px solid var(--navy-border);padding-left:22px}.nf-review-notes h4{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.nf-review-notes h5{font-size:12px;color:var(--text-muted);margin:12px 0 4px}.nf-review-notes p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.nf-review-actions{display:flex;align-items:flex-start}.nf-review-actions .nf-btn{min-width:90px}
@media(max-width:1000px){.nf-review-row{grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr);gap:18px}.nf-review-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:650px){.nf-review-row{grid-template-columns:minmax(0,1fr);gap:16px;padding:14px}.nf-review-notes{border-left:0;border-top:1px solid var(--navy-border);padding:14px 0 0}.nf-review-actions{grid-column:auto}.nf-request-tabs{gap:6px}.nf-request-tabs .nf-btn{flex:1 1 auto;font-size:13px}}

/* Weekly manager planning and the two department schedules. */
.nf-department-picker{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.nf-department-picker fieldset{border:1px solid var(--navy-border);border-radius:8px;padding:12px;min-width:0}.nf-department-picker legend{padding:0 5px;color:var(--text-primary);font-weight:600}.nf-department-picker label{display:flex;align-items:center;gap:9px;margin:8px 0}.nf-department-picker input[type=checkbox]{width:18px;height:18px;accent-color:#c8101c}.nf-department-picker p{grid-column:1/-1}
.nf-week-kpis{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin:15px 0}.nf-week-kpis section{border:1px solid var(--navy-border);border-top:5px solid #36856a;border-radius:8px;padding:15px;background:var(--navy-mid);color:var(--text-primary)}.nf-week-kpis section:nth-child(2){border-top-color:#db970a}.nf-week-kpis section:nth-child(3){border-top-color:#1480d8}.nf-week-kpis h3{font-size:14px;margin:0 0 8px}.nf-week-kpis strong{font-size:24px}.nf-week-kpis p{font-size:13px;line-height:1.6;margin:8px 0 0;color:var(--text-secondary)}
.nf-fabrication-sheet,.nf-requested-sheet{width:100%;min-width:1100px;border-collapse:collapse;background:#fff;color:#163454;font-size:13px;table-layout:fixed}.nf-fabrication-sheet caption,.nf-requested-sheet caption{font-size:20px;text-align:left;padding:15px;background:#f1f7fc;color:#163454;font-weight:700}.nf-fabrication-sheet th,.nf-fabrication-sheet td,.nf-requested-sheet th,.nf-requested-sheet td{padding:10px;border:1px solid #cedcea;overflow-wrap:anywhere;vertical-align:top;white-space:pre-wrap;color:#163454!important;background:#fff!important}.nf-fabrication-sheet thead th,.nf-requested-sheet thead th{background:#163454!important;color:#fff!important}.nf-fabrication-sheet .nf-sheet-day th{background:var(--day-color)!important;color:#fff!important;text-align:left;padding:10px;font-size:14px}.nf-fabrication-sheet td:nth-child(1){font-weight:600}.nf-fabrication-sheet tbody tr:nth-child(even) td,.nf-requested-sheet tbody tr:nth-child(even) td{background:#f1f7fc!important}.nf-fabrication-sheet .nf-check{text-align:center;font-size:20px;font-weight:700}.nf-fabrication-sheet th:first-child{width:190px}.nf-fabrication-sheet small{display:block;color:#854d0e}.nf-requested-sheet th:nth-child(1){width:130px}.nf-requested-sheet th:nth-child(2){width:210px}.nf-requested-sheet th:nth-child(3){width:175px}.nf-requested-sheet th:nth-child(4){width:auto}.nf-requested-sheet th:nth-child(5){width:95px}.nf-requested-sheet .nf-btn{background:#f1f5f9!important;color:#163454!important;border-color:#bacada!important}
@media(max-width:750px){.nf-week-kpis{grid-template-columns:1fr}.nf-department-picker{grid-template-columns:1fr}.nf-week-kpis strong{font-size:21px}}
.nf-main-sheet{width:100%;min-width:1200px;table-layout:fixed;border-collapse:collapse;font:13px Calibri,Arial,sans-serif;background:#fff;color:#000}.nf-main-sheet th,.nf-main-sheet td{border:1px solid #000;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top;color:#000!important;background:#d9d9d9!important}.nf-main-sheet thead th{font-weight:700;text-align:center;vertical-align:middle;padding:10px 6px;overflow-wrap:normal}.nf-main-sheet .nf-main-title{font-style:italic;font-size:18px}.nf-main-sheet .nf-main-fab{background:#f8cbad!important;font-size:16px}.nf-main-sheet .nf-main-delivery{background:#9dc3e6!important;font-size:16px}.nf-main-sheet .nf-main-out{background:#ff0!important}.nf-main-sheet .nf-main-in{background:#00b0f0!important}.nf-main-sheet .nf-main-day th{background:var(--main-day)!important;text-align:center;font-weight:700}.nf-main-sheet tbody td:nth-child(7),.nf-main-sheet tbody td:nth-child(8){background:#ddebf7!important;color:#002060!important}.nf-main-sheet tbody td:nth-child(9),.nf-main-sheet tbody td:nth-child(10){background:#fff!important;color:#0070c0!important}.nf-main-sheet .nf-check{text-align:center;font-size:18px;font-weight:700}.nf-main-sheet small{display:block;margin-top:5px}
.nf-dialog .nf-department-picker label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;margin:8px 0;font-weight:400}.nf-dialog .nf-department-picker input[type=checkbox]{flex:0 0 18px;margin:0;padding:0;min-height:18px;height:18px}
.nf-main-sheet tbody td:nth-child(8),.nf-main-sheet tbody td:nth-child(10){padding:10px 5px;font-size:12px}
