/* ============================================================
   Boletíssimo — Organizador: vistas completas (adx-*)
   ============================================================ */

/* ---------- Control de acceso ---------- */
.adx-gates { display: flex; flex-direction: column; gap: 18px; }
.adx-gate__hd { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.adx-gate__name b { font: var(--text-label); color: var(--text-strong); display: block; }
.adx-gate__name span { font: var(--text-caption); }
.adx-feed { display: flex; flex-direction: column; }
.adx-feed .acc__feed-row:first-child { border-top: none; }

/* ---------- Reportes: donut + barras ---------- */
.adx-donut-wrap { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.adx-donut { width: 150px; height: 150px; border-radius: 50%; flex: none; display: grid; place-items: center; }
.adx-donut__hole { width: 96px; height: 96px; border-radius: 50%; background: var(--surface-card); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: var(--shadow-inset); }
.adx-donut__hole b { font-family: var(--font-mono); font-weight: 700; font-size: var(--size-lg); color: var(--text-strong); }
.adx-donut__hole span { font: var(--text-caption); color: var(--text-muted); }
.adx-legend { flex: 1; min-width: 180px; display: flex; flex-direction: column; gap: 10px; }
.adx-legend__row { display: flex; align-items: center; gap: 10px; }
.adx-legend__dot { width: 12px; height: 12px; border-radius: 4px; flex: none; }
.adx-legend__lbl { flex: 1; font: var(--text-body-sm); color: var(--text-body); }
.adx-legend__pct { font-family: var(--font-mono); font-weight: 600; color: var(--text-strong); }

.adx-bars { display: flex; flex-direction: column; gap: 16px; }
.adx-bar__top { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; font: var(--text-label-sm); color: var(--text-strong); }
.adx-bar__track { height: 10px; border-radius: var(--radius-pill); background: var(--surface-sunken); overflow: hidden; box-shadow: var(--shadow-inset); }
.adx-bar__fill { height: 100%; border-radius: var(--radius-pill); background: linear-gradient(90deg, var(--brand), var(--azul-400)); }
.adx-bar__sub { font: var(--text-caption); display: block; margin-top: 5px; }

.adx-top { display: flex; flex-direction: column; }
.adx-top__row { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--border-subtle); }
.adx-top__row:first-child { border-top: none; }
.adx-top__rank { width: 26px; height: 26px; border-radius: var(--radius-pill); background: var(--brand-soft); color: var(--brand-stronger); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; flex: none; }
.adx-top__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.adx-top__info b { font: var(--text-label-sm); color: var(--text-strong); }
.adx-top__info .adx-bar__track { height: 7px; }
.adx-top__nums { text-align: right; flex: none; }
.adx-top__nums b { display: block; font-family: var(--font-display); font-weight: 700; font-size: var(--size-md); color: var(--text-strong); }
.adx-top__nums span { font: var(--text-caption); }

/* ---------- Dispersión ---------- */
.adx-paygrid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 16px; margin-bottom: 16px; }
.adx-balance { display: flex; flex-direction: column; gap: 2px; }
.adx-balance__amt { font-family: var(--font-display); font-weight: 800; font-size: var(--size-4xl); color: var(--text-strong); letter-spacing: -0.02em; margin: 4px 0 2px; }
.adx-next { display: flex; flex-direction: column; }
.adx-next__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.adx-next__date { font: var(--text-label); color: var(--text-strong); margin-top: 10px; }
.adx-next__amt { font-family: var(--font-mono); font-weight: 700; font-size: var(--size-3xl); color: var(--text-strong); margin: 2px 0 16px; }
.adx-next__meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 16px; border-top: 1px solid var(--border-subtle); }
.adx-next__meta span { display: block; font: var(--text-caption); color: var(--text-muted); }
.adx-next__meta b { font: var(--text-label-sm); color: var(--text-strong); }

