/* Shared compact sizing inspired by /reporte_de_activaciones_editar */
body.rku-route-reporte-pagos,
body.rku-route-reporte-pagos-editar {
  overflow: hidden;
}

#payments-report-overlay,
#payments-edit-overlay {
  background: #f5f7fb;
}

#payments-report-overlay .payments-report-shell,
#payments-edit-overlay .payments-edit-shell {
  padding: 8px 10px 12px;
  min-height: 100%;
  gap: 8px;
}

#payments-report-overlay .payments-report-card,
#payments-edit-overlay .payments-report-card {
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
}

#payments-report-overlay .payments-report-card {
  height: calc(100vh - 20px);
  min-height: 520px;
  display: flex;
  flex-direction: column;
}

#payments-edit-overlay .payments-edit-shell > .payments-report-card:first-child {
  max-height: 48vh;
  min-height: 310px;
  display: flex;
  flex-direction: column;
}

#payments-report-overlay .payments-report-head,
#payments-edit-overlay .payments-report-head {
  padding: 9px 12px 7px;
  gap: 10px;
  align-items: center;
}

#payments-report-overlay .payments-report-kicker,
#payments-edit-overlay .payments-report-kicker {
  margin-bottom: 3px;
  font-size: 9px;
  letter-spacing: .18em;
}

#payments-report-overlay .payments-report-title,
#payments-edit-overlay .payments-report-title {
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

#payments-report-overlay .payments-report-subtitle,
#payments-edit-overlay .payments-report-subtitle {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.25;
}

#payments-report-overlay .payments-report-meta,
#payments-edit-overlay .payments-edit-meta-line,
#payments-edit-overlay .payments-edit-selection-sub {
  font-size: 12px;
}

#payments-report-overlay .payments-report-filters,
#payments-edit-overlay .payments-report-filters,
#payments-edit-overlay .payments-edit-filters {
  gap: 6px;
  padding: 8px 12px 6px;
  align-items: end;
}

#payments-report-overlay .payments-report-filters {
  grid-template-columns: minmax(116px, .8fr) minmax(116px, .8fr) minmax(150px, 1fr) auto;
}

#payments-edit-overlay .payments-edit-filters {
  grid-template-columns: minmax(116px, .85fr) minmax(135px, 1fr) minmax(150px, 1.05fr) minmax(145px, 1fr) minmax(92px, .62fr) minmax(105px, .72fr) auto;
}

#payments-report-overlay .payments-report-field,
#payments-edit-overlay .payments-report-field {
  gap: 3px;
}

#payments-report-overlay .payments-report-field span,
#payments-report-overlay .payments-report-length,
#payments-report-overlay .payments-report-search,
#payments-edit-overlay .payments-report-field span,
#payments-edit-overlay .payments-report-length,
#payments-edit-overlay .payments-report-length span {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.1;
}

#payments-report-overlay .payments-report-field input,
#payments-report-overlay .payments-report-field select,
#payments-report-overlay .payments-report-length select,
#payments-report-overlay .payments-report-search input,
#payments-edit-overlay .payments-report-field input,
#payments-edit-overlay .payments-report-field select,
#payments-edit-overlay .payments-report-length select {
  height: 30px;
  min-height: 30px;
  padding: 0 8px;
  border-radius: 7px;
  font-size: 12px;
}

#payments-report-overlay .payments-report-action,
#payments-edit-overlay .payments-report-action,
#payments-edit-overlay .ghost-button,
#payments-report-overlay .ghost-button {
  height: 30px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 12px;
}

#payments-report-overlay .payments-report-toolbar,
#payments-edit-overlay .payments-report-toolbar,
#payments-edit-overlay .payments-edit-toolbar {
  padding: 6px 12px;
  gap: 8px;
  margin: 0;
}

#payments-report-overlay .payments-report-length,
#payments-report-overlay .payments-report-search,
#payments-edit-overlay .payments-report-length {
  gap: 6px;
}

#payments-report-overlay .payments-report-length select,
#payments-edit-overlay .payments-report-length select {
  width: 70px;
}

#payments-report-overlay .payments-report-search input {
  width: 180px;
}

#payments-report-overlay .payments-report-table-wrap,
#payments-edit-overlay .payments-report-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0 12px 10px;
}

#payments-report-overlay .payments-report-table,
#payments-edit-overlay .payments-report-table {
  min-width: 900px;
  table-layout: fixed;
  font-size: 11px;
}

#payments-report-overlay .payments-report-table thead th,
#payments-edit-overlay .payments-report-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
  padding: 6px 7px;
  font-size: 11px;
  line-height: 1.15;
}

#payments-report-overlay .payments-report-table tbody td,
#payments-report-overlay .payments-report-table tfoot td,
#payments-edit-overlay .payments-report-table tbody td,
#payments-edit-overlay .payments-report-table tfoot td {
  padding: 5px 7px;
  font-size: 11px;
  line-height: 1.2;
  vertical-align: middle;
}

#payments-report-overlay .payments-report-pagination,
#payments-edit-overlay .payments-report-pagination,
#payments-edit-overlay .payments-edit-pagination {
  padding: 6px 12px 10px;
  gap: 6px;
}

