#labors .labors-panel { padding: clamp(12px, 2vw, 24px); min-width: 0; overflow: hidden; }
.labors-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; flex-wrap: wrap; }
.labors-heading h2 { margin: 0 0 6px; color: #153d30; }
.labors-heading p { margin: 0 0 10px; }
.labors-actions, .labor-block-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.labors-row-actions { display: flex; gap: 8px; align-items: center; }
#labors .labors-delete-button { color: #fff; background: #a12c35; border: 1px solid #8b242d; border-radius: 8px; min-height: 36px; padding: 7px 12px; font: inherit; cursor: pointer; }
.labors-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin: 16px 0; }
.labors-filters label { display: grid; gap: 5px; min-width: 150px; }
.labors-filters :is(input,select) { min-height: 40px; padding: 7px 10px; background: #fff; color: #173d30; border: 1px solid #b9cdc2; border-radius: 8px; }
.labors-pending-note { padding: 11px 14px; border: 1px solid #c6dbd0; border-radius: 9px; color: #355e4a; background: #eef6f0; line-height: 1.55; }
.labors-count { font-size: 13px; font-weight: 700; color: #426452; }
.labors-table-wrap { max-height: min(62dvh, 640px); min-height: 150px; overflow: auto; border: 1px solid #ceddd4; border-radius: 10px; scrollbar-gutter: stable; }
.labors-table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; font-size: 12px; }
.labors-table thead th { position: sticky; top: 0; z-index: 2; background: #183f31; color: #fff; border-bottom: 1px solid #315b47; padding: 11px 13px; white-space: nowrap; }
.labors-table tbody td { padding: 10px 13px; color: #1c392b; border-bottom: 1px solid #e0e9e2; white-space: nowrap; max-width: 360px; overflow-wrap: anywhere; }
.labors-table tbody tr:nth-child(even) td { background: #f4f8f5; }
.labors-table tbody tr:hover td { background: #e7f2eb; }
.labors-table tbody td:last-child { position: sticky; right: 0; background: #f4f8f5; border-left: 1px solid #dce7df; }
#labors .secondary-button, #laborDialog .secondary-button { color: #fff; background: #294c3c; border-color: #345e4b; border-radius: 8px; min-height: 36px; }
#labors .primary-button, #laborDialog .primary-button { color: #fff; background: #116b48; border-color: #116b48; border-radius: 8px; min-height: 40px; }
#labors button:hover, #laborDialog button:hover { filter: brightness(1.08); }
#labors button:focus-visible, #laborDialog :is(button,input,select):focus-visible { outline: 2px solid #168761; outline-offset: 3px; }
#labors button:disabled, #laborDialog button:disabled { opacity: .65; cursor: wait; }
.labors-error { color: #9c2731; background: #fff0f0; padding: 10px 12px; border-radius: 8px; line-height: 1.5; }
.labors-error:empty { display: none; }
.labors-muted { color: #597264; font-size: 12px; line-height: 1.5; }
#laborDialog { width: min(96vw, 1000px); max-height: 92dvh; padding: 0; overflow: hidden; background: #fff; color: #183c2c; border: 1px solid #bbd0c2; border-radius: 15px; }
#laborDialog::backdrop { background: #071d12b8; }
.labor-form { display: flex; flex-direction: column; max-height: 91dvh; min-height: 0; }
.labor-form-head, .labor-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex: 0 0 auto; background: #f0f6f2; padding: 14px 20px; }
.labor-form-head { border-bottom: 1px solid #d3e1d7; }
.labor-form-head h2, .labor-form-head p { margin: 0; }
.labor-form-footer { justify-content: flex-end; border-top: 1px solid #d3e1d7; }
.labor-form-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 16px 20px; overscroll-behavior: contain; }
.labor-form fieldset { border: 1px solid #cfdfd4; border-radius: 10px; margin: 0 0 18px; padding: 14px; min-width: 0; }
.labor-form legend { padding: 0 6px; font-weight: 800; color: #224e38; }
.labor-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.labor-form-grid label { display: grid; align-content: start; gap: 5px; font-size: 13px; font-weight: 700; min-width: 0; }
.labor-form-grid :is(input,select) { width: 100%; min-width: 0; min-height: 40px; box-sizing: border-box; padding: 8px 10px; color: #173b2a; background: #fff; border: 1px solid #b8cec0; border-radius: 7px; font: inherit; font-weight: 500; }
.labor-form-grid input[readonly], .labor-form-grid :disabled { background: #edf3ee; color: #5c7163; opacity: 1; }
.labor-form-grid small { font-weight: 500; font-size: 11px; color: #597264; }
.labor-block-actions { margin: 14px 0 8px; }
.labor-block-actions > span { margin-right: auto; font-size: 13px; font-weight: 800; }
.labor-blocks { display: grid; grid-template-columns: repeat(auto-fill,minmax(140px,1fr)); gap: 7px; max-height: 220px; overflow: auto; padding: 3px; }
.labor-block { display: flex; align-items: center; gap: 8px; padding: 9px; background: #f1f7f3; border: 1px solid #cee0d3; border-radius: 8px; cursor: pointer; }
.labor-block input { width: 18px; height: 18px; flex: 0 0 18px; accent-color: #13754e; }
.labor-block span { display: grid; font-size: 13px; gap: 2px; }
.labor-block small { color: #567462; }
@media(max-width:760px) {
  .labors-heading, .labors-heading > div { width: 100%; }
  .labors-actions button { flex: 1; }
  .labors-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .labors-filters label { min-width: 0; }
  .labors-filters :is(input,select) { width: 100%; min-width: 0; box-sizing: border-box; }
  .labors-table-wrap { max-height: 53dvh; }
  .labor-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .labor-form-head, .labor-form-footer, .labor-form-body { padding: 12px; }
  .labor-form-footer button { flex: 1; }
}
@media(max-width:430px) {
  .labor-form-grid { grid-template-columns: minmax(0,1fr); }
  .labor-form fieldset { padding: 10px; }
}
