/* Ajustes exclusivos do painel administrativo */
.admin-new-reservation-btn{
  margin-bottom:20px;
}

.admin-reserve-card{
  max-width:460px;
}

.admin-reserve-error{
  margin-bottom:10px;
}

.admin-destination-other{
  margin-top:8px;
}

.admin-convert-legacy-btn{
  margin-top:6px;
}


.admin-section-btn,
.secondary-btn,
.edit-btn,
.operation-btn{
  /* Botão secundário padrão do app (ver .operation-btn mais abaixo para a
     variante positiva). */
  border:1px solid var(--border-strong);
  background:var(--surface);
  color:var(--text);
  border-radius:var(--radius-sm);
  padding:8px 14px;
  font-weight:600;
  font-size:var(--fs-sm);
  cursor:pointer;
  white-space:nowrap;
  box-shadow:none;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}

.admin-section-btn:hover,
.secondary-btn:hover,
.edit-btn:hover{
  background:var(--surface-hover);
}

.admin-section-btn:focus-visible,
.secondary-btn:focus-visible,
.edit-btn:focus-visible,
.operation-btn:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.admin-section-btn:disabled,
.secondary-btn:disabled,
.edit-btn:disabled,
.operation-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.admin-subcard{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:18px;
}

/* Na Gestão o conteúdo fica direto no cartão da tela, como no Checklist e no
   Calendário: sem moldura em volta de cada bloco. Blocos seguidos (ex.:
   Integrações) se separam por espaço e pelo subtítulo (h3). */
#panel-admin .admin-subcard{
  background:none;
  border:0;
  border-radius:0;
  padding:0;
}

#panel-admin .admin-subcard + .admin-subcard{
  margin-top:32px;
}

/* Situação atual da seção (ex.: regras vigentes, versão dos termos). */
.section-status{
  margin:0 0 16px;
  color:var(--text-muted);
  font-size:var(--fs-sm);
  line-height:1.5;
}

.admin-subcard h3{
  margin:0 0 16px;
  color:var(--text);
  font-family:var(--font-heading);
  font-weight:700;
}

.admin-subcard-header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.admin-subcard-header h3{
  margin:0;
}

.sso-import-btn{
  width:auto;
  font-size:var(--fs-sm);
  padding:11px 14px;
  display:flex;
  align-items:center;
  gap:8px;
}

.rules-explanation{
  margin:-6px 0 18px;
  color:var(--text-muted);
  font-size:var(--fs-sm);
  line-height:1.55;
}

.compact-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:18px;
}

/* .admin-filter-row é usada tanto dentro de contêineres que já dão espaço
   entre linhas via flex-gap (.compact-form, .rides-filters) quanto solta,
   direto num .admin-subcard (Auditoria e Usuários, sem nenhum gap entre
   linhas nem antes do que vem a seguir - por isso ficava mais apertada
   que a tela de Veículos). O margin-bottom cobre o caso solto; a segunda
   regra zera de novo onde o flex-gap do contêiner já resolve, pra não
   dobrar o espaçamento. */
.admin-filter-row{
  margin-bottom:12px;
}

.compact-form .admin-filter-row,
.rides-filters .admin-filter-row{
  margin-bottom:0;
}

.compact-form > .submit-btn{
  width:auto;
  align-self:flex-start;
}

.compact-form .submit-btn{
  font-size:var(--fs-sm);
  padding:11px 14px;
}

.management-list,
.audit-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.management-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.management-item.is-inactive{
  background:var(--danger-surface);
  border-color:var(--danger-border);
  box-shadow:inset 3px 0 0 var(--danger);
}

.management-item.is-inactive small{
  color:var(--danger-text);
}

.management-item.is-inactive .user-permissions span{
  background:var(--danger-surface);
  border-color:var(--danger-border);
  color:var(--danger-text);
}

.management-item > div{
  min-width:0;
}

.management-item strong,
.management-item small{
  display:block;
}

.management-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
  flex-shrink:0;
}

.management-item small{
  color:var(--text-muted);
  margin-top:4px;
}

.report-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}

