.assignment-dialog{width:min(570px,calc(100vw - 32px));max-height:90vh;overflow:auto}.assignment-dialog h2{margin:0;font-size:22px}.assignment-setup{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px}.assignment-select{display:block;font-size:12px;font-weight:650;color:#526174}.assignment-select select,.assignment-select input{display:block;width:100%;margin-top:6px;border:1px solid #dce3ec;border-radius:7px;padding:10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.assignment-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 9px;font-size:13px}.assignment-heading button{border:0;background:transparent;color:#416eec;font-size:12px;font-weight:700}.assignment-employees{border:1px solid var(--line);border-radius:9px;max-height:290px;overflow:auto}.assignment-person{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line);cursor:pointer}.assignment-person.hidden{display:none}.assignment-person:first-child{border-top:0}.assignment-person input{accent-color:var(--blue)}.assignment-person strong,.assignment-person small{display:block}.assignment-person strong{font-size:12px}.assignment-person small{font-size:10px;color:var(--muted);margin-top:2px}.assignment-person small.assignment-planned{color:#315fd4;font-weight:700}.assignment-effective-note{margin:8px 0 0;color:var(--muted);font-size:10px}@media(max-width:720px){.assignment-dialog{padding:23px 18px}.assignment-setup{grid-template-columns:1fr}}
.employee-schedule-change-grid {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.62fr);
  gap:12px; align-items:start;
}
.employee-schedule-change-grid > label { min-width:0; }
.schedule-effective-field { margin-top:0; }
.employee-schedule-history {
  grid-column:1 / -1; display:grid; gap:8px; margin-top:2px; padding:14px 0 4px;
  border-top:1px solid var(--line);
}
.employee-schedule-history-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.employee-schedule-history-heading span,.employee-schedule-history-heading strong,.employee-schedule-history-heading small { display:block; }
.employee-schedule-history-heading strong { color:#33465f; font-size:12px; }
.employee-schedule-history-heading small { color:var(--muted); font-size:10px; text-align:right; }
.employee-schedule-insert { flex:none; padding:7px 10px; font-size:11px; }
.employee-schedule-history-row {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:54px; border:1px solid #e1e7ef; border-radius:10px;
  background:#fbfcfe; padding:10px 11px;
}
.employee-schedule-history-row.is-latest { border-color:#bdd0ff; background:#f6f8ff; }
.employee-schedule-history-row span,.employee-schedule-history-row strong,.employee-schedule-history-row small { display:block; }
.employee-schedule-history-row strong { color:#243851; font-size:12px; }
.employee-schedule-history-row small { margin-top:4px; color:#75859a; font-size:10px; }
.employee-schedule-history-row .row-button { flex:none; color:#b42335; background:#fff0f1; }
@media(max-width:600px){
  .employee-schedule-change-grid{grid-template-columns:1fr}
  .employee-schedule-history-heading{align-items:flex-start;flex-direction:column}
  .employee-schedule-history-heading small{text-align:left}
}

/* Busca dentro do diálogo de vinculação: a lista de pessoas é da empresa
   inteira, e marcar 40 numa lista de 500 sem busca é rolagem cega. */
.assignment-dialog .assignment-search{width:100%;margin-bottom:9px}

/* ==========================================================================
   Filtros e lista de alterações do diálogo de vinculação (18/08/2026)
   ========================================================================== */

/* Filtros ao lado da busca: quem vincula escala em lote quase sempre quer
   "todo mundo de uma função" ou "quem ainda está sem escala" — dois recortes
   que a busca por nome não faz. */
.assignment-filters{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:8px 0 0;
}
.assignment-filter-role{flex:1 1 190px;min-width:0}
.assignment-filter-role select{width:100%}
.assignment-filter-toggle{flex:0 0 auto;margin:0;font-size:12px;white-space:nowrap}
.assignment-filter-count{
  flex:0 0 72px;
  width:72px;
  margin-left:auto;
  color:#8a98aa;
  font-size:11px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  text-align:right;
}

/* Adicionar à lista fica ENTRE as pessoas e as ações finais: a ordem de leitura
   é escolher → juntar → salvar. */
.assignment-stage{display:flex;align-items:center;gap:10px;margin:12px 0 0;flex-wrap:wrap}
.assignment-stage-hint{color:#5f7d52;font-size:11px;font-weight:650}
.assignment-stage-hint.assignment-stage-error{color:#c1333f}

.assignment-batch{
  margin:10px 0 0;
  border:1px solid var(--line,#dfe5ed);
  border-radius:12px;
  background:#f8fafd;
  padding:10px 12px;
}
.assignment-batch.hidden{display:none}
.assignment-batch-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.assignment-batch-heading strong{color:#22344c;font-size:12px}
.assignment-batch-heading span{color:#8a98aa;font-size:11px;font-weight:700}
.assignment-batch-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #e8eef6;
  padding:7px 0;
}
.assignment-batch-row:first-child{border-top:0}
.assignment-batch-row strong{display:block;color:#22344c;font-size:12px}
.assignment-batch-row small{display:block;color:#7a8899;font-size:10.5px;line-height:1.45}
.assignment-batch-people{color:#5f6f85!important}
