/**
 * EventosApp UI Runtime (EAUI)
 *
 * Canonical first-party UI primitives defined by specs/ui/RUNTIME.md.
 * Values are materialized exclusively from specs/ui/TOKENS.md and
 * specs/ui/DESIGN-TOKENS.json.
 */

:root {
  --eaui-brand-dark: #171e37;
  --eaui-primary: #3683c5;
  --eaui-primary-dark: #286291;
  --eaui-primary-soft: #edf5fb;
  --eaui-primary-softer: #f5f9fd;

  --eaui-canvas: #ffffff;
  --eaui-surface: #ffffff;
  --eaui-surface-soft: #f5f8fc;
  --eaui-text: #171e37;
  --eaui-muted: #66758f;
  --eaui-border: #dfe7f1;

  --eaui-success: #166534;
  --eaui-warning: #92400e;
  --eaui-danger: #991b1b;
  --eaui-info: #0369a1;

  /* UI-PENDING-001 · canal Integración API, token semántico aprobado. */
  --eaui-origin-api-bg: #7C3AED;
  --eaui-origin-api-on-bg: #FFFFFF;

  --eaui-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --eaui-font-size-12: 12px;
  --eaui-font-size-13: 13px;
  --eaui-font-size-14: 14px;
  --eaui-font-size-16: 16px;
  --eaui-font-size-18: 18px;
  --eaui-font-size-20: 20px;
  --eaui-font-size-24: 24px;
  --eaui-font-size-30: 30px;
  --eaui-font-size-36: 36px;

  --eaui-space-1: 4px;
  --eaui-space-2: 8px;
  --eaui-space-3: 12px;
  --eaui-space-4: 16px;
  --eaui-space-5: 20px;
  --eaui-space-6: 24px;
  --eaui-space-8: 32px;
  --eaui-space-10: 40px;
  --eaui-space-12: 48px;
  --eaui-space-16: 64px;

  --eaui-radius-sm: 6px;
  --eaui-radius-md: 10px;
  --eaui-radius-lg: 12px;
  --eaui-radius-xl: 16px;
  --eaui-radius-pill: 999px;

  --eaui-control-sm: 32px;
  --eaui-control-md: 38px;
  --eaui-control-lg: 44px;
  --eaui-control-xl: 48px;

  --eaui-motion-fast: 120ms;
  --eaui-motion-normal: 180ms;
  --eaui-motion-slow: 240ms;
}

/*
 * B2B public access: scoped task composition using existing EAUI primitives.
 * No new runtime, component or unscoped reset.
 */
body.eaui-b2b-access-page {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  padding: clamp(16px, 5vw, 48px);
  place-items: center;
  overflow-wrap: anywhere;
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
  font: 400 var(--eaui-font-size-16)/1.55 var(--eaui-font-family);
}
.eaui-b2b-access-card {
  width: min(100%, 540px);
  min-width: 0;
  max-width: 100%;
  padding: clamp(20px, 4vw, 36px);
}
.eaui-b2b-access-card h1 {
  max-width: 100%;
  margin: 0 0 var(--eaui-space-4);
  font: 700 clamp(22px, 5vw, 30px)/1.2 var(--eaui-font-family);
  overflow-wrap: anywhere;
}
.eaui-b2b-access-card > p:not(.eaui-b2b-access-step) {
  margin: 0 0 var(--eaui-space-5);
  color: var(--eaui-muted);
}
.eaui-b2b-access-step {
  margin: 0 0 var(--eaui-space-2);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-13);
  font-weight: 600;
}
.eaui-b2b-access-card form {
  display: grid;
  gap: var(--eaui-space-4);
}
.eaui-b2b-access-card .eaui-status {
  margin: 0;
}
.eaui-b2b-access-card .eaui-button {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: var(--eaui-control-lg);
  height: auto;
  padding-block: var(--eaui-space-3);
  white-space: normal;
  overflow-wrap: anywhere;
}
.eaui-b2b-access-card :is(form, input, select, .eaui-status, p) {
  min-width: 0;
  max-width: 100%;
}
.eaui-b2b-access-card .eaui-field > .eaui-input {
  width: 100%;
}

/*
 * B2B participant — UI-PAT-002: detail + authorized task forms.
 * This is the canonical EAUI runtime on the configured participant page;
 * no WordPress operator/dashboard CSS or duplicate stylesheet.
 */
.eaui-b2b-participant {
  box-sizing: border-box;
  width: min(100%, 1120px);
  min-width: 0;
  margin-inline: auto;
  padding: var(--eaui-space-4) 0 var(--eaui-space-10);
  color: var(--eaui-text);
  font: 400 var(--eaui-font-size-16)/1.6 var(--eaui-font-family);
}

.eaui-b2b-participant > h2 {
  margin: 0 0 var(--eaui-space-4);
  font: 750 clamp(26px, 3vw, 34px)/1.2 var(--eaui-font-family);
  color: var(--eaui-text);
}

.eaui-b2b-participant > .eaui-status {
  max-width: 100%;
  margin-bottom: var(--eaui-space-4);
}

/* El grid EAUI se adapta a 1–8 módulos visibles, sin dejar columnas fantasma. */
.eaui-b2b-participant > .eaui-tabs {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: var(--eaui-space-2);
  margin-block: var(--eaui-space-4);
  padding: var(--eaui-space-2);
  overflow: visible;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface-soft);
}

/* Estado verificado y salida comparten fila, sin alterar el POST firmado. */
.eaui-b2b-participant__utilities {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--eaui-space-2);
  margin-block: var(--eaui-space-2) var(--eaui-space-4);
}
.eaui-b2b-participant__utilities > .eaui-b2b-participant__access {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
}
.eaui-b2b-participant__logout-form {
  flex: 0 0 auto;
  margin: 0;
}
.eaui-b2b-participant__logout {
  min-height: var(--eaui-control-lg);
  gap: var(--eaui-space-2);
  padding-inline: var(--eaui-space-3);
  white-space: nowrap;
}
.eaui-b2b-participant__logout svg {
  width: var(--eaui-space-4);
  height: var(--eaui-space-4);
  flex: 0 0 auto;
}

@media (max-width: 1024px) {
  .eaui-b2b-participant > .eaui-tabs {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  }
}
@media (max-width: 600px) {
  .eaui-b2b-participant > .eaui-tabs {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
  }
}

/* UI-INV-TAB: tabs canónicos con jerarquía y acción visibles en todas las pantallas. */
.eaui-b2b-participant > .eaui-tabs > .eaui-tab {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  gap: var(--eaui-space-1);
  min-height: calc(var(--eaui-control-xl) + var(--eaui-space-6));
  padding: var(--eaui-space-2) var(--eaui-space-1);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface);
  color: var(--eaui-text);
  font: 600 var(--eaui-font-size-13)/1.2 var(--eaui-font-family);
  white-space: normal;
  text-align: center;
  text-decoration: none;
}
.eaui-b2b-participant > .eaui-tabs > .eaui-tab .eaui-b2b-tab__visual {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--eaui-space-1);
  min-height: var(--eaui-space-5);
  max-width: 100%;
}
.eaui-b2b-participant > .eaui-tabs > .eaui-tab .eaui-b2b-tab__icon {
  width: var(--eaui-space-5);
  height: var(--eaui-space-5);
  flex: 0 0 auto;
  stroke: currentColor;
  pointer-events: none;
}
.eaui-b2b-participant > .eaui-tabs > .eaui-tab .eaui-b2b-tab__label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.eaui-b2b-participant > .eaui-tabs > .eaui-tab:hover {
  border-color: var(--eaui-primary);
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
  color: var(--eaui-text);
}
.eaui-b2b-participant > .eaui-tabs > .eaui-tab.is-active,
.eaui-b2b-participant > .eaui-tabs > .eaui-tab[aria-current="page"] {
  border-color: var(--eaui-text);
  background: var(--eaui-primary-dark);
  color: #fff;
  box-shadow: 0 3px 9px rgb(0 0 0 / 12%);
}
.eaui-b2b-participant > .eaui-tabs > .eaui-tab:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}
.eaui-b2b-participant > .eaui-tabs .eaui-status {
  min-height: var(--eaui-space-5);
  flex: 0 0 auto;
  margin: 0;
  padding-inline: var(--eaui-space-1);
  line-height: 1;
}

.eaui-b2b-participant > .eaui-card,
.eaui-b2b-participant > .eaui-alert {
  margin-top: var(--eaui-space-4);
  padding: clamp(var(--eaui-space-4), 2.3vw, var(--eaui-space-6));
  border: 1px solid var(--eaui-border);
  border-top: 3px solid var(--eaui-primary);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface);
  box-shadow: 0 5px 20px rgb(0 0 0 / 6%);
}

