/* Formulário de usuário: mais espaço para a matriz de permissões. */
#edit-form-dialog {
  width: min(1080px, calc(100vw - 32px));
  max-width: none;
  max-height: 94vh;
  overflow: auto;
  padding: 28px 32px;
  border: 0;
  border-radius: 16px;
  color: #20352e;
  background: #fff;
  box-shadow: 0 24px 70px #102e2440;
}

#edit-form-dialog::backdrop { background: #102e2499; }
#edit-form-dialog h2 { margin: 0 0 18px; }
#edit-form-dialog .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
#edit-form-dialog .user-access { min-height:0; padding:18px; }
#edit-form-dialog .user-access-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 16px; }
#edit-form-dialog .user-access-toolbar .muted { flex:1 1 320px; margin:0; line-height:1.45; }
#edit-form-dialog .user-access-controls { display:grid; grid-template-columns:minmax(240px,1fr) auto; align-items:end; gap:12px; margin:0 0 16px; }
#edit-form-dialog .user-access-search { min-width:0; }
#edit-form-dialog .user-access-count { padding:0 0 10px; color:#397c4f; font-size:12px; font-weight:800; white-space:nowrap; }
#edit-form-dialog .user-access-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; }
#edit-form-dialog .user-access-group { min-width:0; padding:14px 16px; border:1px solid #e1eae2; border-radius:11px; background:#fbfdfb; }
#edit-form-dialog .user-access-group-heading { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; justify-content:initial; gap:10px; min-height:36px; margin:0 0 10px; padding:0 0 9px; border-bottom:1px solid #e8eee8; color:#245c3d; }
#edit-form-dialog .user-access-group-heading strong { min-width:0; line-height:1.25; font-size:14px; }
#edit-form-dialog .user-access-group-count { color:#6b8373; font-size:11px; font-weight:700; white-space:nowrap; }
#edit-form-dialog .user-access-group-heading .btn { margin:0; padding:6px 9px; }
#edit-form-dialog .user-access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 18px; }
#edit-form-dialog .user-access-option { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:8px; min-width:0; padding:7px 8px; border-radius:7px; color:#344d3d; font-size:13px; line-height:1.4; }
#edit-form-dialog .user-access-option:hover { background:#f0f6ef; }
#edit-form-dialog .user-access-option input[type="checkbox"] { width:17px; min-width:17px; height:17px; min-height:17px; margin:1px 0 0; padding:0; accent-color:#267047; }
#edit-form-dialog .user-access-option>span { min-width:0; line-height:1.4; overflow-wrap:anywhere; }
#edit-form-dialog .user-access-option small { display:none; }
#edit-form-dialog .form-actions { position: sticky; bottom: -28px; margin: 22px -32px -28px; padding: 16px 32px; background: #fff; border-top: 1px solid #e5ece6; }
.user-edit-button { font-weight: 700; color: #1d6042; }

@media (max-width: 760px) {
  #edit-form-dialog { width: calc(100vw - 18px); padding: 22px 18px; }
  #edit-form-dialog .form-grid, #edit-form-dialog .user-access-groups, #edit-form-dialog .user-access-grid { grid-template-columns: 1fr; }
  #edit-form-dialog .form-actions { margin: 18px -18px -22px; padding: 14px 18px; }
  #edit-form-dialog .user-access-controls { grid-template-columns:1fr; }
  #edit-form-dialog .user-access-search { min-width:0; }
  #edit-form-dialog .user-access-count { padding:0; }
  #edit-form-dialog .user-access-group { padding:12px; }
  #edit-form-dialog .user-access-group-heading { grid-template-columns:minmax(0,1fr) auto; }
  #edit-form-dialog .user-access-group-count { grid-column:1; grid-row:2; }
  #edit-form-dialog .user-access-group-heading .btn { grid-column:2; grid-row:1 / span 2; }
}