.report-summary > div{
  padding:16px;
  border-radius:var(--radius-md);
  background:var(--surface);
  border:1px solid var(--border);
}

.report-summary strong,
.report-summary span{
  display:block;
}

.report-summary strong{
  font-size:1.4rem;
  font-weight:700;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

.report-summary span{
  color:var(--text-muted);
  font-size:var(--fs-xs);
  margin-top:3px;
}

.report-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-bottom:16px;
}

.report-actions .submit-btn,
.report-actions .secondary-btn{
  width:auto;
  font-size:var(--fs-sm);
  padding:11px 14px;
}

.export-btn svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.permission-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:9px;
}

.permission-option{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}

.permission-option:hover{
  background:var(--surface-hover);
  border-color:var(--border-strong);
}

.permission-option:has(input:checked){
  background:var(--primary-soft);
  border-color:color-mix(in srgb, var(--primary) 35%, transparent);
}

/* Perfil de acesso: descrição do perfil escolhido, logo abaixo do combo. */
.profile-description{
  margin-top:6px;
}

.user-form-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
}

.user-form-actions .submit-btn,
.user-form-actions .secondary-btn{
  width:auto;
  height:46px;
  margin:0;
  padding:0 20px;
  border-radius:var(--radius-sm);
  font-size:0.92rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.user-permissions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}

.user-permissions span{
  padding:3px 7px;
  border-radius:var(--radius-pill);
  border:1px solid var(--neutral-border);
  background:var(--neutral-surface);
  color:var(--neutral-text);
  font-size:var(--fs-xs);
  font-weight:600;
}

.user-status-inactive{
  color:var(--danger-text);
  font-weight:600;
}

.user-auth-icon{
  display:inline-flex;
  width:14px;
  height:14px;
  vertical-align:middle;
}

.user-auth-icon svg{
  width:100%;
  height:100%;
}

.user-list-header{
  margin-bottom:16px;
}

.user-bulk-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  margin-bottom:14px;
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
}

.user-select-all-label{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-weight:600;
  color:var(--text);
}

.user-bulk-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.user-bulk-actions .secondary-btn,
.user-bulk-actions .delete-btn{
  width:auto;
  font-size:var(--fs-sm);
  padding:11px 14px;
}

.user-select-spacer{
  width:36px;
  height:20px;
  flex-shrink:0;
  margin:0;
}

#userAccountsList .management-item > div{
  flex:1;
  text-align:left;
}

.user-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
}

.user-pagination-info{
  color:var(--text-muted);
  font-size:var(--fs-sm);
}

.user-pagination-nav{
  display:flex;
  align-items:center;
  gap:10px;
}

.user-pagination-nav .secondary-btn{
  width:auto;
  font-size:var(--fs-sm);
  padding:9px 14px;
}

.user-pagination-nav .secondary-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.user-bulk-actions .secondary-btn:disabled,
.user-bulk-actions .delete-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}


.table-wrap{
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
}

.report-table{
  width:100%;
  min-width:900px;
  border-collapse:collapse;
  font-size:var(--fs-xs);
}

.report-table th,
.report-table td{
  padding:11px 10px;
  text-align:left;
  border-bottom:1px solid var(--border);
}

.report-table th{
  color:var(--text-muted);
  background:var(--surface-2);
  font-weight:600;
  font-size:var(--fs-2xs);
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}

.report-table td{
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

.report-table tbody tr:last-child td{
  border-bottom:none;
}

.report-table tbody tr{
  transition:background-color var(--dur-fast) var(--ease);
}

.report-table tbody tr:hover{
  background:var(--surface-hover);
}

.audit-entry{
  display:grid;
  grid-template-columns:12px 1fr;
  gap:10px;
  align-items:start;
  padding:11px 0;
  border-bottom:1px solid var(--border);
}

.audit-entry small{
  display:block;
  color:var(--text-muted);
  margin-top:4px;
}

.audit-marker{
  width:9px;
  height:9px;
  margin-top:5px;
  border-radius:50%;
  background:var(--success);
  box-shadow:0 0 0 3px var(--success-surface);
}

.modal-card.operation-card{
  max-width:460px;
  text-align:left;
}

.modal-card.fleet-edit-card{
  max-width:560px;
  text-align:left;
}

.fleet-edit-card > p{
  margin-bottom:18px;
}

#fleetEditForm{
  gap:12px;
}

