/* ==========================================================================
   HABLADONDE · SISTEMA VISUAL VERDE BOSQUE
   Fuente autoritativa de color para la interfaz compartida del SaaS.

   No sustituye colores de dominio configurables (clubes, camisetas, posiciones,
   logros o marcas externas) ni los estados semánticos de éxito, advertencia y
   error. Las reglas de composición específicas permanecen en app.css.
   ========================================================================== */

body.theme-habla-forest {
  /*
   * Contrato semántico HablaDónde.
   * Estos tokens son la fuente de verdad para todo el SaaS. Los alias
   * --forest-* que aparecen después mantienen compatibilidad con las vistas
   * existentes mientras cada módulo adopta nombres semánticos.
   */
  --hd-surface-header: rgba(14, 46, 33, 0.94);
  --hd-saas-header-start: #255150;
  --hd-saas-header-mid: #17484c;
  --hd-saas-header-end: #0e4049;
  --hd-saas-header-border: rgba(128, 230, 172, 0.3);
  --hd-saas-header-background: linear-gradient(
    90deg,
    var(--hd-saas-header-start) 0%,
    var(--hd-saas-header-mid) 52%,
    var(--hd-saas-header-end) 100%
  );
  --hd-surface-card: rgba(22, 67, 50, 0.78);
  --hd-surface-card-raised: rgba(34, 88, 67, 0.78);
  --hd-surface-card-deep: rgba(17, 58, 43, 0.8);
  --hd-surface-heading: rgba(6, 35, 25, 0.78);
  --hd-surface-control: rgba(42, 107, 79, 0.78);
  --hd-surface-control-hover: rgba(49, 122, 89, 0.84);
  --hd-surface-control-focus: rgba(53, 126, 88, 0.92);

  --hd-border-panel: rgba(128, 230, 172, 0.28);
  --hd-border-control: rgba(128, 230, 172, 0.52);
  --hd-border-control-hover: rgba(128, 230, 172, 0.68);

  --hd-text-title: #ffffff;
  --hd-text-primary: #eaf6ef;
  --hd-text-secondary: #d6e8dd;
  --hd-text-muted: #a6b7ae;
  --hd-text-placeholder: #91a69c;
  --hd-text-section: #ffd600;
  --hd-text-field-label: #bae6fd;
  --hd-text-field-label-focus: #7dd3fc;

  --hd-action-primary: #00f07a;
  --hd-action-primary-hover: #00d965;
  --hd-action-primary-border: #5cffa7;
  --hd-action-primary-border-hover: #88ffc0;
  --hd-action-on-primary: #10241c;
  --hd-action-primary-soft: rgba(0, 240, 122, 0.12);
  --hd-action-primary-soft-hover: rgba(0, 240, 122, 0.18);
  --hd-action-primary-border-subtle: rgba(0, 240, 122, 0.52);
  --hd-action-focus-ring: rgba(92, 255, 167, 0.24);

  --hd-action-secondary: #2a6b4f;
  --hd-action-secondary-hover: #317a59;
  --hd-action-secondary-border: rgba(128, 230, 172, 0.42);

  --hd-action-info: rgba(14, 116, 144, 0.24);
  --hd-action-info-hover: rgba(14, 165, 233, 0.34);
  --hd-action-info-border: #38bdf8;
  --hd-action-info-text: #e0f2fe;

  --hd-action-upload: #f97316;
  --hd-action-upload-hover: #fb923c;
  --hd-action-upload-border: #fdba74;
  --hd-action-upload-text: #201207;

  --hd-action-danger: #dc2626;
  --hd-action-danger-hover: #ef4444;
  --hd-action-danger-border: #ff8a92;
  --hd-action-danger-text: #fff5f5;

  --hd-status-success: #38d98b;
  --hd-status-warning: #f59e0b;
  --hd-status-danger: #ff5864;
  --hd-status-info: #80e6ac;
  --hd-status-success-text: #8df0bc;
  --hd-status-warning-text: #ffd166;
  --hd-status-danger-text: #ffb2b2;

  --hd-control-height: 48px;
  --hd-control-compact-height: 44px;
  --hd-control-radius: 12px;

  /* Marca y superficies */
  --forest-header: var(--hd-surface-header);
  --forest-card: var(--hd-surface-card);
  --forest-card-raised: var(--hd-surface-card-raised);
  --forest-card-deep: var(--hd-surface-card-deep);
  /* Superficie oscura heredada para contenedores que aún no son controles. */
  --forest-input: rgba(12, 35, 29, 0.8);
  --forest-overlay: rgba(6, 27, 19, 0.96);
  --forest-overlay-raised:
    radial-gradient(circle at 16% 0%, rgba(0, 240, 122, 0.1), transparent 44%),
    linear-gradient(145deg, rgba(34, 88, 67, 0.98), rgba(17, 58, 43, 0.97));
  --forest-overlay-footer:
    linear-gradient(180deg, rgba(31, 86, 64, 0.98), rgba(17, 58, 43, 0.99));
  --forest-strip: rgba(53, 126, 88, 0.26);
  --forest-public-glass: rgba(31, 86, 64, 0.82);
  --forest-control: var(--hd-surface-control);
  --forest-control-hover: var(--hd-surface-control-hover);
  --forest-control-focus: var(--hd-surface-control-focus);
  --forest-control-border: var(--hd-border-control);
  --forest-control-height: var(--hd-control-height);
  --forest-control-compact-height: var(--hd-control-compact-height);
  --forest-control-radius: var(--hd-control-radius);
  /* Alias públicos conservados para no romper los flujos de acceso. */
  --forest-public-control: var(--forest-control);
  --forest-public-control-hover: var(--forest-control-hover);
  --forest-public-control-focus: var(--forest-control-focus);
  --forest-public-control-border: var(--forest-control-border);
  --forest-auth-control-height: var(--forest-control-height);
  --forest-auth-control-radius: var(--forest-control-radius);

  /* Bordes, foco y profundidad */
  --forest-border: var(--hd-border-panel);
  --forest-border-strong: var(--hd-action-primary-border-subtle);
  --forest-divider: rgba(214, 232, 221, 0.16);
  --forest-focus-ring: rgba(128, 230, 172, 0.2);
  --forest-control-inset-shadow: rgba(4, 28, 20, 0.12);
  --forest-control-focus-inset-shadow: rgba(4, 28, 20, 0.16);
  --forest-shadow:
    0 24px 58px rgba(3, 22, 16, 0.24),
    0 1px 0 rgba(244, 255, 248, 0.1) inset;
  --forest-shadow-hover:
    0 28px 64px rgba(3, 22, 16, 0.3),
    0 1px 0 rgba(244, 255, 248, 0.13) inset;

  /* Tipografía */
  --forest-title: var(--hd-text-title);
  --forest-primary: var(--hd-text-primary);
  --forest-secondary: var(--hd-text-secondary);
  --forest-muted: var(--hd-text-muted);
  --forest-placeholder: var(--hd-text-placeholder);
  --forest-on-accent: var(--hd-action-on-primary);
  --forest-auth-title: var(--hd-text-title);
  --forest-auth-kicker: #39ff88;

  /* Acciones e identidad */
  --forest-highlight: #80e6ac;
  --forest-accent: var(--hd-action-primary);
  --forest-accent-hover: var(--hd-action-primary-hover);
  --forest-role: var(--hd-text-section);
  --forest-secondary-action: var(--hd-action-secondary);
  --forest-secondary-action-hover: var(--hd-action-secondary-hover);
  --forest-secondary-action-border: var(--hd-action-secondary-border);

  /* Estados funcionales */
  --forest-success: var(--hd-status-success);
  --forest-warning: var(--hd-status-warning);
  --forest-danger: var(--hd-status-danger);
  --forest-info: var(--hd-status-info);
  --forest-success-surface: rgba(56, 217, 139, 0.13);
  --forest-warning-surface: rgba(245, 158, 11, 0.12);
  --forest-danger-surface: rgba(255, 88, 100, 0.13);
  --forest-info-surface: rgba(128, 230, 172, 0.12);
  --forest-neutral-surface: rgba(214, 232, 221, 0.09);

  /* Superficie flotante común */
  --forest-surface:
    radial-gradient(circle at 16% 0%, rgba(0, 240, 122, 0.09), transparent 42%),
    linear-gradient(145deg, var(--forest-card-raised), var(--forest-card-deep));
  --forest-surface-hover:
    radial-gradient(circle at 16% 0%, rgba(0, 240, 122, 0.12), transparent 42%),
    linear-gradient(145deg, rgba(27, 73, 58, 0.9), rgba(10, 34, 27, 0.92));
  --forest-public-surface:
    radial-gradient(circle at 16% 0%, rgba(0, 240, 122, 0.12), transparent 44%),
    linear-gradient(145deg, rgba(42, 107, 79, 0.82), var(--forest-public-glass));
}

/* ==========================================================================
   CONTRATO DE COMPONENTES COMPARTIDOS
   La baja especificidad de :where permite que un estado funcional explícito
   prevalezca sin recurrir a una cadena de !important.
   ========================================================================== */

body.theme-habla-forest:not(.public-home-page):not(.public-account-page) {
  --surface-card: var(--forest-card);
  --surface-card-hover: var(--forest-card-raised);
  --surface-chart: var(--forest-card-deep);
  --surface-input: var(--forest-input);
  --surface-main: var(--forest-card);
  --surface-header: var(--forest-header);
  --surface: var(--forest-card);
  --surface-hover: var(--forest-card-raised);
  --navbar-bg: var(--forest-header);
  --sidebar: var(--forest-header);

  --text-title: var(--forest-title);
  --text-primary: var(--forest-primary);
  --text-secondary: var(--forest-secondary);
  --text-muted: var(--forest-muted);
  --text-soft: var(--forest-muted);
  --text-label: var(--forest-secondary);
  --text-card-label: var(--forest-secondary);
  --placeholder-text: var(--forest-placeholder);
  --ink: var(--forest-primary);
  --muted: var(--forest-secondary);

  --border-soft: var(--forest-border);
  --border-green: var(--forest-border);
  --line: var(--forest-border);
  --accent-green: var(--forest-accent);
  --text-accent: var(--forest-accent);
  --text-accent-soft: var(--forest-highlight);
  --green: var(--forest-accent);
  --green-dark: var(--forest-accent-hover);
  --danger: var(--forest-danger);
  --card-gradient: var(--forest-surface);
  --shadow-card: var(--forest-shadow);
  --shadow-hover: var(--forest-shadow-hover);
  --shadow-glow: 0 0 24px rgba(0, 240, 122, 0.14);

  color: var(--forest-primary);
}

/* Encabezado y navegación */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.topbar, .mobile-bottom-nav) {
  border-color: var(--forest-border);
  background-color: var(--forest-header);
}

/*
 * Cabecera global del SaaS - vidrio teal uniforme.
 * El mismo material identifica los flujos publicos y autenticados sin alterar
 * la navegacion, las acciones ni los colores funcionales de cada rol.
 */
body.theme-habla-forest .topbar,
body.theme-habla-forest.public-session .topbar.topbar--public,
body.theme-habla-forest.public-account-page .topbar.topbar--public-account,
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .topbar.topbar--authenticated,
body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .topbar.topbar--authenticated,
body.theme-habla-forest.player-dashboard-page:not(.public-home-page):not(.public-account-page):not(.public-session)
  .topbar.topbar--authenticated,
body.theme-habla-forest:not(.public-session) .topbar.topbar--superadmin {
  border-bottom-color: var(--hd-saas-header-border);
  background: var(--hd-saas-header-background);
  box-shadow:
    0 12px 34px rgba(3, 25, 29, 0.3),
    0 1px 0 rgba(244, 255, 248, 0.1) inset;
  backdrop-filter: blur(16px) saturate(112%);
  -webkit-backdrop-filter: blur(16px) saturate(112%);
}
/* Fin de la cabecera global teal del SaaS. */

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.brand-copy strong, .mobile-drawer-header strong, .notif-header strong) {
  color: var(--forest-title);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.brand-copy small, .mobile-drawer-header span, .notif-header span) {
  color: var(--forest-secondary);
}

/* Superficies flotantes */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    .panel,
    .form-panel,
    .table-panel,
    .subscription-panel,
    .dash-panel,
    .admin-section-card,
    .data-card,
    .action-card,
    .metric-card,
    .stat,
    .dash-stat,
    .filter-panel,
    .profile-panel,
    .reservation-panel,
    .friendly-card,
    .summary-card,
    .modal-content,
    .dialog-panel,
    .empty-state
  ) {
  border-color: var(--forest-border);
  color: var(--forest-primary);
  background: var(--forest-surface);
  box-shadow: var(--forest-shadow);
  backdrop-filter: blur(14px) saturate(112%);
  -webkit-backdrop-filter: blur(14px) saturate(112%);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.panel, .dash-panel, .data-card, .action-card, .metric-card, .stat).hoverable:hover {
  border-color: var(--forest-border-strong);
  box-shadow: var(--forest-shadow-hover);
  transform: translateY(-2px);
}