/* ---------- Marca / White-label ---------- */
.adx-field { margin-bottom: 18px; }
.adx-field__lbl { display: block; font: var(--text-label-sm); color: var(--text-strong); margin-bottom: 10px; }
.adx-swatches { display: flex; gap: 10px; flex-wrap: wrap; }
.adx-swatch { width: 42px; height: 42px; border-radius: var(--radius-md); border: 2px solid var(--border-default); cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; box-shadow: var(--shadow-xs); }
.adx-swatch.is-sel { box-shadow: 0 0 0 3px var(--surface-card), 0 0 0 5px var(--text-strong); }
.adx-swatch svg { width: 18px; height: 18px; }
.adx-logo__drop { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px; border: 2px dashed var(--border-strong); border-radius: var(--radius-lg); color: var(--text-muted); }
.adx-logo__drop svg { width: 26px; height: 26px; }
.adx-logo__drop span { font: var(--text-body-sm); }
.adx-toggles { display: flex; flex-direction: column; gap: 14px; margin-top: 18px; }
.adx-preview { border: 1px solid var(--border-default); border-radius: var(--radius-lg); overflow: hidden; }
.adx-preview__hd { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--border-subtle); }
.adx-preview__logo { width: 30px; height: 30px; border-radius: var(--radius-md); color: #fff; display: flex; align-items: center; justify-content: center; font: var(--text-label-sm); flex: none; }
.adx-preview__name { font-family: var(--font-display); font-weight: 800; font-size: 15px; color: var(--text-strong); }
.adx-preview__nav { margin-left: auto; font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }
.adx-preview__hero { padding: 22px 18px; color: #fff; display: flex; flex-direction: column; gap: 3px; }
.adx-preview__cat { font: var(--text-eyebrow); letter-spacing: var(--ls-caps); opacity: .85; }
.adx-preview__hero b { font-family: var(--font-display); font-weight: 800; font-size: var(--size-2xl); line-height: 1.05; }
.adx-preview__date { font: var(--text-body-sm); opacity: .9; }
.adx-preview__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; }
.adx-preview__btn { border: none; color: #fff; border-radius: var(--radius-md); padding: 11px 18px; font-family: var(--font-sans); font-weight: 600; font-size: 14px; cursor: pointer; }
.adx-preview__price { font: var(--text-body-sm); color: var(--text-muted); }
.adx-preview__price b { font-family: var(--font-mono); font-weight: 700; font-size: var(--size-lg); color: var(--text-strong); }
.adx-note { display: flex; gap: 8px; align-items: flex-start; font: var(--text-caption); color: var(--text-muted); margin-top: 14px; }
.adx-note svg { width: 15px; height: 15px; flex: none; margin-top: 1px; color: var(--brand); }

/* ---------- Ayuda ---------- */
.adx-help-search { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 18px; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-pill); box-shadow: var(--shadow-xs); margin-bottom: 22px; }
.adx-help-search svg { width: 20px; height: 20px; color: var(--text-subtle); }
.adx-help-search input { flex: 1; border: none; background: transparent; outline: none; font: var(--text-body-md); color: var(--text-strong); }
.adx-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
.adx-cat { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; padding: 18px; border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); box-shadow: var(--shadow-xs); cursor: pointer; text-align: left; transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-standard); }
.adx-cat:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.adx-cat__icon { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--brand-soft); color: var(--brand-stronger); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.adx-cat__icon svg { width: 20px; height: 20px; }
.adx-cat b { font: var(--text-label); color: var(--text-strong); }
.adx-cat span { font: var(--text-body-sm); }
.adx-faq { display: flex; flex-direction: column; }
.adx-faq__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 0; border-top: 1px solid var(--border-subtle); background: none; border-left: none; border-right: none; border-bottom: none; cursor: pointer; font: var(--text-body-md); color: var(--text-strong); text-align: left; }
.adx-faq__row:first-child { border-top: none; }
.adx-faq__row svg { width: 18px; height: 18px; color: var(--text-muted); flex: none; }
.adx-contact__opts { display: flex; flex-direction: column; gap: 4px; }
.adx-contact__opt { display: flex; align-items: center; gap: 12px; padding: 12px 0; }
.adx-contact__ic { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--surface-sunken); color: var(--brand); display: flex; align-items: center; justify-content: center; flex: none; }
.adx-contact__ic svg { width: 19px; height: 19px; }
.adx-contact__opt b { display: block; font: var(--text-label-sm); color: var(--text-strong); }
.adx-contact__opt span { font: var(--text-caption); }