#fleetEditBranchFields,
#fleetEditVehicleFields{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.fleet-edit-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:6px;
}

.fleet-edit-actions .submit-btn,
.fleet-edit-actions .secondary-btn,
.fleet-edit-actions .danger-btn{
  width:auto;
  height:46px;
  margin:0;
  padding:0 20px;
  border-radius:var(--radius-sm);
  font-size:0.92rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fleet-edit-error:empty{
  display:none;
}

.modal-card.vehicle-delete-card,
.modal-card.user-delete-card{
  max-width:520px;
  text-align:left;
}

.vehicle-delete-card > h3,
.vehicle-delete-card > p,
.user-delete-card > h3,
.user-delete-card > p{
  text-align:center;
}

.destructive-modal-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin:0 auto 14px;
  border-radius:50%;
  background:var(--danger-surface);
  border:1px solid var(--danger-border);
  color:var(--danger-text);
  font-size:1.35rem;
  font-weight:700;
}

.vehicle-delete-summary,
.user-delete-summary{
  margin-bottom:16px;
  text-align:left;
}

.vehicle-delete-error:empty,
.user-delete-error:empty{
  display:none;
}

.vehicle-delete-card .danger-btn,
.user-delete-card .danger-btn{
  width:auto;
}

#operationForm{
  gap:13px;
}

#operationPhotos{
  padding:7px;
  color:var(--text-muted);
}

/* Botão de escolher arquivo: mesmo visual do .secondary-btn. */
#operationPhotos::file-selector-button,
#operationPhotos::-webkit-file-upload-button{
  margin-right:10px;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  padding:9px 13px;
  background:var(--surface);
  color:var(--text);
  font-family:inherit;
  font-weight:600;
  cursor:pointer;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

#operationPhotos::file-selector-button:hover,
#operationPhotos::-webkit-file-upload-button:hover{
  background:var(--surface-hover);
}

#operationPhotoHint{
  margin:4px 0 0;
  padding:8px 10px;
  font-size:var(--fs-xs);
}

#operationPhotoHint:empty,
#operationError:empty{
  display:none;
}

.modal-overlay .operation-card,
.modal-overlay .admin-reserve-card,
.modal-overlay .quick-reserve-card,
.modal-overlay .fleet-edit-card{
  max-height:calc(100vh - 40px);
  overflow-y:auto;
}

.reservation-business{
  color:var(--text-muted);
  font-size:var(--fs-xs);
  line-height:1.45;
}

.operation-status{
  width:fit-content;
  padding:4px 9px;
  border-radius:var(--radius-pill);
  border:1px solid var(--success-border);
  background:var(--success-surface);
  color:var(--success-text);
  font-size:var(--fs-xs);
  font-weight:600;
  margin-top:4px;
}

/* Equivale a .tag + .tag-warning (ver a tabela de variantes em
   components.css); mantido com nome próprio por já ser usado em admin.js. */
.operation-report-badge{
  width:fit-content;
  padding:4px 9px;
  border-radius:var(--radius-pill);
  border:1px solid var(--warning-border);
  background:var(--warning-surface);
  color:var(--warning-text);
  font-size:var(--fs-xs);
  font-weight:600;
  white-space:nowrap;
}

.operation-details{
  margin-top:8px;
  color:var(--text-muted);
  font-size:var(--fs-xs);
}

.operation-details summary{
  cursor:pointer;
  color:var(--accent);
  font-weight:600;
}

.operation-record{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
  color:var(--text-muted);
}

.operation-record strong{
  color:var(--text);
}

/* Divergência de odômetro dentro do registro de retirada/devolução. */
.operation-record .operation-record-alert{
  width:fit-content;
  margin:2px 0;
  padding:3px 9px;
  border:1px solid var(--warning-border);
  border-radius:var(--radius-xs);
  background:var(--warning-surface);
  color:var(--warning-text);
  font-weight:600;
}

