.runbook-assignment { display:flex; flex-flow:row wrap; align-items:center; gap:4px 6px; padding:4px 5px 6px; text-align:left; font:12px/1.45 "Microsoft YaHei",sans-serif; }
.runbook-assignment:empty { display:none; }
.runbook-assignment-chips { display:contents; }
.runbook-assignment-chips:empty { display:none; }
.runbook-assignment-chip { display:inline-flex; align-items:center; gap:2px; max-width:100%; min-width:0; padding:2px 4px; border-radius:5px; color:#24589b; background:#edf5ff; font-size:11px; overflow-wrap:anywhere; }
.runbook-assignment-chip button { border:0; background:transparent; padding:0 2px; min-height:20px; color:#53749a; }
.runbook-assignment-controls { display:contents; }
#projectRunbookBuilder .runbook-assignment-controls select { flex:0 0 44px; width:44px; min-width:0; max-width:100%; height:28px; padding:2px 4px; font-size:11px; border:1px solid #cfdded; border-radius:5px; background:#fff; color:#34679e; }
#projectRunbookBuilder .runbook-assignment-controls button { width:26px; min-width:26px; height:28px; padding:2px; min-height:28px; flex-shrink:0; }
#projectRunbookBuilder .runbook-assignment-progress { display:inline-flex; align-items:center; gap:4px; margin:0; min-height:28px; white-space:nowrap; color:#53667c; font-size:11px; font-weight:400; }
#projectRunbookBuilder .runbook-assignment-progress input { appearance:auto; width:14px; height:14px; min-height:0; margin:0; accent-color:#2673dc; }
.runbook-assignment-hint { flex-basis:100%; color:#8b6c36; font-size:10px; }
.runbook-assignment-focus { outline:2px solid #2673dc; outline-offset:-2px; background:#edf5ff; }
@media print { .runbook-assignment-controls, .runbook-assignment-chip button, .runbook-assignment-progress input, .runbook-assignment-hint { display:none!important; } .runbook-assignment { padding:3px; } .runbook-assignment-chip { background:transparent; padding:0; color:inherit; } }
/* Header contacts now contain accessory controls; their text input must not
   consume 100% of the whole cell and push those controls into the next row. */
#projectRunbookBuilder .runbook-sheet-duty-row td { height:auto; vertical-align:top; }
#projectRunbookBuilder .runbook-sheet-duty-row input[data-runbook-responsibility-field] { display:block; height:36px; min-height:36px; }
#projectRunbookBuilder .runbook-assignment-progress input[type="checkbox"] { padding:0; flex:0 0 14px; min-width:14px; max-width:14px; box-sizing:border-box; }
#projectRunbookBuilder .runbook-assignment :is(select,button,input):focus-visible { outline:2px solid #2673dc; outline-offset:2px; }
/* Duty descriptions stay centered even when the adjacent contact has members. */
#projectRunbookBuilder .runbook-sheet-duty-row td:has(> input[data-runbook-responsibility-field$="Role"]) { vertical-align:middle; text-align:center; }
#projectRunbookBuilder input[data-runbook-responsibility-field$="Role"] { text-align:center; }
@container workbench (max-width:620px) {
  body.admin-screen #projectRunbookBuilder .runbook-sheet-header-card .runbook-sheet-duty-row td:has(> input[data-runbook-responsibility-field$="Role"]) { display:flex; align-items:center; justify-content:center; }
}