/* ---------- Ajustes ---------- */
.adx-form { display: flex; flex-direction: column; gap: 14px; }
.adx-team { display: flex; flex-direction: column; }
.adx-team__row { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--border-subtle); }
.adx-team__row:first-child { border-top: none; }
.adx-team__info { flex: 1; min-width: 0; }
.adx-team__info b { display: block; font: var(--text-label-sm); color: var(--text-strong); }
.adx-team__info span { font: var(--text-caption); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .adx-paygrid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .adx-cats { grid-template-columns: 1fr 1fr; }
  .adx-next__meta { grid-template-columns: 1fr; gap: 8px; }
  .adx-donut-wrap { flex-direction: column; align-items: stretch; }
  .adx-donut { align-self: center; }
  .adx-balance__amt { font-size: var(--size-3xl); }
}
@media (max-width: 380px) {
  .adx-cats { grid-template-columns: 1fr; }
}

/* ============================================================
   Crear evento (asistente)
   ============================================================ */
.cre-steps { display: flex; gap: 8px; margin-bottom: 18px; }
.cre-step { flex: 1; display: flex; align-items: center; gap: 9px; padding: 12px 14px; border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); cursor: default; box-shadow: var(--shadow-xs); }
.cre-step.is-done { cursor: pointer; }
.cre-step__n { width: 26px; height: 26px; border-radius: var(--radius-pill); background: var(--surface-sunken); color: var(--text-muted); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-weight: 600; font-size: 13px; flex: none; }
.cre-step__n svg { width: 15px; height: 15px; }
.cre-step__lbl { font: var(--text-label-sm); color: var(--text-muted); }
.cre-step.is-active .cre-step__n { background: var(--brand); color: var(--brand-on); }
.cre-step.is-active .cre-step__lbl { color: var(--text-strong); }
.cre-step.is-done .cre-step__n { background: var(--success); color: #fff; }
.cre-step.is-done .cre-step__lbl { color: var(--text-body); }

.cre-card { padding: 24px; }
.cre-form { display: flex; flex-direction: column; gap: 16px; max-width: 680px; }
.cre-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cre-field { display: flex; flex-direction: column; gap: 6px; }
.cre-field .bls-field__label { font: var(--text-label-sm); color: var(--text-strong); }
.cre-textarea { width: 100%; padding: 12px 14px; font: var(--text-body-md); color: var(--text-strong); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); outline: none; resize: vertical; font-family: var(--font-sans); transition: var(--transition-colors); }
.cre-textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-ring); }
.cre-poster { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 28px; border: 2px dashed var(--border-strong); border-radius: var(--radius-lg); color: var(--text-muted); }
.cre-poster svg { width: 28px; height: 28px; }
.cre-poster span { font: var(--text-body-sm); text-align: center; }