.eaui-b2b-participant .eaui-card > .eaui-card,
.eaui-b2b-participant .eaui-card > .eaui-form {
  margin-top: var(--eaui-space-4);
}

.eaui-b2b-participant .eaui-card > .eaui-card {
  padding: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  background: var(--eaui-surface-soft);
}

/* UI-PAT-001 dentro de UI-PAT-002: historial autorizado, lista sin tarjetas anidadas. */
.eaui-b2b-participant .eaui-b2b-activity__intro {
  max-width: 75ch;
}
.eaui-b2b-participant .eaui-b2b-activity__list {
  display: grid;
  gap: var(--eaui-space-2);
  padding: 0;
  margin: var(--eaui-space-4) 0;
  list-style: none;
}
.eaui-b2b-participant .eaui-b2b-activity__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--eaui-space-2) var(--eaui-space-4);
  min-width: 0;
  padding: var(--eaui-space-3) var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-activity__details {
  display: grid;
  min-width: 0;
  gap: var(--eaui-space-1);
}
.eaui-b2b-participant .eaui-b2b-activity__details time {
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-activity__item .eaui-status {
  flex: 0 1 auto;
  max-width: 100%;
  margin: 0;
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-activity__note {
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
}

.eaui-b2b-participant :is(h3, h4) {
  margin: 0 0 var(--eaui-space-3);
  color: var(--eaui-text);
  font-family: var(--eaui-font-family);
  font-weight: 700;
  line-height: 1.3;
}

.eaui-b2b-participant h3 {
  font-size: var(--eaui-font-size-20);
}

.eaui-b2b-participant h4 {
  font-size: var(--eaui-font-size-16);
}

.eaui-b2b-participant p {
  max-width: 75ch;
  margin: 0 0 var(--eaui-space-3);
  line-height: 1.55;
}

.eaui-b2b-participant :is(.eaui-form, .eaui-form .eaui-field) {
  display: grid;
  gap: var(--eaui-space-3);
  min-width: 0;
}

.eaui-b2b-participant .eaui-form > label {
  display: grid;
  gap: var(--eaui-space-2);
  min-width: 0;
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-14);
  font-weight: 650;
  padding: var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-form > label:focus-within {
  border-color: var(--eaui-primary);
}

.eaui-b2b-participant .eaui-form > label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: var(--eaui-space-2);
}

.eaui-b2b-participant .eaui-form .eaui-button {
  justify-self: start;
}

.eaui-b2b-participant :is(.eaui-input, .eaui-textarea, .eaui-select) {
  max-width: 100%;
  min-width: 0;
}

.eaui-b2b-participant .eaui-status {
  white-space: normal;
  line-height: 1.4;
}

.eaui-b2b-participant .eaui-list {
  display: grid;
  gap: var(--eaui-space-3);
  padding-left: var(--eaui-space-5);
}
/* Perfil propio B2B: mismos tokens EAUI, campos claramente diferenciados. */
.eaui-b2b-participant__access {
  display: inline-flex;
  align-items: center;
  gap: var(--eaui-space-2);
  padding: var(--eaui-space-2) var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  background: var(--eaui-surface-soft);
  font-weight: 600;
}
.eaui-b2b-company__name {
  font: 750 var(--eaui-font-size-24)/1.3 var(--eaui-font-family);
  color: var(--eaui-text);
}
.eaui-b2b-company__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--eaui-space-3);
  margin: 0 0 var(--eaui-space-5);
}
.eaui-b2b-company__facts > div {
  padding: var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-company__facts dt {
  color: var(--eaui-muted);
  font: 600 var(--eaui-font-size-13)/1.45 var(--eaui-font-family);
}
.eaui-b2b-company__facts dd {
  margin: var(--eaui-space-1) 0 0;
  color: var(--eaui-text);
  font: 650 var(--eaui-font-size-16)/1.5 var(--eaui-font-family);
}
.eaui-b2b-participant .eaui-list.eaui-b2b-company__categories {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eaui-space-2);
  margin: 0 0 var(--eaui-space-4);
  padding: 0;
  list-style: none;
}
.eaui-b2b-company__categories > li {
  padding: var(--eaui-space-2) var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-pill);
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
  color: var(--eaui-text);
  font: 600 var(--eaui-font-size-13)/1.4 var(--eaui-font-family);
}


/*
 * Portal B2B > Mi empresa: composición UI-PAT-002 + UI-INV-KPI/CRD/STATUS.
 * Único runtime EAUI, semántica progresiva; no se maquilla un editor no
 * autorizado con controles que aparenten guardar información.
 */