/* Jerarquía tipográfica */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .page
  :where(h1, h2, h3, .section-title, .panel-title, .card-title) {
  color: var(--forest-title);
  text-shadow: 0 1px 2px rgba(3, 22, 16, 0.35);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .page
  :where(
    .section-title,
    .form-section-title,
    .section-head__title,
    .form-panel > h2,
    .form-panel > h3,
    fieldset > legend
  ) {
  color: var(--hd-text-section);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .page
  #profile-update-title {
  color: var(--profile-title);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .page
  :where(.subtitle, .section-copy, .helptext, .field-help, .text-secondary) {
  color: var(--forest-secondary);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .page
  :where(.text-muted, .empty-state p, .field-hint) {
  color: var(--forest-muted);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .page
  :where(.eyebrow, .section-label, .panel-label) {
  border-color: var(--forest-border);
  color: var(--forest-title);
  background: var(--forest-strip);
}

/* Formularios */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.field, .form-field, .filter-field)
  > :where(label, span:first-child) {
  color: var(--hd-text-field-label);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(label.field, label.form-field, label.filter-field) {
  color: var(--hd-text-field-label);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.field, .form-field, .filter-field):focus-within
  > :where(label, span:first-child),
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(label.field, label.form-field, label.filter-field):focus-within {
  color: var(--hd-text-field-label-focus);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
    select,
    textarea,
    .search-control,
    .search-input,
    .filter-control
  ) {
  border-color: var(--forest-control-border);
  border-radius: var(--forest-control-radius);
  color: var(--forest-title);
  background-color: var(--forest-control);
  box-shadow:
    0 8px 18px var(--forest-control-inset-shadow) inset,
    0 1px 0 rgba(255, 255, 255, 0.1);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
    select,
    textarea,
    .search-control,
    .search-input,
    .filter-control
  ):hover {
  border-color: var(--hd-border-control-hover);
  background-color: var(--forest-control-hover);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
    select,
    textarea
  ):focus {
  border-color: var(--forest-highlight);
  outline: none;
  background-color: var(--forest-control-focus);
  box-shadow:
    0 0 0 3px var(--forest-focus-ring),
    0 10px 22px var(--forest-control-focus-inset-shadow) inset;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(input, textarea)::placeholder {
  color: var(--forest-placeholder);
  opacity: 1;
}

/*
 * Densidad de formularios por contexto.
 * - standard: creación, edición, reserva y evaluación.
 * - compact: filtros, buscadores, asistencia y controles dentro de tablas.
 */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ) {
  border-color: var(--forest-control-border);
  border-radius: var(--forest-control-radius);
  color: var(--forest-title);
  background-color: var(--forest-control);
  box-shadow:
    0 8px 18px var(--forest-control-inset-shadow) inset,
    0 1px 0 rgba(255, 255, 255, 0.1);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .form-density--standard
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select
  ) {
  height: var(--forest-control-height);
  min-height: var(--forest-control-height);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .form-density--compact
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select
  ) {
  height: var(--forest-control-compact-height);
  min-height: var(--forest-control-compact-height);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .form-density--standard
  textarea {
  height: auto;
  min-height: 88px;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .form-density--compact
  textarea {
  height: auto;
  min-height: 72px;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):hover {
  border-color: var(--hd-border-control-hover);
  background-color: var(--forest-control-hover);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):focus {
  border-color: var(--forest-highlight);
  outline: none;
  background-color: var(--forest-control-focus);
  box-shadow:
    0 0 0 3px var(--forest-focus-ring),
    0 10px 22px var(--forest-control-focus-inset-shadow) inset;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.field-errors, .errorlist) {
  margin: 0.35rem 0 0;
  color: var(--hd-status-danger-text);
  font-size: 0.85rem;
  font-weight: 650;
}

/*
 * Los steppers nativos de Chromium no admiten el vidrio del sistema y pueden
 * pintar un bloque negro cuando el formulario usa color-scheme oscuro. Se
 * conserva type="number" (rango, validacion y flechas del teclado), pero se
 * elimina solo la decoracion nativa inconsistente en vistas autenticadas.
 */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  input[type="number"]::-webkit-inner-spin-button,
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

/* Acciones */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn-primary, .btn-success) {
  border-color: var(--hd-action-primary-border);
  color: var(--forest-on-accent);
  background: var(--forest-accent);
  box-shadow: 0 9px 24px rgba(6, 27, 19, 0.24);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn-primary, .btn-success):is(:hover, :focus-visible) {
  border-color: var(--hd-action-primary-border-hover);
  color: var(--forest-on-accent);
  background: var(--forest-accent-hover);
  box-shadow: 0 12px 28px rgba(6, 27, 19, 0.32);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn-outline, .btn-secondary) {
  border-color: var(--forest-secondary-action-border);
  color: var(--forest-title);
  background: var(--forest-secondary-action);
  box-shadow: none;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn-outline, .btn-secondary):hover {
  border-color: var(--forest-highlight);
  color: var(--forest-title);
  background: var(--forest-secondary-action-hover);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn-info, .btn-back) {
  border-color: var(--hd-action-info-border);
  color: var(--hd-action-info-text);
  background: var(--hd-action-info);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn-info, .btn-back):is(:hover, :focus-visible) {
  border-color: var(--hd-text-field-label-focus);
  color: var(--hd-text-title);
  background: var(--hd-action-info-hover);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .btn-danger {
  border-color: var(--hd-action-danger-border);
  color: var(--hd-action-danger-text);
  background: var(--hd-action-danger);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .btn-danger:is(:hover, :focus-visible) {
  border-color: #fecdd3;
  color: var(--hd-text-title);
  background: var(--hd-action-danger-hover);
}

body.theme-habla-forest
  input[type="file"]::file-selector-button {
  border: 1px solid var(--hd-action-upload-border);
  border-radius: 8px;
  color: var(--hd-action-upload-text);
  background: var(--hd-action-upload);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

body.theme-habla-forest
  input[type="file"]::file-selector-button:hover {
  border-color: #fed7aa;
  background: var(--hd-action-upload-hover);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn, button, input, select, textarea, a, [tabindex]):focus-visible {
  outline: 3px solid var(--hd-action-primary-border);
  outline-offset: 3px;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn, button, input, select, textarea)[disabled],
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.btn, button, input, select, textarea)[aria-disabled="true"] {
  cursor: not-allowed;
  filter: saturate(65%);
  opacity: 0.62;
}

/* Navegación secundaria, filtros y paginación */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    .tabs,
    .subnav,
    .superadmin-subnav,
    .section-toolbar,
    .quick-actions,
    .pagination,
    .filter-bar
  ) {
  border-color: var(--forest-border);
  background: rgba(17, 58, 43, 0.72);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    .tab,
    .subnav-link,
    .pagination a,
    .pagination button,
    .page-link
  ) {
  border-color: var(--forest-border);
  color: var(--forest-secondary);
  background: rgba(34, 88, 67, 0.34);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    .tab.is-active,
    .tab.active,
    .subnav-link.active,
    .subnav-link.nav-active,
    .pagination .active,
    .page-link[aria-current="page"]
  ) {
  border-color: var(--forest-accent);
  color: var(--forest-on-accent);
  background: var(--forest-accent);
}

/* Menús, diálogos y capas flotantes */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(
    .nav-dropdown,
    .account-menu-dropdown,
    .notification-dropdown,
    .search-suggestions,
    .mobile-nav-drawer,
    .modal,
    dialog
  ) {
  border-color: var(--forest-border);
  color: var(--forest-primary);
  background: var(--forest-overlay);
  box-shadow: 0 24px 58px rgba(0, 14, 9, 0.46);
}

body.theme-habla-forest.player-dashboard-page:not(.public-home-page):not(.public-account-page)
  .account-menu-dropdown {
  background: var(--forest-overlay-raised);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.nav-dd-item, .account-menu-item, .notif-item):hover {
  color: var(--forest-title);
  background: var(--forest-neutral-surface);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure {
  margin: 7px 10px;
  padding: 0;
  overflow: clip;
  border: 1px solid rgba(128, 230, 172, 0.3);
  border-radius: 10px;
  background: var(--forest-secondary-action);
  box-shadow:
    0 7px 16px rgba(3, 22, 16, 0.16),
    0 1px 0 rgba(252, 255, 253, 0.08) inset;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open] {
  border-color: var(--forest-secondary-action-border);
  background: rgba(17, 58, 43, 0.92);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary {
  min-height: 44px;
  padding: 8px 11px 8px 13px;
  color: var(--forest-title);
  background: var(--forest-secondary-action);
  box-shadow: 3px 0 0 transparent inset;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary:is(:hover, :focus-visible) {
  color: var(--forest-title);
  background: var(--forest-secondary-action-hover);
  outline-color: rgba(128, 230, 172, 0.62);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open]
  > .account-menu-disclosure__summary {
  background: rgba(34, 88, 67, 0.98);
  box-shadow: 3px 0 0 var(--forest-auth-kicker) inset;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary
  svg {
  width: 28px;
  height: 28px;
  padding: 6px;
  border: 1px solid rgba(128, 230, 172, 0.26);
  border-radius: 8px;
  color: var(--forest-highlight);
  background: rgba(17, 58, 43, 0.36);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content {
  margin: 0 8px 8px 11px;
  padding: 4px 0 3px 8px;
  border-top: 1px solid rgba(214, 232, 221, 0.14);
  border-left: 2px solid rgba(128, 230, 172, 0.34);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content
  .account-menu-item {
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--forest-secondary);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content
  .account-menu-item--danger {
  color: #ffb4b4;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content
  .account-menu-item--danger:is(:hover, :focus-visible) {
  color: #ffd0d0;
  background: var(--forest-danger-surface);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-logout--persistent {
  padding: 11px 10px calc(11px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--forest-divider);
  background: var(--forest-overlay-footer);
  box-shadow: 0 -10px 24px rgba(0, 14, 9, 0.16);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-item--logout {
  min-height: 44px;
  padding: 9px 12px;
  gap: 10px;
  border: 1px solid rgba(214, 232, 221, 0.34);
  border-radius: 10px;
  color: var(--forest-primary);
  background: var(--forest-neutral-surface);
  box-shadow: 0 1px 0 rgba(252, 255, 253, 0.06) inset;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-item--logout::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 17l5-5-5-5v3H3v4h7v3zm9-14H9a2 2 0 0 0-2 2v3h2V5h10v14H9v-3H7v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 17l5-5-5-5v3H3v4h7v3zm9-14H9a2 2 0 0 0-2 2v3h2V5h10v14H9v-3H7v3a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .account-menu-item--logout:is(:hover, :focus-visible) {
  color: var(--forest-title);
  border-color: var(--forest-highlight);
  background: var(--forest-neutral-surface);
  outline: 2px solid var(--forest-border-strong);
  outline-offset: 2px;
}

@media (max-width: 580px) {
  body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
    .account-menu-disclosure {
    margin: 6px 10px;
  }

  body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
    .account-menu-disclosure__summary {
    padding: 8px 11px 8px 13px;
  }

  body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
    .account-menu-disclosure__content
    .account-menu-item {
    min-height: 44px;
    padding: 9px 10px;
  }
}

/*
 * Migración visual por módulos · lote 2.
 *
 * Academia, Rendimiento, Torneos, Operación y Pagos consumen el mismo contrato
 * semántico del lote 1. Gráficos, logros, colores deportivos configurables,
 * marcas externas y estados emitidos por backend permanecen como excepciones
 * de dominio.
 */
body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  ) {
  --hd-module-surface: var(--hd-surface-card);
  --hd-module-surface-raised: var(--hd-surface-card-raised);
  --hd-module-border: var(--hd-border-panel);
  --hd-module-divider: var(--forest-divider);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  h1 {
  color: var(--hd-text-title);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(
    .section-head h2,
    .panel-heading h2,
    .form-panel > h2,
    .stacked-panel > h2,
    .management-grid > section > h2,
    fieldset > legend
  ) {
  color: var(--hd-text-section);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(
    .field,
    .field-group > label,
    .filter-form label,
    .filter-form-grid label,
    .academy-site-picker label,
    .rating-form label,
    .payment-field,
    .field-label
  ) {
  color: var(--hd-text-field-label);
  text-shadow: 0 1px 1px rgba(2, 29, 52, 0.38);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(
    .field,
    .field-group,
    .filter-form label,
    .filter-form-grid label,
    .academy-site-picker label,
    .rating-form label,
    .payment-field
  ):focus-within {
  color: var(--hd-text-field-label-focus);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(.eyebrow, .section-kicker, .section-label, .panel-label) {
  border-color: var(--hd-action-info-border);
  color: var(--hd-text-field-label);
  background: var(--hd-action-info);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(.section-head, .panel-heading, .rating-form-head) {
  border-color: var(--hd-module-divider);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(form, .form-panel)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ) {
  min-height: var(--hd-control-height);
  border-color: var(--hd-border-control);
  border-radius: var(--hd-control-radius);
  color: var(--hd-text-title);
  background: var(--hd-surface-control);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(form, .form-panel)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):hover {
  border-color: var(--hd-border-control-hover);
  background: var(--hd-surface-control-hover);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(form, .form-panel)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):focus {
  border-color: var(--hd-text-field-label-focus);
  outline: none;
  background: var(--hd-surface-control-focus);
  box-shadow:
    0 0 0 3px var(--hd-action-focus-ring),
    0 10px 22px var(--forest-control-focus-inset-shadow) inset;
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  .form-density--compact
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select
  ) {
  min-height: var(--hd-control-compact-height);
  height: var(--hd-control-compact-height);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  :is(.btn, button) {
  min-height: var(--hd-control-compact-height);
}

body.theme-habla-forest:is(
    .module-academies-page,
    .module-performance-page,
    .module-tournaments-page,
    .module-operations-page,
    .module-payments-page
  )
  .page
  .status:not(.success):not(.warning):not(.danger):not(.muted) {
  border-color: var(--hd-action-info-border);
  color: var(--hd-action-info-text);
  background: var(--hd-action-info);
}

body.theme-habla-forest.module-academies-page .academy-cover-image {
  width: 100%;
  max-height: 320px;
  margin-bottom: 18px;
  border-radius: 18px;
  object-fit: cover;
}

body.theme-habla-forest.module-academies-page .academy-logo-image {
  width: 100%;
  margin-bottom: 12px;
  border-radius: 8px;
}

body.theme-habla-forest.module-academies-page .academy-card-heading {
  margin-top: 0;
}

body.theme-habla-forest.module-academies-page .academy-group-meta {
  margin: 0;
}

body.theme-habla-forest.module-academies-page .academy-group-actions {
  text-align: right;
}

body.theme-habla-forest.module-academies-page .academy-group-capacity {
  margin-top: 10px;
}

body.theme-habla-forest.module-academies-page .academy-enrollment-form {
  margin-top: 24px;
}

body.theme-habla-forest.module-academies-page .academy-public-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

body.theme-habla-forest.module-academies-page .academy-public-card-title {
  margin: 0;
  font-size: 20px;
}

body.theme-habla-forest.module-academies-page .academy-empty-grid {
  grid-column: 1 / -1;
}

body.theme-habla-forest.module-academies-page .academy-notice-title {
  margin: 0 0 4px;
  color: var(--hd-text-section);
}

body.theme-habla-forest.module-academies-page .academy-payment-empty,
body.theme-habla-forest.module-academies-page .academy-payment-copy {
  margin: 0;
  font-size: 0.9rem;
}

body.theme-habla-forest.module-academies-page .academy-payment-amount {
  margin: 0;
  font-size: 0.95rem;
}

body.theme-habla-forest.module-academies-page .academy-payment-channels {
  margin: 0;
  padding-left: 1.2rem;
  font-size: 0.85rem;
}

body.theme-habla-forest.module-academies-page .academy-payment-label {
  font-size: 0.8rem;
}

body.theme-habla-forest.module-operations-page .operation-form-action {
  margin-top: 1rem;
}

body.theme-habla-forest.module-operations-page .operation-form-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

body.theme-habla-forest.module-operations-page .operation-form-actions--full {
  grid-column: 1 / -1;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-check-spaced {
  margin-top: 10px;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-status-spaced {
  display: inline-block;
  margin-top: 8px;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-status-inline {
  margin-left: 8px;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-field-group {
  margin-bottom: 1rem;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-field-group
  > label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-list {
  margin-top: 1.5rem;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--hd-module-divider);
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-list-meta {
  display: block;
  margin-top: 4px;
  color: var(--hd-text-secondary);
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .operation-inline-form {
  margin: 0;
}

body.theme-habla-forest:is(.module-operations-page, .module-payments-page)
  .list-row.is-inactive {
  opacity: 0.5;
}

body.theme-habla-forest.module-operations-page .operation-filter-actions {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 4px;
}

body.theme-habla-forest.module-operations-page .operation-audit-date {
  margin-left: 1rem;
  white-space: nowrap;
}

body.theme-habla-forest.module-operations-page .operation-audit-date--small {
  font-size: 12px;
}

body.theme-habla-forest.module-operations-page .operation-empty {
  padding: 24px;
  color: var(--hd-text-secondary);
  text-align: center;
}

body.theme-habla-forest.module-operations-page .operation-pagination {
  margin-top: 1.5rem;
  text-align: center;
}

body.theme-habla-forest.module-operations-page .operation-pagination-current {
  margin: 0 10px;
  color: var(--hd-text-secondary);
  font-size: 0.9rem;
}

body.theme-habla-forest.module-operations-page .operation-hero-copy {
  max-width: 600px;
  margin-top: 8px;
}

body.theme-habla-forest.module-operations-page .operation-action-icon {
  margin-right: 6px;
  vertical-align: text-bottom;
}

body.theme-habla-forest.module-operations-page .operation-copy-block {
  margin-bottom: 16px;
}

body.theme-habla-forest.module-operations-page .operation-subtitle {
  margin: 0 0 8px;
  color: var(--hd-text-section);
  font-size: 15px;
}

body.theme-habla-forest.module-operations-page .operation-helper {
  margin: 0 0 16px;
  color: var(--hd-text-secondary);
  font-size: 13px;
}

body.theme-habla-forest.module-operations-page .plan-create-family {
  margin-bottom: 32px;
}

body.theme-habla-forest.module-operations-page .plan-create-kicker {
  font-weight: 800;
  letter-spacing: 1px;
}

body.theme-habla-forest.module-operations-page .plan-create-title {
  color: var(--hd-text-section);
}

body.theme-habla-forest.module-operations-page .plan-create-copy {
  color: var(--hd-text-secondary);
  font-size: 14px;
}

body.theme-habla-forest.module-operations-page .plan-comparator-grid--spaced {
  margin-top: 24px;
}

body.theme-habla-forest.module-operations-page .plan-family-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0;
  text-align: center;
}

body.theme-habla-forest.module-operations-page .plan-family-title {
  margin-bottom: 8px;
  color: var(--hd-text-title);
  font-size: 18px;
  font-weight: 700;
}

body.theme-habla-forest.module-operations-page .plan-family-count {
  margin-bottom: 16px;
  color: var(--hd-action-primary);
  font-size: 32px;
}

body.theme-habla-forest.module-operations-page .plan-family-count > span {
  color: var(--hd-text-secondary);
  font-size: 14px;
  font-weight: 400;
}

body.theme-habla-forest.module-operations-page .plan-admin-grid--single {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

body.theme-habla-forest.module-operations-page .plan-version-actions {
  gap: 10px;
  margin-bottom: 24px;
}

/* Publicidad del superadministrador: acciones de campaña con semántica estable. */
body.theme-habla-forest.superadmin-portal-page.module-operations-page
  .advertising-table
  .advertising-campaign-edit-action,
body.theme-habla-forest.superadmin-portal-page.module-operations-page
  .advertising-table
  .advertising-campaign-reactivate-action {
  border-color: var(--hd-action-primary-border);
  color: var(--hd-action-on-primary);
  background: var(--hd-action-primary);
}

body.theme-habla-forest.superadmin-portal-page.module-operations-page
  .advertising-table
  :is(.advertising-campaign-edit-action, .advertising-campaign-reactivate-action):is(:hover, :focus-visible) {
  border-color: var(--hd-action-primary-border-hover);
  color: var(--hd-action-on-primary);
  background: var(--hd-action-primary-hover);
}

body.theme-habla-forest.superadmin-portal-page.module-operations-page
  .advertising-table
  .advertising-campaign-suspend-action {
  border-color: var(--hd-action-upload-border);
  color: var(--hd-action-upload-text);
  background: var(--hd-action-upload);
}

body.theme-habla-forest.superadmin-portal-page.module-operations-page
  .advertising-table
  .advertising-campaign-suspend-action:is(:hover, :focus-visible) {
  border-color: #fed7aa;
  color: var(--hd-action-upload-text);
  background: var(--hd-action-upload-hover);
}

body.theme-habla-forest.superadmin-portal-page.module-operations-page
  .advertising-table
  .status-suspendida {
  border-color: color-mix(in srgb, var(--hd-status-warning) 54%, transparent);
  color: var(--hd-status-warning-text);
  background: color-mix(in srgb, var(--hd-status-warning) 14%, transparent);
}

@media (max-width: 580px) {
  body.theme-habla-forest:is(
      .module-academies-page,
      .module-performance-page,
      .module-tournaments-page,
      .module-operations-page,
      .module-payments-page
    )
    .page
    :is(.btn, button, input, select) {
    min-height: var(--hd-control-compact-height);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
    .account-menu-disclosure__summary,
  body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
    .account-menu-disclosure__summary
    svg {
    transition: none;
  }
}

/* Tablas */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.table-panel, .table-wrap, .responsive-table, .data-table-wrap) {
  scrollbar-color: rgba(128, 230, 172, 0.46) rgba(6, 27, 19, 0.72);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page) table {
  border-color: var(--forest-border);
  color: var(--forest-primary);
  background: rgba(17, 58, 43, 0.5);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(thead, thead tr, th) {
  border-color: var(--forest-border);
  color: var(--forest-title);
  background: rgba(14, 46, 33, 0.92);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(tbody tr, td) {
  border-color: var(--forest-divider);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  tbody tr:hover {
  background: var(--forest-neutral-surface);
}

/* Etiquetas y estados. Los colores semánticos se conservan separados. */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.badge, .chip, .tag, .preview-label, .organization-visibility-pill) {
  border-color: var(--forest-border);
  color: var(--forest-primary);
  background: var(--forest-info-surface);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.status.success, .status-pill.success, .status-pill.status-ok, .flash-success) {
  border-color: rgba(56, 217, 139, 0.46);
  color: var(--hd-status-success-text);
  background: var(--forest-success-surface);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.status.warning, .status-pill.warning, .status-pill.status-warn, .flash-warning) {
  border-color: rgba(245, 158, 11, 0.52);
  color: var(--hd-status-warning-text);
  background: var(--forest-warning-surface);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.status.danger, .status-pill.danger, .flash-error) {
  border-color: rgba(255, 88, 100, 0.5);
  color: var(--hd-status-danger-text);
  background: var(--forest-danger-surface);
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  :where(.status.info, .status-pill.info, .flash-info) {
  border-color: rgba(128, 230, 172, 0.48);
  color: var(--forest-primary);
  background: var(--forest-info-surface);
}

/*
 * Encabezado autenticado en móvil.
 * Conserva completo el rol cuando hay espacio y sólo aplica elipsis en
 * teléfonos realmente estrechos.
 */
/*
 * Perfil del jugador: identidad cromática compartida del estilo de juego.
 * El alcance incluye la insignia del inicio y la previsualización de edición;
 * el perfil público conserva su presentación independiente.
 */
body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge,
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview {
  --player-style-category-surface: rgba(31, 86, 64, 0.94);
  --player-style-category-accent: #e2e8f0;
  --player-style-category-shadow: rgba(226, 232, 240, 0.22);
  border-color: var(--player-style-category-accent);
  border-width: 2px;
  background: var(--player-style-category-surface);
  box-shadow:
    0 7px 16px rgba(3, 22, 16, 0.22),
    0 0 12px var(--player-style-category-shadow),
    0 1px 0 rgba(255, 255, 255, 0.18) inset;
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge {
  --player-style-category-surface: var(--player-style-badge-surface);
  color: var(
    --player-style-category-text,
    var(--player-style-category-accent)
  );
  font-weight: 800;
  text-shadow:
    0 1px 2px rgba(3, 22, 16, 0.72),
    0 0 7px var(--player-style-category-shadow);
  backdrop-filter: blur(4px) saturate(108%);
  -webkit-backdrop-filter: blur(4px) saturate(108%);
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge[data-style-category="ARQUERO"],
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview[data-style-category="ARQUERO"] {
  --player-style-category-accent: #46c7ff;
  --player-style-category-shadow: rgba(70, 199, 255, 0.32);
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge[data-style-category="DEFENSA"],
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview[data-style-category="DEFENSA"] {
  --player-style-category-accent: #55f59a;
  --player-style-category-shadow: rgba(85, 245, 154, 0.28);
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge[data-style-category="MEDIOCAMPO"],
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview[data-style-category="MEDIOCAMPO"] {
  --player-style-category-accent: #ffd600;
  --player-style-category-shadow: rgba(255, 214, 0, 0.3);
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge[data-style-category="ATAQUE"],
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview[data-style-category="ATAQUE"] {
  --player-style-category-accent: #ff5864;
  --player-style-category-shadow: rgba(255, 88, 100, 0.34);
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge[data-style-category="IDENTIDAD"],
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview[data-style-category="IDENTIDAD"] {
  --player-style-category-accent: #e2e8f0;
  --player-style-category-shadow: rgba(226, 232, 240, 0.22);
}

body.theme-habla-forest.player-dashboard-page
  .player-home-profile
  .player-style-badge
  .player-style-badge__marker,
body.theme-habla-forest
  .profile-update-page
  .profile-style-preview
  .profile-style-preview__marker {
  background: var(--player-style-category-accent);
  box-shadow:
    0 0 0 2px rgba(3, 22, 16, 0.24),
    0 0 8px var(--player-style-category-accent);
}

body.theme-habla-forest
  .profile-update-page
  .profile-style-preview
  .profile-style-preview__category {
  color: var(
    --player-style-category-text,
    var(--player-style-category-accent)
  );
  text-shadow:
    0 1px 2px rgba(3, 22, 16, 0.72),
    0 0 7px var(--player-style-category-shadow);
}

@media (max-width: 580px) {
  body.theme-habla-forest
    .topbar--authenticated
    .account-menu-trigger:not(.account-menu-trigger--player) {
    width: auto;
    max-width: 150px;
    padding-inline: 6px;
    gap: 3px;
    font-size: 11px;
  }

  body.theme-habla-forest
    .topbar--authenticated
    .account-menu-trigger:not(.account-menu-trigger--player)
    > span {
    max-width: 122px;
  }
}

@media (max-width: 340px) {
  body.theme-habla-forest
    .topbar--authenticated
    .account-menu-trigger:not(.account-menu-trigger--player) {
    max-width: 106px;
    padding-inline: 8px;
  }

  body.theme-habla-forest
    .topbar--authenticated
    .account-menu-trigger:not(.account-menu-trigger--player)
    > span {
    max-width: 70px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
    :where(.panel, .dash-panel, .metric-card, .stat, .btn) {
    transition: none;
  }
}

/* Recuperacion publica: hereda el vidrio azul compartido del jugador. */
body.theme-habla-forest.auth-assistance-page
  .page
  .auth-flow-card
  .auth-title {
  color: #ffffff;
}

body.theme-habla-forest.auth-assistance-page
  .page
  .auth-flow-card
  .eyebrow {
  border-color: rgba(57, 255, 136, 0.54);
  color: var(--forest-auth-kicker);
  background: var(--hd-action-primary-soft);
}

body.theme-habla-forest.auth-assistance-page
  .page
  .auth-flow-card
  .field
  >
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
  border-color: var(--player-glass-border);
  color: var(--public-account-control-text);
  caret-color: var(--public-account-control-text);
  background: var(--public-account-control);
}

body.theme-habla-forest.auth-assistance-page
  .page
  .auth-flow-card
  .field
  >
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover {
  border-color: var(--player-glass-border-strong);
  background: var(--public-account-control-hover);
}

body.theme-habla-forest.auth-assistance-page
  .page
  .auth-flow-card
  .field
  >
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus {
  border-color: #62cfff;
  color: var(--public-account-control-text);
  caret-color: var(--public-account-control-text);
  background: var(--public-account-control-focus);
}

body.theme-habla-forest.public-account-page
  .page
  .login-card
  .login-links--single
  a {
  color: var(--forest-auth-kicker);
}

body.theme-habla-forest.public-account-page
  .page
  .login-card
  .login-links--single
  a:is(:hover, :focus-visible) {
  color: var(--forest-title);
}

/*
 * Migración visual por módulos · lote 1.
 *
 * Amistosos, Canchas y Clubes comparten esta capa de cumplimiento para impedir
 * que reglas históricas de cada vista vuelvan a definir colores de interfaz.
 * Los colores configurables de equipos, escudos, camisetas y posiciones siguen
 * siendo datos de dominio y quedan fuera de este alcance.
 */
body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  ) {
  --hd-module-surface: var(--hd-surface-card);
  --hd-module-surface-raised: var(--hd-surface-card-raised);
  --hd-module-border: var(--hd-border-panel);
  --hd-module-divider: var(--forest-divider);
}

body.theme-habla-forest.module-friendlies-page.friendly-list-page {
  --hd-friendly-results-glass: rgba(8, 51, 101, 0.82);
  --hd-friendly-card-glass: rgba(12, 68, 128, 0.78);
  --hd-friendly-pitch-glass-top: rgba(34, 88, 67, 0.32);
  --hd-friendly-pitch-glass-bottom: rgba(17, 58, 43, 0.42);
  --hd-friendly-footer-glass: rgba(10, 55, 103, 0.78);
  --hd-friendly-highlight-surface: rgba(245, 158, 11, 0.18);
  --hd-friendly-highlight-border: rgba(255, 214, 0, 0.54);
}

body.theme-habla-forest.module-friendlies-page.friendly-list-page
  .page
  .player-friendly-filter {
  background: var(--hd-friendly-results-glass);
  box-shadow: var(--forest-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.module-friendlies-page.friendly-list-page
  .page
  .player-friendly-card {
  background: var(--hd-friendly-card-glass);
  box-shadow:
    0 16px 36px rgba(3, 22, 16, 0.16),
    0 1px 0 rgba(244, 255, 248, 0.12) inset;
  backdrop-filter: blur(4px) saturate(108%);
  -webkit-backdrop-filter: blur(4px) saturate(108%);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(
    .dashboard-head h1,
    .player-friendly-filter-heading h1,
    .competition-header h1,
    .match-header h1,
    .panel-heading h1,
    .form-panel > h1,
    .club-page-head h1,
    .reservation-detail-head h1
  ) {
  color: var(--hd-text-title);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(
    .section-head h2,
    .player-friendly-filter-heading h2,
    .panel-heading h2,
    .form-panel > h2,
    .friendly-details-section > h2,
    .friendly-form-section > h2,
    .friendly-commercial-head h2,
    .reservation-section-heading h2,
    .court-reservations-heading h2,
    .club-section-title h2,
    .club-membership-summary-head h2,
    fieldset > legend
  ) {
  color: var(--hd-text-section);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(
    .field-label,
    .court-reservation-field-label,
    .club-control-label,
    .friendly-summary-score legend,
    .friendly-summary-mvp > span,
    .friendly-summary-notes label > span
  ) {
  color: var(--hd-text-field-label);
  text-shadow: 0 1px 1px rgba(2, 29, 52, 0.38);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.field, .form-field, .filter-field, label):focus-within
  :is(
    .field-label,
    .court-reservation-field-label,
    .club-control-label
  ) {
  color: var(--hd-text-field-label-focus);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.eyebrow, .section-label, .panel-label) {
  border-color: var(--hd-action-info-border);
  color: var(--hd-text-field-label);
  background: var(--hd-action-info);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.section-head, .panel-heading, .friendly-results-head) {
  border-color: var(--hd-module-divider);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ) {
  border-color: var(--hd-border-control);
  color: var(--hd-text-title);
  background: var(--hd-surface-control);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):hover {
  border-color: var(--hd-border-control-hover);
  background: var(--hd-surface-control-hover);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):focus {
  border-color: var(--hd-text-field-label-focus);
  outline: none;
  background: var(--hd-surface-control-focus);
  box-shadow:
    0 0 0 3px var(--hd-action-focus-ring),
    0 10px 22px var(--forest-control-focus-inset-shadow) inset;
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  :is(.btn-back, .btn-danger, .btn-primary) {
  min-height: var(--hd-control-compact-height);
}

body.theme-habla-forest:is(
    .module-friendlies-page,
    .module-courts-page,
    .module-clubs-page
  )
  .page
  .status:not(.success):not(.warning):not(.danger):not(.muted) {
  border-color: var(--hd-action-info-border);
  color: var(--hd-action-info-text);
  background: var(--hd-action-info);
}

/* Plantilla de club: contraste vivo y acciones semanticas dentro de esta vista. */
body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  :is(label, .club-control-label),
body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  :is(.field, label):focus-within
  :is(label, .club-control-label) {
  color: #ffffff;
  text-shadow: 0 1px 1px rgba(2, 29, 52, 0.45);
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  :is(input:not([type="hidden"]), select) {
  height: var(--club-roster-control-height);
  min-height: var(--club-roster-control-height);
  border-color: var(--club-roster-control-border);
  color: #39ff88;
  caret-color: #39ff88;
  background: var(--club-roster-control-background);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.18) inset,
    0 1px 0 rgba(255, 255, 255, 0.1);
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  :is(input:not([type="hidden"]), select):hover {
  border-color: var(--player-glass-border-strong);
  background: var(--club-roster-control-background-hover);
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  :is(input:not([type="hidden"]), select):focus {
  border-color: rgba(205, 235, 255, 0.82);
  background: var(--club-roster-control-background-focus);
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  input::placeholder {
  color: #39ff88;
  opacity: 1;
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(.club-member-form, .club-roster-toolbar)
  option {
  color: #39ff88;
  background: #123f73;
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  .club-roster-toolbar.form-density--compact
  :is(#roster-query, #roster-role),
body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  .club-member-form.form-density--compact
  :is(#club-player-search, select) {
  color: #39ff88;
  caret-color: #39ff88;
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  .club-roster-toolbar.form-density--compact
  #roster-role
  option,
body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  .club-member-form.form-density--compact
  select
  option {
  color: #39ff88;
  background: #123f73;
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  .club-roster-member-actions
  .club-member-role-form.form-density--compact
  > select.club-member-role-select[name="role"] {
  height: var(--club-roster-control-height);
  min-height: var(--club-roster-control-height);
  border-color: var(--club-roster-control-border);
  color: #39ff88;
  background: var(--club-roster-control-background);
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  .club-roster-member-actions
  .club-member-role-form.form-density--compact
  > select.club-member-role-select[name="role"]
  option {
  color: #39ff88;
  background: #123f73;
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(
    .club-roster-member-row .player-identity-body,
    .player-search-option-copy,
    .selected-player-copy
  )
  > strong {
  color: #39ff88;
}

body.theme-habla-forest.player-portal-page.module-clubs-page.club-roster-page
  .page
  :is(
    .club-roster-member-row .player-identity-body,
    .player-search-option-copy,
    .selected-player-copy
  )
  > small {
  color: #ffffff;
}
/* Fin de plantilla de club: contraste vivo. */

body.theme-habla-forest.module-courts-page .court-owner-line {
  margin-bottom: 6px;
}

body.theme-habla-forest.module-courts-page .court-site-meta {
  display: block;
}

body.theme-habla-forest.module-courts-page .court-slot-note-field {
  margin: 0;
}

body.theme-habla-forest.module-courts-page .court-reservation-admin-head {
  align-items: flex-start;
  gap: 12px;
}

body.theme-habla-forest.module-courts-page .court-manual-reservation-help {
  margin-top: 0;
  color: var(--hd-text-secondary);
}

body.theme-habla-forest.module-friendlies-page .friendly-avatar-placeholder {
  border: 1px solid var(--hd-action-info-border);
  border-radius: 50%;
  color: var(--hd-action-info-text);
  background: var(--hd-action-info);
}

body.theme-habla-forest.module-friendlies-page.friendly-list-page
  .page
  #friendly-search-title {
  font-size: clamp(24px, 2vw, 28px);
}

body.theme-habla-forest.module-courts-page.courts-list-page
  .page
  #court-search-title {
  font-size: clamp(24px, 2vw, 28px);
}

@media (min-width: 1025px) {
  body.theme-habla-forest.module-friendlies-page.friendly-list-page
    .page
    #friendly-search-title {
    font-size: 23px;
  }

  body.theme-habla-forest.module-courts-page.courts-list-page
    .page
    #court-search-title {
    font-size: 23px;
  }
}

@media (max-width: 580px) {
  body.theme-habla-forest:is(
      .module-friendlies-page,
      .module-courts-page,
      .module-clubs-page
    )
    .page
    :is(.btn, button:not(.manual-slot-trigger), input, select) {
    min-height: var(--hd-control-compact-height);
  }

  body.theme-habla-forest.module-friendlies-page.friendly-list-page
    .page
    #friendly-search-title {
    font-size: 22px;
  }

  body.theme-habla-forest.module-courts-page.courts-list-page
    .page
    #court-search-title {
    font-size: 22px;
  }
}

/*
 * Migración visual por módulos · lote 3.
 *
 * Inventario y Soporte adoptan el contrato semántico compartido. Los colores
 * de stock, préstamos vencidos, movimientos y tickets continúan dependiendo
 * de su estado funcional; esta capa solo normaliza jerarquía, controles y
 * acciones.
 */
body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  ) {
  --hd-module-surface: var(--hd-surface-card);
  --hd-module-surface-raised: var(--hd-surface-card-raised);
  --hd-module-border: var(--hd-border-panel);
  --hd-module-divider: var(--forest-divider);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  h1 {
  color: var(--hd-text-title);
}

body.theme-habla-forest.module-inventory-page
  .page
  > .inventory-page-head,
body.theme-habla-forest.module-support-page.module-operations-page
  .page
  > .dashboard-head {
  padding: 14px 16px;
  border: 1px solid var(--hd-module-border);
  border-radius: 14px;
  background:
    linear-gradient(
      135deg,
      var(--hd-surface-heading),
      var(--hd-surface-card-deep)
    );
  box-shadow: 0 12px 28px rgba(3, 22, 16, 0.2);
  backdrop-filter: blur(10px) saturate(108%);
  -webkit-backdrop-filter: blur(10px) saturate(108%);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(
    .inventory-overview-heading h2,
    .inventory-panel-heading h2,
    .account-center-header h2,
    .section-head h2,
    .panel-heading h2,
    fieldset > legend
  ) {
  color: var(--hd-text-section);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(
    .field,
    .account-center-field label,
    .inventory-shared-scope-form legend,
    .field-label
  ) {
  color: var(--hd-text-field-label);
  text-shadow: 0 1px 1px rgba(2, 29, 52, 0.38);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(.field, .account-center-field):focus-within {
  color: var(--hd-text-field-label-focus);
}

body.theme-habla-forest:is(.module-support-page, .module-account-page)
  .page
  .account-center-field:focus-within
  label {
  color: var(--hd-text-field-label-focus);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(
    .eyebrow,
    .inventory-panel-heading > div > span,
    .inventory-overview-heading > div > span,
    .inventory-kpi-grid span,
    .inventory-report-row span,
    .support-target-card > span
  ) {
  color: var(--hd-text-field-label);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ) {
  border-color: var(--hd-border-control);
  border-radius: var(--hd-control-radius);
  color: var(--hd-text-title);
  background: var(--hd-surface-control);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):hover {
  border-color: var(--hd-border-control-hover);
  background: var(--hd-surface-control-hover);
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(.form-density--standard, .form-density--compact)
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):focus {
  border-color: var(--hd-text-field-label-focus);
  outline: none;
  background: var(--hd-surface-control-focus);
  box-shadow:
    0 0 0 3px var(--hd-action-focus-ring),
    0 10px 22px var(--forest-control-focus-inset-shadow) inset;
}

body.theme-habla-forest:is(
    .module-inventory-page,
    .module-support-page,
    .module-account-page
  )
  .page
  :is(.btn, button) {
  min-height: var(--hd-control-compact-height);
}

body.theme-habla-forest.module-inventory-page
  .inventory-shared-scope-options
  label,
body.theme-habla-forest.module-inventory-page
  .inventory-create-panel
  #id_available_scopes
  label {
  min-height: var(--hd-control-compact-height);
  border-color: var(--hd-action-primary-border-subtle);
  color: var(--hd-text-secondary);
  background: var(--hd-action-primary-soft);
}

body.theme-habla-forest.module-inventory-page
  :is(
    .inventory-shared-scope-options,
    .inventory-create-panel #id_available_scopes
  )
  input {
  width: 18px;
  height: 18px;
  accent-color: var(--hd-action-primary);
}

body.theme-habla-forest.module-inventory-page
  :is(
    .inventory-shared-scope-options,
    .inventory-create-panel #id_available_scopes
  )
  label:has(input:checked) {
  border-color: var(--hd-action-primary-border);
  color: var(--hd-action-primary);
  background: var(--hd-action-primary-soft-hover);
}

body.theme-habla-forest.module-support-page
  .account-center-field
  textarea {
  min-height: 120px;
}

@media (max-width: 580px) {
  body.theme-habla-forest:is(
      .module-inventory-page,
      .module-support-page,
      .module-account-page
    )
    .page
    :is(.btn, button, input, select) {
    min-height: var(--hd-control-compact-height);
  }
}

/*
 * Menu de cuenta del jugador - vidrio azul profesional.
 * Extiende el material del Inicio solo al desplegable personal. La cabecera,
 * los portales administrativos y las experiencias publicas quedan fuera.
 */
body.theme-habla-forest.player-portal-page {
  --player-account-menu-glass: rgba(12, 68, 128, 0.72);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-dropdown {
  border-color: var(--player-glass-border-strong);
  color: #ffffff;
  background: var(--player-account-menu-glass);
  box-shadow:
    -18px 22px 52px rgba(2, 24, 55, 0.32),
    0 1px 0 rgba(232, 247, 255, 0.16) inset;
  backdrop-filter: blur(20px) saturate(122%);
  -webkit-backdrop-filter: blur(20px) saturate(122%);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-heading {
  border-bottom-color: rgba(151, 213, 255, 0.24);
  background: var(--player-glass-raised);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-heading
  strong {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(2, 24, 55, 0.54);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-heading
  span {
  color: rgba(255, 255, 255, 0.82);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-scroll {
  scrollbar-color: rgba(151, 213, 255, 0.56) transparent;
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-scroll::-webkit-scrollbar-thumb {
  background: rgba(151, 213, 255, 0.56);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-group
  + .account-menu-group {
  border-top-color: rgba(151, 213, 255, 0.18);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-group__label {
  color: #39ff88;
  text-shadow: 0 1px 2px rgba(2, 24, 55, 0.56);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-item {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(2, 24, 55, 0.42);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-item:is(:hover, :focus-visible) {
  color: #ffffff;
  background: var(--player-glass-control-hover);
  outline: 2px solid var(--player-glass-border-strong);
  outline-offset: -2px;
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure {
  border-color: var(--player-glass-border);
  background: var(--player-glass-control);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.2),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open] {
  border-color: var(--player-glass-border-strong);
  background: var(--player-glass-control-hover);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary {
  color: #ffffff;
  background: transparent;
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary:is(:hover, :focus-visible),
body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open]
  > .account-menu-disclosure__summary {
  color: #ffffff;
  background: var(--player-glass-control-hover);
  outline-color: var(--player-glass-border-strong);
  box-shadow: 3px 0 0 #39ff88 inset;
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary
  svg {
  border-color: var(--player-glass-border);
  color: #39ff88;
  background: var(--player-glass-surface-dense);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content {
  border-top-color: rgba(151, 213, 255, 0.18);
  border-left-color: rgba(57, 255, 136, 0.58);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content
  .account-menu-item {
  color: rgba(255, 255, 255, 0.9);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content
  .account-menu-item--danger {
  color: #ffb4b4;
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-logout--persistent {
  border-top-color: rgba(151, 213, 255, 0.24);
  background: var(--player-glass-surface-dense);
  box-shadow: 0 -12px 26px rgba(2, 24, 55, 0.2);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-item--logout {
  border-color: var(--player-glass-border-strong);
  color: #ffffff;
  background: var(--player-glass-control);
}

body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-item--logout:is(:hover, :focus-visible) {
  border-color: #39ff88;
  color: #ffffff;
  background: var(--player-glass-control-hover);
  outline-color: rgba(57, 255, 136, 0.72);
}

@media (max-width: 1050px) {
  body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
    .account-menu-dropdown {
    border: 0;
    border-left: 1px solid var(--player-glass-border-strong);
    border-radius: 0;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.theme-habla-forest.player-portal-page:not(.public-home-page):not(.public-account-page)
    .account-menu-dropdown {
    background: rgba(12, 68, 128, 0.95);
  }
}
/* Fin del menu de cuenta azul del jugador. */

/*
 * Portal organizacional: vidrio azul administrativo transversal.
 *
 * Se activa exclusivamente cuando el contexto emite organization-portal-page.
 * La cabecera teal y los colores funcionales permanecen independientes.
 */
body.theme-habla-forest.organization-portal-page {
  --organization-glass-surface: rgba(24, 78, 135, 0.46);
  --organization-glass-raised: rgba(28, 88, 151, 0.58);
  --organization-glass-surface-dense: rgba(12, 68, 128, 0.74);
  --organization-account-menu-glass: rgba(24, 78, 135, 0.34);
  --organization-account-menu-compact: rgba(24, 78, 135, 0.58);
  --organization-account-menu-raised: rgba(28, 88, 151, 0.34);
  --organization-account-menu-control: rgba(24, 78, 135, 0.58);
  --organization-account-menu-control-hover: rgba(24, 78, 135, 0.66);
  --organization-glass-heading: rgba(7, 45, 91, 0.8);
  --organization-glass-strip: rgba(16, 74, 130, 0.7);
  --organization-glass-control: rgba(10, 55, 103, 0.82);
  --organization-glass-control-hover: rgba(18, 78, 140, 0.88);
  --organization-glass-control-focus: rgba(20, 86, 153, 0.94);
  --organization-glass-border: rgba(125, 198, 255, 0.42);
  --organization-glass-border-strong: rgba(151, 213, 255, 0.6);
  --organization-glass-divider: rgba(151, 213, 255, 0.24);
  --organization-glass-shadow:
    0 24px 54px rgba(2, 24, 55, 0.24),
    0 1px 0 rgba(232, 247, 255, 0.14) inset;
  --organization-glass-shadow-hover:
    0 28px 62px rgba(2, 24, 55, 0.3),
    0 1px 0 rgba(232, 247, 255, 0.18) inset;

  --hd-surface-card: var(--organization-glass-surface);
  --hd-surface-card-raised: var(--organization-glass-raised);
  --hd-surface-card-deep: var(--organization-glass-surface-dense);
  --hd-surface-heading: var(--organization-glass-heading);
  --hd-surface-control: var(--organization-glass-control);
  --hd-surface-control-hover: var(--organization-glass-control-hover);
  --hd-surface-control-focus: var(--organization-glass-control-focus);
  --hd-border-panel: var(--organization-glass-border);
  --hd-border-control: rgba(151, 213, 255, 0.56);
  --hd-border-control-hover: rgba(186, 230, 253, 0.78);
  --hd-text-primary: #f6fbff;
  --hd-text-secondary: #e3f2ff;
  --hd-text-muted: #b7d0e6;
  --hd-text-placeholder: #a9c7e2;
  --hd-text-field-label: #ffffff;
  --hd-action-secondary: var(--organization-glass-control);
  --hd-action-secondary-hover: var(--organization-glass-control-hover);
  --hd-action-secondary-border: var(--organization-glass-border-strong);

  --forest-card: var(--organization-glass-surface);
  --forest-card-raised: var(--organization-glass-raised);
  --forest-card-deep: var(--organization-glass-surface-dense);
  --forest-input: var(--organization-glass-control);
  --forest-overlay: rgba(4, 29, 58, 0.97);
  --forest-overlay-raised:
    radial-gradient(circle at 16% 0%, rgba(70, 199, 255, 0.16), transparent 44%),
    linear-gradient(145deg, rgba(18, 78, 140, 0.98), rgba(7, 45, 91, 0.98));
  --forest-overlay-footer:
    linear-gradient(180deg, rgba(18, 78, 140, 0.98), rgba(7, 45, 91, 0.99));
  --forest-strip: var(--organization-glass-strip);
  --forest-control: var(--organization-glass-control);
  --forest-control-hover: var(--organization-glass-control-hover);
  --forest-control-focus: var(--organization-glass-control-focus);
  --forest-control-border: rgba(151, 213, 255, 0.56);
  --forest-info-surface: rgba(70, 199, 255, 0.12);
  --forest-border: var(--organization-glass-border);
  --forest-border-strong: var(--organization-glass-border-strong);
  --forest-divider: var(--organization-glass-divider);
  --forest-control-inset-shadow: rgba(2, 24, 55, 0.16);
  --forest-control-focus-inset-shadow: rgba(2, 24, 55, 0.22);
  --forest-shadow: var(--organization-glass-shadow);
  --forest-shadow-hover: var(--organization-glass-shadow-hover);
  --forest-neutral-surface: rgba(125, 198, 255, 0.1);
  --forest-surface:
    linear-gradient(
      145deg,
      var(--organization-glass-raised),
      var(--organization-glass-surface-dense)
    );
  --forest-surface-hover:
    radial-gradient(circle at 16% 0%, rgba(70, 199, 255, 0.18), transparent 44%),
    linear-gradient(
      145deg,
      rgba(34, 100, 166, 0.66),
      rgba(12, 68, 128, 0.82)
    );

  --hd-module-surface: var(--organization-glass-surface);
  --hd-module-surface-raised: var(--organization-glass-raised);
  --hd-module-border: var(--organization-glass-border);
  --hd-module-divider: var(--organization-glass-divider);
}

/*
 * Inicio administrativo: calibra el vidrio con la misma profundidad visual
 * del Inicio del jugador sin extender el ajuste a formularios operativos.
 */
body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page {
  --organization-glass-surface: rgba(24, 78, 135, 0.34);
  --organization-glass-raised: rgba(28, 88, 151, 0.34);
  --organization-glass-surface-dense: rgba(12, 68, 128, 0.58);
  --organization-glass-heading: rgba(7, 45, 91, 0.64);
  --organization-glass-strip: rgba(16, 74, 130, 0.64);
  --organization-glass-control: rgba(10, 55, 103, 0.78);
  --organization-glass-control-hover: rgba(18, 78, 140, 0.84);
  --organization-glass-control-focus: rgba(20, 86, 153, 0.92);
  --organization-glass-border: rgba(125, 198, 255, 0.34);
  --organization-glass-border-strong: rgba(151, 213, 255, 0.56);
  --organization-glass-divider: rgba(151, 213, 255, 0.22);
  --organization-glass-shadow:
    0 24px 54px rgba(2, 24, 55, 0.18),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  --organization-glass-shadow-hover:
    0 28px 58px rgba(2, 24, 55, 0.2),
    0 1px 0 rgba(232, 247, 255, 0.13) inset;
}

/*
 * Renovación de membresía: la lámina exterior replica exactamente el vidrio
 * azul transparente de Actualizar perfil, sin oscurecerse al interactuar.
 */
body.theme-habla-forest.organization-portal-page.membership-renewal-page
  .page
  .membership-compact-hero--status-only {
  display: flex;
  width: 100%;
  align-items: center;
  flex-direction: row;
  justify-content: flex-end;
}

body.theme-habla-forest.organization-portal-page.membership-renewal-page
  .page
  .membership-workspace,
body.theme-habla-forest.organization-portal-page.membership-renewal-page
  .page
  .membership-workspace:is(:hover, :focus-within) {
  border-color: rgba(125, 198, 255, 0.34);
  background: rgba(24, 78, 135, 0.34);
  box-shadow:
    0 24px 54px rgba(2, 24, 55, 0.18),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  transform: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(
    .panel,
    .form-panel,
    .table-panel,
    .dash-panel,
    .admin-section-card,
    .data-card,
    .action-card,
    .metric-card,
    .stat,
    .dash-stat,
    .filter-panel,
    .profile-panel,
    .reservation-panel,
    .summary-card,
    .empty-state
  ) {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page
  .page
  :is(.admin-community-strip, .admin-operations-panel) {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-surface);
  box-shadow: var(--organization-glass-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/*
 * Cobertura de superficies administrativas heredadas.
 * El verde queda reservado para acciones, estados y foco; estas piezas son
 * contenedores estructurales y comparten el vidrio azul organizacional.
 */
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(
    .admin-friendly-section,
    .admin-friendly-card,
    .admin-friendly-meta span,
    .admin-friendly-section .empty-state,
    .admin-card,
    .admin-card-details > div,
    .admin-commercial-state,
    .match-info-item,
    .staff-access-card,
    .staff-permissions-grid > section,
    .staff-domain-note,
    .organization-upload-block input[type="file"],
    .payment-field input[type="file"],
    .upload-preview-panel,
    .inventory-scope-navigation,
    .inventory-overview-section,
    .inventory-scope-card,
    .inventory-kpi-grid article,
    .inventory-item-row,
    .inventory-movement-row,
    .inventory-stock-summary > div,
    .inventory-report-row,
    .inventory-shared-scope-options label,
    .inventory-create-panel #id_available_scopes label,
    .inventory-share-candidate,
    .inventory-form-guidance,
    .inventory-alert-row,
    .inventory-report-filters,
    .academy-resource-row,
    .academy-attendance-row,
    .academy-report-metrics article,
    .academy-report-record,
    .payment-settings-form,
    .payment-settings-list,
    .mp-settings-panel,
    .payment-admin-card,
    .payment-channel-card,
    .payment-online-card,
    .payment-method-hint,
    .subscription-state-grid > div,
    .renewal-hero-badge,
    .tariff-row,
    .renewal-tariff-row,
    .renewal-note,
    .membership-config-column > section,
    .membership-payment-form,
    .membership-payment-column > section,
    .membership-inline-status,
    .friendly-match-details,
    .friendly-fieldset,
    .friendly-form-actions,
    .friendly-commercial-panel,
    .friendly-payment-option,
    .friendly-ranking-periods,
    .friendly-ranking-board,
    .friendly-ranking-minimum,
    .friendly-ranking-row,
    .court-manual-reservation,
    .account-security-panel,
    .team-identity-dialog
  ) {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-surface-dense);
  box-shadow:
    0 14px 32px rgba(2, 24, 55, 0.18),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(
    .admin-friendly-section > summary,
    .admin-disclosure > summary,
    .staff-permissions-disclosure > summary,
    .inventory-panel-heading
  ) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-strip);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(
    .admin-friendly-section > summary:hover,
    .admin-friendly-section[open] > summary,
    .admin-card:hover,
    .inventory-item-row:hover,
    .inventory-movement-row:hover,
    .inventory-report-row:hover,
    .inventory-share-candidate:hover,
    .inventory-alert-row:hover,
    .academy-resource-row:hover,
    .academy-attendance-row:hover,
    .friendly-ranking-row:hover
  ) {
  border-color: var(--organization-glass-border-strong);
  background: var(--forest-surface-hover);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(
    .friendly-payment-option:has(input:checked),
    .inventory-shared-scope-options label:has(input:checked),
    .inventory-create-panel #id_available_scopes label:has(input:checked)
  ) {
  border-color: var(--hd-status-success);
  background: var(--forest-success-surface);
}

/*
 * Ranking de amistosos: comunidad privada por organizacion sobre el mismo
 * vidrio azul uniforme de Actualizar perfil.
 */
body.theme-habla-forest.organization-portal-page.friendly-ranking-page {
  --friendly-ranking-glass-surface: rgba(24, 78, 135, 0.34);
  --friendly-ranking-glass-raised: rgba(28, 88, 151, 0.34);
  --friendly-ranking-glass-control: rgba(24, 78, 135, 0.58);
  --friendly-ranking-glass-control-hover: rgba(24, 78, 135, 0.66);
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-workspace {
  border-color: rgba(125, 198, 255, 0.34);
  background: var(--friendly-ranking-glass-surface);
  color: #ffffff;
  box-shadow:
    0 18px 42px rgba(2, 24, 55, 0.16),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-heading
  > .quick-actions {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  :is(.friendly-ranking-periods, .friendly-ranking-stats > .stat, .friendly-ranking-board) {
  border-color: rgba(125, 198, 255, 0.34);
  background: var(--friendly-ranking-glass-raised);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.1) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  :is(.friendly-ranking-stats > .stat, .friendly-ranking-board):is(:hover, :focus-within) {
  border-color: rgba(125, 198, 255, 0.34);
  background: var(--friendly-ranking-glass-raised);
  transform: none;
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  :is(.friendly-ranking-minimum, .friendly-ranking-row) {
  border-color: rgba(125, 198, 255, 0.34);
  background: var(--friendly-ranking-glass-control);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.08) inset;
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-row:hover {
  border-color: rgba(159, 218, 255, 0.48);
  background: var(--friendly-ranking-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-row.is-podium {
  border-color: rgba(92, 255, 167, 0.58);
  background: var(--friendly-ranking-glass-control);
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  :is(
    .friendly-ranking-heading h1,
    .friendly-ranking-scope,
    .friendly-ranking-stats > .stat > span,
    .friendly-ranking-board__head h2,
    .friendly-ranking-board__head p,
    .friendly-ranking-empty
  ) {
  color: #ffffff;
  text-shadow: 0 1px 5px rgba(2, 29, 52, 0.55);
}
/* Fin del ranking privado con vidrio de Actualizar perfil. */

/*
 * Mis partidos: replica la transparencia base de Actualizar perfil.
 * Una sola lamina azul estructura cada nivel y evita acumular paneles densos.
 */
body.theme-habla-forest.organization-portal-page.admin-friendlies-page {
  --admin-friendly-glass-surface: rgba(24, 78, 135, 0.34);
  --admin-friendly-glass-raised: rgba(28, 88, 151, 0.34);
  --admin-friendly-glass-control: rgba(24, 78, 135, 0.46);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendlies-actions-head {
  justify-content: flex-end;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .friendlies-kpi-strip
  > .stat
  > strong {
  color: #39ff88;
  text-shadow: 0 1px 6px rgba(2, 29, 52, 0.55);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  :is(
    .friendlies-kpi-strip > .stat > span,
    .friendlies-kpi-strip > .stat > small,
    .admin-friendly-section__heading > strong,
    .admin-friendly-section__heading > small,
    .admin-friendly-meta > span,
    .admin-friendly-meta strong,
    .admin-friendly-court,
    .admin-friendly-section .empty-state,
    .admin-friendly-toolbar .btn.btn-outline
  ) {
  color: #ffffff;
  text-shadow: 0 1px 5px rgba(2, 29, 52, 0.55);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-sections
  .admin-friendly-section
  > summary
  .admin-friendly-section__count {
  border-color: #5cffa7;
  color: #000000;
  background: #39ff88;
  font-weight: 800;
  text-shadow: none;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  :is(.friendlies-kpi-strip > .stat, .admin-friendly-section) {
  border-color: var(--organization-glass-border);
  background: var(--admin-friendly-glass-surface);
  box-shadow:
    0 18px 42px rgba(2, 24, 55, 0.16),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .friendlies-kpi-strip
  > .stat:is(:hover, :focus-within) {
  border-color: var(--organization-glass-border-strong);
  background: var(--admin-friendly-glass-raised);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-section
  > summary {
  border-color: var(--organization-glass-divider);
  background: transparent;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-section
  > summary:is(:hover, :focus-visible),
body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-section[open]
  > summary {
  border-color: var(--organization-glass-border-strong);
  background: rgba(28, 88, 151, 0.18);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  :is(.admin-friendly-card, .admin-friendly-card--history) {
  border-color: var(--organization-glass-border);
  background: var(--admin-friendly-glass-raised);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  :is(.admin-friendly-meta span, .admin-friendly-section .empty-state) {
  border-color: var(--organization-glass-border);
  background: var(--admin-friendly-glass-control);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.08) inset;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  :is(.admin-friendly-toolbar, .admin-friendly-card-actions) {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-team-name {
  color: #ffd600;
  text-shadow: 0 2px 8px rgba(2, 22, 34, 0.58);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-meta-value {
  display: block;
  font: inherit;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-meta-value--accent {
  color: #39ff88;
  font-weight: 800;
  text-shadow: 0 1px 5px rgba(2, 22, 34, 0.52);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-card
  .btn.btn-outline.admin-friendly-operate {
  border-color: #5cffa7;
  background: #00f07a;
  color: #10241c;
  box-shadow: 0 8px 18px rgba(0, 240, 122, 0.22);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-card
  .btn.btn-outline.admin-friendly-operate:is(:hover, :focus-visible) {
  border-color: #8affbd;
  background: #00d96e;
  color: #081c14;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-card
  .btn.btn-outline.admin-friendly-edit {
  border-color: #ffe66d;
  background: #ffd600;
  color: #10241c;
  box-shadow: 0 8px 18px rgba(255, 214, 0, 0.2);
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-card
  .btn.btn-outline.admin-friendly-edit:is(:hover, :focus-visible) {
  border-color: #fff09a;
  background: #ffdf33;
  color: #081c14;
}

body.theme-habla-forest.organization-portal-page.admin-friendlies-page
  .page
  .admin-friendly-card
  .btn.btn-outline.admin-friendly-edit:disabled {
  border-color: #ffe66d;
  background: #ffd600;
  color: #10241c;
  opacity: 0.72;
  cursor: not-allowed;
}
/* Fin de Mis partidos con vidrio azul de Actualizar perfil. */

/*
 * Configurar partido: vidrio azul transparente de Actualizar perfil.
 * Una sola lámina exterior ordena el formulario; equipos, datos y reglas usan
 * una elevación ligera, y los controles aumentan opacidad solo al interactuar.
 * Los escudos y colores configurables quedan fuera de este contrato.
 */
body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form {
  --friendly-create-glass-surface: rgba(24, 78, 135, 0.34);
  --friendly-create-glass-raised: rgba(28, 88, 151, 0.34);
  --friendly-create-glass-control: rgba(24, 78, 135, 0.58);
  --friendly-create-glass-control-hover: rgba(24, 78, 135, 0.66);
  --friendly-create-glass-control-focus: rgba(24, 78, 135, 0.74);
  --friendly-create-glass-border: rgba(125, 198, 255, 0.34);
  --friendly-create-glass-border-strong: rgba(151, 213, 255, 0.56);
  --friendly-create-glass-divider: rgba(151, 213, 255, 0.22);
  --friendly-create-value: #39ff88;
  --friendly-create-check-accent: #00f07a;
  border-color: var(--friendly-create-glass-border);
  background: var(--friendly-create-glass-surface);
  box-shadow:
    0 24px 54px rgba(2, 24, 55, 0.18),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form:is(:hover, :focus-within) {
  border-color: var(--friendly-create-glass-border-strong);
  background: var(--friendly-create-glass-surface);
  box-shadow:
    0 24px 54px rgba(2, 24, 55, 0.2),
    0 1px 0 rgba(232, 247, 255, 0.14) inset;
  transform: none;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  :is(.team-preset-picker, .friendly-match-details, .friendly-form-actions) {
  border-color: var(--friendly-create-glass-border);
  background: var(--friendly-create-glass-raised);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.1) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]),
    select,
    textarea
  ) {
  border-color: var(--friendly-create-glass-border-strong);
  color: var(--friendly-create-value);
  caret-color: var(--friendly-create-value);
  color-scheme: dark;
  background: var(--friendly-create-glass-control);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.14) inset,
    0 1px 0 rgba(232, 247, 255, 0.1);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]),
    select,
    textarea
  ):hover {
  background: var(--friendly-create-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]),
    select,
    textarea
  ):focus {
  border-color: var(--friendly-create-glass-border-strong);
  background: var(--friendly-create-glass-control-focus);
  box-shadow:
    0 0 0 3px rgba(70, 199, 255, 0.22),
    0 10px 22px rgba(2, 24, 55, 0.2) inset;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  select
  option {
  color: var(--friendly-create-value);
  background: #123f73;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]),
    textarea
  )::placeholder {
  color: var(--friendly-create-value);
  opacity: 1;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .friendly-create-form
  input[type="checkbox"] {
  accent-color: var(--friendly-create-check-accent);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .team-preset-picker
  .preset-preview.crest-picker-trigger {
  border-color: var(--friendly-create-glass-border-strong);
  background: var(--friendly-create-glass-control);
  box-shadow: 0 8px 18px rgba(2, 24, 55, 0.14) inset;
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .team-preset-picker
  .preset-preview.crest-picker-trigger:is(:hover, :focus-visible) {
  border-color: var(--hd-border-control-hover);
  background: var(--friendly-create-glass-control-hover);
  outline-color: var(--forest-focus-ring);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  :is(.preset-suggestions, .registered-team-results, .team-identity-dialog) {
  border-color: var(--organization-glass-border-strong);
  background: var(--forest-overlay);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  .team-identity-dialog::backdrop {
  background: rgba(2, 18, 43, 0.78);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  :is(
    .preset-category,
    .team-identity-dialog__header,
    .team-identity-dialog__footer,
    .identity-dialog-close,
    .identity-tab,
    .crest-template-option,
    .identity-preset-option,
    .crest-pattern-options button,
    .identity-catalog-toolbar,
    .identity-category-tabs
  ) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  :is(
    .preset-option:hover,
    .preset-option:focus-visible,
    .identity-tab.is-active,
    .crest-template-option:hover,
    .crest-template-option:focus-visible,
    .crest-template-option[aria-selected="true"],
    .identity-preset-option:hover,
    .identity-preset-option:focus-visible,
    .identity-preset-option[aria-selected="true"],
    .crest-pattern-options button[aria-pressed="true"],
    .registered-team-option:hover,
    .registered-team-option:focus-visible,
    .registered-team-option[aria-selected="true"]
  ) {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.friendly-create-page
  .page
  :is(
    .friendly-details-section + .friendly-details-section,
    .team-preset-picker .advanced-colors,
    .team-preset-picker .preset-actions
  ) {
  border-color: var(--friendly-create-glass-divider);
}
/* Fin del vidrio azul de Configurar partido. */

/*
 * Sede de academia: formulario y cabecera en una sola lámina azul.
 * Replica el vidrio de Actualizar perfil sin afectar los demás formularios.
 */
body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-site-form-workspace {
  --academy-site-glass-surface: rgba(24, 78, 135, 0.34);
  --academy-site-glass-control: rgba(24, 78, 135, 0.58);
  --academy-site-glass-control-hover: rgba(24, 78, 135, 0.66);
  --academy-site-glass-control-focus: rgba(24, 78, 135, 0.74);
  --academy-site-glass-border: rgba(125, 198, 255, 0.34);
  --academy-site-glass-border-strong: rgba(205, 235, 255, 0.76);
  --academy-site-value: #39ff88;
  width: min(100%, 1120px);
  max-width: 1120px;
  padding: clamp(16px, 2vw, 24px);
  border-color: var(--academy-site-glass-border);
  color: #ffffff;
  background: var(--academy-site-glass-surface);
  box-shadow: 0 22px 52px rgba(2, 24, 55, 0.24);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-site-form-workspace:is(:hover, :focus-within) {
  border-color: var(--academy-site-glass-border);
  background: var(--academy-site-glass-surface);
  box-shadow: 0 22px 52px rgba(2, 24, 55, 0.24);
  transform: none;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-site-form-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(151, 213, 255, 0.22);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-site-form-header
  h1 {
  margin: 0;
  color: #ffffff;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-site-back {
  min-width: 96px;
  border-color: var(--academy-site-glass-border-strong);
  color: #ffffff;
  background: var(--academy-site-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-site-back:is(:hover, :focus-visible) {
  border-color: #ffffff;
  color: #ffffff;
  background: var(--academy-site-glass-control-focus);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form {
  padding-top: 18px;
  background: transparent;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  :is(.field, .field:focus-within, .field > span) {
  color: #ffffff;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ) {
  border-color: var(--academy-site-glass-border-strong);
  color: var(--academy-site-value);
  caret-color: var(--academy-site-value);
  color-scheme: dark;
  background: var(--academy-site-glass-control);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):hover {
  background: var(--academy-site-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ):focus {
  background: var(--academy-site-glass-control-focus);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  :is(input:not([type="color"]):not([type="file"]), textarea)::placeholder,
body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  select
  option {
  color: var(--academy-site-value);
  opacity: 1;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  select
  option {
  background: #123f73;
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  input[type="file"] {
  border-color: var(--academy-site-glass-border-strong);
  color: var(--academy-site-value);
  background: var(--academy-site-glass-control);
}

body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
  .page
  .academy-management-form
  input[type="color"] {
  border-color: var(--academy-site-glass-border-strong);
  background: var(--academy-site-glass-control);
}

@media (max-width: 580px) {
  body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
    .page
    .academy-site-form-header {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-habla-forest.organization-portal-page.module-academies-page.academy-site-form-page
    .page
    .academy-site-back {
    width: 100%;
  }
}
/* Fin del formulario de sede de academia en una sola lámina. */

/* Los estados conservan significado sin devolver el verde a los contenedores. */
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  .admin-commercial-state.ok {
  border-color: color-mix(in srgb, var(--hd-status-success) 46%, transparent);
  background: var(--forest-success-surface);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  .admin-commercial-state.warning {
  border-color: color-mix(in srgb, var(--hd-status-warning) 48%, transparent);
  background: var(--forest-warning-surface);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  .admin-commercial-state.danger {
  border-color: color-mix(in srgb, var(--hd-status-danger) 48%, transparent);
  background: var(--forest-danger-surface);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(.inventory-kpi--warning, .inventory-stock--low) {
  border-color: color-mix(in srgb, var(--hd-status-warning) 56%, transparent);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :where(.inventory-kpi--danger, .inventory-stock--empty) {
  border-color: color-mix(in srgb, var(--hd-status-danger) 56%, transparent);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  .friendly-ranking-row.is-podium {
  border-color: color-mix(in srgb, var(--hd-status-success) 38%, transparent);
  background:
    linear-gradient(90deg, rgba(0, 230, 118, 0.07), transparent 58%),
    var(--organization-glass-surface-dense);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :is(
    .nav-dropdown,
    .account-menu-dropdown,
    .notification-dropdown,
    .mobile-nav-drawer,
    .modal,
    dialog
  ) {
  border-color: var(--organization-glass-border);
  color: var(--hd-text-primary);
  background: var(--forest-overlay);
  box-shadow: 0 24px 58px rgba(2, 18, 43, 0.5);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(.mobile-drawer-header, .account-menu-heading, .notif-header) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(.account-menu-logout--persistent, .notif-footer) {
  border-color: var(--organization-glass-divider);
  background: var(--forest-overlay-footer);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(.account-menu-scroll, .notif-body) {
  scrollbar-color: var(--organization-glass-border-strong) transparent;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(
    .tabs,
    .subnav,
    .section-toolbar,
    .quick-actions,
    .pagination,
    .filter-bar
  ) {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-strip);
}

/* La alerta de vencimiento ya aporta su propia superficie: las acciones no deben crear una franja interna. */
body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .expiry-alert
  > .quick-actions {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .expiry-alert
  > p {
  color: #ffffff;
}

/*
 * Inicio del administrador: una sola isla de vidrio, sin franjas internas.
 * Comunidad y operación comparten la lámina azul uniforme de Actualizar perfil,
 * sin degradados ni filtros que cambien el matiz según la zona del estadio.
 * Las tarjetas internas conservan su elevación para mantener la jerarquía.
 */
body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  :is(.admin-community-strip, .admin-operations-panel),
body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  :is(.admin-community-strip, .admin-operations-panel):is(:hover, :focus-within) {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-surface);
  box-shadow: var(--organization-glass-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

@media (min-width: 581px) {
  body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
    .page
    .admin-operations-panel {
    padding: clamp(18px, 2.2vw, 26px);
  }

  body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
    .page
    :where(
      .admin-operations-head,
      .admin-primary-actions,
      .admin-secondary-actions
    ) {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
/* Fin de la isla de vidrio del dashboard administrativo. */

/* Accesos funcionales del inicio administrativo: color por destino. */
body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action {
  min-height: var(--hd-control-compact-height);
  border-width: 1px;
  border-style: solid;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(2, 24, 55, 0.68);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.2),
    0 1px 0 rgba(255, 255, 255, 0.18) inset;
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--finances {
  border-color: #4ade80;
  color: #ffffff;
  background: linear-gradient(135deg, #15803d, #166534);
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--inventory {
  border-color: #fb923c;
  color: #ffffff;
  background: linear-gradient(135deg, #c2410c, #9a3412);
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--organization {
  border-color: #60a5fa;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--payments {
  border-color: #c084fc;
  background: linear-gradient(135deg, #9333ea, #7e22ce);
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--finances:is(:hover, :focus-visible) {
  border-color: #86efac;
  color: #ffffff;
  background: linear-gradient(135deg, #16863f, #166534);
  outline-color: #86efac;
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--inventory:is(:hover, :focus-visible) {
  border-color: #fdba74;
  color: #ffffff;
  background: linear-gradient(135deg, #c94a0d, #9a3412);
  outline-color: #fdba74;
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--organization:is(:hover, :focus-visible) {
  border-color: #93c5fd;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  outline-color: #93c5fd;
}

body.theme-habla-forest.organization-portal-page.organization-admin-dashboard-page
  .page
  .admin-secondary-actions
  .admin-tool-action--payments:is(:hover, :focus-visible) {
  border-color: #d8b4fe;
  background: linear-gradient(135deg, #a855f7, #9333ea);
  outline-color: #d8b4fe;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(.tab, .subnav-link, .pagination a, .pagination button, .page-link) {
  border-color: var(--organization-glass-border);
  color: var(--hd-text-secondary);
  background: var(--organization-glass-raised);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(.nav-dd-item, .account-menu-item, .notif-item):hover {
  color: #ffffff;
  background: rgba(151, 213, 255, 0.12);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(.table-panel, .table-wrap, .responsive-table, .data-table-wrap) {
  scrollbar-color: rgba(151, 213, 255, 0.56) rgba(4, 29, 58, 0.74);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  table {
  border-color: var(--organization-glass-border);
  color: var(--hd-text-primary);
  background: var(--organization-glass-surface-dense);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :where(thead, thead tr, th) {
  border-color: var(--organization-glass-border);
  color: #ffffff;
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  tbody
  tr:hover {
  background: rgba(125, 198, 255, 0.1);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-control);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.22),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open] {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary {
  color: #ffffff;
  background: transparent;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary:is(:hover, :focus-visible),
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open]
  > .account-menu-disclosure__summary {
  color: #ffffff;
  background: var(--organization-glass-control-hover);
  outline-color: var(--organization-glass-border-strong);
  box-shadow: 3px 0 0 var(--hd-action-primary) inset;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary
  svg {
  border-color: var(--organization-glass-border);
  color: var(--hd-action-primary);
  background: var(--organization-glass-surface-dense);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content {
  border-top-color: var(--organization-glass-divider);
  border-left-color: rgba(0, 240, 122, 0.52);
}

/*
 * Menu de cuenta del administrador: vidrio de Actualizar perfil.
 * La lamina exterior conserva el estadio visible; cabecera, grupos y cierre
 * usan elevaciones del mismo matiz sin recuperar el overlay azul opaco.
 */
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-dropdown {
  border-color: var(--organization-glass-border);
  background: var(--organization-account-menu-glass);
  box-shadow:
    -18px 22px 52px rgba(2, 24, 55, 0.24),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :is(.account-menu-heading, .account-menu-logout--persistent) {
  background: var(--organization-account-menu-raised);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  :is(.account-menu-disclosure, .account-menu-item--logout) {
  background: var(--organization-account-menu-control);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open],
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary:is(:hover, :focus-visible),
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open]
  > .account-menu-disclosure__summary,
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-item--logout:is(:hover, :focus-visible) {
  background: var(--organization-account-menu-control-hover);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary
  svg {
  background: var(--organization-account-menu-control);
}

@media (max-width: 1050px) {
  body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
    .account-menu-dropdown {
    background: var(--organization-account-menu-compact);
  }
}

@media (max-width: 580px) {
  body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
    .account-menu-dropdown {
    background: var(--organization-account-menu-control-hover);
  }
}
/* Fin del menu de cuenta del administrador con vidrio de Actualizar perfil. */

/*
 * Selector de identidad del administrador.
 * Las superficies neutrales consumen el vidrio azul organizacional; el verde
 * queda reservado para la acción primaria y las muestras reales del equipo.
 */
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog {
  border-color: var(--organization-glass-border-strong);
  color: var(--hd-text-primary);
  background: var(--forest-overlay);
  box-shadow: 0 28px 68px rgba(2, 18, 43, 0.58);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(.team-identity-dialog__header, .team-identity-dialog__footer) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(.identity-tabs, .identity-panel, .identity-catalog-toolbar) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-surface-dense);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(
    .identity-dialog-close,
    .identity-tab,
    .crest-template-option,
    .identity-preset-option,
    .crest-pattern-options button,
    .identity-color-field,
    .identity-custom-preview
  ) {
  border-color: var(--organization-glass-border);
  color: var(--hd-text-primary);
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(.identity-category-tabs, .crest-pattern-options) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(.identity-category-tabs button, .identity-sort-label) {
  border-color: transparent;
  color: var(--hd-text-secondary);
  background: transparent;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(
    .identity-tab:hover,
    .identity-tab:focus-visible,
    .identity-tab.is-active,
    .crest-template-option:hover,
    .crest-template-option:focus-visible,
    .crest-template-option[aria-selected="true"],
    .identity-preset-option:hover,
    .identity-preset-option:focus-visible,
    .identity-preset-option[aria-selected="true"],
    .crest-pattern-options button:hover,
    .crest-pattern-options button:focus-visible,
    .crest-pattern-options button[aria-pressed="true"],
    .identity-category-tabs button:hover,
    .identity-category-tabs button:focus-visible,
    .identity-category-tabs button.is-active
  ) {
  border-color: var(--organization-glass-border-strong);
  color: #ffffff;
  background: var(--organization-glass-control-focus);
  outline-color: rgba(151, 213, 255, 0.5);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  .identity-palette-search {
  border-color: var(--organization-glass-border);
  color: #39ff88;
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  .identity-palette-search:is(:hover, :focus) {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-focus);
  box-shadow: 0 0 0 3px rgba(151, 213, 255, 0.2);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  .identity-palette-search::placeholder {
  color: var(--hd-text-placeholder);
  opacity: 1;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  :where(.identity-sort-label, .identity-load-more) {
  border-color: var(--organization-glass-border);
  color: var(--hd-text-secondary);
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .team-identity-dialog
  .identity-load-more:is(:hover, :focus-visible) {
  border-color: var(--organization-glass-border-strong);
  color: #ffffff;
  background: var(--organization-glass-control-hover);
}

/*
 * Reserva manual de amistosos: el selector de ocupante es una superficie
 * neutral de trabajo. Consume vidrio azul; el verde queda para foco, seleccion
 * y la accion primaria, nunca para rellenar el modal o sus resultados.
 */
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog {
  border-color: var(--organization-glass-border-strong);
  color: var(--hd-text-primary);
  background: var(--organization-glass-surface-dense);
  box-shadow:
    0 28px 72px rgba(2, 18, 43, 0.58),
    0 1px 0 rgba(232, 247, 255, 0.14) inset;
  backdrop-filter: blur(18px) saturate(116%);
  -webkit-backdrop-filter: blur(18px) saturate(116%);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog::backdrop {
  background: rgba(2, 18, 43, 0.68);
  backdrop-filter: blur(5px) saturate(104%);
  -webkit-backdrop-filter: blur(5px) saturate(104%);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  :where(.dialog-close-button, .selected-player-clear) {
  border-color: var(--organization-glass-border);
  color: #ffffff;
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  :where(.dialog-close-button, .selected-player-clear):is(:hover, :focus-visible) {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-hover);
  outline: 2px solid rgba(92, 255, 167, 0.72);
  outline-offset: 2px;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-mode {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-mode
  button {
  color: var(--hd-text-secondary);
  background: transparent;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-mode
  button:is(:hover, :focus-visible) {
  color: #ffffff;
  background: var(--organization-glass-control-hover);
  outline: 2px solid rgba(151, 213, 255, 0.64);
  outline-offset: -2px;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-mode
  button.is-active {
  color: #39ff88;
  background: var(--organization-glass-control-focus);
  box-shadow: 0 0 0 1px rgba(92, 255, 167, 0.62) inset;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  .player-search-status {
  color: var(--hd-text-secondary);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  .player-search-results {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-surface-dense);
  box-shadow:
    0 16px 34px rgba(2, 18, 43, 0.34),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  .player-search-option {
  border-bottom-color: var(--organization-glass-divider);
  color: var(--hd-text-primary);
  background: transparent;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  .player-search-option:is(:hover, .is-active, :focus-visible) {
  background: var(--organization-glass-control-focus);
  box-shadow: 3px 0 0 var(--hd-action-primary) inset;
  outline: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  :where(.player-search-avatar, .selected-player-avatar) {
  border-color: var(--organization-glass-border-strong);
  color: #ffffff;
  background: var(--organization-glass-control-focus);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  .selected-player {
  border-color: rgba(92, 255, 167, 0.62);
  background: var(--organization-glass-raised);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog
  :where(.player-search-option-copy small, .selected-player-copy small) {
  color: var(--hd-text-secondary);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-reservation-dialog-actions {
  border-top-color: var(--organization-glass-divider);
}

/* Fin de reserva manual con vidrio azul administrativo. */

/*
 * Operacion del amistoso: cupos, asistencia y pagos comparten la misma
 * jerarquia de vidrio azul. El verde se reserva para estados confirmados,
 * asistencia positiva, contadores y acciones operativas disponibles.
 */
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-surface);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team-head {
  border-bottom-color: var(--organization-glass-divider);
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel .reservation-compact-row, .payment-review-panel .payment-compact-row) {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel .reservation-compact-row, .payment-review-panel .payment-compact-row):is(:hover, :focus-within) {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team-list {
  scrollbar-color: rgba(151, 213, 255, 0.72) var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team-list::-webkit-scrollbar {
  width: 10px;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team-list::-webkit-scrollbar-track {
  background: var(--organization-glass-heading);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team-list::-webkit-scrollbar-thumb {
  border: 2px solid var(--organization-glass-heading);
  border-radius: 999px;
  background: rgba(151, 213, 255, 0.72);
}
/* Fin de superficies azules en cupos, asistencia y pagos reportados. */

/*
 * El cierre es el último paso operativo del amistoso y usa la misma jerarquía
 * azul que pagos y devoluciones. El verde queda reservado para estados y CTA.
 */
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-summary-panel {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-control);
  box-shadow:
    0 20px 44px rgba(2, 24, 55, 0.2),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.friendly-summary-score, .friendly-summary-mvp, .friendly-stat-team) {
  border-color: var(--organization-glass-border);
  background: var(--organization-glass-raised);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .friendly-stat-row {
  border-color: var(--organization-glass-divider);
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(
    .friendly-summary-score input,
    .friendly-summary-mvp select,
    .friendly-stat-row select,
    .friendly-stat-row input,
    .friendly-summary-notes textarea
  ) {
  border-color: var(--organization-glass-border);
  color: #ffffff;
  background: var(--organization-glass-control);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(
    .friendly-summary-score input,
    .friendly-summary-mvp select,
    .friendly-stat-row select,
    .friendly-stat-row input,
    .friendly-summary-notes textarea
  ):hover {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(
    .friendly-summary-score input,
    .friendly-summary-mvp select,
    .friendly-stat-row select,
    .friendly-stat-row input,
    .friendly-summary-notes textarea
  ):focus {
  border-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-control-focus);
  box-shadow: 0 0 0 3px rgba(151, 213, 255, 0.2);
  outline: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  :is(.friendly-summary-stats, .friendly-summary-notes) {
  border-top-color: var(--organization-glass-divider);
}

/* Fin del cierre del amistoso con vidrio azul administrativo. */

/*
 * Perfil de organización: replica la lámina uniforme de Actualizar perfil.
 * El formulario es el único vidrio exterior; las secciones internas quedan
 * transparentes para evitar capas azules apiladas. Colores configurables,
 * estados seleccionados y acciones semánticas conservan su identidad.
 */
body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact {
  --organization-profile-glass: rgba(24, 78, 135, 0.34);
  --organization-profile-glass-control: rgba(24, 78, 135, 0.58);
  --organization-profile-glass-control-hover: rgba(24, 78, 135, 0.66);
  --organization-profile-glass-border: rgba(125, 198, 255, 0.34);
  --organization-profile-glass-border-strong: rgba(151, 213, 255, 0.56);
  border: 1px solid var(--organization-profile-glass-border);
  border-radius: 18px;
  background: var(--organization-profile-glass);
  box-shadow:
    0 24px 54px rgba(2, 24, 55, 0.18),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  box-sizing: border-box;
  gap: 0;
  padding: 14px 18px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  :is(.organization-identity-card, .organization-offer-card),
body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  :is(.organization-identity-card, .organization-offer-card):is(:hover, :focus-within) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-identity-card {
  padding: 0 0 10px !important;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-offer-card {
  border-top: 1px solid rgba(255, 214, 0, 0.28);
  padding: 10px 0 0 !important;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  :is(.organization-logo-block, .organization-option-group) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .upload-preview-panel {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-upload-block
  input[type="file"] {
  border-color: var(--organization-profile-glass-border-strong);
  background: var(--organization-profile-glass-control);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.14) inset,
    0 1px 0 rgba(232, 247, 255, 0.1);
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-upload-block
  input[type="file"]:hover {
  background: var(--organization-profile-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  :is(.preview-label, .organization-visibility-pill, .status-info) {
  border-color: var(--organization-profile-glass-border-strong);
  background: var(--organization-profile-glass-control);
  color: #ffffff;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .brand-custom-color-trigger--round:not(.is-active) {
  border-color: var(--organization-profile-glass-border);
  background: var(--organization-profile-glass-control);
  color: #ffffff;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .brand-custom-color-trigger--round:not(.is-active):hover {
  border-color: var(--organization-profile-glass-border-strong);
  background: var(--organization-profile-glass-control-hover);
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-actions {
  border-top: 1px solid rgba(255, 214, 0, 0.28);
  margin-top: 10px;
  padding-top: 10px;
}

@media (max-width: 767px) {
  body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
    .page
    .organization-profile-compact {
    padding: 15px;
  }
}

/* Perfil de organización: conserva el amarillo semántico sobre el vidrio azul. */
body.theme-habla-forest.organization-portal-page.module-operations-page
  .page
  .organization-profile-compact
  .organization-accent-label {
  color: var(--hd-text-section);
}

@media (max-width: 580px) {
  body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
    .mobile-bottom-nav {
    border-color: var(--organization-glass-border);
    background: rgba(4, 29, 58, 0.94);
    box-shadow:
      0 12px 32px rgba(2, 18, 43, 0.48),
      0 1px 0 rgba(232, 247, 255, 0.12) inset;
  }

  body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
    .mobile-bottom-nav
    :is(a.nav-active, a[aria-current="page"], button.nav-active) {
    color: var(--hd-action-primary);
    background: var(--organization-glass-control-hover);
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.theme-habla-forest.organization-portal-page:not(.organization-admin-dashboard-page)
    .page
    :is(.admin-community-strip, .admin-operations-panel) {
    background: rgba(12, 68, 128, 0.94);
  }
}

/*
 * Catalogo de Canchas: controles administrativos con el vidrio de Amistosos.
 * Esta especializacion resuelve la precedencia del tema sin afectar formularios
 * de gestion, reservas, pagos ni el detalle publico de una cancha.
 */
body.theme-habla-forest.organization-portal-page.module-courts-page.courts-list-page
  .page
  .player-court-filter.form-density--compact
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select
  ) {
  border-color: rgba(205, 235, 255, 0.76);
  color: #39ff88;
  color-scheme: dark;
  background: rgba(24, 78, 135, 0.58);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.module-courts-page.courts-list-page
  .page
  .player-court-filter.form-density--compact
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select
  ):hover {
  border-color: rgba(151, 213, 255, 0.56);
  background: rgba(24, 78, 135, 0.66);
}

body.theme-habla-forest.organization-portal-page.module-courts-page.courts-list-page
  .page
  .player-court-filter.form-density--compact
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select
  ):focus {
  border-color: rgba(151, 213, 255, 0.56);
  outline: none;
  background: rgba(24, 78, 135, 0.74);
  box-shadow: 0 0 0 3px rgba(70, 199, 255, 0.22);
}

body.theme-habla-forest.organization-portal-page.module-courts-page.courts-list-page
  .page
  .player-court-filter.form-density--compact
  input::placeholder {
  color: #39ff88;
  opacity: 1;
}
/* Fin de controles de Canchas con vidrio compartido. */

/* Residuos estructurales azules del administrador. */
body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  :is(
    .admin-friendly-section__count,
    .inventory-scope-card__metrics > div,
    .inventory-overview-heading > strong,
    .preview-label,
    .organization-visibility-pill,
    .status-info,
    .status.info,
    .status-pill.info
  ) {
  border-color: var(--organization-glass-border-strong);
  color: #dff6ff;
  background: var(--organization-glass-control);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  .inventory-scope-navigation__link.is-active {
  border-color: var(--organization-glass-border-strong);
  color: #ffffff;
  background: var(--organization-glass-control-focus);
  box-shadow:
    0 6px 16px rgba(2, 24, 55, 0.22),
    0 1px 0 rgba(232, 247, 255, 0.14) inset;
}

body.theme-habla-forest.organization-portal-page:not(.public-home-page):not(.public-account-page)
  .page
  .mp-fee-note {
  border-color: var(--organization-glass-border);
  border-left-color: var(--organization-glass-border-strong);
  background: var(--organization-glass-surface-dense);
  box-shadow: 0 10px 24px rgba(2, 24, 55, 0.16);
}
/* Fin de residuos estructurales azules del administrador. */
/* Fin del vidrio azul transversal del portal organizacional. */

/*
 * Acción comercial de membresía.
 * Permanece después de los contratos verde y organizacional para que la
 * cabecera y el dashboard conserven exactamente el mismo dorado autoritativo.
 */
body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .membership-action:is(.membership-nav-btn, .membership-cta) {
  min-height: var(--hd-control-compact-height) !important;
  border-color: #ffe08a;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(63, 42, 0, 0.72);
  background: linear-gradient(135deg, #a16207, #854d0e);
  box-shadow:
    0 8px 20px rgba(184, 126, 0, 0.32),
    0 1px 0 rgba(255, 255, 255, 0.3) inset;
}

body.theme-habla-forest:not(.public-home-page):not(.public-account-page)
  .membership-action:is(.membership-nav-btn, .membership-cta):is(:hover, :focus-visible) {
  border-color: #fff0b5;
  color: #ffffff;
  background: linear-gradient(135deg, #ad6b08, #854d0e);
  box-shadow:
    0 10px 24px rgba(184, 126, 0, 0.4),
    0 1px 0 rgba(255, 255, 255, 0.36) inset;
  outline-color: #fff0b5;
}

/* Las filas conservan la transparencia del ranking, incluso tras reglas globales. */
body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-workspace
  :is(.friendly-ranking-minimum, .friendly-ranking-row) {
  background: var(--friendly-ranking-glass-control);
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-workspace
  .friendly-ranking-row.is-podium {
  border-color: rgba(92, 255, 167, 0.58);
  background: var(--friendly-ranking-glass-control);
}

body.theme-habla-forest.organization-portal-page.friendly-ranking-page
  .page
  .friendly-ranking-workspace
  .friendly-ranking-row:hover {
  border-color: rgba(159, 218, 255, 0.48);
  background: var(--friendly-ranking-glass-control-hover);
}

/*
 * Mi Organización: depuración completa de capas internas.
 * El vidrio exterior permanece como única superficie estructural; encabezados,
 * vista previa y grupos operativos no crean paneles independientes.
 */
body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .section-toolbar,
body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .section-toolbar:is(:hover, :focus-within) {
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-upload-block
  input[type="file"] {
  width: min(100%, 430px);
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-identity-card
  .organization-visibility-pill {
  background: transparent;
  box-shadow: none;
}

body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
  .page
  .organization-profile-compact
  .organization-identity-card
  .preview-label {
  border-color: rgba(151, 213, 255, 0.34);
  background: rgba(24, 78, 135, 0.22);
  box-shadow: none;
}

@media (max-width: 767px) {
  body.theme-habla-forest.organization-portal-page.organization-profile-glass-page
    .page
    .organization-profile-compact
    .organization-upload-block
    input[type="file"] {
    width: 100%;
  }
}
/* Fin de la depuración visual de Mi Organización. */

/*
 * Superadministrador: vidrio azul operativo.
 *
 * Este alcance es independiente del portal del jugador y del administrador de
 * una organización. Las superficies estructurales son azules; verde, amarillo
 * y rojo permanecen reservados para acciones y estados con significado.
 */
body.theme-habla-forest.superadmin-portal-page {
  --superadmin-glass-surface: rgba(24, 78, 135, 0.48);
  --superadmin-glass-raised: rgba(28, 88, 151, 0.62);
  --superadmin-glass-surface-dense: rgba(12, 68, 128, 0.76);
  --superadmin-glass-heading: rgba(7, 45, 91, 0.78);
  --superadmin-glass-control: rgba(10, 55, 103, 0.84);
  --superadmin-glass-control-hover: rgba(18, 78, 140, 0.9);
  --superadmin-glass-control-focus: rgba(20, 86, 153, 0.95);
  --superadmin-glass-border: rgba(125, 198, 255, 0.42);
  --superadmin-glass-border-strong: rgba(151, 213, 255, 0.64);
  --superadmin-glass-divider: rgba(151, 213, 255, 0.25);
  --superadmin-stat-glow: rgba(70, 199, 255, 0.12);
  --superadmin-glass-shadow:
    0 22px 52px rgba(2, 24, 55, 0.25),
    0 1px 0 rgba(232, 247, 255, 0.15) inset;

  --hd-surface-card: var(--superadmin-glass-surface);
  --hd-surface-card-raised: var(--superadmin-glass-raised);
  --hd-surface-card-deep: var(--superadmin-glass-surface-dense);
  --hd-surface-heading: var(--superadmin-glass-heading);
  --hd-surface-control: var(--superadmin-glass-control);
  --hd-surface-control-hover: var(--superadmin-glass-control-hover);
  --hd-surface-control-focus: var(--superadmin-glass-control-focus);
  --hd-border-panel: var(--superadmin-glass-border);
  --hd-border-control: rgba(151, 213, 255, 0.58);
  --hd-border-control-hover: rgba(186, 230, 253, 0.8);
  --hd-text-primary: #f6fbff;
  --hd-text-secondary: #e3f2ff;
  --hd-text-muted: #b7d0e6;
  --hd-text-placeholder: #a9c7e2;
  --hd-text-field-label: #ffffff;
  --hd-action-secondary: var(--superadmin-glass-control);
  --hd-action-secondary-hover: var(--superadmin-glass-control-hover);
  --hd-action-secondary-border: var(--superadmin-glass-border-strong);

  --forest-card: var(--superadmin-glass-surface);
  --forest-card-raised: var(--superadmin-glass-raised);
  --forest-card-deep: var(--superadmin-glass-surface-dense);
  --forest-input: var(--superadmin-glass-control);
  --forest-overlay: rgba(4, 29, 58, 0.97);
  --forest-strip: rgba(16, 74, 130, 0.72);
  --forest-control: var(--superadmin-glass-control);
  --forest-control-hover: var(--superadmin-glass-control-hover);
  --forest-control-focus: var(--superadmin-glass-control-focus);
  --forest-control-border: rgba(151, 213, 255, 0.58);
  --forest-info-surface: rgba(70, 199, 255, 0.12);
  --forest-border: var(--superadmin-glass-border);
  --forest-border-strong: var(--superadmin-glass-border-strong);
  --forest-divider: var(--superadmin-glass-divider);
  --forest-control-inset-shadow: rgba(2, 24, 55, 0.16);
  --forest-control-focus-inset-shadow: rgba(2, 24, 55, 0.24);
  --forest-shadow: var(--superadmin-glass-shadow);
  --forest-shadow-hover:
    0 28px 62px rgba(2, 24, 55, 0.32),
    0 1px 0 rgba(232, 247, 255, 0.19) inset;
  --forest-neutral-surface: rgba(125, 198, 255, 0.1);
  --forest-surface:
    radial-gradient(circle at 16% 0%, rgba(70, 199, 255, 0.15), transparent 44%),
    linear-gradient(
      145deg,
      var(--superadmin-glass-raised),
      var(--superadmin-glass-surface-dense)
    );
  --forest-surface-hover:
    radial-gradient(circle at 16% 0%, rgba(70, 199, 255, 0.2), transparent 44%),
    linear-gradient(145deg, rgba(34, 100, 166, 0.7), rgba(12, 68, 128, 0.86));

  --hd-module-surface: var(--superadmin-glass-surface);
  --hd-module-surface-raised: var(--superadmin-glass-raised);
  --hd-module-border: var(--superadmin-glass-border);
  --hd-module-divider: var(--superadmin-glass-divider);
}

body.theme-habla-forest.superadmin-portal-page .superadmin-page > .dashboard-head {
  margin-bottom: 16px;
  padding: 18px 20px;
  border: 1px solid var(--superadmin-glass-border);
  border-radius: 16px;
  background: var(--superadmin-glass-heading);
  box-shadow: var(--superadmin-glass-shadow);
  backdrop-filter: blur(10px) saturate(110%);
  -webkit-backdrop-filter: blur(10px) saturate(110%);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  > .dashboard-head
  :is(p, .page-intro) {
  max-width: 760px;
}

body.theme-habla-forest.superadmin-portal-page .superadmin-page > .content-wide {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  :where(
    .admin-summary-card,
    .payment-admin-card,
    .advertising-kpis article,
    .advertising-editor,
    .advertising-space-row,
    .audit-list-row,
    .list-row,
    .plan-read-panel,
    .plan-edit-panel
  ) {
  border-color: var(--superadmin-glass-border);
  background: var(--superadmin-glass-surface-dense);
  box-shadow:
    0 14px 32px rgba(2, 24, 55, 0.2),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  :where(.admin-card, .admin-card-details > div, .admin-commercial-state) {
  border-color: var(--superadmin-glass-border);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  :where(.admin-card:hover, .plan-admin-card:hover, .advertising-space-row:hover) {
  border-color: var(--superadmin-glass-border-strong);
  background: var(--forest-surface-hover);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  :where(.superadmin-secondary-grid, .superadmin-customer-footer, .superadmin-request-row) {
  border-color: var(--superadmin-glass-divider);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  :where(input, select, textarea) {
  border-color: var(--forest-control-border);
  background: var(--superadmin-glass-control);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  :where(input, select, textarea):is(:hover, :focus) {
  border-color: var(--superadmin-glass-border-strong);
  background: var(--superadmin-glass-control-focus);
}

body.theme-habla-forest.superadmin-portal-page
  :where(.superadmin-top-link, .superadmin-nav-menu .nav-more-btn):hover,
body.theme-habla-forest.superadmin-portal-page
  :where(.superadmin-top-link, .superadmin-nav-menu .nav-more-btn):focus-visible {
  border-color: var(--superadmin-glass-border);
  background: rgba(70, 199, 255, 0.12);
}

/* Los estados mantienen su semántica sobre la nueva superficie neutral. */
body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  .admin-commercial-state.ok {
  border-color: color-mix(in srgb, var(--hd-status-success) 46%, transparent);
  background: var(--forest-success-surface);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  .admin-commercial-state.warning {
  border-color: color-mix(in srgb, var(--hd-status-warning) 48%, transparent);
  background: var(--forest-warning-surface);
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  .admin-commercial-state.danger {
  border-color: color-mix(in srgb, var(--hd-status-danger) 48%, transparent);
  background: var(--forest-danger-surface);
}

/* Residuos estructurales azules del superadministrador. */
body.theme-habla-forest.superadmin-portal-page
  .superadmin-page
  .module-list span {
  border-color: var(--superadmin-glass-border);
  color: #dff6ff;
  background: var(--superadmin-glass-control);
  box-shadow: 0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  :is(.superadmin-top-link.nav-active, .superadmin-nav-menu .nav-more-btn--active) {
  border-color: var(--superadmin-glass-border-strong);
  color: #39ff88;
  background: var(--superadmin-glass-control-focus);
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure {
  border-color: var(--superadmin-glass-border);
  background: var(--superadmin-glass-control);
  box-shadow:
    0 8px 18px rgba(2, 24, 55, 0.22),
    0 1px 0 rgba(232, 247, 255, 0.1) inset;
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open] {
  border-color: var(--superadmin-glass-border-strong);
  background: var(--superadmin-glass-control-hover);
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary {
  color: #ffffff;
  background: transparent;
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary:is(:hover, :focus-visible),
body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure[open]
  > .account-menu-disclosure__summary {
  color: #ffffff;
  background: var(--superadmin-glass-control-hover);
  outline-color: var(--superadmin-glass-border-strong);
  box-shadow: 3px 0 0 #39ff88 inset;
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__summary
  svg {
  border-color: var(--superadmin-glass-border);
  color: #97d5ff;
  background: var(--superadmin-glass-surface-dense);
}

body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
  .account-menu-disclosure__content {
  border-top-color: var(--superadmin-glass-divider);
  border-left-color: var(--superadmin-glass-border-strong);
}

@media (max-width: 1050px) {
  body.theme-habla-forest.superadmin-portal-page:not(.public-home-page):not(.public-account-page)
    .superadmin-top-nav
    :is(.superadmin-top-link.nav-active, .nav-more-btn--active) {
    background: linear-gradient(
      90deg,
      rgba(70, 199, 255, 0.18),
      rgba(70, 199, 255, 0.05) 76%,
      transparent
    );
    box-shadow: inset 3px 0 0 #39ff88;
  }
}
/* Fin de residuos estructurales azules del superadministrador. */

@media (max-width: 840px) {
  body.theme-habla-forest.superadmin-portal-page .superadmin-page > .dashboard-head {
    padding: 16px;
    border-radius: 14px;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.theme-habla-forest.superadmin-portal-page
    .superadmin-page
    :where(.panel, .superadmin-stat, .admin-card, .admin-summary-card) {
    background: rgba(12, 68, 128, 0.95);
  }
}
/* Fin del vidrio azul operativo del superadministrador. */

body.theme-habla-forest.superadmin-portal-page
  dialog.superadmin-session-dialog {
  border-color: var(--superadmin-glass-border-strong, rgba(72, 255, 160, 0.55));
  color: #ffffff;
  background: var(--superadmin-glass-surface-dense, rgba(4, 29, 58, 0.98));
}

body.theme-habla-forest.superadmin-portal-page
  .superadmin-session-dialog__card {
  background:
    linear-gradient(145deg, rgba(42, 116, 180, 0.42), rgba(4, 29, 58, 0.68));
}

/*
 * Operacion del amistoso: vidrio de Actualizar perfil.
 * Cada bloque principal es una sola lamina exterior. La estructura interna no
 * apila fondos opacos; la mayor densidad queda reservada a controles y filas.
 */
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page {
  --friendly-operation-glass: rgba(24, 78, 135, 0.34);
  --friendly-operation-glass-subtle: rgba(24, 78, 135, 0.22);
  --friendly-operation-glass-control: rgba(24, 78, 135, 0.58);
  --friendly-operation-glass-control-hover: rgba(24, 78, 135, 0.66);
  --friendly-operation-glass-control-focus: rgba(24, 78, 135, 0.74);
  --friendly-operation-glass-border: rgba(125, 198, 255, 0.34);
  --friendly-operation-glass-border-strong: rgba(151, 213, 255, 0.56);
  --friendly-operation-glass-divider: rgba(151, 213, 255, 0.22);
  --organization-glass-surface: var(--friendly-operation-glass);
  --organization-glass-raised: var(--friendly-operation-glass-subtle);
  --organization-glass-surface-dense: var(--friendly-operation-glass-control);
  --organization-glass-heading: var(--friendly-operation-glass-subtle);
  --organization-glass-strip: var(--friendly-operation-glass-subtle);
  --organization-glass-control: var(--friendly-operation-glass-control);
  --organization-glass-control-hover: var(--friendly-operation-glass-control-hover);
  --organization-glass-control-focus: var(--friendly-operation-glass-control-focus);
  --organization-glass-border: var(--friendly-operation-glass-border);
  --organization-glass-border-strong: var(--friendly-operation-glass-border-strong);
  --organization-glass-divider: var(--friendly-operation-glass-divider);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    .friendly-operation-summary,
    .reservation-management-panel,
    .payment-review-panel,
    .refund-panel,
    .friendly-summary-panel
  ),
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    .friendly-operation-summary,
    .reservation-management-panel,
    .payment-review-panel,
    .refund-panel,
    .friendly-summary-panel
  ):is(:hover, :focus-within) {
  border: 1px solid var(--friendly-operation-glass-border);
  background: var(--friendly-operation-glass);
  background-image: none;
  box-shadow:
    0 24px 54px rgba(2, 24, 55, 0.18),
    0 1px 0 rgba(232, 247, 255, 0.12) inset;
  transform: none;
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team,
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team:is(:hover, :focus-within) {
  border-color: var(--friendly-operation-glass-border);
  background: transparent;
  background-image: none;
  box-shadow: none;
  transform: none;
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(.reservation-management-panel, .payment-review-panel)
  .reservation-team-head {
  border-bottom-color: var(--friendly-operation-glass-divider);
  background: var(--friendly-operation-glass-subtle);
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    .friendly-summary-score,
    .friendly-summary-mvp,
    .friendly-stat-team
  ) {
  border-color: var(--friendly-operation-glass-border);
  background: transparent;
  background-image: none;
  box-shadow: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    .friendly-operation-chip,
    .reservation-management-panel .reservation-compact-row,
    .payment-review-panel .payment-compact-row,
    .refund-form,
    .friendly-stat-row,
    .friendly-summary-score input,
    .friendly-summary-mvp select,
    .friendly-stat-row select,
    .friendly-stat-row input,
    .friendly-summary-notes textarea
  ) {
  background: var(--friendly-operation-glass-control);
  background-image: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    a.friendly-operation-chip,
    .reservation-management-panel .reservation-compact-row,
    .payment-review-panel .payment-compact-row,
    .refund-form
  ):is(:hover, :focus-within),
body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    .friendly-summary-score input,
    .friendly-summary-mvp select,
    .friendly-stat-row select,
    .friendly-stat-row input,
    .friendly-summary-notes textarea
  ):hover {
  background: var(--friendly-operation-glass-control-hover);
  background-image: none;
}

body.theme-habla-forest.organization-portal-page.module-friendlies-page.friendly-operation-page
  .page
  :is(
    .friendly-summary-score input,
    .friendly-summary-mvp select,
    .friendly-stat-row select,
    .friendly-stat-row input,
    .friendly-summary-notes textarea
  ):focus {
  background: var(--friendly-operation-glass-control-focus);
  background-image: none;
}

/* Fin de la operacion del amistoso con vidrio de Actualizar perfil. */