.cre-zones { display: flex; flex-direction: column; gap: 14px; }
.cre-zones__hd h3 { font-family: var(--font-display); font-weight: 700; font-size: var(--size-lg); color: var(--text-strong); }
.cre-zone { border: 1px solid var(--border-default); border-radius: var(--radius-lg); padding: 16px; background: var(--surface-sunken); display: flex; flex-direction: column; gap: 12px; }
.cre-zone__main { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 12px; align-items: end; }
.cre-zone__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cre-zone__del { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; color: var(--danger); font: var(--text-label-sm); cursor: pointer; }
.cre-zone__del svg { width: 15px; height: 15px; }
.cre-addzone { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; border: 1.5px dashed var(--border-strong); border-radius: var(--radius-md); background: none; color: var(--brand); font: var(--text-label-sm); cursor: pointer; }
.cre-addzone:hover { background: var(--brand-softer); }
.cre-addzone svg { width: 17px; height: 17px; }
.cre-aforo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 16px; border-radius: var(--radius-lg); background: var(--brand-softer); }
.cre-aforo span { display: block; font: var(--text-caption); color: var(--text-muted); }
.cre-aforo b { font-family: var(--font-display); font-weight: 700; font-size: var(--size-xl); color: var(--text-strong); }

.cre-toggles { display: flex; flex-direction: column; gap: 4px; }
.cre-toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--border-subtle); }
.cre-toggle:first-child { border-top: none; }
.cre-toggle b { display: block; font: var(--text-label); color: var(--text-strong); }
.cre-toggle span { font: var(--text-caption); color: var(--text-muted); }

.cre-review { display: flex; flex-direction: column; gap: 20px; }
.cre-summary { display: flex; gap: 18px; }
.cre-summary__poster { width: 120px; height: 150px; border-radius: var(--radius-lg); flex: none; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.7); }
.cre-summary__poster svg { width: 34px; height: 34px; }
.cre-summary__body { flex: 1; min-width: 0; }
.cre-summary__body h2 { font-family: var(--font-display); font-weight: 800; font-size: var(--size-2xl); color: var(--text-strong); letter-spacing: -0.015em; margin: 2px 0 4px; }
.cre-summary__stats { display: flex; flex-wrap: wrap; gap: 18px; margin: 14px 0; }
.cre-summary__stats span { font: var(--text-body-sm); color: var(--text-muted); }
.cre-summary__stats b { font-family: var(--font-mono); color: var(--text-strong); }
.cre-summary__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cre-publish { display: flex; flex-direction: column; gap: 14px; padding: 18px; border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-sunken); }