.eaui-b2b-participant .eaui-b2b-company__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--eaui-space-3);
  margin-bottom: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-company__header .eaui-status {
  flex: 0 0 auto;
  margin: 0;
}
.eaui-b2b-participant .eaui-b2b-company__name {
  max-width: 100%;
  margin-bottom: 0;
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-company__context {
  margin-bottom: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-company__layout {
  display: grid;
  grid-template-columns: minmax(0, 290px) minmax(0, 1fr);
  gap: var(--eaui-space-4);
  align-items: start;
  min-width: 0;
}
.eaui-b2b-participant .eaui-b2b-company__layout > *,
.eaui-b2b-participant .eaui-b2b-company__content {
  min-width: 0;
}
.eaui-b2b-participant .eaui-b2b-company__layout .eaui-card {
  box-sizing: border-box;
  min-width: 0;
  padding: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-company__content {
  display: grid;
  gap: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-company__progress-count {
  margin-bottom: var(--eaui-space-2);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-18);
}
.eaui-b2b-participant .eaui-b2b-company__progress progress {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 14px;
  margin-bottom: var(--eaui-space-3);
  accent-color: var(--eaui-primary);
}
.eaui-b2b-participant .eaui-b2b-company__progress h5,
.eaui-b2b-participant .eaui-b2b-company__content h5 {
  margin: var(--eaui-space-4) 0 var(--eaui-space-2);
  font: 700 var(--eaui-font-size-14)/1.4 var(--eaui-font-family);
  color: var(--eaui-text);
}
.eaui-b2b-participant .eaui-list.eaui-b2b-company__checklist {
  display: grid;
  gap: var(--eaui-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}
.eaui-b2b-participant .eaui-b2b-company__check {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--eaui-space-2);
  padding: var(--eaui-space-2);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface);
  font-size: var(--eaui-font-size-13);
}
.eaui-b2b-participant .eaui-b2b-company__check .eaui-status {
  flex: 0 0 auto;
  margin: 0;
}
.eaui-b2b-participant .eaui-b2b-company__check a {
  flex: 1 1 90px;
  min-width: 0;
  color: var(--eaui-text);
  font-weight: 600;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.eaui-b2b-participant .eaui-b2b-company__check a:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}
.eaui-b2b-participant .eaui-b2b-company__facts dd,
.eaui-b2b-participant .eaui-b2b-company__description,
.eaui-b2b-participant .eaui-b2b-company__content p {
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-company__details {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  margin-bottom: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-company__media {
  display: grid;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-company__media-image {
  display: block;
  max-width: 100%;
  width: min(100%, 240px);
  height: auto;
  border-radius: var(--eaui-radius-md);
  border: 1px solid var(--eaui-border);
  background: var(--eaui-surface);
}
.eaui-b2b-participant .eaui-b2b-company__gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: var(--eaui-space-2);
}
.eaui-b2b-participant .eaui-b2b-company__gallery .eaui-b2b-company__media-image {
  width: 100%;
  height: 128px;
  object-fit: cover;
}
.eaui-b2b-participant .eaui-b2b-company__guide {
  display: grid;
  gap: var(--eaui-space-2);
  margin: 0 0 var(--eaui-space-4);
  padding-left: var(--eaui-space-5);
}
.eaui-b2b-participant .eaui-b2b-company__guide li {
  padding: var(--eaui-space-2) var(--eaui-space-3);
  border-radius: var(--eaui-radius-md);
  border: 1px solid var(--eaui-border);
  background: var(--eaui-surface);
}
.eaui-b2b-participant .eaui-b2b-company__guide li strong,
.eaui-b2b-participant .eaui-b2b-company__guide li span {
  display: block;
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-company__guide li span {
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
}
.eaui-b2b-participant .eaui-b2b-company__read-only {
  margin: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  .eaui-b2b-participant .eaui-b2b-company__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .eaui-b2b-participant .eaui-b2b-company__checklist {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
}
@media (max-width: 480px) {
  .eaui-b2b-participant .eaui-b2b-company__layout .eaui-card {
    padding: var(--eaui-space-3);
  }
  .eaui-b2b-participant .eaui-b2b-company__header .eaui-status {
    flex: 1 1 100%;
    width: fit-content;
    max-width: 100%;
  }
  .eaui-b2b-participant .eaui-b2b-company__content .eaui-button {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--eaui-control-xl);
    text-align: center;
  }
  .eaui-b2b-participant .eaui-b2b-company__details,
  .eaui-b2b-participant .eaui-b2b-company__checklist {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* UI-PAT-002: editor comercial delegado dentro del runtime EAUI existente. */
.eaui-b2b-participant .eaui-b2b-company__editor {
  box-sizing: border-box;
  padding: var(--eaui-space-3);
  margin: 0 0 var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-company__editor > summary {
  cursor: pointer;
  list-style: none;
  width: fit-content;
  max-width: 100%;
}
.eaui-b2b-participant .eaui-b2b-company__editor > summary::-webkit-details-marker {
  display: none;
}
.eaui-b2b-participant .eaui-b2b-company__editor > summary:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 3px;
}
.eaui-b2b-participant .eaui-b2b-company__editor[open] > summary {
  margin-bottom: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-company__form {
  display: grid;
  gap: var(--eaui-space-4);
  max-width: 100%;
}
.eaui-b2b-participant .eaui-b2b-company__form > .eaui-alert {
  margin: 0;
  max-width: 100%;
}
.eaui-b2b-participant .eaui-b2b-company__form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-company__form-fields > .eaui-field {
  display: grid;
  gap: var(--eaui-space-2);
  min-width: 0;
}
.eaui-b2b-participant .eaui-b2b-company__form-fields .eaui-input,
.eaui-b2b-participant .eaui-b2b-company__form-fields .eaui-textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: var(--eaui-control-xl);
  font-size: var(--eaui-font-size-16);
}
.eaui-b2b-participant .eaui-b2b-company__form-fields .eaui-textarea {
  min-height: 112px;
  resize: vertical;
}
.eaui-b2b-participant .eaui-b2b-company__form-fields > .eaui-field:has(textarea) {
  grid-column: 1 / -1;
}
.eaui-b2b-participant .eaui-b2b-company__form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-company__form-actions .eaui-status {
  flex: 1 1 220px;
  margin: 0;
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-company__form-actions .eaui-status:focus-visible {
  outline: 2px solid var(--eaui-primary);
  outline-offset: 2px;
}
@media (max-width: 768px) {
  .eaui-b2b-participant .eaui-b2b-company__form-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 480px) {
  .eaui-b2b-participant .eaui-b2b-company__editor > summary,
  .eaui-b2b-participant .eaui-b2b-company__form-actions .eaui-button {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--eaui-control-xl);
  }
}

/* Formularios y tarjetas de directorio: controles amplios sin zoom iOS. */
.eaui-b2b-participant :is(.eaui-card, .eaui-form, .eaui-form label, .eaui-form input, .eaui-form select, .eaui-form textarea) {
  box-sizing: border-box;
  min-width: 0;
}
.eaui-b2b-participant .eaui-form :is(.eaui-input, .eaui-select, .eaui-textarea, input:not([type="hidden"]):not([type="checkbox"])) {
  width: 100%;
  max-width: 100%;
  min-height: var(--eaui-control-xl);
  border: 1px solid var(--eaui-border);
  background: var(--eaui-surface);
  color: var(--eaui-text);
  font: 400 var(--eaui-font-size-16)/1.5 var(--eaui-font-family);
}
.eaui-b2b-participant .eaui-form textarea {
  min-height: 112px;
}
.eaui-b2b-participant :is(.eaui-form .eaui-button, .eaui-card > form .eaui-button, .eaui-card > p .eaui-button) {
  min-height: var(--eaui-control-xl);
}
.eaui-b2b-participant input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  accent-color: var(--eaui-primary);
}
/* Category selection: native checkboxes, scrollable by touch. */
.eaui-b2b-participant fieldset.eaui-field,
.eaui-b2b-participant fieldset.b2b-category-options {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding: var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant fieldset.eaui-field legend,
.eaui-b2b-participant fieldset.b2b-category-options legend {
  padding-inline: var(--eaui-space-2);
  font-weight: 600;
}
.eaui-b2b-participant fieldset.b2b-category-options {
  max-height: 256px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
/* Selector compacto de ofertas/demandas: mismas casillas nativas y tokens EAUI. */
.eaui-b2b-participant .eaui-form fieldset.eaui-field.eaui-b2b-category-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  align-items: start;
  gap: var(--eaui-space-2);
  max-height: 224px;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.eaui-b2b-participant .eaui-form fieldset.eaui-field.eaui-b2b-category-picker > legend {
  grid-column: 1 / -1;
}
.eaui-b2b-participant .eaui-form fieldset.eaui-field.eaui-b2b-category-picker > label.eaui-b2b-category-choice {
  min-height: var(--eaui-control-md);
  padding: var(--eaui-space-2);
  font-size: var(--eaui-font-size-14);
}
.eaui-b2b-participant fieldset.eaui-field > label,
.eaui-b2b-participant fieldset.b2b-category-options > label {
  display: flex;
  align-items: center;
  gap: var(--eaui-space-3);
  min-height: var(--eaui-control-xl);
  padding-inline: var(--eaui-space-2);
  border-radius: var(--eaui-radius-sm);
  font-size: var(--eaui-font-size-16);
  transition: background-color var(--eaui-motion-fast) ease;
}
.eaui-b2b-participant fieldset.eaui-field > label:hover,
.eaui-b2b-participant fieldset.b2b-category-options > label:hover {
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
}
/* Se antepone el form para superar el display:grid heredado de .eaui-field. */
.eaui-b2b-participant .eaui-form fieldset.eaui-field > label.eaui-b2b-category-choice,
.eaui-b2b-participant .eaui-form fieldset.b2b-category-options > label {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--eaui-space-3);
  width: 100%;
  min-height: var(--eaui-control-xl);
  padding: var(--eaui-space-2) var(--eaui-space-3);
  margin: 0;
  border: 1px solid transparent;
  border-radius: var(--eaui-radius-md);
  background: transparent;
  color: var(--eaui-text);
  font: 600 var(--eaui-font-size-16)/1.35 var(--eaui-font-family);
  cursor: pointer;
}
.eaui-b2b-participant .eaui-form fieldset.eaui-field > label.eaui-b2b-category-choice:hover,
.eaui-b2b-participant .eaui-form fieldset.b2b-category-options > label:hover {
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
  border-color: var(--eaui-border);
}
.eaui-b2b-participant .eaui-form fieldset.eaui-field > label.eaui-b2b-category-choice:focus-within,
.eaui-b2b-participant .eaui-form fieldset.b2b-category-options > label:focus-within {
  outline: 2px solid var(--eaui-primary);
  outline-offset: 1px;
}
.eaui-b2b-participant .eaui-form label.eaui-b2b-category-choice > input[type="checkbox"],
.eaui-b2b-participant .eaui-form fieldset.b2b-category-options > label > input[type="checkbox"] {
  box-sizing: border-box;
  display: inline-block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
}
.eaui-b2b-participant .eaui-b2b-category-choice__text {
  display: inline;
  flex: 1 1 auto;
  min-width: 0;
}
/* B2B opportunity chips: scoped EAUI field extension, no new theme. */
.eaui-b2b-participant .eaui-b2b-chip-editor {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--eaui-space-2);
  width: 100%;
  min-width: 0;
  padding: var(--eaui-space-2);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-sm);
  background: var(--eaui-surface);
}
.eaui-b2b-participant .eaui-b2b-chip-editor:focus-within {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 1px;
}
.eaui-b2b-participant .eaui-b2b-chip-editor__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--eaui-space-2);
  min-width: 0;
  max-width: 100%;
}
.eaui-b2b-participant .eaui-b2b-chip {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: var(--eaui-space-2);
  min-height: var(--eaui-control-xl);
  padding: 0 0 0 var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-pill);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-chip > span { min-width: 0; }
/* Icon Button EAUI aporta estado, teclado y contraste.
 * El chip solo aporta la unión geométrica con su contenedor. */
.eaui-b2b-participant button.eaui-icon-button.eaui-b2b-chip__remove {
  flex: 0 0 var(--eaui-control-xl);
  width: var(--eaui-control-xl);
  min-width: var(--eaui-control-xl);
  height: var(--eaui-control-xl);
  min-height: var(--eaui-control-xl);
  border: 0;
  border-left: 1px solid var(--eaui-border);
  border-radius: 0 var(--eaui-radius-pill) var(--eaui-radius-pill) 0;
  background: transparent;
}
.eaui-b2b-participant button.eaui-icon-button.eaui-b2b-chip__remove:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: -3px;
}
.eaui-b2b-participant .eaui-form input.eaui-b2b-chip-editor__entry {
  flex: 1 1 160px;
  width: auto;
  min-width: 160px;
  max-width: 100%;
  min-height: var(--eaui-control-xl);
  padding-inline: var(--eaui-space-2);
  border: 0;
  box-shadow: none;
  background: transparent;
}
/* UI-PAT-001/002: publicaciones B2B de la participación propia. Se usan
   componentes, radios, estados y tokens existentes de EAUI. */
.eaui-b2b-participant .eaui-b2b-opportunity-library {
  display: grid;
  gap: var(--eaui-space-4);
  min-width: 0;
  margin-block: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-opportunity-item {
  min-width: 0;
  margin: 0;
  padding: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__header h4 {
  min-width: 0;
  flex: 1 1 260px;
  margin: 0;
  color: var(--eaui-text);
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__header .eaui-status {
  flex: 0 0 auto;
}
.eaui-b2b-participant .eaui-b2b-opportunity-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eaui-space-2);
  margin: var(--eaui-space-3) 0;
  padding: 0;
  list-style: none;
}
.eaui-b2b-participant .eaui-b2b-opportunity-tags > li {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__detail {
  margin-block: var(--eaui-space-3);
  border-top: 1px solid var(--eaui-border);
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__detail > summary {
  min-height: var(--eaui-control-md);
  padding-block: var(--eaui-space-3);
  color: var(--eaui-primary);
  font-weight: 650;
  cursor: pointer;
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__detail > summary:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}
.eaui-b2b-participant .eaui-b2b-opportunity-item__description {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* UI-PAT-001/005: biblioteca de compradores, mismo sistema EAUI. */
.eaui-b2b-participant .eaui-b2b-demand-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  align-items: end;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-4);
  margin-block: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-demand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
  gap: var(--eaui-space-3);
  margin-block: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-demand-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--eaui-space-2);
}
.eaui-b2b-participant .eaui-b2b-demand-card h4 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--eaui-text);
}
.eaui-b2b-participant .eaui-b2b-demand-card > .eaui-button {
  margin-top: auto;
  align-self: flex-start;
}
.eaui-modal.eaui-b2b-demand-dialog {
  width: min(860px, calc(100vw - 24px));
  max-width: none;
  max-height: calc(100dvh - 24px);
}
.eaui-b2b-demand-dialog .eaui-modal__surface {
  max-height: calc(100dvh - 24px);
}
.eaui-b2b-demand-dialog .eaui-b2b-demand-detail {
  min-width: 0;
  padding: 0;
  border: none;
  box-shadow: none;
}
.eaui-b2b-demand-detail__actions {
  display: flex;
  gap: var(--eaui-space-3);
  flex-wrap: wrap;
  margin-block: var(--eaui-space-4);
}
.eaui-b2b-demand-detail h4,
.eaui-b2b-demand-detail p {
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  .eaui-b2b-participant .eaui-b2b-demand-filters,
  .eaui-b2b-participant .eaui-b2b-demand-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Directorio B2B: acción de regreso con icono en el botón EAUI canónico. */
.eaui-b2b-participant .eaui-b2b-directory-back {
  display: inline-flex;
  align-items: center;
  gap: var(--eaui-space-2);
  min-height: var(--eaui-control-lg);
}
.eaui-b2b-participant .eaui-b2b-directory-back svg {
  width: var(--eaui-space-4);
  height: var(--eaui-space-4);
  flex: 0 0 auto;
}

/* UI-PAT-001: filtro desplegable del listado, usando EAUI existente. */
.eaui-b2b-participant .eaui-b2b-directory-filters {
  margin: var(--eaui-space-4) 0;
  overflow: clip;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface);
}
.eaui-b2b-participant .eaui-b2b-directory-filters__toggle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-4);
  color: var(--eaui-text);
  background: var(--eaui-surface-soft);
  font-weight: 700;
  font-size: var(--eaui-font-size-16);
  cursor: pointer;
  list-style: none;
  transition: background var(--eaui-motion-normal) ease;
}
.eaui-b2b-participant .eaui-b2b-directory-filters__toggle::-webkit-details-marker { display: none; }
.eaui-b2b-participant .eaui-b2b-directory-filters__toggle:hover {
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
}
.eaui-b2b-participant .eaui-b2b-directory-filters__toggle:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: -3px;
}
.eaui-b2b-participant .eaui-b2b-directory-filters__chevron {
  margin-left: auto;
  font-size: var(--eaui-font-size-24);
  line-height: 1;
  transition: transform var(--eaui-motion-normal) ease;
}
.eaui-b2b-participant .eaui-b2b-directory-filters[open] .eaui-b2b-directory-filters__chevron {
  transform: rotate(180deg);
}
.eaui-b2b-participant .eaui-b2b-directory-filters__count {
  margin: 0;
  font-size: var(--eaui-font-size-12);
}
.eaui-b2b-participant .eaui-b2b-directory-filters__body {
  padding: var(--eaui-space-4);
  border-top: 1px solid var(--eaui-border);
  animation: eaui-b2b-directory-expand var(--eaui-motion-slow) ease both;
}
.eaui-b2b-participant .eaui-b2b-directory-filters__form {
  display: grid;
  gap: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-directory-filters__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
  align-items: center;
}
.eaui-b2b-participant .eaui-b2b-directory-loading {
  display: flex;
  align-items: center;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-3) var(--eaui-space-4);
  margin-block: var(--eaui-space-3);
  border-radius: var(--eaui-radius-md);
  border: 1px solid var(--eaui-border);
  color: var(--eaui-text);
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
  font-weight: 600;
}
.eaui-b2b-participant .eaui-b2b-directory-loading[hidden] { display: none; }
.eaui-b2b-participant .eaui-b2b-directory-loading__spinner {
  display: inline-block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid var(--eaui-border);
  border-top-color: var(--eaui-primary);
  animation: eaui-b2b-directory-spin .7s linear infinite;
}
.eaui-b2b-participant [data-b2b-directory-results] {
  transition: opacity var(--eaui-motion-normal) ease;
}
.eaui-b2b-participant [data-b2b-directory-results].is-loading { opacity: .45; }
@keyframes eaui-b2b-directory-spin { to { transform: rotate(360deg); } }
@keyframes eaui-b2b-directory-expand {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .eaui-b2b-participant .eaui-b2b-directory-loading__spinner,
  .eaui-b2b-participant .eaui-b2b-directory-filters__body {
    animation: none;
  }
  .eaui-b2b-participant .eaui-b2b-directory-filters__chevron,
  .eaui-b2b-participant [data-b2b-directory-results],
  .eaui-b2b-participant .eaui-b2b-directory-company {
    transition: none;
  }
  .eaui-b2b-participant .eaui-b2b-directory-company:hover,
  .eaui-b2b-participant .eaui-b2b-directory-company:focus-within {
    transform: none;
  }
}

