@import "https://unpkg.com/open-props@1.7.5/open-props.min.css";@import "https://unpkg.com/open-props@1.7.5/normalize.min.css" layer(normalize);:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f6f8fb;--surface-panel:#fff;--surface-subtle:#fbfcfd;--surface-raised:#f7fafb;--surface-control:#e8edf1;--surface-control-hover:#d8e0e6;--surface-control-disabled:#eef2f4;--surface-status-strong:#dff5ee;--surface-tab-rail:#edf2f5;--surface-count-active:#f2fbf8;--surface-danger:#fff7f5;--surface-danger-soft:#fff1ef;--surface-danger-band:#fff5f3;--surface-warning:#fff8e7;--surface-warning-soft:#fffaf0;--text-primary:#13202b;--text-heading:#182632;--text-body:#1f2933;--text-secondary:#52616f;--text-muted:#607080;--text-control:#40515f;--text-strong:#243442;--text-disabled:#728292;--pre-text:#e8edf1;--border-default:#d9e1e7;--border-subtle:#d7e0e7;--border-control:#cad5dc;--border-control-subtle:#cfd9e1;--border-row:#d6dee5;--border-hover:#b9c7d0;--border-active:#6bb5a9;--border-success:#b8e1d5;--border-error:#efb0a8;--border-danger-band:#f1b3ad;--border-warning:#e8bb5d;--border-dashed:#c8d3dc;--accent-primary:#167d7f;--accent-hover:#0f6669;--accent-soft:#effaf6;--status-success:#0f5f52;--status-warning:#775000;--status-warning-strong:#604000;--status-error:#9d352c;--status-danger:#a63d33;--control-disabled:#94a3ad;--pre-bg:#111923;--focus-ring-color:#167d7f24;--focus-ring:0 0 0 3px var(--focus-ring-color);--focus-ring-strong-color:#167d7f29;--focus-ring-strong:0 0 0 3px var(--focus-ring-strong-color);--active-tab-shadow:inset 0 -3px 0 var(--accent-primary);--shadow-modal:var(--shadow-5,0 12px 40px #13202b2e);--z-base:0;--z-sticky:10;--z-dropdown:20;--z-modal:100;--z-toast:110;--duration-fast:.12s;--duration-normal:.2s;--ease-standard:var(--ease-3,cubic-bezier(.2, 0, 0, 1));--radius-panel:8px;--radius-control:6px;--radius-pill:999px;--font-sans:"Noto Sans TC", Inter, "Microsoft JhengHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);background:var(--page-bg);color:var(--text-body);font-synthesis:none;letter-spacing:0}*{box-sizing:border-box}body{background:var(--page-bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:0}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(1120px,100%);margin:0 auto;padding:18px}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:12px 0 18px;display:flex}h1,h2,h3,p{margin:0}h1{color:var(--text-primary);font-size:1.72rem;font-weight:800}h2{color:var(--text-heading);font-size:1.08rem;line-height:1.25}h3{font-size:1rem;line-height:1.35}.eyebrow{color:var(--text-secondary);text-transform:uppercase;font-size:.78rem;font-weight:700}.status-pill,.counter{background:var(--surface-control);min-height:34px;color:var(--text-control);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.88rem;font-weight:700;display:inline-flex}.status-pill.ok{color:var(--status-success);background:var(--surface-status-strong)}.notice-band,.submit-band,.feedback-panel,.form-panel,.report-context{border:1px solid var(--border-default);background:var(--surface-panel);border-radius:8px}.notice-band,.submit-band{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px 14px;display:flex}.notice-band span,.submit-band span{color:var(--text-muted);margin-top:3px;font-size:.9rem;display:block}.notice-band.danger{border-color:var(--border-danger-band);background:var(--surface-danger-band)}.notice-actions{align-items:center;gap:8px;display:flex}.report-context{background:var(--border-default);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.report-context div{background:var(--surface-panel);min-width:0;padding:9px 11px}.report-context span,.report-context strong{display:block}.report-context span{color:var(--text-muted);font-size:.76rem;font-weight:800}.report-context strong{color:var(--text-heading);overflow-wrap:anywhere;margin-top:3px;font-size:.92rem;line-height:1.3}.report-layout{gap:14px;display:grid}.workflow-cockpit{border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--surface-panel);gap:12px;margin-bottom:14px;padding:14px;display:grid}.workflow-summary{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.workflow-summary h2{color:var(--text-primary);font-size:1.12rem}.workflow-summary p{color:var(--text-muted);margin-top:4px;font-size:.9rem;line-height:1.45}.workflow-score{border:1px solid var(--border-success);border-radius:var(--radius-panel);background:var(--accent-soft);min-width:74px;color:var(--status-success);place-items:center;padding:8px 10px;display:grid}.workflow-score strong{font-size:1.05rem;line-height:1.1}.workflow-score span{color:var(--text-secondary);margin-top:2px;font-size:.76rem;font-weight:800}.workflow-meter{border-radius:var(--radius-pill);background:var(--surface-control);height:8px;overflow:hidden}.workflow-meter span{border-radius:inherit;background:var(--accent-primary);height:100%;transition:width var(--duration-normal) var(--ease-standard);display:block}.workflow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.workflow-step{border:1px solid var(--border-row);border-radius:var(--radius-control);background:var(--surface-subtle);min-height:56px;color:var(--text-control);cursor:pointer;text-align:left;gap:5px;padding:9px 10px;display:grid}.workflow-step:hover,.workflow-step:focus{border-color:var(--border-hover);background:var(--surface-panel)}.workflow-step:focus{box-shadow:var(--focus-ring);outline:none}.workflow-step span,.workflow-step strong{overflow-wrap:anywhere}.workflow-step span{font-size:.84rem;font-weight:800;line-height:1.25}.workflow-step strong{color:var(--text-muted);font-size:.78rem;line-height:1.25}.workflow-step.ready{border-color:var(--border-success);background:var(--accent-soft)}.workflow-step.ready strong{color:var(--status-success)}.workflow-step.needs-input,.workflow-step.active{border-color:var(--border-warning);background:var(--surface-warning-soft)}.workflow-step.needs-input strong,.workflow-step.active strong{color:var(--status-warning-strong)}.workflow-step.current{box-shadow:var(--active-tab-shadow)}.form-panel,.feedback-panel{padding:16px}.section-tabs{border:1px solid var(--border-default);background:var(--surface-tab-rail);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;display:grid}.section-tab{min-width:0;min-height:46px;color:var(--text-control);cursor:pointer;overflow-wrap:anywhere;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:8px 7px;font-size:.92rem;font-weight:800;line-height:1.25;display:inline-flex}.section-tab:hover,.section-tab:focus{background:var(--surface-panel);border-color:var(--border-hover)}.section-tab:focus{box-shadow:0 0 0 3px var(--focus-ring-strong-color);outline:none}.section-tab.active{border-color:var(--accent-primary);background:var(--surface-panel);color:var(--status-success);box-shadow:inset 0 -3px 0 var(--accent-primary)}.entry-section{min-width:0}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-lead{color:var(--text-muted);margin-top:4px;font-size:.9rem;line-height:1.5}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-grid.two{margin-top:12px}.structured-counts{gap:12px;margin-top:12px;display:grid}.structured-counts.single{max-width:760px}.date-scope-note{border:1px solid var(--border-control-subtle);background:var(--surface-raised);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.date-scope-note span{color:var(--text-muted);font-size:.84rem;font-weight:800}.date-scope-note strong{color:var(--text-primary);font-size:1rem}.count-panel{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:8px;padding:12px}.count-panel-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.count-row{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;grid-template-columns:minmax(86px,.8fr) minmax(112px,1fr);align-items:center;gap:10px;min-height:48px;padding:8px;display:grid}.count-row.active{border-color:var(--border-active);background:var(--surface-count-active)}.check-control,.count-input{align-items:center;gap:8px;min-width:0;display:flex}.check-control{color:var(--text-strong);font-weight:800}.check-control input{width:20px;min-height:20px;accent-color:var(--accent-primary)}.count-input input{min-height:36px;padding:7px 8px}.count-input span{color:var(--text-secondary);white-space:nowrap;font-size:.86rem;font-weight:800}.labor-status{border:1px solid var(--border-control-subtle);background:var(--surface-raised);color:var(--text-secondary);border-radius:6px;gap:4px;margin-bottom:12px;padding:10px 12px;font-size:.9rem;line-height:1.45;display:grid}.labor-status.ok{border-color:var(--border-success);background:var(--accent-soft);color:var(--status-success)}.labor-status.danger{border-color:var(--border-error);background:var(--surface-danger);color:var(--status-error)}.labor-status strong,.labor-status span{overflow-wrap:anywhere}.labor-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.labor-list{gap:12px;display:grid}.labor-row-card{border:1px solid var(--border-subtle);background:var(--surface-panel);border-radius:8px;padding:12px}.labor-turnout-summary{border:1px solid var(--border-subtle);background:var(--surface-panel);border-radius:8px;overflow:hidden}.labor-turnout-summary-button{width:100%;min-height:58px;color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1.1fr) minmax(96px,auto) minmax(0,1.4fr) 28px;align-items:center;gap:8px;padding:10px 12px;display:grid}.labor-turnout-summary-button:hover,.labor-turnout-summary-button:focus-visible{background:var(--surface-subtle)}.labor-turnout-summary-name,.labor-turnout-summary-count,.labor-turnout-summary-breakdown{overflow-wrap:anywhere;min-width:0}.labor-turnout-summary-name,.labor-turnout-summary-count{font-weight:900}.labor-turnout-summary-breakdown{color:var(--text-secondary);font-size:.88rem;font-weight:800}.labor-turnout-summary-arrow{color:var(--text-secondary);justify-self:end;font-size:1.35rem;font-weight:900;line-height:1}.labor-row-card header{grid-template-columns:minmax(0,1fr) 40px;align-items:end;gap:10px;margin-bottom:10px;display:grid}.labor-contractor-field{margin-bottom:0}.labor-count-grid{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(98px,.5fr);align-items:stretch;gap:10px;display:grid}.labor-count-row{grid-template-columns:minmax(72px,.8fr) minmax(104px,1fr)}.labor-total{border:1px solid var(--border-row);background:var(--surface-subtle);border-radius:6px;align-content:center;gap:3px;min-height:48px;padding:8px 10px;display:grid}.labor-summary{gap:8px;display:grid}.worker-duplicate-warning ul{gap:4px;margin:6px 0 0;padding-left:20px;display:grid}.unclassified-triage{border:1px solid var(--border-warning);background:var(--surface-warning-soft);border-radius:6px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.unclassified-list{gap:8px;display:grid}.unclassified-worker{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:8px;display:grid}.unclassified-worker span{min-width:0;color:var(--text-strong);overflow-wrap:anywhere;font-size:.88rem;font-weight:800}.unclassified-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.labor-worker-panel{border:1px solid var(--border-row);background:var(--surface-subtle);border-radius:6px;gap:10px;padding:10px;display:grid}.labor-worker-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.labor-worker-heading>div:first-child{gap:3px;min-width:0;display:grid}.labor-worker-heading strong{color:var(--text-strong);font-size:.92rem;line-height:1.3}.labor-worker-heading span{color:var(--text-secondary);font-size:.84rem;line-height:1.4}.labor-worker-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.worker-sheet-table{border:1px solid var(--border-row);background:var(--border-row);border-radius:6px;overflow:hidden}.worker-sheet-head,.worker-sheet-body{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.worker-sheet-column{border-right:1px solid var(--border-row);border-bottom:1px solid var(--border-row);background:var(--surface-raised);min-width:0;color:var(--text-muted);text-align:center;padding:5px 6px;font-size:.72rem;font-weight:900;line-height:1.2}.worker-detail-row.worker-sheet-cell{border-right:1px solid var(--border-row);border-bottom:1px solid var(--border-row);background:var(--surface-panel);grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;min-height:42px;padding:4px;display:grid;position:relative}.worker-name-field{min-width:0;margin-bottom:0}.worker-name-field input{width:100%;min-width:0;min-height:30px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:5px 6px}.worker-name-field input:focus{box-shadow:none;background:0 0;border:0}.roster-settings-panel .worker-detail-row.worker-sheet-cell,.labor-worker-list .worker-detail-row.worker-sheet-cell,.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-locked=true] input{cursor:pointer}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-temporary=true] input{cursor:text}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-selected=false]{background:var(--surface-panel);color:var(--text-secondary)}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-selected=true]{box-shadow:inset 0 0 0 2px var(--accent-primary)}.worker-detail-row.worker-sheet-cell.type-taiwanese{border-color:var(--border-active);background:var(--surface-count-active)}.worker-detail-row.worker-sheet-cell.type-foreign{border-color:var(--border-error);background:var(--surface-danger-soft)}.worker-detail-row.worker-sheet-cell.role-foreman{border-top:3px solid var(--border-success)}.worker-detail-row.worker-sheet-cell[data-worker-unclassified=true] .worker-name-field input{background:0 0}.worker-detail-row.worker-sheet-cell[data-worker-status=taiwanese],.worker-detail-row.worker-sheet-cell.type-taiwanese{border-left:3px solid var(--border-active)}.worker-detail-row.worker-sheet-cell[data-worker-status=foreign],.worker-detail-row.worker-sheet-cell.type-foreign{border-left:3px solid var(--border-error)}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-selected=false]{border-left-color:var(--border-row);background:var(--surface-panel);box-shadow:none}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-selected=false] input{color:var(--text-secondary)}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-selected=true][data-worker-status=taiwanese]{background:var(--surface-count-active)}.labor-worker-list .worker-detail-row.worker-sheet-cell[data-worker-selected=true][data-worker-status=foreign]{background:var(--surface-danger-soft)}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell,.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-locked=true] input{cursor:pointer}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-temporary=true] input{cursor:text}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-selected=false]{border-left-color:var(--border-row);background:var(--surface-panel);box-shadow:none}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-selected=false] input{color:var(--text-secondary)}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-selected=true]{box-shadow:inset 0 0 0 2px var(--accent-primary)}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-selected=true][data-worker-status=taiwanese]{background:var(--surface-count-active)}.roster-settings-panel[data-roster-catalog-turnout] .worker-detail-row.worker-sheet-cell[data-worker-selected=true][data-worker-status=foreign]{background:var(--surface-danger-soft)}.roster-settings-panel .worker-detail-row.worker-sheet-cell:focus-within{outline:var(--focus-ring);outline-offset:2px}.roster-settings-panel{border:1px solid var(--border-active);background:var(--surface-count-active);border-radius:8px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.labor-worker-panel>.roster-settings-panel{margin-bottom:0}.roster-settings-heading,.roster-settings-controls{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.roster-settings-heading>div:first-child{gap:3px;min-width:0;display:grid}.roster-settings-heading strong{color:var(--text-strong);font-size:.96rem;line-height:1.3}.roster-settings-heading span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.84rem;line-height:1.4}.roster-settings-action-row{flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.roster-settings-action-row .compact{white-space:nowrap;min-width:0;padding-inline:8px}.roster-settings-controls .field{margin-bottom:0}.roster-settings-total{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;align-content:center;gap:3px;min-width:132px;min-height:42px;padding:8px 10px;display:grid}.roster-settings-total span,.labor-total span{color:var(--text-muted);font-size:.78rem;font-weight:800}.roster-settings-total strong,.labor-total strong{color:var(--text-primary);font-size:1rem;line-height:1.2}.roster-settings-total small,.labor-total small{color:var(--text-muted);font-size:.78rem;font-weight:800;line-height:1.3}.roster-mode-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.roster-classification-tools{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;gap:8px;padding:8px;display:grid}.roster-classification-tools>div:first-child{gap:2px;min-width:0;display:grid}.roster-classification-tools strong{color:var(--text-strong);font-size:.9rem;line-height:1.3}.roster-classification-tools span{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.roster-mode-button{border:1px solid var(--border-row);background:var(--surface-panel);min-width:0;min-height:34px;color:var(--text-strong);cursor:pointer;font:inherit;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:.84rem;font-weight:900;line-height:1.2;display:inline-flex}.roster-mode-button[aria-pressed=true],.worker-mode-button[aria-pressed=true]{box-shadow:inset 0 0 0 1px}.roster-mode-mark{background:var(--surface-panel);border-radius:4px;justify-content:center;align-items:center;min-width:20px;min-height:20px;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.mode-taiwanese[aria-pressed=true]{border-color:var(--border-active);background:var(--surface-count-active)}.mode-foreign[aria-pressed=true]{border-color:var(--border-error);background:var(--surface-danger-soft)}.mode-foreman[aria-pressed=true]{border-color:var(--border-success);background:var(--surface-status-strong)}.mode-clear[aria-pressed=true]{border-color:var(--border-strong);background:var(--surface-raised)}.mode-taiwanese .roster-mode-mark{border:1px solid var(--border-active);color:var(--accent-primary)}.mode-foreign .roster-mode-mark{border:1px solid var(--border-error);color:var(--status-error)}.mode-foreman .roster-mode-mark{border:1px solid var(--border-success);color:var(--status-success)}.mode-clear .roster-mode-mark{border:1px solid var(--border-strong);color:var(--text-secondary)}.contractor-equipment-panel{border:1px solid var(--border-row);background:var(--surface-subtle);border-radius:6px;gap:8px;margin-top:10px;padding:10px;display:grid}.contractor-equipment-owner{border:1px solid var(--border-active);background:var(--surface-count-active);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.contractor-equipment-owner span{color:var(--text-muted);white-space:nowrap;font-size:.78rem;font-weight:800;line-height:1.2}.contractor-equipment-owner strong{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;text-align:right;font-size:.95rem;line-height:1.25}.contractor-equipment-heading{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:.86rem;line-height:1.35;display:flex}.contractor-equipment-heading strong{color:var(--text-strong);font-size:.88rem}.contractor-equipment-heading span{overflow-wrap:anywhere;text-align:right}.contractor-equipment-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.equipment-check-row{border:1px solid var(--border-row);background:var(--surface-panel);min-height:40px;color:var(--text-strong);border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(76px,.8fr);align-items:center;gap:7px;padding:7px 8px;font-size:.88rem;font-weight:800;line-height:1.25;display:grid}.equipment-check-row.active{border-color:var(--border-active);background:var(--surface-count-active)}.equipment-check-label,.equipment-check-count{align-items:center;gap:6px;min-width:0;display:flex}.equipment-check-label span{overflow-wrap:anywhere}.equipment-check-row input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent-primary)}.equipment-check-count input{border:1px solid var(--border-control);width:100%;min-width:0;min-height:32px;color:var(--text-body);font:inherit;border-radius:6px;padding:6px 7px}.equipment-check-count input:disabled{background:var(--surface-control-disabled);color:var(--text-disabled)}.equipment-check-count span{color:var(--text-muted);font-size:.8rem;font-weight:800}.contractor-equipment-summary{gap:12px;display:grid}.equipment-summary-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.equipment-summary-heading h3{color:var(--text-primary);margin-bottom:4px}.equipment-summary-heading p{color:var(--text-secondary);font-size:.93rem;line-height:1.5}.contractor-equipment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.contractor-equipment-summary-card{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:8px;min-width:0;padding:12px}.contractor-equipment-summary-card header{gap:3px;margin-bottom:10px;display:grid}.contractor-equipment-summary-card header span{color:var(--text-muted);font-size:.78rem;font-weight:800;line-height:1.2}.contractor-equipment-summary-card header strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:1rem;line-height:1.3}.equipment-summary-list,.equipment-review-lines{gap:7px;display:grid}.equipment-summary-list{margin:0;padding:0;list-style:none}.equipment-summary-list li{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.equipment-summary-list span,.equipment-review-lines li{color:var(--text-strong)}.equipment-summary-list strong{color:var(--text-primary);white-space:nowrap;font-size:.95rem;line-height:1.25}.equipment-review-lines{margin:0;padding-left:20px}.work-content-panel{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:8px;gap:12px;margin-top:14px;padding:12px;display:grid}.work-content-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.work-content-heading h3{color:var(--text-primary)}.work-content-heading>span{border:1px solid var(--border-active);background:var(--surface-count-active);color:var(--status-success);white-space:nowrap;border-radius:6px;padding:6px 8px;font-size:.84rem;font-weight:800}.work-entry-list{gap:10px;display:grid}.work-entry-card{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:8px;min-width:0;padding:12px}.work-entry-card header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.work-entry-card header div{gap:3px;min-width:0;display:grid}.work-entry-card header span:first-child{color:var(--text-muted);font-size:.78rem;font-weight:800}.work-entry-card header strong{color:var(--text-primary);overflow-wrap:anywhere;line-height:1.3}.work-category-pill{border:1px solid var(--border-control-subtle);background:var(--surface-subtle);max-width:128px;color:var(--text-secondary);overflow-wrap:anywhere;text-align:center;border-radius:6px;padding:6px 8px;font-size:.78rem;font-weight:800;line-height:1.2}.work-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.work-entry-grid .field{margin-bottom:0}.work-entry-grid input:disabled{background:var(--surface-control-disabled);color:var(--text-disabled)}.work-entry-derived{border:1px solid var(--border-row);background:var(--surface-subtle);border-radius:6px;grid-column:1/-1;grid-template-columns:repeat(3,auto minmax(0,1fr));gap:8px;padding:8px 10px;display:grid}.work-entry-derived span{color:var(--text-muted);font-size:.78rem;font-weight:800;line-height:1.3}.work-entry-derived strong{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font-size:.92rem;line-height:1.3}.work-labor-snapshot{border:1px solid var(--border-active);background:var(--surface-count-active);border-radius:6px;grid-column:1/-1;gap:8px;padding:10px;display:grid}.work-labor-snapshot.empty{border-color:var(--border-row);background:var(--surface-subtle)}.work-labor-snapshot>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.work-labor-snapshot span,.work-labor-snapshot dt{color:var(--text-muted);font-size:.78rem;font-weight:800;line-height:1.3}.work-labor-snapshot strong{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;text-align:right;font-size:.95rem;line-height:1.3}.work-labor-snapshot dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.work-labor-snapshot dl div{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;padding:7px 8px}.work-labor-snapshot dd{color:var(--text-primary);margin:2px 0 0;font-size:.9rem;font-weight:800;line-height:1.3}.work-labor-snapshot p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.45}.work-notes-field{margin-bottom:0}.work-content-actions{justify-content:flex-start;display:flex}.work-review-summary,.work-category-summary{gap:8px;display:grid}.work-category-summary{margin:0}.work-category-summary div{border:1px solid var(--border-row);background:var(--surface-panel);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 10px;display:grid}.work-category-summary dt{color:var(--text-strong);overflow-wrap:anywhere;font-weight:800}.work-category-summary dd{color:var(--text-muted);white-space:nowrap;margin:0;font-size:.9rem;font-weight:800}.field{gap:6px;margin-bottom:12px;display:grid}.field.full{grid-column:1/-1}.field span{color:var(--text-control);font-size:.87rem;font-weight:700}input,select,textarea{border:1px solid var(--border-control);background:var(--surface-panel);width:100%;min-height:42px;color:var(--text-body);border-radius:6px;outline:none;padding:9px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.primary,.secondary,.icon-button{cursor:pointer;border-radius:6px;min-height:40px;font-weight:800}.primary{background:var(--accent-primary);min-width:128px;color:var(--surface-panel);padding:10px 15px}.primary:hover,.primary:focus{background:var(--accent-hover)}.primary:disabled{cursor:not-allowed;background:var(--control-disabled)}.secondary{background:var(--surface-control);color:var(--text-strong);padding:9px 12px}.secondary.compact{white-space:nowrap;min-height:34px;padding:7px 10px;font-size:.86rem}.secondary:hover,.secondary:focus{background:var(--surface-control-hover)}.secondary:disabled{cursor:not-allowed;color:var(--text-disabled);background:var(--surface-control-disabled)}.icon-button{background:var(--surface-control);width:40px;color:var(--text-strong);font-size:1.1rem}.icon-button.danger{border:1px solid var(--border-error);background:var(--surface-danger);width:42px;min-height:42px;color:var(--status-error);transition:background var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;padding:0;font-size:1.2rem;display:inline-flex}.icon-button.danger:hover,.icon-button.danger:focus{background:var(--surface-danger-soft)}.warning-box,.ok-box,.empty-state{border-radius:6px;padding:10px 12px;font-size:.91rem}.warning-box{border:1px solid var(--border-warning);background:var(--surface-warning);color:var(--status-warning)}.ok-box{border:1px solid var(--border-success);background:var(--accent-soft);color:var(--status-success)}.empty-state{border:1px dashed var(--border-dashed);background:var(--surface-subtle);color:var(--text-muted)}.field.is-error input,.field.is-error select,.field.is-error textarea{border-color:var(--border-error)}.field-hint{color:var(--status-error);margin-top:2px;font-size:.82rem}.skeleton{background:linear-gradient(90deg, var(--surface-subtle) 25%, var(--surface-control) 50%, var(--surface-subtle) 75%);border-radius:var(--radius-control);background-size:200% 100%;height:42px;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:2px solid var(--accent-soft);border-top-color:var(--accent-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{z-index:var(--z-toast);background:var(--surface-panel);border:1px solid var(--border-active);border-radius:var(--radius-panel);min-height:44px;box-shadow:var(--shadow-modal);color:var(--status-success);align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:700;display:none;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toast.show{display:inline-flex}.sticky-footer,.sticky-action-bar{background:var(--surface-panel);border-top:1px solid var(--border-default);z-index:var(--z-sticky);position:sticky;bottom:0}.sticky-action-bar{border:1px solid var(--border-default);border-radius:var(--radius-panel);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.sticky-action-bar div{gap:3px;min-width:0;display:grid}.sticky-action-bar strong,.sticky-action-bar span{overflow-wrap:anywhere}.sticky-action-bar strong{color:var(--text-primary);font-size:.95rem}.sticky-action-bar span{color:var(--text-muted);font-size:.84rem;line-height:1.35}.stepper{gap:4px;display:flex}.stepper-step{text-align:center;color:var(--text-muted);border-bottom:3px solid var(--border-default);flex:1;padding:8px 4px;font-size:.78rem;font-weight:700}.stepper-step.done{color:var(--status-success);border-color:var(--border-active)}.stepper-step.active{color:var(--status-success);border-color:var(--accent-primary)}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-control);animation:none}.spinner{animation:none}}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.review-block{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:8px;min-width:0;padding:12px}.review-block h3{color:var(--text-primary);margin-bottom:9px}.review-block p,.summary-muted{color:var(--text-secondary);font-size:.93rem;line-height:1.55}.validation-actions{border:1px solid var(--border-warning);background:var(--surface-warning-soft);border-radius:8px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.validation-actions h3{color:var(--status-warning)}.validation-actions ol{gap:8px;margin:0;padding-left:20px;display:grid}.validation-actions li{color:var(--status-warning-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.validation-actions span{overflow-wrap:anywhere}.summary-list{gap:7px;margin:0;display:grid}.summary-list div{grid-template-columns:minmax(76px,.45fr) minmax(0,1fr);gap:10px;display:grid}.summary-list dt{color:var(--text-muted);font-size:.82rem;font-weight:800}.summary-list dd{color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-weight:700}.summary-lines{gap:8px;margin:0;padding-left:20px;display:grid}.summary-lines li{color:var(--text-strong)}.summary-lines strong,.summary-lines span{overflow-wrap:anywhere;line-height:1.45;display:block}.summary-lines span{color:var(--text-muted);font-size:.9rem}.submit-band{margin-top:0}.feedback-panel{margin-top:14px}.feedback-panel.danger{border-color:var(--border-error);background:var(--surface-danger)}.feedback-panel ul{margin:10px 0 0;padding-left:20px}pre{background:var(--pre-bg);max-height:380px;color:var(--surface-control);white-space:pre-wrap;word-break:break-word;border-radius:6px;padding:12px;overflow:auto}details{margin-top:12px}summary{cursor:pointer;color:var(--text-control);font-weight:800}@media (width<=820px){.app-shell{padding:12px}h1{font-size:1.42rem;line-height:1.25}.topbar,.notice-band,.submit-band,.section-heading{flex-direction:column;align-items:flex-start}.report-context,.field-grid,.count-grid,.review-grid{grid-template-columns:1fr}.report-context{position:static}.workflow-cockpit{padding:12px}.workflow-summary{flex-direction:column;align-items:stretch;gap:10px}.workflow-score{justify-content:space-between;align-items:center;min-width:0;display:flex}.workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.workflow-step{min-height:52px;padding:8px}.section-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px}.section-tab{min-height:44px;padding:7px 6px;font-size:.86rem;line-height:1.2}.count-row{grid-template-columns:minmax(0,.9fr) minmax(112px,1.1fr)}.labor-actions{grid-template-columns:1fr;display:grid}.labor-actions .primary,.labor-actions .secondary{width:100%}.labor-count-grid{grid-template-columns:1fr}.labor-turnout-summary-button{grid-template-columns:minmax(0,1fr) 26px}.labor-turnout-summary-name,.labor-turnout-summary-count,.labor-turnout-summary-breakdown{grid-column:1}.labor-turnout-summary-arrow{grid-area:1/2/span 3;align-self:center}.labor-worker-heading,.roster-settings-controls{grid-template-columns:1fr}.roster-settings-heading{grid-template-columns:minmax(0,1fr);align-items:start}.roster-settings-heading .secondary,.roster-settings-heading .roster-settings-action-row .secondary{width:auto}.roster-settings-action-row{grid-column:1/-1;justify-content:end;align-items:start;width:100%;display:flex}.roster-settings-action-row .secondary{flex:1 1 0;width:auto}.roster-settings-total{min-width:0}.roster-mode-group{grid-template-columns:repeat(3,minmax(0,1fr))}.worker-detail-row.worker-sheet-cell{grid-template-columns:minmax(0,1fr);min-height:44px}.labor-worker-actions{grid-template-columns:1fr;justify-content:stretch;display:grid}.labor-row-card header{grid-template-columns:minmax(0,1fr) 40px}.labor-count-row{grid-template-columns:minmax(0,.9fr) minmax(112px,1.1fr)}.contractor-equipment-owner,.contractor-equipment-heading,.equipment-summary-heading{flex-direction:column;align-items:flex-start}.contractor-equipment-owner strong,.contractor-equipment-heading span{text-align:left}.contractor-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-equipment-summary-grid,.work-content-heading,.work-entry-card header{grid-template-columns:1fr}.work-content-heading{display:grid}.work-content-heading>span,.work-category-pill{text-align:left;width:100%;max-width:none}.work-entry-grid,.work-entry-derived{grid-template-columns:1fr}.work-labor-snapshot>div:first-child{flex-direction:column;align-items:flex-start}.work-labor-snapshot strong{text-align:left}.work-labor-snapshot dl,.work-category-summary div{grid-template-columns:1fr}.work-category-summary dd{white-space:normal}.summary-list div{grid-template-columns:minmax(68px,.4fr) minmax(0,1fr)}.validation-actions li{grid-template-columns:1fr}.notice-actions,.primary{width:100%}.sticky-action-bar{flex-direction:column;align-items:stretch}.primary,.secondary{width:100%}}