.cre-foot { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.cre-foot__sp { flex: 1; }

.cre-done { text-align: center; padding: var(--space-9) var(--gutter-mobile); max-width: 520px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.cre-done__check { width: 76px; height: 76px; border-radius: 50%; background: var(--success); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-lg); margin-bottom: 18px; }
.cre-done__check svg { width: 40px; height: 40px; stroke-width: 3; }
.cre-done h1 { font-family: var(--font-display); font-weight: 800; font-size: var(--size-3xl); color: var(--text-strong); letter-spacing: -0.02em; margin-bottom: 8px; }
.cre-done p { font: var(--text-body-lg); color: var(--text-muted); margin-bottom: 24px; text-wrap: pretty; }
.cre-done__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

@media (max-width: 767px) {
  .cre-steps { overflow-x: auto; }
  .cre-step { flex: none; }
  .cre-step__lbl { white-space: nowrap; }
  .cre-row2 { grid-template-columns: 1fr; }
  .cre-zone__main { grid-template-columns: 1fr 1fr; }
  .cre-aforo { grid-template-columns: 1fr; gap: 10px; }
  .cre-summary { flex-direction: column; }
  .cre-summary__poster { width: 100%; height: 140px; }
  .cre-card { padding: 16px; }
}

/* ============================================================
   Detalle de orden + reembolso (cajón derecho)
   ============================================================ */
.ad-table--rows tbody tr { cursor: pointer; }
.ad-ordercard--btn { cursor: pointer; transition: border-color var(--dur-fast) var(--ease-standard); }
.ad-ordercard--btn:hover { border-color: var(--border-strong); }

.od { position: fixed; inset: 0; z-index: var(--z-modal); }
.od__scrim { position: absolute; inset: 0; background: var(--surface-overlay, rgba(28,20,16,.5)); animation: od-fade var(--dur-base) var(--ease-standard); }
@keyframes od-fade { from { opacity: 0; } to { opacity: 1; } }
.od__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 92vw); background: var(--surface-card); box-shadow: var(--shadow-xl); display: flex; flex-direction: column; animation: od-slide var(--dur-base) var(--ease-out); }
@keyframes od-slide { from { transform: translateX(100%); } to { transform: translateX(0); } }
.od__hd { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--border-subtle); }
.od__hd > div { display: flex; align-items: center; gap: 10px; }
.od__x { width: 36px; height: 36px; border: none; background: var(--surface-sunken); border-radius: var(--radius-pill); color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.od__x svg { width: 18px; height: 18px; }
.od__body { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 18px; }
.od__sec { display: flex; flex-direction: column; gap: 2px; }
.od__lbl { font: var(--text-eyebrow); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.od__sec b { font: var(--text-label); color: var(--text-strong); }
.od__items { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.od__item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-sunken); font: var(--text-body-sm); color: var(--text-body); }
.od__item svg { width: 16px; height: 16px; color: var(--brand); flex: none; }
.od__item span:first-of-type { flex: 1; }
.od__item .ad-mono { font-size: var(--size-xs); color: var(--text-muted); }
.od__pay { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; border-radius: var(--radius-lg); background: var(--surface-sunken); }
.od__pay span { display: block; font: var(--text-caption); color: var(--text-muted); }
.od__pay b { font: var(--text-label); color: var(--text-strong); }
.od__timeline { display: flex; flex-direction: column; gap: 0; }
.od__tl-row { display: flex; gap: 12px; padding: 0 0 16px; position: relative; }
.od__tl-row::before { content: ""; position: absolute; left: 5px; top: 14px; bottom: -2px; width: 2px; background: var(--border-default); }
.od__tl-row:last-child::before { display: none; }
.od__tl-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--border-strong); flex: none; margin-top: 2px; z-index: 1; }
.od__tl-row--done .od__tl-dot { background: var(--success); }
.od__tl-row--refund .od__tl-dot { background: var(--danger); }
.od__tl-row b { display: block; font: var(--text-label-sm); color: var(--text-strong); }
.od__tl-row span { font: var(--text-caption); }
.od__toast { display: flex; align-items: center; gap: 8px; padding: 11px 14px; border-radius: var(--radius-md); background: var(--success-soft); color: var(--success); font: var(--text-body-sm); }
.od__toast svg { width: 16px; height: 16px; }
.od__actions { display: flex; gap: 10px; margin-top: auto; padding-top: 4px; }
.od__title { font-family: var(--font-display); font-weight: 700; font-size: var(--size-lg); color: var(--text-strong); }
.od__refundkind { display: flex; flex-direction: column; gap: 10px; }
.od__rk { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1.5px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-card); cursor: pointer; text-align: left; }
.od__rk.is-sel { border-color: var(--brand); background: var(--brand-softer); }
.od__rk b { font: var(--text-label); color: var(--text-strong); display: block; }
.od__rk-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--border-strong); flex: none; position: relative; }
.od__rk.is-sel .od__rk-radio { border-color: var(--brand); }
.od__rk.is-sel .od__rk-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--brand); }
.od__note { display: flex; gap: 9px; align-items: flex-start; font: var(--text-caption); color: var(--text-muted); padding: 12px 14px; border-radius: var(--radius-md); background: var(--surface-sunken); }
.od__note svg { width: 16px; height: 16px; color: var(--brand); flex: none; margin-top: 1px; }
.od__done { text-align: center; align-items: center; }
.od__done-check { width: 64px; height: 64px; border-radius: 50%; background: var(--success); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); }
.od__done-check svg { width: 34px; height: 34px; stroke-width: 3; }
.od__done h3 { font-family: var(--font-display); font-weight: 800; font-size: var(--size-2xl); color: var(--text-strong); }
.od__done p { font: var(--text-body-md); }