/* UI-PAT-001 / UI-INV-CRD + PAG: directory listing, no search-only layout. */
.eaui-b2b-participant .eaui-b2b-directory-summary {
  display: inline-flex;
  margin-block: var(--eaui-space-3);
  font-weight: 600;
}
.eaui-b2b-participant .eaui-b2b-directory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--eaui-space-4);
  margin-top: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-directory-company {
  display: flex;
  flex-direction: column;
  gap: var(--eaui-space-3);
  min-width: 0;
  min-height: 194px;
  margin: 0;
  padding: var(--eaui-space-5);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface);
  transition: border-color var(--eaui-motion-normal) ease,
    transform var(--eaui-motion-normal) ease,
    box-shadow var(--eaui-motion-normal) ease;
}
.eaui-b2b-participant .eaui-b2b-directory-company:hover,
.eaui-b2b-participant .eaui-b2b-directory-company:focus-within {
  border-color: var(--eaui-primary);
  box-shadow: 0 5px 18px rgb(0 0 0 / 8%);
  transform: translateY(-2px);
}
.eaui-b2b-participant .eaui-b2b-directory-company__header,
.eaui-b2b-participant .eaui-b2b-directory-company__identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-directory-company__identity > div:last-child { min-width: 0; }
.eaui-b2b-participant .eaui-b2b-directory-company__logo,
.eaui-b2b-participant .eaui-b2b-directory-company__placeholder {
  display: grid;
  place-items: center;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: var(--eaui-radius-md);
  background: color-mix(in srgb, var(--eaui-primary) 14%, var(--eaui-surface-soft));
  color: var(--eaui-text);
  font-weight: 700;
  font-size: var(--eaui-font-size-24);
}
.eaui-b2b-participant .eaui-b2b-directory-company__logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.eaui-b2b-participant .eaui-b2b-directory-company__sector {
  margin: 0;
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
}
.eaui-b2b-participant .eaui-b2b-directory-company__action {
  align-self: flex-start;
  margin-top: auto;
}
/* Mi agenda: cada horario es una tarjeta accesible; la acción real vive
   en el detalle/modal, nunca en la cabecera ni en otro writer. */
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-page > .eaui-list {
  list-style: none;
  padding-left: 0;
}
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-slot-card {
  padding: 0;
  min-width: 0;
}
/* Proximidad de citas: proyección de lectura, sin nuevos colores globales.
   Solo las reuniones reales cambian de acento; espacios libres y solicitudes
   conservan los estados del componente EAUI existente. */
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-slot-card[data-b2b-agenda-proximity="next"] {
  --eaui-b2b-agenda-accent: var(--eaui-info);
}
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-slot-card[data-b2b-agenda-proximity="soon"] {
  --eaui-b2b-agenda-accent: var(--eaui-warning);
}
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-slot-card[data-b2b-agenda-proximity="active"] {
  --eaui-b2b-agenda-accent: var(--eaui-success);
}
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-slot-card:is(
  [data-b2b-agenda-proximity="next"],
  [data-b2b-agenda-proximity="soon"],
  [data-b2b-agenda-proximity="active"]
) {
  border-color: color-mix(in srgb, var(--eaui-b2b-agenda-accent) 55%, var(--eaui-border));
  background: color-mix(in srgb, var(--eaui-b2b-agenda-accent) 11%, var(--eaui-surface));
  box-shadow: inset 4px 0 0 var(--eaui-b2b-agenda-accent);
}
.eaui-b2b-participant #b2b-agenda-section .eaui-b2b-agenda-slot-card:is(
  [data-b2b-agenda-proximity="next"],
  [data-b2b-agenda-proximity="soon"],
  [data-b2b-agenda-proximity="active"]
) .eaui-b2b-agenda-slot__trigger:hover {
  background: color-mix(in srgb, var(--eaui-b2b-agenda-accent) 16%, var(--eaui-surface));
}
.eaui-b2b-participant .eaui-b2b-agenda-proximity-label:not([hidden]) {
  display: inline-flex;
  align-items: center;
  min-height: var(--eaui-space-6);
  padding: var(--eaui-space-1) var(--eaui-space-2);
  border-radius: var(--eaui-radius-pill);
  border: 1px solid currentColor;
  background: color-mix(in srgb, var(--eaui-b2b-agenda-accent) 10%, var(--eaui-surface));
  color: var(--eaui-b2b-agenda-accent);
  font-size: var(--eaui-font-size-12);
  font-weight: 700;
}
.eaui-b2b-participant .eaui-b2b-agenda-proximity-label[hidden] {
  display: none;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__trigger {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
  min-height: var(--eaui-control-lg);
  padding: var(--eaui-space-3) var(--eaui-space-4);
  border-radius: var(--eaui-radius-md);
  color: var(--eaui-text);
  cursor: pointer;
  list-style: none;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__trigger::-webkit-details-marker {
  display: none;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__trigger:hover {
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__trigger:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__time {
  flex: 1 1 140px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__open {
  margin-left: auto;
  color: var(--eaui-primary);
  font-size: var(--eaui-font-size-13);
  font-weight: 650;
  white-space: nowrap;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__body {
  padding: var(--eaui-space-4);
  border-top: 1px solid var(--eaui-border);
  color: var(--eaui-text);
}
.eaui-b2b-participant .eaui-modal .eaui-b2b-agenda-slot__body {
  padding: 0;
  border-top: 0;
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__context {
  color: var(--eaui-text);
}
.eaui-b2b-participant .eaui-b2b-agenda-slot__body > .eaui-button {
  margin-block: var(--eaui-space-2);
}
@media (max-width: 560px) {
  .eaui-b2b-participant .eaui-b2b-agenda-slot__trigger {
    gap: var(--eaui-space-2);
  }
  .eaui-b2b-participant .eaui-b2b-agenda-slot__time {
    flex-basis: 100%;
  }
  .eaui-b2b-participant .eaui-b2b-agenda-slot__open {
    margin-left: 0;
  }
}

/* Mi agenda: navegación por franjas con componentes y tokens EAUI existentes. */
.eaui-b2b-participant .eaui-b2b-agenda-page[hidden] {
  display: none;
}
.eaui-b2b-participant .eaui-b2b-agenda-page > h5 {
  margin: var(--eaui-space-4) 0 var(--eaui-space-3);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-16);
}
.eaui-b2b-participant .eaui-b2b-agenda-pagination {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-3);
  margin: var(--eaui-space-4) 0;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-agenda-pagination__picker {
  display: grid;
  flex: 1 1 200px;
  min-width: 0;
  gap: var(--eaui-space-2);
  font-size: var(--eaui-font-size-14);
  font-weight: 600;
}
.eaui-b2b-participant .eaui-b2b-agenda-pagination__picker .eaui-select {
  width: 100%;
}
.eaui-b2b-participant .eaui-b2b-agenda-pagination__summary {
  flex: 1 0 100%;
  margin: 0;
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
}
@media (max-width: 560px) {
  .eaui-b2b-participant .eaui-b2b-agenda-pagination__picker {
    flex-basis: 100%;
    order: -1;
  }
  .eaui-b2b-participant .eaui-b2b-agenda-pagination > .eaui-button {
    flex: 1 1 0;
  }
}
.eaui-b2b-participant .eaui-b2b-directory-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
  margin-top: var(--eaui-space-5);
}
.eaui-b2b-participant .eaui-b2b-directory-pagination__current {
  font-weight: 600;
  color: var(--eaui-text);
}
@media (max-width: 750px) {
  .eaui-b2b-participant .eaui-b2b-directory-grid { grid-template-columns: minmax(0, 1fr); }
}
.eaui-b2b-participant :is(.eaui-form, .eaui-card) a {
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  .eaui-b2b-participant {
    padding-inline: var(--eaui-space-2);
  }
  .eaui-b2b-participant > h2 {
    font-size: var(--eaui-font-size-24);
  }
  .eaui-b2b-participant > .eaui-tabs {
    width: 100%;
    gap: var(--eaui-space-1);
    padding: var(--eaui-space-1);
  }
  .eaui-b2b-participant > .eaui-tabs > .eaui-tab {
    min-height: calc(var(--eaui-control-xl) + var(--eaui-space-6));
    padding: var(--eaui-space-2) var(--eaui-space-1);
    font-size: var(--eaui-font-size-12);
  }
  .eaui-b2b-participant > .eaui-tabs > .eaui-tab .eaui-b2b-tab__icon {
    width: var(--eaui-space-5);
    height: var(--eaui-space-5);
  }
  .eaui-b2b-participant__utilities > .eaui-b2b-participant__access {
    flex: 1 1 0;
    min-width: 0;
  }
  .eaui-b2b-participant > .eaui-card,
  .eaui-b2b-participant > .eaui-alert {
    padding: var(--eaui-space-4);
  }
  .eaui-b2b-participant .eaui-card > .eaui-card {
    padding: var(--eaui-space-3);
  }
  .eaui-b2b-participant :is(.eaui-form .eaui-button, .eaui-card > form .eaui-button, .eaui-card > p .eaui-button) {
    width: 100%;
    justify-content: center;
  }
  .eaui-b2b-participant .eaui-status {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .eaui-b2b-participant .eaui-b2b-directory-company {
    padding: var(--eaui-space-4);
    min-height: 0;
  }
}

html[data-evapp-theme="dark"] {
  --eaui-canvas: #0e1424;
  --eaui-surface: #171e37;
  --eaui-surface-soft: #121a2d;
  --eaui-text: #f3f6fb;
  --eaui-muted: #aab6ca;
  --eaui-border: #2c3958;

  --eaui-success: #4ade80;
  --eaui-warning: #fbbf24;
  --eaui-danger: #f87171;
  --eaui-info: #7dd3fc;

  --eaui-origin-api-bg: #7C3AED;
  --eaui-origin-api-on-bg: #FFFFFF;
}

.eaui-card,
.eaui-alert,
.eaui-empty,
.eaui-field,
.eaui-button,
.eaui-status,
.eaui-table,
.eaui-input,
.eaui-select,
.eaui-textarea {
  box-sizing: border-box;
}

.eaui-card {
  background: var(--eaui-surface);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  color: var(--eaui-text);
}

.eaui-field {
  display: grid;
  gap: var(--eaui-space-2);
  color: var(--eaui-text);
}

.eaui-field > label,
.eaui-field-label {
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-13);
  font-weight: 600;
  line-height: 1.4;
}

.eaui-field-help {
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-12);
  font-weight: 400;
  line-height: 1.45;
}

.eaui-input,
.eaui-select,
.eaui-textarea,
:is(.eaui-b2b-participant, .eventosapp-b2b-organizer, .eaui-modal) :is(input.eaui-input, select.eaui-select, textarea.eaui-textarea) {
  width: 100%;
  min-height: var(--eaui-control-md);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-sm);
  background: var(--eaui-surface);
  box-shadow: none;
  color: var(--eaui-text);
  font: 400 var(--eaui-font-size-14)/1.45 var(--eaui-font-family);
  transition:
    border-color var(--eaui-motion-fast) ease,
    box-shadow var(--eaui-motion-fast) ease;
}

.eaui-input,
.eaui-select {
  padding: 0 var(--eaui-space-3);
}

.eaui-textarea {
  min-height: 88px;
  padding: var(--eaui-space-3);
  resize: vertical;
}

.eaui-input:focus-visible,
.eaui-select:focus-visible,
.eaui-textarea:focus-visible,
:is(.eaui-b2b-participant, .eventosapp-b2b-organizer, .eaui-modal) :is(input.eaui-input, select.eaui-select, textarea.eaui-textarea):focus-visible,
.eaui-button:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}

.eaui-input:disabled,
.eaui-select:disabled,
.eaui-textarea:disabled,
.eaui-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.eaui-button,
:is(button, a, summary).eaui-button,
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) :is(button, a, summary).eaui-button {
  display: inline-flex;
  min-height: var(--eaui-control-md);
  align-items: center;
  justify-content: center;
  gap: var(--eaui-space-2);
  padding: 0 var(--eaui-space-4);
  appearance: none;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-sm);
  background: var(--eaui-surface);
  box-shadow: none;
  color: var(--eaui-text);
  font: 600 var(--eaui-font-size-13)/1 var(--eaui-font-family);
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
  transition:
    background-color var(--eaui-motion-fast) ease,
    border-color var(--eaui-motion-fast) ease,
    color var(--eaui-motion-fast) ease;
}

