/* Controles compactos: el texto siempre permanece dentro del botón. */
:where(button,.button,[role="button"]){box-sizing:border-box;min-inline-size:min-content;max-inline-size:100%;font-family:inherit;text-align:center}
:where(button,.button,[role="button"])>:where(span,b,small,em){min-inline-size:0;max-inline-size:100%;word-break:normal;overflow-wrap:normal;hyphens:none}

:where(.admin-view,.consult-view,.dash,.module-panel,.client-portal,.work-inbox,.accounting-center) :where(button,.button,[role="button"]):not(.icon):not([aria-label]){
  block-size:auto;
  min-block-size:34px;
  line-height:1.25;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
  text-wrap:balance;
}

:where(.admin-header-actions,.admin-plan-grid article footer,.template-row-actions,.declaration-card-actions,.certificate-actions,.opinion-card-actions,.monthly-close-actions,.bank-reconciliation-actions,.portal-ticket-actions){
  min-inline-size:0;
  flex-wrap:wrap;
}

.admin-tenants-clean{container-type:inline-size}
.admin-tenants-clean>header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important}
.admin-tenants-clean>header>div:first-child{min-width:0}
.admin-tenants-clean .admin-header-actions{display:grid!important;grid-template-columns:max-content minmax(112px,max-content) minmax(142px,max-content)!important;align-items:stretch!important;justify-content:end!important;width:100%!important;max-width:100%!important}
.admin-tenants-clean .admin-header-actions>:where(a,button){display:inline-flex!important;width:100%!important;min-width:max-content!important;max-width:none!important;min-height:36px;align-items:center;justify-content:center;padding:7px 11px!important;gap:6px;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none;text-align:center}
.admin-tenants-clean .admin-header-actions svg{flex:0 0 14px}
.admin-tenants-clean .admin-header-actions>.admin-export-tenants{box-sizing:border-box!important;inline-size:112px!important;min-inline-size:112px!important;max-inline-size:112px!important;height:auto!important}
.admin-tenants-clean .admin-header-actions>#newAdminTenant{box-sizing:border-box!important;inline-size:142px!important;min-inline-size:142px!important;max-inline-size:142px!important;height:auto!important}
.admin-tenants-clean .admin-header-actions>:where(a,button)>span{display:block!important;min-width:0!important;white-space:nowrap!important;word-break:normal!important;overflow:visible!important}

@container(max-width:520px){
  .admin-tenants-clean .admin-header-actions{grid-template-columns:minmax(112px,1fr) minmax(142px,1fr)!important;justify-content:stretch!important}
  .admin-tenants-clean .admin-header-actions>span{grid-column:1/-1;justify-self:start}
}
@container(max-width:300px){
  .admin-tenants-clean .admin-header-actions{grid-template-columns:1fr}
  .admin-tenants-clean .admin-header-actions>span{grid-column:auto}
}
:where(.admin-header-actions,.admin-plan-grid article footer,.template-row-actions,.declaration-card-actions,.certificate-actions,.opinion-card-actions,.monthly-close-actions,.bank-reconciliation-actions,.portal-ticket-actions)>:where(button,a,[role="button"]){
  min-inline-size:0;
  flex:1 1 auto;
}

/* Menús contextuales legibles y siempre contenidos en la ventana. */
:where(.tenant-actions-menu,.tenant-plan-menu,.account-dropdown,.global-taxpayer-menu){
  max-inline-size:calc(100dvw - 16px)!important;
  max-block-size:calc(100dvh - 16px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.tenant-actions-menu{left:auto!important;right:max(8px,env(safe-area-inset-right))!important;inline-size:min(260px,calc(100dvw - 16px))!important}
.tenant-actions-menu>button{grid-template-columns:24px minmax(0,1fr);align-items:start;min-height:44px;white-space:normal}
.tenant-actions-menu>button>span{overflow:visible}
.tenant-actions-menu :where(b,em){white-space:normal;text-overflow:clip;word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.3}
.tenant-plan-menu>footer{flex-wrap:wrap}
.tenant-plan-menu>footer>button{max-width:100%;white-space:normal;line-height:1.2}

@media(max-width:520px){
  .tenant-actions-menu{position:fixed!important;inset:auto 8px 8px 8px!important;width:auto!important;max-width:none!important;border-radius:14px!important}
  :where(.tenant-plan-menu,.account-dropdown,.global-taxpayer-menu){inline-size:calc(100dvw - 16px)!important}
  .tenant-plan-menu-fields>div{grid-template-columns:1fr}
  .tenant-plan-menu>footer>button{width:100%}
  .admin-plan-grid article footer{display:grid;grid-template-columns:1fr}
}
