/* Daily staffing entry and web report. Print sheet styles live in staffing-print.css. */
.modal.staffing-modal{width:1160px;max-width:calc(100vw - 36px)}
.staffing-modal .modal-head{padding:18px 22px;z-index:4}
.staffing-root{--staffing-line:#dbe6df;--staffing-green:#236b52;--staffing-soft:#f0f6f2;--staffing-ink:#294237;--staffing-muted:#768b7e;color:var(--staffing-ink);font-size:13px;line-height:1.5}
.staffing-root *{box-sizing:border-box}
.staffing-root [hidden]{display:none!important}
.staffing-root button,.staffing-root input,.staffing-root select{font:inherit}
.staffing-root button{cursor:pointer}
.staffing-root button:disabled{cursor:wait;opacity:.65}
.staffing-root button:focus-visible,.staffing-root input:focus-visible,.staffing-root select:focus-visible{outline:2px solid #6aa88b;outline-offset:2px}
.staffing-root .staffing-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--staffing-line);border-radius:6px;background:#fff;color:var(--staffing-ink);padding:7px 11px;font-size:12px;font-weight:500;white-space:nowrap;line-height:1.5}
.staffing-root .staffing-button:hover{background:var(--staffing-soft)}
.staffing-root .staffing-button[aria-pressed=true],.staffing-root .staffing-primary{background:var(--staffing-green);border-color:var(--staffing-green);color:#fff}
.staffing-root .staffing-button[aria-pressed=true]:hover,.staffing-root .staffing-primary:hover{background:#1c5944}
.staffing-root .staffing-remove{color:#a45b4f}
.staffing-root .staffing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.staffing-root .staffing-toolbar,.staffing-root .staffing-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 22px;border-bottom:1px solid var(--staffing-line)}
.staffing-root .staffing-toolbar{background:#fbfdfb}
.staffing-root .staffing-date{color:var(--staffing-muted);font-size:12px}
.staffing-root .staffing-count{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--staffing-muted);margin:0}
.staffing-root .staffing-count strong{color:var(--staffing-ink);font-weight:600}
.staffing-root .staffing-count span{font-size:11px}
.staffing-root .staffing-management{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;padding:13px 22px 11px}
.staffing-root .staffing-manager-group{display:flex;align-items:center;gap:11px;min-height:30px}
.staffing-root .staffing-label{flex:none;color:var(--staffing-muted);font-size:11px;min-width:33px}
.staffing-root .staffing-manager-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.staffing-root .staffing-manager-person{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:5px 10px;background:var(--staffing-soft);border:1px solid var(--staffing-line);border-radius:5px;line-height:1.5}
.staffing-root .staffing-manager-person strong{font-size:13px;font-weight:500}
.staffing-root .staffing-manager-person small{font-size:11px;color:var(--staffing-muted)}
.staffing-root .staffing-leaders{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--staffing-line);padding:0 22px 13px;min-height:41px}
.staffing-root .staffing-muted{font-size:11px;color:var(--staffing-muted)}
.staffing-root .staffing-allocation{display:flex;gap:7px;flex-wrap:wrap;padding:9px 22px;background:var(--staffing-soft);border-bottom:1px solid var(--staffing-line);color:var(--staffing-muted);font-size:11px}
.staffing-root .staffing-allocation strong{color:var(--staffing-green);font-weight:500}
.staffing-root .staffing-status{padding:10px 22px;background:#f7faf7;color:var(--staffing-green);border-bottom:1px solid var(--staffing-line);font-size:12px}
.staffing-root .staffing-error{color:#ac4d43;font-size:12px;line-height:1.6;white-space:pre-wrap;margin:10px 0 0}
.staffing-root .staffing-status.staffing-error{padding:10px 22px;margin:0;background:#fff8f5}
.staffing-root .staffing-table-scroll{overflow-x:auto}
.staffing-root .staffing-web-table{width:100%;min-width:740px;table-layout:fixed;border-collapse:collapse;white-space:normal;text-align:left}
.staffing-root .staffing-position-column{width:185px}
.staffing-root .staffing-break-column{width:112px}
.staffing-root .staffing-web-table th,.staffing-root .staffing-web-table td{border-bottom:1px solid var(--staffing-line);padding:10px 13px;text-align:left;vertical-align:middle}
.staffing-root .staffing-web-table thead th{font-size:11px;font-weight:500;color:var(--staffing-muted);background:#fbfdfb}
.staffing-root .staffing-web-table thead th:last-child{text-align:center}
.staffing-root .staffing-web-table .staffing-section th{padding:7px 22px;color:var(--staffing-green);background:var(--staffing-soft);font-size:12px;font-weight:600}
.staffing-root .staffing-web-table tbody tr:hover{background:transparent}
.staffing-root .staffing-position{font-size:12px;font-weight:500;background:#fff;color:var(--staffing-ink)}
.staffing-root .staffing-position>div{display:flex;justify-content:space-between;align-items:center;gap:7px}
.staffing-root .staffing-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border:1px solid var(--staffing-line);border-radius:5px;padding:0;color:var(--staffing-green);background:#fff;font-size:18px;font-weight:400;line-height:1}
.staffing-root .staffing-add:hover{background:var(--staffing-soft)}
.staffing-root .staffing-workers{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:7px;align-items:stretch}
.staffing-root .staffing-worker{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;border:1px solid var(--staffing-line);background:#fff;border-radius:6px;padding:7px 9px;text-align:left;line-height:1.4;font-weight:400;overflow-wrap:anywhere;white-space:normal;color:var(--staffing-ink)}
.staffing-root .staffing-worker:hover,.staffing-root .staffing-worker-damage{background:var(--staffing-soft)}
.staffing-root .staffing-worker-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;font-size:13px;font-weight:400}
.staffing-root .staffing-new{font-weight:700}
.staffing-root .staffing-worker-origin{color:var(--staffing-green);font-size:10px;font-weight:400}
.staffing-root .staffing-worker-shoe,.staffing-root .staffing-worker-phone{font-size:11px;color:var(--staffing-muted)}
.staffing-root .staffing-unassigned{font-size:11px;color:#91a197}
.staffing-root .staffing-web-table .staffing-break{border-left:1px solid var(--staffing-line);text-align:center;font-size:11px;color:var(--staffing-muted);line-height:1.6}
.staffing-root .staffing-break strong{display:block;font-size:12px;font-weight:500;color:var(--staffing-ink);margin-bottom:4px}
.staffing-root .staffing-break span{display:block}
.staffing-root .staffing-editor{margin:14px 20px;padding:16px 17px;border:1px solid #cddfd2;border-radius:8px;background:var(--staffing-soft)}
.staffing-root .staffing-editor-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:13px}
.staffing-root .staffing-editor-title h3{font-size:14px;font-weight:600;margin:0;color:var(--staffing-ink)}
.staffing-root .staffing-editor fieldset{border:0;padding:0;margin:0;min-width:0}
.staffing-root .staffing-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px}
.staffing-root .staffing-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;color:var(--staffing-muted)}
.staffing-root .staffing-field>span>small{font-size:10px;margin-left:6px;color:#93a397}
.staffing-root .staffing-field-full{grid-column:1/-1}
.staffing-root #staffing-match-region:empty{display:none}
.staffing-root .staffing-field input,.staffing-root .staffing-field select{min-width:0;width:100%;background:#fff;border:1px solid var(--staffing-line);border-radius:5px;padding:8px 10px;color:var(--staffing-ink);font-size:13px;line-height:1.5}
.staffing-root .staffing-field input[readonly],.staffing-root .staffing-field input:disabled,.staffing-root .staffing-field select:disabled{background:#eaf0eb;color:var(--staffing-muted);opacity:1}
.staffing-root .staffing-check{display:flex;align-items:center;gap:7px;color:var(--staffing-ink);font-size:13px;margin-top:2px}
.staffing-root .staffing-check input{accent-color:var(--staffing-green);margin:0}
.staffing-root .staffing-check small{color:var(--staffing-muted);font-size:11px;margin-left:3px}
.staffing-root .staffing-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}
.staffing-root .staffing-preview{overflow:auto;background:#edf2ee;padding:18px 20px;max-height:none}
.staffing-root .staffing-preview>.staffing-print-sheet{box-shadow:0 2px 12px #173c2420;margin:0 auto}
.staffing-root .staffing-empty{padding:30px 10px;color:var(--staffing-muted);text-align:center;font-size:12px}
.staffing-root .staffing-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-top:1px solid var(--staffing-line);background:#fafcfb;color:var(--staffing-muted);font-size:11px}
.staffing-root .staffing-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.staffing-root .staffing-controls{gap:11px}.staffing-root .staffing-count{order:3;flex-basis:100%}.staffing-root .staffing-toolbar,.staffing-root .staffing-controls,.staffing-root .staffing-management{padding-left:16px;padding-right:16px}.staffing-root .staffing-leaders{padding-left:16px;padding-right:16px}}
@media(max-width:600px){.modal.staffing-modal{max-width:100%;width:100%}.staffing-modal .modal-head{padding:16px}.staffing-root .staffing-controls>.staffing-actions{gap:5px}.staffing-root .staffing-button{padding:7px 9px;font-size:11px}.staffing-root .staffing-management{flex-direction:column;gap:10px}.staffing-root .staffing-fields{grid-template-columns:minmax(0,1fr)}.staffing-root .staffing-field-full{grid-column:auto}.staffing-root .staffing-editor{margin:12px;padding:13px}.staffing-root .staffing-preview{padding:12px}.staffing-root .staffing-footer{padding:12px 16px}.staffing-root .staffing-footer>span{max-width:75%}}
@media(pointer:coarse){.staffing-root .staffing-button,.staffing-root .staffing-add{min-height:40px}.staffing-root .staffing-add{min-width:32px}.staffing-root .staffing-field input,.staffing-root .staffing-field select{font-size:16px}.staffing-root .staffing-check{min-height:40px}}

/* Compact entry: placement/name/shoes, then phone/company. */
.staffing-root .staffing-management.staffing-management-vertical{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;padding-bottom:13px;border-bottom:1px solid var(--staffing-line)}
.staffing-root .staffing-fields.staffing-fields-compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px 15px}
.staffing-root .staffing-fields-compact>.staffing-field-third{grid-column:span 2}
.staffing-root .staffing-fields-compact>.staffing-field-half{grid-column:span 3}
.staffing-root .staffing-fields-compact>.staffing-field-full{grid-column:1/-1}
.staffing-root .staffing-field .staffing-shoe-control{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--staffing-line);border-radius:5px;background:#fff}
.staffing-root .staffing-field .staffing-shoe-control select{width:100%;flex:1 1 55%;border:0;background:transparent;min-width:0}
.staffing-root .staffing-field .staffing-shoe-control input{width:45%;flex:1 1 45%;border:0;border-left:1px solid var(--staffing-line);border-radius:0 5px 5px 0;min-width:0;background:transparent}
.staffing-root .staffing-worker-flags{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}
.staffing-root #staffing-roster-help{display:block;margin-top:7px}
@media(max-width:600px){.staffing-root .staffing-fields.staffing-fields-compact{grid-template-columns:minmax(0,1fr)}.staffing-root .staffing-fields-compact>.staffing-field-third,.staffing-root .staffing-fields-compact>.staffing-field-half{grid-column:auto}}

/* Name mode and ordered batch confirmation. */
.staffing-root .staffing-name-control{display:flex;align-items:stretch;min-width:0;border:1px solid var(--staffing-line);border-radius:5px;background:#fff}
.staffing-root .staffing-field .staffing-name-control input{flex:1 1 auto;width:0;border:0;background:transparent}
.staffing-root .staffing-field .staffing-name-control select{flex:0 0 72px;width:72px;border:0;border-left:1px solid var(--staffing-line);border-radius:0 5px 5px 0;background:#f7faf8;padding-left:8px;padding-right:4px}
.staffing-root .staffing-batch-scroll{overflow-x:auto;border:1px solid var(--staffing-line);border-radius:5px;background:#fff}
.staffing-root .staffing-batch-table{width:100%;min-width:540px;border-collapse:collapse;font-size:12px;text-align:left}
.staffing-root .staffing-batch-table th,.staffing-root .staffing-batch-table td{padding:7px 10px;border-bottom:1px solid var(--staffing-line);text-align:left;vertical-align:middle;font-weight:400;white-space:normal}
.staffing-root .staffing-batch-table thead th{color:var(--staffing-muted);background:#f7faf8;font-weight:500}
.staffing-root .staffing-batch-table tr:last-child>*{border-bottom:0}
.staffing-root .staffing-batch-table th:first-child{width:28%}
.staffing-root .staffing-batch-table th:last-child,.staffing-root .staffing-batch-table td:last-child{text-align:center;width:76px}
.staffing-root .staffing-batch-table select{display:block;max-width:100%;margin-top:4px;padding:5px;font-size:11px;border:1px solid var(--staffing-line);border-radius:4px;background:#fff}
.staffing-root .staffing-batch-table small{display:block;margin-top:2px}
.staffing-root .staffing-batch-table input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--staffing-green)}