/* Link buttons retain the same semantic colors after navigation.
 * Theme/Elementor :visited rules must not replace an EAUI component state. */
a.eaui-button:visited,
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) a.eaui-button:visited {
  color: var(--eaui-text);
}

.eaui-button:hover:not(:disabled),
:is(button, a, summary).eaui-button:hover:not(:disabled),
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) :is(button, a, summary).eaui-button:hover:not(:disabled) {
  background: var(--eaui-surface-soft);
  border-color: var(--eaui-primary);
  color: var(--eaui-text);
}

.eaui-button--primary,
a.eaui-button--primary:visited,
:is(button, a, summary).eaui-button--primary,
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) :is(button, a, summary).eaui-button--primary,
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) a.eaui-button--primary:visited {
  background: var(--eaui-primary);
  border-color: var(--eaui-primary);
  color: #ffffff;
}

.eaui-button--primary:hover:not(:disabled),
:is(button, a, summary).eaui-button--primary:hover:not(:disabled),
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) :is(button, a, summary).eaui-button--primary:hover:not(:disabled) {
  background: var(--eaui-primary-dark);
  border-color: var(--eaui-primary-dark);
  color: #ffffff;
}

.eaui-button--secondary,
a.eaui-button--secondary:visited,
:is(button, a, summary).eaui-button--secondary,
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) :is(button, a, summary).eaui-button--secondary,
:is(.eaui-b2b-participant, .eaui-b2b-access-page, .eventosapp-b2b-organizer, .eaui-modal) a.eaui-button--secondary:visited {
  background: var(--eaui-surface);
  border-color: var(--eaui-border);
  color: var(--eaui-text);
}