.operation-photos{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
  gap:8px;
  margin-top:7px;
}

.operation-photo-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface);
}

.operation-photo-preview{
  display:block;
  background:var(--surface-sunken);
}

.operation-photos img{
  display:block;
  width:100%;
  height:82px;
  object-fit:cover;
}

.operation-photo-download{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:35px;
  padding:7px 8px;
  border-top:1px solid var(--border);
  color:var(--accent);
  font-size:var(--fs-xs);
  font-weight:600;
  text-align:center;
  text-decoration:none;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}

.operation-photo-download:hover{
  background:var(--surface-hover);
  color:var(--text);
}

/* Variante positiva (registrar retirada/devolução): forma do secundário,
   com borda e texto em --success. */
.operation-btn{
  background:var(--surface);
  border-color:var(--success-border);
  color:var(--success-text);
}

.operation-btn:hover{
  background:var(--success-surface);
  border-color:var(--success);
}

@media (max-width:800px){
  .report-summary{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:520px){
  .report-summary{
    grid-template-columns:1fr;
  }
  .management-item{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ============ Indicadores da frota (aba Relatórios) ============ */
.indicators{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-bottom:22px;
}

.indicator-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:10px;
}

.indicator-card{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
}

.indicator-label{
  font-size:var(--fs-2xs);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.indicator-value{
  font-size:1.5rem;
  line-height:1.15;
  font-weight:700;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

.indicator-detail{
  font-size:var(--fs-2xs);
  color:var(--text-muted);
}

.indicator-lists{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}

.indicator-list{
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
}

.indicator-list h4{
  margin:0 0 10px;
  font-size:var(--fs-sm);
  color:var(--text);
}

.indicator-list ol{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.indicator-list li{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  font-size:var(--fs-sm);
  color:var(--text-muted);
}

.indicator-list li strong{
  color:var(--text);
  font-variant-numeric:tabular-nums;
}

.indicator-list .indicator-empty{
  color:var(--text-muted);
  font-style:italic;
}

/* ============ Lembretes automáticos por e-mail ============
   Lista compacta: uma linha por lembrete (interruptor + nome + quando é
   enviado), agrupada por assunto; o modelo só abre em "Editar modelo". */
.reminders-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:4px;
}

.reminders-head h3{
  margin:0 0 2px;
}

.reminders-head .field-hint{
  margin:0;
}

.reminders-head .secondary-btn{
  flex:0 0 auto;
}

.reminders-form{
  gap:14px;
}

.reminder-group-title{
  margin:4px 0 6px;
  color:var(--text-muted);
  font-size:var(--fs-xs);
  font-weight:600;
}

.reminder-list{
  margin:0;
  padding:0;
  list-style:none;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  overflow:hidden;
}

.reminder-item + .reminder-item{
  border-top:1px solid var(--border);
}

.reminder-item.is-editing{
  background:var(--surface-2);
}

.reminder-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 14px;
}

.reminder-info{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
}

.reminder-info strong{
  color:var(--text);
  font-size:var(--fs-sm);
  font-weight:600;
}

.reminder-info small{
  color:var(--text-muted);
  font-size:var(--fs-2xs);
}

.reminder-edit-btn{
  flex:0 0 auto;
  min-height:34px;
  padding:6px 12px;
  font-size:var(--fs-xs);
}

.reminder-editor{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 14px 14px 64px;
}

.reminder-editor textarea{
  font-family:ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size:var(--fs-xs);
  line-height:1.5;
}

.reminder-tokens{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

.reminder-tokens-label{
  color:var(--text-muted);
  font-size:var(--fs-2xs);
}

.reminder-token{
  padding:2px 7px;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-xs);
  background:var(--surface);
  color:var(--text-muted);
  font-family:ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size:var(--fs-2xs);
  cursor:pointer;
  transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.reminder-token:hover{
  border-color:var(--primary);
  background:var(--primary-soft);
  color:var(--accent);
}

.reminder-editor-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.reminder-editor-actions .secondary-btn{
  min-height:34px;
  padding:6px 12px;
  font-size:var(--fs-xs);
}

@media (max-width:720px){
  .reminders-head{
    flex-direction:column;
  }

  .reminder-editor{
    padding-left:14px;
  }
}

/* ============ Pré-visualização de e-mail de lembrete ============ */

.modal-card.email-preview-card{
  max-width:760px;
  width:min(760px, calc(100vw - 32px));
  text-align:left;
}

.email-preview-meta{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 13px;
  margin-bottom:12px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface);
}

.email-preview-meta-label{
  font-size:var(--fs-2xs);
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--text-muted);
  flex-shrink:0;
}

.email-preview-meta strong{
  color:var(--text);
  font-size:var(--fs-sm);
  min-width:0;
  overflow-wrap:anywhere;
}

.email-preview-toolbar{
  display:flex;
  gap:8px;
  margin-bottom:12px;
}

.email-preview-toolbar .secondary-btn{
  width:auto;
  font-size:var(--fs-sm);
  padding:7px 14px;
}

.email-preview-toolbar .secondary-btn.active{
  background:var(--primary);
  border-color:transparent;
  color:var(--on-primary);
}

.email-preview-toolbar .secondary-btn.active:hover{
  background:var(--primary-hover);
}

/* Fundo claro fixo: é assim que o cliente de e-mail renderiza, e uma
   prévia sobre o fundo escuro do portal seria enganosa. */
.email-preview-frame{
  display:block;
  width:100%;
  height:min(60vh, 520px);
  margin:0 auto;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:#fff;
  transition:width var(--dur) var(--ease);
}

.email-preview-hint{
  margin:10px 0 0;
  font-size:var(--fs-xs);
  color:var(--text-muted);
  line-height:1.5;
}

/* Modal de edição de usuário: mais largo que o padrão para a grade de
   permissões caber em colunas, como no formulário de cadastro. */
.modal-card.user-edit-card{
  max-width:680px;
  width:min(680px, calc(100vw - 32px));
  text-align:left;
}

/* Modal de revisão de checklist (aba Checklist do painel de gestão): precisa
   de espaço pro diagrama de 4 vistas + a lista de componentes, igual ao
   formulário de retirada/devolução. */
.modal-card.checklist-review-card-modal{
  max-width:560px;
  width:min(560px, calc(100vw - 32px));
  text-align:left;
}

.checklist-review-status{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:4px 0 12px;
}

/* Aba Checklist: em vez de uma lista única, os registros aparecem separados
   em grupos - Retirada / Devolução pendentes de revisão, e Aprovados
   (juntando as duas fases já revisadas) -, cada um com seu próprio título
   e contador. */
.checklist-review-groups{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.checklist-review-group-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.03em;
}

/* Estilo de link discreto (texto sublinhado, sem fundo) - hoje usado só no
   botão "Limpar seleção" da barra de seleção em massa; a aba "Arquivados"
   agora é uma das duas pills (não precisa mais de um link separado). */
.checklist-archived-link{
  border:none;
  background:none;
  padding:2px 0;
  color:var(--text-muted);
  font-size:var(--fs-2xs);
  text-decoration:underline;
  cursor:pointer;
}

.checklist-archived-link:hover{
  color:var(--accent);
}

.checklist-archived-link:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

/* Checkbox de seleção em cada card pendente (checklist-select-checkbox) +
   barra "Selecionar todos" / "Arquivar selecionados" acima da lista - só
   aparece na visão Pendente, com pelo menos um item selecionável. */
.management-item-select{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}


.management-item-info{
  flex:1;
  min-width:0;
}

.checklist-bulk-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 12px;
  padding:9px 12px;
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
}

.checklist-bulk-select-all{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:var(--fs-sm);
  color:var(--text);
  cursor:pointer;
}


.checklist-bulk-actions-right{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:var(--fs-sm);
  color:var(--text-muted);
}

.checklist-bulk-actions-right .checklist-archived-link{
  padding:0;
}
