.worker-register { min-width: 0; }
.route-register-dialog, #round-editor, #assignment-history { box-sizing:border-box; width:min(640px, calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--surface); color:var(--text-primary); overflow:auto; }
.route-register-dialog::backdrop, #round-editor::backdrop { background:var(--scrim); }
.route-register-dialog form { display:grid; gap:12px; }
.register-route-row { display:block; overflow-wrap:anywhere; margin-block:12px; }
#register-detail-content { overflow-wrap:anywhere; }
#register-round-clear { margin:8px; }
.worker-register h2 { margin: 0; }
.register-search { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; }
.register-search label { display: grid; gap: 8px; font-weight: 600; flex: 1 1 220px; min-width: 0; }
.register-search .text-input { width: 100%; min-width: 0; }
.register-search button { min-height: 44px; }
.register-pagination { display: flex; flex-wrap: wrap; gap: 12px; }
.register-table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: left; }
.register-table th, .register-table td { padding: 12px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; vertical-align: top; }
.register-table th { font-size: .82rem; color: var(--text-secondary); }
.register-name { color: var(--brand-primary); background: none; border: 0; text-align: left; text-decoration: underline; text-underline-offset: 3px; font: inherit; font-weight: 650; cursor: pointer; padding: 8px 0; min-height: 44px; overflow-wrap: anywhere; max-width: 100%; }
#worker-register-status[role="alert"], #worker-detail-status[role="alert"] { color: var(--danger); }
#worker-register-detail { box-sizing: border-box; width: min(580px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); color: var(--text-primary); overflow: auto; }
#worker-register-detail::backdrop { background: var(--scrim); }
.register-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.register-detail-heading h2 { margin: 0; }
#worker-detail-content dl { display: grid; gap: 16px; }
#worker-detail-content dt { color: var(--text-secondary); font-size: .85rem; }
#worker-detail-content dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.register-name:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
@media (max-width: 600px) {
  .register-table th:nth-child(3), .register-table td:nth-child(3) { display: none; }
  .register-table th, .register-table td { padding: 10px 4px; }
  .register-table th:first-child { width: 57%; }
  .register-search label { flex-basis: 100%; }
  #worker-register-detail { padding: 20px; }
}

.bulk-dialog { width:min(820px, calc(100% - 24px)); overflow-wrap:anywhere; }
.bulk-dialog .text-input { width:100%; box-sizing:border-box; min-width:0; }
.bulk-dialog [data-workers], .bulk-dialog [data-jobs] { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; }
.bulk-dialog button { max-width:100%; white-space:normal; overflow-wrap:anywhere; min-height:44px; }
.bulk-dialog [data-items] { margin-block:16px; }
.bulk-dialog [data-draft] > label { display:grid; gap:8px; margin-block:12px; }