/* UI-INV-IBT: Icon Button pertenece al mismo runtime y usa los mismos tokens.
 * Se aplica también al dialog nativo, donde un tema como Elementor no puede
 * convertir el cierre en un botón genérico de color/medida propios. */
.eaui-icon-button,
button.eaui-icon-button,
.eaui-modal button.eaui-icon-button,
.eaui-b2b-participant button.eaui-icon-button {
  display: inline-grid;
  place-items: center;
  flex: 0 0 var(--eaui-control-lg);
  width: var(--eaui-control-lg);
  min-width: var(--eaui-control-lg);
  height: var(--eaui-control-lg);
  padding: 0;
  appearance: none;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface);
  box-shadow: none;
  color: var(--eaui-text);
  font: 600 var(--eaui-font-size-20)/1 var(--eaui-font-family);
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
  transition: border-color var(--eaui-motion-fast) ease,
    background-color var(--eaui-motion-fast) ease;
}
.eaui-icon-button:hover:not(:disabled),
.eaui-modal button.eaui-icon-button:hover:not(:disabled),
.eaui-b2b-participant button.eaui-icon-button:hover:not(:disabled) {
  border-color: var(--eaui-primary);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
}
.eaui-icon-button:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}
.eaui-icon-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.eaui-table {
  width: 100%;
  border-collapse: collapse;
  color: var(--eaui-text);
  font: 400 var(--eaui-font-size-13)/1.45 var(--eaui-font-family);
}

.eaui-table th,
.eaui-table td {
  padding: var(--eaui-space-3);
  border-bottom: 1px solid var(--eaui-border);
  text-align: left;
  vertical-align: middle;
}

.eaui-table th {
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
  font-weight: 600;
}

/* UI-INV-BDG — elemento canónico de canal/origen (label siempre visible). */
.eaui-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px var(--eaui-space-2);
  border-radius: var(--eaui-radius-pill);
  font: 600 var(--eaui-font-size-12)/1.35 var(--eaui-font-family);
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: anywhere;
}

.eaui-badge.eaui-badge--origin-api {
  background: var(--eaui-origin-api-bg);
  color: var(--eaui-origin-api-on-bg);
}

.eaui-status {
  display: inline-flex;
  align-items: center;
  gap: var(--eaui-space-1);
  min-height: var(--eaui-control-sm);
  padding: 0 var(--eaui-space-2);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-pill);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-12);
  font-weight: 600;
  white-space: nowrap;
}

.eaui-status--success {
  border-color: color-mix(in srgb, var(--eaui-success) 30%, var(--eaui-surface));
  background: color-mix(in srgb, var(--eaui-success) 14%, var(--eaui-surface));
  color: var(--eaui-success);
}

.eaui-status--warning {
  border-color: color-mix(in srgb, var(--eaui-warning) 30%, var(--eaui-surface));
  background: color-mix(in srgb, var(--eaui-warning) 14%, var(--eaui-surface));
  color: var(--eaui-warning);
}

.eaui-status--danger {
  border-color: color-mix(in srgb, var(--eaui-danger) 30%, var(--eaui-surface));
  background: color-mix(in srgb, var(--eaui-danger) 14%, var(--eaui-surface));
  color: var(--eaui-danger);
}

.eaui-status--info {
  border-color: color-mix(in srgb, var(--eaui-info) 30%, var(--eaui-surface));
  background: color-mix(in srgb, var(--eaui-info) 14%, var(--eaui-surface));
  color: var(--eaui-info);
}

.eaui-alert {
  padding: var(--eaui-space-3) var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-left: 4px solid var(--eaui-primary);
  border-radius: var(--eaui-radius-sm);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-13);
  line-height: 1.5;
}

.eaui-alert--success,
.eaui-alert--warning,
.eaui-alert--danger,
.eaui-alert--info {
  border-color: var(--eaui-border);
  border-left-color: var(--eaui-primary);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
}

.eaui-empty {
  margin: 0;
  padding: var(--eaui-space-4);
  border: 1px dashed var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
  line-height: 1.5;
  text-align: center;
}

.eaui-tabs {
  display: flex;
  gap: var(--eaui-space-2);
  align-items: center;
  overflow-x: auto;
  padding: var(--eaui-space-1);
  border-bottom: 1px solid var(--eaui-border);
  scrollbar-width: thin;
}