#payments-report-overlay .payments-report-page-btn,
#payments-edit-overlay .payments-report-page-btn {
  height: 28px;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 7px;
  font-size: 12px;
}

#payments-report-overlay .payments-report-page-meta,
#payments-edit-overlay .payments-report-page-meta {
  font-size: 12px;
}

#payments-edit-overlay .payments-edit-form-card {
  margin-top: 0;
}

#payments-edit-overlay .payments-edit-form {
  padding: 8px 12px 12px;
}

#payments-edit-overlay .payments-edit-client-grid,
#payments-edit-overlay .payments-edit-grid {
  gap: 7px;
  margin-bottom: 8px;
}

#payments-edit-overlay .payments-edit-actions {
  margin-top: 8px;
  gap: 8px;
}

/* Compact React-native pages: perfil_usuario, usuarios, crear_usuarios */
body.rku-route-perfil-usuario .workspace,
body.rku-route-usuarios .workspace,
body.rku-route-crear-usuarios .workspace {
  padding: 10px 12px;
  gap: 10px;
}

body.rku-route-perfil-usuario .topbar,
body.rku-route-usuarios .topbar,
body.rku-route-crear-usuarios .topbar {
  min-height: 54px;
  gap: 10px;
}

body.rku-route-perfil-usuario .topbar h1,
body.rku-route-usuarios .topbar h1,
body.rku-route-crear-usuarios .topbar h1 {
  font-size: 1.7rem;
  letter-spacing: -0.02em;
}

body.rku-route-perfil-usuario .topbar-subtitle,
body.rku-route-usuarios .topbar-subtitle,
body.rku-route-crear-usuarios .topbar-subtitle {
  font-size: .82rem;
  line-height: 1.3;
}

body.rku-route-perfil-usuario .panel-card,
body.rku-route-usuarios .panel-card,
body.rku-route-crear-usuarios .panel-card {
  border-radius: 10px;
  padding: 12px;
  gap: 10px;
}

body.rku-route-perfil-usuario .panel-head,
body.rku-route-usuarios .panel-head,
body.rku-route-crear-usuarios .panel-head {
  gap: 8px;
  align-items: center;
}

body.rku-route-perfil-usuario .panel-head h2,
body.rku-route-usuarios .panel-head h2,
body.rku-route-crear-usuarios .panel-head h2 {
  font-size: 1.1rem;
  margin-top: 3px;
}

body.rku-route-perfil-usuario .card-kicker,
body.rku-route-usuarios .card-kicker,
body.rku-route-crear-usuarios .card-kicker,
body.rku-route-perfil-usuario .eyebrow,
body.rku-route-usuarios .eyebrow,
body.rku-route-crear-usuarios .eyebrow {
  font-size: .62rem;
  letter-spacing: .12em;
}

body.rku-route-perfil-usuario .profile-layout,
body.rku-route-usuarios .profile-layout {
  gap: 12px;
}

body.rku-route-perfil-usuario .client-profile-layout,
body.rku-route-usuarios .client-profile-layout,
body.rku-route-crear-usuarios .profile-layout {
  grid-template-columns: minmax(0, 1fr);
}

body.rku-route-perfil-usuario .clients-toolbar,
body.rku-route-usuarios .clients-toolbar {
  gap: 6px !important;
}

body.rku-route-perfil-usuario .client-filters,
body.rku-route-usuarios .client-filters {
  gap: 6px !important;
}

body.rku-route-perfil-usuario .client-filters .filter-field input,
body.rku-route-perfil-usuario .client-filters .filter-field select,
body.rku-route-usuarios .client-filters .filter-field input,
body.rku-route-usuarios .client-filters .filter-field select,
body.rku-route-perfil-usuario .limit-field select,
body.rku-route-usuarios .limit-field select {
  height: 30px !important;
  padding: 0 8px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

body.rku-route-perfil-usuario .client-filters .filter-field span,
body.rku-route-usuarios .client-filters .filter-field span,
body.rku-route-perfil-usuario .limit-field span,
body.rku-route-usuarios .limit-field span {
  font-size: 10px !important;
}

body.rku-route-perfil-usuario .client-filters .ghost-button,
body.rku-route-usuarios .client-filters .ghost-button,
body.rku-route-perfil-usuario .secondary-button,
body.rku-route-usuarios .secondary-button,
body.rku-route-crear-usuarios .secondary-button,
body.rku-route-crear-usuarios .ghost-button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 12px;
}

body.rku-route-perfil-usuario .table-pagination,
body.rku-route-usuarios .table-pagination {
  margin: 6px 0;
  gap: 6px;
}

body.rku-route-perfil-usuario .table-pagination .ghost-button,
body.rku-route-usuarios .table-pagination .ghost-button {
  min-height: 28px;
  padding: 0 9px;
  font-size: 12px;
}

body.rku-route-perfil-usuario .table-pagination-meta,
body.rku-route-usuarios .table-pagination-meta {
  font-size: 12px;
}