.eaui-tab,
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab,
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab:visited {
  display: inline-flex;
  min-height: var(--eaui-control-md);
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0 var(--eaui-space-3);
  border: 1px solid transparent;
  border-radius: var(--eaui-radius-sm) var(--eaui-radius-sm) 0 0;
  color: var(--eaui-muted);
  font: 600 var(--eaui-font-size-13)/1 var(--eaui-font-family);
  text-decoration: none;
  transition:
    background-color var(--eaui-motion-fast) ease,
    border-color var(--eaui-motion-fast) ease,
    color var(--eaui-motion-fast) ease;
}

.eaui-tab:hover,
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab:hover,
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab:visited:hover {
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
}

.eaui-tab.is-active,
.eaui-tab[aria-current="page"],
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab[aria-current="page"],
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab[aria-current="page"]:visited {
  border-color: var(--eaui-border);
  border-bottom-color: var(--eaui-surface);
  background: var(--eaui-surface);
  color: var(--eaui-primary-dark);
}

.eaui-tab:focus-visible,
:is(.eventosapp-b2b-organizer, .elementor .eventosapp-b2b-organizer) a.eaui-tab:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 2px;
}

@media (max-width: 480px) {
  .eaui-button {
    min-height: var(--eaui-control-lg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .eaui-button,
  .eaui-icon-button,
  .eaui-input,
  .eaui-select,
  .eaui-textarea {
    transition-duration: .01ms;
  }
}


/* UI-INV-MOD / UI-PAT-005 — canonical native-dialog modal runtime. */
.eaui-modal {
  width: min(560px, calc(100vw - 32px));
  max-width: 560px;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: var(--eaui-radius-lg);
  background: transparent;
  color: var(--eaui-text);
}

.eaui-modal::backdrop {
  background: rgb(0 0 0 / 46%);
}

.eaui-modal__surface {
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface);
  color: var(--eaui-text);
}

.eaui-modal__header,
.eaui-modal__footer {
  display: flex;
  align-items: center;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-4);
}

.eaui-modal__header {
  justify-content: space-between;
  border-bottom: 1px solid var(--eaui-border);
}

.eaui-modal__header h2 {
  margin: 0 0 var(--eaui-space-1);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-20);
}

.eaui-modal__header p {
  margin: 0;
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
}

.eaui-modal__body {
  overflow: auto;
  padding: var(--eaui-space-4);
}

.eaui-modal__footer {
  justify-content: flex-end;
  flex-wrap: wrap;
  border-top: 1px solid var(--eaui-border);
  background: var(--eaui-surface-soft);
}

@media (max-width: 600px) {
  .eaui-modal {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }

  .eaui-modal__surface {
    max-height: calc(100vh - 16px);
  }

  .eaui-modal__footer {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .eaui-modal__footer .eaui-button {
    width: 100%;
  }
}

/* B2B-PENDING-035: agenda de solicitud en el perfil, EAUI nativo. */
.eaui-b2b-participant .eaui-b2b-meeting-request {
  margin-block: var(--eaui-space-3);
  max-width: 42rem;
}
.eaui-b2b-participant .eaui-b2b-meeting-request > summary {
  width: fit-content;
  cursor: pointer;
  list-style: none;
}
.eaui-b2b-participant .eaui-b2b-meeting-request > summary::-webkit-details-marker {
  display: none;
}
.eaui-b2b-participant .eaui-b2b-meeting-request > summary:focus-visible {
  outline: 2px solid var(--eaui-primary);
  outline-offset: 3px;
}
.eaui-b2b-participant .eaui-b2b-meeting-request__content {
  margin-block-start: var(--eaui-space-3);
  display: grid;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant [data-b2b-meeting-request-confirm][hidden] {
  display: none !important;
}
.eaui-b2b-participant [data-b2b-meeting-request-preview] {
  overflow-wrap: anywhere;
}

/* UI-PAT-005: el único modal EAUI de programación para ambos modos de cita. */
.eaui-modal.eaui-b2b-meeting-dialog {
  width: min(600px, calc(100vw - 24px));
  max-width: none;
  max-height: calc(100dvh - 24px);
}
.eaui-b2b-meeting-dialog .eaui-modal__surface {
  max-height: calc(100dvh - 24px);
}
.eaui-b2b-meeting-dialog .eaui-modal__body {
  min-width: 0;
}
.eaui-b2b-meeting-dialog .eaui-b2b-meeting-request__content {
  margin: 0;
}
.eaui-b2b-meeting-dialog .eaui-b2b-meeting-request__content h5 {
  margin-block: 0;
}
.eaui-b2b-meeting-request__place {
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
  padding: var(--eaui-space-3);
  color: var(--eaui-text);
}
.eaui-b2b-meeting-dialog .eaui-form {
  display: grid;
  gap: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-reschedule-form {
  display: grid;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-reschedule-form .eaui-select {
  width: 100%;
}
.eaui-b2b-participant .eaui-b2b-scheduled-actions {
  display: grid;
  gap: var(--eaui-space-4);
  min-width: 0;
  margin-block-start: var(--eaui-space-4);
}
.eaui-b2b-scheduled-actions > .eaui-form {
  min-width: 0;
}
.eaui-b2b-scheduled-actions > .eaui-form .eaui-button {
  min-height: var(--eaui-control-lg);
}
@media (max-width: 600px) {
  .eaui-modal.eaui-b2b-meeting-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
  }
  .eaui-b2b-meeting-dialog .eaui-modal__surface {
    max-height: calc(100dvh - 16px);
  }
  .eaui-b2b-meeting-dialog [data-b2b-meeting-request-confirm] .eaui-button,
  .eaui-b2b-participant .eaui-b2b-reschedule-form .eaui-button {
    width: 100%;
  }
}

/* B2B: compact, verified session badge; never display client-side identifiers. */
.eaui-b2b-participant .eaui-b2b-participant__session {
  position: sticky;
  top: var(--eaui-space-2);
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--eaui-space-2) var(--eaui-space-4);
  width: fit-content;
  max-width: 100%;
  padding: var(--eaui-space-2) var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-13);
  box-shadow: var(--eaui-shadow-sm, 0 2px 8px rgb(0 0 0 / 6%));
}
.eaui-b2b-participant .eaui-b2b-participant__session span {
  overflow-wrap: anywhere;
}

/* B2B-FUN-004 / UI-PAT-001: solicitudes claras en light/dark sin otra UI. */
.eaui-b2b-participant .eaui-b2b-request-list {
  list-style: none;
  padding: 0;
  margin: var(--eaui-space-5) 0 0;
  display: grid;
  gap: var(--eaui-space-4);
}
.eaui-b2b-participant .eaui-b2b-request-card {
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface);
  box-shadow: 0 4px 16px rgb(0 0 0 / 7%);
  list-style: none;
}
.eaui-b2b-request-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--eaui-space-3);
  padding: var(--eaui-space-4);
  border-bottom: 1px solid var(--eaui-border);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-request-card__identity {
  min-width: 0;
  flex: 1 1 200px;
}
.eaui-b2b-participant .eaui-b2b-request-card h4 {
  margin: var(--eaui-space-1) 0 0;
  overflow-wrap: anywhere;
  font-size: var(--eaui-font-size-18);
  line-height: 1.3;
}
.eaui-b2b-request-card__eyebrow {
  display: block;
  color: var(--eaui-muted);
  font-size: var(--eaui-font-size-13);
  font-weight: 700;
  letter-spacing: .02em;
}
.eaui-b2b-request-card__state {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: 100%;
  min-height: 32px;
  padding: var(--eaui-space-2) var(--eaui-space-3);
  border-radius: var(--eaui-radius-pill);
  font-weight: 700;
  white-space: normal;
}
.eaui-b2b-request-card__body {
  min-width: 0;
  display: grid;
  gap: var(--eaui-space-3);
  padding: clamp(var(--eaui-space-3), 2vw, var(--eaui-space-5));
}
.eaui-b2b-request-card__body > :is(p, form) {
  max-width: none;
  margin: 0;
}
.eaui-b2b-request-card__body > .eaui-status {
  justify-self: start;
}
.eaui-b2b-request-card__body > .eaui-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--eaui-space-3);
}
.eaui-b2b-request-card__body .eaui-button {
  min-height: var(--eaui-control-xl);
  font-weight: 700;
}
.eaui-b2b-request-feedback {
  margin-block: var(--eaui-space-4);
  padding: var(--eaui-space-3) var(--eaui-space-4);
  border-radius: var(--eaui-radius-md);
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  .eaui-b2b-request-card__header {
    align-items: stretch;
    flex-direction: column;
  }
  .eaui-b2b-request-card__state {
    align-self: flex-start;
  }
  .eaui-b2b-request-card__body > .eaui-form,
  .eaui-b2b-request-card__body > .eaui-form .eaui-button {
    width: 100%;
  }
}

/* UI-PAT-005: detalle sin JS y diálogo nativo con el mismo formulario. */
.eaui-b2b-participant .eaui-b2b-request-card__actions,
.eaui-b2b-participant .eaui-b2b-profile-decisions__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-request-card__actions {
  padding-top: var(--eaui-space-3);
  border-top: 1px solid var(--eaui-border);
}
.eaui-b2b-participant .eaui-b2b-decision {
  min-width: 0;
  max-width: 100%;
}
.eaui-b2b-participant .eaui-b2b-decision > summary {
  display: inline-flex;
  align-items: center;
  min-height: var(--eaui-control-xl);
  padding-inline: var(--eaui-space-4);
  list-style: none;
  cursor: pointer;
  font-weight: 700;
}
.eaui-b2b-participant .eaui-b2b-decision > summary::-webkit-details-marker {
  display: none;
}
.eaui-b2b-participant .eaui-b2b-decision > summary:focus-visible {
  outline: 3px solid var(--eaui-primary);
  outline-offset: 3px;
}
.eaui-b2b-participant .eaui-b2b-decision__content {
  margin-top: var(--eaui-space-3);
  padding: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
}
.eaui-b2b-participant .eaui-b2b-decision__content > :is(h5,p) {
  margin: 0 0 var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-decision__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
}
.eaui-b2b-participant .eaui-b2b-request-card__categories {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eaui-space-2);
  align-items: center;
}
.eaui-b2b-participant .eaui-b2b-request-card__categories .eaui-badge {
  max-width: 100%;
  padding: var(--eaui-space-2) var(--eaui-space-3);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-pill);
  background: var(--eaui-surface-soft);
  color: var(--eaui-text);
  overflow-wrap: anywhere;
}
.eaui-b2b-participant .eaui-b2b-request-card__profile {
  justify-self: start;
}
.eaui-b2b-participant .eaui-b2b-profile-decisions {
  margin-top: var(--eaui-space-5);
  padding: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-lg);
  background: var(--eaui-surface-soft);
}
.eaui-b2b-participant .eaui-b2b-profile-decisions > h5 {
  margin: 0 0 var(--eaui-space-3);
  color: var(--eaui-text);
  font-size: var(--eaui-font-size-18);
}
.eaui-b2b-participant .eaui-b2b-profile-decisions__item + .eaui-b2b-profile-decisions__item {
  margin-top: var(--eaui-space-4);
  padding-top: var(--eaui-space-4);
  border-top: 1px solid var(--eaui-border);
}
.eaui-b2b-participant .eaui-b2b-profile-decisions__item > p {
  margin-block: var(--eaui-space-3);
}
.eaui-modal[data-b2b-decision-dialog] [data-b2b-decision-content] {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--eaui-text);
}
.eaui-modal[data-b2b-decision-dialog] [data-b2b-decision-cancel] {
  display: inline-flex;
}
.eaui-b2b-participant .eaui-b2b-decision [data-b2b-decision-cancel] {
  display: none;
}
@media (max-width: 600px) {
  .eaui-b2b-participant .eaui-b2b-request-card__actions > .eaui-b2b-decision,
  .eaui-b2b-participant .eaui-b2b-request-card__actions > .eaui-b2b-decision > summary,
  .eaui-b2b-participant .eaui-b2b-profile-decisions__actions > .eaui-b2b-decision,
  .eaui-b2b-participant .eaui-b2b-profile-decisions__actions > .eaui-b2b-decision > summary {
    width: 100%;
  }
  .eaui-modal[data-b2b-decision-dialog] .eaui-b2b-decision__actions {
    flex-direction: column;
  }
  .eaui-modal[data-b2b-decision-dialog] .eaui-b2b-decision__actions .eaui-button {
    width: 100%;
  }
}

/* Acciones negativas diferenciadas sin crear variante global del botón. */
.eaui-b2b-participant .eaui-b2b-decision:is(
  [data-b2b-decision-action="reject"],
  [data-b2b-decision-action="withdraw"],
  [data-b2b-decision-action="cancel"],
  [data-b2b-decision-action="cancel_scheduled"]
) > summary,
.eaui-modal[data-b2b-decision-dialog] [data-b2b-decision-action="reject"] button[type="submit"],
.eaui-modal[data-b2b-decision-dialog] [data-b2b-decision-action="withdraw"] button[type="submit"],
.eaui-modal[data-b2b-decision-dialog] [data-b2b-decision-action="cancel"] button[type="submit"],
.eaui-modal[data-b2b-decision-dialog] [data-b2b-decision-action="cancel_scheduled"] button[type="submit"] {
  border-color: var(--eaui-danger);
  background: color-mix(in srgb, var(--eaui-danger) 10%, var(--eaui-surface));
  color: var(--eaui-danger);
}


/* B2B-FUN-011 · UI-PAT-003, consola técnica sobre primitives EAUI. */
.eaui-b2b-diagnostic {
  max-width: 1440px;
  color: var(--eaui-text);
}
.eaui-b2b-diagnostic > .description {
  margin: var(--eaui-space-3) 0 var(--eaui-space-5);
  color: var(--eaui-muted);
}
.eaui-b2b-diagnostic .eaui-b2b-diagnostic-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--eaui-space-4);
  padding: var(--eaui-space-5);
  margin-bottom: var(--eaui-space-5);
}
.eaui-b2b-diagnostic-filters .eaui-field {
  min-width: 0;
}
.eaui-b2b-diagnostic-filters .eaui-field:first-of-type {
  grid-column: span 2;
}
.eaui-b2b-diagnostic-filters :is(.eaui-input,.eaui-select) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
.eaui-b2b-diagnostic-filters > p:last-child {
  grid-column: 1 / -1;
  margin: 0;
}
.eaui-b2b-diagnostic .eaui-table {
  min-width: 890px;
}
.eaui-b2b-diagnostic .eaui-table :is(th,td) {
  vertical-align: middle;
}
.eaui-b2b-diagnostic .eaui-table code {
  word-break: break-word;
}
.eaui-b2b-diagnostic .eaui-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eaui-space-3);
  margin-top: var(--eaui-space-4);
}
@media (max-width: 1100px) {
  .eaui-b2b-diagnostic .eaui-b2b-diagnostic-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .eaui-b2b-diagnostic .eaui-b2b-diagnostic-filters {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--eaui-space-4);
  }
  .eaui-b2b-diagnostic-filters .eaui-field:first-of-type {
    grid-column: auto;
  }
  .eaui-b2b-diagnostic .eaui-pagination .eaui-button {
    flex: 1 1 auto;
    text-align: center;
  }
}


/* Integración API — controles de criterios del Ticket sobre tokens EAUI. */
#eventosapp_attendee_api_integration .eapi-email-filter-builder {
  display: grid;
  gap: var(--eaui-space-3);
  margin-block: var(--eaui-space-3);
}
#eventosapp_attendee_api_integration .eapi-email-filter-builder__rule {
  min-width: 0;
  margin: 0;
  padding: var(--eaui-space-4);
  border: 1px solid var(--eaui-border);
  border-radius: var(--eaui-radius-md);
  background: var(--eaui-surface);
}
#eventosapp_attendee_api_integration .eapi-email-filter-builder__rule legend {
  padding-inline: var(--eaui-space-2);
  font-weight: 600;
}
#eventosapp_attendee_api_integration :is(
  .eapi-email-filter-builder__head,
  .eapi-email-filter-builder__condition
) {
  display: grid;
  align-items: end;
  gap: var(--eaui-space-3);
  grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) auto;
  margin-bottom: var(--eaui-space-3);
}
#eventosapp_attendee_api_integration .eapi-email-filter-builder__condition {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr) minmax(0, 2fr) auto;
}
#eventosapp_attendee_api_integration .eapi-email-filter-builder__control {
  display: flex;
  flex-direction: column;
  gap: var(--eaui-space-2);
  min-width: 0;
  font-weight: 600;
}
#eventosapp_attendee_api_integration .eapi-email-filter-builder__control :is(.eaui-select, .eaui-input) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  font-weight: 400;
}
@media (max-width: 1000px) {
  #eventosapp_attendee_api_integration :is(
    .eapi-email-filter-builder__head,
    .eapi-email-filter-builder__condition
  ) {
    grid-template-columns: minmax(0, 1fr);
  }
}