body.rku-route-perfil-usuario .table-wrap,
body.rku-route-usuarios .table-wrap {
  max-height: calc(100vh - 245px);
  overflow: auto;
  border-radius: 10px;
}

body.rku-route-perfil-usuario table,
body.rku-route-usuarios table {
  min-width: 1040px;
  font-size: 11px;
}

body.rku-route-perfil-usuario thead th,
body.rku-route-usuarios thead th {
  padding: 6px 7px;
  font-size: 11px;
}

body.rku-route-perfil-usuario tbody td,
body.rku-route-usuarios tbody td {
  padding: 5px 7px;
  font-size: 11px;
  line-height: 1.2;
  vertical-align: middle;
}

body.rku-route-perfil-usuario .module-form,
body.rku-route-usuarios .module-form,
body.rku-route-crear-usuarios .module-form {
  gap: 8px;
}

body.rku-route-perfil-usuario .field-stack,
body.rku-route-usuarios .field-stack,
body.rku-route-crear-usuarios .field-stack {
  gap: 4px;
}

body.rku-route-perfil-usuario .field-stack span,
body.rku-route-usuarios .field-stack span,
body.rku-route-crear-usuarios .field-stack span {
  font-size: 11px;
  font-weight: 700;
}

body.rku-route-perfil-usuario input,
body.rku-route-perfil-usuario select,
body.rku-route-perfil-usuario textarea,
body.rku-route-usuarios input,
body.rku-route-usuarios select,
body.rku-route-usuarios textarea,
body.rku-route-crear-usuarios input,
body.rku-route-crear-usuarios select,
body.rku-route-crear-usuarios textarea {
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
}

body.rku-route-perfil-usuario textarea,
body.rku-route-usuarios textarea,
body.rku-route-crear-usuarios textarea {
  min-height: 74px;
}

body.rku-route-perfil-usuario .form-actions,
body.rku-route-usuarios .form-actions,
body.rku-route-crear-usuarios .form-actions {
  gap: 8px;
}

@media (max-width: 1100px) {
  #payments-report-overlay,
  #payments-edit-overlay {
    inset: 0;
  }

  #payments-report-overlay .payments-report-filters,
  #payments-edit-overlay .payments-edit-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Compact Recordatorios */
body.rku-route-recordatorios .workspace {
  padding: 10px 12px;
  gap: 10px;
}
body.rku-route-recordatorios .topbar {
  min-height: 54px;
  gap: 10px;
}
body.rku-route-recordatorios .topbar h1 {
  font-size: 1.7rem;
  letter-spacing: -0.02em;
}
body.rku-route-recordatorios .topbar-subtitle {
  font-size: .82rem;
  line-height: 1.3;
}
body.rku-route-recordatorios .panel-card {
  border-radius: 10px;
  padding: 12px;
  gap: 10px;
}
body.rku-route-recordatorios .panel-head {
  gap: 8px;
  align-items: center;
}
body.rku-route-recordatorios .panel-head h2 {
  font-size: 1.1rem;
  margin-top: 3px;
}
body.rku-route-recordatorios .card-kicker,
body.rku-route-recordatorios .eyebrow {
  font-size: .62rem;
  letter-spacing: .12em;
}
body.rku-route-recordatorios .module-form,
body.rku-route-recordatorios .recordatorio-form,
body.rku-route-recordatorios .client-filters,
body.rku-route-recordatorios .table-toolbar {
  gap: 6px !important;
}
body.rku-route-recordatorios input,
body.rku-route-recordatorios select,
body.rku-route-recordatorios textarea {
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
}
body.rku-route-recordatorios textarea {
  min-height: 74px;
}
body.rku-route-recordatorios .field-stack {
  gap: 4px;
}
body.rku-route-recordatorios .field-stack span,
body.rku-route-recordatorios .filter-field span,
body.rku-route-recordatorios .limit-field span {
  font-size: 10px !important;
  font-weight: 700;
}
body.rku-route-recordatorios .filter-field input,
body.rku-route-recordatorios .filter-field select,
body.rku-route-recordatorios .limit-field select {
  height: 30px !important;
  padding: 0 8px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}
body.rku-route-recordatorios .ghost-button,
body.rku-route-recordatorios .secondary-button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 12px;
}
body.rku-route-recordatorios .table-pagination {
  margin: 6px 0;
  gap: 6px;
}
body.rku-route-recordatorios .table-pagination .ghost-button {
  min-height: 28px;
  padding: 0 9px;
  font-size: 12px;
}
body.rku-route-recordatorios .table-pagination-meta {
  font-size: 12px;
}
body.rku-route-recordatorios .table-wrap {
  max-height: calc(100vh - 250px);
  overflow: auto;
  border-radius: 10px;
}
body.rku-route-recordatorios table {
  min-width: 980px;
  font-size: 11px;
}
body.rku-route-recordatorios thead th {
  padding: 6px 7px;
  font-size: 11px;
}
body.rku-route-recordatorios tbody td {
  padding: 5px 7px;
  font-size: 11px;
  line-height: 1.2;
  vertical-align: middle;
}
