/* GENERADO por scripts/css-panel.mjs desde BACKEND/css-src/panel/*.css — NO EDITAR AQUÍ.
   Edita la zona en css-src/panel/ y ejecuta: npm run css:panel */
/*
 * Colores del panel en un solo sitio (00 = se carga el primero).
 * En las zonas se usa var(--c-…) en lugar de un #hex suelto. Cambia el valor aquí y cambia en todo el panel.
 * Nombres: --c-<familia>-<tono>, con el tono de 50 (muy claro) a 950 (muy oscuro); una letra final
 * (50b, 50c…) distingue colores distintos del mismo tono. Los de marca llevan nombre propio.
 * Los verdes/café antiguos de marca no están aquí: van con var(--bv-g-*) / var(--bv-b-*) y la paleta
 * de Colores Barveo (panel-core.js).
 */
:root {
  /* marca (Manual de marca) */
  --c-hueso: #f4f2ed;
  --c-rojo-senal-claro: #e0645a;
  --c-beis-marca: #fcf7ea;
  --c-basico-beis: #f6eed8;
  /* amarillo */
  --c-amarillo-50: #fefce8;
  --c-amarillo-100: #fef9c3;
  --c-amarillo-250: #fef08a;
  --c-amarillo-350: #fde047;
  /* ambar */
  --c-ambar-50: #fffbeb;
  --c-ambar-100: #f8f1de;
  --c-ambar-100b: #fef3c7;
  --c-ambar-200: #e8d7b0;
  --c-ambar-250: #fde68a;
  --c-ambar-350: #fcd34d;
  --c-ambar-400: #c4a46a;
  --c-ambar-450: #facc15;
  --c-ambar-450b: #fbbf24;
  --c-ambar-500: #fbbc04;
  --c-ambar-600: #ca8a04;
  /* azul */
  --c-azul-50: #dbeafe;
  --c-azul-50b: #e0e7ff;
  --c-azul-50c: #eef2ff;
  --c-azul-50d: #eff6ff;
  --c-azul-150: #bfdbfe;
  --c-azul-200: #93c5fd;
  --c-azul-300: #60a5fa;
  --c-azul-350: #6366f1;
  --c-azul-400: #3b82f6;
  --c-azul-400b: #4f46e5;
  --c-azul-450: #2563eb;
  --c-azul-500: #1d4ed8;
  --c-azul-600: #1565c0;
  --c-azul-600b: #1e40af;
  --c-azul-650: #1e3a8a;
  --c-azul-900: #0b1220;
  --c-azul-900b: #0f172a;
  --c-azul-900c: #111827;
  /* beis */
  --c-beis-50: #f5f0e4;
  --c-beis-150: #e5d9c4;
  --c-beis-150b: #e8dfc8;
  --c-beis-150c: #efe2c4;
  /* blanco */
  --c-blanco: #ffffff;
  /* cielo */
  --c-cielo-50: #e0f2fe;
  --c-cielo-50b: #f0f9ff;
  --c-cielo-150: #bae6fd;
  --c-cielo-250: #7dd3fc;
  --c-cielo-400: #38bdf8;
  --c-cielo-600: #0284c7;
  --c-cielo-650: #0891b2;
  --c-cielo-700: #0369a1;
  /* gris */
  --c-gris-50: #eef1ef;
  --c-gris-50b: #f1f5f9;
  --c-gris-50c: #f3f4f6;
  --c-gris-50d: #f5f5f4;
  --c-gris-50e: #f7f8f7;
  --c-gris-50f: #f8fafc;
  --c-gris-50g: #faf5ff;
  --c-gris-50h: #fffffe;
  --c-gris-100: #dce3df;
  --c-gris-100b: #e5e5ea;
  --c-gris-100c: #e5e7eb;
  --c-gris-100d: #e7e5e4;
  --c-gris-100e: #e7eaf0;
  --c-gris-150: #d1d5db;
  --c-gris-150b: #d6d3d1;
  --c-gris-300: #b0b0b0;
  --c-gris-450: #8e8e93;
  --c-gris-700: #57534e;
  --c-gris-750: #3a3a3c;
  --c-gris-800: #2c2c2e;
  --c-gris-900: #12151c;
  --c-gris-900b: #1a1a1a;
  --c-gris-900c: #1c1c1e;
  --c-gris-950: #010101;
  --c-gris-950b: #050a08;
  --c-gris-950c: #0a0a0a;
  --c-gris-950d: #111111;
  --c-gris-950e: #121212;
  /* indigo */
  --c-indigo-50: #ede9fe;
  --c-indigo-50b: #f5f3ff;
  --c-indigo-150: #c4b5fd;
  --c-indigo-250: #a78bfa;
  --c-indigo-350: #8b5cf6;
  --c-indigo-400: #7c3aed;
  --c-indigo-500: #6d28d9;
  --c-indigo-600: #5b21b6;
  /* naranja */
  --c-naranja-50: #fff7ed;
  --c-naranja-100: #ffedd5;
  --c-naranja-150: #fed7aa;
  --c-naranja-300: #fdba74;
  --c-naranja-400: #fb923c;
  --c-naranja-450: #f97316;
  --c-naranja-500: #ea580c;
  --c-naranja-500b: #f59e0b;
  --c-naranja-500c: #ff9f0a;
  --c-naranja-550: #d97706;
  --c-naranja-600: #c2410c;
  --c-naranja-600b: #c93400;
  --c-naranja-650: #9a3412;
  --c-naranja-650b: #b45309;
  --c-naranja-700: #7c2d12;
  --c-naranja-700b: #92400e;
  --c-naranja-750: #713f12;
  --c-naranja-750b: #78350f;
  --c-naranja-800: #3f3424;
  --c-naranja-850: #422006;
  --c-naranja-850b: #431407;
  /* negro */
  --c-negro: #000000;
  /* pizarra */
  --c-pizarra-100: #e2e8f0;
  --c-pizarra-150: #cbd5e1;
  --c-pizarra-350: #94a3b8;
  --c-pizarra-350b: #9ca3af;
  --c-pizarra-550: #64748b;
  --c-pizarra-550b: #6b7280;
  --c-pizarra-650: #475569;
  --c-pizarra-650b: #4b5563;
  --c-pizarra-750: #334155;
  --c-pizarra-750b: #374151;
  --c-pizarra-850: #1a1f28;
  --c-pizarra-850b: #1e232e;
  --c-pizarra-850c: #1e293b;
  --c-pizarra-900: #161a22;
  /* purpura */
  --c-purpura-250: #e879f9;
  --c-purpura-500: #c026d3;
  /* rojo */
  --c-rojo-50: #fee2e2;
  --c-rojo-50b: #fef2f2;
  --c-rojo-50c: #ffe4e6;
  --c-rojo-50d: #fff1f2;
  --c-rojo-100: #fecaca;
  --c-rojo-200: #fca5a5;
  --c-rojo-300: #f87171;
  --c-rojo-300b: #fb7185;
  --c-rojo-300c: #ff6b6b;
  --c-rojo-400: #ef4444;
  --c-rojo-400b: #ff453a;
  --c-rojo-450: #fa233b;
  --c-rojo-500: #dc2626;
  --c-rojo-500b: #e11d48;
  --c-rojo-600: #b91c1c;
  --c-rojo-650: #991b1b;
  --c-rojo-700: #7f1d1d;
  /* rosa */
  --c-rosa-50: #fce7f3;
  --c-rosa-50b: #fdf2f8;
  --c-rosa-200: #f9a8d4;
  --c-rosa-300: #f472b6;
  --c-rosa-500: #db2777;
  --c-rosa-650: #9f1239;
  /* turquesa */
  --c-turquesa-50: #ecfeff;
  --c-turquesa-50b: #f0fdf9;
  --c-turquesa-50c: #f0fdfa;
  --c-turquesa-350: #5eead4;
  --c-turquesa-450: #22d3ee;
  --c-turquesa-500: #2dd4bf;
  --c-turquesa-700: #0d9488;
  --c-turquesa-750: #0f766e;
  --c-turquesa-900: #0f2922;
  /* verde */
  --c-verde-50: #dcfce7;
  --c-verde-50b: #e8f3eb;
  --c-verde-50c: #f0fdf4;
  --c-verde-50d: #f0fdf8;
  --c-verde-50e: #f7fee7;
  --c-verde-150: #bbf7d0;
  --c-verde-250: #86efac;
  --c-verde-400: #4ade80;
  --c-verde-450: #a3e635;
  --c-verde-500: #30d158;
  --c-verde-550: #22c55e;
  --c-verde-600: #5b6b62;
  --c-verde-650: #16a34a;
  --c-verde-650b: #65a30d;
  --c-verde-700: #15803d;
  --c-verde-750: #166534;
  --c-verde-800: #14532d;
  --c-verde-850: #004422;
  --c-verde-850b: #0f3d28;
  --c-verde-900: #0f1f17;
  --c-verde-950: #04130b;
  /* violeta */
  --c-violeta-50: #f3e8ff;
  --c-violeta-50b: #fdf4ff;
  --c-violeta-150: #d8b4fe;
  --c-violeta-350: #a855f7;
  --c-violeta-450: #9333ea;
  --c-violeta-550: #7e22ce;
}

    :root {
      --bg: var(--c-gris-950b);
      --card: #0d1a14;
      --border: rgba(255, 255, 255, 0.12);
      --text: var(--bv-g-e8f5ef, #e8f5ef);
      --muted: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239), 0.65);
      --ok: var(--bv-g-34d399, #34d399);
      --err: var(--c-rojo-300);
      /* Base sidebar sin verde fijo; con tenant se sobrescribe en JS desde el primario */
      --side: #0f0e0d;
      --side-active: rgba(15, 41, 34, 0.22);
      --tenant-brand-primary: var(--c-turquesa-900);
      --tenant-brand-secondary: var(--c-gris-950b);
      --btn-gradient-end: var(--bv-g-059669, #059669);
      --nav-active-text: var(--bv-g-a7f3d0, #a7f3d0);
      --btn-on-accent: #02110a;
      --brand-rgba-06: rgba(15, 41, 34, 0.06);
      --brand-rgba-08: rgba(15, 41, 34, 0.08);
      --brand-rgba-12: rgba(15, 41, 34, 0.12);
      --brand-rgba-18: rgba(15, 41, 34, 0.18);
      --brand-rgba-22: rgba(15, 41, 34, 0.22);
      --brand-rgba-25: rgba(15, 41, 34, 0.25);
      --brand-rgba-28: rgba(15, 41, 34, 0.28);
      --brand-rgba-30: rgba(15, 41, 34, 0.3);
      --brand-rgba-35: rgba(15, 41, 34, 0.35);
      --brand-rgba-45: rgba(15, 41, 34, 0.45);
      --brand-rgba-85: rgba(15, 41, 34, 0.85);
      --nav-active-indicator: var(--bv-g-34d399, #34d399);
      /* Pestañas cápsula: trazo lateral/superior y segmento inferior activo */
      --bardev-tab-stroke: rgba(148, 163, 184, 0.72);
      --bardev-tab-line: var(--border);
      --bardev-tab-active-line: var(--ok, var(--bv-g-34d399, #34d399));
      /* Acentos de sección (mismos hex que --group-color en el nav lateral) → píldoras h2 */
      --bardev-section-inicio: var(--bv-g-34d399, #34d399);
      --bardev-section-citas: var(--c-indigo-250);
      --bardev-section-tienda: var(--c-azul-300);
      --bardev-section-clientes: var(--c-naranja-500b);
      --bardev-section-finanzas: var(--c-rojo-300);
      --bardev-section-impuestos: #9f1239;
      --bardev-section-estadisticas: var(--c-cielo-400);
      --bardev-section-empleados: var(--c-rosa-300);
      --bardev-section-configuracion: var(--c-pizarra-350);
      --bardev-section-developer: var(--c-pizarra-550);
      /* Scrim de modales (tema oscuro). En claro lo sobrescribe --bd-modal-scrim. */
      --bd-modal-scrim: rgba(0, 0, 0, 0.58);
      --bd-modal-scrim-blur: blur(10px) saturate(1.1);
    }
    /* Modo claro: texto oscuro sobre beis corporativo; acentos esmeralda / menta */
    html.bardev-panel-theme-light {
      --bg: var(--c-beis-marca);
      --card: var(--c-blanco);
      --border: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.16);
      --text: var(--c-verde-900);
      --muted: rgba(15, 31, 23, 0.62);
      --side: var(--c-beis-marca);
      --side-active: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.14);
      --nav-active-text: var(--bv-g-047857, #047857);
      --nav-active-indicator: var(--bv-g-047857, #047857);
      --ok: var(--bv-g-047857, #047857);
      --tenant-brand-primary: var(--bv-g-114830, #114830);
      --tenant-brand-secondary: var(--bv-g-047857, #047857);
      --btn-gradient-end: var(--bv-g-047857, #047857);
      --bardev-tab-stroke: rgba(var(--bv-b-rgb-8f6845, 143, 104, 69), 0.45);
      --bardev-tab-line: var(--border);
      --bardev-tab-active-line: var(--ok, var(--bv-g-047857, #047857));
    }
    html.bardev-panel-theme-light body {
      background: var(--c-beis-marca);
      color: var(--text);
    }
    html.bardev-panel-theme-light .bardev-float-login {
      background: rgba(255, 255, 255, 0.98);
      border: 1px solid var(--ds-border) !important;
      color: var(--ds-text-primary);
      box-shadow: 0 12px 40px rgba(17,24,39,0.14), 0 0 0 1px rgba(17,24,39,0.04);
      backdrop-filter: blur(12px);
    }
    html.bardev-panel-theme-light .bardev-float-login__drag {
      background: var(--ds-surface-2) !important;
      color: var(--ds-text-primary) !important;
      border-bottom: 1px solid var(--ds-border) !important;
    }
    html.bardev-panel-theme-light .bardev-float-login__head {
      border-bottom: none !important;
    }
    html.bardev-panel-theme-light .bardev-float-login__body label {
      color: var(--ds-text-secondary) !important;
    }
    html.bardev-panel-theme-light .bardev-float-login__body input {
      background: var(--ds-surface) !important;
      color: var(--ds-text-primary) !important;
      border: 1px solid var(--ds-border-2) !important;
    }
    /* Mensajes del login flotante / modo claro: texto oscuro sobre fondo suave (no blanco sobre gris). */
    html.bardev-panel-theme-light .msg.ok,
    html.bardev-panel-theme-light .bardev-float-login__body .msg.ok {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
    }
    html.bardev-panel-theme-light .msg.err,
    html.bardev-panel-theme-light .msg.error,
    html.bardev-panel-theme-light .bardev-float-login__body .msg.err,
    html.bardev-panel-theme-light .bardev-float-login__body .msg.error {
      background: var(--bd-danger-50, #fef2f2) !important;
      border: 1px solid var(--bd-danger-200, #fecaca) !important;
      color: var(--bd-danger-800, #991b1b) !important;
    }
    html.bardev-panel-theme-light .msg.warn,
    html.bardev-panel-theme-light .bardev-float-login__body .msg.warn {
      background: var(--bd-warn-50, #fffbeb) !important;
      border: 1px solid var(--bd-warn-200, #fde68a) !important;
      color: var(--bd-ink, #0f172a) !important;
    }
    /* Modo claro: evitar tipografía / flechas blancas heredadas del tema oscuro */
    html.bardev-panel-theme-light .nav-side {
      color: var(--text);
    }
    html.bardev-panel-theme-light .nav-side-header strong {
      color: var(--text);
    }
    html.bardev-panel-theme-light #dash-user {
      color: var(--muted);
    }
    html.bardev-panel-theme-light .nav-side-footer__rail-svg,
    html.bardev-panel-theme-light .nav-side-rail-gap__line {
      opacity: 0.85;
    }
    html.bardev-panel-theme-light .nav-header-logo-wrap {
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.7);
      border: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.12);
    }
    html.bardev-panel-theme-light .btn.nav-item:hover {
      background: rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .nav-group__toggle:hover {
      background: rgba(15, 23, 42, 0.06);
      color: var(--text);
    }
    html.bardev-panel-theme-light .nav-block__main .nav-group__body .btn.nav-item.nav-item--sub:disabled {
      color: rgba(15, 23, 42, 0.45);
    }
    html.bardev-panel-theme-light .nav-toggle-arrow {
      border-color: transparent transparent transparent rgba(15, 23, 42, 0.45);
    }
    html.bardev-panel-theme-light .nav-tenant-switcher__item:hover {
      background: rgba(255, 255, 255, 0.85);
    }
    html.bardev-panel-theme-light .nav-tenant-logo-wrap {
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.7);
    }
    html.bardev-panel-theme-light .nav-tenant-switcher__item-placeholder {
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.85);
    }
    html.bardev-panel-theme-light .btn:not(.secondary):not(.nav-item):not(.tenant-delete) {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--c-blanco);
      border: 1px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 2px 10px color-mix(in srgb, var(--bd-g-600, var(--bv-g-047857, #047857)) 28%, transparent);
    }
    html.bardev-panel-theme-light .btn:not(.secondary):not(.nav-item):not(.tenant-delete):hover:not(:disabled) {
      background: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      color: var(--c-blanco);
    }
    html.bardev-panel-theme-light .btn:not(.secondary):not(.nav-item):not(.tenant-delete):active:not(:disabled) {
      background: var(--bd-g-700, var(--bv-g-064e3b, #064e3b));
      color: var(--c-blanco);
    }
    html.bardev-panel-theme-light .btn.secondary:not(.nav-item):not(.tenant-delete):not(.btn-icon) {
      background: var(--c-blanco);
      color: var(--text);
      border: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.2);
      box-shadow: 0 1px 3px rgba(15, 31, 23, 0.08);
    }
    html.bardev-panel-theme-light .btn.secondary:not(.nav-item):not(.tenant-delete):not(.btn-icon):hover:not(:disabled) {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.08);
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
    }
    html.bardev-panel-theme-light .btn.secondary:not(.nav-item):not(.tenant-delete):not(.btn-icon):active:not(:disabled) {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12);
    }
    html.bardev-panel-theme-light .main-area .content-panel[data-panel-section] > h2,
    html.bardev-panel-theme-light .main-area .content-panel[data-panel-section] .informes-head > h2 {
      background: color-mix(in srgb, var(--panel-section-accent) 16%, var(--c-blanco));
      border: 1px solid color-mix(in srgb, var(--panel-section-accent) 34%, var(--border));
      box-shadow: 0 1px 10px color-mix(in srgb, var(--panel-section-accent) 22%, rgba(30, 64, 175, 0.08));
    }
    html.bardev-panel-theme-light .main-area .content-panel:not([data-panel-section]) > h2,
    html.bardev-panel-theme-light .main-area .content-panel:not([data-panel-section]) .informes-head > h2 {
      background: color-mix(in srgb, var(--ok) 14%, var(--c-blanco));
      border: 1px solid color-mix(in srgb, var(--ok) 32%, var(--border));
      box-shadow: 0 1px 10px rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.1);
    }
    /* Agenda: mismo beis corporativo que el menú; las citas siguen el color del servicio */
    html.bardev-panel-theme-light .agenda-grid-outer {
      border: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.12);
      background: var(--c-beis-marca);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
    html.bardev-panel-theme-light .agenda-heads-row {
      background: linear-gradient(180deg, var(--c-basico-beis) 0%, var(--c-beis-marca) 100%);
      box-shadow: 0 1px 0 rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      z-index: 24;
      isolation: isolate;
    }
    html.bardev-panel-theme-light .agenda-time-rail-head {
      border-right: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.1);
      border-bottom: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      background-color: var(--c-beis-marca);
      background-image: linear-gradient(180deg, var(--c-basico-beis) 0%, var(--c-beis-marca) 100%);
      position: relative;
      z-index: 1;
    }
    html.bardev-panel-theme-light .agenda-heads-row .agenda-col__head {
      border-bottom: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      border-right: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.07);
      background-color: var(--c-basico-beis);
      background-image: linear-gradient(180deg, var(--c-basico-beis) 0%, var(--c-beis-marca) 100%);
      position: relative;
      z-index: 1;
    }
    html.bardev-panel-theme-light .agenda-tracks-row {
      background-color: var(--c-beis-marca);
    }
    html.bardev-panel-theme-light .agenda-tracks-row .agenda-time-rail {
      border-right: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.1);
      background: var(--c-basico-beis);
    }
    html.bardev-panel-theme-light .agenda-tracks-row .agenda-col__body {
      border-right: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      /* Solo color: el gradiente de cuadrícula va en background-image (inline, %) */
      background-color: var(--c-beis-marca);
    }
    html.bardev-panel-theme-light .agenda-col {
      border-right: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      background-color: var(--c-beis-marca);
    }
    /* ── Popup calendario topbar ── */
    /* Ancla el popup justo debajo del grupo flecha + fecha + flecha */
    .agenda-topbar__date-anchor {
      position: relative;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      flex-shrink: 0;
    }
    .agenda-topbar__date-nav {
      display: inline-flex;
      align-items: center;
      gap: 8px 10px;
    }
    .bardev-topbar-cal-popup {
      position: absolute;
      top: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      z-index: 10000;
      background: var(--c-blanco);
      border: 1px solid rgba(15,23,42,0.10);
      border-radius: 20px;
      box-shadow: 0 12px 40px rgba(15,23,42,0.14), 0 2px 8px rgba(15,23,42,0.06);
      padding: 16px 16px 14px;
      width: 340px;
      box-sizing: border-box;
      animation: bardev-cal-fade 0.15s ease both;
    }
    @keyframes bardev-cal-fade {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    .bardev-topbar-cal-popup.hidden { display: none !important; }
    .bardev-topbar-cal-popup__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 10px;
    }
    .bardev-topbar-cal__month {
      font-size: 1rem;
      font-weight: 700;
      color: var(--c-azul-900c);
      letter-spacing: -0.3px;
      text-transform: capitalize;
    }
    .bardev-topbar-cal__nav {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      border: 1px solid rgba(15,23,42,0.12);
      background: transparent;
      color: var(--c-pizarra-750b);
      font-size: 1.1rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.12s;
    }
    .bardev-topbar-cal__nav:hover { background: var(--c-gris-50c); }
    .bardev-topbar-cal__weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 4px;
      margin-bottom: 8px;
      font-size: 0.7rem;
      font-weight: 600;
      color: var(--c-pizarra-350b);
      text-align: center;
    }
    .bardev-topbar-cal__grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 4px;
    }
    .bardev-topbar-cal__day {
      height: 36px;
      min-height: 36px;
      border-radius: 10px;
      border: 1px solid transparent;
      background: transparent;
      color: var(--c-azul-900c);
      font-size: 0.85rem;
      font-weight: 500;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: center;
      padding: 2px 1px;
      box-sizing: border-box;
      transition: background 0.10s, color 0.10s;
    }
    .bardev-topbar-cal__day-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1px;
      width: 100%;
      min-height: 0;
      flex: 1;
    }
    .bardev-topbar-cal__day-num {
      font-size: 0.82rem;
      font-weight: inherit;
      line-height: 1;
    }
    .bardev-topbar-cal__day-count {
      font-size: 0.48rem;
      font-weight: 700;
      line-height: 1;
      color: var(--c-pizarra-350b);
      letter-spacing: 0.01em;
    }
    .bardev-topbar-cal__day-fill {
      display: block;
      width: 16px;
      height: 3px;
      border: 1px solid rgba(15, 23, 42, 0.22);
      border-radius: 2px;
      overflow: hidden;
      box-sizing: border-box;
      background: transparent;
      flex-shrink: 0;
    }
    .bardev-topbar-cal__day-fill__inner {
      display: block;
      height: 100%;
      width: 0;
      background: var(--bv-g-059669, #059669);
      border-radius: 1px;
      transition: width 0.15s ease;
    }
    .bardev-topbar-cal__day--selected .bardev-topbar-cal__day-count {
      color: rgba(255, 255, 255, 0.88);
    }
    .bardev-topbar-cal__day--selected .bardev-topbar-cal__day-fill {
      border-color: rgba(255, 255, 255, 0.55);
    }
    .bardev-topbar-cal__day--selected .bardev-topbar-cal__day-fill__inner {
      background: var(--c-blanco);
    }
    .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected) .bardev-topbar-cal__day-count {
      color: #C4CDD8;
    }
    .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected) .bardev-topbar-cal__day-fill {
      border-color: rgba(148, 163, 184, 0.35);
    }
    .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected) .bardev-topbar-cal__day-fill__inner {
      background: var(--c-pizarra-350);
    }
    .bardev-topbar-cal__day:hover:not(.bardev-topbar-cal__day--disabled):not(.bardev-topbar-cal__day--past) {
      background: var(--c-verde-50c);
      color: var(--bv-g-059669, #059669);
      border-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105),0.20);
    }
    .bardev-topbar-cal__day--today {
      border-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105),0.45) !important;
      color: var(--bv-g-059669, #059669) !important;
      font-weight: 700;
    }
    .bardev-topbar-cal__day--selected {
      background: var(--bv-g-059669, #059669) !important;
      color: var(--c-blanco) !important;
      border-color: var(--bv-g-059669, #059669) !important;
      font-weight: 700;
    }
    .bardev-topbar-cal__day--disabled {
      color: var(--c-gris-150);
      cursor: default;
      pointer-events: none;
    }
    /* Días pasados: clicables (histórico) pero claramente apagados */
    .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected) {
      color: #B8C4D0;
      background: var(--c-gris-50f);
      font-weight: 450;
    }
    .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected):hover {
      background: #EEF2F6;
      color: var(--c-pizarra-350);
      border-color: rgba(148, 163, 184, 0.28);
    }
    .bardev-topbar-cal__day--empty { pointer-events: none; height: 36px; min-height: 36px; }
    .bardev-topbar-cal__jumps {
      margin-top: 12px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .bardev-topbar-cal__jump-block {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .bardev-topbar-cal__jump-title {
      margin: 0;
      text-align: center;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--c-pizarra-550b);
    }
    .bardev-topbar-cal__jump-line {
      height: 1px;
      background: var(--c-gris-100e);
    }
    .bardev-topbar-cal__jump-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 3px;
    }
    .bardev-topbar-cal__jump-btn {
      flex: 1 1 0;
      min-width: 0;
      height: 28px;
      padding: 0;
      border-radius: 999px;
      border: 1px solid var(--c-gris-100e);
      background: var(--c-blanco);
      color: var(--c-pizarra-750b);
      font-size: 0.7rem;
      font-weight: 700;
      cursor: pointer;
      line-height: 1;
      box-sizing: border-box;
    }
    .bardev-topbar-cal__jump-btn:hover {
      background: var(--c-verde-50c);
      border-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.28);
      color: var(--bv-g-047857, #047857);
    }

    html.bardev-panel-theme-light .agenda-col__body {
      background-color: var(--c-beis-marca);
      /* Misma cuadrícula que tema oscuro: agendaGridBackgroundCss (%) alineada con citas y etiquetas */
      position: relative;
    }
    html.bardev-panel-theme-light .agenda-time-rail__inner {
      position: relative;
    }
    html.bardev-panel-theme-light .agenda-time-label,
    html.bardev-panel-theme-light .agenda-time-label--hour {
      color: rgba(15, 23, 42, 0.55);
    }
    html.bardev-panel-theme-light .agenda-time-label--quarter {
      color: rgba(15, 23, 42, 0.38);
    }
    html.bardev-panel-theme-light .agenda-now-pin__dot {
      box-shadow: 0 0 0 2px var(--c-beis-marca);
    }
    html.bardev-panel-theme-light .agenda-now-pin__txt {
      color: var(--c-rojo-650);
      background: var(--c-rojo-50);
      border: 1px solid var(--c-rojo-300);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .agenda-col__head-name {
      color: var(--c-verde-900);
    }
    html.bardev-panel-theme-light .agenda-col__sub {
      color: var(--c-verde-600);
    }
    html.bardev-panel-theme-light .agenda-col__sub--vacacion {
      color: var(--bv-g-114830, #114830);
    }
    html.bardev-panel-theme-light .agenda-col__vac-meta {
      color: var(--bv-g-114830, #114830);
    }
    html.bardev-panel-theme-light .agenda-col__vac-back {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-tracks-row .agenda-col__body.agenda-col__body--vacacion {
      background-color: var(--c-beis-marca) !important;
      background-image: repeating-linear-gradient(
        -45deg,
        rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08) 0px,
        rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08) 8px,
        rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.35) 8px,
        rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.35) 16px
      ) !important;
      background-size: auto !important;
      background-position: 0 0 !important;
      background-repeat: repeat !important;
      box-shadow: inset 0 0 0 1px rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.12);
    }
    html.bardev-panel-theme-light .agenda-vacacion-bloque {
      border: none;
      background: transparent;
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-vacacion-bloque__name {
      color: var(--bv-g-114830, #114830);
      font-size: 0.68rem;
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-vacacion-bloque__period,
    html.bardev-panel-theme-light .agenda-vacacion-bloque__days {
      color: var(--bv-g-047857, #047857);
      font-size: 0.58rem;
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-vacacion-bloque__back {
      color: var(--bv-g-114830, #114830);
      font-weight: 700;
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-col__count {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-col__occ-label {
      color: rgba(91, 107, 98, 0.95);
    }
    html.bardev-panel-theme-light .agenda-col__occ-bar {
      border-color: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.28);
    }
    html.bardev-panel-theme-light .agenda-col__avatar--ph {
      background: var(--bv-g-e4f6ec, #e4f6ec);
      color: var(--bv-g-114830, #114830);
    }
    /* absolute en base: relative rompía top:% (citas, descansos y línea "ahora" vs eje de horas) */
    html.bardev-panel-theme-light .agenda-break--entre-turnos,
    html.bardev-panel-theme-light .agenda-break--fuera-jornada {
      position: absolute !important;
      z-index: 1 !important;
    }
    html.bardev-panel-theme-light .agenda-now-line {
      position: absolute !important;
      z-index: 130 !important;
    }
    html.bardev-panel-theme-light .agenda-now-pin {
      z-index: 250 !important;
    }
    html.bardev-panel-theme-light .agenda-break--entre-turnos,
    html.bardev-panel-theme-light .agenda-break--fuera-jornada {
      border: 1px solid rgba(var(--bv-b-rgb-7a5638, 122, 86, 56), 0.45);
      background-color: var(--bv-b-8f6845, #8f6845);
      background-image: repeating-linear-gradient(
        -45deg,
        var(--bv-b-7a5638, #7a5638) 0px,
        var(--bv-b-7a5638, #7a5638) 5px,
        var(--bv-b-8f6845, #8f6845) 5px,
        var(--bv-b-8f6845, #8f6845) 10px
      );
      box-shadow: inset 0 0 12px rgba(17, 31, 23, 0.12);
    }
    html.bardev-panel-theme-light .agenda-break--entre-turnos .agenda-break__txt,
    html.bardev-panel-theme-light .agenda-break--entre-turnos .agenda-break__time,
    html.bardev-panel-theme-light .agenda-break--fuera-jornada .agenda-break__txt,
    html.bardev-panel-theme-light .agenda-break--fuera-jornada .agenda-break__time {
      color: rgba(252, 247, 234, 0.96);
      text-shadow: 0 1px 2px rgba(17, 31, 23, 0.35);
    }
    html.bardev-panel-theme-light .agenda-break--horario-especial-bg {
      z-index: 1 !important;
      border: 1px dashed rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.28);
      background-color: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.55);
      background-image: repeating-linear-gradient(
        -45deg,
        rgba(252, 247, 234, 0.85) 0px,
        rgba(252, 247, 234, 0.85) 5px,
        rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.35) 5px,
        rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.35) 10px
      );
      box-shadow: inset 0 0 0 1px rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
    }
    html.bardev-panel-theme-light .agenda-break--horario-especial-pill {
      z-index: 5 !important;
      background: transparent !important;
      background-image: none !important;
      border: none !important;
      box-shadow: none !important;
    }
    html.bardev-panel-theme-light .agenda-break__especial-capsule {
      background: var(--bv-g-114830, #114830);
      border: 1px solid rgba(252, 247, 234, 0.22);
      box-shadow: 0 1px 4px rgba(17, 31, 23, 0.22);
    }
    html.bardev-panel-theme-light .agenda-break__especial-capsule .agenda-break__txt--especial {
      color: var(--c-beis-marca);
    }
    html.bardev-panel-theme-light .agenda-break__especial-capsule .agenda-break__time {
      color: rgba(252, 247, 234, 0.9);
    }
    html.bardev-panel-theme-light .agenda-break--descanso-label .agenda-break__txt,
    html.bardev-panel-theme-light .agenda-break--descanso-label .agenda-break__time {
      color: rgba(252, 247, 234, 0.95);
      text-shadow: 0 1px 2px rgba(17, 31, 23, 0.35);
    }
    html.bardev-panel-theme-light .agenda-break__txt {
      color: var(--c-verde-600);
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-break__time {
      color: var(--bv-b-8f6845, #8f6845);
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-card:not(.agenda-card--waitlist-ghost) {
      isolation: isolate !important;
      background-color: var(--c-blanco) !important;
      background-image: none !important;
      position: absolute !important;
      z-index: 4 !important;
      min-height: 36px !important;
      --agenda-cobrado-accent: var(--bv-g-059669, #059669);
    }
    html.bardev-panel-theme-light .agenda-card--compact-strip {
      min-height: 0 !important;
      padding: 0 2px 0 4px !important;
      box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light .agenda-card--compact-strip .agenda-card__body {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }
    html.bardev-panel-theme-light .agenda-card:not(.agenda-card--locked):not(.agenda-card--personal-block):not(.agenda-card--svc):not(.agenda-card--waitlist-ghost) {
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      border-left: 4px solid var(--bv-g-047857, #047857);
      background: var(--c-blanco) !important;
      background-image: none !important;
      box-shadow: 0 2px 8px rgba(15, 31, 23, 0.08);
      --agenda-cobrado-accent: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-card--locked {
      border-left-color: var(--bv-b-8f6845, #8f6845);
      border-color: rgba(var(--bv-b-rgb-8f6845, 143, 104, 69), 0.45);
      background: #f5e6c8 !important;
    }
    html.bardev-panel-theme-light .agenda-card--noshow {
      opacity: 0.78 !important;
      filter: grayscale(1) !important;
      border-style: dashed !important;
      border-left-style: dashed !important;
      border-color: rgba(var(--bv-b-rgb-8f6845, 143, 104, 69), 0.5) !important;
      border-left-color: rgba(var(--bv-b-rgb-8f6845, 143, 104, 69), 0.75) !important;
      background: linear-gradient(135deg, #e8dcc8 0%, #d4c4a8 100%) !important;
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-card--noshow .agenda-card__time,
    html.bardev-panel-theme-light .agenda-card--noshow .agenda-card__name,
    html.bardev-panel-theme-light .agenda-card--noshow .agenda-card__name-text,
    html.bardev-panel-theme-light .agenda-card--noshow .agenda-card__name-svc-sep,
    html.bardev-panel-theme-light .agenda-card--noshow .agenda-card__svc {
      color: rgba(15, 31, 23, 0.78);
    }
    html.bardev-panel-theme-light .agenda-card--personal-block {
      border-left-color: var(--bv-g-059669, #059669);
      border-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.35);
      background: var(--c-turquesa-50b) !important;
    }
    html.bardev-panel-theme-light .agenda-card__move-grip {
      background: linear-gradient(to bottom, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.04));
      border-color: rgba(15, 23, 42, 0.14);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
      opacity: 0.5;
    }
    html.bardev-panel-theme-light .agenda-card__move-grip:hover {
      opacity: 0.58;
      background: linear-gradient(to bottom, rgba(15, 23, 42, 0.11), rgba(15, 23, 42, 0.05));
      border-color: rgba(15, 23, 42, 0.2);
    }
    html.bardev-panel-theme-light .agenda-card__move-grip:active,
    html.bardev-panel-theme-light .agenda-card--dragging .agenda-card__move-grip {
      opacity: 0.65;
    }
    html.bardev-panel-theme-light .agenda-card__move-grip-ridges {
      opacity: 1;
      filter: none;
      background:
        linear-gradient(rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.55)) center 0 / 11px 1.5px no-repeat,
        linear-gradient(rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.55)) center 2.5px / 11px 1.5px no-repeat,
        linear-gradient(rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.55)) center 5px / 11px 1.5px no-repeat !important;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-blue:not(.agenda-card--personal-block) {
      border: 1px solid rgba(37, 99, 235, 0.32);
      border-left: 4px solid var(--c-azul-450);
      background: linear-gradient(135deg, var(--c-azul-50) 0%, var(--c-azul-50d) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-green:not(.agenda-card--personal-block) {
      border: 1px solid rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.34);
      border-left: 4px solid var(--bv-g-059669, #059669);
      background: linear-gradient(135deg, var(--bv-g-d1fae5, #d1fae5) 0%, var(--bv-g-ecfdf5, #ecfdf5) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-orange:not(.agenda-card--personal-block) {
      border: 1px solid rgba(234, 88, 12, 0.36);
      border-left: 4px solid var(--c-naranja-500);
      background: linear-gradient(135deg, var(--c-naranja-100) 0%, var(--c-naranja-50) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-yellow:not(.agenda-card--personal-block) {
      border: 1px solid rgba(202, 138, 4, 0.4);
      border-left: 4px solid var(--c-ambar-600);
      background: linear-gradient(135deg, var(--c-amarillo-100) 0%, var(--c-amarillo-50) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-red:not(.agenda-card--personal-block) {
      border: 1px solid rgba(220, 38, 38, 0.34);
      border-left: 4px solid var(--c-rojo-500);
      background: linear-gradient(135deg, var(--c-rojo-50) 0%, var(--c-rojo-50b) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-purple:not(.agenda-card--personal-block) {
      border: 1px solid rgba(147, 51, 234, 0.34);
      border-left: 4px solid var(--c-violeta-450);
      background: linear-gradient(135deg, var(--c-violeta-50) 0%, var(--c-gris-50g) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-cyan:not(.agenda-card--personal-block) {
      border: 1px solid rgba(8, 145, 178, 0.34);
      border-left: 4px solid var(--c-cielo-650);
      background: linear-gradient(135deg, #cffafe 0%, var(--c-turquesa-50) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-pink:not(.agenda-card--personal-block) {
      border: 1px solid rgba(219, 39, 119, 0.34);
      border-left: 4px solid var(--c-rosa-500);
      background: linear-gradient(135deg, var(--c-rosa-50) 0%, var(--c-rosa-50b) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-lime:not(.agenda-card--personal-block) {
      border: 1px solid rgba(101, 163, 13, 0.4);
      border-left: 4px solid var(--c-verde-650b);
      background: linear-gradient(135deg, #ecfccb 0%, var(--c-verde-50e) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-indigo:not(.agenda-card--personal-block) {
      border: 1px solid rgba(79, 70, 229, 0.34);
      border-left: 4px solid var(--c-azul-400b);
      background: linear-gradient(135deg, var(--c-azul-50b) 0%, var(--c-azul-50c) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-rose:not(.agenda-card--personal-block) {
      border: 1px solid rgba(225, 29, 72, 0.34);
      border-left: 4px solid var(--c-rojo-500b);
      background: linear-gradient(135deg, var(--c-rojo-50c) 0%, var(--c-rojo-50d) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-teal:not(.agenda-card--personal-block) {
      border: 1px solid rgba(13, 148, 136, 0.34);
      border-left: 4px solid var(--c-turquesa-700);
      background: linear-gradient(135deg, #ccfbf1 0%, var(--c-turquesa-50c) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-amber:not(.agenda-card--personal-block) {
      border: 1px solid rgba(217, 119, 6, 0.4);
      border-left: 4px solid var(--c-naranja-550);
      background: linear-gradient(135deg, var(--c-ambar-100b) 0%, var(--c-ambar-50) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-fuchsia:not(.agenda-card--personal-block) {
      border: 1px solid rgba(192, 38, 211, 0.34);
      border-left: 4px solid var(--c-purpura-500);
      background: linear-gradient(135deg, #fae8ff 0%, var(--c-violeta-50b) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-sky:not(.agenda-card--personal-block) {
      border: 1px solid rgba(2, 132, 199, 0.34);
      border-left: 4px solid var(--c-cielo-600);
      background: linear-gradient(135deg, var(--c-cielo-50) 0%, var(--c-cielo-50b) 100%);
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
      opacity: 1;
    }
    /* COBRADO en tema claro: acento = color del servicio (borde izquierdo) */
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-blue:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-azul-450); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-green:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--bv-g-059669, #059669); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-orange:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-naranja-500); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-yellow:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-ambar-600); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-red:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-rojo-500); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-purple:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-violeta-450); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-cyan:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-cielo-650); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-pink:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-rosa-500); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-lime:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-verde-650b); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-indigo:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-azul-400b); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-rose:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-rojo-500b); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-teal:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-turquesa-700); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-amber:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-naranja-550); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-fuchsia:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-purpura-500); }
    html.bardev-panel-theme-light .agenda-card.agenda-card--svc-sky:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-cielo-600); }
    html.bardev-panel-theme-light .agenda-card__svc {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light .agenda-card__time {
      color: var(--c-pizarra-750);
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-card__name {
      color: var(--c-azul-900b);
      text-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-card__name-svc-sep {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .agenda-card__first-visit {
      background: rgba(245, 158, 11, 0.32);
      color: var(--c-naranja-700b);
      border-color: rgba(217, 119, 6, 0.55);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light .agenda-card__voice-confirm--ok {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-card__voice-confirm--no {
      color: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light .agenda-card__voice-confirm--vm {
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light .agenda-card__dur {
      background: rgba(15, 23, 42, 0.06) !important;
      color: var(--ds-text-secondary) !important;
      border-radius: 6px !important;
      border: none !important;
      box-shadow: none !important;
    }
    /* Sin marcos en filas internas ni en iconos del carril */
    html.bardev-panel-theme-light .agenda-card__time,
    html.bardev-panel-theme-light .agenda-card__head-row,
    html.bardev-panel-theme-light .agenda-card__name-row,
    html.bardev-panel-theme-light .agenda-card__name,
    html.bardev-panel-theme-light .agenda-card__name-text,
    html.bardev-panel-theme-light .agenda-card__name-svc-group,
    html.bardev-panel-theme-light .agenda-card__name-svc-sep,
    html.bardev-panel-theme-light .agenda-card__svc {
      border: none !important;
      outline: none !important;
      box-shadow: none !important;
      background: transparent !important;
    }
    html.bardev-panel-theme-light .agenda-card__source,
    html.bardev-panel-theme-light .agenda-card__source--webapp,
    html.bardev-panel-theme-light .agenda-card__source--panel,
    html.bardev-panel-theme-light .agenda-card__source--external {
      border: none !important;
      box-shadow: none !important;
      background: transparent !important;
    }
    html.bardev-panel-theme-light .agenda-card__source--webapp {
      color: var(--c-cielo-600) !important;
    }
    html.bardev-panel-theme-light .agenda-card__source--panel {
      color: var(--bv-g-059669, #059669) !important;
    }
    html.bardev-panel-theme-light .agenda-card__source--external {
      color: var(--c-naranja-650b) !important;
    }
    html.bardev-panel-theme-light .agenda-card__source--chat {
      color: var(--c-indigo-400) !important;
    }
    html.bardev-panel-theme-light .agenda-card__notes-icon {
      border: none !important;
      outline: none !important;
      box-shadow: none !important;
      background: transparent !important;
    }
    html.bardev-panel-theme-light .agenda-card__badge {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.14);
      color: var(--bv-g-114830, #114830);
    }
    html.bardev-panel-theme-light .agenda-card__product-sale {
      background: rgba(37, 99, 235, 0.18);
      color: var(--c-azul-650);
      border-color: rgba(29, 78, 216, 0.35);
    }
    html.bardev-panel-theme-light .agenda-card__pay-icon {
      color: var(--c-azul-500);
    }
    html.bardev-panel-theme-light .agenda-card__cobrado-panel {
      background: transparent;
      border-color: transparent;
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-059669, #059669)) 88%, var(--c-azul-900b));
    }
    html.bardev-panel-theme-light .agenda-card__cobrado-paid-text,
    html.bardev-panel-theme-light .agenda-card__cobrado-shop,
    html.bardev-panel-theme-light .agenda-card__cobrado-shop-n {
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-059669, #059669)) 82%, var(--c-pizarra-850c));
    }
    html.bardev-panel-theme-light .agenda-card__cobrado-r-div {
      background: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-059669, #059669)) 32%, transparent);
    }
    html.bardev-panel-theme-light .agenda-card__cobrado-mini-pay {
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-059669, #059669)) 85%, var(--c-pizarra-850c));
    }
    html.bardev-panel-theme-light .agenda-card__cobrado-pay-plus {
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-059669, #059669)) 88%, var(--c-azul-900b));
      background: transparent;
      border: none;
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-card__rail {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.07) 0%, rgba(15, 23, 42, 0.16) 100%);
      border-left-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .agenda-card--compact-strip .agenda-card__rail {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.09) 0%, rgba(15, 23, 42, 0.2) 100%);
      border-left: 1px solid rgba(15, 23, 42, 0.2);
    }
    html.bardev-panel-theme-light .agenda-card__resize {
      color: var(--c-pizarra-350);
    }
    html.bardev-panel-theme-light .agenda-card__resize-glyph-bg {
      display: none;
    }
    html.bardev-panel-theme-light .agenda-card__resize .agenda-card__resize-glyph-arc {
      stroke: var(--c-pizarra-350);
    }
    html.bardev-panel-theme-light .agenda-card--locked .agenda-card__resize {
      color: rgba(148, 163, 184, 0.28);
    }
    html.bardev-panel-theme-light .agenda-card--locked .agenda-card__resize .agenda-card__resize-glyph-arc {
      stroke: rgba(148, 163, 184, 0.28);
    }
    html.bardev-panel-theme-light .agenda-card--draggable .agenda-card__resize:hover {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .agenda-card--draggable .agenda-card__resize:hover .agenda-card__resize-glyph-arc,
    html.bardev-panel-theme-light .agenda-card--draggable .agenda-card__resize-glyph-hit:hover + .agenda-card__resize-glyph-arc {
      stroke: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .agenda-cerrado-banner strong:first-of-type {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .agenda-mxbardev-logo-wrap {
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.8);
      border: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.15);
    }
    html.bardev-panel-theme-light .agenda-topbar__arrow {
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      border-color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-topbar__arrow:hover {
      background: var(--bv-g-065f46, #065f46);
      border-color: var(--bv-g-065f46, #065f46);
    }
    html.bardev-panel-theme-light .agenda-topbar__date:hover {
      background: rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .agenda-topbar__pill {
      border: 1px solid var(--bv-g-047857, #047857);
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
    }
    html.bardev-panel-theme-light .agenda-topbar__pill:hover {
      background: var(--bv-g-065f46, #065f46);
      border-color: var(--bv-g-065f46, #065f46);
    }
    html.bardev-panel-theme-light .agenda-topbar__icon-btn {
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      border-color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-topbar__icon-btn svg,
    html.bardev-panel-theme-light .agenda-topbar__icon-btn svg * {
      color: var(--c-blanco);
      stroke: var(--c-blanco);
    }
    html.bardev-panel-theme-light .agenda-topbar__icon-btn:hover {
      background: var(--bv-g-065f46, #065f46);
      border-color: var(--bv-g-065f46, #065f46);
    }
    html.bardev-panel-theme-light .agenda-fab--venta,
    html.bardev-panel-theme-light #agenda-btn-new.agenda-fab {
      background: linear-gradient(145deg, var(--bv-g-059669, #059669), var(--bv-g-047857, #047857));
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      box-shadow: 0 6px 22px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.32), 0 0 0 1px rgba(255, 255, 255, 0.5);
    }
    html.bardev-panel-theme-light #agenda-btn-new.agenda-fab:hover {
      filter: brightness(1.08);
    }
    html.bardev-panel-theme-light .agenda-fab-label--venta {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12);
    }
    html.bardev-panel-theme-light #agenda-btn-new.agenda-fab + .agenda-fab-label {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12);
      color: var(--bv-g-114830, #114830);
    }
    html.bardev-panel-theme-light .agenda-notif-subhead {
      border-bottom: 1px solid rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.7);
    }
    html.bardev-panel-theme-light .agenda-notif-wl {
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .agenda-notif-item {
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .agenda-notif-item:hover {
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.8);
    }
    html.bardev-panel-theme-light .agenda-notif-item__dot {
      background: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-notif-item__dot--cancel {
      background: var(--c-rojo-500);
    }
    html.bardev-panel-theme-light .agenda-notif-item__dot--mod {
      background: var(--c-naranja-550);
    }
    html.bardev-panel-theme-light .agenda-notif-item__dot--review {
      background: var(--c-ambar-600);
    }
    html.bardev-panel-theme-light .agenda-notif-item__kind--new {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-notif-item__kind--cancel {
      color: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light .agenda-notif-item__kind--mod {
      color: var(--c-naranja-650b);
    }
    html.bardev-panel-theme-light .agenda-notif-item__kind--review {
      color: #a16207;
    }
    /*
     * ════════════════════════════════════════════════════════════════
     * ESTILO DE DISEÑO DE Barveo (tema claro) — tokens + componentes
     * Referencia visual: modal detalle de cita.
     * 60% neutro · 30% sage · 10% esmeralda sólido
     * Fondos claros → texto oscuro; CTAs sólidos → texto blanco.
     * Prefijo CSS: --bd-* / clases .bd-*
     * ════════════════════════════════════════════════════════════════
     */
    html.bardev-panel-theme-light {
      --bd-n-0: var(--c-blanco);
      --bd-n-50: var(--c-beis-marca);
      --bd-n-100: #f3ead4;
      --bd-n-200: #e4d9c4;
      --bd-n-300: #c4b496;
      --bd-ink: var(--c-verde-900);
      --bd-ink-soft: var(--c-verde-600);
      --bd-g-50: var(--bv-g-ecfdf5, #ecfdf5);
      --bd-g-100: var(--bv-g-e8f5ef, #e8f5ef);
      --bd-g-200: var(--bv-g-d1fae5, #d1fae5);
      --bd-g-400: var(--bv-g-6ee7b7, #6ee7b7);
      --bd-g-600: var(--bv-g-047857, #047857);
      --bd-g-700: var(--bv-g-065f46, #065f46);
      --bd-g-800: var(--bv-g-064e3b, #064e3b);
      /* Marca Barveo — RGB exactos del logo 1×1 (bardev-logo.png?v=marca4) */
      --bd-brand-beige: var(--c-beis-marca); /* rgb(252, 247, 234) — fondo del isotipo */
      --bd-brand-green: var(--bv-g-114830, #114830); /* rgb(var(--bv-g-rgb-114830, 17, 72, 48)) — verde esmeralda del trazo */
      --bd-brand-brown: var(--bv-b-8f6845, #8f6845); /* rgb(var(--bv-b-rgb-8f6845, 143, 104, 69)) — marrón de la hoja */
      --bd-brand-mint: var(--bv-g-e4f6ec, #e4f6ec); /* rgb(var(--bv-g-rgb-e4f6ec, 228, 246, 236)) — verde menta claro */
      --bd-warn-bg: var(--c-ambar-100b);
      --bd-warn-bd: var(--c-ambar-350);
      --bd-warn-fg: var(--c-naranja-700b);
      --bd-danger-bg: var(--c-rojo-50);
      --bd-danger-bd: var(--c-rojo-200);
      --bd-danger-fg: var(--c-rojo-600);
      --bd-on-solid: var(--c-blanco);
      --bd-radius-sm: 12px;
      --bd-radius-md: 14px;
      --bd-radius-lg: 16px;
      --bd-radius-xl: 22px;
      --bd-radius-pill: 999px;
      --bd-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
      --bd-shadow-md: 0 10px 28px rgba(15, 23, 42, 0.1);
      --bd-shadow-xl: 0 20px 60px rgba(15, 23, 42, 0.14), 0 4px 16px rgba(15, 23, 42, 0.06);
      --bd-btn-h: 48px;
      --bd-cta-h: 54px;
      /* Ancho unificado de modales Estilo Barveo (detalle cita, cobro, …) */
      --bd-modal-w: min(600px, calc(100vw - 32px));
      /* Fondo blur de TODOS los modales — cambiar solo aquí en tema claro */
      --bd-modal-scrim: rgba(255, 255, 255, 0.72);
      --bd-modal-scrim-blur: blur(12px) saturate(1.4);
    }
    /* Tipografía de sección */
    html.bardev-panel-theme-light .bd-label {
      display: block;
      margin: 0 0 6px;
      font-size: 0.64rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.09em;
      color: var(--bd-ink-soft);
      line-height: 1.3;
    }
    html.bardev-panel-theme-light .bd-label--with-ico {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    html.bardev-panel-theme-light .bd-label__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--bd-g-600);
      flex: 0 0 auto;
      line-height: 0;
    }
    html.bardev-panel-theme-light .bd-label__ico svg {
      display: block;
      width: 14px;
      height: 14px;
    }
    /* Superficie modal / tarjeta */
    html.bardev-panel-theme-light .bd-panel {
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-xl);
      box-shadow: var(--bd-shadow-xl);
    }
    html.bardev-panel-theme-light .bd-surface {
      background: var(--bd-n-50);
      color: var(--bd-ink);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-lg);
    }
    html.bardev-panel-theme-light .bd-surface--mint {
      background: var(--bd-g-50);
      border-color: var(--bd-g-400);
      color: var(--bd-ink);
    }
    /* Botón base: pulsable con icono a la izquierda */
    html.bardev-panel-theme-light .bd-btn {
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      min-height: var(--bd-btn-h);
      padding: 12px 14px;
      margin: 0;
      box-sizing: border-box;
      border-radius: var(--bd-radius-md);
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      font: inherit;
      font-size: 0.86rem;
      font-weight: 700;
      text-align: left;
      cursor: pointer;
      box-shadow: var(--bd-shadow-xs);
      line-height: 1.2;
    }
    html.bardev-panel-theme-light .bd-btn:hover {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300);
    }
    html.bardev-panel-theme-light .bd-btn__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light .bd-btn__ico svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    html.bardev-panel-theme-light .bd-btn__txt {
      min-width: 0;
    }
    /* Fila ancha (Añadir a la agenda / Añadir productos) */
    html.bardev-panel-theme-light .bd-btn--row {
      width: 100%;
    }
    /* CTA sólido: verde + texto blanco */
    html.bardev-panel-theme-light .bd-btn--solid {
      justify-content: center;
      min-height: var(--bd-cta-h);
      background: var(--bd-g-600);
      border-color: var(--bd-g-700);
      color: var(--bd-on-solid);
      box-shadow: none;
    }
    html.bardev-panel-theme-light .bd-btn--solid:hover {
      background: var(--bd-g-700);
      border-color: var(--bd-g-800);
      color: var(--bd-on-solid);
    }
    html.bardev-panel-theme-light .bd-btn--solid .bd-btn__ico {
      color: var(--bd-on-solid);
    }
    /* Secundario / ghost (Editar) */
    html.bardev-panel-theme-light .bd-btn--ghost {
      justify-content: center;
      background: var(--bd-n-0);
      border-color: var(--bd-n-200);
      color: var(--bd-g-700);
      box-shadow: var(--bd-shadow-xs);
    }
    html.bardev-panel-theme-light .bd-btn--ghost:hover {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300);
    }
    /* Pills de estado */
    html.bardev-panel-theme-light .bd-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 6px 16px;
      border-radius: var(--bd-radius-pill);
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      line-height: 1.2;
      border: 1px solid transparent;
    }
    html.bardev-panel-theme-light .bd-pill--solid {
      background: var(--bd-g-600);
      border-color: var(--bd-g-700);
      color: var(--bd-on-solid);
    }
    html.bardev-panel-theme-light .bd-pill--warn {
      background: var(--bd-warn-bg);
      border-color: var(--bd-warn-bd);
      color: var(--bd-warn-fg);
    }
    html.bardev-panel-theme-light .bd-pill--ok {
      background: var(--bd-g-200);
      border-color: var(--bd-g-400);
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .bd-pill--danger {
      background: var(--bd-danger-bg);
      border-color: var(--bd-danger-bd);
      color: var(--bd-danger-fg);
    }
    /* Grid 2 columnas (acciones / importes) */
    html.bardev-panel-theme-light .bd-split {
      display: flex;
      align-items: stretch;
      gap: 10px;
      width: 100%;
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light .bd-split__col {
      flex: 1 1 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    /* Stepper unificado: grupo compacto − | n | + (todos los modales) */
    .bd-stepper,
    .agenda-days-stepper,
    .caja-vd-qty-stepper,
    .prov-qty-wrap {
      display: inline-flex;
      align-items: stretch;
      gap: 0;
      flex-wrap: nowrap;
      vertical-align: middle;
      height: 40px;
      border: 1px solid var(--border, #dce3df);
      border-radius: 12px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.18);
      box-sizing: border-box;
    }
    .bd-stepper__btn,
    .agenda-days-stepper > .btn.secondary,
    .caja-vd-qty-stepper__btn,
    .prov-qty-btn {
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      font-size: 1.2rem !important;
      font-weight: 700 !important;
      line-height: 1 !important;
      border: none !important;
      border-radius: 0 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      cursor: pointer;
      flex: 0 0 40px !important;
      background: transparent !important;
      color: var(--text, #0f1f17) !important;
      box-shadow: none !important;
    }
    .bd-stepper__btn + .bd-stepper__inp,
    .agenda-days-stepper > .btn.secondary + input[type='number'],
    .caja-vd-qty-stepper__btn + .caja-vd-qty-stepper__inp,
    .prov-qty-btn + .prov-prod-card__qty {
      box-shadow: inset 1px 0 0 var(--border, #dce3df) !important;
    }
    .bd-stepper__inp + .bd-stepper__btn,
    .agenda-days-stepper input[type='number'] + .btn.secondary,
    .caja-vd-qty-stepper__inp + .caja-vd-qty-stepper__btn,
    .prov-prod-card__qty + .prov-qty-btn {
      box-shadow: inset 1px 0 0 var(--border, #dce3df) !important;
    }
    .bd-stepper__inp,
    .agenda-days-stepper input[type='number'],
    .caja-vd-qty-stepper__inp,
    .prov-prod-card__qty,
    .prov-draft-qty-input {
      width: 3.1rem !important;
      min-width: 3.1rem !important;
      max-width: 3.5rem !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 4px !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: var(--text, #0f1f17) !important;
      font: inherit;
      font-size: 0.95rem !important;
      font-weight: 800 !important;
      text-align: center !important;
      box-sizing: border-box !important;
      flex: 0 0 3.1rem;
      -moz-appearance: textfield;
      appearance: textfield;
      -webkit-appearance: textfield;
    }
    .bd-stepper__inp::-webkit-outer-spin-button,
    .bd-stepper__inp::-webkit-inner-spin-button,
    .agenda-days-stepper input[type='number']::-webkit-outer-spin-button,
    .agenda-days-stepper input[type='number']::-webkit-inner-spin-button,
    .caja-vd-qty-stepper__inp::-webkit-outer-spin-button,
    .caja-vd-qty-stepper__inp::-webkit-inner-spin-button,
    .prov-prod-card__qty::-webkit-outer-spin-button,
    .prov-prod-card__qty::-webkit-inner-spin-button,
    #caja-vd-modal .bd-stepper__inp::-webkit-outer-spin-button,
    #caja-vd-modal .bd-stepper__inp::-webkit-inner-spin-button {
      -webkit-appearance: none !important;
      display: none !important;
      margin: 0 !important;
      height: 0 !important;
      width: 0 !important;
    }
    html.bardev-panel-theme-light .bd-stepper,
    html.bardev-panel-theme-light .agenda-days-stepper,
    html.bardev-panel-theme-light .caja-vd-qty-stepper,
    html.bardev-panel-theme-light .prov-qty-wrap,
    html.bardev-panel-theme-light #caja-vd-modal .bd-stepper {
      background: var(--bd-n-0) !important;
      border-color: var(--bd-n-200) !important;
      box-shadow: var(--bd-shadow-xs, none);
    }
    html.bardev-panel-theme-light .bd-stepper__btn,
    html.bardev-panel-theme-light .agenda-days-stepper > .btn.secondary,
    html.bardev-panel-theme-light .caja-vd-qty-stepper__btn,
    html.bardev-panel-theme-light .prov-qty-btn,
    html.bardev-panel-theme-light #caja-vd-modal .bd-stepper__btn {
      background: var(--bd-n-0) !important;
      color: var(--bd-ink) !important;
      border-color: var(--bd-n-200) !important;
    }
    html.bardev-panel-theme-light .bd-stepper__btn:hover,
    html.bardev-panel-theme-light .agenda-days-stepper > .btn.secondary:hover,
    html.bardev-panel-theme-light .caja-vd-qty-stepper__btn:hover,
    html.bardev-panel-theme-light .prov-qty-btn:hover,
    html.bardev-panel-theme-light #caja-vd-modal .bd-stepper__btn:hover {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46)) !important;
    }
    html.bardev-panel-theme-light .bd-stepper__inp,
    html.bardev-panel-theme-light .agenda-days-stepper input[type='number'],
    html.bardev-panel-theme-light .caja-vd-qty-stepper__inp,
    html.bardev-panel-theme-light .prov-prod-card__qty,
    html.bardev-panel-theme-light .prov-draft-qty-input,
    html.bardev-panel-theme-light #caja-vd-modal .bd-stepper__inp {
      background: var(--bd-n-50, #f7f8f7) !important;
      color: var(--bd-ink) !important;
      -webkit-text-fill-color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .bd-stepper__btn + .bd-stepper__inp,
    html.bardev-panel-theme-light .bd-stepper__inp + .bd-stepper__btn,
    html.bardev-panel-theme-light #caja-vd-modal .bd-stepper__btn + .bd-stepper__inp,
    html.bardev-panel-theme-light #caja-vd-modal .bd-stepper__inp + .bd-stepper__btn {
      box-shadow: inset 1px 0 0 var(--bd-n-200) !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal #caja-vd-cart-summary.caja-vd-prod-card {
      border-color: var(--bd-n-200);
      background: var(--bd-n-0);
      overflow: visible;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-cart-summary-inner .caja-vd-multi-title {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-multi-row {
      border-bottom-color: var(--bd-n-200);
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-multi-row__name,
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-multi-row__amt {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl {
      border-color: var(--bd-n-200);
      background: var(--bd-n-50);
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__btn {
      color: var(--bd-ink) !important;
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__btn:hover {
      background: var(--bd-n-100) !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__qty {
      color: var(--bd-ink) !important;
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__del {
      color: var(--bd-danger-fg, #b91c1c) !important;
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-danger-bd, #fecaca) !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__del:hover {
      background: var(--bd-danger-bg, #fef2f2) !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__del svg,
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__del svg * {
      stroke: currentColor !important;
      fill: none !important;
    }
    html.bardev-panel-theme-light #caja-vd-modal .caja-vd-grid-2 {
      display: none !important;
    }

    /*
     * Detalle de cita — alias --ad-* → tokens Estilo Barveo (--bd-*)
     */
    html.bardev-panel-theme-light .agenda-detail-panel {
      --ad-n-0: var(--bd-n-0);
      --ad-n-50: var(--bd-n-50);
      --ad-n-100: var(--bd-n-100);
      --ad-n-200: var(--bd-n-200);
      --ad-n-300: var(--bd-n-300);
      --ad-ink: var(--bd-ink);
      --ad-ink-soft: var(--bd-ink-soft);
      --ad-g-50: var(--bd-g-50);
      --ad-g-100: var(--bd-g-100);
      --ad-g-200: var(--bd-g-200);
      --ad-g-400: var(--bd-g-400);
      --ad-g-600: var(--bd-g-600);
      --ad-g-700: var(--bd-g-700);
      --ad-g-800: var(--bd-g-800);
      --ad-warn-bg: var(--bd-warn-bg);
      --ad-warn-bd: var(--bd-warn-bd);
      --ad-warn-fg: var(--bd-warn-fg);
      --ad-danger-bg: var(--bd-danger-bg);
      --ad-danger-bd: var(--bd-danger-bd);
      --ad-danger-fg: var(--bd-danger-fg);
      --ad-on-solid: var(--bd-on-solid);
      border-radius: 24px !important;
      box-shadow: 0 20px 60px rgba(15, 23, 42, 0.14), 0 4px 16px rgba(15, 23, 42, 0.06) !important;
      border: 1px solid rgba(15, 23, 42, 0.08) !important;
      background: var(--ad-n-0) !important;
      color: var(--ad-ink);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero {
      border-radius: 24px 24px 0 0 !important;
      background: var(--ad-g-100) !important;
      color: var(--ad-ink) !important;
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      box-shadow: 0 10px 20px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08) !important;
      z-index: 6;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero.agenda-detail-hero--completed {
      background: var(--ad-n-100) !important;
      color: var(--ad-ink) !important;
      border-bottom-color: var(--ad-n-200);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero.agenda-detail-hero--cancelled {
      background: var(--c-gris-50b) !important;
      color: var(--ad-ink) !important;
      border-bottom-color: #dbe2ea;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__back,
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__edit {
      color: var(--ad-g-700);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__back:hover,
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__edit:hover {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.1);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__more {
      background: var(--ad-g-600) !important;
      border-color: var(--ad-g-700) !important;
      color: var(--ad-on-solid) !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__more:hover {
      background: var(--ad-g-700) !important;
      border-color: var(--ad-g-800) !important;
      color: var(--ad-on-solid) !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero__meta {
      color: var(--ad-ink-soft);
      opacity: 1;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-timecard {
      background: var(--ad-n-50);
      border: 1px solid var(--ad-n-200);
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-timecard__cell--date {
      background: transparent;
      border-radius: 0;
      padding: 0;
      border: none;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-sched-input {
      background: var(--ad-n-0) !important;
      border: 1px solid var(--ad-n-200) !important;
      color: var(--ad-ink) !important;
      color-scheme: light !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-avail {
      background: var(--ad-g-600);
      border: 1px solid var(--ad-g-700);
      color: var(--ad-on-solid);
    }
    /* Cajón cliente: neutro; paso = ámbar semántico (también forzado en JS) */
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-shell,
    html.bardev-panel-theme-light .agenda-detail-panel #agenda-d-client-shell,
    html.bardev-panel-theme-light #agenda-d-client-shell {
      background: var(--ad-n-50) !important;
      border: 1px solid var(--ad-n-200) !important;
      color: var(--ad-ink);
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-shell:hover,
    html.bardev-panel-theme-light .agenda-detail-panel #agenda-d-client-shell:hover,
    html.bardev-panel-theme-light #agenda-d-client-shell:hover {
      background: var(--ad-n-100) !important;
      border-color: var(--ad-n-300) !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-shell--paso,
    html.bardev-panel-theme-light .agenda-detail-panel #agenda-d-client-shell.agenda-detail-client-shell--paso,
    html.bardev-panel-theme-light #agenda-d-client-shell.agenda-detail-client-shell--paso {
      background: var(--c-ambar-50) !important;
      border-color: var(--ad-warn-bd) !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard,
    html.bardev-panel-theme-light #agenda-d-client-card,
    html.bardev-panel-theme-light #agenda-d-edit-client-card {
      -webkit-appearance: none;
      appearance: none;
      background: var(--ad-n-50) !important;
      border: 1px solid var(--ad-n-200) !important;
      color: var(--ad-ink);
    }
    html.bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard.agenda-detail-clientcard--plain,
    html.bardev-panel-theme-light #agenda-d-client-card.agenda-detail-clientcard--plain {
      background: transparent !important;
      border: none !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard:hover:not(:disabled):not(.agenda-detail-clientcard--plain),
    html.bardev-panel-theme-light #agenda-d-edit-client-card:hover:not(:disabled) {
      background: var(--ad-n-100) !important;
      border-color: var(--ad-n-300) !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-first-visit {
      background: var(--ad-warn-bg);
      color: var(--ad-warn-fg);
      border-color: var(--ad-warn-bd);
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-avatar {
      background: var(--ad-g-600);
      color: var(--ad-on-solid);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-svc__accent {
      background: var(--ad-g-600);
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer {
      border-top: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 -10px 20px -8px rgba(15, 23, 42, 0.16), 0 -4px 10px -4px rgba(15, 23, 42, 0.08) !important;
      z-index: 6;
      background: var(--ad-n-0);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__icon {
      background: var(--ad-danger-bg);
      border-color: var(--ad-danger-bd);
      color: var(--ad-danger-fg);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__icon:hover {
      background: var(--c-rojo-100);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__secondary {
      background: var(--ad-n-50);
      border: 1px solid var(--ad-n-200);
      color: var(--ad-ink);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__secondary:hover {
      background: var(--ad-n-100);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__cobrar {
      border: 1px solid var(--ad-g-700) !important;
      background: var(--ad-g-600) !important;
      color: var(--ad-on-solid) !important;
      box-shadow: none !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__cobrar:hover {
      background: var(--ad-g-700) !important;
      filter: none !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel #agenda-detail-edit input,
    html.bardev-panel-theme-light .agenda-detail-panel #agenda-detail-edit select {
      background: var(--ad-n-50);
      color: var(--ad-ink);
      border: 1px solid var(--ad-n-200);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-badge-pendiente {
      background: var(--ad-danger-bg, #fee2e2);
      border: 1px solid var(--ad-danger-bd, #fca5a5);
      color: var(--ad-danger-fg, #b91c1c);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-badge-cobrado {
      background: var(--ad-g-200, var(--bv-g-d1fae5, #d1fae5));
      border: 1px solid var(--ad-g-400, var(--bv-g-6ee7b7, #6ee7b7));
      color: var(--ad-g-700, var(--bv-g-065f46, #065f46));
    }
    /* Modal aviso cliente (horario / reseña) — por encima del detalle pinneado (content-pin 21040) */
    .agenda-notify-banner {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(var(--bardev-panel-scale, 1));
      transform-origin: center center;
      z-index: 21072 !important;
      pointer-events: auto;
      width: min(440px, calc((100vw - 32px) / var(--bardev-panel-scale, 1)));
      max-width: calc(100vw / var(--bardev-panel-scale, 1) - 32px);
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      padding: 0;
      overflow: hidden;
      animation: bardev-banner-in 0.18s ease;
      background: var(--card, #1e293b);
      color: var(--text, #e2e8f0);
      border: 1px solid var(--border, rgba(148, 163, 184, 0.35));
      border-radius: 22px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    }
    .agenda-notify-banner.hidden { display: none !important; }
    @keyframes bardev-banner-in {
      from { opacity: 0; transform: translate(-50%, -48%) scale(var(--bardev-panel-scale, 1)); }
      to   { opacity: 1; transform: translate(-50%, -50%) scale(var(--bardev-panel-scale, 1)); }
    }
    .agenda-notify-banner__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0;
      padding: 14px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex-shrink: 0;
    }
    .agenda-notify-banner__title {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: inherit;
      line-height: 1.25;
    }
    .agenda-notify-banner__body {
      padding: 18px 16px 8px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .agenda-notify-banner__lead {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 600;
      line-height: 1.45;
      color: inherit;
    }
    .agenda-notify-banner__hint {
      margin: 0;
      font-size: 0.8rem;
      line-height: 1.45;
      color: var(--muted, #94a3b8);
    }
    .agenda-notify-banner__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: stretch;
      justify-content: stretch;
      padding: 12px 16px 16px;
      border-top: 1px solid rgba(148, 163, 184, 0.22);
      background: transparent;
    }
    .agenda-notify-banner__actions .bd-btn,
    .agenda-notify-banner__actions .btn {
      flex: 1 1 auto;
      min-width: 0;
      justify-content: center;
      margin: 0;
      pointer-events: auto;
      cursor: pointer;
      position: relative;
      z-index: 1;
    }
    .agenda-notify-banner__actions .bd-btn--solid {
      flex: 1 1 100%;
      order: -1;
    }
    .agenda-notify-scrim {
      position: fixed;
      inset: 0;
      z-index: 21071 !important;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      pointer-events: auto;
    }
    html.bardev-panel-theme-light .agenda-notify-banner.bd-panel,
    html.bardev-panel-theme-light .agenda-notify-banner {
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-xl);
      box-shadow: var(--bd-shadow-xl);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__head {
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100);
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__title {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__body {
      background: var(--bd-n-0);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__lead {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__hint {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__actions {
      border-top: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light .agenda-notify-banner__actions .bd-btn--ghost {
      min-height: 44px;
    }
    html.bardev-panel-theme-light .agenda-notify-banner__actions .bd-btn--solid {
      min-height: var(--bd-cta-h);
    }
    html.bardev-panel-theme-light .agenda-notes-flytip {
      background: var(--c-amarillo-50) !important;
      border: 1px solid var(--c-ambar-250) !important;
      color: var(--c-naranja-750b) !important;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    }
    html.bardev-panel-theme-light .agenda-notes-flytip__hint {
      border-top-color: var(--c-ambar-250) !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-notes {
      background: rgba(248, 250, 252, 0.95);
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-notes__ta {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light .agenda-cobro-resto {
      background: var(--bd-g-50);
      border: 1px solid var(--bd-g-400);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-cobro-resto.ok {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .agenda-cobro-resto.bad {
      color: var(--bd-danger-fg);
    }
    /* Modal Registrar cobro — mismo ancho JS que detalle (--bardev-agenda-detail-w / --bd-modal-w) */
    html.bardev-panel-theme-light .agenda-cobro-panel--payment.agenda-cobro-panel {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-xl);
      box-shadow: var(--bd-shadow-xl);
      padding: 0;
      overflow: hidden;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      min-width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light #agenda-cobro-modal.modal-overlay > .agenda-cobro-panel--payment,
    html.bardev-panel-theme-light #agenda-cobro-modal.modal-overlay > .bardev-modal-scale-wrap > .agenda-cobro-panel--payment,
    html.bardev-panel-theme-light #venta-pp-modal.modal-overlay > .bardev-modal-scale-wrap > .agenda-cobro-panel {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      min-width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
    }
    html.bardev-panel-theme-light #agenda-cobro-modal.modal-overlay > .bardev-modal-scale-wrap,
    html.bardev-panel-theme-light #venta-pp-modal.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
      min-width: var(--bardev-agenda-detail-w, var(--bd-modal-w)) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 14px;
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-head h3 {
      margin: 0;
      font-size: 1.02rem;
      font-weight: 800;
      color: var(--bd-ink);
      letter-spacing: 0.01em;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-body {
      padding: 12px 14px 4px;
      background: var(--bd-n-0);
      color: var(--bd-ink);
      overflow-y: auto;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-client {
      margin-bottom: 10px;
      padding: 8px 12px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-total-line {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      margin: 8px 0;
      padding: 10px 12px;
      border-radius: var(--bd-radius-lg);
      background: var(--bd-g-50);
      border: 1px solid var(--bd-g-400);
      color: var(--bd-ink-soft);
      font-weight: 700;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }
    .agenda-detail-barfi-earn,
    .agenda-cobro-barfi-earn {
      margin: 4px 0 0;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--c-naranja-650b);
      line-height: 1.25;
    }
    .agenda-detail-barfi-earn--zero,
    .agenda-cobro-barfi-earn--zero {
      font-weight: 600;
      color: var(--c-naranja-700b);
      opacity: 0.9;
    }
    .agenda-cobro-barfi-earn {
      margin: 0 0 12px;
      text-align: right;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
      flex-wrap: wrap;
    }
    .agenda-cobro-barfi-earn__txt {
      font-size: 0.8rem;
      font-weight: 700;
      color: inherit;
    }
    .agenda-cobro-barfi-earn .agenda-pts-star--earn {
      display: inline-flex;
    }
    .agenda-cobro-current-pay {
      margin: -4px 0 12px;
      text-align: right;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--c-verde-650);
    }
    .agenda-cobro-current-pay[hidden] {
      display: none !important;
    }
    .agenda-cobro-client {
      margin: 0 0 14px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid rgba(22, 163, 74, 0.22);
      background: rgba(22, 163, 74, 0.08);
    }
    .agenda-cobro-client[hidden] {
      display: none !important;
    }
    .agenda-cobro-client__name {
      display: block;
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--text, #0f172a);
      line-height: 1.25;
    }
    .agenda-cobro-client__barfis {
      display: block;
      margin-top: 3px;
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--c-verde-650);
      line-height: 1.25;
    }
    html.bardev-panel-theme-light .agenda-cobro-client {
      border-color: var(--bd-g-400);
      background: var(--bd-g-50);
      border-radius: var(--bd-radius-lg);
    }
    html.bardev-panel-theme-light .agenda-cobro-client__name {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-cobro-client__barfis {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .agenda-cobro-current-pay {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .agenda-cobro-barfi-earn {
      color: var(--bd-warn-fg);
    }
    html.bardev-panel-theme-light .agenda-cobro-barfi-earn:not(.agenda-cobro-barfi-earn--zero) {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .agenda-cobro-barfi-earn .agenda-pts-star--earn .agenda-pts-star__svg {
      color: var(--c-naranja-550);
    }
    html.bardev-panel-theme-light .agenda-cobro-barfi-earn .agenda-pts-star--earn .agenda-pts-star__n {
      color: var(--bd-ink);
      font-weight: 800;
    }
    html.bardev-panel-theme-light .agenda-cobro-barfis-pay {
      background: var(--bd-warn-bg);
      border: 1px solid var(--bd-warn-bd);
      border-radius: var(--bd-radius-lg);
    }
    html.bardev-panel-theme-light .agenda-cobro-barfis-pay__summary {
      color: var(--bd-warn-fg);
    }
    html.bardev-panel-theme-light .agenda-cobro-barfis-pay__list {
      color: var(--bd-ink-soft);
    }
    .agenda-cobro-method-card--disabled {
      opacity: 0.42;
      cursor: not-allowed;
      filter: grayscale(0.35);
      pointer-events: none;
    }
    .agenda-cobro-barfis-pay {
      margin-top: 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: rgba(180, 83, 9, 0.08);
      border: 1px solid rgba(180, 83, 9, 0.22);
    }
    .agenda-cobro-barfis-pay.hidden { display: none !important; }
    .agenda-cobro-barfis-pay__summary {
      margin: 0 0 6px;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--c-naranja-650b);
    }
    .agenda-cobro-barfis-pay__list {
      margin: 0 0 8px;
      padding-left: 1.1rem;
      font-size: 0.78rem;
      color: var(--muted, #64748b);
    }
    .agenda-cobro-barfis-pay__money {
      margin: 0 0 8px;
      font-size: 0.82rem;
      font-weight: 600;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-total-line strong {
      color: var(--bd-g-700);
      font-size: 1.2rem;
      font-weight: 800;
      text-transform: none;
      letter-spacing: 0;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-barfi-earn,
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-current-pay {
      margin: 0 0 8px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-split-label {
      margin: 0 0 8px;
      font-size: 0.78rem;
    }
    /* Más ancho → 3 columnas de métodos: baja la altura y evita scroll cuando cabe */
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-methods-grid:not(.agenda-cobro-methods-grid--split) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 4px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card {
      min-height: 64px;
      padding: 8px 6px;
      border-radius: var(--bd-radius-md);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card__icon {
      width: 22px;
      height: 22px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card__icon svg {
      width: 20px;
      height: 20px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card__label {
      font-size: 0.78rem;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-concept-section #agenda-cobro-venta-lines {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-md);
      padding: 6px;
    }
    html.bardev-panel-theme-light
      .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-sm);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light
      .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(even) {
      background: var(--bd-g-50);
      border-color: var(--bv-g-c5ddd0, #c5ddd0);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-add-prod.bd-btn,
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-add-prod {
      width: 100%;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 8px !important;
      min-height: 44px !important;
      padding: 10px 12px !important;
      margin: 0 0 2px !important;
      border-radius: var(--bd-radius-md) !important;
      border: 1px solid var(--bd-n-200) !important;
      background: var(--bd-n-0) !important;
      color: var(--bd-ink) !important;
      font-size: 0.84rem !important;
      font-weight: 700 !important;
      box-shadow: var(--bd-shadow-xs);
      text-align: left !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-add-prod:hover {
      background: var(--bd-n-50) !important;
      border-color: var(--bd-n-300) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-add-prod .bd-btn__ico {
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-split-label {
      color: var(--bd-ink-soft);
      font-weight: 600;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-pay-section-label,
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .bd-label {
      color: var(--bd-ink-soft);
      font-size: 0.64rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.09em;
      margin: 0 0 8px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-md);
      box-shadow: var(--bd-shadow-xs);
      min-height: 64px;
      padding: 8px 6px;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card:hover {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card--selected {
      border-color: var(--bd-g-400) !important;
      background: var(--bd-g-100) !important;
      box-shadow: none !important;
      color: var(--bd-ink) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card--selected:hover {
      border-color: var(--bd-g-400) !important;
      background: var(--bd-g-200) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card__icon {
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-method-card--selected .agenda-cobro-method-card__icon {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-split-amount__wrap {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      border-radius: var(--bd-radius-sm);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-split-amount__suffix {
      border-left-color: var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-split-amount__input {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-split-amount__input:focus {
      box-shadow: inset 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .agenda-cobro-foot {
      border-top: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      padding: 10px 14px 12px;
      box-shadow: 0 -8px 16px -8px rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-confirm.bd-btn--solid,
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-confirm {
      width: 100%;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-height: 48px !important;
      padding: 10px 14px !important;
      margin: 0 !important;
      border-radius: var(--bd-radius-lg) !important;
      background: var(--bd-g-600) !important;
      border: 1px solid var(--bd-g-700) !important;
      color: var(--bd-on-solid) !important;
      font-size: 0.92rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.04em !important;
      box-shadow: none !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-confirm:hover {
      background: var(--bd-g-700) !important;
      border-color: var(--bd-g-800) !important;
      color: var(--bd-on-solid) !important;
      filter: none !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment #agenda-cobro-gift-code {
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
      border-radius: var(--bd-radius-sm) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-panel--payment .gv-code-wrap .sub {
      color: var(--bd-ink-soft);
    }
    /* Seleccionar productos (venta desde cita): mismo Estilo Barveo */
    html.bardev-panel-theme-light .venta-pp-panel.agenda-cobro-panel {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-xl);
      box-shadow: var(--bd-shadow-xl);
      width: var(--bd-modal-w) !important;
      max-width: var(--bd-modal-w) !important;
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-head {
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-head h3 {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-intro {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-cart-label {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-cart {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-cart-empty-msg {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-subtotal-row {
      border-top: 1px solid var(--bd-n-200);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-subtotal-row strong {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .venta-pp-panel .venta-pp-foot {
      border-top: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
    }
    html.bardev-panel-theme-light .venta-pp-pick-row {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-md);
    }
    html.bardev-panel-theme-light .venta-pp-pick-row:hover {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300);
    }
    html.bardev-panel-theme-light .venta-pp-cart__row {
      border-bottom: 1px solid var(--bd-n-200);
    }
    html.bardev-panel-theme-light .agenda-d-venta-scroll {
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
      color: var(--bd-ink);
    }
    /* Modal Nueva cita — Estilo de diseño de bardev */
    html.bardev-panel-theme-light #agenda-modal .agenda-modal-panel {
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-xl);
      box-shadow: var(--bd-shadow-xl);
      overflow: hidden;
      padding: 0 !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100);
      flex-shrink: 0;
      z-index: 2;
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-modal-body {
      background: var(--bd-n-0);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-modal-foot {
      border-top: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
      z-index: 2;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-modal-section {
      color: var(--bd-ink-soft);
      font-size: 0.64rem;
      letter-spacing: 0.09em;
      margin: 14px 0 8px;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      box-shadow: var(--bd-shadow-xs);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step.is-locked {
      opacity: 0.5;
      background: var(--bd-n-50);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step__toggle {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step__toggle:hover:not(:disabled) {
      background: var(--bd-n-50);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step__num {
      background: var(--bd-g-50);
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step.is-open .agenda-m-step__num {
      background: var(--bd-g-600);
      color: var(--c-blanco);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step__title {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-step__sum {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-cal__sheet {
      background: var(--bd-n-50);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-lg);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-cal__side-btn {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-g-700);
      border-radius: var(--bd-radius-pill);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-cal__side-btn:hover {
      background: var(--bd-g-50);
      border-color: var(--bd-g-400);
      color: var(--bd-g-800);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-cal__month {
      color: var(--bd-ink);
      font-weight: 800;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-date-offset-card,
    html.bardev-panel-theme-light #agenda-modal .agenda-recurrence-card {
      background: var(--bd-g-50);
      border: 1px solid var(--bd-g-400);
      border-radius: var(--bd-radius-lg);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-date-offset-card__title {
      color: var(--bd-ink);
      font-weight: 800;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-date-offset-card__lbl {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-date-offset-card__body:not(.hidden) {
      border-top: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-date-offset-card__toggle:hover {
      background: rgba(255, 255, 255, 0.55);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-date-offset-card__chev {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-days-stepper input[type='number'],
    html.bardev-panel-theme-light #agenda-modal .agenda-weeks-custom input[type='number'],
    html.bardev-panel-theme-light #agenda-modal .agenda-client-search-row input,
    html.bardev-panel-theme-light #agenda-modal .agenda-wi-fields input,
    html.bardev-panel-theme-light #agenda-modal .agenda-wi-fields textarea,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-block-desc,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-block-time-start,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-block-time-end {
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
      -webkit-text-fill-color: var(--bd-ink);
      border-radius: var(--bd-radius-sm);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-wi-fields input:disabled,
    html.bardev-panel-theme-light #agenda-modal .agenda-wi-fields textarea:disabled {
      opacity: 1 !important;
      color: var(--bd-ink) !important;
      -webkit-text-fill-color: var(--bd-ink) !important;
      background: var(--bd-n-50) !important;
      border-color: var(--bd-n-200) !important;
      cursor: not-allowed;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-wi-fields input::placeholder,
    html.bardev-panel-theme-light #agenda-modal .agenda-wi-fields textarea::placeholder {
      color: var(--bd-ink-soft) !important;
      -webkit-text-fill-color: var(--bd-ink-soft) !important;
      opacity: 1;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tiles-wrap,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tiles-wrap,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tiles-wrap {
      gap: 14px;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-vsep,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-vsep,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-vsep {
      background: var(--bd-n-200);
      opacity: 1;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-cat-block__title,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-cat-block__title,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-cat-block__title {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-cat-block__title--comp,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-cat-block__title--comp {
      color: var(--bd-warn-fg);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-cat-block--comp-frame,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-cat-block--comp-frame {
      border: 1.5px solid var(--bd-warn-bd);
      background: var(--bd-warn-bg);
      border-radius: var(--bd-radius-md, 14px);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-comp-hint,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-comp-hint {
      color: var(--bd-warn-fg, #92400e);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile__ico-plus,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile__ico-plus,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile__ico-plus {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-md);
      box-shadow: var(--bd-shadow-xs);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile:hover,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile:hover,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile:hover {
      border-color: var(--bd-n-300);
      background: var(--bd-n-50);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile:has(.agenda-svc-cb:checked),
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile--selected,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile:has(.agenda-svc-cb:checked),
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile--selected,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile:has(.agenda-svc-cb:checked),
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile--selected {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
      border-color: var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7)) !important;
      color: var(--bd-ink, #0f1f17) !important;
      box-shadow: 0 0 0 1px var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7)) !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile__ico {
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile:has(.agenda-svc-cb:checked) .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile--selected .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile:has(.agenda-svc-cb:checked) .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile--selected .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile:has(.agenda-svc-cb:checked) .agenda-svc-tile__ico,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile--selected .agenda-svc-tile__ico {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-tile__price,
    html.bardev-panel-theme-light #waitlist-modal .agenda-svc-tile__price,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-svc-tile__price {
      color: var(--bd-g-700);
    }
    #agenda-detail-modal #agenda-d-edit-svc-section {
      margin-bottom: 4px;
    }
    #agenda-detail-modal #agenda-d-edit-services-wrap,
    #agenda-detail-modal #agenda-d-edit-complements-wrap {
      margin-bottom: 4px;
    }
    /* En editar (modal más estrecho) apilar grupos de tiles */
    #agenda-detail-modal .agenda-svc-row {
      flex-wrap: wrap;
    }
    #agenda-detail-modal .agenda-svc-vsep {
      flex: 0 0 100%;
      width: 100%;
      height: 1px;
      margin: 10px 0;
    }
    #agenda-detail-modal .agenda-svc-cat-block {
      flex: 1 1 100%;
    }
    #agenda-detail-modal .agenda-svc-tiles {
      flex-wrap: wrap;
    }
    #agenda-detail-modal .agenda-svc-tile {
      flex: 1 1 calc(50% - 4px);
      min-width: calc(50% - 4px);
    }
    #waitlist-modal .wl-services-hint {
      margin: 0 0 8px;
      font-size: 0.78rem;
      line-height: 1.35;
    }
    #waitlist-modal .wl-services-wrap {
      margin-bottom: 12px;
    }
    #waitlist-modal .wl-services-wrap--disabled {
      opacity: 0.55;
      pointer-events: none;
    }
    #waitlist-modal .wl-services-wrap.wl-field--invalid {
      outline: 2px solid var(--c-rojo-300);
      outline-offset: 2px;
      border-radius: 12px;
    }
    #waitlist-modal .wl-services-empty {
      margin: 0;
      font-size: 0.78rem;
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-services-hint {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-shift-group__lbl {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-datetime-split__times-box,
    html.bardev-panel-theme-light #agenda-modal .bd-datetime-split__times-box,
    html.bardev-panel-theme-light #waitlist-modal .agenda-m-datetime-split__times-box,
    html.bardev-panel-theme-light #waitlist-modal .bd-datetime-split__times-box {
      background: var(--bd-n-50, #f8faf9);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-lg, 16px);
      padding: 10px 12px;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-block-time-field input[type='time'] {
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
      -webkit-text-fill-color: var(--bd-ink);
      border-radius: var(--bd-radius-sm);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-block-time-hint {
      color: var(--bd-ink-soft);
      opacity: 1;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-btn-registrar-cliente.bd-btn,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-btn-cliente-paso.bd-btn {
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-btn-registrar-cliente.bd-btn .bd-btn__ico,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-btn-cliente-paso.bd-btn .bd-btn__ico {
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-btn-cliente-paso.bd-btn.is-selected {
      background: var(--bd-g-50) !important;
      border-color: var(--bd-g-600) !important;
      color: var(--bd-ink) !important;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-end-hint-wrap {
      color: var(--bd-ink-soft) !important;
      opacity: 1 !important;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-end-hint-wrap .agenda-m-end-hint-note {
      color: var(--bd-ink-soft);
      opacity: 1;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-end-hint-wrap strong {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-emp-btn,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink);
      box-shadow: var(--bd-shadow-xs);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-emp-btn:hover:not(.agenda-m-emp-btn--selected),
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn:hover:not(.agenda-m-emp-btn--selected) {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-emp-btn--selected,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn--selected {
      background: var(--bd-g-100) !important;
      border-color: var(--bd-g-400) !important;
      color: var(--bd-ink) !important;
      box-shadow: 0 0 0 1px var(--bd-g-400) !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-emp-btn__avatar,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn__avatar {
      background: var(--bd-g-200);
      border-color: var(--bd-g-400);
      color: var(--bd-g-800);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-emp-btn__img,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn__img {
      border-color: var(--bd-g-400);
    }
    #agenda-detail-modal .agenda-d-edit-emp-grid {
      margin: 0 0 14px;
      gap: 12px;
    }
    #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn {
      width: 96px;
      padding: 10px 8px 8px;
      border-radius: 14px;
    }
    #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn__img,
    #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn__avatar {
      width: 64px;
      height: 64px;
      font-size: 1.05rem;
    }
    #agenda-detail-modal .agenda-d-edit-emp-grid .agenda-m-emp-btn__name {
      font-size: 0.78rem;
    }
    #agenda-detail-modal #agenda-d-edit-emp-section {
      margin-bottom: 4px;
    }
    /* Editar cita: secciones en card + descuento compacto */
    #agenda-detail-edit.agenda-d-edit {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding-bottom: 2px;
    }
    #agenda-detail-edit.agenda-d-edit.hidden {
      display: none !important;
    }
    .agenda-d-edit-section {
      padding: 12px 12px 10px;
      box-sizing: border-box;
    }
    .agenda-d-edit-section > .bd-label {
      margin: 0 0 8px;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-section > .bd-label {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46)) !important;
      font-size: 0.72rem !important;
      font-weight: 800 !important;
    }
    .agenda-d-edit-section--svc .agenda-d-edit-section__sublbl {
      display: block;
      margin: 10px 0 6px;
      font-size: 0.68rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--bd-ink-soft, #5b6b62);
    }
    .agenda-d-edit-datetime-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 8px;
    }
    .agenda-d-edit-datetime-grid label {
      display: block;
      margin: 0 0 4px;
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--bd-ink-soft, #5b6b62);
    }
    .agenda-d-edit-datetime-grid input {
      width: 100%;
      min-height: 42px;
      padding: 8px 10px;
      border-radius: 12px;
      box-sizing: border-box;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      font: inherit;
      font-size: 0.9rem;
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-datetime-grid input {
      background: var(--c-blanco) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
    }
    #agenda-detail-edit .agenda-d-edit-client-hint {
      margin: 8px 0 0;
      font-size: 0.7rem;
      line-height: 1.35;
      opacity: 0.8;
    }
    #agenda-detail-edit #agenda-d-edit-clientrow-wrap {
      margin-bottom: 0;
    }
    #agenda-detail-edit #agenda-d-edit-emp-section,
    #agenda-detail-edit #agenda-d-edit-svc-section {
      margin-bottom: 0;
    }
    .agenda-d-edit-price-row {
      display: flex;
      align-items: stretch;
      justify-content: space-between;
      gap: 12px;
      margin: 0;
      padding: 12px;
      flex-wrap: wrap;
      box-sizing: border-box;
    }
    .agenda-d-edit-discount {
      flex: 1 1 240px;
      min-width: 0;
    }
    .agenda-d-edit-discount > .bd-label {
      margin: 0 0 8px;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-discount > .bd-label {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46)) !important;
      font-size: 0.72rem !important;
      font-weight: 800 !important;
    }
    .agenda-d-edit-discount__opts {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      margin: 0;
    }
    .agenda-d-edit-discount__opt {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin: 0;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--bd-ink, #0f1f17);
      cursor: pointer;
      user-select: none;
    }
    .agenda-d-edit-discount__opt input[type='radio'] {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    .agenda-d-edit-discount__chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 36px;
      padding: 6px 12px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      font-size: 0.76rem;
      font-weight: 800;
      letter-spacing: 0.02em;
      line-height: 1.1;
      white-space: nowrap;
      transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
    }
    .agenda-d-edit-discount__opt:hover .agenda-d-edit-discount__chip {
      border-color: var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    .agenda-d-edit-discount__opt:has(input:checked) .agenda-d-edit-discount__chip {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    .agenda-d-edit-discount__field {
      display: none;
      align-items: center;
      gap: 4px;
    }
    .agenda-d-edit-discount__opt:has(input:checked) .agenda-d-edit-discount__field {
      display: inline-flex;
    }
    .agenda-d-edit-discount__num {
      width: 72px;
      min-height: 36px !important;
      padding: 6px 8px !important;
      border-radius: 10px !important;
      border: 1px solid var(--bd-n-200, #dce3df) !important;
      background: var(--bd-n-0, #fff) !important;
      color: var(--bd-ink, #0f1f17) !important;
      box-sizing: border-box;
      font-size: 0.86rem !important;
    }
    .agenda-d-edit-discount__num:disabled {
      opacity: 0.45;
      background: var(--bd-n-50, #f7f8f7) !important;
    }
    .agenda-d-edit-discount__unit {
      font-size: 0.78rem;
      font-weight: 800;
      color: var(--bd-ink-soft, #5b6b62);
    }
    .agenda-d-edit-discount__base {
      margin: 8px 0 0;
      font-size: 0.7rem;
      line-height: 1.3;
      opacity: 0.85;
    }
    .agenda-d-edit-price-final {
      flex: 0 0 auto;
      margin-left: auto;
      text-align: right;
      min-width: 104px;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-end;
    }
    .agenda-d-edit-price-final > .bd-label {
      margin: 0 0 2px;
      font-size: 0.68rem;
      font-weight: 800;
      color: var(--bd-ink-soft, #5b6b62);
    }
    .agenda-d-edit-price-final__val {
      display: block;
      margin-top: 0;
      font-size: 1.45rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      line-height: 1.15;
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-price-final__val {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46)) !important;
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-section.bd-surface,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-price-row.bd-surface {
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-lg, 16px);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-section--price.bd-surface,
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-price-row.bd-surface {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
    }
    /* Cita rápida — Estilo Barveo */
    #agenda-quick-modal.modal-overlay > .agenda-quick-panel,
    #agenda-quick-modal.modal-overlay > .bardev-modal-scale-wrap > .agenda-quick-panel {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      min-width: 0 !important;
      max-height: var(--bardev-modal-content-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)));
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      padding: 0 !important;
      box-sizing: border-box;
    }
    #agenda-quick-modal.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
    }
    .agenda-quick-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex: 0 0 auto;
      padding: 14px 16px;
      border-bottom: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
    }
    .agenda-quick-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--bd-ink, var(--text));
    }
    .agenda-quick-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 12px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      background: var(--bd-n-0, var(--card));
      color: var(--bd-ink, var(--text));
    }
    .agenda-quick-paso {
      padding: 12px;
      box-sizing: border-box;
      margin-top: 8px;
    }
    .agenda-quick-paso .bd-label { margin: 0 0 4px; color: var(--bd-g-700, var(--bv-g-065f46, #065f46)); font-weight: 800; }
    .agenda-quick-paso strong { display: block; font-size: 1rem; color: var(--bd-ink, var(--text)); }
    .agenda-quick-paso .sub { margin: 4px 0 0; font-size: 0.74rem; opacity: 0.85; }
    .agenda-quick-client-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 10px;
      align-items: start;
    }
    .agenda-quick-nuevo,
    .agenda-quick-paso-card {
      margin: 0;
      padding: 12px;
      box-sizing: border-box;
      min-width: 0;
      border: 1.5px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-lg, 16px);
      background: var(--bd-n-0, #fff);
      text-align: left;
    }
    .agenda-quick-paso-card,
    .agenda-quick-nuevo__toggle {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      cursor: pointer;
      color: inherit;
      font: inherit;
    }
    .agenda-quick-nuevo__toggle {
      width: 100%;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      text-align: left;
    }
    .agenda-quick-nuevo__toggle:focus-visible {
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 2px;
      border-radius: 8px;
    }
    .agenda-quick-paso-card strong,
    .agenda-quick-nuevo__lead { display: block; font-size: 1rem; margin: 2px 0 4px; }
    .agenda-quick-paso-card .sub,
    .agenda-quick-nuevo__hint { margin: 0; font-size: 0.74rem; line-height: 1.4; opacity: 0.85; }
    .agenda-quick-nuevo.is-selected .agenda-quick-nuevo__lead,
    .agenda-quick-nuevo.is-selected .agenda-quick-nuevo__hint { display: none; }
    .agenda-quick-nuevo.is-selected,
    .agenda-quick-paso-card.is-selected {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12);
    }
    .agenda-quick-nuevo__form {
      display: flex;
      flex-direction: column;
      margin-top: 8px;
    }
    .agenda-quick-nuevo__form.hidden { display: none; }
    .agenda-quick-nuevo__lbl {
      display: block;
      margin: 10px 0 4px;
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .agenda-quick-nuevo__lbl:first-of-type { margin-top: 2px; }
    .agenda-quick-nuevo .agenda-quick-date-input {
      width: 100%;
      margin: 0;
    }
    .agenda-quick-nuevo .bd-btn,
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-nuevo .bd-btn {
      width: 100%;
      margin: 22px 0 0;
      min-height: 40px;
      justify-content: center;
    }
    @media (max-width: 719.98px) {
      .agenda-quick-client-split { grid-template-columns: 1fr; }
    }
    .agenda-quick-client-search {
      position: relative;
      margin: 0;
    }
    .agenda-quick-client-search .agenda-user-dropdown {
      z-index: 8;
    }
    .agenda-quick-section .bd-label { margin: 0 0 8px; color: var(--bd-g-700, var(--bv-g-065f46, #065f46)); font-weight: 800; }
    /* Empleado izq. + Fecha/Hora dcha. (fecha arriba, hora debajo) */
    .agenda-quick-emp-dt {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
      gap: 12px 14px;
      align-items: stretch;
    }
    .agenda-quick-emp-dt__emp,
    .agenda-quick-emp-dt__when {
      min-width: 0;
      display: flex;
      flex-direction: column;
    }
    .agenda-quick-emp-dt__when {
      gap: 10px;
    }
    .agenda-quick-emp-dt__emp .agenda-m-employee-grid {
      flex: 1 1 auto;
      align-content: flex-start;
    }
    .agenda-quick-emp-dt__date,
    .agenda-quick-emp-dt__time {
      min-width: 0;
    }
    .agenda-quick-emp-dt .bd-label--with-ico {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .agenda-quick-emp-dt .bd-label__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--bd-g-600, var(--ok, var(--bv-g-059669, #059669)));
      flex: 0 0 auto;
      line-height: 0;
    }
    .agenda-quick-date-input {
      width: 100%;
      min-height: 44px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text));
      box-sizing: border-box;
      font: inherit;
      font-size: 0.95rem;
    }
    .agenda-quick-times {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      max-height: min(200px, 28vh);
      overflow-y: auto;
      padding: 8px;
      box-sizing: border-box;
      background: var(--bd-n-50, #f7f8f7);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-lg, 16px);
    }
    .agenda-quick-times .agenda-m-time-cap {
      min-width: 4.5rem;
    }
    @media (max-width: 560px) {
      .agenda-quick-emp-dt {
        grid-template-columns: 1fr;
      }
      .agenda-quick-times {
        max-height: min(220px, 32vh);
      }
    }
    .agenda-quick-foot {
      flex: 0 0 auto;
      padding: 12px 16px 14px;
      border-top: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, var(--card));
      box-shadow: 0 -10px 18px -8px rgba(15, 23, 42, 0.12);
    }
    .agenda-quick-foot .bd-btn { width: 100%; justify-content: center; min-height: var(--bd-cta-h, 54px); }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-panel.bd-panel {
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-head {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)) !important;
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0) !important;
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-paso.bd-surface,
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-nuevo.bd-surface,
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-paso-card.bd-surface {
      background: var(--bd-n-0, #fff);
      border: 1.5px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-lg, 16px);
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-nuevo.is-selected,
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-paso-card.is-selected {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-quick-paso--registered.bd-surface {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7));
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-svc-tile {
      background: var(--c-blanco);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-svc-tile:has(.agenda-svc-cb:checked),
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-svc-tile--selected {
      background: var(--bd-g-100, var(--bv-g-d1fae5, #d1fae5)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-m-emp-btn {
      background: var(--c-blanco);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-m-emp-btn--selected {
      background: var(--bd-g-100, var(--bv-g-d1fae5, #d1fae5)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      color: var(--bd-ink, #0f172a) !important;
    }
    /* Cita rápida: nunca blanco/menta sobre menta (el --selected genérico es de tema oscuro). */
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-m-time-cap {
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f172a);
      -webkit-text-fill-color: var(--bd-ink, #0f172a);
      border-radius: var(--bd-radius-sm, 10px);
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-m-time-cap:hover:not(.agenda-m-time-cap--selected):not(.agenda-m-time-cap--occupied) {
      background: var(--bd-n-50, #f7f8f7);
      border-color: var(--bd-n-300, #c5d0cb);
      color: var(--bd-ink, #0f172a);
      -webkit-text-fill-color: var(--bd-ink, #0f172a);
    }
    html.bardev-panel-theme-light #agenda-quick-modal .agenda-m-time-cap--selected:not(.agenda-m-time-cap--occupied) {
      background: var(--bd-g-100, var(--bv-g-d1fae5, #d1fae5)) !important;
      border: 1px solid var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      -webkit-text-fill-color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      font-weight: 800;
    }
    html.bardev-panel-theme-light .agenda-m-time-cap--selected:not(.agenda-m-time-cap--occupied) {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      -webkit-text-fill-color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-time-cap {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink);
      border-radius: var(--bd-radius-sm);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-time-cap:hover:not(.agenda-m-time-cap--selected):not(.agenda-m-time-cap--occupied) {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-time-cap--selected:not(.agenda-m-time-cap--occupied) {
      background: var(--bd-g-100) !important;
      border: 1px solid var(--bd-g-400) !important;
      color: var(--bd-g-800) !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-time-cap--occupied {
      background: var(--bd-danger-bg) !important;
      border: 1px solid var(--bd-danger-bd) !important;
      color: var(--bd-danger-fg) !important;
      font-weight: 700 !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-time-cap--occupied:hover:not(.agenda-m-time-cap--selected) {
      background: var(--c-rojo-100) !important;
      border-color: var(--c-rojo-300) !important;
      color: var(--c-rojo-700) !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-time-cap--occupied.agenda-m-time-cap--selected {
      background: var(--c-rojo-100) !important;
      border: 1px solid var(--bd-danger-fg) !important;
      color: var(--c-rojo-700) !important;
      box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.18);
    }
    html.bardev-panel-theme-light #agenda-modal .bd-btn--ghost,
    html.bardev-panel-theme-light #agenda-modal .btn.secondary {
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
      border-radius: var(--bd-radius-sm);
    }
    html.bardev-panel-theme-light #agenda-modal .bd-btn--ghost:hover,
    html.bardev-panel-theme-light #agenda-modal .btn.secondary:hover {
      background: var(--bd-n-50) !important;
      border-color: var(--bd-n-300) !important;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-save.bd-btn--solid,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-save {
      width: 100%;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-height: 48px !important;
      margin: 0 !important;
      padding: 12px 16px !important;
      border-radius: var(--bd-radius-lg) !important;
      background: var(--bd-g-600) !important;
      border: 1px solid var(--bd-g-700) !important;
      color: var(--bd-on-solid) !important;
      font-size: 0.95rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.03em;
      box-shadow: none !important;
    }
    html.bardev-panel-theme-light #agenda-modal #agenda-m-save:hover {
      background: var(--bd-g-700) !important;
      border-color: var(--bd-g-800) !important;
      color: var(--bd-on-solid) !important;
      filter: none !important;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-waitlist-cta__hint,
    html.bardev-panel-theme-light #agenda-modal #agenda-m-paso-hint {
      color: var(--bd-ink-soft);
    }
    /* Venta directa (caja-vd): cajas y etiquetas pensadas para fondo oscuro */
    html.bardev-panel-theme-light .caja-vd-section,
    html.bardev-panel-theme-light .caja-vd-field-label {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-vd-type-btn[data-vd-type] {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink-soft);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light .caja-vd-type-btn[data-vd-type]:hover {
      background: var(--bd-n-50);
      color: var(--bd-ink);
      border-color: var(--bd-n-300);
    }
    html.bardev-panel-theme-light .caja-vd-type-btn[data-vd-type].caja-vd-type-btn--active {
      background: var(--bd-g-50);
      border-color: var(--bd-g-400);
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .caja-vd-type-btn[data-vd-type] .caja-vd-type-btn__ico {
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light .caja-vd-type-btn[data-vd-type].caja-vd-type-btn--active .caja-vd-type-btn__ico {
      color: var(--bd-g-700);
    }
    html.bardev-panel-theme-light .caja-vd-search-row input[type='search'] {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.22);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .caja-vd-prod-card {
      border: 1px solid rgba(37, 99, 235, 0.18);
      background: linear-gradient(180deg, var(--c-cielo-50) 0%, var(--c-azul-50) 100%);
    }
    html.bardev-panel-theme-light .caja-vd-prod-card__subtitle {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light .caja-vd-prod-card__pvp {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .caja-vd-grid-2 input[type='number']:not(.bd-stepper__inp),
    /* Todos los select en modo claro: fondo blanco, texto oscuro, color-scheme light */
    html.bardev-panel-theme-light select,
    html.bardev-panel-theme-light select option {
      background-color: var(--c-blanco) !important;
      color: var(--c-azul-900c) !important;
      color-scheme: light !important;
    }
    html.bardev-panel-theme-light select {
      border: 1px solid rgba(15,23,42,0.15) !important;
    }
    html.bardev-panel-theme-light select option:checked,
    html.bardev-panel-theme-light select option:hover {
      background-color: var(--c-verde-50c) !important;
      color: var(--bv-g-059669, #059669) !important;
    }
    html.bardev-panel-theme-light .caja-vd-panel select {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.22);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .caja-vd-split-label {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-vd-total-line {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light .caja-vd-cart-summary-inner .caja-vd-multi-title {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-vd-multi-row {
      border-bottom: 1px solid rgba(37, 99, 235, 0.12);
    }
    html.bardev-panel-theme-light .caja-vd-multi-row__name,
    html.bardev-panel-theme-light .caja-vd-multi-row__amt {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .caja-vd-prod-row {
      border-bottom: 1px solid rgba(37, 99, 235, 0.1);
    }
    html.bardev-panel-theme-light .caja-vd-prod-row:hover {
      background: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.12);
    }
    html.bardev-panel-theme-light .caja-vd-prod-results {
      border: 1px solid rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.22);
      background: linear-gradient(180deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--c-verde-50c) 55%, var(--c-cielo-50) 100%);
    }
    html.bardev-panel-theme-light .caja-vd-prod-results .sub {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-vd-scanner-float {
      background: linear-gradient(180deg, var(--c-gris-50f) 0%, var(--c-azul-50d) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2);
      box-shadow: 0 14px 44px rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .caja-vd-scanner-float__head {
      border-bottom: 1px solid rgba(37, 99, 235, 0.15);
    }
    html.bardev-panel-theme-light .caja-vd-scanner-float__foot {
      border-top: 1px solid rgba(37, 99, 235, 0.15);
    }
    html.bardev-panel-theme-light .caja-vd-scanner-float__title {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .caja-vd-scanner-float__head .bardev-modal-close {
      color: var(--c-azul-900b);
      background: rgba(15, 23, 42, 0.08);
      border-color: rgba(15, 23, 42, 0.22);
    }
    html.bardev-panel-theme-light .caja-vd-scanner-float__head .bardev-modal-close:hover {
      background: rgba(15, 23, 42, 0.14);
      border-color: rgba(15, 23, 42, 0.32);
      color: #020617;
    }
    /* Tablas admin (ficha cliente, listados…): cabecera azul pastel, no gris oscuro */
    html.bardev-panel-theme-light .admin-data-table th {
      background: linear-gradient(180deg, var(--c-azul-150) 0%, var(--c-azul-50) 100%);
      color: var(--c-azul-650);
      border-bottom: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light .admin-data-table td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light .admin-data-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light .admin-data-wrap {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.1);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
    }
    /* Ficha cliente — Estilo Barveo (cabecera fija / cuerpo scroll; ancho 760) */
    #cliente-ficha-overlay {
      --cliente-ficha-modal-w: min(760px, calc(100vw - 32px));
    }
    #cliente-ficha-overlay.modal-overlay > .cliente-ficha-panel,
    #cliente-ficha-overlay.modal-overlay > .bardev-modal-scale-wrap > .cliente-ficha-panel {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      flex-shrink: 1 !important;
      display: flex !important;
      flex-direction: column !important;
      padding: 0 !important;
      overflow: hidden !important;
      width: var(--cliente-ficha-modal-w) !important;
      max-width: var(--cliente-ficha-modal-w) !important;
      min-width: 0 !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box;
      transform: none !important;
      zoom: 1 !important;
    }
    #cliente-ficha-overlay.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--cliente-ficha-modal-w) !important;
      max-width: var(--cliente-ficha-modal-w) !important;
    }
    #cliente-ficha-overlay .cliente-ficha-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex: 0 0 auto;
      z-index: 2;
    }
    #cliente-ficha-overlay .cliente-ficha-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #cliente-ficha-overlay .cliente-ficha-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 16px;
      box-sizing: border-box;
    }
    #cliente-ficha-overlay .cliente-ficha-msg-wrap {
      flex: 0 0 auto;
      padding: 0 16px;
      min-height: 0;
    }
    #cliente-ficha-overlay .cliente-ficha-msg-wrap .msg:empty {
      display: none;
      margin: 0;
      padding: 0;
      border: 0;
    }
    #cliente-ficha-overlay .cliente-ficha-msg-wrap .msg:not(:empty) {
      margin: 0 0 12px;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-panel.bd-panel,
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-hero {
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      border-radius: var(--bd-radius-lg, 16px);
      padding: 12px 14px;
      margin-bottom: 14px;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-hero__title {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-hero .sub {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-section h4,
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-section .bd-label,
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-subh {
      margin: 0 0 10px;
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay dl.cliente-ficha-dl dt {
      color: var(--bd-ink-soft, #3d5248);
      font-size: 0.78rem;
      font-weight: 600;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay dl.cliente-ficha-dl dd {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-panel-toolbar .bd-btn--ghost {
      min-height: 40px;
      padding: 8px 14px;
      font-size: 0.8rem;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-notes-actions .bd-btn {
      min-height: 40px;
      padding: 8px 14px;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-notes-actions .bd-btn--solid {
      min-height: 40px;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-notes-view {
      background: var(--bd-n-50, #f4f7f5);
      border-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-notes-view:hover {
      border-color: var(--bd-n-300, #c5d0ca);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-notes-input {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    /* Tabs ficha: activo esmeralda, inactivos neutros */
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-tabs.bardev-tabs--vivid {
      --_tabs-active-clr: var(--bd-g-600, var(--bv-g-047857, #047857));
      --_tabs-line-clr: var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      --_tab-inactive-bg: var(--bd-n-50, #f4f7f5);
      --_tab-inactive-border: var(--bd-n-200, #dce3df);
      --_tab-inactive-text: var(--bd-ink-soft, #3d5248);
      --_tab-inactive-bg-hover: var(--bd-n-100, #e8eee9);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-tabs.bardev-tabs--vivid button[role='tab']:not([aria-selected='true']) {
      background: var(--_tab-inactive-bg);
      border: 2px solid var(--_tab-inactive-border);
      border-bottom: 3px solid transparent;
      color: var(--_tab-inactive-text);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-tabs.bardev-tabs--vivid button[role='tab']:not([aria-selected='true']):hover:not(:disabled) {
      background: var(--_tab-inactive-bg-hover);
      border-color: var(--bd-n-300, #c5d0ca);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-tabs.bardev-tabs--vivid button[role='tab'][aria-selected='true'] {
      --_tab-clr: var(--bd-g-600, var(--bv-g-047857, #047857));
      --_tab-accent-line: var(--bd-g-600, var(--bv-g-047857, #047857));
      --_tab-bg-active: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border: 2px solid var(--bd-g-700, var(--bv-g-065f46, #065f46));
      border-bottom: 3px solid var(--bd-g-700, var(--bv-g-065f46, #065f46));
      color: var(--bd-on-solid, #fff);
      font-weight: 700;
    }
    /* Direcciones: sage (no azul pastel) */
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule {
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      background: linear-gradient(145deg, var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6)) 0%, var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)) 100%);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule h4,
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule h4.bd-label {
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: var(--bd-radius-md, 12px);
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink, #0f1f17);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-upcoming-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 10px;
    }
    html.bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-upcoming-actions .bd-btn {
      min-height: 40px;
      padding: 8px 14px;
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule dt {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule dd {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule dd.admin-user-mono {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule > p.admin-user-empty {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping-capsule dd .admin-user-empty {
      color: var(--bd-ink-soft, #3d5248);
      opacity: 0.85;
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-addresses-title {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-address-card {
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-address-badge {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      color: var(--bd-g-800, var(--bv-g-064e3b, #064e3b));
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-address-card .addr-line {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-address-card .addr-id {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .admin-user-shipping .admin-user-empty {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .cliente-ficha-panel .cliente-ficha-gift-card {
      background: var(--bd-n-50, #f4f7f5);
      border-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    /* Clientes registrados — detalle expandido / shipping (tema claro, no oscuro) */
    html.bardev-panel-theme-light .usuarios-detail-row td {
      background: var(--bd-n-50, #f4f7f5);
    }
    html.bardev-panel-theme-light .admin-user-card {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #dce3df);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light .admin-user-card__title {
      color: var(--bd-ink, #0f1f17);
      border-bottom-color: var(--bd-n-200, #dce3df);
    }
    html.bardev-panel-theme-light .admin-user-card dt {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .admin-user-card dd {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light .admin-user-empty {
      color: var(--bd-ink-soft, #3d5248);
      opacity: 0.9;
    }
    html.bardev-panel-theme-light .admin-user-shipping-capsule {
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      background: linear-gradient(145deg, var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6)) 0%, var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)) 100%);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    html.bardev-panel-theme-light .admin-user-shipping-capsule h4,
    html.bardev-panel-theme-light .admin-user-shipping-capsule h4.bd-label {
      color: var(--bd-ink, #0f1f17);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      border-radius: var(--bd-radius-md, 12px);
      letter-spacing: 0.09em;
    }
    html.bardev-panel-theme-light .admin-user-shipping-capsule dt {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .admin-user-shipping-capsule dd {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light .admin-user-shipping-capsule dd.admin-user-mono {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .admin-user-shipping-capsule > p.admin-user-empty,
    html.bardev-panel-theme-light .admin-user-shipping .admin-user-empty {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .admin-user-addresses-title {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light .admin-user-address-card {
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
    }
    html.bardev-panel-theme-light .admin-user-address-badge {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      color: var(--bd-g-800, var(--bv-g-064e3b, #064e3b));
      border: 1px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
    }
    html.bardev-panel-theme-light .admin-user-address-card .addr-line {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light .admin-user-address-card .addr-id {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #panel-usuarios .usuarios-search-wrap input[type='search'] {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #panel-usuarios .usuarios-search-dropdown {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #dce3df);
      box-shadow: var(--bd-shadow-md, 0 8px 24px rgba(15, 23, 42, 0.12));
    }
    /* Campaña (comunicaciones) — Estilo Barveo */
    #camp-modal.bardev-modal-overlay > .camp-modal-panel,
    #camp-modal.bardev-modal-overlay > .bardev-modal-scale-wrap > .camp-modal-panel {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      flex-shrink: 1 !important;
      display: flex !important;
      flex-direction: column !important;
      padding: 0 !important;
      overflow: hidden !important;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      min-width: 0 !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box;
      transform: none !important;
      zoom: 1 !important;
    }
    #camp-modal.bardev-modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
    }
    #camp-modal .camp-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex: 0 0 auto;
      z-index: 2;
    }
    #camp-modal .camp-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
    }
    #camp-modal .camp-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 16px;
      box-sizing: border-box;
      display: grid;
      gap: 12px;
    }
    #camp-modal .camp-modal-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0;
    }
    #camp-modal .camp-modal-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    @media (max-width: 520px) {
      #camp-modal .camp-modal-split {
        grid-template-columns: 1fr;
      }
    }
    #camp-modal .camp-modal-field input,
    #camp-modal .camp-modal-field select,
    #camp-modal .camp-modal-field textarea {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font: inherit;
      resize: vertical;
    }
    #camp-modal .camp-modal-foot {
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
      background: var(--card, #0d1a14);
      z-index: 3;
    }
    #camp-modal .camp-modal-foot .msg:empty {
      display: none;
      margin: 0;
      padding: 0;
      border: 0;
    }
    #camp-modal .camp-modal-foot .msg:not(:empty) {
      margin: 0 0 8px;
    }
    #camp-modal .camp-modal-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-panel.bd-panel,
    html.bardev-panel-theme-light #camp-modal .camp-modal-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light #camp-modal .bd-label {
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-field input,
    html.bardev-panel-theme-light #camp-modal .camp-modal-field select,
    html.bardev-panel-theme-light #camp-modal .camp-modal-field textarea {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #camp-modal .camp-modal-field input:focus,
    html.bardev-panel-theme-light #camp-modal .camp-modal-field select:focus,
    html.bardev-panel-theme-light #camp-modal .camp-modal-field textarea:focus {
      outline: 2px solid var(--bd-g-400, var(--bv-g-a7d4bc, #a7d4bc));
      outline-offset: 1px;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    /* Editar cliente — Estilo Barveo (cabecera / cuerpo / pie fijo)
       Anula .modal-overlay > * { overflow-y:auto } para que solo scrolleé .usuarios-edit-body */
    #usuarios-edit-overlay.modal-overlay > .usuarios-edit-panel,
    #usuarios-edit-overlay.modal-overlay > .bardev-modal-scale-wrap > .usuarios-edit-panel {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      flex-shrink: 1 !important;
      display: flex !important;
      flex-direction: column !important;
      padding: 0 !important;
      overflow: hidden !important;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      min-width: 0 !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box;
      transform: none !important;
      zoom: 1 !important;
    }
    #usuarios-edit-overlay.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
    }
    #usuarios-edit-overlay .usuarios-edit-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex: 0 0 auto;
      z-index: 2;
    }
    #usuarios-edit-overlay .usuarios-edit-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
    }
    #usuarios-edit-overlay .usuarios-edit-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 16px;
      box-sizing: border-box;
    }
    #usuarios-edit-overlay .usuarios-edit-foot {
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
      background: var(--card, #0d1a14);
      z-index: 3;
    }
    #usuarios-edit-overlay .usuarios-edit-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    #usuarios-edit-overlay .usuarios-edit-fields {
      display: grid;
      gap: 12px;
    }
    #usuarios-edit-overlay .usuarios-edit-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0;
    }
    #usuarios-edit-overlay .usuarios-edit-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    #usuarios-edit-overlay .usuarios-edit-hint {
      margin: 0 0 12px;
      font-size: 0.82rem;
      line-height: 1.45;
    }
    #usuarios-edit-overlay .usuarios-edit-hint-callout {
      margin: -4px 0 12px;
      font-size: 0.8rem;
      line-height: 1.45;
      border-left: 3px solid var(--ok, var(--bv-g-047857, #047857));
      padding-left: 10px;
    }
    #usuarios-edit-overlay .usuarios-edit-field-note {
      margin: 0;
      font-size: 0.76rem;
      line-height: 1.4;
      opacity: 0.9;
    }
    #usuarios-edit-overlay .usuarios-edit-meta {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      font-size: 0.78rem;
      color: var(--muted);
    }
    #usuarios-edit-overlay .usuarios-edit-meta__val {
      margin-top: 4px;
      word-break: break-all;
      color: var(--text);
    }
    #usuarios-edit-overlay .usuarios-edit-field input,
    #usuarios-edit-overlay .usuarios-edit-field textarea {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font: inherit;
      resize: vertical;
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-panel.bd-panel,
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .bd-label {
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hint,
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-field-note,
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-meta {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hint-callout {
      border-left-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-ink-soft, #3d5248);
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
      padding: 8px 10px 8px 12px;
      border-radius: 0 var(--bd-radius-md, 12px) var(--bd-radius-md, 12px) 0;
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-field input,
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-field textarea {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-field input:focus,
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-field textarea:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-meta__val {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-avatar-btn {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-avatar-btn:hover:not(:disabled) {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-avatar-fallback {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      background: linear-gradient(145deg, var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)), var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6)));
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hobby-chip {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      border-color: var(--bd-g-300, var(--bv-g-a7d4bc, #a7d4bc));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hobby-chip--no {
      background: var(--c-rojo-50b);
      border-color: var(--c-rojo-100);
      color: var(--c-rosa-650);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hobby-chip--meh {
      background: var(--c-gris-50c);
      border-color: var(--c-gris-150);
      color: var(--c-pizarra-750b);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-barfis {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-dir-card {
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-dir-card__toggle {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-dir-card__row {
      border-bottom-color: var(--bd-n-200, #dce3df);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-dir-card__row-key {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-dir-card__row-val {
      color: var(--bd-ink, #0f1f17);
    }
    @media (max-width: 520px) {
      #usuarios-edit-overlay .usuarios-edit-split,
      #usuarios-edit-overlay .usuarios-edit-meta {
        grid-template-columns: 1fr;
      }
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-phone-dropdown {
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-phone-dd-item:hover,
    html.bardev-panel-theme-light #waitlist-modal .wl-phone-dd-item:focus-visible {
      background: rgba(37, 99, 235, 0.1);
    }
    /* Lista de espera — selectores custom (evita menú nativo gris en macOS) */
    #waitlist-modal .wl-picker-wrap {
      position: relative;
      width: 100%;
      margin-bottom: 10px;
    }
    #waitlist-modal .wl-picker-trigger {
      width: 100%;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid rgba(15, 23, 42, 0.12);
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      font: inherit;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      cursor: pointer;
      text-align: left;
    }
    #waitlist-modal .wl-picker-trigger:hover {
      border-color: rgba(37, 99, 235, 0.35);
      background: var(--c-gris-50f);
    }
    #waitlist-modal .wl-picker-trigger[aria-expanded='true'] {
      border-color: rgba(37, 99, 235, 0.45);
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    }
    #waitlist-modal .wl-picker-trigger:disabled,
    #waitlist-modal .wl-picker-trigger.wl-picker-trigger--disabled {
      opacity: 0.55;
      cursor: not-allowed;
      background: var(--c-gris-50b);
    }
    #waitlist-modal .wl-employee-grid {
      margin-bottom: 14px;
    }
    #waitlist-modal .wl-picker-chevron {
      flex-shrink: 0;
      opacity: 0.5;
      font-size: 0.85rem;
      line-height: 1;
    }
    #waitlist-modal .wl-picker-dropdown {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 4px);
      z-index: 80;
      max-height: min(320px, 50vh);
      overflow-y: auto;
      border-radius: 10px;
      border: 1px solid rgba(37, 99, 235, 0.22);
      background: var(--c-blanco);
      box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
      padding: 6px;
    }
    #waitlist-modal .wl-picker-dropdown.hidden {
      display: none !important;
    }
    #waitlist-modal .wl-picker-group-title {
      padding: 6px 10px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: var(--c-pizarra-650);
      border-radius: 6px;
      margin: 4px 0 2px;
    }
    #waitlist-modal .wl-picker-item {
      display: block;
      width: 100%;
      text-align: left;
      padding: 9px 12px;
      margin: 2px 0;
      border: none;
      border-radius: 8px;
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      font: inherit;
      font-size: 0.88rem;
      cursor: pointer;
    }
    #waitlist-modal .wl-picker-item:hover,
    #waitlist-modal .wl-picker-item:focus-visible {
      background: rgba(37, 99, 235, 0.1);
      outline: none;
    }
    #waitlist-modal .wl-picker-item--combo {
      background: var(--c-ambar-50);
    }
    #waitlist-modal .wl-picker-item--combo:hover,
    #waitlist-modal .wl-picker-item--combo:focus-visible {
      background: var(--c-ambar-100b);
    }
    #waitlist-modal .wl-picker-item--special {
      background: var(--c-naranja-50);
    }
    #waitlist-modal .wl-picker-item--special:hover,
    #waitlist-modal .wl-picker-item--special:focus-visible {
      background: var(--c-naranja-100);
    }
    #waitlist-modal .wl-picker-empty {
      padding: 10px 12px;
      margin: 0;
      font-size: 0.8rem;
      color: var(--c-pizarra-550);
    }
    #waitlist-modal .wl-slots-section {
      margin: 4px 0 12px;
      padding: 12px;
      border-radius: 12px;
      border: 1px solid rgba(125, 211, 252, 0.35);
      background: linear-gradient(165deg, rgba(240, 253, 244, 0.45) 0%, rgba(224, 231, 255, 0.2) 100%);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slots-section {
      border-color: rgba(15, 23, 42, 0.1);
      background: linear-gradient(165deg, var(--c-gris-50f) 0%, var(--c-verde-50c) 55%, var(--c-azul-50d) 100%);
    }
    #waitlist-modal .wl-slots-label {
      display: block;
      font-size: 0.82rem;
      font-weight: 700;
      margin: 0 0 8px;
      color: var(--text);
    }
    #waitlist-modal .wl-slots-summary {
      margin-bottom: 10px;
      min-height: 2rem;
    }
    #waitlist-modal .wl-slots-summary__empty {
      margin: 0;
      font-size: 0.78rem;
    }
    #waitlist-modal .wl-slots-summary-day {
      margin: 0 0 6px;
      font-size: 0.8rem;
      line-height: 1.45;
    }
    #waitlist-modal .wl-slots-summary-day strong {
      margin-right: 6px;
    }
    #waitlist-modal .wl-slots-summary-chip {
      display: inline-block;
      margin: 2px 4px 2px 0;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 0.75rem;
      font-weight: 650;
      background: rgba(37, 99, 235, 0.14);
      color: var(--c-azul-500);
      border: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slots-summary-chip {
      background: var(--c-azul-50);
      color: var(--c-azul-600b);
      border-color: rgba(30, 64, 175, 0.2);
    }
    #waitlist-modal .wl-cal-hint {
      margin: 0 0 8px;
      font-size: 0.78rem;
      line-height: 1.4;
      color: var(--c-pizarra-650);
    }
    #waitlist-modal .wl-cal-wrap {
      margin-bottom: 8px;
      max-width: 100%;
    }
    #waitlist-modal .bd-datetime-split,
    #waitlist-modal .agenda-m-datetime-split {
      margin-top: 4px;
      margin-bottom: 0;
    }
    #waitlist-modal .wl-slots-status {
      margin: 0 0 8px;
      font-size: 0.78rem;
      line-height: 1.35;
    }
    #waitlist-modal .bd-datetime-split__times-box .wl-slots-grid,
    #waitlist-modal .agenda-m-datetime-split__times-box .wl-slots-grid {
      max-height: min(340px, 42vh);
      overflow-y: auto;
      padding-right: 2px;
      margin-bottom: 0;
    }
    #waitlist-modal .bd-datetime-split__cal .wl-slots-legend,
    #waitlist-modal .agenda-m-datetime-split__cal .wl-slots-legend {
      margin-top: 4px;
      margin-bottom: 0;
    }
    #waitlist-modal .wl-cal__sheet {
      width: 100%;
      max-width: 315px;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 7px 8px;
      border-radius: 8px;
      border: 1px solid rgba(125, 211, 252, 0.35);
      background: linear-gradient(155deg, var(--c-cielo-50b) 0%, var(--c-azul-50d) 45%, var(--c-verde-50c) 100%);
    }
    #waitlist-modal .wl-cal__month-row {
      display: grid;
      grid-template-columns: 20px minmax(0, 1fr) 20px;
      align-items: center;
      gap: 4px;
      margin-bottom: 6px;
    }
    #waitlist-modal .wl-cal__month {
      font-size: 0.6rem;
      font-weight: 750;
      text-align: center;
      color: var(--c-azul-900b);
    }
    #waitlist-modal .wl-cal__side-btn {
      width: 20px;
      height: 20px;
      min-width: 20px;
      min-height: 20px;
      padding: 0;
      border-radius: 5px;
      border: 1px solid rgba(37, 99, 235, 0.25);
      background: var(--c-blanco);
      color: var(--c-azul-500);
      font-size: 0.72rem;
      line-height: 1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    #waitlist-modal .wl-cal__side-btn:hover {
      background: var(--c-azul-50d);
      border-color: rgba(37, 99, 235, 0.45);
    }
    #waitlist-modal .wl-cal__weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 2px;
      margin-bottom: 3px;
      font-size: 0.42rem;
      font-weight: 650;
      color: var(--c-pizarra-550);
      text-align: center;
    }
    #waitlist-modal .wl-cal__grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 3px;
    }
    #waitlist-modal .wl-cal__cell--empty {
      min-height: 29px;
    }
    #waitlist-modal .wl-cal__day {
      position: relative;
      min-height: 29px;
      border-radius: 6px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      font-size: 0.6rem;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;
    }
    #waitlist-modal .wl-cal__day:hover:not(.wl-cal__day--disabled):not(.wl-cal__day--holiday) {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: rgba(34, 197, 94, 0.45);
    }
    #waitlist-modal .wl-cal__day--today {
      position: relative;
      min-height: 38px;
      padding-bottom: 10px;
      box-sizing: border-box;
      box-shadow: inset 0 0 0 2px rgba(56, 189, 248, 0.88);
    }
    #waitlist-modal .wl-cal__day--today::after {
      content: 'HOY';
      position: absolute;
      bottom: 2px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 0.5rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      color: var(--c-cielo-600);
      line-height: 1;
      pointer-events: none;
    }
    #waitlist-modal .wl-cal__day--today.wl-cal__day--disabled::after {
      color: rgba(148, 163, 184, 0.85);
    }
    #waitlist-modal .wl-cal__day--today.wl-cal__day--pref:not(.wl-cal__day--disabled) {
      box-shadow: inset 0 0 0 2px rgba(56, 189, 248, 0.55);
    }
    #waitlist-modal .wl-cal__day--pref {
      background: var(--c-verde-50);
      border-color: var(--c-verde-550);
      color: var(--c-verde-800);
    }
    #waitlist-modal .wl-cal__day--pref::before {
      content: attr(data-wl-pref-ix);
      position: absolute;
      top: 1px;
      right: 2px;
      font-size: 0.36rem;
      font-weight: 800;
      line-height: 1;
      color: var(--c-verde-700);
      background: rgba(255, 255, 255, 0.9);
      border-radius: 3px;
      padding: 1px 3px;
    }
    #waitlist-modal .wl-cal__day--active {
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #waitlist-modal .wl-cal__day--holiday.wl-cal__day--disabled {
      background: var(--c-rojo-50);
      border-color: var(--c-rojo-300);
      color: var(--c-rojo-650);
      box-shadow: inset 0 0 0 2px rgba(239, 68, 68, 0.55);
      cursor: not-allowed;
      pointer-events: none;
      opacity: 1;
    }
    #waitlist-modal .wl-cal__day--disabled:not(.wl-cal__day--holiday) {
      opacity: 0.32;
      cursor: not-allowed;
      pointer-events: none;
    }
    #waitlist-modal .wl-slots-legend__closed::before {
      background: var(--c-rojo-400);
    }
    #waitlist-modal .wl-slots-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 14px;
      margin: 0 0 8px;
      font-size: 0.72rem;
      color: var(--muted);
    }
    #waitlist-modal .wl-slots-legend span::before {
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      border-radius: 3px;
      margin-right: 5px;
      vertical-align: -1px;
    }
    #waitlist-modal .wl-slots-legend__free::before {
      background: var(--c-verde-550);
    }
    #waitlist-modal .wl-slots-legend__busy::before {
      background: var(--c-rojo-400);
    }
    #waitlist-modal .wl-slots-legend__picked::before {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px var(--c-blanco), 0 0 0 3px var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #waitlist-modal .wl-slots-day-title {
      margin: 8px 0 6px;
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--text);
      text-transform: capitalize;
    }
    #waitlist-modal .wl-slots-part-label {
      margin: 0 0 6px;
      font-size: 0.7rem;
      font-weight: 650;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--muted);
    }
    #waitlist-modal .wl-slots-part-label--special {
      color: var(--c-naranja-600);
    }
    #waitlist-modal .wl-slots-grid {
      margin-bottom: 4px;
    }
    #waitlist-modal .wl-slots-row {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-bottom: 8px;
    }
    #waitlist-modal .wl-slot {
      appearance: none;
      border-radius: 999px;
      padding: 6px 12px;
      font: 600 12px var(--font-family, system-ui, sans-serif);
      cursor: pointer;
      transition: transform 0.05s ease, box-shadow 0.12s ease;
    }
    #waitlist-modal .wl-slot:active {
      transform: scale(0.97);
    }
    #waitlist-modal .wl-slot--free {
      border: 1px solid rgba(34, 197, 94, 0.45);
      background: rgba(34, 197, 94, 0.14);
      color: var(--c-verde-700);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slot--free {
      background: var(--c-verde-50);
      border-color: var(--c-verde-250);
      color: var(--c-verde-750);
    }
    #waitlist-modal .wl-slot--busy {
      border: 1px solid rgba(239, 68, 68, 0.45);
      background: rgba(239, 68, 68, 0.12);
      color: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slot--busy {
      background: var(--c-rojo-50);
      border-color: var(--c-rojo-200);
      color: var(--c-rojo-650);
    }
    #waitlist-modal .wl-slot--selected {
      box-shadow: 0 0 0 2px var(--c-blanco), 0 0 0 3px var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    #waitlist-modal .wl-slot--selected.wl-slot--free {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    #waitlist-modal .wl-slot--selected.wl-slot--busy {
      background: var(--c-rojo-500);
      color: var(--c-blanco);
    }
    #waitlist-modal .wl-slot--any {
      border: 1px solid var(--bd-g-300, var(--bv-g-a7d4bc, #a7d4bc));
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-size: 11px;
      padding: 8px 14px;
      border-radius: 10px;
      max-width: 100%;
      white-space: normal;
      line-height: 1.25;
      text-align: center;
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slot--any {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      border-color: var(--bd-g-300, var(--bv-g-a7d4bc, #a7d4bc));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    #waitlist-modal .wl-slot--selected.wl-slot--any {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    #waitlist-modal .wl-free-slot-dialog {
      position: fixed;
      inset: 0;
      z-index: 10002;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    #waitlist-modal .wl-free-slot-dialog.hidden {
      display: none !important;
    }
    #waitlist-modal .wl-free-slot-dialog__panel {
      max-width: 420px;
      width: 100%;
      padding: 18px 20px;
      border-radius: 12px;
      background: var(--card);
      border: 1px solid var(--border);
      box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    }
    #waitlist-modal .wl-free-slot-dialog__panel h4 {
      margin: 0 0 10px;
      font-size: 1rem;
    }
    #waitlist-modal .wl-free-slot-dialog__msg {
      margin: 0;
      font-size: 0.84rem;
      line-height: 1.45;
      color: var(--text, #334155);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__msg {
      color: var(--c-pizarra-750);
    }
    #waitlist-modal .wl-free-slot-dialog__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: flex-end;
      margin-top: 16px;
    }
    #waitlist-modal .wl-free-slot-dialog__actions .btn {
      width: auto !important;
      flex: 0 0 auto;
      margin: 0;
      padding: 10px 16px;
      font-size: 0.84rem;
    }
    #waitlist-modal .wl-registrar-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 10px;
      align-items: center;
    }
    #waitlist-modal .wl-registrar-actions .btn {
      flex: 1 1 auto;
      min-width: min(100%, 148px);
    }
    #waitlist-modal .wl-registrar-panel {
      margin-bottom: 12px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-panel {
      background: rgba(255, 255, 255, 0.65);
    }
    #waitlist-modal .wl-field-label {
      display: block;
      margin: 0 0 4px;
      font-size: 0.78rem;
      color: var(--muted);
    }
    #waitlist-modal .wl-req {
      color: var(--c-rojo-300);
      font-weight: 600;
    }
    #waitlist-modal .wl-opt {
      opacity: 0.75;
      font-weight: 500;
    }
    #waitlist-modal .wl-registrar-panel input[type='text'],
    #waitlist-modal .wl-registrar-panel input[type='email'],
    #waitlist-modal .wl-registrar-panel input[type='tel'] {
      width: 100%;
      margin-bottom: 8px;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
    }
    #waitlist-modal .wl-phone-es-row {
      display: flex;
      gap: 8px;
      align-items: stretch;
      margin-bottom: 4px;
    }
    #waitlist-modal .wl-phone-prefix-wrap {
      position: relative;
      flex: 0 0 auto;
      width: auto;
    }
    #waitlist-modal .wl-phone-prefix-combo {
      display: flex;
      align-items: stretch;
      width: auto;
      flex: 0 0 auto;
      min-height: 38px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(15, 23, 42, 0.06);
    }
    #waitlist-modal .wl-phone-prefix-combo:focus-within {
      border-color: color-mix(in srgb, var(--ok) 45%, var(--border));
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--ok) 18%, transparent);
    }
    #waitlist-modal .wl-phone-prefix-input {
      flex: 0 0 4.75rem;
      width: 4.75rem;
      min-width: 4.75rem;
      max-width: 4.75rem;
      box-sizing: border-box;
      padding: 8px 4px;
      border: none;
      background: transparent;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 0.88rem;
      font-weight: 600;
      font-variant-numeric: tabular-nums;
      line-height: 1.2;
      letter-spacing: -0.02em;
      color: var(--text);
      text-align: center;
    }
    #waitlist-modal .wl-phone-prefix-input:focus {
      outline: none;
    }
    #waitlist-modal .wl-phone-prefix-chevron-btn {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1.75rem;
      min-width: 1.75rem;
      padding: 0;
      border: none;
      border-left: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
      background: color-mix(in srgb, var(--card) 40%, transparent);
      color: var(--text);
      cursor: pointer;
      font: inherit;
    }
    #waitlist-modal .wl-phone-prefix-chevron-btn:hover {
      background: color-mix(in srgb, var(--ok) 10%, transparent);
    }
    #waitlist-modal .wl-phone-prefix-chevron-btn[aria-expanded='true'] {
      background: color-mix(in srgb, var(--ok) 14%, transparent);
    }
    #waitlist-modal .wl-phone-prefix-chevron-btn .wl-picker-chevron {
      font-size: 1.15rem;
      opacity: 0.75;
    }
    #waitlist-modal .wl-phone-prefix-dropdown {
      position: absolute;
      left: 0;
      top: calc(100% + 4px);
      z-index: 130;
      min-width: min(280px, 88vw);
      max-height: min(280px, 42vh);
      overflow-y: auto;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--ok) 28%, var(--border));
      background: var(--card);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
      padding: 6px;
    }
    #waitlist-modal .wl-phone-prefix-dropdown.hidden {
      display: none !important;
    }
    #waitlist-modal .wl-phone-prefix-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      padding: 9px 12px;
      border: none;
      border-radius: 8px;
      background: transparent;
      color: var(--text);
      font: inherit;
      text-align: left;
      cursor: pointer;
    }
    #waitlist-modal .wl-phone-prefix-item:hover,
    #waitlist-modal .wl-phone-prefix-item:focus-visible {
      background: color-mix(in srgb, var(--ok) 12%, transparent);
    }
    #waitlist-modal .wl-phone-prefix-item__name {
      flex: 1;
      font-size: 0.88rem;
    }
    #waitlist-modal .wl-phone-prefix-item__dial {
      flex-shrink: 0;
      font-size: 0.82rem;
      font-weight: 600;
      opacity: 0.85;
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-phone-prefix-combo {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-phone-prefix-chevron-btn {
      background: var(--c-azul-50c);
      border-left-color: rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-phone-prefix-dropdown {
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    }
    #waitlist-modal .wl-phone-es-row input[type='tel'] {
      flex: 1;
      margin-bottom: 0 !important;
    }
    #waitlist-modal .wl-field-hint {
      margin: 0 0 8px;
      font-size: 0.72rem;
    }
    #waitlist-modal .wl-client-picked {
      display: none !important;
    }
    #waitlist-modal .wl-registrar-panel input.wl-field--locked,
    #waitlist-modal .wl-registrar-panel input.wl-field--locked:read-only {
      opacity: 0.88;
      cursor: default;
      background: rgba(15, 23, 42, 0.08);
      border-color: rgba(15, 23, 42, 0.12);
      color: var(--text);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-panel input.wl-field--locked,
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-panel input.wl-field--locked:read-only {
      background: rgba(15, 23, 42, 0.04);
      border-color: rgba(15, 23, 42, 0.14);
    }
    #waitlist-modal .wl-phone-prefix-chevron-btn:disabled {
      opacity: 0.45;
      cursor: default;
    }
    #waitlist-modal .wl-search-hint {
      margin: 0 0 8px;
      font-size: 0.78rem;
      line-height: 1.35;
    }
    #waitlist-modal #wl-modal-body-rest.hidden {
      display: none;
    }
    /* Búsqueda: el desplegable debe poder salir del recorte del modal (overflow del surface) */
    /* Por encima de .modal-overlay (20000) al abrir desde agenda u otros paneles */
    #waitlist-modal.bardev-modal-overlay {
      z-index: 20020;
    }
    #waitlist-modal.bardev-modal-overlay > .bardev-modal-surface,
    #waitlist-modal.bardev-modal-overlay > .bardev-modal-scale-wrap > .bardev-modal-surface {
      display: flex;
      flex-direction: column;
      padding: 0 !important;
      overflow: hidden;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
    }
    #waitlist-modal .waitlist-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex-shrink: 0;
      z-index: 2;
    }
    #waitlist-modal .waitlist-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
    }
    #waitlist-modal .waitlist-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 16px;
      box-sizing: border-box;
    }
    #waitlist-modal .waitlist-modal-foot {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
      background: var(--card, #0d1a14);
      z-index: 2;
    }
    #waitlist-modal .waitlist-modal-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    #waitlist-modal .wl-free-slot-dialog__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 10px;
    }
    #waitlist-modal .wl-free-slot-dialog__head h4 {
      margin: 0;
    }
    html.bardev-panel-theme-light #waitlist-modal .waitlist-modal-panel.bd-panel,
    html.bardev-panel-theme-light #waitlist-modal .waitlist-modal-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #waitlist-modal .waitlist-modal-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #waitlist-modal .waitlist-modal-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #waitlist-modal .waitlist-modal-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #waitlist-modal .waitlist-modal-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-field-label,
    html.bardev-panel-theme-light #waitlist-modal .wl-slots-label {
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-search-hint,
    html.bardev-panel-theme-light #waitlist-modal .wl-cal-hint,
    html.bardev-panel-theme-light #waitlist-modal .wl-field-hint {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #waitlist-modal #wl-f-phone,
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-panel input[type='text'],
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-panel input[type='email'],
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-panel input[type='tel'],
    html.bardev-panel-theme-light #waitlist-modal #wl-f-notes,
    html.bardev-panel-theme-light #waitlist-modal .wl-picker-trigger {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-picker-trigger[aria-expanded='true'] {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slots-section {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-cal__sheet {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-slots-summary-chip {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      border-color: var(--bd-g-300, var(--bv-g-a7d4bc, #a7d4bc));
    }
    html.bardev-panel-theme-light #waitlist-modal .agenda-m-emp-btn--selected,
    html.bardev-panel-theme-light #waitlist-modal .wl-employee-grid .agenda-m-emp-btn--selected {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-registrar-actions .btn,
    html.bardev-panel-theme-light #waitlist-modal #btn-wl-registrar-cliente,
    html.bardev-panel-theme-light #waitlist-modal #btn-wl-cerrar-registro {
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
      min-height: 44px;
      font-weight: 700;
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__panel.bd-panel {
      padding: 0;
      overflow: hidden;
      border-radius: var(--bd-radius-xl, 22px);
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__head {
      margin: 0;
      padding: 14px 16px;
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__msg {
      padding: 14px 16px 0;
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__actions {
      padding: 14px 16px 16px;
      margin-top: 0;
    }
    html.bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__actions .bd-btn {
      min-height: var(--bd-btn-h, 48px);
    }
    #waitlist-modal #wl-client-section,
    #waitlist-modal .wl-phone-search-wrap,
    #waitlist-modal .wl-phone-prefix-wrap,
    #waitlist-modal .wl-registrar-panel {
      overflow: visible;
    }
    #waitlist-modal .wl-phone-dropdown {
      position: absolute;
      left: auto;
      right: auto;
      top: auto;
      z-index: 20010;
      margin: 0;
      max-height: min(280px, 45vh);
    }
    #waitlist-modal .wl-field--invalid {
      border-color: var(--c-rojo-300) !important;
      box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.35);
    }

    /* Lista de espera — pastels (sin grises en tarjetas / contenedor) */
    #panel-lista-espera #lista-espera-wrap.admin-data-wrap {
      border: 1px solid rgba(125, 211, 252, 0.35);
      border-radius: 16px;
      background: linear-gradient(165deg, rgba(224, 231, 255, 0.14) 0%, rgba(254, 243, 199, 0.1) 45%, rgba(252, 231, 243, 0.1) 100%);
      padding: 6px;
    }
    #panel-lista-espera .waitlist-cards {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: 12px;
      padding: 10px;
      border-radius: 12px;
      background: linear-gradient(145deg, rgba(191, 219, 254, 0.12) 0%, rgba(254, 240, 138, 0.1) 55%, rgba(251, 207, 232, 0.1) 100%);
      border: 1px solid rgba(147, 197, 253, 0.22);
    }
    #panel-lista-espera .waitlist-card.equipo-card {
      background: rgba(147, 197, 253, 0.1);
      border: 1px solid rgba(125, 211, 252, 0.35);
      border-left-width: 3px;
      box-shadow: 0 4px 18px rgba(15, 23, 42, 0.08);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--waiting {
      background: linear-gradient(145deg, rgba(254, 243, 199, 0.35) 0%, rgba(253, 230, 138, 0.2) 100%);
      border-color: rgba(251, 191, 36, 0.45);
      border-left-color: var(--c-ambar-450b);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--contacted {
      background: linear-gradient(145deg, rgba(191, 219, 254, 0.4) 0%, rgba(147, 197, 253, 0.22) 100%);
      border-color: rgba(96, 165, 250, 0.45);
      border-left-color: var(--c-azul-300);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--no_answer {
      background: linear-gradient(145deg, rgba(226, 232, 240, 0.5) 0%, rgba(203, 213, 225, 0.3) 100%);
      border-color: rgba(100, 116, 139, 0.4);
      border-left-color: var(--c-pizarra-550);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--booked {
      background: linear-gradient(145deg, rgba(var(--bv-g-rgb-a7f3d0, 167, 243, 208), 0.38) 0%, rgba(var(--bv-g-rgb-6ee7b7, 110, 231, 183), 0.2) 100%);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.45);
      border-left-color: var(--bv-g-34d399, #34d399);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--cancelled {
      background: linear-gradient(145deg, rgba(254, 202, 202, 0.38) 0%, rgba(252, 165, 165, 0.22) 100%);
      border-color: rgba(248, 113, 113, 0.45);
      border-left-color: var(--c-rojo-300b);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--expired {
      background: linear-gradient(145deg, rgba(221, 214, 254, 0.42) 0%, rgba(196, 181, 253, 0.22) 100%);
      border-color: rgba(167, 139, 250, 0.45);
      border-left-color: var(--c-indigo-250);
    }
    #panel-lista-espera .waitlist-kpi-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 12px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 600;
    }
    #panel-lista-espera .waitlist-kpi-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      flex-shrink: 0;
    }
    #panel-lista-espera .waitlist-kpi-pill--waiting {
      background: rgba(254, 243, 199, 0.9);
      border: 1px solid rgba(251, 191, 36, 0.55);
      color: var(--c-naranja-700b);
    }
    #panel-lista-espera .waitlist-kpi-pill--waiting .waitlist-kpi-dot {
      background: var(--c-naranja-500b);
    }
    #panel-lista-espera .waitlist-kpi-pill--bookable-alert {
      animation: agenda-wl-pill-blink 0.55s ease-in-out infinite;
      border-color: rgba(245, 158, 11, 0.95);
      box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.35);
    }
    #panel-lista-espera .waitlist-kpi-pill--bookable-alert .waitlist-kpi-dot {
      animation: agenda-wl-pill-blink 0.55s ease-in-out infinite;
    }
    #panel-lista-espera .waitlist-kpi-pill--contacted {
      background: rgba(219, 234, 254, 0.95);
      border: 1px solid rgba(59, 130, 246, 0.45);
      color: var(--c-azul-600b);
    }
    #panel-lista-espera .waitlist-kpi-pill--contacted .waitlist-kpi-dot {
      background: var(--c-azul-400);
    }
    #panel-lista-espera .waitlist-kpi-pill--no_answer {
      background: rgba(241, 245, 249, 0.95);
      border: 1px solid rgba(100, 116, 139, 0.45);
      color: var(--c-pizarra-750);
    }
    #panel-lista-espera .waitlist-kpi-pill--no_answer .waitlist-kpi-dot {
      background: var(--c-pizarra-550);
    }
    #panel-lista-espera .waitlist-kpi-pill--booked {
      background: rgba(var(--bv-g-rgb-d1fae5, 209, 250, 229), 0.95);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
      color: var(--bv-g-065f46, #065f46);
    }
    #panel-lista-espera .waitlist-kpi-pill--booked .waitlist-kpi-dot {
      background: var(--bv-g-10b981, #10b981);
    }
    #panel-lista-espera .waitlist-kpi-pill--cancelled {
      background: rgba(254, 226, 226, 0.95);
      border: 1px solid rgba(248, 113, 113, 0.5);
      color: var(--c-rojo-650);
    }
    #panel-lista-espera .waitlist-kpi-pill--cancelled .waitlist-kpi-dot {
      background: var(--c-rojo-400);
    }
    #panel-lista-espera .waitlist-kpi-pill--expired {
      background: rgba(237, 233, 254, 0.95);
      border: 1px solid rgba(139, 92, 246, 0.45);
      color: var(--c-indigo-600);
    }
    #panel-lista-espera .waitlist-kpi-pill--expired .waitlist-kpi-dot {
      background: var(--c-indigo-350);
    }
    #panel-lista-espera .waitlist-status-badge {
      padding: 3px 9px;
      border-radius: 999px;
      font-size: 0.7rem;
      font-weight: 600;
      white-space: nowrap;
    }
    #panel-lista-espera .waitlist-status-badge--waiting {
      background: rgba(254, 243, 199, 0.95);
      color: var(--c-naranja-700b);
      border: 1px solid rgba(251, 191, 36, 0.5);
    }
    #panel-lista-espera .waitlist-status-badge--contacted {
      background: rgba(219, 234, 254, 0.95);
      color: var(--c-azul-600b);
      border: 1px solid rgba(59, 130, 246, 0.45);
    }
    #panel-lista-espera .waitlist-status-badge--no_answer {
      background: rgba(241, 245, 249, 0.95);
      color: var(--c-pizarra-750);
      border: 1px solid rgba(100, 116, 139, 0.5);
    }
    #panel-lista-espera .waitlist-status-badge--booked {
      background: rgba(var(--bv-g-rgb-d1fae5, 209, 250, 229), 0.95);
      color: var(--bv-g-065f46, #065f46);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
    }
    #panel-lista-espera .waitlist-status-badge--cancelled {
      background: rgba(254, 226, 226, 0.95);
      color: var(--c-rojo-650);
      border: 1px solid rgba(248, 113, 113, 0.45);
    }
    #panel-lista-espera .waitlist-status-badge--expired {
      background: rgba(237, 233, 254, 0.95);
      color: var(--c-indigo-600);
      border: 1px solid rgba(139, 92, 246, 0.45);
    }
    #panel-lista-espera .lista-espera-shell {
      width: 100%;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    #panel-lista-espera .waitlist-bulk-bar {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px 12px;
      margin-bottom: 12px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(125, 211, 252, 0.35);
      background: rgba(248, 250, 252, 0.65);
    }
    #panel-lista-espera #waitlist-bulk-bar.hidden,
    #panel-lista-espera #btn-waitlist-delete-selected.hidden {
      display: none !important;
    }
    #panel-lista-espera .waitlist-bulk-del-btn {
      margin-left: auto;
      flex-shrink: 0;
      font-size: 0.78rem;
      font-weight: 650;
      padding: 6px 14px;
      border-radius: 999px;
      border: 1px solid rgba(220, 38, 38, 0.45);
      background: rgba(254, 226, 226, 0.96);
      color: var(--c-rojo-600);
      cursor: pointer;
      font-family: inherit;
      white-space: nowrap;
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }
    #panel-lista-espera .waitlist-bulk-del-btn:hover,
    #panel-lista-espera .waitlist-bulk-del-btn:focus-visible {
      background: var(--c-rojo-400);
      color: var(--c-blanco);
      border-color: var(--c-rojo-500);
      outline: none;
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-bulk-del-btn {
      background: var(--c-rojo-50);
      border-color: rgba(220, 38, 38, 0.35);
      color: var(--c-rojo-650);
    }
    #panel-lista-espera .waitlist-del-capsule {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      min-width: 28px;
      padding: 0;
      border-radius: 999px;
      border: 1px solid rgba(220, 38, 38, 0.42);
      background: rgba(254, 226, 226, 0.96);
      color: var(--c-rojo-600);
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      font-family: inherit;
      box-shadow: 0 1px 4px rgba(185, 28, 28, 0.12);
    }
    #panel-lista-espera .waitlist-del-capsule:hover,
    #panel-lista-espera .waitlist-del-capsule:focus-visible {
      background: var(--c-rojo-400);
      color: var(--c-blanco);
      border-color: var(--c-rojo-500);
      outline: none;
    }
    #panel-lista-espera .waitlist-del-capsule--bulk {
      margin-left: auto;
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-del-capsule {
      background: var(--c-rojo-50);
      border-color: rgba(220, 38, 38, 0.35);
      color: var(--c-rojo-650);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-bulk-bar {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.1);
    }
    #panel-lista-espera .waitlist-bulk-bar__label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 0.8rem;
      font-weight: 650;
      color: var(--text);
      cursor: pointer;
      user-select: none;
    }
    #panel-lista-espera .waitlist-bulk-bar__label input {
      width: 1rem;
      height: 1rem;
      accent-color: var(--c-azul-450);
    }
    #panel-lista-espera .waitlist-card {
      position: relative;
    }
    #panel-lista-espera .waitlist-card-check {
      position: absolute;
      top: 10px;
      left: 10px;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      cursor: pointer;
    }
    #panel-lista-espera .waitlist-card-check input {
      width: 1.05rem;
      height: 1.05rem;
      accent-color: var(--c-azul-450);
      cursor: pointer;
    }
    #panel-lista-espera .waitlist-card.waitlist-card--selected {
      outline: 2px solid rgba(37, 99, 235, 0.45);
      outline-offset: 1px;
    }
    #panel-lista-espera .waitlist-card-head {
      padding-left: 1.65rem;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
    }
    #panel-lista-espera .waitlist-card-head__main {
      flex: 1 1 auto;
      min-width: 0;
    }
    #panel-lista-espera .waitlist-card-head__actions {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    #panel-lista-espera .waitlist-client-group {
      display: flex;
      flex-direction: column;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
      background: var(--c-blanco);
    }
    #panel-lista-espera .waitlist-client-group__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px 10px 2.35rem;
      border-bottom: 1px solid var(--wl-pastel-border, rgba(15, 23, 42, 0.08));
      background: var(--wl-pastel-bg, #f8fafc);
      color: var(--wl-pastel-text, #334155);
      position: relative;
    }
    #panel-lista-espera .waitlist-client-group__head-main {
      flex: 1 1 auto;
      min-width: 0;
    }
    #panel-lista-espera .waitlist-client-group__name {
      display: block;
      font-size: 0.92rem;
      font-weight: 750;
      line-height: 1.25;
      color: inherit;
    }
    #panel-lista-espera .waitlist-client-group__phone {
      display: block;
      margin-top: 2px;
      font-size: 0.78rem;
      font-weight: 600;
      opacity: 0.88;
      color: inherit;
    }
    #panel-lista-espera .waitlist-client-group__meta {
      margin-top: 4px;
      font-size: 0.72rem;
      font-weight: 600;
      opacity: 0.75;
    }
    #panel-lista-espera .waitlist-client-group__stack {
      display: flex;
      flex-direction: column;
    }
    #panel-lista-espera .waitlist-client-group__more {
      display: none;
      flex-direction: column;
    }
    #panel-lista-espera .waitlist-client-group--expanded .waitlist-client-group__more {
      display: flex;
    }
    #panel-lista-espera .waitlist-client-group__toggle {
      display: block;
      width: 100%;
      margin: 0;
      padding: 8px 12px;
      border: none;
      border-top: 1px dashed var(--wl-pastel-border, rgba(15, 23, 42, 0.12));
      background: var(--wl-pastel-bg, #f8fafc);
      color: var(--wl-pastel-text, #475569);
      font-size: 0.78rem;
      font-weight: 650;
      cursor: pointer;
      text-align: center;
      transition: background 0.12s;
    }
    #panel-lista-espera .waitlist-client-group__toggle:hover {
      filter: brightness(0.97);
    }
    #panel-lista-espera .waitlist-client-group .waitlist-card.equipo-card {
      border-radius: 0;
      box-shadow: none;
      border-right: none;
      border-bottom: none;
      border-top: none;
    }
    #panel-lista-espera .waitlist-client-group .waitlist-card + .waitlist-card {
      border-top: 1px dashed rgba(15, 23, 42, 0.1);
    }
    #panel-lista-espera .waitlist-card.waitlist-card--compact .waitlist-card-head {
      padding-left: 1.65rem;
      min-height: 1.5rem;
      margin-bottom: 6px;
    }
    #panel-lista-espera .waitlist-card.waitlist-card--compact .waitlist-card-head--status-only {
      justify-content: flex-end;
    }
    #panel-lista-espera .waitlist-schedule-matrix-wrap {
      margin: 8px 0 10px;
      overflow-x: auto;
    }
    #panel-lista-espera .waitlist-schedule-matrix {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.72rem;
      table-layout: fixed;
      min-width: 160px;
    }
    #panel-lista-espera .waitlist-schedule-matrix th,
    #panel-lista-espera .waitlist-schedule-matrix td {
      border: 1px solid rgba(15, 23, 42, 0.12);
      padding: 4px 6px;
      text-align: center;
      vertical-align: middle;
    }
    #panel-lista-espera .waitlist-schedule-matrix__corner {
      width: 42px;
      min-width: 42px;
      background: rgba(15, 23, 42, 0.04);
    }
    #panel-lista-espera .waitlist-schedule-matrix thead th {
      font-weight: 700;
      font-size: 0.68rem;
      background: rgba(15, 23, 42, 0.05);
      color: var(--text);
    }
    #panel-lista-espera .waitlist-schedule-matrix tbody th {
      font-weight: 650;
      text-align: right;
      background: rgba(15, 23, 42, 0.04);
      white-space: nowrap;
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell--free {
      background: var(--c-verde-550) !important;
      box-shadow: inset 0 0 0 1px rgba(21, 128, 61, 0.45);
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell--free[data-wl-book-slot] {
      cursor: pointer;
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell--free[data-wl-book-slot]:hover {
      filter: brightness(1.12);
      box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.55), 0 0 0 2px rgba(34, 197, 94, 0.65);
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell--free[data-wl-book-slot]:focus-visible {
      outline: 2px solid var(--c-azul-450);
      outline-offset: 1px;
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell--busy {
      background: var(--c-rojo-400) !important;
      box-shadow: inset 0 0 0 1px rgba(185, 28, 28, 0.45);
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell--booked {
      background: var(--c-ambar-450b) !important;
      box-shadow: inset 0 0 0 1px rgba(180, 83, 9, 0.55);
      cursor: default;
    }
    #panel-lista-espera .waitlist-schedule-matrix__cell {
      position: relative;
      padding: 4px 6px;
      min-height: 20px;
    }
    #panel-lista-espera .waitlist-matrix-cell-del {
      position: absolute;
      top: 1px;
      right: 1px;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 11px;
      height: 11px;
      min-width: 11px;
      padding: 0;
      margin: 0;
      border: none;
      border-radius: 50%;
      background: rgba(15, 23, 42, 0.55);
      color: var(--c-blanco);
      font-size: 0.5rem;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      font-family: inherit;
      opacity: 0.88;
    }
    #panel-lista-espera .waitlist-matrix-cell-del:hover,
    #panel-lista-espera .waitlist-matrix-cell-del:focus-visible {
      background: var(--c-rojo-500);
      opacity: 1;
      outline: none;
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-matrix-cell-del {
      background: rgba(127, 29, 29, 0.72);
    }
    #panel-lista-espera .waitlist-schedule-matrix td:not(.waitlist-schedule-matrix__cell--free):not(.waitlist-schedule-matrix__cell--busy) {
      background: rgba(15, 23, 42, 0.03);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-schedule-matrix__cell--free {
      background: var(--c-verde-400) !important;
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-schedule-matrix__cell--busy {
      background: var(--c-rojo-300) !important;
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-schedule-matrix__cell--booked {
      background: var(--c-amarillo-350) !important;
      box-shadow: inset 0 0 0 1px rgba(202, 138, 4, 0.65);
    }
    #panel-lista-espera .waitlist-schedule-matrix-legend {
      margin: 4px 0 8px;
      font-size: 0.68rem;
      opacity: 0.85;
    }
    #panel-lista-espera .waitlist-card__duration {
      min-height: 1.35em;
    }
    #panel-lista-espera .waitlist-card-pros {
      --wl-pro-gap: 6px;
      --wl-pro-max: 40px;
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: nowrap;
      margin: 0 0 4px;
      padding: 0 !important;
      max-width: 100%;
      min-width: 0;
      font-size: 0.85rem;
      line-height: 1.35;
      background: none !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      outline: none !important;
    }
    #panel-lista-espera .waitlist-card-pros strong {
      flex-shrink: 0;
      font-weight: 600;
      line-height: 1.2;
      background: none !important;
      border: none !important;
      box-shadow: none !important;
    }
    #panel-lista-espera .waitlist-card-pros .waitlist-card-pro__av {
      --wl-pro-frame-in: 2px;
      --wl-pro-frame-out: 2px;
      --wl-pro-size: min(
        var(--wl-pro-max),
        calc((100% - (var(--wl-pro-count, 1) - 1) * var(--wl-pro-gap)) / var(--wl-pro-count, 1))
      );
      width: var(--wl-pro-size);
      height: var(--wl-pro-size);
      max-width: var(--wl-pro-max);
      max-height: var(--wl-pro-max);
      min-width: 0;
      min-height: 0;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      flex: 0 0 var(--wl-pro-size);
      box-sizing: border-box;
      overflow: visible;
      border: var(--wl-pro-frame-in) solid var(--c-blanco);
      box-shadow: 0 0 0 var(--wl-pro-frame-out) var(--c-negro);
      padding: 0;
      margin: 0;
      vertical-align: top;
      background: var(--c-blanco);
    }
    #panel-lista-espera .waitlist-card-pros .waitlist-card-pro__av--photo {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      border-radius: 50%;
    }
    #panel-lista-espera .waitlist-card-pros .waitlist-card-pro__av--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(145deg, var(--c-pizarra-350), var(--c-pizarra-550));
      color: var(--c-blanco);
      font-size: clamp(0.5rem, calc(var(--wl-pro-size) * 0.38), 0.95rem);
      font-weight: 700;
      line-height: 1;
      border-radius: 50%;
    }
    #panel-lista-espera .inv-toolbar-row--lista-espera {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px 12px;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      margin-bottom: 0;
      padding: 0;
      flex-wrap: nowrap !important;
    }
    #panel-lista-espera .inv-toolbar-row--lista-espera .inv-toolbar-actions {
      grid-column: 1;
      justify-self: start;
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 6px 8px;
      min-width: 0;
    }
    #panel-lista-espera .inv-toolbar-row--lista-espera .inv-toolbar-row-fill {
      display: none !important;
    }
    #panel-lista-espera .inv-toolbar-row--lista-espera #btn-waitlist-new {
      grid-column: 2;
      justify-self: end;
      width: auto !important;
      max-width: none !important;
      min-width: 0;
      flex: none !important;
      white-space: nowrap;
      margin: 0 !important;
      padding: 8px 16px;
      font-size: 0.84rem;
      font-weight: 700;
    }
    #panel-lista-espera #btn-waitlist-delete-selected.waitlist-bulk-del-btn.hidden {
      display: none !important;
    }
    html.bardev-panel-theme-light #panel-lista-espera #lista-espera-wrap.admin-data-wrap {
      border: 1px solid rgba(125, 211, 252, 0.55);
      background: linear-gradient(180deg, var(--c-cielo-50b) 0%, var(--c-ambar-50) 50%, var(--c-rosa-50b) 100%);
      box-shadow: 0 2px 16px rgba(14, 165, 233, 0.08);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-cards {
      background: linear-gradient(145deg, var(--c-cielo-50) 0%, var(--c-amarillo-100) 40%, var(--c-rosa-50) 100%);
      border: 1px solid rgba(56, 189, 248, 0.35);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.equipo-card {
      box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.waitlist-card--waiting {
      background: linear-gradient(135deg, var(--c-ambar-50) 0%, var(--c-ambar-100b) 100%);
      border-color: rgba(245, 158, 11, 0.4);
      border-left-color: var(--c-naranja-500b);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.waitlist-card--contacted {
      background: linear-gradient(135deg, var(--c-azul-50d) 0%, var(--c-azul-50) 100%);
      border-color: rgba(59, 130, 246, 0.4);
      border-left-color: var(--c-azul-400);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.waitlist-card--no_answer {
      background: linear-gradient(135deg, var(--c-gris-50f) 0%, var(--c-pizarra-100) 100%);
      border-color: rgba(100, 116, 139, 0.4);
      border-left-color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.waitlist-card--booked {
      background: linear-gradient(135deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--bv-g-d1fae5, #d1fae5) 100%);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.4);
      border-left-color: var(--bv-g-10b981, #10b981);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.waitlist-card--cancelled {
      background: linear-gradient(135deg, var(--c-rojo-50d) 0%, var(--c-rojo-50c) 100%);
      border-color: rgba(244, 63, 94, 0.4);
      border-left-color: #f43f5e;
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card.waitlist-card--expired {
      background: linear-gradient(135deg, var(--c-indigo-50b) 0%, var(--c-indigo-50) 100%);
      border-color: rgba(139, 92, 246, 0.4);
      border-left-color: var(--c-indigo-350);
    }
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card-pros,
    html.bardev-panel-theme-light #panel-lista-espera .waitlist-card-pros strong {
      background: none !important;
      border: none !important;
      box-shadow: none !important;
      outline: none !important;
    }

    /* Campos en bloque (Gastos de envío, etc.): caja blanca y texto legible en modo claro */
    html.bardev-panel-theme-light .panel-fixed-fields {
      background: var(--c-blanco);
      border: 1px solid rgba(30, 64, 175, 0.16);
      box-shadow: 0 1px 10px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .panel-fixed-fields h4 {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light .panel-fixed-grid label {
      color: var(--c-pizarra-850c);
      font-weight: 600;
    }
    html.bardev-panel-theme-light .panel-fixed-grid input,
    html.bardev-panel-theme-light .panel-fixed-grid textarea {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .panel-fixed-grid input::placeholder,
    html.bardev-panel-theme-light .panel-fixed-grid textarea::placeholder {
      color: rgba(15, 23, 42, 0.45);
    }
    html.bardev-panel-theme-light .panel-fixed-grid input:focus,
    html.bardev-panel-theme-light .panel-fixed-grid textarea:focus {
      border-color: rgba(37, 99, 235, 0.55);
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
    }
    html.bardev-panel-theme-light .panel-fixed-fields .about-hint {
      color: var(--c-pizarra-650);
    }
    #panel-config-envio .shipping-block-title {
      margin: 0 0 10px;
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #panel-config-envio .shipping-block-title--sub {
      margin: 16px 0 10px;
      font-size: 0.88rem;
      font-weight: 650;
    }
    #panel-config-envio .shipping-days-fields:first-child .shipping-block-title--sub,
    #panel-config-envio .shipping-fee-fields[hidden] + .shipping-days-fields .shipping-block-title--sub {
      margin-top: 0;
    }
    /* La columna de secciones de la tienda usa el menú lateral común (33-menu-lateral.css). */
    #panel-config-envio .shop-cfg-panes {
      min-width: 0;
    }
    #panel-config-envio .shop-cfg-pane[hidden] {
      display: none !important;
    }
    #panel-config-envio .panel-fixed-grid--one {
      grid-template-columns: minmax(0, 320px);
    }
    #panel-config-envio .shipping-shop-block,
    #panel-config-envio .shipping-origin-block {
      margin: 0 0 18px;
      padding: 14px 16px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--bd-brand-beige, #fcf7ea);
    }
    html.bardev-panel-theme-light #panel-config-envio .shipping-shop-block,
    html.bardev-panel-theme-light #panel-config-envio .shipping-origin-block {
      background: var(--bd-brand-beige, #fcf7ea);
      border-color: rgba(15, 23, 42, 0.1);
    }
    .shipping-carriers-rates {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .shipping-carrier-rate {
      border: 1px solid rgba(15, 23, 42, 0.1);
      border-radius: 12px;
      background: color-mix(in srgb, var(--bd-brand-beige, #fcf7ea) 88%, var(--c-beis-150b));
      padding: 10px 12px 12px;
    }
    .shipping-carrier-rate__head {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px 10px;
      margin-bottom: 8px;
    }
    .shipping-carrier-rate__logo {
      width: 72px;
      height: 28px;
      object-fit: contain;
      object-position: left center;
      flex: 0 0 72px;
      background: var(--c-blanco);
      border-radius: 6px;
      padding: 2px 4px;
      box-sizing: border-box;
    }
    .shipping-carrier-rate__name {
      flex: 1;
      min-width: 0;
      font-size: 0.9rem;
      font-weight: 700;
      color: var(--bd-ink, #0f1f17);
    }
    .shipping-carrier-rate__tariff {
      flex: 0 0 auto;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      text-decoration: underline;
      text-underline-offset: 2px;
      white-space: nowrap;
    }
    .shipping-carrier-rate__note {
      margin: 0 0 8px;
      font-size: 0.72rem;
      line-height: 1.35;
      color: var(--bd-ink-soft, #5b6b63);
    }
    .shipping-carrier-rate--official input[readonly] {
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink, #0f1f17);
      cursor: default;
    }
    .shipping-carrier-rate__actions {
      margin-top: 8px;
    }
    .shipping-carrier-rate__actions .btn {
      width: auto;
      height: 32px;
      padding: 0 12px;
      font-size: 0.75rem;
    }
    .shipping-carrier-rate__enable {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--bd-ink, #0f1f17);
      cursor: pointer;
      white-space: nowrap;
    }
    .shipping-carrier-rate__enable input {
      width: 16px;
      height: 16px;
      accent-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .shipping-carrier-rate__fields {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px 10px;
    }
    .shipping-carrier-rate__fields--messenger {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .shipping-carrier-rate__row {
      display: grid;
      gap: 8px 10px;
    }
    .shipping-carrier-rate__row--full {
      grid-template-columns: 1fr;
    }
    .shipping-carrier-rate__row--pair {
      grid-template-columns: 1fr 1fr;
    }
    .shipping-carrier-rate__fields label {
      display: block;
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #5b6b63);
      margin-bottom: 4px;
    }
    .shipping-carrier-rate__fields input {
      width: 100%;
      box-sizing: border-box;
      padding: 7px 8px;
      border-radius: 8px;
      border: 1px solid rgba(15, 23, 42, 0.12);
      background: var(--bd-brand-beige, #fcf7ea);
      color: var(--bd-ink, #0f1f17);
      font-size: 0.85rem;
    }
    .shipping-carrier-rate__customer {
      margin: 10px 0 0;
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      color: var(--bd-ink, #0f1f17);
      font-size: 0.8rem;
      line-height: 1.45;
      font-weight: 600;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .shipping-carrier-rate__customer-lead {
      font-weight: 600;
    }
    .shipping-carrier-rate__customer-row {
      display: block;
    }
    .shipping-carrier-rate__customer strong {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-weight: 800;
    }
    .shipping-carrier-rate__move {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      margin-left: auto;
    }
    .shipping-carrier-rate__move button {
      width: 28px;
      height: 28px;
      padding: 0;
      border-radius: 8px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      font-size: 13px;
      line-height: 1;
      cursor: pointer;
    }
    .shipping-carrier-rate__move button:hover:not(:disabled) {
      background: var(--c-gris-50f);
      border-color: var(--bd-n-300, #d1d5db);
    }
    .shipping-carrier-rate__move button:disabled {
      opacity: 0.35;
      cursor: default;
    }
    .shipping-carrier-rate.is-off {
      padding: 8px 12px;
    }
    .shipping-carrier-rate.is-off .shipping-carrier-rate__head {
      margin-bottom: 0;
    }
    .shipping-carrier-rate.is-off .shipping-carrier-rate__fields,
    .shipping-carrier-rate.is-off .shipping-carrier-rate__note,
    .shipping-carrier-rate.is-off .shipping-carrier-rate__customer,
    .shipping-carrier-rate.is-off .shipping-carrier-rate__actions,
    .shipping-carrier-rate.is-off .shipping-carrier-rate__move,
    .shipping-carrier-rate.is-off .shipping-carrier-rate__tariff {
      display: none;
    }
    #shipping-carriers-rates[data-messenger="1"] .shipping-carrier-rate:not([data-carrier-id="correos"]):not([data-carrier-id="seur"]) {
      display: none;
    }
    #shipping-carriers-rates[data-messenger="1"] .shipping-carrier-rate__enable,
    #shipping-carriers-rates[data-messenger="1"] .shipping-carrier-rate__move {
      display: none;
    }
    .shipping-fee-fields[data-messenger="1"] > .about-hint:first-child {
      display: none;
    }
    #shipping-messenger-pickup-fields {
      margin: 0 0 14px;
    }
    @media (max-width: 900px) {
      .shipping-carrier-rate__fields:not(.shipping-carrier-rate__fields--messenger) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 560px) {
      .shipping-carrier-rate__fields:not(.shipping-carrier-rate__fields--messenger) {
        grid-template-columns: 1fr;
      }
      .shipping-carrier-rate__row--pair {
        grid-template-columns: 1fr 1fr;
      }
    }
    #panel-config-envio .shipping-postal-check {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 10px;
      cursor: pointer;
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--bd-ink, #0f172a);
    }
    #panel-config-envio .shipping-postal-check input {
      width: 18px;
      height: 18px;
      accent-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      flex: 0 0 auto;
    }
    #panel-config-envio .shipping-postal-check:has(input:disabled) {
      opacity: 0.65;
      cursor: not-allowed;
    }
    #panel-config-envio .shipping-origin-options {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    #panel-config-envio .shipping-origin-option {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 0;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--bd-n-50, #f8fafc);
      cursor: pointer;
    }
    #panel-config-envio .shipping-origin-option:has(input:checked) {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    #panel-config-envio .shipping-origin-option input {
      margin-top: 3px;
      width: 16px;
      height: 16px;
      accent-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      flex: 0 0 auto;
    }
    #panel-config-envio .shipping-origin-option__body {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      font-size: 0.88rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, #334155);
    }
    #panel-config-envio .shipping-origin-option__body strong {
      font-size: 0.92rem;
      color: var(--bd-ink, #0f172a);
    }
    #panel-config-envio .shipping-mode-warn,
    #panel-config-envio .shipping-pickup-warn {
      margin: 0 0 16px;
      padding: 12px 14px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--bd-warn-border, #f59e0b);
      background: var(--bd-warn-bg, #fffbeb);
      color: var(--bd-ink, #0f172a);
    }
    #panel-config-envio .shipping-mode-warn--info {
      border-color: var(--bv-g-a7f3d0, #a7f3d0);
      background: var(--bv-g-ecfdf5, #ecfdf5);
    }
    #panel-config-envio .shipping-mode-warn__title,
    #panel-config-envio .shipping-pickup-warn .shipping-pickup-warn__title {
      display: block;
      margin: 0 0 6px;
      font-size: 0.82rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--c-naranja-650b);
    }
    #panel-config-envio .shipping-mode-warn--info .shipping-mode-warn__title {
      color: var(--bv-g-047857, #047857);
    }
    #panel-config-envio .shipping-mode-warn p,
    #panel-config-envio .shipping-pickup-warn p {
      margin: 0;
      font-size: 0.9rem;
      line-height: 1.45;
      white-space: normal;
    }
    #panel-config-envio .shipping-pickup-warn p strong {
      display: inline;
      margin: 0;
      font-size: inherit;
      letter-spacing: normal;
      text-transform: none;
      color: inherit;
    }
    #panel-config-envio .shop-banners-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 16px;
    }
    #panel-config-envio .shop-banner-card {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 14px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--bd-n-0, #fff);
    }
    /* Banners de la tarjeta del buscador, dentro de «Destacar mi tienda» (titular, 31-10-2026). */
    #panel-config-envio .shop-banner-card--buscador {
      margin-top: 14px;
      max-width: 560px;
    }
    #panel-config-envio .shop-banner-card__title {
      margin: 0;
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #panel-config-envio .shop-banner-card__hint {
      margin: 0;
      font-size: 0.82rem;
      color: var(--bd-ink-soft, #64748b);
    }
    #panel-config-envio .shop-banner-slides {
      display: flex;
      flex-direction: column;
      gap: 8px;
      min-height: 72px;
    }
    #panel-config-envio .shop-banner-thumbs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: flex-start;
    }
    #panel-config-envio .shop-banner-slide {
      position: relative;
      width: 96px;
      min-width: 96px;
      max-width: 96px;
      aspect-ratio: 2 / 1;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: 8px;
      overflow: hidden;
      background: var(--c-azul-900b);
      flex: 0 0 auto;
    }
    #panel-config-envio .shop-banner-card__meta--top {
      margin: 0 0 2px;
    }
    #panel-config-envio .shop-banner-slide__btn {
      display: block;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      border: 0;
      border-radius: inherit;
      overflow: hidden;
      background: transparent;
      cursor: pointer;
    }
    #panel-config-envio .shop-banner-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    #panel-config-envio .shop-banner-slide__badge {
      position: absolute;
      left: 6px;
      bottom: 6px;
      padding: 2px 6px;
      border-radius: 999px;
      background: rgba(15, 23, 42, 0.72);
      color: var(--c-blanco);
      font-size: 10px;
      font-weight: 700;
    }
    #panel-config-envio .shop-banner-slide__badge.is-own {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-config-envio .shop-banner-slide.is-omitted img {
      opacity: 0.38;
      filter: grayscale(0.35);
    }
    #panel-config-envio .shop-banner-slide__badge.is-omitted {
      background: rgba(107, 114, 128, 0.92);
    }
    #panel-config-envio .shop-banner-slide__rm {
      position: absolute;
      top: 4px;
      right: 4px;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--c-blanco);
      color: var(--c-rojo-600);
      font-size: 16px;
      line-height: 1;
      cursor: pointer;
      display: grid;
      place-items: center;
      padding: 0;
    }
    #panel-config-envio .shop-banner-slide__rm:hover {
      background: var(--c-rojo-50b);
    }
    #panel-config-envio .shop-banner-card__meta {
      margin: 0;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #64748b);
    }
    #panel-config-envio .shop-banner-card__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    #panel-config-envio .shop-banner-card__actions .btn {
      width: auto;
      min-height: 36px;
      padding: 0 12px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      display: flex;
      flex-direction: column;
      max-height: min(92vh, 760px);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px 8px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__head h3 {
      margin: 0;
      font-size: 1.05rem;
      color: var(--bd-ink, #0f172a);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__body {
      padding: 4px 18px 10px;
      overflow: auto;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__ref {
      margin: 0 0 10px;
      padding: 10px 12px;
      text-align: center;
      border-radius: var(--bd-radius-lg, 14px);
      border: 1px solid var(--bd-n-200, #e2e8f0);
      background: var(--bd-n-50, #f8fafc);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__ref-label {
      display: block;
      margin: 0 0 8px;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #475569);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__ref-num {
      display: block;
      font-size: clamp(1.05rem, 3.4vw, 1.35rem);
      font-weight: 800;
      line-height: 1.25;
      letter-spacing: -0.02em;
      word-break: break-all;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      color: var(--bd-ink, #0f172a);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__when {
      margin: 0 0 8px;
      font-size: 0.88rem;
      color: var(--bd-ink-soft, #475569);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__when strong {
      color: var(--bd-ink, #0f172a);
      font-weight: 700;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__who {
      margin: 0 0 8px;
      font-size: 0.94rem;
      color: var(--bd-ink, #0f172a);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__pack {
      margin: 0 0 8px;
      padding: 8px 12px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-ink, #0f172a);
      font-size: 0.84rem;
      line-height: 1.4;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__pack strong {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__qr-wrap {
      margin: 0 0 10px;
      text-align: center;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__qr-btn {
      display: inline-block;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: zoom-in;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__qr {
      display: block;
      width: 132px;
      height: 132px;
      padding: 8px;
      background: var(--c-blanco);
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 12px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__print {
      width: auto;
      min-height: 40px;
      margin: 8px auto 0;
      padding: 0 14px;
      justify-content: center;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__qr-cap {
      margin: 6px 0 0;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #475569);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__products {
      list-style: none;
      margin: 0 0 10px;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__product {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-0, #fff);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__thumb {
      width: 48px;
      height: 48px;
      border-radius: 10px;
      object-fit: cover;
      flex: 0 0 48px;
      background: var(--bd-n-50, #f8fafc);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__thumb-ph {
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 1.2rem;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__pname {
      margin: 0;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__qty {
      display: block;
      margin-top: 2px;
      font-size: 0.85rem;
      color: var(--bd-ink-soft, #475569);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__product--edit {
      align-items: flex-start;
      flex-wrap: wrap;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__product-main {
      flex: 1 1 140px;
      min-width: 0;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__have-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      width: 100%;
      margin-top: 8px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__have-lab {
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--bd-ink-soft, #475569);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__have-of {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__product .bd-stepper {
      width: auto;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__miss {
      margin-left: auto;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--c-naranja-650b);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__miss.is-zero {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__all-miss {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--bd-ink, #0f172a);
      cursor: pointer;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__all-miss input {
      width: 16px;
      height: 16px;
      accent-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__sum {
      margin: 0 0 10px;
      padding: 12px 14px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--bd-warn-border, #f59e0b);
      background: var(--bd-warn-bg, #fffbeb);
      color: var(--bd-ink, #0f172a);
      font-size: 0.92rem;
      line-height: 1.45;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__sum strong {
      color: var(--c-naranja-650b);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__warn {
      margin: 0;
      padding: 8px 12px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--bd-warn-border, #f59e0b);
      background: var(--bd-warn-bg, #fffbeb);
      color: var(--bd-ink, #0f172a);
      font-size: 0.84rem;
      line-height: 1.4;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__warn strong {
      display: inline;
      color: var(--c-naranja-650b);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__foot {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 10px 14px 14px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__actions {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      gap: 8px;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__actions .bd-btn {
      flex: 1 1 0;
      width: auto;
      min-width: 0;
      min-height: 48px;
      height: auto;
      padding: 8px 6px;
      justify-content: center;
      text-align: center;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__actions .bd-btn__txt {
      font-size: 0.74rem;
      line-height: 1.2;
      text-align: center;
      white-space: normal;
    }
    .pickup-sale-qr-zoom {
      position: fixed;
      inset: 0;
      z-index: 30040;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .pickup-sale-qr-zoom.hidden {
      display: none;
    }
    .pickup-sale-qr-zoom__box {
      position: relative;
      padding: 48px 28px 24px;
      background: var(--c-blanco);
      border-radius: var(--bd-radius-lg, 14px);
      box-shadow: var(--bd-shadow-md, 0 8px 28px rgba(15, 23, 42, 0.12));
    }
    .pickup-sale-qr-zoom__box .bardev-modal-close {
      position: absolute;
      top: 8px;
      right: 8px;
    }
    .pickup-sale-qr-zoom__img {
      display: block;
      width: min(72vw, 360px);
      height: min(72vw, 360px);
      background: var(--c-blanco);
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__snooze {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__snooze.hidden {
      display: none;
    }
    #pickup-sale-alert-overlay .pickup-sale-alert__snooze .btn {
      width: auto;
      min-height: 40px;
      height: 40px;
      padding: 0 14px;
      flex: 0 0 auto;
    }
    /* Reservas (URL) en Developer → Editar barbería */
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row,
    html.bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row {
      background: var(--c-gris-50f);
      border: 2px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:hover,
    html.bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row:hover {
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      background: var(--c-gris-50b);
    }
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:has(input[type='radio']:checked),
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:has(input[type='checkbox']:checked),
    html.bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row:has(input[type='checkbox']:checked) {
      border-color: var(--bv-g-047857, #047857);
      background: linear-gradient(135deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--c-blanco) 100%);
      box-shadow:
        inset 0 0 0 1px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.22),
        0 4px 14px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.1);
    }
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:has(input[type='radio']:checked) .reservas-booking-row__text strong::after,
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:has(input[type='checkbox']:checked) .reservas-booking-row__text strong::after,
    html.bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row:has(input[type='checkbox']:checked) .reservas-booking-row__text strong::after {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row input[type='radio'],
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row input[type='checkbox'],
    html.bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row input[type='checkbox'] {
      accent-color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row__text strong,
    html.bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row__text strong {
      color: var(--c-azul-900b);
    }
    /* Historial de visitas: tarjetas, tabla y cápsulas — azul / naranja, alto contraste */
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-gris-50f) 50%, var(--c-naranja-50) 100%);
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.07);
      border-left: 4px solid var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card > summary {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card > summary .sub {
      color: rgba(15, 23, 42, 0.58);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table th {
      background: linear-gradient(180deg, var(--c-azul-150) 0%, var(--c-azul-50) 100%);
      color: var(--c-azul-650);
      border-bottom: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50b);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table tfoot td {
      background: transparent;
      border-bottom: none;
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--paid {
      background: var(--bv-g-d1fae5, #d1fae5);
      color: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-10b981, #10b981);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--done {
      background: var(--c-azul-50);
      color: var(--c-azul-600b);
      border-color: var(--c-azul-400);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--noshow {
      background: var(--c-naranja-100);
      color: var(--c-naranja-600);
      border-color: var(--c-naranja-500);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--cancel {
      background: var(--c-rojo-50);
      color: var(--c-rojo-600);
      border-color: var(--c-rojo-400);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--muted {
      background: var(--c-gris-50b);
      color: var(--c-pizarra-650);
      border-color: var(--c-pizarra-150);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--total {
      background: var(--c-gris-50f);
      color: var(--c-pizarra-750);
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--tot-asist {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.4);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--tot-noshow {
      background: rgba(234, 88, 12, 0.14);
      color: var(--c-naranja-600);
      border-color: rgba(234, 88, 12, 0.45);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-pill--tot-cancel {
      background: rgba(239, 68, 68, 0.12);
      color: var(--c-rojo-650);
      border-color: rgba(239, 68, 68, 0.42);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-stats {
      border-top: 1px solid rgba(37, 99, 235, 0.18);
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-historial-visitas .historial-client-stats strong {
      color: var(--c-azul-900b);
    }
    /* Puntos Fidelización: bloque búsqueda y tarjetas — mismo criterio azul / naranja (modo claro) */
    html.bardev-panel-theme-light #panel-loyalty .loyalty-search-panel {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-gris-50f) 55%, var(--c-naranja-50) 100%);
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.07);
      border-left: 4px solid var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-search-panel h3 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-search-panel .sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-search-panel #loyalty-find-query {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-search-panel #loyalty-find-query:focus {
      border-color: rgba(37, 99, 235, 0.55);
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
      outline: none;
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-find-card {
      background: rgba(37, 99, 235, 0.1);
      border: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-find-card__name {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-find-card__email {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-find-result {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay:not(.hidden),
    html.bardev-panel-theme-light #panel-loyalty #loyalty-history-overlay:not(.hidden) {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-gris-50f) 50%, var(--c-naranja-50) 100%);
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.07);
      border-left: 4px solid var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-nav-context:not(.hidden) {
      background: rgba(37, 99, 235, 0.08);
      border: 1px solid rgba(37, 99, 235, 0.22);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-nav-context:not(.hidden) strong {
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-nav-context:not(.hidden) .sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay select,
    html.bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay input[type='number'],
    html.bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay input[type='text'] {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-history-table thead th {
      background: linear-gradient(180deg, var(--c-azul-600b) 0%, var(--c-azul-450) 100%);
      color: var(--c-blanco);
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-history-table tbody td {
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      background: var(--c-blanco);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-catalog-section {
      background: var(--c-blanco);
      border-color: rgba(148, 163, 184, 0.35);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-catalog-table thead th {
      background: var(--c-gris-50b);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-catalog-table tbody td {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-catalog-open {
      color: var(--c-turquesa-750);
    }
    html.bardev-panel-theme-light #panel-loyalty .loyalty-catalog-open-btn {
      background: var(--c-gris-50f);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-loyalty #loyalty-history-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50b);
    }
    /* Caja diaria: evitar grises medios; claros azul / naranja Barveo */
    html.bardev-panel-theme-light #panel-caja .caja-summary {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 45%, var(--c-naranja-50) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2);
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-caja .caja-summary__item .sub {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-caja .caja-summary__item strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-caja .caja-summary__item.caja-summary__item--exp strong {
      color: var(--c-rojo-500);
    }
    html.bardev-panel-theme-light #panel-caja .caja-summary__item.caja-summary__item--net strong {
      color: var(--c-azul-500);
    }
    html.bardev-panel-theme-light #panel-caja .caja-summary__item.caja-summary__item--ticket strong {
      color: var(--c-verde-650);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap.admin-data-wrap {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table thead th {
      background: linear-gradient(180deg, var(--c-azul-600b) 0%, var(--c-azul-450) 100%);
      color: var(--c-blanco);
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table thead th.is-sortable:hover {
      background: linear-gradient(180deg, var(--c-azul-500) 0%, var(--c-azul-600b) 100%);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table tbody td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-badge--pedido {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border: 1px solid rgba(37, 99, 235, 0.3);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-appt-acciones-cobrado {
      color: var(--bv-g-047857, #047857);
      opacity: 1;
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-appt-acciones-nocobrado {
      color: var(--c-naranja-650b);
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-appt-acciones-cancelled {
      color: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light #panel-caja .caja-badge {
      background: rgba(34, 197, 94, 0.12);
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light #panel-caja .caja-badge--exp {
      background: rgba(239, 68, 68, 0.1);
      color: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light #panel-caja .caja-badge--void {
      background: rgba(107, 114, 128, 0.12);
      color: #374151;
    }
    html.bardev-panel-theme-light #panel-caja .caja-amt--void {
      color: #4b5563;
    }
    html.bardev-panel-theme-light #panel-caja .caja-badge--venta {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-caja .caja-day-arrow {
      background: rgba(37, 99, 235, 0.08);
      border: 1px solid rgba(37, 99, 235, 0.22);
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-caja .caja-day-arrow:hover {
      background: rgba(37, 99, 235, 0.14);
      border-color: rgba(234, 88, 12, 0.35);
    }
    html.bardev-panel-theme-light #panel-caja #caja-date {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
      border-radius: 8px;
      padding: 6px 8px;
    }
    /* Calendario caja: también cuando está en body (ventana flotante) */
    html.bardev-panel-theme-light .caja-float-cal {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light .caja-float-cal.caja-float-cal--floating {
      box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .caja-float-cal__head h3 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .caja-float-cal__nav button,
    html.bardev-panel-theme-light .caja-cal-pin-btn {
      background: rgba(37, 99, 235, 0.06);
      border: 1px solid rgba(37, 99, 235, 0.2);
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light .caja-float-cal__nav button:hover,
    html.bardev-panel-theme-light .caja-cal-pin-btn:hover {
      background: rgba(37, 99, 235, 0.12);
      border-color: rgba(234, 88, 12, 0.35);
    }
    html.bardev-panel-theme-light .caja-cal-dow {
      color: var(--c-pizarra-550);
      opacity: 1;
    }
    html.bardev-panel-theme-light .caja-cal-dow--weekend {
      color: var(--c-naranja-500);
    }
    html.bardev-panel-theme-light .caja-cal-cell {
      background: rgba(37, 99, 235, 0.06);
      border: 1px solid rgba(37, 99, 235, 0.12);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .caja-cal-cell:hover {
      background: rgba(37, 99, 235, 0.12);
    }
    html.bardev-panel-theme-light .caja-cal-cell--muted {
      opacity: 1;
      background: var(--c-gris-50b);
      border-color: rgba(15, 23, 42, 0.06);
      color: var(--c-pizarra-350);
    }
    html.bardev-panel-theme-light .caja-cal-cell--today {
      outline: 2px solid rgba(37, 99, 235, 0.45);
    }
    html.bardev-panel-theme-light .caja-cal-cell--selected {
      border-color: rgba(37, 99, 235, 0.5);
      background: rgba(37, 99, 235, 0.1);
    }
    html.bardev-panel-theme-light .caja-cal-cell__amt {
      color: var(--c-pizarra-750);
      opacity: 1;
    }
    html.bardev-panel-theme-light .caja-cal-foot {
      color: var(--c-pizarra-550);
      opacity: 1;
    }
    /* Formas de pago: quitar cabecera / botones oscuros; claros azul / naranja */
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago #formas-pago-wrap.admin-data-wrap {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }

    /* Datos fiscales — info régimen tributario */
    .fiscal-regimen-label-row {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .fiscal-regimen-label-row > .sub {
      margin: 0;
    }
    .fiscal-regimen-info-btn {
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      padding: 0;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.04));
    }
    .fiscal-regimen-info-btn:hover {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
    }
    .fiscal-regimen-info-btn:focus-visible {
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 2px;
    }
    #fiscal-regimen-info-modal.bardev-modal-overlay:not(.hidden),
    #fiscal-doc-info-modal.bardev-modal-overlay:not(.hidden) {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-panel,
    #fiscal-doc-info-modal .fiscal-regimen-info-panel {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-height: min(90vh, 760px);
      display: flex;
      flex-direction: column;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-head,
    #fiscal-doc-info-modal .fiscal-regimen-info-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px 14px;
      border-bottom: 1px solid var(--bd-n-200, #E7EAF0);
      flex: 0 0 auto;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-head h3,
    #fiscal-doc-info-modal .fiscal-regimen-info-head h3 {
      margin: 0;
      font-size: 1.05rem;
      color: var(--bd-ink, #0f172a);
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-body,
    #fiscal-doc-info-modal .fiscal-regimen-info-body {
      flex: 1 1 auto;
      overflow: auto;
      padding: 16px 18px;
      color: var(--bd-ink, #0f172a);
      line-height: 1.5;
      font-size: 0.92rem;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-lead,
    #fiscal-doc-info-modal .fiscal-regimen-info-lead {
      margin: 0 0 14px;
      color: var(--bd-ink-soft, #334155);
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-guide,
    #fiscal-doc-info-modal .fiscal-regimen-info-guide {
      padding: 12px 14px;
      border-radius: var(--bd-radius-lg, 12px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-dl,
    #fiscal-doc-info-modal .fiscal-regimen-info-dl {
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-dl > div,
    #fiscal-doc-info-modal .fiscal-regimen-info-dl > div {
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-dl dt,
    #fiscal-doc-info-modal .fiscal-regimen-info-dl dt {
      margin: 0 0 4px;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-dl dd,
    #fiscal-doc-info-modal .fiscal-regimen-info-dl dd {
      margin: 0;
      color: var(--bd-ink-soft, #334155);
      font-size: 0.88rem;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-note,
    #fiscal-doc-info-modal .fiscal-regimen-info-note {
      margin: 16px 0 0;
      line-height: 1.45;
    }
    #fiscal-regimen-info-modal .fiscal-regimen-info-foot,
    #fiscal-doc-info-modal .fiscal-regimen-info-foot {
      flex: 0 0 auto;
      padding: 14px 18px 16px;
      border-top: 1px solid var(--bd-n-200, #E7EAF0);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th {
      background: linear-gradient(180deg, var(--c-azul-600b) 0%, var(--c-azul-450) 100%);
      color: var(--c-blanco);
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text'] {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
      border-radius: 8px;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text']:focus {
      border-color: rgba(37, 99, 235, 0.55);
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
      outline: none;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-apply-cell label {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago button.fpago-icon-preview {
      background: rgba(37, 99, 235, 0.08);
      border: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-icon-preview-svg {
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago button.fpago-icon-preview:hover {
      background: rgba(37, 99, 235, 0.14);
      border-color: rgba(234, 88, 12, 0.35);
    }
    html.bardev-panel-theme-light #fpago-icon-overlay button.fpago-icon-choice {
      background: rgba(37, 99, 235, 0.06);
      border: 1px solid rgba(37, 99, 235, 0.18);
    }
    html.bardev-panel-theme-light #fpago-icon-overlay button.fpago-icon-choice:hover {
      background: rgba(37, 99, 235, 0.12);
      border-color: rgba(234, 88, 12, 0.35);
    }
    /* Equipo: tarjetas y subpaneles en azules claros (modo claro) */
    html.bardev-panel-theme-light #panel-equipo #equipo-list-wrap.admin-data-wrap {
      background: transparent;
      border: none;
      box-shadow: none;
      padding: 0;
    }
    html.bardev-panel-theme-light #panel-equipo #equipo-add-panel:not(.hidden) {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 55%, var(--c-cielo-50b) 100%);
      border: 1px solid rgba(37, 99, 235, 0.22) !important;
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-equipo #equipo-add-panel input[type='email'],
    html.bardev-panel-theme-light #panel-equipo #equipo-add-panel input[type='password'],
    html.bardev-panel-theme-light #panel-equipo #equipo-add-panel input[type='text'] {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-prof-inp,
    html.bardev-panel-theme-light #panel-equipo .equipo-prof-sel {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 48%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2);
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__basic dt {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__basic dd {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__avatar-ph {
      background: rgba(37, 99, 235, 0.12);
      border-color: rgba(37, 99, 235, 0.3);
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__photo-hit:hover .equipo-card__avatar,
    html.bardev-panel-theme-light #panel-equipo .equipo-card__photo-hit:hover .equipo-card__avatar-ph,
    html.bardev-panel-theme-light #panel-equipo .equipo-card__photo-hit:focus-visible .equipo-card__avatar,
    html.bardev-panel-theme-light #panel-equipo .equipo-card__photo-hit:focus-visible .equipo-card__avatar-ph {
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs.bardev-tabs--vivid .bardev-tabs-row,
    html.bardev-panel-theme-light #panel-equipo .equipo-card .equipo-tabs.bardev-tabs--vivid:not(:has(.bardev-tabs-row)) {
      border-bottom: none;
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs.bardev-tabs--vivid .bardev-tabs-row::before,
    html.bardev-panel-theme-light #panel-equipo .equipo-card .equipo-tabs.bardev-tabs--vivid:not(:has(.bardev-tabs-row))::before {
      background: var(--_tabs-line-clr, color-mix(in srgb, var(--_tabs-active-clr, var(--c-pizarra-350)) 74%, var(--c-pizarra-550)));
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs.bardev-tabs--vivid .bardev-tabs-row::after,
    html.bardev-panel-theme-light #panel-equipo .equipo-card .equipo-tabs.bardev-tabs--vivid:not(:has(.bardev-tabs-row))::after {
      background: var(--_tabs-line-clr, color-mix(in srgb, var(--_tabs-active-clr, var(--c-pizarra-350)) 74%, var(--c-pizarra-550)));
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs:not(.bardev-tabs--vivid) button {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs:not(.bardev-tabs--vivid) button:hover {
      color: var(--c-azul-900b);
    }
    /* Pestañas vívidas en tema claro: inactivas en escala de grises (izq. oscuro → der. claro); activa con su color de paleta */
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="0"]  { --_tab-clr: var(--bv-g-6ee7b7, #6ee7b7); }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="1"]  { --_tab-clr: #c4b5fd; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="2"]  { --_tab-clr: #fde047; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="3"]  { --_tab-clr: #67e8f9; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="4"]  { --_tab-clr: #fdba74; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="5"]  { --_tab-clr: #93c5fd; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="6"]  { --_tab-clr: #f9a8d4; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="7"]  { --_tab-clr: #fca5a5; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="8"]  { --_tab-clr: #bef264; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="9"]  { --_tab-clr: #fda4af; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="10"] { --_tab-clr: #a5b4fc; }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][data-bardev-palette="11"] { --_tab-clr: #99f6e4; }
    /* Pestañas sin paleta vivid (inicio-tabs, etc.): texto oscuro base */
    html.bardev-panel-theme-light button[role="tab"]:not([data-bardev-palette]) {
      color: var(--c-pizarra-750b) !important;
      font-weight: 500 !important;
    }
    html.bardev-panel-theme-light button[role="tab"]:not([data-bardev-palette]):hover {
      color: var(--c-azul-900c) !important;
    }
    html.bardev-panel-theme-light button[role="tab"]:not([data-bardev-palette])[aria-selected="true"] {
      color: var(--c-azul-900c) !important;
      font-weight: 600 !important;
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs:not(.bardev-tabs--vivid) button[aria-selected='true'] {
      color: var(--c-azul-600b);
      border-color: var(--bardev-tab-active-line);
      border-bottom-color: var(--bardev-tab-active-line);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-tabs.bardev-tabs--vivid button[role="tab"][aria-selected='true'] {
      color: var(--barveo-on-05, #ffffff);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-sub-card {
      background: rgba(37, 99, 235, 0.07);
      border: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-sub-card__head h4 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-sub-card__stat {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-sub-card__stat strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-comm-lab {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-comm-inp {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-schedule-table th,
    html.bardev-panel-theme-light #panel-equipo .equipo-schedule-table td {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-schedule-table th {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-sch-shift {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-sch-total {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-vac-row {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-vac-dates {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-vac-summary__item--done strong {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-vac-summary__item--pending strong {
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-clockin-toggle label {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__profile-more {
      border-color: rgba(15, 23, 42, 0.12);
      background: rgba(248, 250, 252, 0.95);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__profile-more-sum {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__profile-more-toggle {
      color: var(--c-verde-650);
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-card__profile-more-inner {
      border-top-color: rgba(15, 23, 42, 0.1);
    }
    /* Horarios y turnos: bloques claros azul (modo claro) */
    html.bardev-panel-theme-light #panel-horarios-turnos #horarios-root.admin-data-wrap {
      background: rgba(37, 99, 235, 0.04);
      border: 1px solid rgba(37, 99, 235, 0.16);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-section {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 50%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2);
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-section h3,
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-section-head h3 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table th,
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table td {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table th {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table .horarios-inp-label,
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table .horarios-inp-start,
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table .horarios-inp-end {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-day {
      background: rgba(37, 99, 235, 0.06);
      border: 1px solid rgba(37, 99, 235, 0.18);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-day > summary {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-day-body {
      border-top-color: rgba(37, 99, 235, 0.12);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-day-block {
      background: rgba(255, 255, 255, 0.85);
      border: 1px solid rgba(37, 99, 235, 0.15);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-emp-title {
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-emp-grid label,
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-emp-grid .horarios-emp-item {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-copy-banner {
      background: rgba(37, 99, 235, 0.1);
      border: 1px solid rgba(37, 99, 235, 0.22);
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-copy-banner .horarios-copy-from,
    html.bardev-panel-theme-light #panel-horarios-turnos select.horarios-copy-from {
      background: var(--c-blanco);
      border: 1px solid rgba(15, 23, 42, 0.14);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-card {
      background: rgba(37, 99, 235, 0.06);
      border: 1px solid rgba(37, 99, 235, 0.2);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-lead {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-lead--common {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-emp-block {
      border-top-color: rgba(37, 99, 235, 0.12);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-emp-name {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-table th,
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-table td {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-table th {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-turno-line strong {
      color: var(--c-azul-900b);
    }
    /* Fichajes: KPIs claros, cabecera azul, totales sin negro (modo claro) */
    html.bardev-panel-theme-light #panel-fichajes #fichajes-summary .informes-kpi-card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 55%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-summary .informes-kpi-card .sub {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-summary .informes-kpi-card strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-wrap.admin-data-wrap {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table thead th,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-emp-thead th {
      background: linear-gradient(180deg, var(--c-azul-600b) 0%, var(--c-azul-450) 100%);
      color: var(--c-blanco);
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tbody td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-row--vacacion td,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-row--festivo td,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-row--cerrado td {
      background: rgba(124, 58, 237, 0.06) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-row--festivo td {
      background: rgba(180, 83, 9, 0.07) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-row--cerrado td {
      background: rgba(15, 23, 42, 0.04) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-vacacion,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-festivo,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-cerrado {
      color: var(--c-indigo-600) !important;
      background: rgba(167, 139, 250, 0.28) !important;
      border-color: rgba(124, 58, 237, 0.35) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-festivo {
      color: var(--c-naranja-700b) !important;
      background: rgba(251, 191, 36, 0.28) !important;
      border-color: rgba(180, 83, 9, 0.35) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-cerrado {
      color: var(--c-pizarra-750) !important;
      background: rgba(148, 163, 184, 0.28) !important;
      border-color: rgba(100, 116, 139, 0.35) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-emp-subtotal td,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tfoot tr.fichajes-tfoot-total td {
      background: linear-gradient(90deg, rgba(37, 99, 235, 0.12), rgba(14, 165, 233, 0.08)) !important;
      color: var(--c-azul-900b) !important;
      border-top-color: rgba(37, 99, 235, 0.25) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-emp-subtotal .btn.secondary {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.35);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-emp-subtotal .btn.secondary:hover:not(:disabled) {
      background: rgba(37, 99, 235, 0.18);
      border-color: rgba(234, 88, 12, 0.35);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-emp-filter,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-date,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-month-emp-filter {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-panel-hoy label.sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-panel-mes > .card,
    html.bardev-panel-theme-light #panel-fichajes #fichajes-panel-config > .card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 50%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2) !important;
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-fichajes #fichajes-panel-config input[type='number'] {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    /* Vacaciones: KPIs claros, tabla azul, rejilla año, modal calendario */
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap.admin-data-wrap {
      background: rgba(37, 99, 235, 0.04);
      border: 1px solid rgba(37, 99, 235, 0.16);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .informes-kpi-card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 55%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(37, 99, 235, 0.2);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .informes-kpi-card .sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .informes-kpi-card strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-summary-past {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-summary-future {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-summary-future--has {
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .informes-chart-title {
      color: var(--c-azul-900b);
    }
    /* Estadísticas e informes: cajas pastel muy claras (sin gris) */
    html.bardev-panel-theme-light #panel-informes .informes-aside {
      background: linear-gradient(165deg, var(--c-blanco) 0%, var(--c-turquesa-50b) 42%, var(--c-indigo-50b) 100%);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
      box-shadow: 0 1px 10px rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light #panel-informes .informes-aside h3 {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-informes .informes-report-list li {
      border-bottom-color: rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-informes .informes-report-list button {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-informes .informes-report-list button:hover {
      color: var(--bv-g-047857, #047857);
      background: rgba(var(--bv-g-rgb-ecfdf5, 236, 253, 245), 0.65);
      border-radius: 8px;
    }
    html.bardev-panel-theme-light #panel-informes .informes-report-list button span:last-child {
      color: var(--c-pizarra-350);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-card {
      border: 1px solid rgba(15, 23, 42, 0.06);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-grid .informes-kpi-card:nth-child(4n + 1) {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-verde-50c) 100%);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-grid .informes-kpi-card:nth-child(4n + 2) {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 100%);
      border-color: rgba(37, 99, 235, 0.14);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-grid .informes-kpi-card:nth-child(4n + 3) {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-violeta-50b) 100%);
      border-color: rgba(168, 85, 247, 0.14);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-grid .informes-kpi-card:nth-child(4n + 4) {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-naranja-50) 100%);
      border-color: rgba(249, 115, 22, 0.14);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-card .sub {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-informes .informes-kpi-card strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-informes .informes-chart-wrap {
      background: transparent;
      border: none;
      border-radius: 0;
      padding: 0;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #panel-informes .informes-chart-title {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-informes .informes-chart-legend {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-informes .informes-mini-table th,
    html.bardev-panel-theme-light #panel-informes .informes-mini-table td {
      border-bottom-color: rgba(15, 23, 42, 0.06);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-informes .informes-mini-table th {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-informes .informes-hbar {
      background: rgba(226, 232, 240, 0.55);
    }
    html.bardev-panel-theme-light #panel-informes .informes-month-nav button,
    html.bardev-panel-theme-light #panel-informes .informes-month-nav input[type='month'] {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.1);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-informes .informes-client-top-arrow {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.1);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-informes .informes-client-top-period-lbl {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-informes .informes-pill {
      background: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.12);
      color: var(--bv-g-047857, #047857);
      border: 1px solid rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.28);
      font-weight: 600;
    }
    html.bardev-panel-theme-light #panel-informes .informes-pill--warn {
      background: rgba(220, 38, 38, 0.1);
      color: var(--c-rojo-600);
      border: 1px solid rgba(220, 38, 38, 0.32);
      font-weight: 700;
    }
    /* Modo claro: bloques que aún usaban rgba(0,0,0,…) o grises medios */
    html.bardev-panel-theme-light .inv-img-surface {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light .inv-search-wrap input[type='search'],
    html.bardev-panel-theme-light #inventario-wrap select,
    html.bardev-panel-theme-light #panel-comisiones .admin-data-table input[type='number'] {
      background: var(--c-blanco) !important;
      border: 1px solid rgba(15, 23, 42, 0.12) !important;
      color: var(--c-azul-900b) !important;
    }
    #comisiones-wrap.admin-data-wrap {
      border: none;
      background: transparent;
      overflow: visible;
    }
    #panel-comisiones .comis-main-tabs {
      margin-top: 12px;
      margin-bottom: 4px;
    }
    #panel-comisiones .comis-main-panel[hidden] {
      display: none !important;
    }
    #comisiones-wrap .inv-prod-cat-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
      padding: 4px 0 8px;
      margin: 0;
    }
    #comisiones-wrap .inv-prod-cat-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.1);
    }
    html.bardev-panel-theme-light #comisiones-wrap .inv-prod-cat-card {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.1);
      box-shadow: 0 1px 6px rgba(15, 23, 42, 0.04);
    }
    #comisiones-wrap .inv-prod-cat-card__head {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 12px;
      background: rgba(100, 116, 139, 0.28);
      border-bottom: 1px solid var(--border);
      min-height: 36px;
    }
    html.bardev-panel-theme-light #comisiones-wrap .inv-prod-cat-card__head {
      background: var(--c-gris-50f);
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    #comisiones-wrap .comis-emp-card .inv-prod-cat-card__head {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    #comisiones-wrap .comis-emp-card .svc-cat-table-header__txt strong {
      font-size: 0.95rem;
      line-height: 1.2;
    }
    #panel-comisiones .comis-emp-avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      display: block;
    }
    #panel-comisiones .comis-emp-avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
      font-weight: 700;
      font-size: 0.85rem;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    html.bardev-panel-theme-light #panel-comisiones .comis-emp-avatar--ph {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.25);
    }
    #comis-liq-wrap .comis-emp-name-cell,
    #comis-consulta-wrap .comis-emp-name-cell {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    #comis-liq-wrap .comis-emp-name-cell strong,
    #comis-consulta-wrap .comis-emp-name-cell strong {
      line-height: 1.25;
    }
    #comis-liq-wrap .comis-emp-avatar--sm,
    #comis-consulta-wrap .comis-emp-avatar--sm {
      width: 28px;
      height: 28px;
    }
    #comis-liq-wrap .comis-emp-avatar--sm.comis-emp-avatar--ph,
    #comis-consulta-wrap .comis-emp-avatar--sm.comis-emp-avatar--ph {
      font-size: 0.68rem;
    }
    #comis-liq-wrap .comis-liq-emp-cell,
    #comis-consulta-wrap .comis-liq-emp-cell {
      vertical-align: top;
      min-width: 9rem;
    }
    #comis-liq-wrap tr.comis-liq-emp-group td.comis-liq-emp-cell,
    #comis-consulta-wrap tr.comis-liq-emp-group td.comis-liq-emp-cell {
      background: rgba(100, 116, 139, 0.1);
    }
    html.bardev-panel-theme-light #comis-liq-wrap tr.comis-liq-emp-group td.comis-liq-emp-cell,
    html.bardev-panel-theme-light #comis-consulta-wrap tr.comis-liq-emp-group td.comis-liq-emp-cell {
      background: rgba(241, 245, 249, 0.95);
    }
    #comis-liq-wrap tr.comis-liq-emp-group + tr.comis-liq-emp-group td,
    #comis-consulta-wrap tr.comis-liq-emp-group + tr.comis-liq-emp-group td {
      border-top: 2px solid var(--border);
    }
    html.bardev-panel-theme-light #comis-liq-wrap tr.comis-liq-emp-group + tr.comis-liq-emp-group td,
    html.bardev-panel-theme-light #comis-consulta-wrap tr.comis-liq-emp-group + tr.comis-liq-emp-group td {
      border-top-color: rgba(15, 23, 42, 0.12);
    }
    #panel-comisiones .comis-consulta-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 8px;
    }
    #panel-comisiones .comis-consulta-head > .sub {
      margin: 0;
      flex: 1 1 220px;
    }
    #panel-comisiones .comis-consulta-head .gv-head-actions,
    #panel-comisiones #comis-consulta-custom-actions.gv-head-actions {
      flex: 0 0 auto;
    }
    #panel-comisiones .comis-consulta-head .gv-head-actions .btn,
    #panel-comisiones #comis-consulta-custom-actions .btn {
      width: auto;
    }
    html.bardev-panel-theme-light .svc-f-image-preview {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .svc-modal-agenda-preview-wrap {
      background: linear-gradient(180deg, var(--c-blanco) 0%, var(--c-gris-50f) 100%);
      border-color: rgba(37, 99, 235, 0.16);
    }
    html.bardev-panel-theme-light .svc-oferta-webapp-toggle--on {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
    }
    html.bardev-panel-theme-light .svc-oferta-webapp-toggle--off {
      background: var(--c-gris-50b);
      color: var(--c-pizarra-550);
      border: 1px solid rgba(15, 23, 42, 0.1);
      opacity: 1;
    }
    html.bardev-panel-theme-light .prov-card {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.1);
      box-shadow: 0 1px 6px rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light #panel-proveedores .prov-card__corner-btns .btn.secondary.btn-icon {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
      min-height: 0 !important;
      max-width: none !important;
      padding: 0 !important;
      margin-top: 0 !important;
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light #panel-proveedores .prov-card__corner-btns .btn-icon--danger {
      background: var(--c-rojo-50b);
      border-color: rgba(239, 68, 68, 0.28);
    }
    html.bardev-panel-theme-light #panel-proveedores .prov-card__corner-btns .btn-icon--danger:hover:not(:disabled) {
      background: var(--c-rojo-50);
    }
    html.bardev-panel-theme-light #panel-usuarios .usuarios-online-switch {
      background: var(--c-pizarra-100);
      border-color: rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light #panel-usuarios .usuarios-online-switch[aria-checked='true'] {
      background: var(--bv-g-34d399, #34d399);
      border-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.45);
    }
    html.bardev-panel-theme-light .dcp-col {
      background: var(--bd-brand-beige, #fcf7ea);
      border-color: rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light .dcp-tabs-wrap {
      background: var(--bd-brand-beige, #fcf7ea);
      border-color: rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light .dcp-col__head {
      background: color-mix(in srgb, var(--bd-brand-beige, #fcf7ea) 82%, var(--c-beis-150b));
      border-bottom-color: rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light #panel-dev-distribuidores .informes-tab-panel {
      background: transparent;
    }
    html.bardev-panel-theme-light .dcp-tab-fields input,
    html.bardev-panel-theme-light .dcp-tab-fields select,
    html.bardev-panel-theme-light .dcp-tab-fields textarea {
      background: var(--bd-brand-beige, #fcf7ea);
    }
    html.bardev-panel-theme-light .dcp-list-item__actions .btn.secondary.btn-icon,
    html.bardev-panel-theme-light .dcp-prod-row__actions .btn.secondary.btn-icon,
    html.bardev-panel-theme-light .dcp-tree-item__actions .btn.secondary.btn-icon {
      background: var(--bd-n-0);
      border: 1px solid var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .dcp-list-item__actions .btn.secondary.btn-icon:hover:not(:disabled),
    html.bardev-panel-theme-light .dcp-prod-row__actions .btn.secondary.btn-icon:hover:not(:disabled),
    html.bardev-panel-theme-light .dcp-tree-item__actions .btn.secondary.btn-icon:hover:not(:disabled) {
      background: var(--c-gris-50b);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .dcp-tree-item:hover {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light .dcp-tree-item--active {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .informes-kpi-card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-gris-50f) 100%);
      border-color: rgba(15, 23, 42, 0.08);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light .informes-kpi-card .sub {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .informes-kpi-card strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .informes-aside {
      background: linear-gradient(165deg, var(--c-blanco) 0%, var(--c-turquesa-50b) 42%, var(--c-indigo-50b) 100%);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
    }
    html.bardev-panel-theme-light .informes-report-list li {
      border-bottom-color: rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .agenda-cobro-line__btn.btn-icon {
      background: var(--c-gris-50f);
      border-color: rgba(37, 99, 235, 0.25);
    }
    html.bardev-panel-theme-light .agenda-cobro-line__btn.btn-icon--danger {
      background: var(--c-rojo-50b);
      border-color: rgba(239, 68, 68, 0.3);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vacaciones-year-cell--emp,
    html.bardev-panel-theme-light #panel-vacaciones .vacaciones-year-cell--slot {
      border-bottom-color: rgba(15, 23, 42, 0.08) !important;
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .admin-data-table thead th {
      background: linear-gradient(180deg, var(--c-azul-150) 0%, var(--c-azul-50) 100%);
      color: var(--c-azul-650);
      border-bottom: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .admin-data-table tbody td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .admin-data-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-status--past {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-status--active {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-status--upcoming {
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .table-row-actions .btn.secondary:not(.btn-icon) {
      background: rgba(37, 99, 235, 0.08);
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: none;
    }
    html.bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .table-row-actions .btn.secondary:not(.btn-icon):hover:not(:disabled) {
      filter: brightness(1.05);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-modal__panel {
      background: var(--c-blanco) !important;
      border: 1px solid rgba(37, 99, 235, 0.2) !important;
      box-shadow: 0 24px 56px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-f-employee {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-nav button {
      background: rgba(37, 99, 235, 0.08);
      border: 1px solid rgba(37, 99, 235, 0.22);
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-nav button:hover {
      background: rgba(37, 99, 235, 0.14);
      border-color: rgba(234, 88, 12, 0.35);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-title {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-weekdays {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day {
      background: rgba(37, 99, 235, 0.06);
      color: var(--c-azul-900b);
    }
    /* Misma cadena de especificidad que .vac-cal-day: el rango completo debe verse (no solo inicio/fin). */
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--inrange {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.26);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--start {
      background: var(--bv-g-10b981, #10b981) !important;
      color: var(--c-verde-850) !important;
      font-weight: 700;
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--end {
      background: var(--bv-g-059669, #059669) !important;
      color: var(--c-blanco) !important;
      font-weight: 700;
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--single {
      background: var(--bv-g-10b981, #10b981) !important;
      color: var(--c-verde-850) !important;
      font-weight: 700;
      box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--past:not(.vac-cal-day--inrange):not(.vac-cal-day--start):not(.vac-cal-day--end):not(.vac-cal-day--single),
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--blocked:not(.vac-cal-day--inrange):not(.vac-cal-day--start):not(.vac-cal-day--end):not(.vac-cal-day--single) {
      background: rgba(148, 163, 184, 0.22);
      color: var(--c-pizarra-550);
      text-decoration: line-through;
      cursor: not-allowed;
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day:hover:not(:disabled) {
      background: rgba(37, 99, 235, 0.14);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--inrange:hover:not(:disabled) {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.38);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--start:hover:not(:disabled),
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--end:hover:not(:disabled),
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--single:hover:not(:disabled) {
      filter: brightness(1.05);
    }
    html.bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-hint {
      color: var(--c-pizarra-650);
    }
    /* Festivos: tabla y tarjetas en azules claros (modo claro) */
    html.bardev-panel-theme-light #panel-festivos #festivos-list.admin-data-wrap {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table thead th {
      background: linear-gradient(180deg, var(--c-azul-150) 0%, var(--c-azul-50) 100%);
      color: var(--c-azul-650);
      border-bottom: 1px solid rgba(37, 99, 235, 0.22);
    }
    html.bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table tbody td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table td:last-child .btn.secondary.btn-icon--danger {
      background: rgba(239, 68, 68, 0.08) !important;
      border: 1px solid rgba(239, 68, 68, 0.28) !important;
    }
    html.bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table td:last-child .btn.secondary.btn-icon--danger:hover:not(:disabled) {
      background: rgba(239, 68, 68, 0.12) !important;
      border-color: rgba(239, 68, 68, 0.45) !important;
    }
    html.bardev-panel-theme-light #panel-festivos .card {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 48%, var(--c-gris-50f) 100%) !important;
      border: 1px solid rgba(37, 99, 235, 0.2) !important;
      box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-festivos .card h3 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-festivos .card label.sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-festivos #festivo-date,
    html.bardev-panel-theme-light #panel-festivos #festivo-label {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    /* General (panel inicio / PWA): campos claros y texto con contraste */
    html.bardev-panel-theme-light #panel-inicio {
      background: linear-gradient(165deg, var(--c-azul-50d) 0%, var(--c-blanco) 48%, var(--c-naranja-50) 100%);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-webapp {
      background: transparent !important;
      background-image: none !important;
      border: none !important;
      box-shadow: none !important;
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio > h2,
    html.bardev-panel-theme-light #panel-webapp > h2 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio > .sub,
    html.bardev-panel-theme-light #panel-webapp > .sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block,
    html.bardev-panel-theme-light #panel-inicio #inicio-members-block {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 52%, var(--c-gris-50f) 100%) !important;
      backdrop-filter: none !important;
      border: 1px solid rgba(37, 99, 235, 0.22) !important;
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block h3,
    html.bardev-panel-theme-light #panel-inicio #inicio-members-block h3 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block > p.sub,
    html.bardev-panel-theme-light #panel-inicio #inicio-members-block > p.sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-members-block label {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-members-block label[style*='cursor'] {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #inicio-member-edit-modal .bardev-modal-surface {
      background: rgba(37, 99, 235, 0.08) !important;
      border: 1px solid rgba(37, 99, 235, 0.22) !important;
    }
    html.bardev-panel-theme-light #inicio-member-edit-modal h3,
    html.bardev-panel-theme-light #inicio-member-edit-modal h4 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='text'],
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='email'],
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='password'],
    html.bardev-panel-theme-light #inicio-member-edit-modal input[type='text'],
    html.bardev-panel-theme-light #inicio-member-edit-modal input[type='email'] {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block input::placeholder,
    html.bardev-panel-theme-light #inicio-member-edit-modal input::placeholder {
      color: rgba(15, 23, 42, 0.45);
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='radio'],
    html.bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='checkbox'],
    html.bardev-panel-theme-light #inicio-member-edit-modal select {
      accent-color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-panel-permissions label,
    html.bardev-panel-theme-light #panel-inicio #inicio-edit-permissions label {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-members-list {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-members-list .sub {
      color: var(--c-pizarra-550) !important;
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-list-wrap,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-list-wrap {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      backdrop-filter: none;
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-head,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-head {
      background: linear-gradient(180deg, var(--c-cielo-50) 0%, var(--c-azul-50d) 100%);
      color: var(--c-azul-600b);
      border-bottom: 1px solid rgba(37, 99, 235, 0.15);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-item,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-item {
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      background: var(--c-blanco);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-list .menu-comp-item:nth-child(even),
    html.bardev-panel-theme-light #panel-webapp .menu-comp-list .menu-comp-item:nth-child(even) {
      background: var(--c-gris-50f);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-item:hover,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-item:hover {
      background: rgba(37, 99, 235, 0.06);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-drag,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-drag {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-key,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-key {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-item input[type='text'],
    html.bardev-panel-theme-light #panel-webapp .menu-comp-item input[type='text'] {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-vis-cell,
    html.bardev-panel-theme-light #panel-webapp .menu-comp-vis-cell {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio .menu-comp-vis-cell input[type='checkbox'],
    html.bardev-panel-theme-light #panel-webapp .menu-comp-vis-cell input[type='checkbox'] {
      accent-color: var(--c-verde-650);
    }
    /* Redes sociales y enlaces de la app. Sin fondo propio: el blanco no es fondo de una página de contenidos
       (titular, 11-10-2026); se ve el beis corporativo del panel, como en el resto de General. */
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes,
    html.bardev-panel-theme-light #panel-config-redes {
      background: transparent;
      border: none;
      box-shadow: none;
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes > h2,
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes > h3,
    html.bardev-panel-theme-light #panel-config-redes > h2,
    html.bardev-panel-theme-light #panel-config-redes > h3 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes > .sub,
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes p.sub,
    html.bardev-panel-theme-light #panel-config-redes > .sub,
    html.bardev-panel-theme-light #panel-config-redes p.sub {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes input[type='url'],
    html.bardev-panel-theme-light #panel-config-redes input[type='url'] {
      background: var(--c-gris-50f) !important;
      border: 1px solid rgba(15, 23, 42, 0.14) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes input[type='url']::placeholder,
    html.bardev-panel-theme-light #panel-config-redes input[type='url']::placeholder {
      color: rgba(15, 23, 42, 0.45);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes input[type='url']:focus,
    html.bardev-panel-theme-light #panel-config-redes input[type='url']:focus {
      outline: none;
      border-color: rgba(37, 99, 235, 0.45) !important;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes .social-block-head .network-name,
    html.bardev-panel-theme-light #panel-config-redes .social-block-head .network-name {
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes label.social-vis-toggle,
    html.bardev-panel-theme-light #panel-config-redes label.social-vis-toggle {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes label.social-vis-toggle input[type='checkbox'],
    html.bardev-panel-theme-light #panel-config-redes label.social-vis-toggle input[type='checkbox'] {
      accent-color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes hr,
    html.bardev-panel-theme-light #panel-config-redes hr {
      border-top-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-personalizacion .pwa-card-theme-block,
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-personalizacion .pwa-app-theme-block {
      border-top: none;
    }
    .pwa-app-theme-pick {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 14px;
    }
    .pwa-app-theme-pick__opt {
      flex: 1;
      min-width: 148px;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 8px;
      padding: 12px;
      border-radius: 12px;
      border: 2px solid var(--border);
      background: rgba(0, 0, 0, 0.12);
      cursor: pointer;
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light .pwa-app-theme-pick__opt {
      background: rgba(255, 255, 255, 0.72);
    }
    .pwa-app-theme-pick__opt:has(input:checked) {
      border-color: var(--ok, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
    }
    .pwa-app-theme-pick__opt input {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
    }
    .pwa-app-theme-pick__phone {
      height: 118px;
      border-radius: 16px;
      border: 2px solid rgba(15, 23, 42, 0.16);
      padding: 12px 14px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      box-sizing: border-box;
    }
    .pwa-app-theme-pick__phone--dark {
      background: var(--c-negro);
      border-color: #2a2a2a;
    }
    .pwa-app-theme-pick__phone--light {
      background: var(--c-blanco);
      border-color: #e4e4e7;
    }
    .pwa-app-theme-pick__phone-bar {
      display: block;
      height: 6px;
      width: 38%;
      border-radius: 99px;
      margin: 0 auto;
      opacity: 0.4;
    }
    .pwa-app-theme-pick__phone--dark .pwa-app-theme-pick__phone-bar {
      background: var(--c-blanco);
    }
    .pwa-app-theme-pick__phone--light .pwa-app-theme-pick__phone-bar {
      background: var(--c-gris-950d);
    }
    .pwa-app-theme-pick__phone-card {
      display: block;
      flex: 1;
      border-radius: 10px;
      border: 1px solid;
    }
    .pwa-app-theme-pick__phone--dark .pwa-app-theme-pick__phone-card {
      background: rgba(255, 255, 255, 0.08);
      border-color: rgba(255, 255, 255, 0.18);
    }
    .pwa-app-theme-pick__phone--light .pwa-app-theme-pick__phone-card {
      background: rgba(15, 23, 42, 0.04);
      border-color: rgba(15, 23, 42, 0.12);
    }
    .pwa-app-theme-pick__name {
      font-weight: 700;
      font-size: 0.95rem;
      color: var(--text, #0f172a);
    }
    .pwa-card-theme-grid {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 16px 24px;
      align-items: end;
      margin-top: 14px;
    }
    @media (max-width: 640px) {
      .pwa-card-theme-grid {
        grid-template-columns: 1fr;
      }
    }
    .pwa-card-theme-grid__slider {
      min-width: 200px;
    }
    #personalizacion-panel-colores .pers-colores-save {
      margin-top: 16px;
      justify-content: flex-start;
    }
    #personalizacion-panel-colores .pers-colores-save .btn {
      width: auto;
    }
    #personalizacion-panel-colores .pers-colores-save .msg {
      margin: 0;
    }
    /* Llamadas entrantes: contraste en modo claro (títulos / enlaces / bloques internos) */
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas > h2,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes > h2 {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide {
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-azul-50d) 55%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(37, 99, 235, 0.22);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide > h3,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide > h3 {
      color: var(--c-azul-650);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide > p.sub,
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide ol.sub,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide > p.sub,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide ol.sub {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide ol.sub li,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide ol.sub li {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide ol.sub code,
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block code,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide ol.sub code,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block code {
      background: rgba(15, 23, 42, 0.06);
      color: var(--c-azul-900b);
      padding: 0.1em 0.35em;
      border-radius: 4px;
      font-size: 0.92em;
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide a:not(.incoming-call-zip-btn),
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide a:not(.incoming-call-zip-btn) {
      color: var(--c-azul-500);
      text-shadow: none;
      font-weight: 600;
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide a:not(.incoming-call-zip-btn):hover,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide a:not(.incoming-call-zip-btn):hover {
      color: var(--c-azul-600b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide a:not(.incoming-call-zip-btn):focus-visible,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide a:not(.incoming-call-zip-btn):focus-visible {
      outline: 2px solid rgba(37, 99, 235, 0.65);
      outline-offset: 2px;
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block {
      background: var(--c-ambar-50);
      border: 1px solid rgba(217, 119, 6, 0.35);
      box-shadow: 0 1px 4px rgba(180, 83, 9, 0.08);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block p.sub,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block p.sub {
      color: var(--c-pizarra-750) !important;
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block p.sub:first-of-type,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block p.sub:first-of-type {
      color: var(--c-naranja-700b) !important;
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block strong,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block strong {
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas a.incoming-call-zip-btn.incoming-call-zip-btn--suggested,
    html.bardev-panel-theme-light #panel-config-llamadas-entrantes a.incoming-call-zip-btn.incoming-call-zip-btn--suggested {
      box-shadow:
        0 0 0 3px rgba(37, 99, 235, 0.35),
        0 6px 20px rgba(15, 23, 42, 0.12);
    }
    /* Developer: Barberías / Cuentas developer / Centralita — sin caja envolvente; aire vía .main-area */
    #panel-barberias .dev-barberias-head,
    #panel-dev-centralita .dev-barberias-head,
    #panel-dev-developers .dev-developers-head {
      margin: 0 0 20px;
      gap: 12px 20px;
      align-items: center;
    }
    html.bardev-panel-theme-light #panel-barberias .dev-barberias-head > h2,
    html.bardev-panel-theme-light #panel-dev-centralita .dev-barberias-head > h2,
    html.bardev-panel-theme-light #panel-dev-developers .dev-developers-head > h2 {
      margin: 0 !important;
      padding: 0 !important;
    }
    #panel-barberias .dev-barberias-search-wrap {
      position: relative;
      display: inline-flex;
      align-items: center;
      width: 240px;
      max-width: min(240px, 100%);
      flex: 0 1 240px;
      height: 40px;
      margin: 0;
    }
    #panel-barberias .dev-barberias-search-ico {
      position: absolute;
      left: 12px;
      top: 50%;
      transform: translateY(-50%);
      width: 16px;
      height: 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--bd-ink-soft, #6b7280);
      pointer-events: none;
      z-index: 1;
    }
    #panel-barberias .dev-barberias-search-wrap input[type='search'] {
      width: 100%;
      height: 40px;
      /* Gana a panel-ds `input { padding: 0 12px !important }` — la lupa va a 12px. */
      padding: 0 12px 0 40px !important;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
      font-size: 0.88rem;
      box-sizing: border-box;
      font-family: inherit;
      -webkit-appearance: none;
      appearance: none;
    }
    #panel-barberias .dev-barberias-search-wrap input[type='search']::-webkit-search-decoration,
    #panel-barberias .dev-barberias-search-wrap input[type='search']::-webkit-search-cancel-button,
    #panel-barberias .dev-barberias-search-wrap input[type='search']::-webkit-search-results-button,
    #panel-barberias .dev-barberias-search-wrap input[type='search']::-webkit-search-results-decoration {
      display: none;
    }
    #panel-barberias .dev-barberias-search-wrap input[type='search']:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    html.bardev-panel-theme-light #panel-barberias .dev-barberias-search-wrap input[type='search'] {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #e7eaf0);
      color: var(--bd-ink, #111827);
      padding: 0 12px 0 40px !important;
    }
    #panel-barberias .dev-barberias-head__actions,
    #panel-dev-centralita .dev-barberias-head__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      flex: 0 0 auto;
      margin-left: auto;
      padding-top: 2px;
    }
    #panel-barberias .dev-barberias-head__actions .btn,
    #panel-dev-centralita .dev-barberias-head__actions .btn,
    #panel-dev-developers .dev-developers-head #btn-dev-developer-create-open {
      width: auto !important;
      max-width: none !important;
      min-width: 0;
      flex: 0 0 auto;
      white-space: nowrap;
      margin: 0 !important;
    }
    #panel-barberias #msg-barberias,
    #panel-dev-centralita #msg-centralita,
    #panel-dev-developers #msg-dev-developers {
      margin: 0 0 12px;
    }
    #panel-barberias #barberias-list-wrap,
    #panel-dev-centralita #centralita-list-wrap,
    #panel-dev-developers #dev-developers-list {
      margin-top: 0;
    }
    html.bardev-panel-theme-light #panel-dev-developers > h3 {
      color: var(--c-azul-900b);
      margin-top: 8px;
      margin-bottom: 12px;
    }
    /* Centralita: punto de estado en uso (rojo) / libre (verde) */
    .centralita-dot {
      display: inline-block;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      margin-right: 8px;
      vertical-align: middle;
      box-shadow: 0 0 0 3px transparent;
    }
    .centralita-dot--free {
      background: var(--bv-g-10b981, #10b981);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.22);
    }
    .centralita-dot--busy {
      background: var(--c-rojo-400);
      box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.22);
    }
    .centralita-dot--live {
      background: var(--bv-g-10b981, #10b981);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.28);
      animation: centralita-dot-live 1.4s ease-in-out infinite;
    }
    @keyframes centralita-dot-live {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.45; }
    }
    .centralita-state-label {
      vertical-align: middle;
    }
    .centralita-calls-empty {
      color: var(--muted);
    }
    .centralita-calls-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .centralita-call-item {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      padding: 6px 10px;
      border-radius: 8px;
      background: rgba(239, 68, 68, 0.08);
      border: 1px solid rgba(239, 68, 68, 0.18);
      font-size: 12.5px;
      line-height: 1.3;
    }
    .centralita-call-item--ringing,
    .centralita-call-item--active,
    .centralita-call-item--booking-active {
      background: rgba(239, 68, 68, 0.08);
      border-color: rgba(239, 68, 68, 0.18);
    }
    .centralita-call-item--booking {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.1);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.28);
    }
    .centralita-call-item--missed {
      background: rgba(100, 116, 139, 0.1);
      border-color: rgba(100, 116, 139, 0.22);
    }
    .centralita-call-item__tenant {
      font-weight: 600;
      color: var(--c-azul-900b);
    }
    .centralita-call-item__who {
      color: var(--c-pizarra-650);
    }
    .centralita-call-item__status {
      margin-left: auto;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      color: var(--c-rojo-400);
      font-weight: 600;
    }
    .centralita-call-item--booking .centralita-call-item__status {
      color: var(--bv-g-047857, #047857);
    }
    .centralita-call-item--missed .centralita-call-item__status {
      color: var(--c-pizarra-550);
    }
    .centralita-call-item--booking-active .centralita-call-item__status {
      color: var(--bv-g-047857, #047857);
    }
    .centralita-name-cell {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      max-width: 100%;
    }
    .centralita-name-cell__text {
      font-weight: 600;
      color: var(--c-azul-900b);
    }
    .centralita-name-edit {
      border: 1px solid rgba(15, 23, 42, 0.14);
      background: var(--c-blanco);
      color: var(--bv-g-047857, #047857);
      border-radius: 6px;
      width: 28px;
      height: 28px;
      padding: 0;
      cursor: pointer;
      line-height: 1;
      flex-shrink: 0;
    }
    .centralita-name-edit:hover {
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.45);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.08);
    }
    .centralita-live-hint {
      margin: 10px 2px 0;
      font-size: 12px;
      color: var(--c-pizarra-550);
    }
    .centralita-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin: 16px 0 18px;
    }
    @media (max-width: 1100px) {
      .centralita-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 640px) {
      .centralita-stats {
        grid-template-columns: 1fr;
      }
    }
    .centralita-stat-card {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      padding: 14px 16px 12px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-0, #fff);
      box-shadow: var(--bd-shadow-sm, 0 1px 4px rgba(15, 23, 42, 0.06));
    }
    .centralita-stat-card .bd-label {
      margin: 0;
    }
    .centralita-stat-card > strong {
      font-size: 1.45rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--bd-ink, #0f172a);
      font-variant-numeric: tabular-nums;
      line-height: 1.15;
    }
    .centralita-stat-card > .sub {
      margin: 0;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #334155);
    }
    .centralita-stat-card__cmp {
      margin-top: 6px;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-stat-card__detail {
      margin-top: 6px;
      font-size: 0.78rem;
      font-weight: 600;
      line-height: 1.35;
      color: var(--bd-ink-soft, #334155);
    }
    .centralita-stat-card__detail:empty {
      display: none;
    }
    .centralita-stat-month {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 10px;
    }
    .centralita-stat-month .btn-icon {
      width: 40px;
      height: 40px;
      min-width: 40px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .centralita-stat-month__body {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
    }
    .centralita-stat-month__label {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--bd-ink-soft, #334155);
      text-align: center;
    }
    .centralita-stat-month__body strong {
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--bd-ink, #0f172a);
      font-variant-numeric: tabular-nums;
    }
    html.bardev-panel-theme-light .centralita-stat-card {
      background: var(--c-blanco);
      border-color: var(--bd-n-200, #e2e8f0);
    }
    .centralita-cost-board {
      margin-top: 16px;
    }
    .centralita-cost-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    @media (max-width: 1100px) {
      .centralita-cost-grid {
        grid-template-columns: 1fr;
      }
    }
    .centralita-cost-card > strong {
      margin-top: 8px;
    }
    .centralita-cost-period {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 8px 10px;
      align-items: center;
      margin-top: 8px;
    }
    .centralita-cost-period .bd-label {
      margin: 0;
    }
    .centralita-cost-date {
      height: 40px;
      width: 100%;
      min-width: 0;
      padding: 0 10px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font-size: 0.88rem;
      box-sizing: border-box;
    }
    .centralita-cost-period .btn.primary {
      grid-column: 1 / -1;
      height: 40px;
      width: auto;
      justify-self: start;
    }
    .centralita-history__dur,
    .centralita-recent-row__dur {
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-board {
      margin: 22px 0 0;
      padding: 16px 16px 14px;
      border: 1px solid var(--bd-n-200, rgba(15, 23, 42, 0.1));
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-0, #fff);
      box-sizing: border-box;
    }
    .centralita-board__title {
      margin: 0 0 4px;
    }
    .centralita-board__hint {
      margin: 0 0 12px;
    }
    .centralita-live-shops {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 14px;
    }
    .centralita-live-shops[hidden] {
      display: none;
    }
    .centralita-live-shop-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-size: 0.78rem;
      font-weight: 700;
    }
    .centralita-live-shop-chip strong {
      font-variant-numeric: tabular-nums;
    }
    .centralita-live-shop {
      margin: 0 0 16px;
    }
    .centralita-live-shop:last-child {
      margin-bottom: 0;
    }
    .centralita-live-shop__name {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
      font-size: 0.92rem;
      font-weight: 800;
      color: var(--bd-ink, #0f172a);
    }
    .centralita-live-shop__n {
      font-size: 0.72rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-live-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 12px;
    }
    .centralita-live-empty,
    .centralita-recent-empty {
      margin: 0;
      color: var(--bd-ink-soft, #334155);
      font-size: 0.9rem;
    }
    .centralita-live-card {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 14px 14px 12px;
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-50, #f8fafc);
      box-shadow: var(--bd-shadow-sm, 0 1px 4px rgba(15, 23, 42, 0.06));
    }
    .centralita-live-card__brand {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      padding-bottom: 10px;
      margin-bottom: 2px;
      border-bottom: 1px solid var(--bd-n-200, #e2e8f0);
    }
    .centralita-live-card__logo {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      object-fit: cover;
      flex-shrink: 0;
      background: var(--bd-n-50, #f8fafc);
      border: 1px solid var(--bd-n-200, #e2e8f0);
    }
    .centralita-live-card__logo--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
    }
    .centralita-live-card__brand-name {
      min-width: 0;
      font-size: 1rem;
      font-weight: 800;
      color: var(--bd-ink, #0f172a);
      line-height: 1.25;
    }
    .centralita-live-card__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .centralita-live-card__badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--bv-g-047857, #047857);
    }
    .centralita-live-card__elapsed {
      font-size: 1.15rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.02em;
      color: var(--bv-g-047857, #047857);
      line-height: 1;
    }
    .centralita-live-card__meter {
      display: inline-flex;
      align-items: baseline;
      gap: 10px;
      flex-shrink: 0;
    }
    .centralita-call-cost {
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      color: var(--bd-ink, #0f172a);
      white-space: nowrap;
    }
    .centralita-call-cost--live {
      font-size: 0.92rem;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-recent-row__when .centralita-call-cost,
    .centralita-history__when .centralita-call-cost {
      font-size: 0.78rem;
      color: var(--bd-ink, #0f172a);
    }
    .centralita-cost-break {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 8px;
      max-width: 100%;
    }
    .centralita-cost-break--live {
      flex-direction: column;
      align-items: flex-end;
      gap: 4px;
    }
    .centralita-cost-svcs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 8px;
      margin-top: 8px;
    }
    .centralita-cost-svcs--compact {
      margin-top: 0;
    }
    .centralita-cost-svc {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 3px 7px 3px 4px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 999px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font-size: 0.72rem;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      line-height: 1;
      white-space: nowrap;
    }
    .centralita-cost-logo {
      width: 16px;
      height: 16px;
      display: block;
      flex-shrink: 0;
      border-radius: 4px;
    }
    .centralita-stat-percall {
      display: block;
      margin-top: 8px;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    .centralita-hist-link {
      display: inline-flex;
      align-items: center;
      margin-top: 6px;
      padding: 0;
      border: 0;
      background: none;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font: inherit;
      font-size: 0.8rem;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
      cursor: pointer;
      width: auto;
    }
    .centralita-hist-link:hover,
    .centralita-hist-link:focus-visible {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    .centralita-cost-svc__amt {
      letter-spacing: -0.01em;
    }
    .centralita-recent-row__when .centralita-cost-break,
    .centralita-history__when .centralita-cost-break {
      display: flex;
      width: 100%;
      margin-top: 4px;
    }
    .centralita-live-card__when {
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #334155);
      font-weight: 600;
    }
    .centralita-live-card__row {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
    }
    .centralita-live-card__row strong {
      font-size: 0.95rem;
      font-weight: 800;
      color: var(--bd-ink, #0f172a);
      line-height: 1.25;
    }
    .centralita-live-card__row span {
      font-size: 0.8rem;
      color: var(--bd-ink-soft, #334155);
      line-height: 1.35;
    }
    .centralita-recent-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .centralita-recent-more {
      display: flex;
      justify-content: flex-end;
      margin: 12px 0 0;
    }
    .centralita-recent-more .btn {
      width: auto;
      height: 40px;
    }
    .fact-more {
      display: flex;
      justify-content: center;
      margin: 12px 0 0;
    }
    .fact-more .btn {
      width: auto;
      height: 40px;
    }
    .centralita-recent-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) max-content;
      gap: 6px 12px;
      padding: 12px 14px;
      border: 1px solid var(--bd-n-200, rgba(15, 23, 42, 0.1));
      border-radius: 12px;
      background: var(--bd-n-50, #f8fafc);
    }
    .centralita-recent-row__when {
      grid-column: 1 / -1;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    .centralita-recent-row__who,
    .centralita-recent-row__shop {
      font-size: 0.86rem;
      color: var(--bd-ink-soft, #334155);
      min-width: 0;
    }
    .centralita-recent-row__when {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .centralita-recent-row__purposes {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .centralita-purpose {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 6px;
      flex-shrink: 0;
    }
    .centralita-purpose svg {
      width: 14px;
      height: 14px;
      display: block;
    }
    .centralita-purpose--booking {
      color: var(--bv-g-047857, #047857);
      background: var(--bv-g-ecfdf5, #ecfdf5);
    }
    .centralita-purpose--modify {
      color: var(--c-naranja-650b);
      background: var(--c-ambar-50);
    }
    .centralita-purpose--cancel {
      color: var(--c-rojo-600);
      background: var(--c-rojo-50b);
    }
    .centralita-purpose--consult {
      color: var(--c-azul-500);
      background: var(--c-azul-50d);
    }
    .centralita-recent-row__body {
      grid-column: 1;
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
    }
    .centralita-recent-row__logo {
      width: 40px;
      height: 40px;
      border-radius: 10px;
    }
    .centralita-recent-row__meta {
      min-width: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .centralita-recent-row__shop {
      grid-column: auto;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .centralita-svc-oneline {
      display: block;
      min-width: 0;
      max-width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .centralita-recent-row__svc {
      font-size: 0.8rem;
      color: var(--bd-ink-soft, #334155);
    }
    .centralita-recent-row__out--consult {
      background: var(--c-azul-50d);
      border-color: var(--c-azul-150);
      color: var(--c-azul-500);
    }
    .centralita-recent-row__out--cancel {
      background: var(--c-rojo-50b);
      border-color: var(--c-rojo-100);
      color: var(--c-rojo-600);
    }
    .centralita-recent-row__out--modify {
      background: var(--c-ambar-50);
      border-color: var(--c-ambar-250);
      color: var(--c-naranja-650b);
    }
    .centralita-recent-row__who {
      grid-column: 1;
    }
    .centralita-recent-row__out,
    .centralita-recent-row__outs {
      grid-column: 2;
      grid-row: 2 / 4;
      justify-self: end;
      align-self: start;
      margin-left: auto;
    }
    .centralita-recent-row__outs {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 6px;
    }
    .centralita-recent-row__body {
      grid-column: 1;
    }
    .centralita-history__bookings {
      grid-column: 1 / -1;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .centralita-recent-row__meta .centralita-history__bookings {
      margin-top: 4px;
    }
    button.centralita-recent-row__out--link {
      cursor: pointer;
      font: inherit;
      line-height: inherit;
    }
    button.centralita-recent-row__out--link:hover,
    button.centralita-recent-row__out--link:focus-visible {
      filter: brightness(0.96);
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 2px;
    }
    .centralita-recent-row__out.bd-pill:not(.bd-pill--ok) {
      background: var(--c-gris-50b);
      border-color: var(--c-pizarra-150);
      color: var(--c-pizarra-650);
    }
    html.bardev-panel-theme-light .centralita-board {
      background: var(--c-blanco);
      border-color: var(--bd-n-200, #e2e8f0);
    }
    html.bardev-panel-theme-light .centralita-live-card {
      background: var(--c-blanco);
    }
    html.bardev-panel-theme-light .centralita-recent-row {
      background: var(--c-blanco);
    }
    .centralita-live-hint::before {
      content: '';
      display: inline-block;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--bv-g-10b981, #10b981);
      margin-right: 6px;
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.2);
      vertical-align: middle;
    }
    .centralita-history {
      display: block;
      max-width: 420px;
      width: 100%;
      min-width: 0;
    }
    .centralita-history__summary {
      cursor: pointer;
      list-style: none;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 12.5px;
      font-weight: 600;
      color: var(--c-azul-900b);
      user-select: none;
    }
    .centralita-history__summary::-webkit-details-marker { display: none; }
    .centralita-history__summary::before {
      content: '▸';
      display: inline-block;
      color: var(--bv-g-047857, #047857);
      transition: transform 0.15s ease;
    }
    .centralita-history[open] > .centralita-history__summary::before {
      transform: rotate(90deg);
    }
    .centralita-history__body {
      margin-top: 8px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      overflow: visible;
      padding-right: 0;
    }
    .centralita-history__tenant {
      border: 1px solid rgba(15, 23, 42, 0.1);
      border-radius: 8px;
      background: var(--c-blanco);
      overflow: visible;
    }
    .centralita-history__tenant-name {
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
      font-weight: 700;
      color: var(--bv-g-047857, #047857);
      letter-spacing: 0.01em;
      padding: 8px 10px;
      user-select: none;
    }
    .centralita-history__tenant-name::-webkit-details-marker { display: none; }
    .centralita-history__tenant-name::before {
      content: '▸';
      display: inline-block;
      color: var(--bv-g-047857, #047857);
      transition: transform 0.15s ease;
      flex: 0 0 auto;
    }
    .centralita-history__tenant[open] > .centralita-history__tenant-name::before {
      transform: rotate(90deg);
    }
    .centralita-history__tenant-count {
      font-weight: 600;
      color: var(--c-pizarra-550);
    }
    .centralita-history__calls {
      list-style: none;
      margin: 0;
      padding: 0 8px 8px;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .centralita-history__tenant[open] > .centralita-history__calls {
      max-height: min(320px, 42vh);
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      padding-right: 6px;
      scrollbar-width: thin;
    }
    .centralita-history__call {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 2px 8px;
      padding: 6px 8px;
      border-radius: 8px;
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.08);
      font-size: 11.5px;
      line-height: 1.35;
    }
    .centralita-history__when {
      grid-column: 1 / -1;
      font-weight: 600;
      color: var(--c-azul-900b);
    }
    .centralita-history__who {
      color: var(--c-pizarra-650);
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .centralita-history__out {
      font-size: 10.5px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      white-space: nowrap;
    }
    .centralita-history__out--booking { color: var(--bv-g-047857, #047857); }
    .centralita-history__out--missed { color: var(--c-pizarra-550); }
    .centralita-history__out--pending { color: var(--c-naranja-650b); }
    .centralita-history__booking {
      grid-column: 1 / -1;
      display: flex;
      align-items: flex-start;
      gap: 6px;
      color: var(--bv-g-047857, #047857);
      font-size: 11px;
      font-weight: 500;
      min-width: 0;
    }
    .centralita-history__booking-text {
      min-width: 0;
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .centralita-history__booking--modify { color: var(--c-naranja-650b); }
    .centralita-history__booking--cancel { color: var(--c-rojo-600); }
    .centralita-history__booking--consult { color: var(--c-azul-500); }
    .centralita-history__booking .centralita-purpose {
      margin-top: 1px;
    }
    #panel-dev-centralita .centralita-table {
      table-layout: auto;
      width: 100%;
    }
    #panel-dev-centralita .centralita-table td {
      vertical-align: top;
    }
    #panel-dev-centralita #centralita-list-wrap.admin-data-wrap {
      overflow-x: auto;
      overflow-y: visible;
      min-height: 0 !important;
      max-height: none !important;
    }
    #panel-dev-centralita .centralita-table th.centralita-webhook-cell,
    #panel-dev-centralita .centralita-table td.centralita-webhook-cell {
      width: 1%;
      white-space: nowrap;
      text-align: center;
      vertical-align: middle;
      padding-left: 10px;
      padding-right: 10px;
    }
    .centralita-webhook-cell {
      text-align: center;
      vertical-align: middle;
    }
    .centralita-webhook {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      font-size: 15px;
      font-weight: 700;
      line-height: 1;
      margin: 0 auto;
    }
    .centralita-webhook--ok {
      color: var(--bv-g-047857, #047857);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.28);
    }
    .centralita-webhook--bad {
      color: var(--c-rojo-600);
      background: rgba(239, 68, 68, 0.1);
      border: 1px solid rgba(239, 68, 68, 0.25);
    }
    html.bardev-panel-theme-light #panel-barberias > .sub,
    html.bardev-panel-theme-light #panel-dev-developers > .sub {
      color: var(--c-pizarra-650);
      margin-bottom: 16px;
    }
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap.admin-data-wrap,
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list.admin-data-wrap {
      background: var(--c-blanco);
      border: 1px solid rgba(37, 99, 235, 0.18);
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .admin-data-table thead th,
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .admin-data-table thead th {
      background: linear-gradient(180deg, var(--c-azul-150) 0%, var(--c-azul-50) 100%);
      color: var(--c-azul-650);
      border-bottom: 1px solid rgba(37, 99, 235, 0.22);
      padding: 11px 14px;
    }
    #panel-barberias #barberias-list-wrap .dev-tenants-table thead th.is-sortable {
      cursor: pointer;
      user-select: none;
    }
    #panel-barberias #barberias-list-wrap .dev-tenants-table thead th.is-sortable:hover,
    #panel-barberias #barberias-list-wrap .dev-tenants-table thead th.is-sortable:focus-visible,
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .dev-tenants-table thead th.is-sortable[aria-sort]:not([aria-sort="none"]) {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    #panel-barberias #barberias-list-wrap .dev-tenants-table thead th .dev-tenants-sort-ico {
      display: inline-block;
      margin-left: 4px;
      font-size: 0.7rem;
      opacity: 0.7;
    }
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .admin-data-table tbody td,
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .admin-data-table tbody td {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      padding: 11px 14px;
    }
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .admin-data-table tbody tr:nth-child(even) td,
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .admin-data-table tbody tr:nth-child(even) td {
      background: var(--c-gris-50f);
    }
    #panel-dev-developers #dev-developers-list .dev-developers-row-actions {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      padding: 2px 0;
    }
    #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn-icon {
      width: 34px;
      height: 34px;
      min-width: 34px;
      padding: 0;
    }
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn.secondary.btn-icon {
      border: 1px solid rgba(37, 99, 235, 0.28);
      background: var(--c-blanco);
    }
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn.secondary.btn-icon:hover:not(:disabled) {
      background: var(--c-azul-50d);
      border-color: rgba(37, 99, 235, 0.45);
    }
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn-icon:not(.btn-icon--danger) svg,
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn-icon:not(.btn-icon--danger) svg * {
      stroke: var(--c-azul-500);
    }
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn-icon--danger svg,
    html.bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn-icon--danger svg * {
      stroke: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light .btn.secondary.tenant-delete {
      color: var(--c-rojo-600) !important;
      -webkit-text-fill-color: var(--c-rojo-600);
      border: 1px solid rgba(185, 28, 28, 0.45);
      background: rgba(254, 226, 226, 0.95);
      box-shadow: 0 1px 2px rgba(185, 28, 28, 0.08);
    }
    html.bardev-panel-theme-light .btn.secondary.tenant-delete:hover:not(:disabled) {
      background: rgba(252, 165, 165, 0.55);
      border-color: rgba(185, 28, 28, 0.6);
      color: var(--c-rojo-650) !important;
      -webkit-text-fill-color: var(--c-rojo-650);
    }
    #panel-barberias .dev-tenant-plans-cell {
      min-width: 12.5rem;
      vertical-align: middle;
    }
    #panel-barberias .dev-tenant-plans {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
    }
    #panel-barberias .dev-tenant-plan-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 28px;
      padding: 3px 10px;
      border-radius: 999px;
      border: 2px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font-size: 0.72rem;
      font-weight: 600;
      font-family: inherit;
      line-height: 1.2;
      cursor: pointer;
      transition: border-color 0.15s, background 0.15s, color 0.15s, box-shadow 0.15s;
    }
    #panel-barberias .dev-tenant-plan-pill:hover,
    #panel-barberias .dev-tenant-plan-pill:focus-visible {
      border-color: var(--bv-g-047857, #047857);
      color: var(--bv-g-047857, #047857);
      outline: none;
    }
    #panel-barberias .dev-tenant-plan-pill--current {
      border-color: var(--bv-g-047857, #047857) !important;
      outline: 2px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      outline-offset: 1px;
      background: var(--bv-g-ecfdf5, #ecfdf5) !important;
      color: var(--bv-g-047857, #047857) !important;
      font-weight: 800;
      box-shadow: 0 0 0 1px var(--bv-g-047857, #047857);
      cursor: default;
    }
    #panel-barberias .dev-tenant-plan-meta {
      margin-top: 6px;
      font-size: 0.68rem;
      font-weight: 600;
      color: var(--bv-g-047857, #047857);
    }
    #panel-barberias #barberias-list-wrap .dev-tenants-table {
      min-width: 720px;
    }
    #panel-barberias #barberias-list-wrap .dev-tenants-table th:last-child,
    #panel-barberias #barberias-list-wrap .dev-tenants-table td.dev-tenants-actions-cell {
      position: static;
      right: auto;
      z-index: auto;
      background: transparent;
      box-shadow: none;
      white-space: nowrap;
    }
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .dev-tenants-table th:last-child,
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .dev-tenants-table td.dev-tenants-actions-cell {
      background: transparent;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #panel-barberias #barberias-list-wrap .dev-tenants-table tbody tr:nth-child(even) td.dev-tenants-actions-cell {
      background: transparent;
    }
    #panel-barberias #barberias-list-wrap .dev-tenants-table thead th:last-child {
      z-index: auto;
    }
    #panel-barberias .dev-tenants-row-actions {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      padding: 2px 0;
    }
    #panel-barberias .dev-tenants-row-actions .btn-icon {
      width: 34px;
      height: 34px;
      min-width: 34px;
      padding: 0;
    }
    /* Importar/exportar CSV (+ editar/miembros): icono blanco sobre verde sólido */
    #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete) {
      background: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      border: 1px solid var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete):hover:not(:disabled) {
      background: var(--bd-g-700, var(--bv-g-065f46, #065f46)) !important;
      border-color: var(--bd-g-700, var(--bv-g-065f46, #065f46)) !important;
      opacity: 1;
    }
    #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete) svg,
    #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete) svg * {
      stroke: var(--c-blanco) !important;
    }
    html.bardev-panel-theme-light #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete) {
      background: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      border: 1px solid var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    html.bardev-panel-theme-light #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete) svg,
    html.bardev-panel-theme-light #panel-barberias .dev-tenants-row-actions .btn.secondary.btn-icon:not(.btn-icon--danger):not(.tenant-delete) svg * {
      stroke: var(--c-blanco) !important;
    }
    #panel-barberias .dev-tenant-logo-hit {
      display: block;
      width: 50px;
      height: 50px;
      border-radius: 8px;
      border: 1px solid var(--border);
      overflow: hidden;
      flex-shrink: 0;
      cursor: pointer;
      padding: 0;
      background: rgba(255, 255, 255, 0.06);
      line-height: 1;
    }
    #panel-barberias .dev-tenant-logo-hit img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    #panel-barberias .dev-tenant-logo-hit--empty {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--muted);
    }
    #panel-barberias .dev-tenant-logo-hit:hover {
      border-color: var(--ok);
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.25);
    }
    #panel-barberias .dev-tenant-name-cell {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    #panel-barberias .dev-tenant-name-text {
      min-width: 0;
      line-height: 1.35;
    }
    #panel-barberias .dev-tenant-name-text .tenant-table-name {
      display: block;
      font-weight: 600;
      font-size: 0.92rem;
    }
    #panel-barberias .dev-tenant-name-text .dev-tenant-owner-name,
    #panel-barberias .dev-tenant-name-text .dev-tenant-owner-email {
      display: block;
      font-size: 0.76rem;
      color: var(--muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 280px;
    }
    #panel-barberias .dev-tenant-act-ftp {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      min-width: 34px;
      padding: 0;
      border-radius: 8px;
      border: 1px solid rgba(146, 64, 14, 0.45);
      background: rgba(180, 83, 9, 0.14);
      cursor: pointer;
      color: var(--c-naranja-700b);
    }
    #panel-barberias .dev-tenant-act-ftp svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-barberias .dev-tenant-act-ftp__label {
      font-size: 0.45rem;
      line-height: 1;
      letter-spacing: 0.04em;
      font-weight: 700;
      margin-top: 1px;
      color: var(--c-naranja-700b);
    }
    #panel-barberias .dev-tenant-act-ftp:hover {
      background: rgba(180, 83, 9, 0.24);
      border-color: rgba(146, 64, 14, 0.65);
    }
    html.bardev-panel-theme-light #panel-barberias .dev-tenant-act-ftp {
      background: rgba(254, 243, 199, 0.95);
      border-color: rgba(180, 83, 9, 0.35);
      color: var(--c-naranja-700b);
    }
    .dev-barberias-modal {
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    #tenant-form-overlay .bardev-modal-surface,
    #barberias-ftp-modal .bardev-modal-surface,
    #dev-developer-create-modal .bardev-modal-surface,
    #dev-developer-edit-modal .bardev-modal-surface {
      width: min(96vw, 640px);
      max-width: 640px;
    }
    #dev-developer-create-modal .bardev-modal-surface,
    #dev-developer-edit-modal .bardev-modal-surface {
      width: min(96vw, 440px);
      max-width: 440px;
    }
    #dev-developer-create-modal .bardev-modal-surface .btn,
    #dev-developer-edit-modal .bardev-modal-surface .btn {
      width: auto !important;
      max-width: 100%;
      flex: 0 0 auto;
      margin-top: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      white-space: nowrap;
      padding: 8px 18px;
      font-size: 0.86rem;
    }
    /* Miembros: centrado V+H en zona de contenido, más alto, fondo borroso */
    #members-overlay.bardev-modal-overlay:not(.hidden) {
      align-items: center !important;
      justify-content: center !important;
      padding: max(20px, env(safe-area-inset-top, 0px)) 24px max(24px, env(safe-area-inset-bottom, 0px)) !important;
      background: var(--bd-modal-scrim) !important;
      backdrop-filter: var(--bd-modal-scrim-blur) !important;
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur) !important;
    }
    #members-overlay .bardev-modal-surface,
    #members-overlay .members-overlay__surface {
      width: min(100%, 560px);
      max-width: min(100%, 560px);
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
    }
    #members-overlay .members-overlay__head {
      flex: 0 0 auto;
    }
    #members-overlay .members-dev-list {
      flex: 1 1 auto;
      min-height: 220px;
      max-height: none;
      overflow-y: auto;
      margin-top: 8px;
    }
    #members-overlay #msg-members,
    #members-overlay .dev-barberias-modal__footer {
      flex: 0 0 auto;
    }
    /* FTP / tenant / developers: centrados V+H dentro del área (sin menú) */
    #tenant-form-overlay.bardev-modal-overlay:not(.hidden),
    #barberias-ftp-modal.bardev-modal-overlay:not(.hidden),
    #dev-developer-create-modal.bardev-modal-overlay:not(.hidden),
    #dev-developer-edit-modal.bardev-modal-overlay:not(.hidden),
    #dev-access-history-modal.bardev-modal-overlay:not(.hidden) {
      align-items: center !important;
      justify-content: center !important;
      padding: max(16px, env(safe-area-inset-top, 0px)) 18px max(20px, env(safe-area-inset-bottom, 0px));
    }
    #tenant-form-overlay .bardev-modal-surface,
    #barberias-ftp-modal .bardev-modal-surface,
    #dev-access-history-modal .bardev-modal-surface {
      margin: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      );
      overflow-x: hidden;
      overflow-y: auto;
    }
    .dev-barberias-modal__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 16px;
    }
    .dev-barberias-modal__footer {
      margin-top: 12px;
    }
    #tenant-form-overlay .bardev-modal-surface .btn,
    #members-overlay .bardev-modal-surface .btn,
    #barberias-ftp-modal .bardev-modal-surface .btn {
      width: auto !important;
      max-width: 100%;
      flex: 0 0 auto;
      margin-top: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      white-space: nowrap;
      padding: 8px 18px;
      font-size: 0.86rem;
    }
    #tenant-form-overlay .bardev-modal-surface > label:not([style*="display:flex"]) {
      line-height: 1.45;
    }
    #tenant-form-overlay .bardev-modal-surface > label span {
      white-space: normal;
    }
    #tenant-form-overlay .bardev-modal-surface input[type="text"],
    #tenant-form-overlay .bardev-modal-surface input[type="file"] {
      display: block;
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      margin-bottom: 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.95rem;
    }
    #tenant-form-overlay #tf-slug-preview {
      margin: 4px 0 12px !important;
      line-height: 1.55;
    }
    #tenant-form-overlay #tf-slug-preview code {
      word-break: break-all;
    }
    #tenant-form-overlay .bardev-modal-surface > .sub {
      line-height: 1.45;
    }
    .members-overlay__head-actions {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      flex-shrink: 0;
    }
    /* CSV Import modal */
    .csv-import-modal {
      max-width: 720px;
      width: 94vw;
      max-height: 88vh;
      overflow-y: auto;
      padding: 24px;
      border-radius: 14px;
      background: var(--card);
      border: 1px solid var(--border);
      position: relative;
    }
    .csv-drop-zone {
      border: 2px dashed var(--border);
      border-radius: 12px;
      padding: 32px 20px;
      text-align: center;
      cursor: pointer;
      transition: border-color 0.2s, background 0.2s;
    }
    .csv-drop-zone:hover,
    .csv-drop-zone.csv-drop-active {
      border-color: var(--ok, var(--bv-g-34d399, #34d399));
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.06);
    }
    .csv-drop-icon {
      font-size: 2.5rem;
      display: block;
      margin-bottom: 8px;
    }
    .csv-progress-bar-wrap {
      width: 100%;
      height: 22px;
      background: rgba(255,255,255,0.08);
      border-radius: 11px;
      overflow: hidden;
      border: 1px solid var(--border);
    }
    .csv-progress-bar {
      height: 100%;
      background: var(--ok, var(--bv-g-34d399, #34d399));
      border-radius: 11px;
      transition: width 0.3s ease;
      min-width: 0;
    }
    .csv-progress-log {
      margin-top: 10px;
      max-height: 160px;
      overflow-y: auto;
      font-size: 0.78rem;
      line-height: 1.6;
      padding: 8px 10px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: rgba(0,0,0,0.15);
    }
    .csv-progress-log .log-ok { color: var(--ok, var(--bv-g-34d399, #34d399)); }
    .csv-progress-log .log-warn { color: var(--c-naranja-500b); }
    .csv-progress-log .log-err { color: var(--err, #f87171); }
    .csv-results-summary {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      gap: 10px;
    }
    .csv-results-summary .csv-stat {
      padding: 12px;
      border-radius: 10px;
      text-align: center;
      border: 1px solid var(--border);
      background: rgba(255,255,255,0.04);
    }
    .csv-stat-num {
      font-size: 1.6rem;
      font-weight: 700;
      display: block;
    }
    .csv-stat-label {
      font-size: 0.78rem;
      color: var(--muted);
      display: block;
      margin-top: 2px;
    }
    #csv-mapping-table-wrap table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    #csv-mapping-table-wrap thead th {
      position: sticky;
      top: 0;
      background: var(--card);
      padding: 6px 8px;
      text-align: left;
      border-bottom: 2px solid var(--border);
      z-index: 1;
    }
    #csv-mapping-table-wrap thead th select {
      width: 100%;
      padding: 4px 6px;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.8rem;
      margin-top: 4px;
    }
    #csv-mapping-table-wrap tbody td {
      padding: 4px 8px;
      border-bottom: 1px solid var(--border);
      max-width: 180px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    html.bardev-panel-theme-light .csv-progress-log {
      background: rgba(0,0,0,0.04);
    }
    html.bardev-panel-theme-light .csv-results-summary .csv-stat {
      background: rgba(0,0,0,0.02);
    }
    .pers-tab-card {
      margin-bottom: 0;
      padding: 16px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: rgba(5, 10, 8, 0.72);
      backdrop-filter: blur(8px);
    }
    html.bardev-panel-theme-light .pers-tab-card {
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
    }
    /* App del centro › TPV App — previsualización vídeo 16:9 */
    #panel-tpv-app .gv-panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 8px;
    }
    #panel-tpv-app .gv-panel-head h2 {
      margin: 0;
    }
    #panel-tpv-app .gv-head-actions {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    #panel-tpv-app .gv-head-actions .btn {
      width: auto;
      height: 40px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 0 14px;
      box-sizing: border-box;
      cursor: pointer;
    }
    #panel-tpv-app .gv-head-actions label.btn {
      margin: 0;
    }
    .tpv-app-video-card {
      margin-top: 12px;
      max-width: 720px;
    }
    .tpv-app-video-frame {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      border-radius: var(--bd-radius-lg, 12px);
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-50, #FEF9F1);
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .tpv-app-video-el {
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: var(--c-azul-900);
      display: block;
    }
    .tpv-app-video-el.hidden {
      display: none;
    }
    .tpv-app-video-empty {
      margin: 0;
      padding: 16px;
      text-align: center;
      max-width: 36ch;
    }
    .tpv-app-video-empty.hidden {
      display: none;
    }
    .pers-subcard {
      margin-bottom: 16px;
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: rgba(0, 0, 0, 0.15);
    }
    html.bardev-panel-theme-light .pers-subcard {
      background: rgba(255, 255, 255, 0.55);
    }
    .personalizacion-tab-panel:not(.personalizacion-tab-panel--active) {
      display: none;
    }
    .personalizacion-tab-panel--active {
      display: block;
    }
    /* Config App del staff: vista por rol */
    .staff-config-roles-label {
      margin: 14px 0 8px;
      font-size: 0.9rem;
      font-weight: 750;
      color: var(--c-azul-900b);
    }
    .staff-config-roles {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 0;
    }
    .staff-config-sections {
      margin-bottom: 2px;
    }
    .staff-config-roles__btn {
      border: 1px solid rgba(15, 23, 42, 0.12);
      background: var(--c-blanco);
      color: var(--c-pizarra-750);
      border-radius: 999px;
      padding: 8px 14px;
      font-size: 0.82rem;
      font-weight: 650;
      cursor: pointer;
      font-family: inherit;
    }
    .staff-config-roles__btn:hover {
      background: var(--c-gris-50f);
    }
    .staff-config-roles__btn.is-active {
      background: var(--c-cielo-50);
      border-color: var(--c-cielo-400);
      color: var(--c-cielo-700);
    }
    .staff-config-preview {
      display: grid;
      grid-template-columns: minmax(240px, 300px) 1fr;
      gap: 22px;
      align-items: start;
      margin-top: 18px;
    }
    @media (max-width: 860px) {
      .staff-config-preview {
        grid-template-columns: 1fr;
      }
    }
    .staff-config-phone {
      border: 10px solid var(--c-azul-900b);
      border-radius: 28px;
      background: var(--c-gris-50f);
      overflow: hidden;
      box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
      min-height: 520px;
      max-height: 640px;
      display: flex;
      flex-direction: column;
    }
    .staff-config-phone__notch {
      height: 10px;
      margin: 8px auto 0;
      width: 36%;
      border-radius: 999px;
      background: var(--c-azul-900b);
      opacity: 0.85;
      flex-shrink: 0;
    }
    .staff-config-phone__chipbar {
      display: flex;
      justify-content: flex-end;
      padding: 4px 10px 0;
      flex-shrink: 0;
    }
    .staff-config-phone__chip {
      font-size: 0.62rem;
      font-weight: 700;
      padding: 3px 7px;
      border-radius: 999px;
      background: var(--c-cielo-50);
      border: 1px solid var(--c-cielo-250);
      color: var(--c-cielo-700);
    }
    .staff-config-phone__body {
      flex: 1;
      padding: 0 0 8px;
      overflow: auto;
      min-height: 0;
      background: var(--c-gris-50f);
    }
    .staff-config-phone__tabs {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      padding: 6px 4px 10px;
      background: rgba(255, 255, 255, 0.92);
      border-top: 1px solid rgba(15, 23, 42, 0.08);
      flex-shrink: 0;
      backdrop-filter: blur(8px);
    }
    .staff-config-phone__tab {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      font-size: 0.58rem;
      font-weight: 700;
      text-align: center;
      color: var(--c-pizarra-550);
      padding: 6px 2px;
      border: none;
      background: transparent;
      cursor: pointer;
      font-family: inherit;
      border-radius: 10px;
      line-height: 1.1;
    }
    .staff-config-phone__tab svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .staff-config-phone__tab:hover {
      background: var(--c-gris-50b);
    }
    .staff-config-phone__tab.is-active {
      color: var(--c-cielo-600);
    }
    /* Preview UI cercana a STAFFAPP */
    .scp-hdr {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 8px 10px 6px;
      background: var(--c-blanco);
    }
    .scp-hdr__brand {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .scp-hdr__logo {
      width: 28px;
      height: 28px;
      border-radius: 8px;
      background: linear-gradient(135deg, var(--c-turquesa-900), #1e3a34);
      flex-shrink: 0;
    }
    .scp-hdr h3 {
      margin: 0;
      font-size: 0.82rem;
      font-weight: 750;
      color: var(--c-azul-900b);
      line-height: 1.15;
    }
    .scp-hdr p {
      margin: 1px 0 0;
      font-size: 0.62rem;
      color: var(--c-pizarra-550);
      font-weight: 550;
    }
    .scp-banner {
      position: relative;
      margin: 0 0 8px;
      aspect-ratio: 1024 / 359;
      overflow: hidden;
      background: var(--c-pizarra-150);
    }
    .scp-banner img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .scp-banner__content {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0 12px;
      background: linear-gradient(90deg, rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.15));
      color: var(--c-blanco);
    }
    .scp-banner__icon {
      width: 28px;
      height: 28px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.18);
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .scp-banner__icon svg { width: 16px; height: 16px; }
    .scp-banner__title {
      display: block;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: -0.01em;
    }
    .scp-banner__sub {
      display: block;
      font-size: 0.58rem;
      opacity: 0.9;
      line-height: 1.25;
      margin-top: 1px;
    }
    .scp-pad { padding: 0 10px; }
    .scp-actions {
      position: relative;
      z-index: 2;
      display: flex;
      gap: 8px;
      /* Monte ~10% del banner (mismo criterio que Staff Ventas) */
      margin: calc(-8px - 0.1 * (100% * 359 / 1024)) 0 8px;
    }
    .scp-action {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      min-height: 64px;
      padding: 10px 6px;
      border-radius: 12px;
      border: 1px solid rgba(37, 99, 235, 0.28);
      background: rgba(239, 246, 255, 0.95);
      color: var(--c-azul-450);
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.04em;
    }
    .scp-action--gasto {
      color: var(--c-rojo-500);
      border-color: rgba(220, 38, 38, 0.35);
      background: rgba(254, 242, 242, 0.95);
    }
    .scp-action__plus {
      width: 28px;
      height: 28px;
      border-radius: 999px;
      border: 2px solid currentColor;
      display: grid;
      place-items: center;
      font-size: 0.95rem;
      line-height: 1;
      font-weight: 500;
    }
    .scp-daynav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
      padding: 7px 8px;
      border-radius: 10px;
      background: var(--c-blanco);
      border: 1px solid rgba(15, 23, 42, 0.08);
      margin-bottom: 8px;
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--c-azul-900b);
    }
    .scp-daynav span { color: var(--c-pizarra-350); font-weight: 600; }
    .scp-totals {
      background: var(--c-blanco);
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-radius: 12px;
      padding: 8px;
      margin-bottom: 8px;
    }
    .scp-totals__h {
      margin: 0 0 6px;
      font-size: 0.68rem;
      font-weight: 800;
      color: var(--c-azul-900b);
    }
    .scp-totals__row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 5px;
    }
    .scp-totals__card {
      border-radius: 10px;
      padding: 6px 4px;
      text-align: center;
      background: var(--c-gris-50b);
    }
    .scp-totals__card--s { background: var(--bv-g-ecfdf5, #ecfdf5); }
    .scp-totals__card--p { background: var(--c-azul-50d); }
    .scp-totals__card--g { background: var(--c-gris-50g); }
    .scp-totals__lbl {
      display: block;
      font-size: 0.54rem;
      font-weight: 650;
      color: var(--c-pizarra-550);
      margin-bottom: 2px;
    }
    .scp-totals__amt {
      display: block;
      font-size: 0.68rem;
      font-weight: 800;
      color: var(--c-azul-900b);
    }
    .scp-totals__day {
      display: flex;
      justify-content: space-between;
      margin-top: 7px;
      padding-top: 7px;
      border-top: 1px solid rgba(15, 23, 42, 0.06);
      font-size: 0.68rem;
      font-weight: 750;
    }
    .scp-list-card {
      background: var(--c-blanco);
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-radius: 10px;
      padding: 8px 9px;
      margin-bottom: 5px;
    }
    .scp-list-card strong {
      display: block;
      font-size: 0.7rem;
      color: var(--c-azul-900b);
    }
    .scp-list-card span {
      display: block;
      font-size: 0.6rem;
      color: var(--c-pizarra-550);
      margin-top: 1px;
    }
    .scp-toggle {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4px;
      background: var(--c-pizarra-100);
      border-radius: 10px;
      padding: 3px;
      margin-bottom: 8px;
    }
    .scp-toggle span {
      text-align: center;
      font-size: 0.62rem;
      font-weight: 700;
      padding: 6px 4px;
      border-radius: 8px;
      color: var(--c-pizarra-550);
    }
    .scp-toggle span.is-on {
      background: var(--c-blanco);
      color: var(--c-cielo-700);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    }
    .scp-client {
      display: flex;
      align-items: center;
      gap: 8px;
      background: var(--c-blanco);
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-radius: 10px;
      padding: 7px 8px;
      margin-bottom: 5px;
    }
    .scp-client__av {
      width: 28px;
      height: 28px;
      border-radius: 999px;
      background: var(--c-azul-50);
      color: var(--c-azul-500);
      display: grid;
      place-items: center;
      font-size: 0.62rem;
      font-weight: 800;
      flex-shrink: 0;
    }
    .scp-client strong {
      display: block;
      font-size: 0.7rem;
      color: var(--c-azul-900b);
    }
    .scp-client span {
      display: block;
      font-size: 0.58rem;
      color: var(--c-pizarra-350);
    }
    .scp-citas-top {
      background: var(--c-blanco);
      padding: 6px 8px 8px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      margin-bottom: 6px;
    }
    .scp-citas-month {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 6px;
    }
    .scp-citas-month strong {
      font-size: 0.78rem;
      color: var(--c-azul-900b);
    }
    .scp-citas-month .scp-add {
      width: 26px;
      height: 26px;
      border-radius: 999px;
      background: var(--c-turquesa-900);
      color: var(--c-blanco);
      display: grid;
      place-items: center;
      font-size: 1rem;
      line-height: 1;
    }
    .scp-week {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 2px;
    }
    .scp-week span {
      text-align: center;
      font-size: 0.52rem;
      font-weight: 700;
      color: var(--c-pizarra-350);
      padding: 4px 0;
      border-radius: 8px;
    }
    .scp-week span em {
      display: block;
      font-style: normal;
      font-size: 0.68rem;
      color: var(--c-pizarra-750);
      margin-top: 1px;
    }
    .scp-week span.is-sel {
      background: var(--c-turquesa-900);
      color: var(--c-blanco);
    }
    .scp-week span.is-sel em { color: var(--c-blanco); }
    .scp-workers {
      display: flex;
      gap: 6px;
      overflow: hidden;
      padding: 0 10px 6px;
    }
    .scp-worker {
      flex: 1;
      min-width: 0;
      text-align: center;
    }
    .scp-worker__av {
      width: 28px;
      height: 28px;
      border-radius: 999px;
      margin: 0 auto 3px;
      background: var(--c-pizarra-150);
      color: var(--c-pizarra-750);
      display: grid;
      place-items: center;
      font-size: 0.58rem;
      font-weight: 800;
    }
    .scp-worker__av--a { background: var(--c-azul-150); color: var(--c-azul-500); }
    .scp-worker__av--b { background: var(--c-verde-150); color: var(--c-verde-750); }
    .scp-worker__av--c { background: var(--c-ambar-250); color: var(--c-naranja-700b); }
    .scp-worker small {
      display: block;
      font-size: 0.55rem;
      font-weight: 700;
      color: var(--c-pizarra-650);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .scp-appt {
      margin: 0 10px 5px;
      border-radius: 8px;
      padding: 6px 8px;
      background: var(--c-azul-50);
      border-left: 3px solid var(--c-azul-450);
      font-size: 0.62rem;
      font-weight: 700;
      color: var(--c-azul-900b);
    }
    .scp-appt span {
      display: block;
      font-size: 0.55rem;
      font-weight: 600;
      color: var(--c-pizarra-650);
      margin-top: 1px;
    }
    .scp-hub { padding: 4px 10px 8px; display: flex; flex-direction: column; gap: 8px; }
    .scp-hub__group { border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05); }
    .scp-hub__tile {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 56px;
      padding: 10px 12px;
      border: none;
      text-align: left;
      font-family: inherit;
      cursor: default;
    }
    .scp-hub__tile--slate { background: var(--c-gris-50c); color: var(--c-pizarra-850c); }
    .scp-hub__tile--mint { background: var(--c-verde-50); color: var(--c-verde-800); }
    .scp-hub__tile--peach { background: var(--c-naranja-100); color: var(--c-naranja-650); }
    .scp-hub__ico {
      width: 32px;
      height: 32px;
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.78);
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .scp-hub__ico svg { width: 18px; height: 18px; }
    .scp-hub__title { display: block; font-size: 0.78rem; font-weight: 750; }
    .scp-hub__sub { display: block; font-size: 0.58rem; font-weight: 500; opacity: 0.75; margin-top: 1px; }
    .scp-hub__panel {
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--c-blanco);
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-top: none;
      border-radius: 0 0 14px 14px;
    }
    .scp-hub__item {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
      min-height: 64px;
      padding: 8px 6px;
      border-right: 1px solid rgba(15, 23, 42, 0.06);
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      font-size: 0.62rem;
      font-weight: 650;
      color: var(--c-pizarra-750);
      text-transform: lowercase;
      text-align: center;
    }
    .scp-hub__item:nth-child(2n) { border-right: none; }
    .scp-hub__item svg { width: 18px; height: 18px; color: var(--c-pizarra-650); }
    .scp-warn {
      margin: 0 10px 8px;
      font-size: 0.62rem;
      font-weight: 650;
      color: var(--c-naranja-650);
      background: var(--c-naranja-100);
      border-radius: 10px;
      padding: 7px 9px;
      line-height: 1.3;
    }
    .staff-config-list-title {
      margin: 0 0 10px;
      font-size: 0.95rem;
    }
    .staff-config-list {
      list-style: none;
      margin: 0;
      padding: 0;
      border: 1px solid rgba(15, 23, 42, 0.08);
      border-radius: 14px;
      overflow: hidden;
      background: var(--c-blanco);
    }
    .staff-config-list li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 14px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
      font-size: 0.86rem;
      color: var(--c-azul-900b);
    }
    .staff-config-list li:last-child {
      border-bottom: none;
    }
    .staff-config-list li.is-off {
      color: var(--c-pizarra-350);
      background: var(--c-gris-50f);
    }
    .staff-config-list li.is-locked {
      color: var(--c-pizarra-350);
      background: var(--c-gris-50f);
    }
    .staff-config-list__toggle {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 0;
      padding: 0;
      border: none;
      background: transparent;
      font-family: inherit;
      cursor: default;
      -webkit-tap-highlight-color: transparent;
    }
    .staff-config-list__toggle.is-editable {
      cursor: pointer;
    }
    .staff-config-list__toggle.is-editable:hover .staff-config-list__track {
      filter: brightness(0.97);
    }
    .staff-config-list__toggle:disabled,
    .staff-config-list__toggle.is-locked {
      cursor: not-allowed;
      opacity: 1;
      pointer-events: none;
    }
    .staff-config-list__lbl {
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      min-width: 1.6rem;
      text-align: right;
      color: var(--c-pizarra-550);
    }
    .staff-config-list li.is-on .staff-config-list__lbl {
      color: var(--c-verde-750);
    }
    .staff-config-list li.is-off .staff-config-list__lbl,
    .staff-config-list li.is-locked .staff-config-list__lbl {
      color: var(--c-pizarra-350);
    }
    .staff-config-list__track {
      position: relative;
      width: 44px;
      height: 26px;
      border-radius: 999px;
      background: var(--c-pizarra-150);
      border: 1px solid rgba(15, 23, 42, 0.08);
      transition: background 0.15s ease, border-color 0.15s ease;
      flex-shrink: 0;
    }
    .staff-config-list li.is-on .staff-config-list__track {
      background: var(--c-verde-550);
      border-color: var(--c-verde-650);
    }
    /* Bloqueados: siempre gris (aunque estén en Sí), como inhabilitados */
    .staff-config-list li.is-locked .staff-config-list__track,
    .staff-config-list__toggle.is-locked .staff-config-list__track,
    .staff-config-list__toggle:disabled .staff-config-list__track {
      background: var(--c-pizarra-100);
      border-color: rgba(15, 23, 42, 0.08);
    }
    .staff-config-list li.is-locked.is-on .staff-config-list__thumb {
      transform: translateX(18px);
      background: var(--c-gris-50b);
      box-shadow: none;
    }
    .staff-config-list__thumb {
      position: absolute;
      top: 2px;
      left: 2px;
      width: 20px;
      height: 20px;
      border-radius: 999px;
      background: var(--c-blanco);
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
      transition: transform 0.15s ease;
    }
    .staff-config-list li.is-on:not(.is-locked) .staff-config-list__thumb {
      transform: translateX(18px);
    }
    .staff-config-list__hint {
      margin: 12px 0 0;
      font-size: 0.8rem;
    }

    .webapp-inicio-back {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 12px;
    }
    .webapp-inicio-back__btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-weight: 650;
    }
    .webapp-inicio-sections {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 10px;
      margin: 0;
    }
    .webapp-inicio-sections .btn.nav-item.nav-item--sub {
      width: 100%;
      margin: 0;
      min-height: 52px;
      justify-content: flex-start;
      text-align: left;
      border: 1px solid rgba(15, 23, 42, 0.1);
      border-radius: 12px;
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      font-weight: 650;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }
    .webapp-inicio-sections .btn.nav-item.nav-item--sub:hover {
      background: var(--c-verde-50c);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
    }
    .webapp-inicio-sections .btn.nav-item.nav-item--sub.active {
      background: var(--c-verde-50);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
      color: var(--c-verde-750);
    }
    .webapp-inicio-sections .btn.nav-item.hidden-by-menu-config {
      display: none !important;
    }
    html.bardev-panel-theme-light .webapp-inicio-sections .btn.nav-item.nav-item--sub {
      background: var(--c-blanco) !important;
      color: var(--c-azul-900b) !important;
    }

    .webapp-tab-panel:not(.webapp-tab-panel--active) {
      display: none;
    }
    .webapp-tab-panel--active {
      display: block;
    }
    .llamadas-tab-panel:not(.llamadas-tab-panel--active) {
      display: none;
    }
    .llamadas-tab-panel--active {
      display: block;
    }
    #inicio-tab-panel-llamadas .phone-asst-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 12px;
      margin: 0 0 10px;
    }
    #inicio-tab-panel-llamadas .phone-asst-head h2 {
      margin: 0;
    }
    #inicio-tab-panel-llamadas .phone-asst-card {
      padding: 16px 18px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: var(--bd-radius-lg, 12px);
      background: var(--bd-n-0, #fff);
      overflow: visible;
    }
    #inicio-tab-panel-llamadas .phone-asst-card__title {
      margin: 0 0 8px;
      font-size: 1.02rem;
      color: var(--bd-ink, var(--text));
    }
    #inicio-tab-panel-llamadas .phone-asst-modes {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 8px;
      margin: 0 0 14px;
    }
    #inicio-tab-panel-llamadas .phone-asst-mode-btn {
      width: auto;
      height: 40px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-gender,
    #inicio-tab-panel-llamadas .phone-asst-voice-lang,
    #inicio-tab-panel-llamadas .phone-asst-voice-region {
      width: auto;
      height: 40px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-modes {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 10px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-source {
      width: auto;
      height: 40px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-lib-tools {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin: 0 0 10px;
      max-width: 36rem;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-search {
      flex: 1 1 180px;
      height: 40px;
      padding: 0 12px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-lib-count {
      font-size: 13px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-lib-more-wrap {
      margin: 8px 0 4px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-lib-more-wrap .btn {
      width: auto;
      height: 40px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      gap: 8px;
      max-width: 42rem;
      margin: 0 0 4px;
      max-height: min(420px, 48vh);
      overflow: auto;
      padding-right: 2px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-source.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-voice-source.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-voice-source.is-on {
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-tile {
      width: auto;
      height: auto;
      min-height: 64px;
      padding: 10px 12px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 2px;
      text-align: left;
      border-radius: 12px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-tile__name {
      font-weight: 650;
      font-size: 14px;
      line-height: 1.2;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-tile__desc {
      font-size: 12px;
      line-height: 1.3;
      color: var(--bd-ink-soft, #4b5563);
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-tile.is-on .phone-asst-voice-tile__desc {
      color: inherit;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin-top: 14px;
    }
    #inicio-tab-panel-llamadas .phone-asst-voice-actions .btn {
      width: auto;
      height: 40px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    #inicio-tab-panel-llamadas .phone-asst-play-ico,
    #inicio-tab-panel-llamadas .phone-asst-play-ico svg {
      width: 18px;
      height: 18px;
    }
    #inicio-tab-panel-llamadas .phone-asst-play-ico svg {
      fill: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-play-ico svg {
      fill: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #inicio-tab-panel-llamadas .phone-asst-save-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 12px;
      margin: 22px 0 4px;
      padding: 16px 0 0;
      border-top: 1px solid var(--bd-n-200, #e5e7eb);
    }
    #inicio-tab-panel-llamadas .phone-asst-save-bar .btn {
      width: auto;
      height: 40px;
    }
    #inicio-tab-panel-llamadas .phone-asst-save-bar__hint {
      font-size: 13px;
      color: var(--bd-warn-text, #92400e);
    }
    #inicio-tab-panel-llamadas .phone-asst-manager-phone {
      width: min(280px, 100%);
      height: 40px;
      padding: 0 12px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
    }
    #inicio-tab-panel-llamadas .phone-asst-mode-btn.is-on,
    #inicio-tab-panel-llamadas .phone-asst-voice-gender.is-on,
    #inicio-tab-panel-llamadas .phone-asst-voice-lang.is-on,
    #inicio-tab-panel-llamadas .phone-asst-voice-region.is-on,
    #inicio-tab-panel-llamadas .phone-asst-voice-tile.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-mode-btn.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-mode-btn.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-mode-btn.is-on:hover:not(:disabled),
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-voice-gender.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-voice-lang.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-voice-region.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-voice-tile.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-voice-gender.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-voice-lang.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-voice-region.is-on,
    html.bardev-panel-theme-light #inicio-tab-panel-llamadas .btn.secondary.phone-asst-voice-tile.is-on {
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    #inicio-tab-panel-llamadas .phone-asst-switch {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 0.95rem;
      color: var(--bd-ink, var(--text));
      cursor: pointer;
    }
    #inicio-tab-panel-llamadas .phone-asst-slots-head {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      margin: 0 0 10px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slots-head .btn {
      width: auto;
      height: 40px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 0 14px;
      margin: 0;
    }
    #inicio-tab-panel-llamadas .phone-asst-slots-head .gv-head-btn__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      width: 18px;
      height: 18px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slots-head .gv-head-btn__ico svg {
      width: 18px;
      height: 18px;
      display: block;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot--empty {
      flex-wrap: wrap;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot__sep {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 40px;
      margin: 0;
      line-height: 1;
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--bd-ink-soft, var(--muted, #64748b));
      flex: 0 0 auto;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot .btn {
      width: auto;
      height: 40px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot .btn.btn-icon,
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn.btn-icon {
      width: 40px;
      height: 40px;
      min-width: 40px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      border-radius: 10px;
    }
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn.btn-icon {
      width: 32px;
      height: 32px;
      min-width: 32px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot .btn.btn-icon svg,
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn.btn-icon svg {
      display: block;
      width: 18px;
      height: 18px;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn.btn-icon svg {
      width: 16px;
      height: 16px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot .btn-icon--danger svg,
    #inicio-tab-panel-llamadas .phone-asst-slot .btn-icon--danger svg *,
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn-icon--danger svg,
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn-icon--danger svg * {
      stroke: var(--c-rojo-500) !important;
      fill: none !important;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot .btn-icon--add svg,
    #inicio-tab-panel-llamadas .phone-asst-slot .btn-icon--add svg *,
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn-icon--add svg,
    #inicio-tab-panel-llamadas .phone-asst-day__slots .btn-icon--add svg * {
      stroke: var(--c-azul-450) !important;
      fill: none !important;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot input[type="time"] {
      height: 40px;
      padding: 0 10px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text));
      font: inherit;
    }
    #inicio-tab-panel-llamadas .phone-asst-days {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    #inicio-tab-panel-llamadas .phone-asst-day {
      display: grid;
      grid-template-columns: 92px minmax(0, 1fr);
      gap: 8px 12px;
      align-items: center;
    }
    #inicio-tab-panel-llamadas .phone-asst-day__name {
      font-size: 0.85rem;
      font-weight: 700;
      color: var(--bd-ink, var(--text));
      padding-top: 0;
    }
    #inicio-tab-panel-llamadas .phone-asst-day__slots {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
    }
    #inicio-tab-panel-llamadas .phone-asst-day-add {
      position: relative;
      display: inline-flex;
      flex: 0 0 auto;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot-dd {
      display: none;
      position: absolute;
      top: calc(100% + 4px);
      left: 0;
      z-index: 30;
      min-width: 140px;
      max-height: min(240px, 40vh);
      overflow: auto;
      padding: 4px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, #fff);
      box-shadow: var(--bd-shadow-md, 0 8px 24px rgba(15, 23, 42, 0.12));
    }
    #inicio-tab-panel-llamadas .phone-asst-day-add.is-open .phone-asst-slot-dd {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot-dd__opt {
      width: 100%;
      height: 32px;
      padding: 0 10px;
      border: none;
      border-radius: 8px;
      background: transparent;
      color: var(--bd-ink, #0f172a);
      font: inherit;
      font-size: 0.82rem;
      font-weight: 600;
      text-align: left;
      cursor: pointer;
    }
    #inicio-tab-panel-llamadas .phone-asst-slot-dd__opt:hover,
    #inicio-tab-panel-llamadas .phone-asst-slot-dd__opt:focus {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      outline: none;
    }
    #inicio-tab-panel-llamadas .phone-asst-day-slot {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      min-height: 32px;
      padding: 0 4px 0 10px;
      border-radius: 999px;
      border: 1px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-size: 0.78rem;
    }
    #inicio-tab-panel-llamadas .phone-asst-day-slot .btn.btn-icon {
      width: 26px;
      height: 26px;
      min-width: 26px;
      border-radius: 8px;
      background: var(--c-blanco);
      border-color: var(--c-rojo-100);
    }
    #inicio-tab-panel-llamadas .phone-asst-day-slot .btn.btn-icon svg {
      width: 14px;
      height: 14px;
    }
    #inicio-tab-panel-llamadas .phone-asst-day-slot__lbl {
      line-height: 1;
      white-space: nowrap;
    }
    #inicio-tab-panel-llamadas .phone-asst-chip {
      display: inline-flex;
      align-items: center;
      height: 32px;
      padding: 0 10px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text));
      font-size: 0.78rem;
      cursor: pointer;
    }
    #inicio-tab-panel-llamadas .phone-asst-chip.is-on {
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #inicio-tab-panel-llamadas .phone-asst-link {
      display: inline;
      padding: 0;
      border: 0;
      background: none;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font: inherit;
      font-weight: 700;
      text-decoration: underline;
      cursor: pointer;
    }
    #inicio-tab-panel-llamadas .gv-head-actions .btn {
      width: auto;
      height: 40px;
    }
    .redes-tab-panel:not(.redes-tab-panel--active) {
      display: none;
    }
    .redes-tab-panel--active {
      display: block;
    }
    .inicio-redes-layout {
      max-width: 920px;
      margin: 0 auto;
      padding: 4px clamp(20px, 4vw, 48px) 24px;
      box-sizing: border-box;
    }
    .inicio-redes-tabs {
      margin-bottom: 18px;
    }
    #inicio-tab-panel-redes .redes-tab-panel {
      padding-top: 4px;
    }
    .inicio-redes-tabs button[data-redes-tab='stores'].redes-tab--locked {
      opacity: 0.55;
      cursor: not-allowed;
    }
    .inicio-redes-tabs button[data-redes-tab='stores'].redes-tab--locked[aria-selected='true'] {
      opacity: 0.85;
    }
    .redes-stores-locked {
      margin: 8px 0 20px;
    }
    .redes-stores-locked.hidden {
      display: none !important;
    }
    .redes-stores-locked__card {
      max-width: 36rem;
      padding: 22px 22px 20px;
      border-radius: var(--bd-radius-lg, 14px);
      border: 1px solid var(--bd-n-200, rgba(0, 0, 0, 0.1));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      box-shadow: var(--bd-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    .redes-stores-locked__title {
      margin: 8px 0 10px;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    .redes-stores-locked__text {
      margin: 0 0 18px;
      font-size: 0.95rem;
      line-height: 1.5;
      color: var(--bd-ink-soft, #334155);
    }
    #redes-stores-body.hidden {
      display: none !important;
    }
    .voice-synonym-card {
      margin: 0 0 18px;
      padding: 14px 16px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0,0,0,0.18);
    }
    .voice-synonym-card h4 {
      margin: 0 0 8px;
      font-size: 0.95rem;
    }
    .voice-synonym-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 10px;
      min-height: 28px;
    }
    .voice-synonym-tag {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px 10px;
      border-radius: 16px;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.15);
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
      color: var(--text);
      font-size: 0.82rem;
      line-height: 1.3;
    }
    .voice-synonym-tag button {
      background: none;
      border: none;
      color: var(--c-rojo-300);
      cursor: pointer;
      font-size: 1rem;
      line-height: 1;
      padding: 0 2px;
      opacity: 0.7;
    }
    .voice-synonym-tag button:hover {
      opacity: 1;
    }
    .voice-synonym-add {
      display: flex;
      gap: 6px;
      align-items: center;
    }
    .voice-synonym-add input {
      flex: 1;
      max-width: 260px;
      padding: 6px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0,0,0,0.3);
      color: var(--text);
      font-size: 0.85rem;
    }
    .voice-synonym-add button {
      padding: 6px 14px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      cursor: pointer;
      font-size: 0.82rem;
    }
    .voice-synonym-add button:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
    }
    /* ── Voice picker cards ── */
    .voice-picker-group { margin-bottom: 28px; }
    .voice-picker-group h4 {
      margin: 0 0 12px;
      font-size: .92rem;
      text-transform: uppercase;
      letter-spacing: .5px;
      color: var(--muted);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .voice-picker-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 12px;
    }
    .voice-card {
      position: relative;
      padding: 16px;
      border-radius: 12px;
      border: 2px solid var(--border, #3a3a3a);
      background: rgba(0,0,0,0.18);
      cursor: pointer;
      transition: border-color .2s, box-shadow .2s, transform .12s;
    }
    .voice-card:hover {
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153),0.5);
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    }
    .voice-card--active {
      border-color: var(--ok, var(--bv-g-34d399, #34d399));
      box-shadow: 0 0 0 1px var(--ok, var(--bv-g-34d399, #34d399)), 0 4px 16px rgba(var(--bv-g-rgb-34d399, 52, 211, 153),0.15);
    }
    .voice-card--active::after {
      content: '✓';
      position: absolute;
      top: 10px; right: 12px;
      width: 22px; height: 22px;
      border-radius: 50%;
      background: var(--ok, var(--bv-g-34d399, #34d399));
      color: var(--c-negro);
      font-size: .8rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .voice-card__name {
      font-size: .95rem;
      font-weight: 600;
      margin: 0 0 4px;
      padding-right: 28px;
    }
    .voice-card__desc {
      font-size: .78rem;
      color: var(--muted);
      line-height: 1.4;
      margin: 0 0 10px;
    }
    .voice-card__preview {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 12px;
      border-radius: 18px;
      border: 1px solid var(--border, #3a3a3a);
      background: rgba(255,255,255,0.06);
      color: var(--text);
      font-size: .76rem;
      cursor: pointer;
      transition: background .15s, border-color .15s;
    }
    .voice-card__preview:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153),0.15);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153),0.4);
    }
    .voice-card__preview--playing {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153),0.2);
      border-color: var(--ok, var(--bv-g-34d399, #34d399));
    }
    .voice-card__preview--loading {
      opacity: 0.6;
      pointer-events: none;
    }
    .voice-card--loading {
      opacity: 0.5;
      pointer-events: none;
    }
    .voice-picker-status {
      font-size: .82rem;
      margin-top: 8px;
      min-height: 20px;
    }
    .voice-synonym-empty {
      color: var(--muted);
      font-size: 0.82rem;
      font-style: italic;
    }
    .inicio-tab-panel:not(.inicio-tab-panel--active) {
      display: none;
    }
    .inicio-tab-panel--active {
      display: block;
    }
    /* Configuración → General: menú vertical a la izquierda (no pestañas) */
    #panel-inicio .inicio-layout {
      display: flex;
      align-items: stretch;
      gap: 22px;
      min-width: 0;
      min-height: 0;
    }
    #panel-inicio .inicio-side {
      flex: 0 0 248px;
      width: 248px;
      max-width: 100%;
      position: sticky;
      top: 8px;
      align-self: flex-start;
      max-height: calc(100vh - 96px);
      overflow-y: auto;
      padding: 4px 12px 4px 0;
      border-right: 1px solid var(--bd-n-200, var(--border));
      box-sizing: border-box;
    }
    #panel-inicio .inicio-main {
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
    }
    #panel-inicio .centro-trabajo-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(240px, 0.9fr);
      gap: 18px;
      align-items: start;
    }
    @media (max-width: 900px) {
      #panel-inicio .centro-trabajo-grid {
        grid-template-columns: 1fr;
      }
    }
    #panel-inicio .centro-trabajo-form {
      max-width: 36rem;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    #panel-inicio .centro-trabajo-card {
      padding: 14px 14px 16px;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-0, #fff);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    #panel-inicio .centro-trabajo-card > .bd-label:first-child {
      margin-top: 0;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #panel-inicio .centro-trabajo-preview {
      position: sticky;
      top: 12px;
    }
    #panel-inicio .centro-trabajo-preview__card {
      padding: 14px 16px;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink);
    }
    #panel-inicio .centro-trabajo-preview__card strong {
      display: block;
      font-size: 1.05rem;
      margin-bottom: 6px;
    }
    #panel-inicio .centro-trabajo-preview__desc,
    #panel-inicio .centro-trabajo-preview__line,
    #panel-inicio .centro-trabajo-preview__hours {
      margin: 0 0 6px;
      font-size: 0.88rem;
      line-height: 1.4;
      color: var(--bd-ink-soft);
      white-space: pre-line;
    }
    #panel-inicio .centro-trabajo-preview__map {
      margin-top: 10px;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      overflow: hidden;
      background: var(--bd-n-0, #fff);
    }
    #panel-inicio .centro-trabajo-preview__map iframe {
      display: block;
      width: 100%;
      height: 180px;
      border: 0;
    }
    #panel-inicio .centro-trabajo-form .bd-label {
      margin-top: 8px;
    }
    #panel-inicio .centro-trabajo-form input,
    #panel-inicio .centro-trabajo-form textarea {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text));
      font: inherit;
    }
    #panel-inicio .centro-trabajo-form textarea {
      resize: vertical;
      min-height: 92px;
      line-height: 1.45;
    }
    #panel-inicio .centro-trabajo-form__split {
      display: flex;
      gap: 10px;
    }
    #panel-inicio .centro-trabajo-form__split > div {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    #panel-inicio .centro-trabajo-form__split > div:first-child {
      flex: 0 0 34%;
    }
    #panel-inicio .centro-trabajo-form__hint {
      margin: 0 0 4px;
      font-size: 0.78rem;
    }
    #centro-trabajo-verify-overlay.bardev-modal-overlay {
      z-index: 20020;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    #centro-trabajo-verify-overlay .bd-panel {
      width: var(--bd-modal-w);
      max-width: var(--bd-modal-w);
    }
    .centro-trabajo-verify__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px 10px;
    }
    .centro-trabajo-verify__head h3 {
      margin: 0;
      font-size: 1.05rem;
      color: var(--bd-ink);
    }
    .centro-trabajo-verify__body {
      padding: 0 18px 12px;
      color: var(--bd-ink-soft);
      font-size: 0.9rem;
      line-height: 1.45;
    }
    .centro-trabajo-verify__body p { margin: 0 0 10px; }
    .centro-trabajo-verify__list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-height: min(280px, 40vh);
      overflow-y: auto;
    }
    .centro-trabajo-verify__list li {
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink);
    }
    .centro-trabajo-verify__list strong { display: block; margin-bottom: 2px; }
    .centro-trabajo-verify__fromto {
      display: block;
      font-size: 0.82rem;
      color: var(--bd-ink-soft);
    }
    .centro-trabajo-verify__foot {
      padding: 12px 18px 16px;
      border-top: 1px solid var(--bd-n-200);
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 8px;
    }
    .centro-trabajo-verify__foot .btn,
    .centro-trabajo-verify__foot .btn.secondary,
    .centro-trabajo-verify__foot .btn.primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      height: 40px;
      min-height: 40px;
      margin: 0;
      padding: 0 14px;
      box-sizing: border-box;
      line-height: 1.2;
      white-space: nowrap;
      box-shadow: none;
      border-width: 1px;
      border-style: solid;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side,
    #panel-inicio .inicio-tabs.inicio-tabs--side:not(:has(.bardev-tabs-row)) {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 4px;
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
      border: none;
      position: static;
      --bardev-tabs-line-h: 0px;
      --bardev-tabs-dot: 0px;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side::before,
    #panel-inicio .inicio-tabs.inicio-tabs--side::after,
    #panel-inicio .inicio-tabs.inicio-tabs--side:not(:has(.bardev-tabs-row))::before,
    #panel-inicio .inicio-tabs.inicio-tabs--side:not(:has(.bardev-tabs-row))::after {
      content: none !important;
      display: none !important;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab'],
    #panel-inicio .inicio-tabs.inicio-tabs--side:not(:has(.bardev-tabs-row)) > button[role='tab'] {
      flex: 0 0 auto;
      width: 100%;
      max-width: none;
      min-width: 0;
      min-height: 40px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 10px;
      text-align: left;
      margin: 0;
      padding: 9px 12px;
      border-radius: 10px;
      border: 1px solid transparent;
      border-bottom: 1px solid transparent;
      background: transparent;
      color: var(--bd-ink, var(--text));
      font-size: 0.88rem;
      font-weight: 500;
      font-family: inherit;
      line-height: 1.3;
      cursor: pointer;
      box-shadow: none;
      white-space: normal;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side .inicio-side__ico {
      flex: 0 0 18px;
      width: 18px;
      height: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side .inicio-side__ico svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side .inicio-side__txt {
      min-width: 0;
      line-height: 1.25;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab'][aria-selected='true'] .inicio-side__ico {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab']:hover:not(:disabled) {
      background: var(--bd-g-50, rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.08));
      color: var(--bd-ink, var(--text));
      border-color: transparent;
    }
    #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab'][aria-selected='true'] {
      background: var(--bd-g-50, rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12));
      border-color: var(--bd-n-200, var(--border));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-weight: 700;
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab'] {
      background: transparent;
      border: 1px solid transparent;
      color: var(--bd-ink, #0f172a) !important;
      font-weight: 500;
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab']:hover:not(:disabled) {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-ink, #0f172a) !important;
      border-color: transparent;
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab'][aria-selected='true'] {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-n-200, #e2e8f0);
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      font-weight: 700;
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-tabs.inicio-tabs--side .inicio-side__ico {
      color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    html.bardev-panel-theme-light #panel-inicio .inicio-tabs.inicio-tabs--side > button[role='tab'][aria-selected='true'] .inicio-side__ico {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
    }
    @media (max-width: 720px) {
      #panel-inicio .inicio-layout {
        flex-direction: column;
        gap: 14px;
      }
      #panel-inicio .inicio-side {
        flex: none;
        width: 100%;
        position: static;
        max-height: none;
        padding: 0 0 10px;
        border-right: none;
        border-bottom: 1px solid var(--bd-n-200, var(--border));
      }
    }
    /* Pestañas cápsula: una sola fila; línea horizontal + punto al final */
    .informes-tabs,
    .mi-plan-tabs,
    .personalizacion-tabs,
    .webapp-tabs,
    .llamadas-tabs,
    .dev-plataforma-tabs,
    .equipo-tabs,
    .inicio-tabs,
    .inicio-redes-tabs,
    .cliente-ficha-tabs {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 0;
      width: 100%;
      max-width: 100%;
      margin-bottom: 16px;
      border-bottom: none;
      box-sizing: border-box;
    }
    .personalizacion-tabs,
    .webapp-tabs,
    .llamadas-tabs {
      margin-top: 8px;
    }
    .equipo-tabs {
      margin-bottom: 12px;
    }
    .bardev-tabs--vivid {
      --_tabs-line-clr: color-mix(in srgb, var(--_tabs-active-clr, #94a3b8) 74%, #64748b);
      --_tab-inactive-bg: #475569;
      --_tab-inactive-border: #334155;
      --_tab-inactive-text: #e2e8f0;
      --_tab-inactive-bg-hover: #64748b;
    }
    .bardev-tabs-row {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-end;
      gap: 6px 8px;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      position: relative;
      border-bottom: none;
      margin: 0;
      padding: 0 0 6px;
      min-width: 0;
      --bardev-tabs-line-h: 3px;
      --bardev-tabs-dot: 10px;
      --bardev-tab-font-size: clamp(0.68rem, 0.72rem + 0.12vw, 0.88rem);
    }
    .bardev-tabs-row::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 6px;
      width: var(--bardev-tabs-line-end, 100%);
      height: var(--bardev-tabs-line-h);
      background: var(--_tabs-line-clr, color-mix(in srgb, var(--_tabs-active-clr, var(--bardev-tab-line, var(--border))) 74%, var(--c-pizarra-550)));
      pointer-events: none;
      z-index: 2;
    }
    .bardev-tabs-row::after {
      content: '';
      position: absolute;
      left: var(--bardev-tabs-line-end, 100%);
      bottom: calc(6px + var(--bardev-tabs-line-h) / 2);
      width: var(--bardev-tabs-dot);
      height: var(--bardev-tabs-dot);
      border-radius: 50%;
      background: var(--_tabs-line-clr, color-mix(in srgb, var(--_tabs-active-clr, var(--bardev-tab-line, var(--border))) 74%, var(--c-pizarra-550)));
      transform: translate(-50%, 50%);
      pointer-events: none;
      z-index: 3;
    }
    .bardev-tabs-row > button[role='tab'] {
      flex: 1 1 0;
      min-width: 0;
      max-width: none;
      width: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      font-size: var(--bardev-tab-font-size);
      padding-left: 14px;
      padding-right: 14px;
    }
    .bardev-tab-label {
      display: block;
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      text-align: center;
      line-height: 1.25;
    }
    .equipo-tabs .bardev-tabs-row {
      gap: 6px 14px;
    }
    .equipo-tabs .bardev-tabs-row > button[role='tab'] {
      max-width: none;
    }
    /* Sin JS (o panel oculto): una sola fila como antes */
    .informes-tabs:not(:has(.bardev-tabs-row)),
    .mi-plan-tabs:not(:has(.bardev-tabs-row)),
    .personalizacion-tabs:not(:has(.bardev-tabs-row)),
    .webapp-tabs:not(:has(.bardev-tabs-row)),
    .llamadas-tabs:not(:has(.bardev-tabs-row)),
    .dev-plataforma-tabs:not(:has(.bardev-tabs-row)),
    .equipo-tabs:not(:has(.bardev-tabs-row)),
    .inicio-tabs:not(:has(.bardev-tabs-row)),
    .inicio-redes-tabs:not(:has(.bardev-tabs-row)),
    .cliente-ficha-tabs:not(:has(.bardev-tabs-row)) {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: flex-end;
      gap: 6px 8px;
      width: 100%;
      max-width: 100%;
      position: relative;
      border-bottom: none;
      padding-bottom: 6px;
      --bardev-tabs-line-h: 3px;
      --bardev-tabs-dot: 10px;
      --bardev-tab-font-size: clamp(0.68rem, 0.72rem + 0.12vw, 0.88rem);
    }
    .informes-tabs:not(:has(.bardev-tabs-row))::before,
    .mi-plan-tabs:not(:has(.bardev-tabs-row))::before,
    .personalizacion-tabs:not(:has(.bardev-tabs-row))::before,
    .webapp-tabs:not(:has(.bardev-tabs-row))::before,
    .llamadas-tabs:not(:has(.bardev-tabs-row))::before,
    .dev-plataforma-tabs:not(:has(.bardev-tabs-row))::before,
    .equipo-tabs:not(:has(.bardev-tabs-row))::before,
    .inicio-tabs:not(:has(.bardev-tabs-row))::before,
    .inicio-redes-tabs:not(:has(.bardev-tabs-row))::before,
    .cliente-ficha-tabs:not(:has(.bardev-tabs-row))::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 6px;
      width: var(--bardev-tabs-line-end, 100%);
      height: var(--bardev-tabs-line-h);
      background: var(--_tabs-line-clr, color-mix(in srgb, var(--_tabs-active-clr, var(--bardev-tab-line, var(--border))) 74%, var(--c-pizarra-550)));
      pointer-events: none;
      z-index: 2;
    }
    .informes-tabs:not(:has(.bardev-tabs-row))::after,
    .mi-plan-tabs:not(:has(.bardev-tabs-row))::after,
    .personalizacion-tabs:not(:has(.bardev-tabs-row))::after,
    .webapp-tabs:not(:has(.bardev-tabs-row))::after,
    .llamadas-tabs:not(:has(.bardev-tabs-row))::after,
    .dev-plataforma-tabs:not(:has(.bardev-tabs-row))::after,
    .equipo-tabs:not(:has(.bardev-tabs-row))::after,
    .inicio-tabs:not(:has(.bardev-tabs-row))::after,
    .inicio-redes-tabs:not(:has(.bardev-tabs-row))::after,
    .cliente-ficha-tabs:not(:has(.bardev-tabs-row))::after {
      content: '';
      position: absolute;
      left: var(--bardev-tabs-line-end, 100%);
      bottom: calc(6px + var(--bardev-tabs-line-h) / 2);
      width: var(--bardev-tabs-dot);
      height: var(--bardev-tabs-dot);
      border-radius: 50%;
      background: var(--_tabs-line-clr, color-mix(in srgb, var(--_tabs-active-clr, var(--bardev-tab-line, var(--border))) 74%, var(--c-pizarra-550)));
      transform: translate(-50%, 50%);
      pointer-events: none;
      z-index: 3;
    }
    .informes-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .mi-plan-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .personalizacion-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .webapp-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .llamadas-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .dev-plataforma-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .equipo-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .inicio-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .inicio-redes-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'],
    .cliente-ficha-tabs:not(:has(.bardev-tabs-row)) > button[role='tab'] {
      flex: 1 1 0;
      min-width: 0;
      max-width: none;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      font-size: var(--bardev-tab-font-size);
      padding-left: 14px;
      padding-right: 14px;
    }
    .equipo-tabs:not(:has(.bardev-tabs-row)) {
      gap: 6px 14px;
    }
    .informes-tabs button,
    .mi-plan-tabs button,
    .personalizacion-tabs button,
    .webapp-tabs button,
    .llamadas-tabs button,
    .dev-plataforma-tabs button,
    .equipo-tabs button,
    .inicio-tabs button,
    .inicio-redes-tabs button,
    .cliente-ficha-tabs button {
      position: relative;
      z-index: 1;
      box-sizing: border-box;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      padding: 10px 14px;
      min-height: 40px;
      border-radius: 10px 10px 0 0;
      border: 2px solid var(--bardev-tab-stroke, rgba(148, 163, 184, 0.72));
      border-bottom: 3px solid transparent;
      background: var(--card);
      color: var(--muted);
      font-size: var(--bardev-tab-font-size, 0.88rem);
      font-family: inherit;
      cursor: pointer;
      box-shadow: none;
      -webkit-appearance: none;
      appearance: none;
      overflow: hidden;
    }
    .equipo-tabs button {
      font-size: 0.82rem;
      min-height: 36px;
      padding: 8px 12px;
    }
    /* Configuración > General: muchas pestañas en una sola fila (truncar si hace falta). */
    .inicio-tabs button {
      font-size: clamp(0.64rem, 0.68rem + 0.1vw, 0.76rem);
      min-height: 34px;
      padding: 6px 8px;
      letter-spacing: -0.01em;
    }
    .inicio-tabs .bardev-tabs-row { gap: 5px 5px; }
    .inicio-tabs .bardev-tabs-row > button[role='tab'] { max-width: 9.5rem; }
    .inicio-tabs:not(:has(.bardev-tabs-row)) { gap: 5px 5px; }
    .informes-tabs button:hover,
    .mi-plan-tabs button:hover,
    .personalizacion-tabs button:hover,
    .webapp-tabs button:hover,
    .llamadas-tabs button:hover,
    .dev-plataforma-tabs button:hover:not(:disabled),
    .equipo-tabs button:hover,
    .inicio-tabs button:hover,
    .inicio-redes-tabs button:hover,
    .cliente-ficha-tabs button:hover {
      color: var(--text);
    }
    .informes-tabs button:focus-visible,
    .mi-plan-tabs button:focus-visible,
    .personalizacion-tabs button:focus-visible,
    .webapp-tabs button:focus-visible,
    .llamadas-tabs button:focus-visible,
    .dev-plataforma-tabs button:focus-visible:not(:disabled),
    .equipo-tabs button:focus-visible,
    .inicio-tabs button:focus-visible,
    .inicio-redes-tabs button:focus-visible,
    .cliente-ficha-tabs button:focus-visible {
      outline: 2px solid var(--bardev-tab-active-line, var(--ok, var(--bv-g-34d399, #34d399)));
      outline-offset: 2px;
    }
    .informes-tabs:not(.bardev-tabs--vivid) button[aria-selected='true'],
    .mi-plan-tabs:not(.bardev-tabs--vivid) button[aria-selected='true'],
    .personalizacion-tabs button[aria-selected='true'],
    .webapp-tabs button[aria-selected='true'],
    .llamadas-tabs button[aria-selected='true'],
    .dev-plataforma-tabs button[aria-selected='true']:not(:disabled),
    .equipo-tabs button[aria-selected='true'],
    .inicio-tabs button[aria-selected='true'],
    .inicio-redes-tabs button[aria-selected='true'],
    .cliente-ficha-tabs button[aria-selected='true'] {
      z-index: 2;
      margin-bottom: -3px;
      color: var(--text);
      font-weight: 600;
      border-width: 2px;
      border-color: var(--bardev-tab-active-line, var(--ok, var(--bv-g-34d399, #34d399)));
      border-bottom-width: 3px;
      border-bottom-color: var(--card);
    }
    .dev-plataforma-tabs button:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    /*
     * Pestañas con paleta viva (panel): añade class="bardev-tabs--vivid" al contenedor role="tablist".
     * Colores: data-bardev-palette="0"… (asignado por orden en bardevTabsAssignPalette).
     * Línea inferior / conector: bardevTabsApplyActiveColor (pestaña aria-selected="true").
     */
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="0"] { --_tab-clr: var(--bv-g-6ee7b7, #6ee7b7); }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="1"] { --_tab-clr: #c4b5fd; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="2"] { --_tab-clr: #fde047; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="3"] { --_tab-clr: #67e8f9; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="4"] { --_tab-clr: #fdba74; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="5"] { --_tab-clr: #93c5fd; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="6"] { --_tab-clr: #f9a8d4; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="7"] { --_tab-clr: #fca5a5; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="8"] { --_tab-clr: #bef264; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="9"] { --_tab-clr: #fda4af; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="10"] { --_tab-clr: #a5b4fc; }
    .bardev-tabs--vivid button[role="tab"][data-bardev-palette="11"] { --_tab-clr: #99f6e4; }
    .bardev-tabs--vivid button[role="tab"] {
      margin-bottom: 0;
    }
    .bardev-tabs--vivid button[role="tab"]:not([aria-selected="true"]) {
      z-index: 1;
      background: var(--_tab-inactive-bg);
      border: 2px solid var(--_tab-inactive-border);
      border-bottom: 3px solid transparent;
      color: var(--_tab-inactive-text);
      font-weight: 500;
    }
    .bardev-tabs--vivid button[role="tab"]:not([aria-selected="true"]):hover:not(:disabled) {
      background: var(--_tab-inactive-bg-hover);
      border-color: var(--_tab-inactive-border);
      border-bottom-color: transparent;
      color: var(--c-blanco);
    }
    /* Pestaña seleccionada: color Contraste de la paleta (titular, 28-09-2026). */
    .bardev-tabs--vivid button[role="tab"][aria-selected="true"] {
      --_tab-accent-line: var(--bd-g-700, var(--ds-brand-green, #114830));
      --_tab-bg-active: var(--ds-brand-green, #114830);
      z-index: 4;
      border: 2px solid var(--_tab-accent-line);
      border-bottom: 3px solid var(--_tab-accent-line);
      color: var(--barveo-on-05, #ffffff);
      font-weight: 600;
      background: var(--_tab-bg-active);
    }
    html.bardev-panel-theme-light .bardev-tabs--vivid {
      --_tab-inactive-bg: #64748b;
      --_tab-inactive-border: #475569;
      --_tab-inactive-text: #f8fafc;
      --_tab-inactive-bg-hover: #475569;
    }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"]:not([aria-selected="true"]) {
      background: var(--_tab-inactive-bg);
      border: 2px solid var(--_tab-inactive-border);
      border-bottom: 3px solid transparent;
      color: var(--_tab-inactive-text, var(--c-gris-50f)) !important;
      font-weight: 500;
    }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"]:not([aria-selected="true"]):hover:not(:disabled) {
      background: var(--_tab-inactive-bg-hover);
      border-color: var(--_tab-inactive-border);
      border-bottom-color: transparent;
      color: var(--c-blanco);
    }
    html.bardev-panel-theme-light .bardev-tabs--vivid button[role="tab"][aria-selected="true"] {
      --_tab-accent-line: var(--bd-g-700, var(--ds-brand-green, #114830));
      --_tab-bg-active: var(--ds-brand-green, #114830);
      background: var(--_tab-bg-active);
      border: 2px solid var(--_tab-accent-line);
      border-bottom: 3px solid var(--_tab-accent-line);
      color: var(--barveo-on-05, #ffffff);
      font-weight: 700;
    }
    .pers-theme-pick {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 14px;
    }
    .pers-theme-pick__opt {
      flex: 1;
      min-width: 200px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      padding: 14px 16px;
      border-radius: 12px;
      border: 2px solid var(--border);
      background: rgba(0, 0, 0, 0.12);
      cursor: pointer;
    }
    html.bardev-panel-theme-light .pers-theme-pick__opt {
      background: rgba(255, 255, 255, 0.65);
    }
    .pers-theme-pick__opt:has(input:checked) {
      border-color: var(--ok);
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.28);
    }
    .pers-theme-pick__opt input {
      margin: 0 0 6px;
    }
    .pers-theme-pick__hint {
      font-size: 0.78rem;
      color: var(--muted);
      line-height: 1.35;
    }
    html.bardev-panel-theme-light .pers-tab-card input[type='text'],
    html.bardev-panel-theme-light .pers-tab-card input[type='url'],
    html.bardev-panel-theme-light .pers-tab-card textarea {
      background: rgba(255, 255, 255, 0.94);
      color: var(--text);
    }
    html.bardev-panel-theme-light .pers-tab-card details {
      background: rgba(255, 255, 255, 0.45);
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      padding-bottom: 56px;
      box-sizing: border-box;
      font-family: system-ui, -apple-system, Segoe UI, sans-serif;
      background: radial-gradient(ellipse 120% 80% at 50% -20%, var(--tenant-brand-primary), var(--bg));
      color: var(--text);
    }
    body.mode-login {
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
    }
    .login-wrap {
      width: 100%;
      max-width: 400px;
      margin-inline: auto;
      padding: 24px 20px 40px;
    }
    body.mode-login .login-wrap {
      padding-top: calc(104px + env(safe-area-inset-top, 0px));
      box-sizing: border-box;
    }
    #view-tenant-picker.login-wrap {
      max-width: 600px;
    }
    #view-tenant-picker .tp-card {
      max-width: 560px;
    }
    #view-tenant-picker .tp-search-wrap {
      margin: 0 0 10px;
    }
    #view-tenant-picker .tp-search-wrap.hidden,
    #view-tenant-picker .tp-search-wrap[hidden] {
      display: none !important;
    }
    #view-tenant-picker .tp-search {
      width: 100%;
      height: 40px;
      padding: 0 14px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, var(--border, #E7EAF0));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text, #111827));
      font-size: 0.95rem;
      box-sizing: border-box;
    }
    #view-tenant-picker .tp-search::placeholder {
      color: var(--bd-ink-soft, #6B7280);
    }
    #view-tenant-picker .tp-search:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 3px var(--bd-g-50, rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.14));
    }
    #view-tenant-picker .tp-list-box {
      margin: 0 0 12px;
    }
    #view-tenant-picker .tp-list-box--scroll {
      --tp-row-h: 60px;
      --tp-gap: 8px;
      --tp-rows: 5;
      --tp-box-pad: 8px;
      max-height: min(
        calc((var(--tp-row-h) * var(--tp-rows)) + (var(--tp-gap) * (var(--tp-rows) - 1)) + (var(--tp-box-pad) * 2)),
        calc(100dvh - 280px)
      );
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      padding: 0;
      border: 1px solid var(--bd-n-200, var(--border, #E7EAF0));
      border-radius: 12px;
      background: var(--bd-n-50, rgba(248, 250, 252, 0.55));
      box-sizing: border-box;
    }
    #view-tenant-picker .tp-list {
      display: flex;
      flex-direction: column;
      gap: var(--tp-gap, 8px);
    }
    #view-tenant-picker .tp-list-box--scroll .tp-list {
      padding: var(--tp-box-pad, 8px);
    }
    #view-tenant-picker .tp-list-empty {
      margin: 8px 4px;
    }
    #view-tenant-picker .tp-tenant-btn {
      text-align: left;
      padding: 10px 14px;
      display: flex;
      align-items: center;
      gap: 12px;
      width: 100%;
      min-height: var(--tp-row-h, 60px);
      box-sizing: border-box;
    }
    #view-tenant-picker .tp-footer {
      display: flex;
      flex-direction: column;
    }
    #view-tenant-picker .tp-footer #tp-create-btn {
      margin-top: 0;
    }
    #view-tenant-picker .tp-footer #tp-logout-btn {
      margin-top: 12px;
    }

    /* Acceso rápido flotante (solo si ya usó el panel en este navegador) */
    /* Contenedor fuera del flex del body: el panel queda por encima del hero/landing. */
    .bardev-fixed-chrome {
      position: fixed;
      inset: 0;
      z-index: 100050;
      pointer-events: none;
    }
    .bardev-fixed-chrome .bardev-float-login {
      pointer-events: auto;
    }
    /* Panel embebido en el documento (no window.open): visible aunque haya bloqueador de popups. */
    .bardev-float-login {
      position: fixed;
      z-index: 1;
      box-sizing: border-box;
      top: calc(12px + env(safe-area-inset-top, 0px));
      right: calc(12px + env(safe-area-inset-right, 0px));
      left: auto;
      width: min(300px, calc(100vw - 16px));
      max-width: calc(100vw - 16px);
      isolation: isolate;
      transform: translateZ(0);
      background: rgba(15, 23, 18, 0.96);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
      border-radius: 14px;
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(0, 0, 0, 0.3);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      font-size: 0.88rem;
    }
    .bardev-float-login.hidden {
      display: none !important;
    }
    /* Cerrar unificado: mismo círculo que «atrás» del detalle de cita */
    button.bardev-modal-close {
      flex-shrink: 0;
      width: 42px;
      height: 42px;
      border-radius: 999px;
      border: 1px solid var(--ds-border, var(--bd-n-200, #E7EAF0));
      background: var(--c-blanco);
      color: var(--ds-text-secondary, var(--bd-ink-soft, #6B7280));
      font-size: 1.2rem;
      line-height: 1;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      margin: 0;
      box-sizing: border-box;
      box-shadow: var(--ds-shadow-xs, 0 1px 2px rgba(17, 24, 39, 0.04));
      transition: background 0.15s, border-color 0.15s, color 0.15s;
    }
    button.bardev-modal-close:hover {
      background: var(--c-gris-50f);
      border-color: var(--ds-border-2, var(--bd-n-300, #D1D5DB));
      color: var(--ds-text-secondary, var(--bd-ink-soft, #6B7280));
    }
    button.bardev-modal-close:focus-visible {
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 2px;
    }
    button.bardev-modal-close--on-light {
      border-color: var(--ds-border, #E7EAF0);
      background: var(--c-blanco);
      color: var(--ds-text-secondary, #6B7280);
    }
    button.bardev-modal-close--on-light:hover {
      background: var(--c-gris-50f);
      border-color: var(--ds-border-2, #D1D5DB);
      color: var(--ds-text-secondary, #6B7280);
    }
    html.bardev-panel-theme-light button.bardev-modal-close,
    html.bardev-panel-theme-light button.bardev-modal-close--on-light {
      width: 42px;
      height: 42px;
      border-radius: 999px;
      background: var(--c-blanco) !important;
      border: 1px solid var(--ds-border, #E7EAF0) !important;
      color: var(--ds-text-secondary, #6B7280) !important;
      font-size: 1.2rem;
      box-shadow: var(--ds-shadow-xs, 0 1px 2px rgba(17, 24, 39, 0.04));
    }
    html.bardev-panel-theme-light button.bardev-modal-close:hover,
    html.bardev-panel-theme-light button.bardev-modal-close--on-light:hover {
      background: var(--c-gris-50f) !important;
      border-color: var(--ds-border-2, #D1D5DB) !important;
      color: var(--ds-text-secondary, #6B7280) !important;
    }
    .bardev-float-login__head {
      display: flex;
      align-items: center;
      gap: 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 14px 14px 0 0;
      overflow: hidden;
    }
    .bardev-float-login__head .bardev-modal-close {
      margin: 6px 4px 6px 6px;
    }
    .bardev-float-login__drag {
      flex: 1 1 auto;
      min-width: 0;
      padding: 10px 12px;
      font-weight: 700;
      font-size: 0.78rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: rgba(226, 232, 240, 0.92);
      cursor: grab;
      user-select: none;
      -webkit-user-select: none;
      display: flex;
      align-items: center;
      gap: 0.35em;
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.1);
    }
    .bardev-float-login__drag .ba-acc-ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.3em;
      height: 1.3em;
      border-radius: 50%;
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      flex-shrink: 0;
    }
    .bardev-float-login__drag .ba-acc-ico svg {
      width: 58%;
      height: 58%;
      display: block;
      color: var(--c-blanco);
    }
    .bardev-float-login__drag:active {
      cursor: grabbing;
    }
    .bardev-login-act {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
    }
    .bardev-login-act__checks {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
      min-width: 0;
    }
    .bardev-login-act__checks label {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      font-size: 0.86rem;
      font-weight: 500;
      text-transform: none;
      letter-spacing: 0;
      color: inherit;
      cursor: pointer;
    }
    .bardev-login-act__checks input {
      width: 18px;
      height: 18px;
      margin: 0;
      accent-color: var(--accent, var(--bv-g-047857, #047857));
    }
    .bardev-login-act__btns {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      flex: 0 0 auto;
    }
    .bardev-login-act .btn,
    .bardev-float-login__body .bardev-login-act .btn {
      width: auto;
      margin: 0;
      padding: 10px 16px;
    }
    .bardev-login-forgot {
      display: block;
      width: fit-content;
      margin: 6px 0 0 auto;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--accent, var(--bv-g-047857, #047857));
      font: inherit;
      font-size: 0.72rem;
      font-weight: 600;
      text-decoration: underline;
      cursor: pointer;
    }
    .bardev-float-login__body {
      padding: 14px 14px 16px;
    }
    .bardev-float-login__body label {
      display: block;
      margin-top: 10px;
      margin-bottom: 4px;
      font-size: 0.72rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
    }
    .bardev-float-login__body label:first-of-type {
      margin-top: 0;
    }
    .bardev-float-login__body input {
      width: 100%;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      font-size: 0.9rem;
      box-sizing: border-box;
    }
    .bardev-float-login__body .btn {
      width: 100%;
      margin-top: 14px;
      padding: 10px 16px;
      font-size: 0.9rem;
    }
    .bardev-float-login__body .msg {
      margin-top: 10px;
      font-size: 0.78rem;
    }

    /* ── Landing corporativa ── */
    /* Acento corporativo landing (var(--accent) no existe en :root; sin esto varias reglas quedan inválidas). */
    .bardev-landing { width:100%; color:var(--text); overflow:hidden; --accent:var(--bv-g-10b981, #10b981); }
    /* No aplicar a .bl-btn: el acento verde sobre botón verde dejaba el texto ilegible. */
    .bardev-landing a:not(.bl-btn) { color:var(--accent); text-decoration:none; }
    .bardev-landing a:not(.bl-btn):hover { text-decoration:underline; }

    /* Scroll reveal */
    .bl-reveal {
      opacity:0; transform:translateY(50px);
      transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
    }
    .bl-reveal--visible { opacity:1; transform:translateY(0); }
    .bl-reveal--left { transform:translateX(-60px); }
    .bl-reveal--left.bl-reveal--visible { transform:translateX(0); }
    .bl-reveal--right { transform:translateX(60px); }
    .bl-reveal--right.bl-reveal--visible { transform:translateX(0); }
    .bl-reveal--scale { transform:scale(.85); }
    .bl-reveal--scale.bl-reveal--visible { transform:scale(1); }

    /* Animated gradient bg */
    @keyframes bl-gradient-shift {
      0%   { background-position: 0% 50%; }
      50%  { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    /* Floating particles canvas */
    #bl-particles { position:absolute; inset:0; z-index:0; pointer-events:none; }

    /* ── HERO ── */
    .bl-hero {
      position:relative;
      min-height: 100vh;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      text-align: center;
      padding: 80px 24px 60px;
      background: var(--c-negro);
      background-size: 300% 300%;
      animation: none;
      overflow:hidden;
    }
    .bl-hero::before {
      content:''; position:absolute; inset:0; z-index:0;
      background: rgba(255,255,255,0.55);
    }

    .bl-hero > * { position:relative; z-index:1; }

    .bl-hero > .bl-hero__video {
      position:absolute; inset:0; z-index:0;
      width:100%; height:100%; object-fit:cover;
      opacity:1;
    }

    .bl-hero__top-actions {
      position: fixed;
      top: calc(18px + env(safe-area-inset-top, 0px));
      right: calc(18px + env(safe-area-inset-right, 0px));
      z-index: 40;
      display: none;
      align-items: center;
      gap: 10px;
    }
    body.mode-login .bl-hero__top-actions {
      display: inline-flex;
    }

    .bl-land-bar {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      max-width: none;
      margin: 0;
      z-index: 50;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      height: calc(64px + env(safe-area-inset-top, 0px));
      min-height: calc(64px + env(safe-area-inset-top, 0px));
      max-height: calc(64px + env(safe-area-inset-top, 0px));
      padding: 0 18px;
      padding-top: env(safe-area-inset-top, 0px);
      background: var(--barveo-chrome-ink, #1E272F);
      border: none;
      outline: none;
      box-shadow: none;
      overflow: visible;
      box-sizing: border-box;
      align-self: stretch;
    }
    .bl-land-bar::before {
      content: '';
      position: absolute;
      inset: 0;
      width: auto;
      height: auto;
      background: var(--barveo-chrome-ink, #1E272F);
      border: none;
      box-shadow: none;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      pointer-events: none;
      z-index: 0;
    }
    body.mode-login .bl-land-bar {
      display: flex;
    }
    html.bardev-panel-theme-light:has(body.mode-login),
    html.bardev-panel-theme-light body.mode-login {
      background: var(--c-blanco) !important;
    }
    .bl-land-bar__brand {
      position: relative;
      z-index: 2;
      display: block;
      align-self: flex-start;
      margin-top: 8px;
      line-height: 0;
      color: var(--c-blanco) !important;
      text-decoration: none !important;
    }
    .bardev-landing a.bl-land-bar__brand:hover {
      text-decoration: none !important;
    }
    .bl-land-bar__brand img {
      display: block;
      width: auto;
      height: 36px;
      max-height: 36px;
      object-fit: contain;
      box-sizing: border-box;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    .bl-land-bar__actions {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      gap: 8px;
      flex-shrink: 0;
    }
    .bl-land-bar .bl-land-bar__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.14);
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      border: 1.5px solid rgba(255, 255, 255, 0.55);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      text-shadow: none;
      text-decoration: none;
      box-sizing: border-box;
    }
    .bl-land-bar .bl-land-bar__btn:hover,
    .bl-land-bar .bl-land-bar__btn:focus-visible {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.88);
      border-color: rgba(255, 255, 255, 0.95);
      color: var(--c-blanco);
      transform: none;
      text-decoration: none;
    }
    .bl-land-bar__ico {
      display: block;
      width: 20px;
      height: 20px;
    }
    body.mode-login .bardev-landing .bl-hero {
      padding-top: calc(96px + env(safe-area-inset-top, 0px));
    }
    a.bl-hero__search-back,
    a.bl-hero__user-access {
      position: static;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border-radius: 999px;
      border: 1.5px solid rgba(255, 255, 255, 0.85);
      color: var(--c-blanco);
      text-decoration: none;
      background: rgba(0, 0, 0, 0.45);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      box-sizing: border-box;
    }
    a.bl-hero__user-access {
      border-color: rgba(255, 255, 255, 0.55);
      background: var(--c-gris-950d);
    }
    a.bl-hero__search-back:hover,
    a.bl-hero__search-back:focus-visible,
    a.bl-hero__user-access:hover,
    a.bl-hero__user-access:focus-visible {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.88);
      border-color: rgba(255, 255, 255, 0.95);
      color: var(--c-blanco);
      text-decoration: none;
    }
    html.bardev-panel-theme-light a.bl-hero__search-back,
    html.bardev-panel-theme-light a.bl-hero__user-access {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #d1d5db);
      color: var(--bd-ink, #111827);
      box-shadow: 0 2px 10px rgba(17, 24, 39, 0.12);
    }
    html.bardev-panel-theme-light a.bl-hero__search-back:hover,
    html.bardev-panel-theme-light a.bl-hero__search-back:focus-visible,
    html.bardev-panel-theme-light a.bl-hero__user-access:hover,
    html.bardev-panel-theme-light a.bl-hero__user-access:focus-visible {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .bl-hero__search-ico,
    .bl-hero__user-ico {
      display: block;
      width: 20px;
      height: 20px;
    }
    @media (max-width: 520px) {
      .bl-hero__top-actions {
        top: calc(14px + env(safe-area-inset-top, 0px));
        right: calc(12px + env(safe-area-inset-right, 0px));
        gap: 8px;
      }
      a.bl-hero__search-back,
      a.bl-hero__user-access {
        width: 36px;
        height: 36px;
      }
    }

    .bl-hero__logo {
      width: min(200px, 52vw) !important;
      max-width: min(200px, 52vw) !important;
      height: auto !important;
      max-height: none !important;
      aspect-ratio: 1 / 1 !important;
      object-fit: contain !important;
      /* Manual de marca: 1:1 en positivo sobre caja beis (radio 22,5 %) cuando el fondo no contrasta. */
      background: var(--barveo-palette-06, #FCF7EA);
      margin-bottom: 32px;
      border-radius: 22.5% !important;
      box-shadow: 0 8px 40px rgba(0,0,0,0.35), 0 2px 12px rgba(0,0,0,0.2);
      animation: bl-logo-float 6s ease-in-out infinite;
      filter: none;
      display: block;
    }
    /* /empresas y /proveedores: imagen fija (último fotograma del vídeo del titular, sobre su blanco)
       en lugar del vídeo; sigue flotando (titular, 23-10-2026). */
    .bl-hero__logo--fijo {
      background: #fff;
    }
    @keyframes bl-logo-float {
      0%,100% { transform:translateY(0); }
      50%     { transform:translateY(-12px); }
    }

    .bl-hero__title {
      font-size: clamp(1.45rem, 3.2vw + 0.55rem, 4rem);
      font-weight: 800;
      line-height: 1.12;
      max-width: 800px;
      margin: 0 0 20px;
      text-wrap: balance;
      /* Manual de marca, negativo sobre fotografía oscura: Hueso con el rojo aclarado (#E0645A). */
      background: linear-gradient(135deg, var(--c-blanco) 0%, var(--c-hueso) 35%, var(--c-rojo-senal-claro) 60%, var(--c-hueso) 85%, var(--c-blanco) 100%);
      background-size: 200% auto;
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: bl-text-shine 4s linear infinite;
    }
    .bl-hero__title-line {
      display: block;
    }
    .bl-hero__title-line + .bl-hero__title-line {
      margin-top: 0.28em;
    }
    .bl-hero__title-join {
      white-space: nowrap;
    }
    @keyframes bl-text-shine {
      0%   { background-position: 0% center; }
      100% { background-position: 200% center; }
    }

    .bl-hero__lead {
      font-size: clamp(0.92rem, 2vw + 0.45rem, 1.35rem);
      color: rgba(255,255,255,0.92);
      max-width: 600px;
      margin: 0 0 36px;
      line-height: 1.6;
      text-wrap: balance;
      text-shadow: 0 1px 8px rgba(0,0,0,0.55);
    }
    @media (max-width: 520px) {
      /* Móvil: el hero tapa la pantalla entera del terminal, también lo que queda bajo la barra flotante
         de Safari 26 en iPhone: esa franja (unos 72 px) no entra en vh/svh/lvh y por ella asomaba la
         sección siguiente (titular, 24-10-2026). El hero se alarga --bl-hero-bajo-barra por debajo del
         alto de pantalla y el relleno de abajo devuelve ese trozo (y lo que haya entre svh y lvh), así el
         contenido y la flecha siguen centrados en la parte visible al abrir. En la app iOS svh = lvh. */
      .bl-hero {
        --bl-hero-bajo-barra: 120px;
        min-height: calc(100vh + var(--bl-hero-bajo-barra));
        min-height: calc(100lvh + var(--bl-hero-bajo-barra));
        padding: calc(64px + env(safe-area-inset-top, 0px) + 12px) 16px calc(44px + env(safe-area-inset-bottom, 0px) + var(--bl-hero-bajo-barra));
        padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px) + var(--bl-hero-bajo-barra) + 100lvh - 100svh);
      }
      /* Con «.bl-hero >»: la regla general de la flecha va más abajo en este archivo y, con la misma
         especificidad, ganaba (bottom: 32px) y la dejaba bajo la barra. */
      .bl-hero > .bl-hero__scroll-hint {
        bottom: calc(8px + env(safe-area-inset-bottom, 0px) + var(--bl-hero-bajo-barra));
        bottom: calc(8px + env(safe-area-inset-bottom, 0px) + var(--bl-hero-bajo-barra) + 100lvh - 100svh);
      }
      .bl-hero__logo {
        width: min(160px, 42vw) !important;
        max-width: min(160px, 42vw) !important;
        margin-bottom: 20px;
      }
      .bl-hero__title {
        font-size: clamp(1.2rem, 4.5vw + 0.45rem, 1.95rem);
        line-height: 1.18;
        max-width: 100%;
        padding: 0 2px;
        margin-bottom: 16px;
      }
      .bl-hero__title-line + .bl-hero__title-line {
        margin-top: 0.35em;
      }
      .bl-hero__lead {
        font-size: clamp(0.86rem, 2.6vw + 0.4rem, 1.05rem);
        line-height: 1.55;
        max-width: 100%;
        margin-bottom: 28px;
      }
      .bl-btn {
        padding: 14px 22px;
        font-size: 0.95rem;
      }
    }

    .bl-hero__ctas { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
    .bl-hero__ctas--demo { margin-top: 14px; }
    .bl-hero__demo-msg {
      position: relative;
      z-index: 1;
      margin: 14px 0 0;
      min-height: 1.2em;
      color: rgba(255,255,255,0.88);
      font-size: 0.92rem;
      font-weight: 600;
      text-align: center;
      text-shadow: 0 1px 4px rgba(0,0,0,0.35);
    }
    .bl-hero__demo-msg--err { color: var(--c-rojo-100); }
    .bl-hero__demo-msg--ok { color: var(--c-verde-150); }

    .bl-btn {
      display:inline-flex; align-items:center; gap:8px;
      padding: 16px 32px; border-radius:14px;
      font-size: 1.05rem; font-weight:700;
      cursor:pointer; transition: all .3s cubic-bezier(.16,1,.3,1);
      border: none; position:relative; overflow:hidden;
    }
    .bl-btn::after {
      content:''; position:absolute; inset:0;
      background: linear-gradient(135deg, rgba(255,255,255,.2), transparent);
      opacity:0; transition: opacity .3s;
    }
    .bl-btn:hover::after { opacity:1; }

    /* Manual de marca: la acción principal va en el rojo del Resalte (la «o» del logo). */
    .bl-btn--primary {
      background: var(--barveo-palette-01, #C8463D);
      color:var(--c-blanco);
      -webkit-text-fill-color:var(--c-blanco);
      box-shadow: 0 4px 18px rgba(38, 49, 58, 0.18);
    }
    .bl-btn--primary:visited {
      color:var(--c-blanco);
      -webkit-text-fill-color:var(--c-blanco);
    }
    .bl-btn--primary:hover {
      transform:translateY(-3px) scale(1.03);
      box-shadow: 0 8px 28px rgba(38, 49, 58, 0.26);
    }
    .bl-btn--secondary {
      background:rgba(255,255,255,0.18); color:var(--c-blanco);
      -webkit-text-fill-color:var(--c-blanco);
      border:1px solid rgba(255,255,255,0.5);
      backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
      text-shadow: 0 1px 4px rgba(0,0,0,0.3);
    }
    .bl-btn--secondary:hover {
      background:rgba(255,255,255,0.28);
      transform:translateY(-3px);
      border-color:rgba(255,255,255,0.7);
    }
    .bl-btn:has(.bl-btn__arrow) { overflow: visible; }
    .bl-btn__arrow {
      display: inline-block;
      margin-left: 2px;
      font-weight: 700;
      line-height: 1;
      transition: transform .25s cubic-bezier(.16,1,.3,1);
    }
    @keyframes bl-arrow-nudge {
      0%, 100% { transform: translateX(0); }
      50% { transform: translateX(5px); }
    }
    .bl-btn:hover .bl-btn__arrow,
    .bl-btn:focus-visible .bl-btn__arrow,
    .bl-plan:hover .bl-btn__arrow {
      animation: bl-arrow-nudge .7s ease-in-out infinite;
    }
    @media (prefers-reduced-motion: reduce) {
      .bl-btn:hover .bl-btn__arrow,
      .bl-btn:focus-visible .bl-btn__arrow,
      .bl-plan:hover .bl-btn__arrow {
        animation: none;
        transform: translateX(4px);
      }
    }

    .bl-hero__scroll-hint {
      position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
      z-index:1; animation: bl-bounce 2s ease-in-out infinite;
      color:rgba(255,255,255,.3);
    }
    @keyframes bl-bounce {
      0%,100% { transform:translateX(-50%) translateY(0); }
      50%     { transform:translateX(-50%) translateY(10px); }
    }

    /* ── SECTIONS ── */
    .bl-section {
      padding: 100px 24px;
      max-width: 1100px;
      margin: 0 auto;
      position:relative;
    }
    .bl-section__tag {
      display:inline-block;
      font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em;
      color:var(--accent);
      margin-bottom:12px;
      padding:4px 12px;
      background:rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.08);
      border-radius:20px;
      border:1px solid rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.15);
    }
    .bl-section__title {
      font-size: clamp(1.8rem,4vw,2.8rem);
      font-weight:800; margin:0 0 18px;
      letter-spacing:-.02em;
    }
    .bl-section__desc {
      color:var(--muted); font-size:1.1rem; max-width:660px; margin:0 0 48px;
      line-height:1.65;
    }

    /* ── PLANES (landing empresas) ── */
    .bl-plans-section .bl-section__desc { max-width:720px; margin-bottom:24px; }
    .bl-plans-section {
      padding-top: 24px;
      padding-bottom: 64px;
    }
    .bl-plans {
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap:16px;
      align-items:stretch;
    }
    @media (max-width:1100px) {
      .bl-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width:640px) {
      .bl-plans { grid-template-columns: 1fr; }
    }
    .bardev-landing .bl-plan {
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:10px;
      text-align:center;
      text-decoration:none !important;
      color:var(--c-azul-900b);
      -webkit-text-fill-color:var(--c-azul-900b);
      padding:22px 16px 18px;
      border-radius:18px;
      border:1px solid var(--c-gris-100);
      background: var(--c-blanco);
      box-shadow: 0 10px 28px rgba(15,23,42,.08);
      transition: transform .25s cubic-bezier(.16,1,.3,1), border-color .2s, box-shadow .25s;
      cursor:pointer;
    }
    .bardev-landing .bl-plan:hover {
      transform: translateY(-4px);
      border-color: var(--bv-g-047857, #047857);
      box-shadow: 0 16px 40px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.16);
      text-decoration:none !important;
    }
    .bardev-landing .bl-plan--featured {
      border: 2px solid var(--bv-g-047857, #047857);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.18), 0 16px 40px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.14);
      background: linear-gradient(180deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--c-blanco) 42%);
    }
    .bl-plan__badge {
      display:inline-flex;
      align-items:center;
      min-height:22px;
      padding:2px 10px;
      border-radius:999px;
      font-size:.68rem;
      font-weight:800;
      letter-spacing:.04em;
      text-transform:uppercase;
      color:var(--c-blanco);
      -webkit-text-fill-color:var(--c-blanco);
      background: var(--bv-g-047857, #047857);
    }
    .bl-plan__icon {
      width:64px; height:64px;
      display:inline-flex; align-items:center; justify-content:center;
      border-radius:18px;
      border:1px solid var(--bv-g-a7f3d0, #a7f3d0);
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color:var(--bv-g-047857, #047857);
    }
    .bl-plan__icon svg { width:34px; height:34px; display:block; }
    .bl-plan__name {
      margin:0;
      font-size:1.15rem;
      font-weight:800;
      letter-spacing:-.02em;
      color:var(--c-azul-900b);
      -webkit-text-fill-color:var(--c-azul-900b);
    }
    .bl-plan__price {
      margin:0;
      font-size:1.65rem;
      font-weight:800;
      letter-spacing:-.03em;
      color:var(--bv-g-047857, #047857);
      -webkit-text-fill-color:var(--bv-g-047857, #047857);
    }
    .bl-plan__price span {
      display:inline;
      margin-left:4px;
      font-size:.85rem;
      font-weight:600;
      color:var(--c-pizarra-650);
      -webkit-text-fill-color:var(--c-pizarra-650);
    }
    .bl-plan__note {
      margin:0;
      font-size:.82rem;
      line-height:1.4;
      color:var(--c-pizarra-650);
      -webkit-text-fill-color:var(--c-pizarra-650);
      min-height:2.4em;
    }
    .bl-plan__mods {
      list-style:none;
      margin:4px 0 8px;
      padding:0;
      width:100%;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:4px;
      flex:1;
      align-content:start;
    }
    /* Módulos: 2 por fila, altura al contenido (sin hueco arriba/abajo) */
    .bl-plan-mod {
      position:relative;
      width:100%;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:2px;
      padding:4px 6px;
      border-radius:8px;
      border:1px solid var(--c-gris-100);
      background:var(--c-gris-50f);
      font-size:.62rem;
      font-weight:600;
      color:var(--c-azul-900b);
      -webkit-text-fill-color:var(--c-azul-900b);
      line-height:1.15;
      text-align:center;
      box-sizing:border-box;
    }
    .bl-plan-mod--new {
      border-color:var(--bv-g-047857, #047857);
      background:var(--c-verde-50d);
    }
    .bl-plan-mod__ico-wrap {
      position:relative;
      width:16px;
      height:16px;
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      justify-content:center;
    }
    .bl-plan-mod__ico {
      width:16px;
      height:16px;
      color:var(--bv-g-047857, #047857);
      display:block;
    }
    .bl-plan-mod__ico svg {
      width:16px;
      height:16px;
      display:block;
    }
    .bl-plan-mod--new .bl-plan-mod__ico {
      opacity:0.35;
    }
    .bl-plan-mod__new {
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%, -50%);
      z-index:1;
      width:14px;
      height:14px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:0.7rem;
      font-weight:800;
      line-height:1;
      color:var(--c-blanco);
      -webkit-text-fill-color:var(--c-blanco);
      background:var(--bv-g-047857, #047857);
      border:1.5px solid var(--c-blanco);
      box-shadow:0 1px 4px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      pointer-events:none;
    }
    .bl-plan-mod__txt {
      display:block;
      max-width:100%;
      overflow:hidden;
      hyphens:none;
      -webkit-hyphens:none;
      -ms-hyphens:none;
      word-break:normal;
      overflow-wrap:normal;
      white-space:normal;
    }
    /* Descuento del plan en Barveo Store: landing-effects.js lo enseña con la cifra de Developer › Tienda Barveo. */
    .bl-plan__tienda {
      width:100%;
      box-sizing:border-box;
      margin:0;
      padding:6px 10px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:6px;
      border-radius:10px;
      border:1px dashed var(--bv-g-047857, #047857);
      background:var(--c-verde-50d);
      font-size:.74rem;
      font-weight:600;
      line-height:1.25;
      color:var(--c-azul-900b);
      -webkit-text-fill-color:var(--c-azul-900b);
    }
    .bl-plan__tienda a {
      font-weight:800;
      text-decoration:underline;
      color:var(--bv-g-047857, #047857);
      -webkit-text-fill-color:var(--bv-g-047857, #047857);
    }
    .bl-plan__tienda[hidden] { display:none !important; }
    .bl-plan__tienda-ico {
      width:16px;
      height:16px;
      flex:0 0 auto;
      color:var(--bv-g-047857, #047857);
    }
    .bl-plan__tienda strong {
      font-weight:800;
      color:var(--bv-g-047857, #047857);
      -webkit-text-fill-color:var(--bv-g-047857, #047857);
    }
    .bl-plans__tienda {
      max-width:760px;
      margin:16px auto 0;
      text-align:center;
      font-size:.85rem;
      line-height:1.45;
      /* Como .bl-section__desc: va sobre el fondo de la sección, que con sesión y tema oscuro se oscurece. */
      color:var(--muted);
      -webkit-text-fill-color:var(--muted);
    }
    .bl-plans__tienda a {
      font-weight:700;
      color:var(--bv-g-047857, #047857);
      -webkit-text-fill-color:var(--bv-g-047857, #047857);
    }
    .bl-plans__tienda[hidden] { display:none !important; }
    /* Sin margen extra: el salto a #planes debe dejar el faldón blanco (marquee) fuera. */
    #planes { scroll-margin-top: 0; }
    .bl-plan__cta {
      margin-top:auto;
      width:100%;
      box-sizing:border-box;
      pointer-events:auto;
      justify-content:center;
      align-items:center;
      flex-wrap:nowrap;
      white-space:nowrap;
      text-decoration:none !important;
      /* Misma altura que Contratar; texto en un renglón según ancho de columna */
      min-height:44px;
      padding:10px clamp(8px, 1.2vw, 16px);
      font-size:clamp(0.72rem, 0.55rem + 0.55vw, 0.95rem);
      gap:4px;
      letter-spacing:-0.01em;
      line-height:1.15;
    }
    .bardev-landing .bl-plan .bl-btn--secondary {
      background:var(--c-blanco);
      color:var(--bv-g-047857, #047857);
      -webkit-text-fill-color:var(--bv-g-047857, #047857);
      border:2px solid var(--bv-g-047857, #047857);
      text-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }
    .bardev-landing .bl-plan .bl-btn--primary {
      color:var(--c-blanco);
      -webkit-text-fill-color:var(--c-blanco);
      background:var(--bv-g-047857, #047857);
      box-shadow: 0 4px 16px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.25);
    }
    @media (max-width:1100px) {
      .bl-plan__cta {
        font-size:clamp(0.8rem, 0.7rem + 0.4vw, 1rem);
        padding:12px 14px;
      }
    }
    @media (max-width:640px) {
      .bl-plan__cta {
        font-size:1rem;
        padding:14px 18px;
      }
    }
    .bl-plans__msg {
      margin:18px 0 0;
      text-align:center;
      font-size:.9rem;
      color:var(--muted);
    }
    .bl-plans__msg[data-tone="err"] { color:var(--c-rojo-300); }
    .bl-plans__msg[data-tone="ok"] { color:var(--bv-g-34d399, #34d399); }

    .bl-plan__terms {
      width:100%;
      margin:2px 0 0;
      text-align:center;
      pointer-events:auto;
    }
    .bl-plan__terms summary {
      cursor:pointer;
      list-style:none;
      display:inline;
      font-size:.68rem;
      font-weight:700;
      color:var(--bv-g-047857, #047857);
      -webkit-text-fill-color:var(--bv-g-047857, #047857);
      text-decoration:underline;
      text-underline-offset:2px;
    }
    .bl-plan__terms summary::-webkit-details-marker,
    .bl-plan__terms summary::marker {
      display:none;
      content:'';
    }
    .bl-plan__terms-body {
      margin-top:6px;
      text-align:left;
      font-size:9px;
      line-height:1.35;
      font-weight:400;
      color:var(--c-pizarra-550);
      -webkit-text-fill-color:var(--c-pizarra-550);
    }
    .bl-plan__terms-body p {
      margin:0 0 5px;
    }
    .bl-plan__terms-body p:last-child { margin-bottom:0; }
    /* Una sola vez, debajo de los planes (son las mismas para Pro y Ultra). */
    .bl-plans__terms { max-width:760px; margin:18px auto 0; }
    .bl-plans__terms .bl-plan__terms-body { font-size:11px; line-height:1.45; }

    /* ── PROBLEM / SOLUTION ── */
    .bl-problem {
      display:grid; grid-template-columns:1fr 1fr; gap:24px;
    }
    @media(max-width:680px){ .bl-problem{ grid-template-columns:1fr; } }
    .bl-problem__card {
      padding:32px; border-radius:20px;
      border:1px solid var(--border);
      backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
      transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;
    }
    .bl-problem__card:hover { transform:translateY(-6px); }
    .bl-problem__card--bad {
      background:rgba(255,60,60,.04); border-color:rgba(255,60,60,.2);
    }
    .bl-problem__card--bad:hover { box-shadow:0 8px 40px rgba(255,60,60,.1); }
    .bl-problem__card--good {
      background:rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.04); border-color:rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.2);
    }
    .bl-problem__card--good:hover { box-shadow:0 8px 40px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.15); }
    .bl-problem__card h3 { margin:0 0 16px; font-size:1.25rem; font-weight:700; }
    .bl-problem__card ul { padding-left:20px; margin:0; line-height:2; color:var(--muted); }
    .bl-problem__card li { transition: color .2s; }
    .bl-problem__card:hover li { color:var(--text); }
    .bl-problem__card--bad h3 { color:var(--c-rojo-300c); }
    .bl-problem__card--good h3 { color:var(--accent); }

    /* ── FEATURES GRID ── */
    .bl-features {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
      gap: 20px;
    }
    @media (min-width: 1100px) {
      .bl-features { grid-template-columns: repeat(2, 1fr); }
    }
    @media (min-width: 1280px) {
      .bl-features { grid-template-columns: repeat(4, 1fr); }
    }
    .bl-feature {
      padding:32px; border-radius:20px;
      background: rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      transition: all .4s cubic-bezier(.16,1,.3,1);
      position:relative; overflow:hidden;
    }
    .bl-feature::before {
      content:''; position:absolute; top:0; left:0;
      width:100%; height:3px;
      background: linear-gradient(90deg, transparent, var(--accent), transparent);
      opacity:0; transition: opacity .4s;
    }
    .bl-feature:hover::before { opacity:1; }
    .bl-feature:hover {
      background:rgba(255,255,255,.07);
      transform:translateY(-6px);
      box-shadow: 0 20px 60px rgba(0,0,0,.3), 0 0 40px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.08);
      border-color:rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.2);
    }
    .bl-feature__icon {
      font-size:2.6rem; margin-bottom:16px;
      filter: drop-shadow(0 0 12px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.3));
    }
    .bl-feature h3 { margin:0 0 10px; font-size:1.15rem; font-weight:700; }
    .bl-feature p { margin:0; color:var(--muted); font-size:.95rem; line-height:1.6; }
    .bl-feature--highlight {
      background: linear-gradient(135deg, rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.10) 0%, rgba(var(--bv-g-rgb-34d399, 52, 211, 153),.06) 50%, rgba(255,255,255,.03) 100%);
      border-color: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.28);
      box-shadow: 0 0 30px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.08), inset 0 1px 0 rgba(255,255,255,.06);
    }
    .bl-feature--highlight.bl-feature--full { grid-column: 1 / -1; }
    .bl-feature--highlight::before { opacity: 1; height: 4px; }
    .bl-feature--highlight .bl-feature__icon { font-size: 3rem; }
    .bl-feature--highlight h3 { font-size: 1.3rem; margin-bottom: 14px; }
    .bl-feature--highlight .bl-feature__badge {
      display: inline-block;
      padding: 3px 10px;
      border-radius: 6px;
      background: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.18);
      color: var(--bv-g-34d399, #34d399);
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .03em;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    .bl-feature__cols {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: 24px;
      align-items: start;
    }
    .bl-feature__col-main > p { margin-bottom: 16px; }
    .bl-feature--highlight .bl-feature__steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .bl-feature--highlight .bl-feature__step {
      text-align: center;
      padding: 12px 8px;
      border-radius: 12px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.06);
    }
    .bl-feature--highlight .bl-feature__step-num {
      display: block;
      font-size: 1.3rem;
      font-weight: 800;
      color: var(--bv-g-34d399, #34d399);
      margin-bottom: 4px;
    }
    .bl-feature--highlight .bl-feature__step-text {
      font-size: .8rem;
      color: var(--muted);
      line-height: 1.4;
    }
    .bl-feature__legal-card {
      padding: 20px;
      border-radius: 14px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.18);
    }
    .bl-feature__legal-icon {
      font-size: 1.6rem;
      display: block;
      margin-bottom: 8px;
    }
    .bl-feature__legal-card > strong {
      display: block;
      font-size: 1rem;
      margin-bottom: 10px;
      color: var(--bv-g-34d399, #34d399);
    }
    .bl-feature__legal-card > p {
      font-size: .85rem !important;
      line-height: 1.55 !important;
      margin: 0 0 10px !important;
      color: var(--muted);
    }
    .bl-feature__legal-card > p:last-child { margin-bottom: 0 !important; }
    .bl-demo-btn {
      margin-top: 14px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 20px;
      border-radius: 8px;
      border: 1px solid rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.35);
      background: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.12);
      color: var(--bv-g-34d399, #34d399);
      font-size: .88rem;
      font-weight: 600;
      cursor: pointer;
      transition: all .25s ease;
    }
    .bl-demo-btn:hover {
      background: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.22);
      border-color: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.55);
      box-shadow: 0 0 18px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.15);
      transform: translateY(-2px);
    }
    .demo-video-sheet {
      position: relative;
      width: 90vw;
      max-width: 800px;
      padding: 12px;
      border-radius: 16px;
      background: var(--c-gris-950c);
      border: 1px solid rgba(255,255,255,.1);
      box-shadow: 0 30px 80px rgba(0,0,0,.6);
    }
    @media (max-width: 700px) {
      .bl-feature--highlight.bl-feature--full { grid-column: span 1; }
      .bl-feature__cols { grid-template-columns: 1fr; }
      .bl-feature--highlight .bl-feature__steps { grid-template-columns: 1fr; }
    }
    /* ── STATS COUNTER ── */
    .bl-stats {
      display:flex; justify-content:center; gap:48px; flex-wrap:wrap;
      padding:60px 24px;
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      background: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.02);
    }
    .bl-stat { text-align:center; }
    .bl-stat__number {
      font-size:clamp(2rem,5vw,3rem); font-weight:800;
      color:var(--accent);
      font-variant-numeric: tabular-nums;
    }
    .bl-stat__label {
      font-size:.85rem; color:var(--muted);
      text-transform:uppercase; letter-spacing:.1em;
      margin-top:4px;
    }

    /* ── STEPS ── */
    .bl-steps {
      display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:32px;
      counter-reset:steps;
    }
    .bl-step {
      position:relative; padding:40px 28px 28px;
      border-radius:20px;
      background: linear-gradient(180deg, rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.04), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.08);
      text-align:center;
      transition: all .4s cubic-bezier(.16,1,.3,1);
    }
    .bl-step:hover {
      transform:translateY(-8px);
      box-shadow: 0 20px 60px rgba(0,0,0,.3);
      border-color:rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.25);
    }
    .bl-step::before {
      counter-increment:steps;
      content:counter(steps);
      position:absolute; top:-20px; left:50%; transform:translateX(-50%);
      width:40px; height:40px; border-radius:50%;
      background: var(--barveo-palette-01, #C8463D);
      color:var(--c-blanco) !important;
      -webkit-text-fill-color:var(--c-blanco);
      font-weight:800; font-size:1.2rem;
      line-height:1;
      display:grid; place-items:center;
      box-shadow: 0 4px 20px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.4);
    }
    .bl-step h3 { margin:14px 0 10px; font-size:1.1rem; font-weight:700; }
    .bl-step p { margin:0; color:var(--muted); font-size:.95rem; line-height:1.5; }

    /* ── CTA BANNER ── */
    .bl-cta-banner {
      text-align:center; padding:80px 24px;
      position:relative; overflow:hidden;
      background: linear-gradient(135deg, rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.08), rgba(0,100,60,.04));
      border-top:1px solid rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.15);
      border-bottom:1px solid rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.15);
    }
    .bl-cta-banner::before {
      content:''; position:absolute; inset:0;
      background: radial-gradient(circle at 50% 50%, rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.1), transparent 70%);
      animation: bl-glow-pulse 5s ease-in-out infinite alternate;
    }
    .bl-cta-banner > * { position:relative; z-index:1; }
    .bl-cta-banner h2 { font-size:clamp(1.6rem,3.5vw,2.4rem); margin:0 0 14px; font-weight:800; }
    .bl-cta-banner p { color:var(--muted); margin:0 0 28px; font-size:1.1rem; }

    /* ── PRUEBA GRATIS (asistente) ── */
    #prueba-gratis { scroll-margin-top: 28px; }
    body.bardev-alta-prueba {
      min-height: 100vh;
      min-height: 100dvh;
      padding: 0 0 48px;
      align-items: center;
      width: 100%;
      box-sizing: border-box;
    }
    /* Mismo ancho de columna que la landing (.bl-section → 1100px). */
    body.bardev-alta-prueba .bardev-landing {
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      padding: calc(104px + env(safe-area-inset-top, 0px)) 24px 40px;
      box-sizing: border-box;
    }
    body.bardev-alta-prueba .bl-section,
    body.bardev-alta-prueba #prueba-gratis,
    body.bardev-alta-prueba #bl-trial-confirm {
      max-width: none;
      width: 100%;
      margin: 0;
      padding: 8px 0 28px;
      box-sizing: border-box;
    }
    body.bardev-alta-prueba .bl-section__desc {
      max-width: 660px;
      margin: 0 0 28px;
      font-size: 1.1rem;
    }
    body.bardev-alta-prueba .bl-wiz {
      max-width: 560px;
      width: 100%;
      margin: 0 auto;
      padding: 22px 20px 26px;
      box-sizing: border-box;
    }
    body.bardev-alta-prueba .bl-demo-form-wrap,
    body.bardev-alta-prueba .bl-demo-form-card {
      max-width: 520px;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      box-sizing: border-box;
    }
    /* El pie se inserta dentro de .bardev-landing (columna de 1100px con 24px de margen):
       en la prueba gratis lo sacamos a todo el ancho, igual que en el resto de páginas. */
    body.bardev-alta-prueba {
      padding-bottom: 0;
      overflow-x: clip;
    }
    body.bardev-alta-prueba .bardev-landing {
      padding-bottom: 0;
    }
    body.bardev-alta-prueba .bardev-landing > .bd-site-foot {
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      margin-top: 40px;
    }
    @media (min-width: 900px) {
      body.bardev-alta-prueba .bl-wiz__svc-row {
        grid-template-columns: minmax(0, 1fr) 5.5rem 5.5rem 5.5rem;
      }
    }
    .bl-alta-head {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 8px;
      padding: 8px 0 12px;
      width: 100%;
      box-sizing: border-box;
      position: sticky;
      top: 0;
      z-index: 40;
      /* Mismo fondo que la página: sin franja de otro color. */
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      box-shadow: none;
      border: none;
    }
    body.bardev-alta-prueba .bl-wiz__step-label,
    body.bardev-alta-prueba .bl-wiz__progress {
      scroll-margin-top: 176px;
    }
    .bl-alta-head__spacer {
      display: block;
      width: 48px;
      height: 48px;
      justify-self: start;
    }
    .bl-alta-head__brand {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none !important;
      color: inherit;
      justify-self: center;
      grid-column: 2;
    }
    .bl-alta-head__logo-frame {
      width: 144px;
      height: 144px;
      border-radius: 28px;
      overflow: hidden;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--c-blanco);
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
      box-shadow: 0 4px 16px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12);
    }
    .bl-alta-head__logo-frame img {
      width: 144px;
      height: 144px;
      object-fit: cover;
      display: block;
    }
    .bl-alta-head__home {
      width: 48px;
      height: 48px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      justify-self: end;
      grid-column: 3;
      text-decoration: none !important;
      color: var(--c-blanco);
      background: linear-gradient(145deg, var(--bv-g-10b981, #10b981) 0%, var(--bv-g-047857, #047857) 70%);
      border: 2px solid rgba(255, 255, 255, 0.85);
      box-shadow: 0 6px 18px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35), inset 0 1px 0 rgba(255,255,255,.25);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .bl-alta-head__home:hover {
      transform: translateY(-2px) scale(1.04);
      box-shadow: 0 10px 24px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.42), inset 0 1px 0 rgba(255,255,255,.3);
      color: var(--c-blanco);
    }
    .bl-alta-head__home:focus-visible {
      outline: 3px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      outline-offset: 3px;
    }
    .visually-hidden {
      position: absolute !important;
      width: 1px; height: 1px;
      padding: 0; margin: -1px;
      overflow: hidden; clip: rect(0,0,0,0);
      white-space: nowrap; border: 0;
    }
    .bl-wiz {
      max-width: 560px;
      margin: 0 auto;
      padding: 22px 20px 26px;
      text-align: left;
      background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 20px;
    }
    .bl-wiz__progress {
      display: flex;
      gap: 10px;
      justify-content: center;
      align-items: center;
      margin-bottom: 10px;
      flex-wrap: nowrap;
    }
    .bl-wiz__dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      flex: 0 0 auto;
      background: var(--c-pizarra-150);
      border: 1px solid var(--c-pizarra-350);
      box-sizing: border-box;
    }
    .bl-wiz__dot.is-active {
      background: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-047857, #047857);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.25);
      transform: scale(1.15);
    }
    .bl-wiz__dot.is-done {
      background: var(--bv-g-34d399, #34d399);
      border-color: var(--bv-g-059669, #059669);
    }
    html.bardev-panel-theme-light .bl-wiz__dot:not(.is-active):not(.is-done),
    body.bardev-alta-prueba .bl-wiz__dot:not(.is-active):not(.is-done) {
      background: var(--c-gris-150);
      border-color: var(--c-pizarra-350b);
    }
    .bl-wiz__step-label {
      text-align: center;
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 16px;
    }
    .bl-wiz__textarea {
      width: 100%;
      box-sizing: border-box;
      min-height: 88px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid rgba(15, 23, 42, 0.14);
      background: var(--c-blanco);
      color: inherit;
      font: inherit;
      resize: vertical;
    }
    .bl-wiz__textarea:focus {
      outline: none;
      border-color: var(--bv-g-047857, #047857);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    .bl-wiz__maps-note {
      margin: 0 0 12px;
      font-size: 0.9rem;
      line-height: 1.45;
      color: var(--muted);
    }
    .bl-wiz__maps-note--warn {
      padding: 10px 12px;
      border-radius: 12px;
      background: rgba(245, 158, 11, 0.12);
      border: 1px solid rgba(245, 158, 11, 0.35);
      color: var(--c-naranja-700b);
    }
    .bl-wiz__map-wrap {
      width: 100%;
      margin: 0 0 16px;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
      background: var(--c-gris-100c);
      line-height: 0;
      /* Solo el mapa visible define la altura (evita hueco del canvas oculto). */
    }
    .bl-wiz__map-wrap > [hidden] {
      display: none !important;
      height: 0 !important;
      min-height: 0 !important;
      max-height: 0 !important;
      overflow: hidden !important;
      border: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    .bl-wiz__map,
    .bl-wiz__map-canvas {
      display: block;
      width: 100%;
      height: 200px;
      max-height: 36vh;
      border: 0;
      margin: 0;
      padding: 0;
      vertical-align: top;
      background: var(--c-gris-100c);
    }
    .bl-wiz__field { display: block; margin: 0 0 12px; }
    .bl-wiz__label {
      display: block;
      font-size: 0.78rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
      margin: 0 0 6px;
    }
    .bl-wiz__field input,
    .bl-wiz__time-row input {
      width: 100%;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.4);
      color: var(--text);
      font-size: 1rem;
      font-family: inherit;
      box-sizing: border-box;
    }
    .bl-wiz__field input:focus,
    .bl-wiz__time-row input:focus {
      outline: none;
      border-color: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.45);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.12);
    }
    .bl-wiz__hint { font-size: 0.88rem; color: var(--muted); margin: 6px 0 14px; line-height: 1.45; }
    .bl-wiz__check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 0.92rem;
      color: var(--text);
      margin: 12px 0 8px;
      cursor: pointer;
    }
    .bl-wiz__check input { margin-top: 3px; flex-shrink: 0; }
    .bl-wiz__days {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 14px;
    }
    .bl-wiz__day {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 10px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.25);
      font-size: 0.85rem;
      cursor: pointer;
    }
    .bl-wiz__time-row {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }
    .bl-wiz__time-row[hidden],
    .bl-wiz__label--morning[hidden],
    .bl-wiz__day-hours-card[hidden] {
      display: none !important;
    }
    .bl-wiz__time-row input { max-width: 140px; }
    .bl-wiz__time-row input:disabled {
      opacity: 0.45;
      cursor: not-allowed;
      background: var(--c-gris-50c);
      color: var(--c-pizarra-350b);
    }
    .bl-wiz__check--slot {
      margin-top: 4px;
    }
    .bl-wiz__day-hours {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin: 8px 0 4px;
    }
    .bl-wiz__day-hours-card {
      padding: 14px 14px 6px;
      border-radius: 14px;
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.16);
      background: rgba(var(--bv-g-rgb-ecfdf5, 236, 253, 245), 0.45);
    }
    .bl-wiz__day-hours-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 8px 12px;
      margin: 0 0 10px;
    }
    .bl-wiz__day-hours-title {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 700;
      color: var(--bv-g-065f46, #065f46);
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }
    .bl-wiz__day-hours-copy {
      flex: 0 0 auto;
      margin: 0;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      background: var(--c-blanco);
      color: var(--bv-g-065f46, #065f46);
      font: inherit;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.01em;
      cursor: pointer;
      line-height: 1.2;
      white-space: nowrap;
    }
    .bl-wiz__day-hours-copy:hover {
      background: rgba(var(--bv-g-rgb-ecfdf5, 236, 253, 245), 0.95);
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.45);
    }
    .bl-wiz__day-hours-copy:focus-visible {
      outline: 2px solid var(--bv-g-047857, #047857);
      outline-offset: 2px;
    }
    .bl-wiz__emp-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 5.5rem;
      gap: 10px;
      align-items: start;
      margin-bottom: 12px;
    }
    .bl-wiz__emp-fields {
      display: contents;
    }
    .bl-wiz__emp-fields .bl-wiz__field { margin: 0; min-width: 0; }
    .bl-wiz__rm-wrap {
      display: flex;
      flex-direction: column;
      width: 5.5rem;
      min-width: 5.5rem;
      max-width: 5.5rem;
    }
    .bl-wiz__rm-wrap .bl-wiz__label {
      visibility: hidden;
      user-select: none;
    }
    .bl-wiz__rm-wrap .bl-wiz__rm,
    .bl-wiz__rm-wrap .bl-wiz__rm-spacer {
      width: 100%;
      min-height: 46px;
      box-sizing: border-box;
    }
    .bl-wiz__rm-wrap--spacer .bl-wiz__rm-spacer {
      display: block;
      visibility: hidden;
      pointer-events: none;
    }
    .bl-wiz__svc-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 5.5rem 5.5rem 5.5rem;
      gap: 10px;
      align-items: start;
      margin-bottom: 10px;
    }
    .bl-wiz__svc-row > .bl-wiz__field:nth-child(2) input,
    .bl-wiz__svc-row > .bl-wiz__field:nth-child(3) input {
      width: 100%;
      max-width: 5.5rem;
      box-sizing: border-box;
    }
    @media (max-width: 560px) {
      .bl-wiz__emp-row {
        grid-template-columns: 1fr;
      }
      .bl-wiz__emp-fields {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
      }
      .bl-wiz__rm-wrap,
      .bl-wiz__rm-wrap--spacer {
        width: 100%;
        min-width: 0;
        max-width: none;
      }
      .bl-wiz__rm-wrap--spacer { display: none; }
      .bl-wiz__svc-row {
        grid-template-columns: 1fr 1fr;
      }
      .bl-wiz__svc-row > .bl-wiz__field:first-child { grid-column: 1 / -1; }
      .bl-wiz__svc-row > .bl-wiz__rm-wrap { grid-column: 1 / -1; }
    }
    .bl-wiz__rm {
      background: var(--c-blanco);
      border: 1px solid var(--c-gris-150);
      color: var(--c-pizarra-750b);
      border-radius: 8px;
      padding: 10px 12px;
      cursor: pointer;
      font-size: 0.85rem;
    }
    .bl-wiz__rm:hover { background: var(--c-gris-50c); border-color: var(--c-pizarra-350b); }
    .bl-wiz__logo-up {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .bl-wiz__logo-up input[type="file"] {
      position: absolute;
      width: 1px; height: 1px;
      opacity: 0; overflow: hidden;
      clip: rect(0,0,0,0);
    }
    .bl-wiz__logo-btn {
      appearance: none;
      -webkit-appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 48px;
      padding: 12px 18px;
      border-radius: 12px;
      border: 1px dashed rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.45);
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.06);
      color: var(--bv-g-065f46, #065f46);
      font: inherit;
      font-weight: 700;
      cursor: pointer;
    }
    .bl-wiz__logo-btn:hover {
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.1);
      border-color: var(--bv-g-047857, #047857);
    }
    .bl-wiz__logo-preview {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      padding: 12px;
      border-radius: 14px;
      border: 1px solid var(--c-gris-100c);
      background: var(--c-blanco);
    }
    .bl-wiz__logo-preview img {
      width: 64px;
      height: 64px;
      object-fit: cover;
      border-radius: 12px;
      border: 1px solid var(--c-gris-100c);
      background: #f9fafb;
    }
    .bl-wiz__logo-meta {
      flex: 1 1 160px;
      min-width: 0;
    }
    .bl-wiz__logo-path {
      margin: 0 0 8px;
      font-size: 0.88rem;
      color: var(--c-pizarra-750b);
      word-break: break-all;
    }
    .bl-wiz__logo-replace {
      appearance: none;
      -webkit-appearance: none;
      border: none;
      background: none;
      color: var(--bv-g-047857, #047857);
      font: inherit;
      font-weight: 700;
      font-size: 0.92rem;
      text-decoration: underline;
      cursor: pointer;
      padding: 0;
    }
    .bl-wiz__phone {
      display: grid;
      grid-template-columns: 5.25rem minmax(0, 1fr);
      gap: 10px;
      align-items: stretch;
    }
    .bl-wiz__phone select {
      width: 100%;
      max-width: 5.25rem;
      min-height: 48px;
      padding: 12px 4px 12px 6px;
      border-radius: 10px;
      border: 1px solid var(--c-gris-150);
      background: var(--c-blanco);
      color: var(--c-azul-900c);
      font-size: 0.9rem;
      font-family: inherit;
      box-sizing: border-box;
    }
    .bl-wiz__phone input {
      width: 100%;
      min-height: 48px;
      padding: 12px 12px;
      border-radius: 10px;
      border: 1px solid var(--c-gris-150);
      background: var(--c-blanco);
      color: var(--c-azul-900c);
      font-size: 1rem;
      font-family: inherit;
      box-sizing: border-box;
    }
    .bl-wiz__phone select:focus,
    .bl-wiz__phone input:focus {
      outline: none;
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.55);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12);
    }
    @media (max-width: 420px) {
      .bl-wiz__phone { grid-template-columns: 1fr; }
    }
    .bl-wiz__add { margin-top: 4px; }
    /*
     * Los .bl-btn--secondary de la landing están blancos (hero sobre vídeo oscuro).
     * Dentro del asistente el fondo es claro: hace falta texto oscuro y borde visible.
     */
    .bl-wiz .bl-btn--secondary {
      background: var(--c-blanco);
      color: var(--c-azul-900c);
      -webkit-text-fill-color: var(--c-azul-900c);
      border: 1px solid var(--c-gris-150);
      text-shadow: none;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    }
    .bl-wiz .bl-btn--secondary:hover {
      background: var(--c-gris-50c);
      border-color: var(--c-pizarra-350b);
      color: var(--c-azul-900c);
      -webkit-text-fill-color: var(--c-azul-900c);
      transform: translateY(-1px);
    }
    .bl-wiz .bl-btn--secondary:visited {
      color: var(--c-azul-900c);
      -webkit-text-fill-color: var(--c-azul-900c);
    }
    .bl-wiz__nav {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: stretch;
      align-items: stretch;
      margin-top: 18px;
    }
    .bl-wiz__nav .bl-btn {
      /* Que el fondo crezca con el texto («Crear prueba») y no lo recorte overflow:hidden. */
      flex: 1 1 calc(50% - 5px);
      min-width: max-content;
      max-width: 100%;
      justify-content: center;
      white-space: nowrap;
      padding-left: 16px;
      padding-right: 16px;
      overflow: visible;
      box-sizing: border-box;
    }
    @media (min-width: 480px) {
      .bl-wiz__nav .bl-btn {
        flex: 1 1 auto;
        min-width: max-content;
        padding-left: 28px;
        padding-right: 28px;
      }
    }
    @media (max-width: 360px) {
      .bl-wiz__nav .bl-btn {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
      }
    }
    .bl-wiz__msg { min-height: 1.3em; margin: 12px 0 0; font-size: 0.95rem; }
    .bl-wiz__msg--err { color: var(--err); }
    .bl-wiz__msg--ok { color: var(--accent); }
    .bl-trial-used {
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    .bl-trial-used__lead {
      margin: 0 0 10px;
      font-size: 0.92rem;
      line-height: 1.45;
      color: var(--bd-ink, #0f172a);
    }
    .bl-trial-used__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .bl-trial-used__actions .bl-btn {
      min-height: 40px;
    }
    .bl-wiz__summary {
      margin: 0;
      padding-left: 1.1em;
      color: var(--text);
      line-height: 1.55;
    }
    .bl-wiz__summary li { margin-bottom: 8px; }
    .bl-wiz__choice {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 8px;
    }
    .bl-wiz__choice-btn {
      appearance: none;
      -webkit-appearance: none;
      border: 1px solid rgba(15, 23, 42, 0.16);
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-radius: 12px;
      min-height: 48px;
      padding: 10px 12px;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 600;
      cursor: pointer;
      text-align: center;
      line-height: 1.25;
    }
    .bl-wiz__choice-btn:hover {
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.45);
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.06);
    }
    .bl-wiz__choice-btn.is-on {
      background: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
    }
    @media (max-width: 520px) {
      .bl-wiz__choice { grid-template-columns: 1fr; }
    }
    .bl-wiz__done-title { margin: 0 0 10px; font-size: 1.35rem; text-align: center; }
    .bl-wiz__alt { text-align: center; margin: 22px 0 0; }
    .bl-wiz__alt-btn {
      background: none;
      border: none;
      color: var(--muted);
      text-decoration: underline;
      cursor: pointer;
      font-size: 0.95rem;
      font-family: inherit;
    }
    .bl-demo-collapse { margin-top: 18px; }
    .bl-trial-confirm { text-align: center; }

    .nav-trial-chip {
      display: inline-flex;
      align-items: center;
      align-self: center;
      margin: 0;
      padding: 4px 10px;
      border-radius: 999px;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      background: rgba(180, 83, 9, 0.14);
      color: var(--c-naranja-650b);
      border: 1px solid rgba(180, 83, 9, 0.35);
      white-space: nowrap;
      max-width: 100%;
      box-sizing: border-box;
      cursor: pointer;
      font-family: inherit;
      line-height: 1.25;
      text-align: left;
      transition: background 0.15s, border-color 0.15s, color 0.15s;
    }
    .nav-trial-chip:hover,
    .nav-trial-chip:focus-visible {
      background: rgba(180, 83, 9, 0.22);
      border-color: rgba(180, 83, 9, 0.55);
      color: var(--c-naranja-700b);
      outline: none;
    }
    .nav-trial-chip.hidden { display: none; }
    .nav-tenant-switcher__current .nav-trial-chip:not(.hidden) {
      display: inline-flex;
    }

    /* ── FORMULARIO SOLICITUD DEMO ── */
    #solicitar-demo { scroll-margin-top: 28px; }
    .bl-demo-form-wrap { max-width: 520px; margin: 0 auto; padding: 0 8px; }
    .bl-demo-form-card {
      position: relative;
      background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 20px;
      padding: 26px 22px 28px;
      text-align: left;
    }
    .bl-demo-form-card label {
      display: block;
      font-size: 0.78rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
      margin: 14px 0 6px;
    }
    .bl-demo-form-card label:first-of-type { margin-top: 0; }
    .bl-demo-form-card input,
    .bl-demo-form-card textarea {
      width: 100%;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.4);
      color: var(--text);
      font-size: 1rem;
      font-family: inherit;
    }
    .bl-demo-form-card textarea { min-height: 120px; resize: vertical; }
    .bl-demo-form-card input:focus,
    .bl-demo-form-card textarea:focus {
      outline: none;
      border-color: rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.45);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-00c878, 0, 200, 120),.12);
    }
    .bl-demo-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
    .bl-demo-msg {
      margin: 0 0 14px;
      font-size: 0.98rem;
      min-height: 1.4em;
      font-weight: 600;
      line-height: 1.35;
    }
    .bl-demo-msg--ok {
      color: var(--bv-g-047857, #047857);
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.1);
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      border-radius: 10px;
      padding: 10px 12px;
    }
    .bl-demo-msg--info {
      color: var(--c-pizarra-750);
      background: rgba(148, 163, 184, 0.16);
      border: 1px solid rgba(148, 163, 184, 0.35);
      border-radius: 10px;
      padding: 10px 12px;
    }
    .bl-demo-msg--err {
      color: var(--c-rojo-600);
      background: rgba(185, 28, 28, 0.08);
      border: 1px solid rgba(185, 28, 28, 0.28);
      border-radius: 10px;
      padding: 10px 12px;
    }

    .bl-divider { height:1px; background:var(--border); margin:0; border:none; }

    /* ── FLOATING GLOW ORBS ── */
    .bl-orb {
      position:absolute; border-radius:50%; pointer-events:none;
      filter:blur(80px); opacity:.15;
    }
    .bl-orb--1 {
      width:400px; height:400px; background:var(--accent);
      top:-100px; right:-100px;
      animation: bl-orb-drift 20s ease-in-out infinite alternate;
    }
    .bl-orb--2 {
      width:300px; height:300px; background:var(--bv-g-34d399, #1abc9c);
      bottom:-80px; left:-80px;
      animation: bl-orb-drift 15s ease-in-out infinite alternate-reverse;
    }
    @keyframes bl-orb-drift {
      0%   { transform:translate(0,0); }
      100% { transform:translate(60px,40px); }
    }

    /* ── MARQUEE ── */
    .bl-marquee {
      overflow:hidden; padding:20px 0;
      border-top:1px solid rgba(0,0,0,0.08);
      border-bottom:1px solid rgba(0,0,0,0.08);
      background: rgba(255,255,255,0.6);
      backdrop-filter: blur(8px);
    }
    .bl-marquee__track {
      display:flex; gap:48px;
      animation: bl-marquee-scroll 30s linear infinite;
      width:max-content;
    }
    @keyframes bl-marquee-scroll {
      0%   { transform:translateX(0); }
      100% { transform:translateX(-50%); }
    }
    .bl-marquee__item {
      font-size:0.9rem; font-weight:700; color:#1f2937;
      white-space:nowrap; text-transform:uppercase; letter-spacing:.12em;
    }

    #acceso-panel { scroll-margin-top:40px; }
    #acceso-panel .bl-section__tag { display:block; text-align:center; margin-bottom:6px; }
    #acceso-panel .bl-section__title { text-align:center; margin-bottom:4px; }
    #acceso-panel .bl-section__desc { text-align:center; margin:0 auto 20px; }
    /* Móvil: acceso empresa = /STAFF/. Escritorio: formulario del panel. */
    .bl-acceso-staff-mobile {
      display: none;
      width: 100%;
      max-width: 360px;
      margin: 0 auto 8px;
      box-sizing: border-box;
      text-align: center;
      text-decoration: none;
    }
    #view-login .bl-acceso-desktop-card {
      padding-bottom: 0;
      overflow: hidden;
    }
    .bl-acceso-card__faldon {
      margin: 18px -20px 0;
      padding: 14px 16px 16px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-top: 1px solid var(--bd-g-300, var(--bv-g-a7f3d0, #a7f3d0));
    }
    .bl-acceso-card__faldon a {
      display: block;
      width: 100%;
      box-sizing: border-box;
      padding: 12px 14px;
      border-radius: 10px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border: 1px solid var(--bd-g-700, var(--bv-g-065f46, #065f46));
      color: var(--bd-on-solid, #fff);
      font-weight: 700;
      font-size: 0.88rem;
      line-height: 1.3;
      text-align: center;
      text-decoration: none;
      white-space: normal;
    }
    .bl-acceso-card__faldon a:hover,
    .bl-acceso-card__faldon a:focus-visible {
      background: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    @media (max-width: 719.98px) {
      .bl-acceso-staff-mobile {
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }
      #view-login .bl-acceso-desktop-card {
        display: none;
      }
      #view-login.login-wrap {
        padding-top: 28px;
        padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .bl-reveal { transition:none; opacity:1; transform:none; }
      .bl-hero__logo, .bl-hero__title { animation:none; }
      .bl-marquee__track { animation:none; }
      .bl-hero { animation:none; }
    }
    .brand {
      text-align: center;
      margin-bottom: 22px;
    }
    .brand h1 {
      font-size: 1.4rem;
      font-weight: 600;
      margin: 0 0 6px;
      letter-spacing: -0.02em;
    }
    .brand p {
      margin: 0;
      font-size: 0.875rem;
      color: var(--muted);
    }
    .brand__bardev-logo {
      display: block;
      margin: 0 auto 14px;
      max-width: 200px;
      max-height: 200px;
      width: auto;
      height: auto;
      object-fit: contain;
    }
    .bardev-inline-logo {
      height: 1.12em;
      width: auto;
      vertical-align: -0.2em;
      display: inline-block;
      margin: 0 0.06em;
      object-fit: contain;
    }
    code .bardev-inline-logo {
      height: 1em;
      vertical-align: -0.12em;
    }
    .bardev-zoom-bar {
      position: fixed;
      bottom: 8px;
      right: 12px;
      z-index: 101;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 0;
      width: 40px;
      height: 40px;
      overflow: hidden;
      box-sizing: border-box;
      background: var(--bd-n-0, var(--card, #fff));
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 22px;
      padding: 4px;
      box-shadow: var(--bd-shadow-md, 0 4px 14px rgba(15, 23, 42, 0.14));
      transition: width 0.22s ease, padding 0.22s ease;
    }
    .bardev-zoom-bar:hover,
    .bardev-zoom-bar:focus-within,
    .bardev-zoom-bar.is-open {
      width: 148px;
      padding: 4px 14px;
    }
    .bardev-zoom-toggle {
      flex: 0 0 32px;
      width: 32px;
      height: 32px;
      padding: 0;
      border: none;
      border-radius: 50%;
      background: transparent;
      color: var(--bd-ink, var(--text));
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 1;
      transition: opacity 0.16s ease, width 0.22s ease, flex-basis 0.22s ease;
    }
    .bardev-zoom-toggle:hover,
    .bardev-zoom-toggle:focus-visible {
      background: var(--bd-g-50, rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.08));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      outline: none;
    }
    .bardev-zoom-bar:hover .bardev-zoom-toggle,
    .bardev-zoom-bar:focus-within .bardev-zoom-toggle,
    .bardev-zoom-bar.is-open .bardev-zoom-toggle {
      width: 0;
      flex: 0 0 0;
      opacity: 0;
      overflow: hidden;
      pointer-events: none;
    }
    .bardev-zoom-controls {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex: 0 0 auto;
      width: 0;
      opacity: 0;
      overflow: hidden;
      pointer-events: none;
      transition: opacity 0.18s ease, width 0.22s ease;
    }
    .bardev-zoom-bar:hover .bardev-zoom-controls,
    .bardev-zoom-bar:focus-within .bardev-zoom-controls,
    .bardev-zoom-bar.is-open .bardev-zoom-controls {
      width: 120px;
      opacity: 1;
      pointer-events: auto;
    }
    .bardev-zoom-btn {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-50, var(--bg, #f8fafc));
      color: var(--bd-ink, var(--text));
      font-size: 1rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.15s, border-color 0.15s, color 0.15s;
    }
    .bardev-zoom-btn:hover { background: var(--ok, var(--bv-g-047857, #047857)); color: var(--c-blanco); border-color: var(--ok, var(--bv-g-047857, #047857)); }
    .bardev-zoom-level {
      font-size: 0.7rem;
      font-weight: 700;
      color: var(--bd-ink-soft, var(--muted));
      min-width: 36px;
      text-align: center;
      user-select: none;
    }
    @media (prefers-reduced-motion: reduce) {
      .bardev-zoom-bar,
      .bardev-zoom-controls {
        transition: none;
      }
    }
    body.mode-login .bardev-zoom-bar,
    body.bardev-vg-open .bardev-zoom-bar {
      display: none !important;
    }
    .backend-site-footer {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 100;
      padding: 10px 20px 14px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      flex-wrap: wrap;
      font-size: 0.8rem;
      color: var(--muted);
      background: linear-gradient(180deg, transparent, rgba(5, 10, 8, 0.94));
      pointer-events: none;
    }
    .backend-site-footer__link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      color: inherit;
      pointer-events: auto;
    }
    .backend-site-footer__link:hover {
      color: var(--text);
    }
    .backend-site-footer__logo {
      height: 50px;
      width: auto;
      display: block;
      object-fit: contain;
    }
    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 24px 20px;
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
    }
    .card h2 {
      font-size: 1.05rem;
      margin: 0 0 8px;
    }
    .sub {
      margin: 0 0 18px;
      font-size: 0.875rem;
      color: var(--muted);
      line-height: 1.45;
    }
    label {
      display: block;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      margin-bottom: 6px;
    }
    input[type="email"],
    input[type="password"],
    input[type="url"] {
      width: 100%;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      font-size: 1rem;
      margin-bottom: 14px;
    }
    .bardev-user-wrap,
    .ba-user-wrap {
      position: relative;
      margin-bottom: 14px;
    }
    .bardev-user-wrap input,
    .ba-user-wrap input {
      margin-bottom: 0;
    }
    .ba-user-suggest {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 4px);
      z-index: 40;
      margin: 0;
      padding: 4px;
      list-style: none;
      background: var(--c-blanco);
      border: 1px solid var(--border, #e5e7eb);
      border-radius: 12px;
      box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
      max-height: 220px;
      overflow: auto;
    }
    .ba-user-suggest li {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .ba-user-suggest li > button:first-child {
      flex: 1;
      min-width: 0;
      text-align: left;
      border: 0;
      background: transparent;
      color: var(--text, #111827);
      font: inherit;
      font-size: 0.92rem;
      padding: 10px;
      border-radius: 8px;
      cursor: pointer;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .ba-user-suggest li > button:first-child:hover {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
    }
    .ba-user-suggest__del {
      flex: 0 0 32px;
      width: 32px;
      height: 32px;
      border: 0;
      background: transparent;
      color: var(--c-pizarra-350b);
      font-size: 1.2rem;
      line-height: 1;
      cursor: pointer;
      border-radius: 8px;
    }
    .ba-user-suggest__del:hover {
      color: var(--c-rojo-600);
      background: var(--c-rojo-50b);
    }
    .bardev-pw-wrap {
      position: relative;
      margin-bottom: 14px;
    }
    .bardev-pw-wrap .bardev-pw-inp,
    .bardev-pw-wrap input[type="password"],
    .bardev-pw-wrap input[type="text"].bardev-pw-inp {
      width: 100%;
      padding-right: 48px;
      margin-bottom: 0;
      box-sizing: border-box;
    }
    .equipo-card__profile-fields .bardev-pw-wrap {
      margin-bottom: 0;
    }
    .equipo-pin-row .bardev-pw-wrap {
      margin-bottom: 0;
    }
    button.bardev-pw-toggle {
      position: absolute;
      right: 6px;
      top: 50%;
      transform: translateY(-50%);
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.06);
      color: var(--muted);
      border-radius: 8px;
      padding: 0;
      font-size: 0.72rem;
      line-height: 1;
      cursor: pointer;
      width: 36px;
      min-width: 36px;
      height: 36px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .bardev-pw-eye {
      display: block;
      width: 20px;
      height: 20px;
    }
    .bardev-pw-eye[hidden] {
      display: none !important;
    }
    button.bardev-pw-toggle:hover,
    button.bardev-pw-toggle:focus-visible {
      color: var(--text);
      border-color: rgba(255, 255, 255, 0.22);
      outline: none;
    }
    .social-block {
      margin-bottom: 18px;
      padding-bottom: 14px;
      border-bottom: 1px solid var(--border);
    }
    .social-block:last-of-type {
      border-bottom: none;
    }
    .social-block-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 8px;
    }
    .social-block-head .network-name {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
    }
    .social-block-head .network-ico {
      width: 22px;
      height: 22px;
      display: inline-grid;
      place-items: center;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      flex-shrink: 0;
    }
    .social-block-head .network-ico svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .gmaps-book-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }
    .gmaps-book-row input,
    .gmaps-book-row textarea {
      flex: 1 1 12rem;
      min-width: 12rem;
    }
    .gmaps-book-row textarea {
      min-height: 4.5rem;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
      font-size: 0.78rem;
      line-height: 1.4;
      resize: vertical;
    }
    #panel-inicio .gmaps-book-row .btn,
    html.bardev-panel-theme-light #panel-inicio .gmaps-book-row .btn {
      height: 40px;
      width: auto;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .gmaps-book-steps {
      margin: 10px 0 0;
      padding-left: 1.2rem;
      font-size: 0.8rem;
      line-height: 1.45;
      color: var(--bd-ink-soft, #6b7280);
    }
    html.bardev-panel-theme-light .gmaps-book-steps {
      color: var(--bd-ink-soft, #6b7280);
    }
    .gmaps-book-steps a {
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    /* Checkboxes «Visible en la app» (redes). No usar la misma clase que .vis-toggle-pill (abajo). */
    label.social-vis-toggle {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 0.8125rem;
      color: var(--text);
      margin: 0;
      text-transform: none;
      letter-spacing: normal;
      width: auto;
      height: auto;
      min-width: 0;
      flex-shrink: 0;
    }
    label.social-vis-toggle input[type='checkbox'] {
      width: 1.05rem;
      height: 1.05rem;
      margin: 0;
      accent-color: var(--ok);
      cursor: pointer;
      flex-shrink: 0;
      opacity: 1;
      position: static;
    }
    input:focus {
      outline: none;
      border-color: var(--brand-rgba-45);
      box-shadow: 0 0 0 3px var(--brand-rgba-12);
    }
    .btn {
      width: 100%;
      padding: 12px 16px;
      border: none;
      border-radius: 10px;
      background: var(--bv-g-059669, #059669);
      color: var(--c-blanco);
      font-weight: 600;
      font-size: 0.95rem;
      cursor: pointer;
      transition: background 0.15s, box-shadow 0.15s, transform 0.1s;
      box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    }
    .btn:hover:not(:disabled) {
      background: var(--bv-g-047857, #047857);
      box-shadow: 0 3px 8px rgba(0,0,0,0.35);
    }
    .btn:active:not(:disabled) {
      background: var(--bv-g-065f46, #065f46);
      box-shadow: 0 1px 2px rgba(0,0,0,0.2);
      transform: translateY(1px);
    }
    body.mode-login .login-wrap .btn:not(.secondary):not(.nav-item) {
      color: var(--c-blanco) !important;
      -webkit-text-fill-color: var(--c-blanco);
    }
    .btn:disabled { opacity: 0.55; cursor: not-allowed; }
    .btn.secondary {
      background: rgba(255, 255, 255, 0.1);
      color: var(--text);
      margin-top: 10px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.2);
      border: 1px solid rgba(255,255,255,0.1);
    }
    .btn.secondary:hover:not(:disabled) {
      background: rgba(255, 255, 255, 0.16);
      box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    }
    .btn.secondary:active:not(:disabled) {
      background: rgba(255, 255, 255, 0.06);
      box-shadow: 0 1px 2px rgba(0,0,0,0.15);
      transform: translateY(1px);
    }
    /* Tipografía Web app: control compacto [ − tamaño + ] */
    .webapp-typo-size-group {
      display: inline-flex;
      align-items: stretch;
      flex-shrink: 0;
      flex-wrap: nowrap;
      height: 34px;
      border: 1px solid var(--border);
      border-radius: 8px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.22);
    }
    html.bardev-panel-theme-light .webapp-typo-size-group {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.14);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    }
    .webapp-typo-size-group .webapp-typo-size-val {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 2px;
      min-width: 2.75rem;
      padding: 0 8px;
      font-size: 0.88rem;
      font-weight: 600;
      font-variant-numeric: tabular-nums;
      line-height: 1;
      border-left: 1px solid var(--border);
      border-right: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.04);
    }
    html.bardev-panel-theme-light .webapp-typo-size-group .webapp-typo-size-val {
      background: rgba(15, 23, 42, 0.03);
      border-left-color: rgba(15, 23, 42, 0.1);
      border-right-color: rgba(15, 23, 42, 0.1);
    }
    .webapp-typo-size-unit {
      font-size: 0.68rem;
      font-weight: 500;
      opacity: 0.62;
      letter-spacing: 0.02em;
    }
    .btn.secondary.webapp-typo-size-btn {
      width: 32px;
      height: auto;
      min-width: 32px;
      max-width: 32px;
      padding: 0;
      margin-top: 0;
      border-radius: 0;
      border: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1;
      box-shadow: none;
      background: transparent;
    }
    .webapp-typo-size-group .webapp-typo-size-btn:hover:not(:disabled) {
      background: var(--brand-rgba-08);
    }
    .webapp-typo-size-group .webapp-typo-size-btn:active:not(:disabled) {
      background: var(--brand-rgba-12);
      transform: none;
    }
    .webapp-typo-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 6px;
    }
    .webapp-typo-row .pers-typo-input {
      flex: 1 1 200px;
      min-width: 0;
    }
    #webapp-panel-tipografia.webapp-typo-panel.webapp-tab-panel--active {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      max-width: min(1120px, 100%);
      margin: 0;
      padding: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      border-radius: 0;
    }
    #webapp-panel-tipografia.webapp-typo-panel:not(.webapp-tab-panel--active) {
      display: none !important;
    }
    #webapp-panel-tipografia.webapp-typo-panel > .sub,
    #webapp-panel-tipografia.webapp-typo-panel > .webapp-typo-autosave-msg,
    #webapp-panel-tipografia.webapp-typo-panel > .msg,
    #webapp-panel-tipografia.webapp-typo-panel > .webapp-typo-library {
      grid-column: 1 / -1;
    }
    @media (max-width: 720px) {
      #webapp-panel-tipografia.webapp-typo-panel {
        grid-template-columns: 1fr;
      }
    }
    .webapp-typo-section-cards {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      max-width: min(1120px, 100%);
      margin: 0;
      padding: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      border-radius: 0;
    }
    @media (max-width: 720px) {
      .webapp-typo-section-cards {
        grid-template-columns: 1fr;
      }
    }
    .webapp-typo-section-card {
      min-width: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
      border: 1px solid var(--border);
      border-radius: 12px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.14);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.12);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
    }
    .webapp-typo-section-card__head {
      padding: 12px 16px;
      border-bottom: 1px solid var(--brand-rgba-22);
      background: var(--brand-rgba-08);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head {
      background: var(--c-gris-50f);
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    .webapp-typo-section-card__title {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--text);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__title {
      color: var(--c-azul-900b);
    }
    .webapp-typo-section-card__body {
      padding: 14px 16px 16px;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .webapp-typo-autosave-msg {
      min-height: 0;
      margin: 0 0 10px;
      max-width: min(1120px, 100%);
    }
    .webapp-typo-autosave-msg:empty {
      display: none;
    }
    .btn.secondary.tenant-delete {
      margin-top: 0;
      color: var(--c-rojo-100);
      border: 1px solid rgba(248, 113, 113, 0.35);
      background: rgba(248, 113, 113, 0.12);
    }
    .btn.secondary.tenant-delete:hover:not(:disabled) {
      background: rgba(248, 113, 113, 0.2);
    }
    .btn.nav-item {
      width: 100%;
      text-align: left;
      padding: 10px 12px;
      margin-bottom: 4px;
      border-radius: 10px;
      background: transparent;
      color: var(--text);
      font-weight: 500;
      font-size: 0.9rem;
    }
    .btn.nav-item:hover {
      background: rgba(255, 255, 255, 0.06);
    }
    .btn.nav-item.active,
    .nav-group__toggle--direct.nav-item.active {
      background: var(--side-active);
      color: var(--nav-active-text);
      /* Barra lateral: secundario corporativo si es visible; si no, acento (--nav-active-indicator). */
      box-shadow: inset var(--nav-spine-width, 2px) 0 0 var(--nav-active-indicator);
    }
    .btn.nav-item:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }
    .btn.nav-item:disabled:hover {
      background: transparent;
    }
    .nav-sep {
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--muted);
      margin: 14px 8px 8px;
    }
    .nav-subgroup {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.62rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
      opacity: 0.78;
      padding: 4px 10px 4px 18px;
      margin: 8px 0 4px;
      line-height: 1;
      user-select: none;
      width: 100%;
      box-sizing: border-box;
    }
    .nav-subgroup:first-child { margin-top: 0; }
    .nav-subgroup__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      width: 18px;
      height: 18px;
      border-radius: 5px;
      opacity: 1;
    }
    .nav-subgroup__icon svg {
      width: 12px;
      height: 12px;
      display: block;
    }
    .nav-subgroup__label {
      white-space: nowrap;
      flex-shrink: 0;
    }
    .nav-subgroup__rule {
      flex: 1 1 0;
      min-width: 8px;
      height: 1px;
      background: linear-gradient(to right, color-mix(in srgb, currentColor 35%, transparent), transparent);
    }
    .nav-subgroup__rule--before {
      background: linear-gradient(to left, color-mix(in srgb, currentColor 35%, transparent), transparent);
    }
    .nav-subgroup__rule--after {
      background: linear-gradient(to right, color-mix(in srgb, currentColor 35%, transparent), transparent);
    }
    [data-nav-group="finanzas"] .nav-subgroup {
      opacity: 1;
      color: color-mix(in srgb, var(--group-color, #f87171) 70%, var(--muted));
      font-weight: 600;
    }
    .nav-group .nav-subgroup {
      opacity: 1;
      color: color-mix(in srgb, var(--group-color, var(--muted)) 68%, var(--muted));
      font-weight: 600;
    }
    .nav-group .nav-subgroup__icon {
      background: color-mix(in srgb, var(--group-color, var(--muted)) 14%, transparent);
      color: var(--group-color, var(--muted));
      border: 1px solid color-mix(in srgb, var(--group-color, var(--muted)) 26%, transparent);
    }
    [data-nav-group="finanzas"] .nav-subgroup__icon {
      background: color-mix(in srgb, var(--group-color, #f87171) 16%, transparent);
      color: var(--group-color, #f87171);
      border: 1px solid color-mix(in srgb, var(--group-color, #f87171) 28%, transparent);
    }
    [data-nav-group="finanzas"] .nav-subgroup--ingresos .nav-subgroup__icon {
      background: color-mix(in srgb, var(--bv-g-34d399, #34d399) 18%, transparent);
      color: var(--bv-g-34d399, #34d399);
      border-color: color-mix(in srgb, var(--bv-g-34d399, #34d399) 32%, transparent);
    }
    [data-nav-group="finanzas"] .nav-subgroup--gastos .nav-subgroup__icon {
      background: color-mix(in srgb, var(--c-rojo-300) 18%, transparent);
      color: var(--c-rojo-300);
      border-color: color-mix(in srgb, var(--c-rojo-300) 32%, transparent);
    }
    .btn.nav-item.nav-item--sub.nav-item--iconed {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      text-align: left;
    }
    .nav-item__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      opacity: 0.82;
      color: color-mix(in srgb, var(--group-color, var(--muted)) 55%, var(--muted));
    }
    .nav-item__icon svg {
      width: 14px;
      height: 14px;
      display: block;
    }
    .btn.nav-item.nav-item--sub.nav-item--iconed[data-active="1"] .nav-item__icon,
    .btn.nav-item.nav-item--sub.nav-item--iconed.active .nav-item__icon {
      opacity: 1;
      color: var(--group-color, var(--ok));
    }
    .content-panel > h2.panel-title--iconed,
    .content-panel > .informes-head > h2.panel-title--iconed {
      display: flex;
      align-items: center;
      gap: 0;
      flex-wrap: wrap;
    }
    .main-area .content-panel > h2.panel-title--iconed,
    .main-area .content-panel > .informes-head > h2.panel-title--iconed {
      display: inline-flex;
      align-items: center;
      gap: 0;
      flex-wrap: wrap;
    }
    .panel-title__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      flex-shrink: 0;
      border-radius: 8px;
      background: color-mix(in srgb, var(--panel-section-accent, var(--ok)) 14%, transparent);
      color: var(--panel-section-accent, var(--ok));
      border: 1px solid color-mix(in srgb, var(--panel-section-accent, var(--ok)) 24%, transparent);
    }
    .panel-title__text {
      margin-left: 8px;
      min-width: 0;
    }
    .panel-title__icon svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    /* Sidebar: grupos colapsables */
    .nav-group {
      margin-bottom: 4px;
    }
    .nav-group--draggable .nav-group__main > .nav-group__body > .btn.nav-item:not(.nav-item--sub) {
      padding: 6px 12px;
      margin-bottom: 2px;
    }
    .nav-group--draggable .nav-group__main > .nav-group__body > .btn.nav-item.nav-item--sub {
      padding: 5px 10px 5px 20px;
      margin-bottom: 2px;
    }
    .nav-menu-items .btn.nav-item.nav-item--sub {
      padding: 5px 10px 5px 18px;
      margin-bottom: 2px;
    }
    .nav-group__toggle {
      width: 100%;
      display: flex;
      align-items: center;
      gap: 8px;
      /* Padding derecho extra: la flecha no queda bajo la barra de scroll de .nav-side-scroll */
      padding: 8px 22px 8px 10px;
      margin-bottom: 2px;
      border: none;
      border-radius: 10px;
      background: transparent;
      color: var(--muted);
      font: inherit;
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      text-align: left;
      cursor: pointer;
    }
    .nav-group__toggle:hover {
      background: rgba(255, 255, 255, 0.06);
      color: var(--text);
    }
    .nav-color-dot {
      width: 8px;
      height: 8px;
      border-radius: 2px;
      flex-shrink: 0;
      background: var(--group-color, var(--muted));
    }
    /* Sidebar: carril izquierdo (cuadrado = arrastre) + línea vertical por sección */
    .nav-group__shell {
      display: flex;
      align-items: stretch;
      gap: 6px;
      width: 100%;
    }
    /* El puente ::after del carril es absolute y no empuja el layout: sin hueco, el trazo invade el bloque siguiente y «sube» sobre el siguiente icono */
    .nav-group.nav-group--draggable > .nav-group__shell {
      padding-bottom: 8px;
    }
    #nav-dev-section .nav-block__shell {
      padding-bottom: 22px;
    }
    .nav-group__rail {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 44px;
      flex-shrink: 0;
      align-self: stretch;
    }
    .nav-group__drag-dot {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      min-height: 44px;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 12px;
      background: transparent;
      color: inherit;
      cursor: grab;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
      position: relative;
    }
    .nav-group__drag-dot .nav-section-icon {
      pointer-events: none;
    }
    #view-dashboard:not(.app-shell--agenda-max) .nav-group--draggable > .nav-group__shell > .nav-group__rail > .nav-group__drag-dot,
    #view-dashboard:not(.app-shell--agenda-max) #nav-dev-section .nav-group__drag-dot {
      cursor: grab;
    }
    #view-dashboard:not(.app-shell--agenda-max) .nav-group--draggable > .nav-group__shell > .nav-group__rail > .nav-group__drag-dot::after,
    #view-dashboard:not(.app-shell--agenda-max) #nav-dev-section .nav-group__drag-dot::after {
      content: '';
      position: absolute;
      right: 1px;
      bottom: 2px;
      width: 11px;
      height: 11px;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.12s ease;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='6' r='1.2' fill='%2364748b' stroke='none'/%3E%3Ccircle cx='15' cy='6' r='1.2' fill='%2364748b' stroke='none'/%3E%3Ccircle cx='9' cy='12' r='1.2' fill='%2364748b' stroke='none'/%3E%3Ccircle cx='15' cy='12' r='1.2' fill='%2364748b' stroke='none'/%3E%3Ccircle cx='9' cy='18' r='1.2' fill='%2364748b' stroke='none'/%3E%3Ccircle cx='15' cy='18' r='1.2' fill='%2364748b' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    #view-dashboard:not(.app-shell--agenda-max) .nav-group--draggable > .nav-group__shell > .nav-group__rail > .nav-group__drag-dot:hover::after,
    #view-dashboard:not(.app-shell--agenda-max) #nav-dev-section .nav-group__drag-dot:hover::after {
      opacity: 0.92;
    }
    .nav-group--draggable .nav-group__drag-dot,
    #nav-dev-section .nav-group__drag-dot {
      background: color-mix(in srgb, var(--group-color, var(--muted)) 22%, transparent);
      border: 1px solid color-mix(in srgb, var(--group-color, var(--muted)) 42%, transparent);
    }
    .nav-group--draggable .nav-group__drag-dot:hover,
    #nav-dev-section .nav-group__drag-dot:hover {
      background: color-mix(in srgb, var(--group-color, var(--muted)) 32%, transparent);
    }
    .nav-group__drag-dot:active {
      cursor: grabbing;
    }
    .nav-section-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--group-color, var(--muted));
    }
    .nav-section-icon svg {
      width: 22px;
      height: 22px;
      display: block;
    }
    .nav-group__rail-line {
      flex: 1 1 auto;
      width: var(--nav-spine-width, 2px);
      min-height: 4px;
      margin-top: 2px;
      border-radius: 1px;
      /* Mismo color que el cuadrado de la sección (--group-color en el bloque padre) */
      background: var(--group-color, var(--muted));
      opacity: 0.9;
    }
    .nav-group.nav-group--draggable > .nav-group__shell > .nav-group__rail > .nav-group__rail-line,
    #nav-dev-section .nav-group__rail > .nav-group__rail-line {
      margin-top: 0;
    }
    .nav-group:not(.nav-group--open) .nav-group__rail-line {
      display: none;
    }
    /* Secciones arrastrables replegadas: tramo visible (si no, el carril «se corta» entre bloques) */
    .nav-group.nav-group--draggable:not(.nav-group--open) > .nav-group__shell > .nav-group__rail > .nav-group__rail-line {
      display: block;
      flex: 0 0 14px;
      min-height: 14px;
    }
    /* Developer: con menú replegado mantener un tramo corto de línea hasta el pie */
    #nav-dev-section .nav-block__shell:has(.nav-block__main .nav-group:not(.nav-group--open)) .nav-group__rail-line {
      display: block;
      flex: 0 0 14px;
      min-height: 14px;
      max-height: 14px;
    }
    /* Puente bajo el carril: cubre margin-bottom entre bloques + enlace al siguiente tramo / rail-gap */
    .nav-group.nav-group--draggable > .nav-group__shell > .nav-group__rail,
    #nav-dev-section .nav-group__rail {
      position: relative;
    }
    .nav-group.nav-group--draggable > .nav-group__shell > .nav-group__rail::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 100%;
      width: var(--nav-spine-width, 2px);
      height: 6px;
      transform: translate3d(-50%, 0, 0);
      border-radius: 0 0 1px 1px;
      background: var(--group-color, var(--muted));
      opacity: 0.9;
      pointer-events: none;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
    }
    /* Puente bajo el carril Developer (color de la sección; si es la última, coincide con --nav-tail-color vía JS) */
    #nav-dev-section .nav-group__rail::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 100%;
      width: var(--nav-spine-width, 2px);
      height: 18px;
      transform: translate3d(-50%, 0, 0);
      border-radius: 0 0 2px 2px;
      background: var(--group-color, var(--muted));
      opacity: 0.95;
      pointer-events: none;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
    }
    .nav-group__main {
      flex: 1;
      min-width: 0;
    }
    .nav-block__shell {
      display: flex;
      align-items: stretch;
      gap: 6px;
      width: 100%;
    }
    .nav-block__main {
      flex: 1;
      min-width: 0;
    }
    /* Developer: submenús legibles (los :disabled no deben casi desaparecer). El toggle «Developer» usa el mismo color que el resto (.nav-group__toggle → var(--muted)), no texto siempre blanco. */
    .nav-block__main .nav-group__body .btn.nav-item.nav-item--sub {
      padding: 6px 10px 6px 16px;
      margin-bottom: 2px;
      color: var(--text);
    }
    .nav-block__main #nav-app-centro-group > .nav-group__toggle.nav-item--sub {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      margin-top: 0;
      font-size: inherit;
      font-weight: inherit;
      text-transform: none;
      letter-spacing: 0;
      background: transparent;
      border: none;
      box-shadow: none;
    }
    .nav-block__main #nav-app-centro-group > .nav-group__toggle.nav-item--sub .nav-toggle-arrow {
      margin-left: auto;
    }
    html.bardev-panel-theme-light .nav-block__main #nav-app-centro-group > .nav-group__toggle.nav-item--sub {
      background: transparent;
      color: var(--bd-ink, #0f172a);
    }
    .nav-block__main .nav-group__body .btn.nav-item.nav-item--sub:disabled {
      opacity: 0.78;
      color: rgba(226, 232, 240, 0.92);
    }
    .nav-block__main .btn.nav-item.nav-item--sub:disabled:hover {
      background: rgba(255, 255, 255, 0.04);
    }
    .nav-toggle-label {
      flex: 1;
      min-width: 0;
    }
    .nav-toggle-arrow {
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 0 5px 6px;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.45);
      flex-shrink: 0;
      transition: transform 0.2s ease;
    }
    .nav-group--open > .nav-group__toggle .nav-toggle-arrow {
      transform: rotate(90deg);
    }
    .nav-group__body {
      display: none;
      padding-left: 2px;
    }
    /* Hijo directo (p. ej. grupos anidados «Secciones WebApp») */
    .nav-group--open > .nav-group__body {
      display: block;
    }
    /* Con carril lateral: el cuerpo está bajo .nav-group__main, no colgando del .nav-group */
    .nav-group--open .nav-group__main > .nav-group__body {
      display: block;
    }
    .nav-group__toggle--sub {
      padding: 6px 22px 6px 12px;
      font-size: 0.62rem;
      margin-top: 4px;
    }
    .nav-group__toggle--sub .nav-color-dot {
      width: 6px;
      height: 6px;
      opacity: 0.85;
    }
    .nav-group__body--nested {
      padding-left: 6px;
      border-left: var(--nav-spine-width, 2px) solid color-mix(in srgb, var(--group-color, var(--muted)) 82%, transparent);
      margin-left: 4px;
    }
    .btn.nav-item.nav-item--sub {
      padding-left: 28px;
    }
    .pedidos-pending-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 18px;
      height: 18px;
      padding: 0 6px;
      margin-left: 8px;
      border-radius: 999px;
      background: var(--err, #ef4444);
      color: var(--c-blanco);
      font-size: 0.68rem;
      font-weight: 700;
      line-height: 1;
      box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25);
      animation: pedidos-pending-pulse 1.6s ease-in-out infinite;
    }
    .pedidos-pending-badge[hidden] {
      display: none !important;
    }
    @keyframes pedidos-pending-pulse {
      0%, 100% { transform: scale(1); box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25); }
      50%      { transform: scale(1.08); box-shadow: 0 0 0 5px rgba(239, 68, 68, 0); }
    }
    /* Modal de gasto / factura recibida: dos columnas (formulario + preview) */
    @media (max-width: 880px) {
      #exp-modal-card {
        grid-template-columns: minmax(0, 1fr) !important;
      }
      #exp-modal-preview {
        max-height: 340px !important;
      }
    }
    #exp-preview-body img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      border-radius: 8px;
      box-shadow: 0 6px 18px rgba(0,0,0,0.4);
      cursor: zoom-in;
    }
    #exp-preview-body iframe,
    #exp-preview-body embed {
      width: 100%;
      height: 100%;
      min-height: 320px;
      border: 0;
      background: var(--c-gris-950d);
      border-radius: 8px;
    }
    /* Modal subir impuesto: formulario + vista previa al seleccionar archivo */
    .impuestos-modal-overlay {
      position: fixed;
      inset: 0;
      z-index: 12000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .impuestos-modal-overlay.hidden {
      display: none !important;
    }
    .impuestos-modal-card {
      width: 100%;
      max-width: 500px;
      padding: 22px 24px;
      border: 1px solid var(--border);
      border-radius: 14px;
      position: relative;
      background: var(--card);
      box-sizing: border-box;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 18px;
      overflow: visible;
    }
    .impuestos-modal-card--preview {
      max-width: min(98vw, 1120px);
      max-height: min(94dvh, calc(100dvh - 32px));
      grid-template-columns: minmax(300px, 1fr) minmax(340px, 1.08fr);
      align-items: stretch;
    }
    .impuestos-modal-form {
      min-width: 0;
      overflow: visible;
      align-self: start;
    }
    .impuestos-modal-form__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 12px;
      min-width: 0;
    }
    .impuestos-modal-form__head h3 {
      min-width: 0;
      flex: 1 1 auto;
    }
    .impuestos-modal-form__fields {
      display: flex;
      flex-direction: column;
      gap: 12px;
      min-width: 0;
    }
    .impuestos-modal-form label.sub {
      min-width: 0;
    }
    .impuestos-modal-form .inv-toolbar-select,
    .impuestos-modal-form input[type='text'],
    .impuestos-modal-form input[type='number'],
    .impuestos-modal-form input[type='file'] {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .impuestos-modal-form label.sub > input[type='file'] {
      display: block;
    }
    .impuestos-file-row {
      display: flex;
      gap: 8px;
      align-items: center;
      min-width: 0;
    }
    .impuestos-file-row input[type='file'] {
      flex: 1 1 auto;
      min-width: 0;
      max-width: 100%;
      width: 100%;
    }
    .impuestos-f-file-current-row {
      display: flex;
      align-items: center;
      gap: 6px;
      min-width: 0;
      margin-top: 4px;
    }
    .impuestos-f-file-current {
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.76rem;
      font-weight: 500;
      opacity: 0.88;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #impuestos-modal #btn-impuestos-rename-file.btn.secondary.btn-icon {
      width: 26px;
      height: 26px;
      min-width: 26px;
      padding: 0 !important;
      margin: 0 !important;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 7px;
      box-shadow: none !important;
      background: rgba(56, 189, 248, 0.14);
      border: 1px solid rgba(56, 189, 248, 0.55);
      color: var(--c-cielo-400);
      cursor: pointer;
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon:hover:not(:disabled) {
      background: rgba(56, 189, 248, 0.24);
      border-color: rgba(56, 189, 248, 0.85);
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon:disabled {
      opacity: 0.38;
      cursor: not-allowed;
      background: rgba(148, 163, 184, 0.12);
      border-color: rgba(148, 163, 184, 0.35);
      color: var(--c-pizarra-350);
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon svg {
      display: block;
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      overflow: visible;
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon svg,
    #impuestos-modal #btn-impuestos-rename-file.btn-icon svg * {
      fill: none !important;
      stroke: currentColor !important;
      stroke-width: 2.25 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    html.bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn.secondary.btn-icon {
      background: var(--c-azul-50d) !important;
      border: 1px solid rgba(37, 99, 235, 0.45) !important;
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn-icon:hover:not(:disabled) {
      background: var(--c-azul-50) !important;
      border-color: rgba(37, 99, 235, 0.65) !important;
    }
    .impuestos-file-row {
      display: flex;
      gap: 8px;
      align-items: flex-end;
      min-width: 0;
    }
    .impuestos-file-row input[type='file'] {
      flex: 1 1 auto;
      min-width: 0;
    }
    .impuestos-rename-hit {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      flex-shrink: 0;
    }
    .impuestos-rename-hit__btn {
      width: 38px;
      height: 38px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .impuestos-rename-hit__btn svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .impuestos-rename-hit__label {
      font-size: 0.5rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--muted);
      line-height: 1;
      user-select: none;
      text-transform: uppercase;
    }
    .impuestos-file-row {
      display: flex;
      gap: 8px;
      align-items: flex-end;
      min-width: 0;
    }
    .impuestos-file-row input[type='file'] {
      flex: 1 1 auto;
      min-width: 0;
    }
    .impuestos-rename-hit {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      flex-shrink: 0;
    }
    .impuestos-rename-hit__btn {
      width: 38px;
      height: 38px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .impuestos-rename-hit__btn svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .impuestos-rename-hit__label {
      font-size: 0.5rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--muted);
      line-height: 1;
      user-select: none;
      text-transform: uppercase;
    }
    .impuestos-file-row {
      display: flex;
      gap: 8px;
      align-items: center;
      min-width: 0;
    }
    .impuestos-file-row input[type='file'] {
      flex: 1 1 auto;
      min-width: 0;
      max-width: 100%;
      width: 100%;
    }
    .impuestos-f-file-current-row {
      display: flex;
      align-items: center;
      gap: 6px;
      min-width: 0;
      margin-top: 4px;
    }
    .impuestos-f-file-current {
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.76rem;
      font-weight: 500;
      opacity: 0.88;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #impuestos-modal #btn-impuestos-rename-file.btn.secondary.btn-icon {
      width: 26px;
      height: 26px;
      min-width: 26px;
      padding: 0 !important;
      margin: 0 !important;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 7px;
      box-shadow: none !important;
      background: rgba(56, 189, 248, 0.14);
      border: 1px solid rgba(56, 189, 248, 0.55);
      color: var(--c-cielo-400);
      cursor: pointer;
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon:hover:not(:disabled) {
      background: rgba(56, 189, 248, 0.24);
      border-color: rgba(56, 189, 248, 0.85);
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon:disabled {
      opacity: 0.38;
      cursor: not-allowed;
      background: rgba(148, 163, 184, 0.12);
      border-color: rgba(148, 163, 184, 0.35);
      color: var(--c-pizarra-350);
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon svg {
      display: block;
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      overflow: visible;
    }
    #impuestos-modal #btn-impuestos-rename-file.btn-icon svg,
    #impuestos-modal #btn-impuestos-rename-file.btn-icon svg * {
      fill: none !important;
      stroke: currentColor !important;
      stroke-width: 2.25 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    html.bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn.secondary.btn-icon {
      background: var(--c-azul-50d) !important;
      border: 1px solid rgba(37, 99, 235, 0.45) !important;
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn-icon:hover:not(:disabled) {
      background: var(--c-azul-50) !important;
      border-color: rgba(37, 99, 235, 0.65) !important;
    }
    .impuestos-modal-row {
      display: flex;
      gap: 10px;
      min-width: 0;
    }
    .impuestos-modal-row > label {
      flex: 1 1 0;
      min-width: 0;
    }
    .impuestos-modal-preview {
      overflow: hidden;
      display: flex;
      flex-direction: column;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: rgba(0, 0, 0, 0.35);
      min-height: 440px;
      min-width: 0;
      align-self: stretch;
    }
    .impuestos-modal-preview.hidden {
      display: none !important;
    }
    .impuestos-modal-preview__head {
      padding: 8px 12px;
      border-bottom: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .impuestos-modal-preview__head strong {
      font-size: 0.86rem;
      flex: 0 0 auto;
    }
    .impuestos-modal-preview__name {
      font-size: 0.74rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      flex: 1 1 auto;
      min-width: 0;
      text-align: right;
      opacity: 0.85;
    }
    .impuestos-modal-preview__body {
      flex: 1 1 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px;
      overflow: hidden;
      min-height: 0;
    }
    #impuestos-preview-body img {
      max-width: 100%;
      max-height: min(72dvh, 520px);
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 8px;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
      cursor: zoom-in;
    }
    #impuestos-preview-body iframe {
      width: 100%;
      height: 100%;
      min-height: 380px;
      border: 0;
      background: var(--c-gris-950d);
      border-radius: 8px;
    }
    @media (max-width: 900px) {
      .impuestos-modal-card--preview {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: min(98vw, 540px);
        max-height: min(96dvh, calc(100dvh - 24px));
        overflow-y: auto;
      }
      .impuestos-modal-preview {
        min-height: 320px;
      }
      #impuestos-preview-body iframe {
        min-height: 280px;
      }
    }
    /* Tabla impuestos: documento + formato; importe/acciones al final del flujo (NO sticky). */
    #panel-impuestos #impuestos-list-wrap .impuestos-table {
      min-width: 680px;
    }
    #panel-impuestos #impuestos-list-wrap .impuestos-table th.impuestos-col-doc,
    #panel-impuestos #impuestos-list-wrap .impuestos-table td.impuestos-col-doc {
      max-width: 160px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.82rem;
    }
    #panel-impuestos #impuestos-list-wrap .impuestos-table th.impuestos-col-format,
    #panel-impuestos #impuestos-list-wrap .impuestos-table td.impuestos-col-format {
      width: 3.5rem;
      max-width: 3.5rem;
      min-width: 3.5rem;
      white-space: nowrap;
      font-size: 0.76rem;
      color: var(--muted);
      text-align: center;
      padding-left: 4px;
      padding-right: 4px;
    }
    #panel-impuestos #impuestos-list-wrap .impuestos-table th.impuestos-col-amount,
    #panel-impuestos #impuestos-list-wrap .impuestos-table td.impuestos-col-amount {
      position: static;
      right: auto;
      z-index: auto;
      min-width: 118px;
      width: 118px;
      background: transparent;
      box-shadow: none;
      vertical-align: middle;
      white-space: nowrap;
    }
    #panel-impuestos #impuestos-list-wrap .impuestos-table th.impuestos-col-actions,
    #panel-impuestos #impuestos-list-wrap .impuestos-table td.impuestos-col-actions {
      position: static;
      right: auto;
      z-index: auto;
      min-width: 162px;
      width: 162px;
      background: transparent;
      box-shadow: none;
      vertical-align: middle;
      white-space: nowrap;
    }
    #panel-impuestos #impuestos-list-wrap .impuestos-table thead th.impuestos-col-amount,
    #panel-impuestos #impuestos-list-wrap .impuestos-table thead th.impuestos-col-actions {
      z-index: auto;
    }
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table th.impuestos-col-amount,
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table td.impuestos-col-amount,
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table th.impuestos-col-actions,
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table td.impuestos-col-actions {
      background: transparent;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table tbody tr:nth-child(even) td.impuestos-col-amount,
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table tbody tr:nth-child(even) td.impuestos-col-actions {
      background: transparent;
    }
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table tfoot td.impuestos-col-amount,
    html.bardev-panel-theme-light #panel-impuestos #impuestos-list-wrap .impuestos-table tfoot td.impuestos-col-actions {
      background: transparent;
    }
    #panel-impuestos #impuestos-list-wrap .impuestos-table tfoot td.impuestos-col-amount,
    #panel-impuestos #impuestos-list-wrap .impuestos-table tfoot td.impuestos-col-actions {
      background: transparent;
    }

    /* Card fija: obligaciones según régimen tributario */
    /* En flujo normal (no sticky): con los botones «Crear Modelo» la card
       es demasiado alta y, sticky al bottom, tapaba el título «Impuestos». */
    #panel-impuestos .impuestos-obligaciones-card {
      position: static;
      z-index: auto;
      margin-top: 20px;
      margin-bottom: 8px;
      padding: 14px 16px 16px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-0, #fff);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    html.bardev-panel-theme-light #panel-impuestos .impuestos-obligaciones-card {
      background: var(--c-blanco);
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    #panel-impuestos .impuestos-obligaciones-card__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    #panel-impuestos .impuestos-obligaciones-card__titles h3 {
      margin: 0 0 4px;
      font-size: 1rem;
      color: var(--bd-ink, #0f172a);
    }
    #panel-impuestos .impuestos-obligaciones-card__regimen {
      margin: 0;
      font-weight: 600;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #panel-impuestos .impuestos-obligaciones-card__actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 0 0 auto;
    }
    #panel-impuestos .impuestos-obligaciones-card__actions .btn {
      width: auto;
      height: 40px;
      padding: 0 14px;
      margin: 0;
    }
    #panel-impuestos .impuestos-obligaciones-tip {
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border: 1px solid var(--bd-n-200, #E7EAF0);
      color: var(--bd-ink-soft, #334155);
      font-size: 0.88rem;
      line-height: 1.45;
    }
    #panel-impuestos .impuestos-obligaciones-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
    @media (max-width: 900px) {
      #panel-impuestos .impuestos-obligaciones-grid {
        grid-template-columns: 1fr;
      }
    }
    #panel-impuestos .impuestos-obligaciones-col {
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: 12px;
      padding: 10px 12px;
      background: var(--bd-n-50, #f8fafc);
    }
    #panel-impuestos .impuestos-obligaciones-col__label {
      margin: 0 0 8px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #panel-impuestos .impuestos-obligaciones-col__sub {
      margin: 10px 0 6px;
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #panel-impuestos .impuestos-obligaciones-col__sub--next {
      margin-top: 14px;
      padding-top: 10px;
      border-top: 1px dashed var(--bd-n-200, #E7EAF0);
    }
    #panel-impuestos .impuestos-obligaciones-col__empty {
      margin: 0 0 8px;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #6B7280);
      font-style: italic;
    }
    #panel-impuestos .impuestos-obligaciones-col ul {
      margin: 0;
      padding-left: 1.1rem;
      color: var(--bd-ink, #0f172a);
      font-size: 0.84rem;
      line-height: 1.45;
    }
    #panel-impuestos .impuestos-obligaciones-col li + li {
      margin-top: 6px;
    }
    #panel-impuestos .impuestos-obligaciones-note {
      margin: 12px 0 0;
      line-height: 1.45;
    }
    #panel-impuestos .impuestos-obligaciones-warn {
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bd-warn-bg, #fffbeb);
      border: 1px solid var(--bd-warn-bd, #fcd34d);
      color: var(--bd-warn-fg, #92400e);
      font-size: 0.86rem;
    }
    /* Gestor de impuestos: trámites como objetos con acciones */
    #panel-impuestos .impuestos-obligaciones-col ul.impuestos-obl-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    #panel-impuestos .impuestos-obl-item {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
    }
    #panel-impuestos .impuestos-obl-item + .impuestos-obl-item { margin-top: 8px; }
    #panel-impuestos .impuestos-obl-item__main { min-width: 0; flex: 1 1 auto; }
    #panel-impuestos .impuestos-obl-item__title {
      font-weight: 700;
      font-size: 0.86rem;
      color: var(--bd-ink, #0f172a);
      line-height: 1.35;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px;
    }
    #panel-impuestos .impuestos-obl-globo {
      display: inline-block;
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: var(--err, #ef4444);
      box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.28);
      flex: 0 0 auto;
      animation: pedidos-pending-pulse 1.6s ease-in-out infinite;
    }
    #panel-impuestos .impuestos-obl-globo--on-btn {
      width: 8px;
      height: 8px;
      margin-right: 2px;
    }
    #panel-impuestos .impuestos-obl-btn {
      position: relative;
    }
    #panel-impuestos .impuestos-obl-btn--pulse {
      box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.18);
    }
    #panel-impuestos .impuestos-obl-item--actionable {
      border-color: rgba(239, 68, 68, 0.28);
    }
    #panel-impuestos .impuestos-obl-item__cond {
      font-weight: 500;
      color: var(--bd-ink-soft, #475569);
    }
    #panel-impuestos .impuestos-obl-item__desc {
      margin: 4px 0 0;
      font-size: 0.8rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, #475569);
    }
    #panel-impuestos .impuestos-obl-item__meta {
      margin: 6px 0 0;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px 10px;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #475569);
    }
    #panel-impuestos .impuestos-obl-item__due {
      display: inline-block;
      box-sizing: border-box;
      margin: 6px 0 0;
      padding: 2px 8px;
      border-radius: 999px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border: 1px solid var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-weight: 600;
      font-size: 0.72rem;
      line-height: 1.35;
      width: max-content;
      max-width: none;
      white-space: nowrap;
    }
    #panel-impuestos .impuestos-obl-period {
      height: 28px;
      max-width: min(100%, 340px);
      padding: 0 8px;
      border-radius: 8px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font: inherit;
      font-size: 0.72rem;
      font-weight: 600;
    }
    .impuestos-wiz__emp-hint {
      margin-top: 2px;
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--bd-ink-soft, #64748b);
      white-space: normal;
      max-width: 180px;
    }
    #panel-impuestos .impuestos-obl-item__period-txt { font-weight: 600; color: var(--bd-ink, #0f172a); }
    #panel-impuestos .impuestos-obl-item__actions {
      display: flex;
      align-items: center;
      gap: 6px;
      flex: 0 0 auto;
      flex-wrap: wrap;
      justify-content: flex-end;
      max-width: 52%;
    }
    #panel-impuestos .impuestos-obl-item__actions .btn {
      width: auto;
      height: 36px;
      min-height: 36px;
      padding: 0 12px;
      margin: 0;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.8rem;
      white-space: nowrap;
    }
    #panel-impuestos .impuestos-obl-item__actions .btn svg { width: 16px; height: 16px; flex: 0 0 16px; }
    #panel-impuestos .impuestos-obl-item__actions .btn.btn-icon.impuestos-obl-iconbtn {
      width: 36px;
      padding: 0;
      justify-content: center;
    }
    #panel-impuestos .impuestos-obl-item__hint {
      font-size: 0.76rem;
      color: var(--bd-ink-soft, #64748b);
      font-style: italic;
      white-space: nowrap;
    }
    #panel-impuestos .impuestos-obl-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      height: 36px;
      padding: 0 12px 0 10px;
      border-radius: 999px;
      font-size: 0.74rem;
      letter-spacing: 0.02em;
      text-transform: none;
      cursor: pointer;
      font: inherit;
      font-weight: 800;
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      border: 1px solid var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      white-space: nowrap;
    }
    #panel-impuestos .impuestos-obl-chip:hover { background: var(--bd-g-300, var(--bv-g-6ee7b7, #6ee7b7)); }
    #panel-impuestos .impuestos-obl-chip svg { width: 16px; height: 16px; stroke: var(--bd-g-700, var(--bv-g-047857, #047857)); }
    .impuestos-obl-menu {
      position: fixed;
      z-index: 21090;
      min-width: 240px;
      padding: 6px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      box-shadow: var(--bd-shadow-lg, 0 18px 40px rgba(15, 23, 42, 0.16));
      display: flex;
      flex-direction: column;
    }
    .impuestos-obl-menu__item {
      display: block;
      width: 100%;
      text-align: left;
      padding: 9px 10px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      color: var(--bd-ink, #0f172a);
      font: inherit;
      font-size: 0.84rem;
      cursor: pointer;
    }
    .impuestos-obl-menu__item:hover { background: var(--bd-n-50, #f8fafc); }
    .impuestos-obl-menu__item.is-danger { color: var(--bd-danger-fg, #b91c1c); }

    /* ── Wizard Gestor de impuestos ── */
    #impuestos-wizard-modal.bardev-modal-overlay:not(.hidden),
    #impuestos-filing-viewer.bardev-modal-overlay:not(.hidden) {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
    }
    #impuestos-wizard-modal .impuestos-wiz__panel {
      width: min(760px, calc(100vw - 32px));
      max-width: min(760px, calc(100vw - 32px));
      max-height: min(92vh, 860px);
      display: flex;
      flex-direction: column;
      margin: 0;
      padding: 0;
      overflow: hidden;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
    }
    .impuestos-wiz__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px 12px;
      border-bottom: 1px solid var(--bd-n-200, #E7EAF0);
      flex: 0 0 auto;
    }
    .impuestos-wiz__head h3 { margin: 0; font-size: 1.05rem; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__sub { margin: 4px 0 0; font-size: 0.84rem; color: var(--bd-ink-soft, #475569); line-height: 1.4; }
    .impuestos-wiz__due { display: block; margin-top: 2px; font-weight: 600; color: var(--bd-ink-soft, #475569); white-space: nowrap; }
    .impuestos-wiz__progress-wrap { padding: 12px 18px 0; flex: 0 0 auto; }
    .impuestos-wiz__progress { display: flex; gap: 10px; justify-content: center; align-items: center; }
    .impuestos-wiz__dot {
      width: 10px; height: 10px; padding: 0; border-radius: 50%;
      background: var(--c-gris-150); border: 1px solid var(--c-pizarra-350b); box-sizing: border-box; cursor: pointer;
    }
    .impuestos-wiz__dot:disabled { cursor: default; }
    .impuestos-wiz__dot.is-active { background: var(--bd-g-600, var(--bv-g-047857, #047857)); border-color: var(--bd-g-600, var(--bv-g-047857, #047857)); box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.25); transform: scale(1.15); }
    .impuestos-wiz__dot.is-done { background: var(--bd-g-400, var(--bv-g-34d399, #34d399)); border-color: var(--bd-g-600, var(--bv-g-059669, #059669)); }
    .impuestos-wiz__step-label { margin: 8px 0 0; text-align: center; font-size: 0.82rem; font-weight: 700; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__body {
      flex: 1 1 auto;
      overflow: auto;
      padding: 14px 18px 18px;
      font-size: 0.9rem;
      line-height: 1.5;
    }
    .impuestos-wiz__foot {
      flex: 0 0 auto;
      border-top: 1px solid var(--bd-n-200, #E7EAF0);
      padding: 10px 18px 14px;
      background: var(--bd-n-50, #f8fafc);
    }
    .impuestos-wiz__legal {
      margin: 0 0 10px;
      font-size: 0.74rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, #475569);
    }
    .impuestos-wiz__nav { display: flex; gap: 10px; justify-content: flex-end; }
    .impuestos-wiz__nav .bd-btn { min-height: var(--bd-btn-h, 48px); padding: 0 18px; min-width: 120px; }
    .impuestos-wiz__nav .bd-btn--solid { min-height: var(--bd-btn-h, 48px); min-width: 180px; }
    .impuestos-wiz__nav .bd-btn:disabled { opacity: 0.55; cursor: not-allowed; }
    .impuestos-wiz__error {
      margin: 0 0 12px; padding: 10px 12px; border-radius: 10px;
      background: var(--bd-danger-bg, #fef2f2); border: 1px solid var(--bd-danger-bd, #fecaca); color: var(--bd-danger-fg, #b91c1c);
      font-size: 0.86rem;
    }
    .impuestos-wiz__loading { display: flex; align-items: center; gap: 10px; padding: 24px 0; color: var(--bd-ink-soft, #475569); justify-content: center; }
    .impuestos-wiz__loading--top { padding: 8px 0 12px; }
    .impuestos-wiz__spinner {
      width: 18px; height: 18px; border-radius: 50%; flex: 0 0 18px;
      border: 2px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)); border-top-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      animation: impuestos-wiz-spin 0.8s linear infinite;
    }
    @keyframes impuestos-wiz-spin { to { transform: rotate(360deg); } }
    .impuestos-wiz__hero { padding: 14px 16px; border-radius: var(--bd-radius-lg, 12px); margin-bottom: 14px; }
    .impuestos-wiz__what { margin: 0; font-size: 0.95rem; line-height: 1.5; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__lead { margin: 0 0 14px; color: var(--bd-ink-soft, #475569); }
    .impuestos-wiz__note { margin: 12px 0 0; padding: 8px 12px; border-radius: 10px; background: var(--bd-warn-bg, #fffbeb); border: 1px solid var(--bd-warn-bd, #fcd34d); color: var(--bd-warn-fg, #92400e); font-size: 0.84rem; }
    .impuestos-wiz__note--ok { background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)); border-color: var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7)); color: var(--bd-g-800, var(--bv-g-065f46, #065f46)); }
    .impuestos-wiz__kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
    .impuestos-wiz__kv > div { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--bd-n-200, #E7EAF0); background: var(--bd-n-50, #f8fafc); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .impuestos-wiz__kv strong { font-size: 0.9rem; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__kv small { font-size: 0.76rem; color: var(--bd-ink-soft, #475569); }
    .impuestos-wiz__steps-intro ol { margin: 6px 0 0; padding-left: 1.2rem; }
    .impuestos-wiz__steps-intro li + li { margin-top: 4px; }
    .impuestos-wiz__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .impuestos-wiz__card { padding: 12px 14px; border-radius: 12px; min-width: 0; }
    .impuestos-wiz__card-head { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
    .impuestos-wiz__card-title { font-weight: 700; font-size: 0.88rem; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__card-amount { font-weight: 800; color: var(--bd-g-700, var(--bv-g-047857, #047857)); white-space: nowrap; }
    .impuestos-wiz__card-sub { margin-top: 4px; font-size: 0.78rem; color: var(--bd-ink-soft, #475569); }
    .impuestos-wiz__card-lines { list-style: none; margin: 8px 0 0; padding: 8px 0 0; border-top: 1px dashed var(--bd-n-200, #E7EAF0); font-size: 0.78rem; }
    .impuestos-wiz__card-lines li { display: flex; justify-content: space-between; gap: 8px; }
    .impuestos-wiz__card-excluded { margin-top: 8px; font-size: 0.76rem; color: var(--bd-warn-fg, #92400e); }
    .impuestos-wiz__link { display: inline-block; margin-top: 8px; padding: 0; border: 0; background: none; color: var(--bd-g-700, var(--bv-g-047857, #047857)); font: inherit; font-size: 0.8rem; font-weight: 700; cursor: pointer; text-decoration: none; }
    .impuestos-wiz__link:hover { text-decoration: underline; }
    .impuestos-wiz__q { padding: 12px 14px; border-radius: 12px; border: 1px solid var(--bd-n-200, #E7EAF0); background: var(--bd-n-0, #fff); }
    .impuestos-wiz__q + .impuestos-wiz__q { margin-top: 10px; }
    .impuestos-wiz__q-label { font-weight: 700; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__req { color: var(--bd-danger-fg, #b91c1c); }
    .impuestos-wiz__q-help { margin: 4px 0 10px; font-size: 0.8rem; color: var(--bd-ink-soft, #475569); }
    .impuestos-wiz__choices { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
    .impuestos-wiz__choices--row { flex-direction: row; }
    .impuestos-wiz__choice {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 10px;
      border: 1px solid var(--bd-n-200, #E7EAF0); background: var(--bd-n-0, #fff); cursor: pointer; font-size: 0.86rem; color: var(--bd-ink, #0f172a);
    }
    .impuestos-wiz__choice, .impuestos-wiz__choice span,
    .impuestos-wiz__ack, .impuestos-wiz__inline, .impuestos-wiz__warn {
      text-transform: none;
      letter-spacing: normal;
      font-weight: 600;
    }
    .impuestos-wiz__choice input { margin: 3px 0 0; accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }
    .impuestos-wiz__choice.is-selected { border-color: var(--bd-g-600, var(--bv-g-047857, #047857)); background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)); }
    .impuestos-wiz__choices--row .impuestos-wiz__choice { min-width: 90px; justify-content: center; }
    .impuestos-wiz__input {
      height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff); color: var(--bd-ink, #0f172a); font: inherit; font-size: 0.9rem; box-sizing: border-box; width: 100%; max-width: 320px;
    }
    .impuestos-wiz__input:focus { outline: none; border-color: var(--bd-g-600, var(--bv-g-047857, #047857)); box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87),.15); }
    .impuestos-wiz__input--sm { height: 34px; max-width: 140px; padding: 0 8px; font-size: 0.84rem; }
    .impuestos-wiz__input--xs { height: 34px; max-width: 96px; padding: 0 8px; font-size: 0.84rem; }
    .impuestos-wiz__input-wrap { position: relative; display: inline-flex; align-items: center; max-width: 320px; width: 100%; margin-top: 6px; }
    .impuestos-wiz__input-wrap .impuestos-wiz__input { padding-right: 32px; }
    .impuestos-wiz__unit { position: absolute; right: 12px; color: var(--bd-ink-soft, #475569); font-weight: 700; pointer-events: none; }
    .impuestos-wiz__inline { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 0.84rem; }
    .impuestos-wiz__inline .impuestos-wiz__input { max-width: 420px; }
    .impuestos-wiz__table-wrap { overflow: auto; margin-top: 8px; border: 1px solid var(--bd-n-200, #E7EAF0); border-radius: 10px; }
    .impuestos-wiz__table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
    .impuestos-wiz__table th, .impuestos-wiz__table td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--bd-n-200, #E7EAF0); color: var(--bd-ink, #0f172a); white-space: nowrap; }
    .impuestos-wiz__table th { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--bd-ink-soft, #475569); background: var(--bd-n-50, #f8fafc); }
    .impuestos-wiz__table tr:last-child td { border-bottom: 0; }
    .impuestos-wiz__table td:last-child, .impuestos-wiz__table th:last-child { text-align: right; }
    .impuestos-wiz__table--boxes td:nth-child(3), .impuestos-wiz__table--boxes th:nth-child(3) { text-align: right; font-variant-numeric: tabular-nums; }
    .impuestos-wiz__table--boxes td:nth-child(2) { white-space: normal; }
    .impuestos-wiz__table tr.is-total td { font-weight: 800; background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)); }
    .impuestos-wiz__box { display: inline-block; min-width: 30px; padding: 2px 6px; border-radius: 6px; background: var(--bd-n-100, #f1f5f9); border: 1px solid var(--bd-n-200, #E7EAF0); font-weight: 800; font-size: 0.74rem; text-align: center; }
    .impuestos-wiz__ack { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 0.84rem; }
    .impuestos-wiz__ack input { accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }
    .impuestos-wiz__result {
      display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 16px; margin-bottom: 14px;
      border-radius: var(--bd-radius-lg, 14px); background: var(--bd-g-600, var(--bv-g-047857, #047857)); color: var(--bd-on-solid, #fff);
    }
    .impuestos-wiz__result.is-neg { background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)); color: var(--bd-g-800, var(--bv-g-065f46, #065f46)); border: 1px solid var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7)); }
    .impuestos-wiz__result-kind { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.9; }
    .impuestos-wiz__result-amount { font-size: 1.7rem; font-weight: 800; font-variant-numeric: tabular-nums; }
    .impuestos-wiz__result-sub { font-size: 0.78rem; opacity: 0.9; }
    .impuestos-wiz__verify { margin-top: 12px; padding: 10px 12px; border-radius: 10px; font-size: 0.84rem; border: 1px solid var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7)); background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)); color: var(--bd-g-800, var(--bv-g-065f46, #065f46)); }
    .impuestos-wiz__verify.is-ko { border-color: var(--bd-danger-bd, #fecaca); background: var(--bd-danger-bg, #fef2f2); color: var(--bd-danger-fg, #b91c1c); }
    .impuestos-wiz__verify .bd-label { display: block; margin-bottom: 2px; }
    .impuestos-wiz__verify ul { margin: 6px 0 0; padding-left: 1.1rem; }
    .impuestos-wiz__warns { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
    .impuestos-wiz__warn {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 10px; font-size: 0.84rem;
      border: 1px solid var(--bd-warn-bd, #fcd34d); background: var(--bd-warn-bg, #fffbeb); color: var(--bd-warn-fg, #92400e); cursor: pointer;
    }
    .impuestos-wiz__warn--info { border-color: var(--bd-n-200, #E7EAF0); background: var(--bd-n-50, #f8fafc); color: var(--bd-ink-soft, #475569); cursor: default; }
    .impuestos-wiz__warn--block { border-color: var(--bd-danger-bd, #fecaca); background: var(--bd-danger-bg, #fef2f2); color: var(--bd-danger-fg, #b91c1c); }
    .impuestos-wiz__warn.is-pending { box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.35); }
    .impuestos-wiz__warn input { margin-top: 3px; accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }
    .impuestos-wiz__warn > span { display: flex; flex-direction: column; gap: 2px; }
    .impuestos-wiz__warn-detail { font-size: 0.76rem; opacity: 0.9; }
    .impuestos-wiz__warn-ack { font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
    .impuestos-wiz__warn-ico { display: inline-flex; width: 18px; height: 18px; border-radius: 50%; align-items: center; justify-content: center; font-weight: 800; font-size: 0.72rem; background: currentColor; color: var(--c-blanco); flex: 0 0 18px; }
    .impuestos-wiz__warn-ico { color: var(--bd-n-0, #fff); background: var(--bd-ink-soft, #475569); }
    .impuestos-wiz__downloads { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
    .impuestos-wiz__downloads .bd-btn { width: 100%; }
    .impuestos-wiz__dl-note {
      margin: 0 0 4px;
      padding: 8px 10px;
      border-radius: 10px;
      background: var(--bd-n-50, #f8fafc);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, #475569);
    }
    .impuestos-wiz__details { margin-top: 12px; }
    .impuestos-wiz__details summary { cursor: pointer; font-weight: 700; color: var(--bd-g-700, var(--bv-g-047857, #047857)); }
    .impuestos-wiz__guide { margin: 0; padding-left: 1.4rem; display: flex; flex-direction: column; gap: 10px; }
    .impuestos-wiz__guide li strong { color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__guide li p { margin: 2px 0 0; color: var(--bd-ink-soft, #475569); font-size: 0.86rem; }
    .impuestos-wiz__guide .impuestos-wiz__link { margin-top: 4px; }
    .impuestos-wiz__presented { margin-top: 16px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
    .impuestos-wiz__presented .bd-btn { min-height: 44px; padding: 0 16px; }
    .impuestos-wiz__presented .sub { font-size: 0.78rem; max-width: 380px; }
    #impuestos-filing-viewer .impuestos-filing-viewer__panel {
      width: min(1000px, calc(100vw - 32px));
      max-width: min(1000px, calc(100vw - 32px));
      height: min(92vh, 900px);
      display: flex; flex-direction: column; margin: 0; padding: 0; overflow: hidden;
      background: var(--bd-n-0, #fff);
    }
    .impuestos-filing-viewer__actions { display: flex; align-items: center; gap: 8px; }
    .impuestos-filing-viewer__actions .btn { width: auto; height: 40px; padding: 0 14px; margin: 0; display: inline-flex; align-items: center; }
    .impuestos-filing-viewer__body { flex: 1 1 auto; min-height: 0; overflow: auto; background: var(--bd-n-50, #f8fafc); display: flex; align-items: stretch; justify-content: center; }
    .impuestos-filing-viewer__body iframe { width: 100%; height: 100%; border: 0; min-height: 60vh; }
    .impuestos-filing-viewer__body img { max-width: 100%; height: auto; object-fit: contain; margin: auto; }
    @media (max-width: 720px) {
      .impuestos-wiz__kv, .impuestos-wiz__cards { grid-template-columns: 1fr; }
      #panel-impuestos .impuestos-obl-item { flex-direction: column; }
      #panel-impuestos .impuestos-obl-item__actions { max-width: none; justify-content: flex-start; }
      .impuestos-wiz__nav .bd-btn, .impuestos-wiz__nav .bd-btn--solid { min-width: 0; flex: 1 1 auto; }
    }
    /* Tabla nóminas: documento acotado para evitar scroll horizontal */
    #panel-nominas #nominas-list-wrap .nominas-table {
      width: 100%;
      min-width: 860px;
      table-layout: auto;
      border-collapse: separate;
      border-spacing: 0;
    }
    #panel-nominas #nominas-list-wrap .nominas-table th.admin-data-col-actions,
    #panel-nominas #nominas-list-wrap .nominas-table td.admin-data-col-actions {
      position: static;
      right: auto;
      z-index: auto;
      min-width: 168px;
      width: 168px;
      background: transparent;
      box-shadow: none;
      vertical-align: middle;
      white-space: nowrap;
    }
    #panel-nominas #nominas-list-wrap .nominas-table thead th.admin-data-col-actions {
      z-index: auto;
      background: rgba(0, 0, 0, 0.35);
    }
    html.bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-table th.admin-data-col-actions,
    html.bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-table td.admin-data-col-actions {
      background: transparent;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-table thead th.admin-data-col-actions {
      background: linear-gradient(180deg, var(--c-azul-150) 0%, var(--c-azul-50) 100%);
    }
    html.bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-table tbody tr:nth-child(even) td.admin-data-col-actions {
      background: transparent;
    }
    html.bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-table tfoot td.admin-data-col-actions {
      background: transparent;
    }
    #panel-nominas #nominas-list-wrap .nominas-table th.nominas-col-doc,
    #panel-nominas #nominas-list-wrap .nominas-table td.nominas-col-doc {
      max-width: 180px;
      width: 22%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.82rem;
    }
    #panel-nominas #nominas-list-wrap .nominas-emp-name-cell {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    #panel-nominas #nominas-list-wrap .nominas-emp-avatar {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      display: block;
    }
    #panel-nominas #nominas-list-wrap .nominas-emp-avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
      font-weight: 700;
      font-size: 1rem;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    html.bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-emp-avatar--ph {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.25);
    }
    #panel-nominas #nominas-list-wrap .nominas-emp-name-cell span {
      font-weight: 600;
      line-height: 1.25;
    }
    /* ——— Balance (Finanzas) ——— */
    #panel-balance .balance-page-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px 24px;
      margin-bottom: 20px;
    }
    #panel-balance .balance-page-head__main {
      flex: 1 1 280px;
      min-width: 0;
    }
    #panel-balance .balance-title {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      font-size: 1.65rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--text, #f3f4f6);
    }
    #panel-balance .balance-title__icon {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.16);
      color: var(--bv-g-34d399, #34d399);
      flex-shrink: 0;
    }
    #panel-balance .balance-title__icon svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-sub {
      margin: 6px 0 0;
      font-size: 0.88rem;
      color: var(--text-muted, #9ca3af);
      line-height: 1.45;
      max-width: 52ch;
    }
    #panel-balance .balance-page-head__tools {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
    }
    #panel-balance .balance-period-picker {
      display: inline-flex;
      align-items: center;
      gap: 0;
      border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
      border-radius: 10px;
      background: rgba(255, 255, 255, 0.04);
      overflow: hidden;
      min-height: 40px;
    }
    #panel-balance .balance-period-picker__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      color: var(--text-muted, #9ca3af);
      flex-shrink: 0;
      border-right: 1px solid var(--border, rgba(255, 255, 255, 0.08));
    }
    #panel-balance .balance-period-picker__icon svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-period-picker select {
      border: 0;
      background: transparent;
      color: var(--text, #f3f4f6);
      font-size: 0.88rem;
      font-weight: 600;
      padding: 8px 12px;
      min-height: 40px;
      cursor: pointer;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
    }
    #panel-balance .balance-period-picker__period {
      border-right: 1px solid var(--border, rgba(255, 255, 255, 0.08)) !important;
      min-width: 148px;
    }
    #panel-balance .balance-period-picker__year {
      min-width: 72px;
      padding-right: 28px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 10px center;
    }
    #panel-balance .balance-period-picker--custom .balance-period-picker__year {
      display: none;
    }
    #panel-balance .balance-period-picker__custom {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 0 10px 0 8px;
    }
    #panel-balance .balance-period-picker__custom[hidden] {
      display: none;
    }
    #panel-balance .balance-period-picker__sep {
      color: var(--text-muted, #9ca3af);
      font-weight: 700;
    }
    #panel-balance .balance-period-picker__custom input[type='date'] {
      border: 0;
      background: transparent;
      color: inherit;
      font-size: 0.82rem;
      font-weight: 600;
      min-height: 40px;
      max-width: 10.8rem;
      outline: none;
    }
    #panel-balance #btn-balance-refresh {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 40px;
      padding: 8px 16px;
      font-weight: 600;
    }
    #panel-balance #btn-balance-refresh svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-summary-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 14px;
    }
    @media (max-width: 720px) {
      #panel-balance .balance-summary-grid,
      #panel-balance .balance-detail-grid {
        grid-template-columns: 1fr;
      }
    }
    #panel-balance .balance-summary-card {
      border-radius: 14px;
      padding: 16px 18px;
      border: 1px solid transparent;
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-rows: auto auto;
      gap: 4px 14px;
      align-items: center;
    }
    #panel-balance .balance-summary-card--ing {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.2);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    #panel-balance .balance-summary-card--gas {
      background: rgba(248, 113, 113, 0.2);
      border-color: rgba(248, 113, 113, 0.35);
    }
    #panel-balance .balance-summary-card__badge {
      grid-row: 1 / span 2;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    #panel-balance .balance-summary-card--ing .balance-summary-card__badge {
      background: var(--bv-g-059669, #059669);
      color: var(--c-blanco);
    }
    #panel-balance .balance-summary-card--gas .balance-summary-card__badge {
      background: var(--c-rojo-500);
      color: var(--c-blanco);
    }
    #panel-balance .balance-summary-card__badge svg {
      width: 22px;
      height: 22px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-summary-card__label {
      font-size: 0.82rem;
      color: var(--text-muted, #9ca3af);
      align-self: end;
    }
    #panel-balance .balance-summary-card__value {
      font-size: 1.55rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      line-height: 1.1;
      align-self: start;
    }
    #panel-balance .balance-summary-card--ing .balance-summary-card__value { color: var(--bv-g-34d399, #34d399); }
    #panel-balance .balance-summary-card--gas .balance-summary-card__value { color: var(--c-rojo-300); }
    #panel-balance .balance-summary-card__spark {
      grid-row: 1 / span 2;
      align-self: center;
      opacity: 1;
      min-width: 110px;
    }
    #panel-balance .balance-spark {
      display: block;
      overflow: visible;
    }
    #panel-balance .balance-summary-card__foot {
      grid-column: 2 / span 2;
      font-size: 0.76rem;
      color: var(--text-muted, #9ca3af);
      margin-top: 2px;
    }
    #panel-balance .balance-detail-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 14px;
    }
    /* Va después de las dos columnas: la regla de arriba (≤720 px) quedaba pisada y en móvil Ingresos y Gastos
       seguían uno al lado del otro. */
    @media (max-width: 720px) {
      #panel-balance .balance-detail-grid { grid-template-columns: 1fr; }
    }
    #panel-balance .balance-detail-card {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid var(--border, rgba(255, 255, 255, 0.1));
      border-radius: 14px;
      padding: 16px 18px;
    }
    #panel-balance .balance-detail-card__head {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
      font-size: 0.95rem;
      font-weight: 700;
    }
    #panel-balance .balance-detail-card__head--ing { color: var(--bv-g-34d399, #34d399); }
    #panel-balance .balance-detail-card__head--gas { color: var(--c-rojo-300); }
    #panel-balance .balance-detail-card__head-icon {
      width: 28px;
      height: 28px;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    #panel-balance .balance-detail-card__head--ing .balance-detail-card__head-icon {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
    }
    #panel-balance .balance-detail-card__head--gas .balance-detail-card__head-icon {
      background: rgba(248, 113, 113, 0.18);
      color: var(--c-rojo-300);
    }
    #panel-balance .balance-detail-card__head-icon svg {
      width: 15px;
      height: 15px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 9px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    #panel-balance .balance-line:last-of-type { border-bottom: 0; }
    #panel-balance .balance-line--group {
      font-weight: 700;
      padding-bottom: 6px;
      border-bottom: 0;
    }
    #panel-balance .balance-line--sub {
      padding: 5px 0 5px 0;
      border-bottom: 0;
    }
    #panel-balance .balance-line--sub + .balance-line:not(.balance-line--sub) {
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      margin-top: 4px;
      padding-top: 10px;
    }
    #panel-balance .balance-line__subdot {
      width: 6px;
      height: 6px;
      margin-left: 12px;
      margin-right: 4px;
      border-radius: 999px;
      background: currentColor;
      opacity: 0.35;
      flex-shrink: 0;
    }
    #panel-balance .balance-line__subtxt {
      font-size: 0.8rem;
      font-weight: 500;
      color: var(--bd-ink-soft, #6B7280);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 220px;
    }
    #panel-balance .balance-line--sub .balance-line__amt {
      font-size: 0.84rem;
      font-weight: 600;
      color: var(--bd-ink-soft, #6B7280);
    }
    #panel-balance .balance-line__left {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      font-size: 0.86rem;
      color: var(--text, #e5e7eb);
    }
    #panel-balance .balance-line__icon {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    #panel-balance .balance-line__icon--ing {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.14);
      color: var(--bv-g-34d399, #34d399);
    }
    #panel-balance .balance-line__icon--gas {
      background: rgba(248, 113, 113, 0.14);
      color: var(--c-rojo-300);
    }
    #panel-balance .balance-line__icon svg {
      width: 15px;
      height: 15px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-line__amt {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--text, #f3f4f6);
      white-space: nowrap;
    }
    #panel-balance .balance-detail-card__total {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-top: 10px;
      padding-top: 12px;
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      font-weight: 700;
      font-size: 0.92rem;
    }
    #panel-balance .balance-detail-card__total-amt--ing { color: var(--bv-g-34d399, #34d399); }
    #panel-balance .balance-detail-card__total-amt--gas { color: var(--c-rojo-300); }
    #panel-balance .balance-result-card {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 16px 24px;
      padding: 20px 22px;
      border-radius: 14px;
      border: 1px solid var(--border, rgba(255, 255, 255, 0.1));
      background: rgba(255, 255, 255, 0.03);
    }
    #panel-balance .balance-result-card__icon {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.14);
      color: var(--bv-g-34d399, #34d399);
      flex-shrink: 0;
    }
    #panel-balance .balance-result-card__icon svg {
      width: 28px;
      height: 28px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-balance .balance-result-card__main {
      flex: 1 1 200px;
      min-width: 0;
    }
    #panel-balance .balance-result-card__title {
      margin: 0;
      font-size: 1rem;
      font-weight: 700;
      color: var(--text, #f3f4f6);
    }
    #panel-balance .balance-result-card__period {
      display: block;
      margin-top: 2px;
      font-size: 0.8rem;
      color: var(--text-muted, #9ca3af);
    }
    #panel-balance .balance-result-card__value {
      margin: 6px 0 0;
      font-size: 2rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      line-height: 1.1;
    }
    #panel-balance .balance-result-card__value--pos { color: var(--bv-g-34d399, #34d399); }
    #panel-balance .balance-result-card__value--neg { color: var(--c-rojo-300); }
    #panel-balance .balance-result-card__note {
      flex: 1 1 220px;
      max-width: 360px;
      font-size: 0.78rem;
      color: var(--text-muted, #9ca3af);
      line-height: 1.45;
      margin: 0;
    }
    html.bardev-panel-theme-light #panel-balance .balance-title { color: var(--c-azul-900c); }
    html.bardev-panel-theme-light #panel-balance .balance-sub { color: var(--c-pizarra-550b); }
    html.bardev-panel-theme-light #panel-balance .balance-period-picker {
      background: var(--c-blanco);
      border-color: var(--c-gris-100c);
    }
    html.bardev-panel-theme-light #panel-balance .balance-period-picker select,
    html.bardev-panel-theme-light #panel-balance .balance-period-picker__custom input[type='date'] { color: var(--c-azul-900c); }
    html.bardev-panel-theme-light #panel-balance .balance-period-picker__icon,
    html.bardev-panel-theme-light #panel-balance .balance-period-picker__period {
      border-color: var(--c-gris-100c) !important;
    }
    html.bardev-panel-theme-light #panel-balance .balance-summary-card--ing {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--c-verde-150);
    }
    html.bardev-panel-theme-light #panel-balance .balance-summary-card--gas {
      background: var(--c-rojo-50b);
      border-color: var(--c-rojo-100);
    }
    html.bardev-panel-theme-light #panel-balance .balance-detail-card,
    html.bardev-panel-theme-light #panel-balance .balance-result-card {
      background: var(--c-blanco);
      border-color: var(--c-gris-100c);
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    }
    html.bardev-panel-theme-light #panel-balance .balance-line {
      border-bottom-color: var(--c-gris-50c);
    }
    html.bardev-panel-theme-light #panel-balance .balance-line--sub + .balance-line:not(.balance-line--sub) {
      border-top-color: var(--c-gris-50c);
    }
    html.bardev-panel-theme-light #panel-balance .balance-line__left { color: var(--c-pizarra-750b); }
    html.bardev-panel-theme-light #panel-balance .balance-line__amt { color: var(--c-azul-900c); }
    html.bardev-panel-theme-light #panel-balance .balance-line__subtxt { color: var(--c-pizarra-550b); }
    html.bardev-panel-theme-light #panel-balance .balance-line--sub .balance-line__amt { color: var(--c-pizarra-650b); }
    html.bardev-panel-theme-light #panel-balance .balance-detail-card__total {
      border-top-color: var(--c-gris-100c);
    }
    /* Categorías plegables con su detalle (titular, 10-10: «todas las categorías plegadas con posibilidad de
       desplegar para ver los detalles», ingresos y gastos). */
    #panel-balance .balance-det { border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
    #panel-balance .balance-det > summary.balance-line {
      list-style: none;
      cursor: pointer;
      border-bottom: 0;
      border-radius: 8px;
    }
    #panel-balance .balance-det > summary::-webkit-details-marker { display: none; }
    #panel-balance .balance-det > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
    #panel-balance .balance-line__cuenta {
      flex: none;
      min-width: 20px;
      padding: 1px 7px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.08);
      font-size: 0.72rem;
      font-weight: 700;
      text-align: center;
      opacity: 0.8;
    }
    #panel-balance .balance-line__chev {
      display: inline-block;
      width: 7px;
      height: 7px;
      margin-left: 10px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      opacity: 0.55;
      transform: translateY(-2px) rotate(45deg);
      transition: transform 0.2s;
    }
    #panel-balance .balance-det[open] > summary .balance-line__chev { transform: translateY(2px) rotate(-135deg); }
    #panel-balance .balance-det__lista { padding: 0 0 8px; }
    #panel-balance .balance-det__lista .balance-line__subtxt { max-width: none; white-space: normal; }
    #panel-balance .balance-det__lista .balance-line__left { flex-wrap: wrap; row-gap: 2px; }
    #panel-balance .balance-line__submeta {
      flex: none;
      margin-left: 8px;
      font-size: 0.74rem;
      font-weight: 600;
      color: var(--bd-ink-soft, #6B7280);
      white-space: nowrap;
    }
    #panel-balance .balance-det__mas { margin: 4px 0 0 22px; font-size: 0.78rem; color: var(--bd-ink-soft, #6B7280); }
    html.bardev-panel-theme-light #panel-balance .balance-det { border-bottom-color: var(--c-gris-50c); }
    html.bardev-panel-theme-light #panel-balance .balance-line__cuenta { background: var(--c-gris-50c); color: var(--c-pizarra-650b); }
    html.bardev-panel-theme-light #panel-balance .balance-line__submeta { color: var(--c-pizarra-550b); }
    @media (prefers-reduced-motion: reduce) {
      #panel-balance .balance-line__chev { transition: none; }
    }
    html.bardev-panel-theme-light #panel-balance .balance-result-card__title { color: var(--c-azul-900c); }
    .impuestos-config-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    .impuestos-config-list-wrap {
      border: 1px solid var(--border);
      border-radius: 10px;
      margin-bottom: 10px;
      overflow: hidden;
    }
    #panel-impuestos-config .impuestos-config-table th,
    #panel-impuestos-config .impuestos-config-table td {
      padding: 5px 8px;
      border-bottom: 1px solid var(--border);
      text-align: left;
      vertical-align: middle;
    }
    #panel-impuestos-config .impuestos-config-table th {
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
      font-weight: 600;
    }
    #panel-impuestos-config .impuestos-config-table tr:last-child td {
      border-bottom: 0;
    }
    #panel-impuestos-config .impuestos-config-table td strong {
      font-size: 0.82rem;
      font-weight: 600;
    }
    #panel-impuestos-config .impuestos-config-table .inv-toolbar-select {
      font-size: 0.78rem;
      padding: 5px 8px;
      min-height: 0;
      line-height: 1.25;
    }
    #panel-impuestos-config .impuestos-config-table th.impuestos-config-col-actions,
    #panel-impuestos-config .impuestos-config-table td.impuestos-config-col-actions {
      width: 64px;
      min-width: 64px;
      padding-left: 4px;
      padding-right: 4px;
      text-align: center;
      white-space: nowrap;
    }
    #panel-impuestos-config .impuestos-config-table .table-row-actions {
      display: inline-flex;
      flex-wrap: nowrap;
      gap: 4px;
      align-items: center;
      justify-content: center;
    }
    .impuestos-config-add-row {
      margin-bottom: 12px;
    }
    .impuestos-modal-row--year-only .impuestos-f-year-wrap {
      flex: 1 1 100%;
    }
    .nav-group--nested {
      margin-top: 4px;
      margin-bottom: 8px;
    }
    .nav-group__head {
      display: flex;
      align-items: stretch;
      gap: 4px;
      margin-bottom: 2px;
    }
    .nav-group__head .nav-group__toggle {
      flex: 1;
      margin-bottom: 0;
    }
    .nav-group--open .nav-group__main > .nav-group__head .nav-group__toggle .nav-toggle-arrow {
      transform: rotate(90deg);
    }
    .nav-group--dragging {
      opacity: 0.5;
    }
    .nav-side-scroll.nav--drag-active {
      cursor: grabbing;
      touch-action: none;
      overflow-y: hidden;
      user-select: none;
      -webkit-user-select: none;
    }
    .nav-side-scroll.nav--drag-active .nav-group__drag-dot {
      cursor: grabbing !important;
    }
    .nav-block--draggable {
      margin-bottom: 0;
    }
    /* Puente corto entre último grupo y pie (misma columna 44px). Sin flex-grow: si crece, Chrome separa mucho el botón Cerrar sesión. */
    .nav-side-rail-gap {
      display: flex;
      align-items: stretch;
      gap: 6px;
      width: 100%;
      flex: 0 0 auto;
      min-height: 16px;
      flex-shrink: 0;
    }
    .nav-side-rail-gap__rail {
      width: 44px;
      flex-shrink: 0;
      position: relative;
      pointer-events: none;
    }
    .nav-side-rail-gap__line {
      position: absolute;
      left: 50%;
      transform: translate3d(-50%, 0, 0);
      width: var(--nav-spine-width, 2px);
      top: 0;
      bottom: -12px;
      border-radius: 3px;
      background: var(--nav-tail-color, var(--nav-rail-gap-color, #94a3b8));
      opacity: 0.95;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
    }
    .nav-side-rail-gap__spacer {
      flex: 1;
      min-width: 0;
    }
    /* Pie del menú (Cerrar sesión + L final): SCROLLA junto a la última sección. La zona fija del aside la ocupa el reproductor de música. */
    .nav-side-footer {
      display: flex;
      align-items: stretch;
      gap: 6px;
      width: 100%;
      padding-top: 2px;
      flex-shrink: 0;
    }
    .nav-side-footer__rail {
      width: 44px;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      min-height: 48px;
      align-self: stretch;
    }
    /* L continua (SVG): stroke-linejoin redondea la esquina; non-scaling-stroke evita que el grosor se pierda al estirar */
    .nav-side-footer__rail-svg {
      position: absolute;
      left: 0;
      top: -28px;
      width: 44px;
      height: calc(100% + 28px);
      display: block;
      color: var(--nav-tail-color, var(--nav-rail-gap-color, #94a3b8));
      opacity: 0.95;
      pointer-events: none;
      overflow: visible;
    }
    .nav-side-footer__rail-svg path {
      vector-effect: non-scaling-stroke;
      stroke-width: var(--nav-spine-stroke, 2);
      stroke-linejoin: round;
      stroke-linecap: round;
    }
    .nav-side-footer__main {
      flex: 1;
      min-width: 0;
      display: flex;
      align-items: center;
    }
    .nav-side-footer__main .btn {
      width: 100%;
      margin-top: 0;
    }

    /* ===== Reproductor de música (zona fija al fondo del aside, debajo del scroll) ===== */
    .nav-side-music--float {
      position: fixed;
      left: 16px;
      bottom: 16px;
      width: min(320px, calc(100vw - 32px));
      margin: 0;
      z-index: 12050;
      border-radius: 14px;
      border: 1px solid var(--bd-n-200, var(--border));
      box-shadow: 0 12px 32px rgba(15, 23, 42, 0.22);
      background: var(--bd-n-0, #fff);
    }
    html.bardev-panel-theme-light .nav-side-music--float {
      background: var(--c-blanco);
    }
    .nav-side-music--float #nav-music-open-list,
    .nav-side-music--float #nav-music-pin {
      display: none;
    }
    .nav-side-music {
      flex-shrink: 0;
      position: relative;
      margin: 8px -4px 0;
      padding: 8px 10px 10px;
      border-top: 1px solid var(--brand-rgba-22);
      background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10));
      border-radius: 12px 12px 0 0;
      box-shadow: 0 -8px 14px rgba(0,0,0,0.18);
      overflow: visible;
      z-index: 30;
    }
    html.bardev-panel-theme-light .nav-side-music {
      background: linear-gradient(180deg, rgba(15,23,42,0.02), rgba(15,23,42,0.05));
    }
    .nav-side-music__head {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
      margin-bottom: 0;
    }
    .nav-side-music__head-actions {
      display: flex;
      flex-shrink: 0;
      align-items: center;
      gap: 4px;
    }
    .nav-side-music__pin {
      flex-shrink: 0;
      width: 26px; height: 26px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 8px;
      background: transparent;
      border: 1px solid transparent;
      color: var(--muted);
      cursor: pointer;
      padding: 0;
      transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.05s;
    }
    .nav-side-music__pin:hover {
      background: var(--brand-rgba-06);
      border-color: var(--brand-rgba-22);
      color: var(--ok);
    }
    .nav-side-music__pin.is-active {
      color: var(--ok);
      background: var(--brand-rgba-12);
      border-color: var(--brand-rgba-30);
    }
    .nav-side-music__pin:active { transform: scale(0.94); }
    .nav-side-music__pin svg {
      width: 14px; height: 14px; pointer-events: none;
    }
    .nav-side-music__body {
      display: grid;
      grid-template-rows: 0fr;
      opacity: 0;
      transition: grid-template-rows 0.28s ease, opacity 0.22s ease, margin-top 0.22s ease;
      margin-top: 0;
      pointer-events: none;
    }
    .nav-side-music__body-inner {
      overflow: hidden;
      min-height: 0;
    }
    .nav-side-music.has-apple-embed .nav-side-music__body,
    .nav-side-music:hover .nav-side-music__body,
    .nav-side-music.is-expanded .nav-side-music__body,
    .nav-side-music:focus-within .nav-side-music__body,
    .nav-side-music:has(#nav-music-pl-picker:not(.hidden)) .nav-side-music__body {
      grid-template-rows: 1fr;
      opacity: 1;
      margin-top: 8px;
      pointer-events: auto;
    }
    .nav-side-music.has-apple-embed .nav-side-music__body-inner,
    .nav-side-music:hover .nav-side-music__body-inner,
    .nav-side-music.is-expanded .nav-side-music__body-inner,
    .nav-side-music:focus-within .nav-side-music__body-inner,
    .nav-side-music:has(#nav-music-pl-picker:not(.hidden)) .nav-side-music__body-inner {
      overflow: visible;
    }
    .nav-side-music:not(:hover):not(.is-expanded):not(:focus-within) {
      padding-bottom: 8px;
    }
    .nav-side-music__head-icon {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      flex-shrink: 0;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 8px;
      background: var(--brand-rgba-12);
      color: var(--ok);
    }
    .nav-side-music__head-icon svg { width: 14px; height: 14px; }
    .nav-side-music__cover {
      width: 40px; height: 40px; flex-shrink: 0; position: relative;
      border-radius: 8px; overflow: hidden; background: rgba(0, 0, 0, 0.25);
    }
    .nav-side-music__thumb {
      width: 100%; height: 100%; object-fit: cover; display: block;
    }
    .nav-side-music__title-wrap {
      flex: 1; min-width: 0;
      display: flex; flex-direction: column; line-height: 1.15;
    }
    .nav-side-music__label {
      font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.07em;
      color: var(--muted);
    }
    .nav-side-music__title {
      font-size: 0.82rem; font-weight: 600; color: var(--text);
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .nav-side-music__title--placeholder {
      color: var(--muted); font-weight: 500; font-style: italic;
    }
    .nav-side-music__artist {
      font-size: 0.72rem; color: var(--muted);
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .nav-side-music__open-list {
      flex-shrink: 0;
      width: 26px; height: 26px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 8px;
      background: var(--brand-rgba-06);
      border: 1px solid var(--brand-rgba-22);
      color: var(--ok);
      cursor: pointer;
      padding: 0;
      transition: background 0.15s, border-color 0.15s, transform 0.05s;
    }
    .nav-side-music__open-list:hover {
      background: var(--brand-rgba-12);
      border-color: var(--brand-rgba-30);
    }
    .nav-side-music__open-list:active { transform: scale(0.94); }
    .nav-side-music__open-list svg { width: 14px; height: 14px; pointer-events: none; }
    .nav-side-music__controls-dock {
      --nav-music-controls-h: 84px;
      --nav-music-vol-w: 22px;
      --nav-music-vol-track-w: 16px;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      margin-top: 6px;
      height: var(--nav-music-controls-h);
      max-height: var(--nav-music-controls-h);
      flex-shrink: 0;
    }
    .nav-side-music__controls-grid {
      display: grid;
      grid-template-columns: repeat(3, max-content);
      grid-template-rows: auto auto;
      gap: 6px;
      justify-items: center;
      align-content: center;
      flex: 0 0 auto;
      height: var(--nav-music-controls-h);
      max-height: var(--nav-music-controls-h);
    }
    .nav-side-music__controls-grid .nav-side-music__pick-wrap {
      display: contents;
    }
    .nav-side-music__vol-wrap {
      flex: 0 0 var(--nav-music-vol-w);
      width: var(--nav-music-vol-w);
      height: var(--nav-music-controls-h);
      max-height: var(--nav-music-controls-h);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      overflow: hidden;
    }
    .nav-side-music__vol-range {
      -webkit-appearance: none;
      appearance: none;
      width: var(--nav-music-vol-w);
      height: var(--nav-music-controls-h);
      max-height: var(--nav-music-controls-h);
      min-height: 0;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: ns-resize;
      touch-action: none;
      writing-mode: vertical-lr;
      direction: rtl;
      accent-color: var(--ok);
      flex-shrink: 0;
    }
    .nav-side-music__vol-range:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
      border-radius: 999px;
    }
    .nav-side-music__vol-range::-webkit-slider-runnable-track {
      width: var(--nav-music-vol-track-w);
      height: var(--nav-music-controls-h);
      max-height: var(--nav-music-controls-h);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      border: 1px solid var(--brand-rgba-22);
    }
    html.bardev-panel-theme-light .nav-side-music__vol-range::-webkit-slider-runnable-track {
      background: rgba(15, 23, 42, 0.08);
    }
    .nav-side-music__vol-range::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: calc(var(--nav-music-vol-track-w) + 4px);
      height: 5px;
      margin-left: -2px;
      border-radius: 2px;
      background: var(--text);
      border: 1px solid rgba(0, 0, 0, 0.18);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
    }
    .nav-side-music__vol-range::-moz-range-track {
      width: var(--nav-music-vol-track-w);
      height: var(--nav-music-controls-h);
      max-height: var(--nav-music-controls-h);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.12);
      border: 1px solid var(--brand-rgba-22);
    }
    .nav-side-music__vol-range::-moz-range-thumb {
      width: calc(var(--nav-music-vol-track-w) + 4px);
      height: 5px;
      border-radius: 3px;
      background: var(--text);
      border: 1px solid rgba(0, 0, 0, 0.18);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
    }
    .nav-side-music__pick-wrap {
      position: relative;
    }
    .nav-side-music__pl-picker {
      position: fixed;
      z-index: 500;
      display: flex;
      flex-direction: column;
      padding: 6px;
      border-radius: 8px;
      border: 1px solid var(--brand-rgba-22);
      background: var(--side);
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
      max-height: min(200px, calc(100dvh - 16px));
      box-sizing: border-box;
      overflow: hidden;
    }
    .nav-side-music__pl-picker.hidden { display: none !important; }
    .nav-side-music__pl-picker-head {
      display: flex; align-items: center; justify-content: space-between; gap: 6px;
      margin-bottom: 4px; padding: 0 2px 3px;
      border-bottom: 1px solid var(--brand-rgba-12);
      font-size: 0.62rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em;
      flex-shrink: 0;
    }
    .nav-side-music__pl-picker-head button {
      border: none; background: transparent; color: var(--brand);
      font-size: 0.65rem; font-weight: 600; cursor: pointer; padding: 1px 3px; border-radius: 4px;
    }
    .nav-side-music__pl-picker-head button:hover { background: var(--brand-rgba-08); }
    .nav-side-music__pl-picker-list {
      overflow-y: auto; min-height: 0; display: flex; flex-direction: column; gap: 2px;
    }
    .nav-side-music__pl-picker-list .bardev-music-pl-row {
      margin-bottom: 0; padding: 4px 6px; gap: 6px; border-radius: 8px;
    }
    .nav-side-music__pl-picker-list .bardev-music-pl-row__cover {
      width: 24px; height: 24px; border-radius: 6px; font-size: 0.75rem;
    }
    .nav-side-music__pl-picker-list .bardev-music-pl-row__meta strong {
      font-size: 0.68rem;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .nav-side-music__pl-picker-list .bardev-music-pl-row__meta .sub {
      font-size: 0.58rem;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .nav-side-music__pl-picker-empty {
      margin: 4px 2px; font-size: 0.65rem; color: var(--muted); line-height: 1.3;
    }
    html.bardev-panel-theme-light .nav-side-music__pl-picker {
      box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
    }
    .nav-side-music__btn {
      width: 36px; height: 36px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 50%;
      background: var(--brand-rgba-06);
      border: 1px solid var(--brand-rgba-22);
      color: var(--text);
      cursor: pointer;
      padding: 0;
      transition: background 0.15s, border-color 0.15s, transform 0.05s;
    }
    .nav-side-music__btn:hover:not(:disabled) {
      background: var(--brand-rgba-12);
      border-color: var(--brand-rgba-30);
    }
    .nav-side-music__btn:active:not(:disabled) {
      transform: scale(0.94);
    }
    .nav-side-music__btn:disabled {
      opacity: 0.35; cursor: not-allowed;
    }
    .nav-side-music__btn--play {
      width: 42px; height: 42px;
      background: var(--brand-rgba-12);
      color: var(--ok);
    }
    .nav-side-music__btn svg { width: 16px; height: 16px; pointer-events: none; }
    .nav-side-music__btn--play svg { width: 18px; height: 18px; }
    .nav-side-music__btn--mode {
      width: 30px; height: 30px;
      color: var(--muted);
    }
    .nav-side-music__btn--mode.is-active {
      color: var(--ok);
      background: var(--brand-rgba-12);
      border-color: var(--brand-rgba-30);
    }
    .nav-side-music__btn--mode svg { width: 14px; height: 14px; }
    .nav-side-music__hint {
      margin-top: 4px;
      font-size: 0.62rem; color: var(--muted);
      text-align: center;
      line-height: 1.2;
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      max-height: 2.4em;
    }
    .nav-side-music__progress {
      margin: 0 0 8px;
      user-select: none;
    }
    .nav-side-music__progress-times {
      display: flex; justify-content: space-between; gap: 8px;
      font-size: 0.62rem; color: var(--muted); margin-bottom: 4px; font-variant-numeric: tabular-nums;
    }
    .nav-side-music__progress-times-end {
      display: inline-flex; align-items: center; gap: 4px;
    }
    .nav-side-music__progress-times-sep {
      opacity: 0.55;
    }
    .nav-side-music__progress-track {
      position: relative; height: 6px; border-radius: 999px;
      background: rgba(255, 255, 255, 0.08); cursor: pointer; touch-action: none;
    }
    html.bardev-panel-theme-light .nav-side-music__progress-track {
      background: rgba(15, 23, 42, 0.1);
    }
    .nav-side-music__progress-fill {
      position: absolute; left: 0; top: 0; bottom: 0; width: 0;
      border-radius: inherit; background: var(--ok);
      pointer-events: none;
    }
    .nav-side-music__progress-track:hover .nav-side-music__progress-fill,
    .nav-side-music__progress-track:focus-visible .nav-side-music__progress-fill {
      filter: brightness(1.08);
    }
    .nav-side-music__apple-host,
    .nav-side-music__apple-host:not(.hidden) {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: 0;
      padding: 0;
      overflow: hidden;
      opacity: 0;
      pointer-events: none;
      left: -9999px;
      top: -9999px;
      border: 0;
      background: transparent;
    }
    .nav-side-music__apple-host iframe,
    .nav-side-music__apple-host .bardev-music-apple-stage__player {
      display: block;
      width: 1px;
      height: 1px;
      border: 0;
      background: transparent;
    }
    .nav-side-music__pl-picker-group {
      margin: 6px 4px 2px;
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .nav-side-music__embed-host {
      position: absolute;
      width: 1px; height: 1px;
      overflow: hidden;
      opacity: 0;
      pointer-events: none;
      left: -9999px;
      top: -9999px;
    }
    /* Con el modal abierto: iframe en viewport (micro) para que el navegador no pause el audio lateral */
    body.bardev-music-modal-open .nav-side-music__embed-host {
      position: fixed;
      left: 0;
      bottom: 0;
      width: 2px;
      height: 2px;
      opacity: 0.01;
      overflow: hidden;
      pointer-events: none;
      z-index: 1;
    }
    /* Modal estudio musical Barveo */
    #bardev-music-modal { z-index: 22000; align-items: center; justify-content: center; padding: 16px; }
    .bardev-music-modal {
      width: min(960px, 100%);
      max-height: min(92vh, 820px);
      display: flex;
      flex-direction: column;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 16px;
      box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
      overflow: hidden;
      position: relative;
      isolation: isolate;
    }
    html.bardev-panel-theme-light .bardev-music-modal {
      background: var(--c-beis-marca);
      border-color: var(--c-beis-150);
      box-shadow: 0 24px 64px rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.16);
    }
    html.bardev-panel-theme-light .bardev-music-modal__head,
    html.bardev-panel-theme-light .bardev-music-modal__tabs {
      border-bottom-color: var(--c-beis-150);
    }
    html.bardev-panel-theme-light .bardev-music-modal__left {
      border-right-color: var(--c-beis-150);
    }
    html.bardev-panel-theme-light .bardev-music-modal__right {
      background: color-mix(in srgb, var(--c-beis-marca) 72%, var(--c-blanco));
    }
    html.bardev-panel-theme-light .bardev-music-search-row input {
      background: var(--c-blanco);
    }
    .bardev-music-modal__head {
      display: flex; align-items: center; justify-content: space-between; gap: 12px;
      padding: 14px 16px 10px; border-bottom: 1px solid var(--border);
      position: relative; z-index: 4;
    }
    .bardev-music-modal__head h2 { margin: 0; font-size: 1.05rem; flex: 1; min-width: 0; }
    .bardev-music-modal__head-actions {
      display: flex; align-items: center; gap: 8px; flex-shrink: 0;
    }
    .bardev-music-modal__settings {
      width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.04); color: var(--muted); cursor: pointer;
      display: inline-flex; align-items: center; justify-content: center; padding: 0;
    }
    .bardev-music-modal__settings:hover {
      color: var(--ok); background: var(--brand-rgba-08); border-color: var(--brand-rgba-30);
    }
    .bardev-music-modal__settings svg { width: 17px; height: 17px; display: block; pointer-events: none; }
    .bardev-music-settings {
      position: absolute; inset: 0; z-index: 12;
      display: flex; align-items: center; justify-content: center;
      padding: 16px; background: rgba(0, 0, 0, 0.55);
    }
    .bardev-music-settings.hidden { display: none !important; }
    .bardev-music-settings__sheet {
      width: min(380px, 100%); max-height: min(80vh, 420px); overflow-y: auto;
      background: var(--card); border: 1px solid var(--border); border-radius: 14px;
      padding: 14px 16px 16px; box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
    }
    .bardev-music-settings__head {
      display: flex; align-items: center; justify-content: space-between; gap: 10px;
      margin-bottom: 14px;
    }
    .bardev-music-settings__head h3 { margin: 0; font-size: 0.95rem; }
    .bardev-music-settings__field {
      display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px;
      font-size: 0.82rem; font-weight: 600;
    }
    .bardev-music-settings__field input[type="number"] {
      padding: 8px 10px; border-radius: 8px; border: 1px solid var(--border);
      background: var(--bg); color: var(--text); font-size: 0.88rem; font-weight: 400;
    }
    .bardev-music-settings__field input[type="range"] { width: 100%; margin: 0; }
    .bardev-music-settings__hint {
      margin: -6px 0 14px; font-size: 0.75rem; line-height: 1.4; color: var(--muted); font-weight: 400;
    }
    .bardev-music-modal__tabs {
      display: flex; gap: 6px; padding: 0 16px 10px; border-bottom: 1px solid var(--border);
      position: relative; z-index: 4;
    }
    .bardev-music-modal__tabs button {
      padding: 8px 14px; border-radius: 999px; border: 1px solid var(--border);
      background: transparent; color: var(--text); font-size: 0.82rem; cursor: pointer;
      position: relative; z-index: 1;
    }
    .bardev-music-modal__tabs button[aria-selected="true"] {
      background: var(--brand-rgba-12); border-color: var(--brand-rgba-30);
      color: var(--ok); font-weight: 600;
    }
    .bardev-music-modal__body {
      display: grid; grid-template-columns: 1fr min(340px, 38%); gap: 0; flex: 1; min-height: 0;
      position: relative; z-index: 1;
    }
    .bardev-music-modal__left {
      padding: 14px 16px; overflow: hidden; min-height: 280px; border-right: 1px solid var(--border);
      display: flex; flex-direction: column;
    }
    .bardev-music-modal__left > .bardev-music-panel {
      flex: 1; min-height: 0; overflow-y: auto;
    }
    .bardev-music-modal__left > .bardev-music-panel[data-bardev-music-panel="lists"]:not(.bardev-music-panel--hidden) {
      display: flex; flex-direction: column; overflow: hidden;
    }
    .bardev-music-lists-split {
      flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 0;
    }
    .bardev-music-lists-split__h {
      margin: 10px 0 8px; font-size: 0.9rem; flex-shrink: 0;
    }
    .bardev-music-lists-split__pls {
      flex: 0 0 42%; min-height: 88px; max-height: none; display: flex; flex-direction: column;
    }
    .bardev-music-lists-split__handle {
      flex: 0 0 10px;
      width: 100%;
      margin: 2px 0;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: row-resize;
      touch-action: none;
      position: relative;
      z-index: 2;
    }
    .bardev-music-lists-split__handle::before {
      content: '';
      position: absolute;
      left: 18%;
      right: 18%;
      top: 4px;
      height: 2px;
      border-radius: 999px;
      background: var(--bd-n-300, var(--border));
    }
    .bardev-music-lists-split__handle:hover::before,
    .bardev-music-lists-split__handle:focus-visible::before,
    .bardev-music-lists-split.is-resizing .bardev-music-lists-split__handle::before {
      background: var(--bd-g-600, var(--ok));
    }
    .bardev-music-lists-split.is-resizing,
    .bardev-music-lists-split.is-resizing * {
      cursor: row-resize !important;
      user-select: none;
    }
    .bardev-music-lists-split__tracks {
      flex: 1 1 auto; min-height: 88px; display: flex; flex-direction: column;
    }
    #bardev-music-pl-list,
    #bardev-music-tracks {
      flex: 1; min-height: 0; overflow-y: auto;
    }
    .bardev-music-modal__right {
      display: flex; flex-direction: column; min-height: 0; background: transparent;
    }
    .bardev-music-modal__player-wrap {
      aspect-ratio: 16 / 9; background: var(--c-negro); flex-shrink: 0; position: relative;
      overflow: hidden; z-index: 0; contain: layout paint;
    }
    #bardev-music-modal-player { width: 100%; height: 100%; position: relative; overflow: hidden; }
    .bardev-music-modal-poster-wrap {
      position: absolute;
      inset: 0;
      background: var(--c-gris-950d);
    }
    .bardev-music-modal-poster {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    #music-preview-host.music-preview-host--apple {
      display: block;
      padding: 0 !important;
      min-height: 0;
      background: var(--c-gris-950d);
    }
    .bardev-music-apple-stage {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      min-height: 220px;
      background: var(--c-gris-950d);
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    #bardev-music-modal-player .bardev-music-apple-stage {
      height: 100%;
      aspect-ratio: auto;
      min-height: 0;
    }
    .bardev-music-apple-stage__brand {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      background: radial-gradient(ellipse at 50% 42%, #4a1824 0%, #141414 68%);
    }
    .bardev-music-apple-stage__brand .bardev-music-apple-logo {
      width: min(38%, 160px);
      height: auto;
      filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.35));
    }
    .bardev-music-apple-stage__name {
      font-size: 0.95rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      color: var(--c-blanco);
    }
    .bardev-music-apple-stage__player {
      width: 100%;
      height: 175px;
      border: 0;
      flex: 0 0 175px;
      background: var(--c-negro);
    }
    #bardev-music-modal-player iframe {
      position: absolute !important; inset: 0 !important;
      width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important;
    }
    .bardev-music-modal__progress {
      padding: 8px 12px 4px;
      border-top: 1px solid var(--border);
      background: transparent;
      flex-shrink: 0;
      user-select: none;
    }
    .bardev-music-modal__progress[hidden] { display: none !important; }
    .bardev-music-modal__progress-times {
      display: flex; justify-content: space-between; gap: 8px;
      font-size: 0.68rem; color: var(--muted); margin-bottom: 5px; font-variant-numeric: tabular-nums;
    }
    .bardev-music-modal__progress-times-end {
      display: inline-flex; align-items: center; gap: 4px;
    }
    .bardev-music-modal__progress-times-sep { opacity: 0.55; }
    .bardev-music-modal__progress-track {
      position: relative; height: 6px; border-radius: 999px;
      background: rgba(255, 255, 255, 0.08); cursor: pointer; touch-action: none;
    }
    html.bardev-panel-theme-light .bardev-music-modal__progress-track {
      background: rgba(15, 23, 42, 0.1);
    }
    .bardev-music-modal__progress-fill {
      position: absolute; left: 0; top: 0; bottom: 0; width: 0;
      border-radius: inherit; background: var(--ok);
      pointer-events: none;
    }
    .bardev-music-modal__progress-track:hover .bardev-music-modal__progress-fill,
    .bardev-music-modal__progress-track:focus-visible .bardev-music-modal__progress-fill {
      filter: brightness(1.08);
    }
    .bardev-music-modal__controls {
      display: flex; align-items: center; justify-content: center; gap: 10px;
      padding: 10px 12px; border-top: 1px solid var(--border); flex-shrink: 0;
      background: transparent;
    }
    .bardev-music-modal__ctrl {
      width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border);
      background: var(--card); color: var(--text); cursor: pointer;
      display: inline-flex; align-items: center; justify-content: center; padding: 0;
    }
    .bardev-music-modal__ctrl:disabled { opacity: 0.35; cursor: not-allowed; }
    .bardev-music-modal__ctrl--play {
      width: 44px; height: 44px; background: var(--brand-rgba-12); border-color: var(--brand-rgba-30); color: var(--ok);
    }
    .bardev-music-modal__ctrl svg { width: 18px; height: 18px; display: block; }
    .bardev-music-modal__ctrl--play svg { width: 22px; height: 22px; }
    .bardev-music-modal__now {
      margin: 0; padding: 2px 12px 8px; font-size: 0.78rem; font-weight: 500; color: var(--muted);
      flex-shrink: 0; background: transparent; line-height: 1.35;
    }
    .bardev-music-modal__playlist {
      margin: 0; padding: 8px 12px 0; font-size: 0.9rem; font-weight: 700; line-height: 1.25;
      flex-shrink: 0; background: transparent; border-top: 1px solid var(--border);
      color: var(--text);
    }
    .bardev-music-modal__playlist[hidden] { display: none !important; }
    .bardev-music-modal__playlist::before {
      content: 'Lista activa · ';
      font-weight: 600; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.03em;
      color: var(--ok); opacity: 0.92;
    }
    .bardev-music-upcoming {
      flex: 1; min-height: 0; display: flex; flex-direction: column;
      padding: 8px 10px 12px; border-top: 1px solid var(--border); overflow: hidden;
    }
    .bardev-music-upcoming__head {
      display: flex; align-items: center; justify-content: space-between; gap: 8px;
      margin-bottom: 6px; flex-shrink: 0;
    }
    .bardev-music-upcoming__head span:first-child {
      font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.85;
    }
    .bardev-music-upcoming__mode {
      font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
      color: var(--ok); padding: 2px 8px; border-radius: 999px;
      border: 1px solid var(--brand-rgba-30); background: var(--brand-rgba-06);
    }
    .bardev-music-upcoming__mode[hidden] { display: none !important; }
    .bardev-music-upcoming__hint {
      margin: 0 0 8px; font-size: 0.74rem; line-height: 1.35; color: var(--muted); flex-shrink: 0;
    }
    #bardev-music-upcoming-list {
      flex: 1; min-height: 0; overflow-y: auto;
    }
    #bardev-music-upcoming-list .bardev-music-empty {
      margin: 0; font-size: 0.76rem; line-height: 1.4;
    }
    .bardev-music-upcoming-row {
      display: flex; align-items: center; gap: 8px; padding: 6px 4px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    html.bardev-panel-theme-light .bardev-music-upcoming-row {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    .bardev-music-upcoming-row__n {
      width: 18px; flex-shrink: 0; text-align: center; font-size: 0.72rem; font-weight: 700;
      color: var(--muted); font-variant-numeric: tabular-nums;
    }
    .bardev-music-upcoming-row__thumb {
      width: 36px; height: 36px; border-radius: 6px; overflow: hidden; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.35);
      font-size: 0.85rem;
    }
    .bardev-music-upcoming-row__thumb img { width: 100%; height: 100%; object-fit: cover; }
    .bardev-music-upcoming-row__meta {
      flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0; line-height: 1.2;
    }
    .bardev-music-upcoming-row__meta strong {
      font-size: 0.78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      margin: 0; line-height: 1.25;
    }
    .bardev-music-upcoming-row__meta .sub {
      margin: 0; padding: 0; line-height: 1.2; font-size: 0.7rem;
    }
    .bardev-music-upcoming-row__meta .bardev-music-track-duration {
      font-size: 0.68rem; opacity: 0.8;
    }
    .bardev-music-upcoming-more {
      margin: 8px 0 0; font-size: 0.72rem; color: var(--muted); text-align: center;
    }
    #bardev-music-pl-list.bardev-music-pl-list--highlight {
      animation: bardev-music-pl-pulse 0.55s ease 2;
    }
    #bardev-music-pl-list.bardev-music-pl-list--copy-mode {
      box-shadow: inset 0 0 0 2px var(--brand-rgba-30); border-radius: 10px;
    }
    .bardev-music-search-row { display: flex; gap: 8px; margin-bottom: 12px; }
    .bardev-music-search-row input {
      flex: 1; min-width: 0; padding: 10px 12px; border-radius: 10px;
      border: 1px solid var(--border); background: var(--bg); color: var(--text); font-size: 0.88rem;
    }
    .bardev-music-search-block { margin-bottom: 4px; }
    .bardev-music-search-block + .bardev-music-search-block {
      margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
    .bardev-music-search-label {
      margin: 0 0 8px; font-size: 0.76rem; font-weight: 600; letter-spacing: 0.04em;
      text-transform: uppercase; color: var(--muted);
    }
    .bardev-music-pl-search-row {
      display: flex; align-items: center; gap: 8px; padding: 8px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .bardev-music-pl-search-row__cover {
      width: 52px; height: 52px; border-radius: 8px; overflow: hidden; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.35);
    }
    .bardev-music-pl-search-row__cover img { width: 100%; height: 100%; object-fit: cover; }
    .bardev-music-pl-search-row__meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
    .bardev-music-pl-search-row__meta strong {
      font-size: 0.86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .bardev-music-pl-search-actions { display: flex; flex-shrink: 0; gap: 6px; }
    .bardev-music-pl-search-actions .btn { width: auto; margin: 0; padding: 6px 10px; font-size: 0.78rem; white-space: nowrap; }
    .bardev-music-pl-row {
      display: flex; align-items: center; gap: 8px; width: 100%; padding: 5px 8px; margin-bottom: 4px;
      border-radius: 10px; border: 1px solid var(--border); background: rgba(255, 255, 255, 0.03);
      color: var(--text); cursor: pointer; text-align: left; position: relative;
      transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    }
    .bardev-music-pl-row:focus-visible {
      outline: 2px solid var(--brand-rgba-30);
      outline-offset: 2px;
    }
    .bardev-music-pl-row--tinted {
      background: var(--pl-bg);
      border-color: var(--pl-border);
    }
    .bardev-music-pl-row--tinted.bardev-music-pl-row--active {
      background: var(--pl-bg-active);
    }
    .bardev-music-pl-row--tinted.bardev-music-pl-row--playing {
      background: var(--pl-bg-playing);
    }
    .bardev-music-pl-row--active {
      border-color: var(--brand-rgba-30);
      box-shadow: inset 3px 0 0 var(--brand);
    }
    html:not(.bardev-panel-theme-light) .bardev-music-pl-row--active {
      box-shadow: inset 3px 0 0 var(--brand), inset 0 0 0 1px var(--brand-rgba-12);
    }
    .bardev-music-pl-row--playing {
      border-color: var(--ok);
      box-shadow: inset 4px 0 0 var(--ok), inset 0 0 0 2px var(--brand-rgba-20);
    }
    html.bardev-panel-theme-light .bardev-music-pl-row--playing {
      box-shadow: inset 4px 0 0 var(--ok), 0 0 0 1px rgba(34, 197, 94, 0.35);
    }
    html:not(.bardev-panel-theme-light) .bardev-music-pl-row--playing {
      box-shadow: inset 4px 0 0 var(--ok), inset 0 0 0 1px rgba(34, 197, 94, 0.28);
    }
    .bardev-music-pl-item {
      display: flex; align-items: center; gap: 6px; margin-bottom: 4px;
    }
    .bardev-music-pl-item--dragging { opacity: 0.45; }
    .bardev-music-pl-item--over {
      background: var(--brand-rgba-06); border-radius: 10px;
    }
    .bardev-music-pl-item .bardev-music-pl-drag { height: 36px; align-self: stretch; }
    .bardev-music-pl-item .bardev-music-pl-row { flex: 1; min-width: 0; margin-bottom: 0; }
    .bardev-music-pl-row--with-actions {
      position: relative;
      align-items: center;
      min-height: 44px;
      padding: 5px 8px;
    }
    .bardev-music-pl-row--bardev {
      position: relative;
    }
    .bardev-music-pl-row--bardev .bardev-music-pl-row__meta,
    .bardev-music-pl-row--with-actions.bardev-music-pl-row--bardev .bardev-music-pl-row__meta {
      padding-right: 168px;
    }
    .bardev-music-pl-badge {
      position: absolute;
      top: 50%;
      right: 74px;
      transform: translateY(-50%);
      z-index: 3;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 3px 9px;
      border-radius: 999px;
      border: 1px solid var(--bd-g-700, var(--bv-g-065f46, #065f46));
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.03em;
      line-height: 1.2;
      text-transform: uppercase;
      white-space: nowrap;
      pointer-events: none;
    }
    html:not(.bardev-panel-theme-light) .bardev-music-pl-badge {
      border-color: var(--brand-rgba-30);
      background: var(--brand-rgba-12);
      color: var(--ok);
    }
    .bardev-music-pl-row--apple .bardev-music-pl-row__meta {
      padding-right: 92px;
    }
    .bardev-music-pl-row:not(.bardev-music-pl-row--with-actions) .bardev-music-pl-badge--apple {
      right: 12px;
    }
    .bardev-music-pl-badge--apple {
      border-color: var(--c-rojo-450);
      background: linear-gradient(135deg, var(--c-rojo-450), #fb5c74);
      color: var(--c-blanco);
    }
    .bardev-music-pl-row--with-actions .bardev-music-pl-row__meta {
      padding-right: 72px;
    }
    .bardev-music-pl-row .bardev-music-pl-actions {
      position: absolute;
      right: 6px;
      top: 50%;
      bottom: auto;
      transform: translateY(-50%);
      display: flex;
      flex-shrink: 0;
      gap: 2px;
      z-index: 2;
    }
    .bardev-music-pl-edit, .bardev-music-pl-merge, .bardev-music-pl-del {
      width: 20px; height: 20px; border-radius: 5px; border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.72); color: var(--text); cursor: pointer;
      font-size: 0.65rem; line-height: 1; padding: 0;
      display: inline-flex; align-items: center; justify-content: center;
    }
    html:not(.bardev-panel-theme-light) .bardev-music-pl-edit,
    html:not(.bardev-panel-theme-light) .bardev-music-pl-merge,
    html:not(.bardev-panel-theme-light) .bardev-music-pl-del {
      background: rgba(0, 0, 0, 0.35);
    }
    .bardev-music-pl-edit { color: var(--ok); }
    .bardev-music-pl-merge { color: var(--c-azul-300); font-size: 0.72rem; font-weight: 700; }
    .bardev-music-pl-del { color: var(--c-rojo-300); font-size: 0.78rem; }
    .bardev-music-pl-edit:hover, .bardev-music-pl-merge:hover, .bardev-music-pl-del:hover {
      background: rgba(255, 255, 255, 0.95);
      border-color: var(--brand-rgba-30);
    }
    html:not(.bardev-panel-theme-light) .bardev-music-pl-edit:hover,
    html:not(.bardev-panel-theme-light) .bardev-music-pl-merge:hover,
    html:not(.bardev-panel-theme-light) .bardev-music-pl-del:hover {
      background: rgba(255, 255, 255, 0.12);
    }
    .bardev-music-pl-row__cover {
      width: 36px; height: 36px; border-radius: 8px; overflow: hidden; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.35); font-size: 1rem;
      position: relative;
    }
    .bardev-music-pl-row__cover img { width: 100%; height: 100%; object-fit: cover; }
    .bardev-music-pl-play {
      position: absolute; inset: 0; padding: 0; margin: 0; border: none; background: transparent;
      cursor: pointer; border-radius: inherit;
    }
    .bardev-music-pl-play-badge {
      position: absolute; right: 2px; bottom: 2px;
      width: 16px; height: 16px;
      display: inline-flex; align-items: center; justify-content: center;
      color: var(--c-blanco);
      filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 4px rgba(0, 0, 0, 0.65));
      pointer-events: none;
    }
    .bardev-music-pl-play-badge svg { width: 14px; height: 14px; display: block; }
    .bardev-music-pl-play:hover .bardev-music-pl-play-badge,
    .bardev-music-pl-row__cover:hover .bardev-music-pl-play-badge {
      filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 1)) drop-shadow(0 0 6px rgba(0, 0, 0, 0.75));
    }
    .bardev-music-pl-row__meta { display: flex; flex-direction: column; min-width: 0; gap: 0; line-height: 1.2; }
    .bardev-music-pl-row__meta strong {
      font-size: 0.86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      margin: 0; line-height: 1.25;
    }
    .bardev-music-pl-row__meta .sub {
      margin: 0; padding: 0; line-height: 1.2; font-size: 0.74rem;
    }
    .bardev-music-pl-row__meta .bardev-music-pl-duration {
      font-size: 0.72rem; opacity: 0.75; margin-top: 1px;
    }
    .bardev-music-pl-row__meta .bardev-music-pl-duration--loading {
      font-style: italic; opacity: 0.65;
    }
    @keyframes bardev-music-pl-pulse {
      0%, 100% { box-shadow: inset 0 0 0 0 transparent; }
      50% { box-shadow: inset 0 0 0 2px var(--brand-rgba-30); }
    }
    .bardev-music-track-row {
      display: flex; align-items: center; gap: 6px; padding: 6px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .bardev-music-track-row--dragging { opacity: 0.45; }
    .bardev-music-track-row--over {
      background: var(--brand-rgba-06); border-radius: 8px;
    }
    .bardev-music-tracks-summary {
      display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
      margin-top: 10px; padding: 10px 0 4px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 0.8rem; color: var(--muted); font-weight: 500;
    }
    .bardev-music-tracks-summary__sep { opacity: 0.55; user-select: none; }
    .bardev-music-tracks-summary__loading { font-style: italic; opacity: 0.85; }
    .bardev-music-tracks-summary__partial { opacity: 0.75; font-size: 0.92em; }
    .bardev-music-track-drag {
      width: 20px; height: 44px; flex-shrink: 0;
      display: inline-flex; align-items: center; justify-content: center;
      color: var(--muted);
      cursor: grab; padding: 0; border-radius: 4px; touch-action: none;
      user-select: none; -webkit-user-select: none;
    }
    .bardev-music-track-drag:hover { color: var(--text); background: rgba(255, 255, 255, 0.04); }
    .bardev-music-track-drag:active { cursor: grabbing; }
    .bardev-music-track-drag svg { width: 16px; height: 16px; pointer-events: none; display: block; }
    .bardev-music-track-play {
      width: 44px; height: 44px; padding: 0; border: none; border-radius: 8px;
      overflow: hidden; cursor: pointer; flex-shrink: 0; background: rgba(0, 0, 0, 0.35);
      position: relative;
    }
    .bardev-music-track-thumb {
      position: relative; display: block; width: 100%; height: 100%;
    }
    .bardev-music-track-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .bardev-music-track-thumb--empty {
      display: flex; align-items: center; justify-content: center;
      width: 100%; height: 100%; font-size: 0.9rem; color: var(--muted);
    }
    .bardev-music-track-play-badge {
      position: absolute; right: 2px; bottom: 2px;
      width: 16px; height: 16px;
      display: inline-flex; align-items: center; justify-content: center;
      color: var(--c-blanco);
      filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 4px rgba(0, 0, 0, 0.65));
      pointer-events: none;
    }
    .bardev-music-track-play-badge svg {
      width: 14px; height: 14px; display: block;
    }
    .bardev-music-track-play:hover .bardev-music-track-play-badge {
      filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 1)) drop-shadow(0 0 6px rgba(0, 0, 0, 0.75));
    }
    .bardev-music-track-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0; line-height: 1.2; }
    .bardev-music-track-meta strong {
      font-size: 0.82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      margin: 0; line-height: 1.25;
    }
    .bardev-music-track-meta .sub {
      margin: 0; padding: 0; line-height: 1.2; font-size: 0.74rem;
    }
    .bardev-music-track-meta .bardev-music-track-duration {
      font-size: 0.72rem; opacity: 0.75; letter-spacing: 0.02em; margin-top: 1px;
    }
    .bardev-music-track-add, .bardev-music-track-del {
      width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--border);
      background: transparent; color: var(--text); cursor: pointer; flex-shrink: 0; font-size: 1rem; line-height: 1;
    }
    .bardev-music-track-add { color: var(--ok); font-weight: 700; }
    .bardev-music-empty { margin: 8px 0; font-size: 0.8rem; opacity: 0.85; }
    .bardev-music-empty--err { color: var(--err); opacity: 1; }
    .bardev-music-lists-toolbar {
      display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center;
      flex-shrink: 0;
    }
    .bardev-music-lists-toolbar input {
      flex: 1; min-width: 120px; padding: 8px 10px; border-radius: 8px;
      border: 1px solid var(--border); background: var(--bg); color: var(--text); font-size: 0.82rem;
    }
    .bardev-music-panel--hidden { display: none !important; }
    @media (max-width: 760px) {
      .bardev-music-modal__body { grid-template-columns: 1fr; }
      .bardev-music-modal__left {
        border-right: none; border-bottom: 1px solid var(--border); max-height: 40vh;
      }
    }
    .music-platform-card:hover {
      border-color: var(--brand-rgba-30) !important;
      background: var(--brand-rgba-06) !important;
    }
    .music-platform-card[aria-pressed='true'] {
      border-color: var(--ok) !important;
      background: var(--brand-rgba-12) !important;
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18) inset;
    }
    .music-platform-card:active {
      transform: scale(0.98);
    }
    /* ===== Cards de favoritos de música ===== */
    .music-fav-card {
      position: relative;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.04);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      cursor: pointer;
      padding: 0;
      color: var(--text);
      transition: border-color 0.15s, transform 0.05s, box-shadow 0.15s;
    }
    .music-fav-card:hover {
      border-color: var(--brand-rgba-30);
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    }
    .music-fav-card:active {
      transform: scale(0.985);
    }
    .music-fav-card--active {
      border-color: var(--ok) !important;
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35) inset, 0 6px 18px rgba(0, 0, 0, 0.25);
    }
    .music-fav-card__cover {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      background: var(--c-gris-950c);
      overflow: hidden;
    }
    .music-fav-card__cover img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
    }
    .music-fav-card__cover-fallback {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.45);
      font-size: 2rem;
    }
    .music-fav-card__play-overlay {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.55) 100%);
      opacity: 0;
      transition: opacity 0.15s;
    }
    .music-fav-card:hover .music-fav-card__play-overlay { opacity: 1; }
    .music-fav-card__play-icon {
      width: 48px; height: 48px;
      border-radius: 50%;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.92);
      color: var(--c-verde-950);
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 6px 14px rgba(0,0,0,0.4);
    }
    .music-fav-card__play-icon svg { width: 22px; height: 22px; }
    .music-fav-card__platform-chip {
      position: absolute;
      top: 8px; left: 8px;
      display: inline-flex; align-items: center; gap: 4px;
      padding: 3px 8px 3px 6px;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.6);
      color: var(--c-blanco);
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.04em;
    }
    .music-fav-card__platform-chip span { white-space: nowrap; }
    .music-fav-card__platform-chip svg { width: 12px; height: 12px; }
    .music-fav-card__now-chip {
      position: absolute;
      top: 8px; right: 8px;
      padding: 3px 8px;
      border-radius: 999px;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.92);
      color: var(--c-verde-950);
      font-size: 0.62rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      display: none;
    }
    .music-fav-card--active .music-fav-card__now-chip { display: inline-block; }
    .music-fav-card__body {
      padding: 10px 12px 12px;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
    }
    .music-fav-card__title {
      font-size: 0.85rem;
      font-weight: 600;
      line-height: 1.25;
      max-height: 2.5em;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      flex: 1;
      min-width: 0;
      text-align: left;
    }
    .music-fav-card__delete {
      flex-shrink: 0;
      width: 26px; height: 26px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 50%;
      background: rgba(0, 0, 0, 0.45);
      color: var(--c-rojo-100);
      border: 1px solid transparent;
      cursor: pointer;
      transition: background 0.15s, border-color 0.15s, color 0.15s;
    }
    .music-fav-card__delete:hover {
      background: rgba(239, 68, 68, 0.22);
      border-color: rgba(239, 68, 68, 0.5);
      color: var(--c-blanco);
    }
    .music-fav-card__delete svg { width: 14px; height: 14px; }
    /* Agenda — maximizar (ocultar sidebar) */
    /* Maximizar agenda: sidebar colapsado a sólo iconos */
    .app-shell--agenda-max .nav-side {
      width: 52px !important;
      min-width: 52px !important;
      max-width: 52px !important;
      overflow: visible !important;
      z-index: 50;
    }
    /* Ocultar todo lo que no sea iconos (el logo se mantiene encima del rail) */
    .app-shell--agenda-max .nav-tenant-switcher,
    .app-shell--agenda-max .nav-side-scroll::before,
    .app-shell--agenda-max .nav-toggle-label,
    .app-shell--agenda-max .nav-toggle-arrow,
    .app-shell--agenda-max .nav-group__body,
    .app-shell--agenda-max .nav-side-music,
    .app-shell--agenda-max .nav-side-rail-gap,
    .app-shell--agenda-max .nav-side-footer__rail {
      display: none !important;
    }
    /* Compacto: solo iconos; no hace falta scroll vertical; horizontal visible para cápsulas tooltip */
    .app-shell--agenda-max .nav-side-scroll,
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-side-scroll {
      overflow-y: hidden !important;
      overflow-x: visible !important;
      padding-top: 32px !important;
    }
    .app-shell--agenda-max .nav-group,
    .app-shell--agenda-max .nav-group__shell,
    .app-shell--agenda-max .nav-group__rail,
    .app-shell--agenda-max .nav-block--draggable,
    .app-shell--agenda-max .nav-block__shell {
      overflow: visible !important;
    }
    /* Centrar el botón de Cerrar sesión */
    .app-shell--agenda-max .nav-side-footer {
      display: flex !important;
      justify-content: flex-start !important;
      padding: 10px 0 56px 0 !important;
      flex-shrink: 0 !important;
      margin-top: auto !important;
      overflow: visible !important;
      position: relative !important;
      z-index: 70 !important;
    }
    .app-shell--agenda-max .nav-side-footer__main {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: flex-end !important;
      gap: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      box-sizing: border-box !important;
      overflow: visible !important;
      width: 100% !important;
    }
    .nav-rail-music {
      display: none !important;
    }
    .app-shell--agenda-max .nav-rail-music {
      display: flex !important;
      flex-direction: column;
      align-items: center;
      position: relative;
      width: 100%;
      height: 96px;
      margin: 0 0 4px;
      overflow: visible;
    }
    .app-shell--agenda-max .nav-rail-music__disc {
      position: absolute;
      top: 0;
      left: 100%;
      transform: translateX(-50%);
      width: 64px;
      height: 64px;
      padding: 0;
      margin: 0;
      border-radius: 50%;
      overflow: hidden;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(180deg, var(--c-blanco) 0%, var(--c-gris-50c) 100%);
      border: 3px solid var(--c-blanco);
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 8px 22px rgba(15, 23, 42, 0.16);
      z-index: 70;
    }
    .app-shell--agenda-max .nav-rail-music__thumb {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 50%;
      display: block;
    }
    .app-shell--agenda-max .nav-rail-music__fallback {
      font-size: 1.35rem;
      line-height: 1;
      color: var(--bv-g-059669, #059669);
    }
    /* Controles en un radio fijo desde el centro del disco (64/2 = 32px) */
    .app-shell--agenda-max .nav-rail-music__ctrl {
      position: absolute;
      left: 100%;
      top: 32px;
      width: 30px;
      height: 30px;
      padding: 0;
      border-radius: 50%;
      border: 2px solid var(--c-blanco);
      background: var(--c-blanco);
      color: var(--bv-g-047857, #047857);
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.08),
        0 4px 12px rgba(15, 23, 42, 0.14);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 72;
    }
    .app-shell--agenda-max .nav-rail-music__prev,
    .app-shell--agenda-max .nav-rail-music__next {
      width: 22px;
      height: 22px;
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      border-color: var(--bv-g-047857, #047857);
      z-index: 80;
    }
    .app-shell--agenda-max .nav-rail-music__prev {
      transform: translate(-50%, -50%) translate(-21.16px, 29.12px);
    }
    .app-shell--agenda-max .nav-rail-music__play {
      transform: translate(-50%, -50%) translate(0, 36px);
    }
    .app-shell--agenda-max .nav-rail-music__next {
      transform: translate(-50%, -50%) translate(21.16px, 29.12px);
    }
    .app-shell--agenda-max .nav-rail-music__play:hover:not(:disabled) {
      background: var(--c-gris-50f);
      border-color: var(--c-gris-150);
    }
    .app-shell--agenda-max .nav-rail-music__prev:hover:not(:disabled),
    .app-shell--agenda-max .nav-rail-music__next:hover:not(:disabled) {
      background: var(--bv-g-065f46, #065f46);
      border-color: var(--bv-g-065f46, #065f46);
      color: var(--c-blanco);
    }
    .app-shell--agenda-max .nav-rail-music__ctrl:disabled {
      opacity: 0.45;
      cursor: default;
    }
    .app-shell--agenda-max .nav-rail-music__ctrl svg {
      width: 13px;
      height: 13px;
    }
    .app-shell--agenda-max .nav-rail-music__prev svg,
    .app-shell--agenda-max .nav-rail-music__next svg {
      width: 10px;
      height: 10px;
    }
    /* Logo Barveo encima de los iconos: mitad en el rail, mitad sobre el contenido */
    .app-shell--agenda-max .nav-side-header {
      display: flex !important;
      align-items: flex-start !important;
      justify-content: stretch !important;
      flex-shrink: 0 !important;
      position: relative !important;
      z-index: 80 !important;
      width: 100% !important;
      height: 96px !important;
      margin: 0 !important;
      padding: 10px 0 8px !important;
      border: 0 !important;
      background: transparent !important;
      overflow: visible !important;
    }
    .app-shell--agenda-max .nav-side-header__brand-row {
      position: relative !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      overflow: visible !important;
    }
    .app-shell--agenda-max .nav-header-logo-wrap {
      position: absolute !important;
      top: 10px !important;
      left: 100% !important;
      transform: translateX(-50%) !important;
      width: 75px !important;
      height: 75px !important;
      margin: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border-radius: 50% !important;
      overflow: hidden !important;
      background: linear-gradient(180deg, var(--c-blanco) 0%, var(--c-gris-50c) 100%) !important;
      border: 3px solid var(--c-blanco) !important;
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 8px 22px rgba(15, 23, 42, 0.16) !important;
      z-index: 80 !important;
    }
    .app-shell--agenda-max .nav-header-logo-wrap img {
      width: 100% !important;
      height: 100% !important;
      object-fit: contain !important;
      object-position: center !important;
      border-radius: 50% !important;
      padding: 5px !important;
      box-sizing: border-box !important;
      background: transparent !important;
    }
    /* Cada grupo: solo el icono centrado */
    .app-shell--agenda-max .nav-group__shell {
      padding: 0 !important;
      justify-content: center !important;
      align-items: center !important;
    }
    .app-shell--agenda-max .nav-group__rail {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      align-self: stretch !important;
      width: 100% !important;
    }
    .app-shell--agenda-max .nav-group__rail-line,
    .app-shell--agenda-max .nav-group__main {
      display: none !important;
    }
    .app-shell--agenda-max .nav-group__drag-dot {
      width: 36px !important;
      height: 36px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      margin: 4px auto !important;
      border-radius: 8px !important;
      cursor: pointer !important;
      pointer-events: auto !important;
      position: relative !important;
    }
    .app-shell--agenda-max .nav-group__drag-dot:hover {
      background: rgba(0,0,0,0.06) !important;
    }
    /* Sidebar colapsado: todos los iconos del rail en verde corporativo (mismo que NUEVA CITA) */
    .app-shell--agenda-max .nav-section-icon {
      color: var(--bv-g-059669, #059669) !important;
    }
    /* Menú flotante del sidebar plegado (posición vía JS → body) */
    .nav-collapsed-flyout {
      position: fixed;
      z-index: 100010;
      display: none;
      box-sizing: border-box;
      min-width: 196px;
      max-width: min(280px, calc(100vw - 72px));
      max-height: min(70vh, 440px);
      overflow: visible;
      padding: 0 0 4px;
      background: var(--c-blanco);
      color: var(--bd-ink, #0f172a);
      border: 1px solid var(--bd-n-200, rgba(15, 23, 42, 0.12));
      border-radius: var(--bd-radius-lg, 14px);
      box-shadow: var(--bd-shadow-lg, 0 12px 32px rgba(15, 23, 42, 0.14));
      pointer-events: auto;
    }
    .nav-collapsed-flyout::before {
      content: '';
      position: absolute;
      left: -12px;
      top: 0;
      bottom: 0;
      width: 12px;
    }
    .nav-collapsed-flyout__list {
      max-height: min(62vh, 392px);
      overflow-x: hidden;
      overflow-y: auto;
      padding: 0;
    }
    .nav-collapsed-flyout__title {
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: 0.01em;
      color: var(--c-verde-900);
      padding: 9px 12px;
      /* Color 09 Verde menta (Colores Barveo), no gris */
      background: var(--bv-g-bbd3ca, #bbd3ca);
      border-bottom: 1px solid rgba(15, 31, 23, 0.12);
      border-radius: var(--bd-radius-lg, 14px) var(--bd-radius-lg, 14px) 0 0;
    }
    .nav-collapsed-flyout__heading {
      font-size: 0.62rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      color: var(--bd-ink-soft, #64748b);
      padding: 8px 12px 4px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.1);
    }
    .nav-collapsed-flyout__item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      width: 100%;
      box-sizing: border-box;
      margin: 0;
      border: 0;
      border-bottom: 1px solid rgba(15, 23, 42, 0.1);
      border-radius: 0;
      background: transparent;
      color: var(--bd-ink, #0f172a);
      font: inherit;
      font-size: 0.82rem;
      font-weight: 500;
      line-height: 1.25;
      text-align: left;
      padding: 8px 12px;
      cursor: pointer;
    }
    .nav-collapsed-flyout__item:last-child {
      border-bottom: 0;
    }
    .nav-collapsed-flyout__item:hover,
    .nav-collapsed-flyout__item:focus-visible {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      outline: none;
    }
    .nav-collapsed-flyout__item.is-active {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-weight: 650;
    }
    .nav-collapsed-flyout__badge {
      flex-shrink: 0;
      min-width: 18px;
      height: 18px;
      padding: 0 5px;
      border-radius: 999px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
      font-size: 0.68rem;
      font-weight: 700;
      line-height: 18px;
      text-align: center;
    }
    .app-shell--agenda-max .nav-group__drag-dot.is-flyout-open {
      background: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.12) !important;
    }
    body.nav-collapsed-tip-hidden .nav-collapsed-flyout,
    body.nav-collapsed-tip-hidden .nav-collapsed-tooltip {
      display: none !important;
    }
    .nav-collapsed-tooltip {
      display: none !important;
    }
    /* Cerrar sesión colapsado: círculo a caballo del rail (como logo / disco) */
    .app-shell--agenda-max .nav-side-footer .btn {
      width: 40px !important;
      height: 40px !important;
      padding: 0 !important;
      margin: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border-radius: 50% !important;
      font-size: 0 !important;
      color: transparent !important;
      position: absolute !important;
      left: 100% !important;
      bottom: 10px !important;
      transform: translateX(-50%) !important;
      background: var(--bv-g-047857, #047857) !important;
      border: 3px solid var(--bv-g-047857, #047857) !important;
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 8px 22px rgba(15, 23, 42, 0.16) !important;
      z-index: 70 !important;
    }
    .app-shell--agenda-max .nav-side-footer .btn::before {
      content: '' !important;
      display: block !important;
      width: 18px !important;
      height: 18px !important;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }
    .app-shell--agenda-max .nav-side-footer .btn:hover::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") !important;
    }
    /* Línea vertical del sidebar colapsado */
    .app-shell--agenda-max .nav-side {
      border-right: 1px solid rgba(15,23,42,0.10) !important;
    }
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-side {
      border-right: 1px solid rgba(15,23,42,0.10) !important;
      overflow-x: visible !important;
    }
    /* Tema claro: el rail desactiva pointer-events en los dots; en sidebar colapsado deben ser clicables y mostrar tooltip */
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-group__drag-dot {
      pointer-events: auto !important;
      cursor: pointer !important;
      touch-action: manipulation !important;
    }
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-group--draggable .nav-group__drag-dot,
    html.bardev-panel-theme-light .app-shell--agenda-max #nav-dev-section .nav-group__drag-dot {
      background: rgba(15, 23, 42, 0.06) !important;
      border: 1px solid rgba(15, 23, 42, 0.1) !important;
    }
    /* Logout colapsado: el tema claro pisa font-size/color; forzar icono vía ::before */
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-side-footer__main #btn-logout-dash {
      font-size: 0 !important;
      line-height: 0 !important;
      color: transparent !important;
      text-indent: -9999px !important;
      overflow: hidden !important;
      white-space: nowrap !important;
      width: 40px !important;
      height: 40px !important;
      padding: 0 !important;
      margin: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border-radius: 50% !important;
      position: absolute !important;
      left: 100% !important;
      bottom: 10px !important;
      transform: translateX(-50%) !important;
      background: var(--bv-g-047857, #047857) !important;
      border: 3px solid var(--bv-g-047857, #047857) !important;
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 8px 22px rgba(15, 23, 42, 0.16) !important;
    }
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-side-footer__main #btn-logout-dash::before {
      content: '' !important;
      position: absolute !important;
      left: 50% !important;
      top: 50% !important;
      transform: translate(-50%, -50%) !important;
      width: 18px !important;
      height: 18px !important;
      display: block !important;
      text-indent: 0 !important;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") center / contain no-repeat !important;
    }
    html.bardev-panel-theme-light .app-shell--agenda-max .nav-side-footer__main #btn-logout-dash:hover::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E") !important;
    }
    /* Huecos en el rail: miden los flotantes cuando el nodo real pasa al portal del body */
    .app-shell--agenda-max #nav-header-logo-slot {
      position: absolute !important;
      top: 10px !important;
      left: 100% !important;
      transform: translateX(-50%) !important;
      width: 75px !important;
      height: 75px !important;
      pointer-events: none;
    }
    html.bardev-panel-theme-light #view-dashboard.app-shell--agenda-max #nav-header-logo-slot > .nav-header-logo-wrap {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      transform: none !important;
      width: 100% !important;
      height: 100% !important;
      pointer-events: auto;
    }
    .app-shell--agenda-max #nav-rail-music-slot {
      position: relative;
      width: 100%;
      height: 96px;
      margin: 0 0 4px;
      pointer-events: none;
    }
    .app-shell--agenda-max #nav-rail-music-slot > .nav-rail-music {
      width: 100%;
      height: 100%;
      margin: 0;
      pointer-events: auto;
    }
    .app-shell--agenda-max #nav-logout-slot {
      position: absolute !important;
      left: 100% !important;
      bottom: 10px !important;
      transform: translateX(-50%) !important;
      width: 40px !important;
      height: 40px !important;
      pointer-events: none;
    }
    html.bardev-panel-theme-light #view-dashboard.app-shell--agenda-max #nav-logout-slot > #btn-logout-dash {
      position: relative !important;
      left: auto !important;
      bottom: auto !important;
      transform: none !important;
      width: 100% !important;
      height: 100% !important;
      pointer-events: auto;
    }
    /* Capa en body: por encima del scrim (el overlay vive fuera de #view-dashboard) */
    #nav-rail-floats {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 26000;
      pointer-events: none;
      transform: scale(var(--bardev-panel-scale, 1));
      transform-origin: top left;
      width: calc(100vw * var(--bardev-panel-scale-inv, 1));
      height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
    }
    #nav-rail-floats[hidden] {
      display: none !important;
    }
    #nav-rail-floats > *,
    #nav-rail-floats #nav-rail-floats-footer {
      pointer-events: none;
    }
    #nav-rail-floats .nav-header-logo-wrap,
    #nav-rail-floats #nav-rail-music,
    #nav-rail-floats #nav-rail-music-disc,
    #nav-rail-floats #nav-rail-music-prev,
    #nav-rail-floats #nav-rail-music-play,
    #nav-rail-floats #nav-rail-music-next,
    #nav-rail-floats #btn-logout-dash,
    #nav-rail-floats .nav-side-collapse-toggle {
      pointer-events: auto;
    }
    html.bardev-panel-theme-light #nav-rail-floats .nav-header-logo-wrap {
      background: linear-gradient(180deg, var(--c-blanco) 0%, var(--c-gris-50c) 100%) !important;
      border: 3px solid var(--c-blanco) !important;
      box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 8px 22px rgba(15, 23, 42, 0.16) !important;
      border-radius: 50% !important;
    }
    #nav-rail-floats #nav-rail-floats-footer {
      position: static;
      width: auto;
      height: auto;
      padding: 0;
      overflow: visible;
    }
    /* El shell es flex: el nav ya ocupa 52px; no añadir margin-left (duplicaba el hueco). */
    .app-shell--agenda-max .main-area {
      margin-left: 0 !important;
      width: auto !important;
      max-width: none !important;
      flex: 1 1 auto !important;
      min-width: 0 !important;
    }

    /* Vacaciones — panel dentro del overlay unificado (.bardev-modal-overlay) */
    #vac-modal .vac-modal__panel {
      width: min(96vw, 440px);
      max-width: 440px;
      box-sizing: border-box;
      background: var(--card, #0d1a14);
      border-radius: 16px;
      padding: 20px 22px 22px;
      border: 1px solid var(--border);
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

    /* Vacaciones — calendario rango (modal) */
    .vac-cal { margin-bottom: 10px; user-select: none; }
    .vac-cal-nav {
      display: flex; align-items: center; justify-content: space-between; gap: 8px;
      margin-bottom: 8px;
    }
    .vac-cal-nav button {
      background: var(--card, #0d1a14); border: 1px solid var(--border); color: var(--text);
      border-radius: 8px; padding: 6px 12px; cursor: pointer; font-size: 1rem; line-height: 1;
    }
    .vac-cal-nav button:hover { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.15); }
    .vac-cal-title { font-weight: 600; font-size: 0.95rem; text-align: center; flex: 1; }
    .vac-cal-weekdays {
      display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 4px;
      font-size: 0.68rem; color: var(--muted, #9ca3af); text-align: center;
    }
    .vac-cal-grid {
      display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px;
    }
    .vac-cal-day {
      aspect-ratio: 1; min-height: 34px; border: none; border-radius: 8px;
      background: rgba(255, 255, 255, 0.04); color: var(--text); cursor: pointer;
      font-size: 0.82rem; padding: 0; position: relative;
    }
    .vac-cal-day:hover:not(:disabled) { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.2); }
    .vac-cal-day--muted { opacity: 0.35; cursor: default; pointer-events: none; }
    .vac-cal-day--past:not(.vac-cal-day--inrange):not(.vac-cal-day--start):not(.vac-cal-day--end):not(.vac-cal-day--single),
    .vac-cal-day--blocked:not(.vac-cal-day--inrange):not(.vac-cal-day--start):not(.vac-cal-day--end):not(.vac-cal-day--single) {
      opacity: 0.42;
      cursor: not-allowed;
      text-decoration: line-through;
      background: rgba(148, 163, 184, 0.16);
      color: var(--c-pizarra-350);
    }
    .vac-cal-day--past:disabled,
    .vac-cal-day--blocked:disabled {
      cursor: not-allowed;
    }
    .vac-cal-day--inrange { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.18); }
    .vac-cal-day--start { background: var(--brand, var(--bv-g-10b981, #10b981)) !important; color: var(--c-verde-850); font-weight: 700; }
    .vac-cal-day--end { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.55) !important; color: var(--c-blanco); font-weight: 700; }
    .vac-cal-day--single { background: var(--brand, var(--bv-g-10b981, #10b981)) !important; color: var(--c-verde-850); font-weight: 700; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.35); }
    .vac-cal-hint { font-size: 0.78rem; color: var(--muted); margin: 0 0 8px; line-height: 1.35; }
    /* Superficie modal reutilizable (lista espera, factura, etc.) */
    .bardev-modal-surface {
      background: var(--card, #0d1a14);
      border-radius: 16px;
      border: 1px solid var(--border);
      box-sizing: border-box;
      padding: 22px 24px 24px;
      width: min(96vw, 600px);
      max-width: 600px;
    }
    .bardev-modal-surface--wide {
      width: min(96vw, 720px);
      max-width: 720px;
    }
    .bardev-modal-surface--xl {
      width: min(95%, 800px);
      max-width: 800px;
    }
    /* Gastos: modal ancho dos columnas (preview + formulario) */
    .bardev-modal-surface--exp {
      width: min(96vw, 1180px);
      max-width: 1180px;
    }
    #exp-modal.bardev-modal-overlay > #exp-modal-card {
      max-height: min(92dvh, calc(100dvh - max(32px, env(safe-area-inset-top, 0px)) - max(32px, env(safe-area-inset-bottom, 0px))));
    }
    .vac-summary-past { color: var(--c-pizarra-350b); }
    .vac-summary-future { color: var(--muted); }
    .vac-summary-future--has { color: var(--c-azul-300); }
    #panel-vacaciones .vac-emp-avatar {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      display: block;
    }
    #panel-vacaciones .vac-emp-avatar--sm {
      width: 32px;
      height: 32px;
    }
    #panel-vacaciones .vac-emp-avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
      font-weight: 700;
      font-size: 0.85rem;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    #panel-vacaciones .vac-emp-avatar--sm.vac-emp-avatar--ph {
      font-size: 0.72rem;
    }
    html.bardev-panel-theme-light #panel-vacaciones .vac-emp-avatar--ph {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.25);
    }
    #panel-vacaciones .vac-emp-kpi-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 6px;
    }
    #panel-vacaciones .vac-emp-kpi-head .sub {
      margin: 0;
      line-height: 1.2;
    }
    #panel-vacaciones .vac-emp-name-cell {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    #panel-vacaciones .vac-emp-name-cell strong {
      line-height: 1.25;
    }
    .vacaciones-year-cell--emp,
    .vacaciones-year-cell--slot {
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .vac-status--past { color: var(--c-pizarra-350b); }
    .vac-status--active { color: var(--bv-g-34d399, #34d399); }
    .vac-status--upcoming { color: var(--c-azul-300); }

    /* Fichajes — post-its fuera del shell; columna scrolleable + escala del panel */
    .fichaje-postit-host {
      position: fixed;
      right: 12px;
      top: max(12px, env(safe-area-inset-top, 0px));
      bottom: max(56px, calc(env(safe-area-inset-bottom, 0px) + 56px));
      z-index: 9000;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      width: min(340px, calc(100vw - 24px));
      max-width: min(340px, calc(100vw - 24px));
      min-height: 0;
      overflow: hidden;
      box-sizing: border-box;
      pointer-events: none;
      transform: none;
      /* Misma escala visual que el panel (fuera de #view-dashboard) */
      zoom: var(--bardev-panel-scale, 1);
    }
    @supports not (zoom: 1) {
      .fichaje-postit-host {
        zoom: 1;
        transform: scale(var(--bardev-panel-scale, 1));
        transform-origin: top right;
      }
    }
    /* Con modal abierto el shell sube de z-index y el blur tapa los post-its */
    body.bardev-modal-open:not(.mode-login) #view-dashboard {
      z-index: 11000;
    }
    body.mode-login .fichaje-postit-host {
      display: none !important;
    }
    .fichaje-postit-host:not(:has(.fichaje-postit)) {
      display: none;
    }
    /* Scroll real: pointer-events en el scroller (el host no los tiene → no bloquea la agenda) */
    .fichaje-postit-host__scroll {
      pointer-events: auto;
      display: flex;
      flex-direction: column-reverse;
      align-items: flex-end;
      gap: 10px;
      width: 100%;
      height: 100%;
      min-height: 0;
      max-height: 100%;
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      box-sizing: border-box;
      padding: 2px 2px 6px;
      scrollbar-gutter: stable;
    }
    .fichaje-postit-host .fichaje-postit {
      pointer-events: auto;
    }
    .fichaje-postit {
      position: relative;
      right: auto;
      bottom: auto;
      width: 100%;
      max-width: 340px;
      box-sizing: border-box;
      padding: 14px 16px 18px;
      background: linear-gradient(152deg, var(--c-amarillo-100) 0%, var(--c-ambar-250) 55%, var(--c-ambar-350) 100%);
      color: var(--c-naranja-850);
      border-radius: 10px;
      box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.16),
        0 2px 0 rgba(255, 255, 255, 0.55) inset,
        0 0 0 1px rgba(120, 53, 15, 0.22);
      border: none;
      transform: rotate(-0.6deg);
      font-size: 0.88rem;
      line-height: 1.35;
      overflow: visible;
      flex-shrink: 0;
    }
    .fichaje-postit__close-wrap {
      position: absolute;
      top: 4px;
      right: 6px;
      z-index: 2;
    }
    .fichaje-postit__close-wrap .bardev-modal-close {
      width: 32px;
      height: 32px;
      font-size: 1.15rem;
    }
    .fichaje-postit__clock {
      font-size: 2.05rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.02em;
      margin: 0 0 4px;
      padding-right: 20px;
      line-height: 1.1;
      color: var(--c-naranja-850);
    }
    .fichaje-postit__countdown {
      display: block;
      margin: 0 0 10px;
      padding-right: 20px;
      min-height: 1.35em;
      font-size: 0.9rem;
      font-weight: 700;
      line-height: 1.35;
      color: #3a1f08;
      letter-spacing: 0.01em;
    }
    .fichaje-postit__countdown.hidden {
      display: none !important;
    }
    .fichaje-postit__meta {
      margin: 0 0 8px;
      padding-right: 20px;
      font-size: 0.82rem;
      font-weight: 600;
      line-height: 1.3;
    }
    .fichaje-postit__text { margin: 0 0 10px; padding-right: 20px; font-size: 0.82rem; }
    .fichaje-postit__actions {
      display: flex;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 0;
      margin-top: 4px;
    }
    .fichaje-postit__actions .fichaje-postit-action {
      flex: 1 1 100%;
      width: 100%;
      min-width: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 44px;
      padding: 10px 14px !important;
      font-weight: 700;
      font-size: 0.92rem;
    }
    .fichaje-postit__actions .fichaje-postit-action__txt {
      line-height: 1.1;
    }
    .fichaje-postit__actions .fichaje-postit-action svg {
      width: 22px;
      height: 22px;
      display: block;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.25;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .fichaje-postit__actions .fichaje-postit-action--in {
      background: var(--c-verde-650) !important;
      border-color: var(--c-verde-700) !important;
      color: var(--c-blanco) !important;
    }
    .fichaje-postit__actions .fichaje-postit-action--out {
      background: var(--c-naranja-500) !important;
      border-color: var(--c-naranja-600) !important;
      color: var(--c-blanco) !important;
    }
    #fichajes-table .fichajes-punch-btn svg {
      width: 16px;
      height: 16px;
    }
    #fichajes-table .fichajes-punch-btn--in.btn-icon--ok svg,
    #fichajes-table .fichajes-punch-btn--in.btn-icon--ok svg * {
      stroke: var(--c-verde-650) !important;
    }
    #fichajes-table .fichajes-punch-btn--out svg,
    #fichajes-table .fichajes-punch-btn--out svg * {
      stroke: var(--c-naranja-500) !important;
    }
    .fichaje-postit .btn {
      width: auto;
      margin: 0;
      padding: 8px 14px;
      font-size: 0.82rem;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    }
    .fichaje-postit__snooze-block {
      margin-top: 10px;
      padding-right: 76px;
    }
    .fichaje-postit__snooze-capsule {
      display: block;
      margin: 0 0 6px;
      font-size: 0.68rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      line-height: 1.2;
      color: rgba(124, 45, 18, 0.72);
    }
    .fichaje-postit__snooze-quick {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
    }
    .fichaje-postit-snooze-min {
      appearance: none;
      margin: 0;
      padding: 6px 10px;
      font: inherit;
      font-size: 0.78rem;
      font-weight: 700;
      border-radius: 8px;
      cursor: pointer;
      min-width: 2.5rem;
      text-align: center;
      line-height: 1.2;
      box-shadow: 0 1px 3px rgba(124, 45, 18, 0.22);
      transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
    }
    /* +2 … +15: de casi amarillo a naranja más intenso */
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='2'] {
      border: 1px solid rgba(253, 230, 138, 0.95);
      background: linear-gradient(180deg, var(--c-ambar-50) 0%, var(--c-amarillo-100) 35%, var(--c-amarillo-250) 100%);
      color: var(--c-naranja-750);
      -webkit-text-fill-color: var(--c-naranja-750);
      box-shadow: 0 1px 2px rgba(180, 83, 9, 0.15);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='2']:hover {
      background: linear-gradient(180deg, var(--c-amarillo-50) 0%, var(--c-amarillo-250) 40%, var(--c-amarillo-350) 100%);
      border-color: #eab308;
      color: var(--c-naranja-850);
      -webkit-text-fill-color: var(--c-naranja-850);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='5'] {
      border: 1px solid var(--c-naranja-400);
      background: linear-gradient(180deg, var(--c-naranja-100) 0%, var(--c-naranja-150) 30%, var(--c-naranja-300) 100%);
      color: var(--c-naranja-700);
      -webkit-text-fill-color: var(--c-naranja-700);
      box-shadow: 0 1px 3px rgba(234, 88, 12, 0.28);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='5']:hover {
      background: linear-gradient(180deg, var(--c-naranja-150) 0%, var(--c-naranja-300) 45%, var(--c-naranja-400) 100%);
      border-color: var(--c-naranja-500);
      color: var(--c-naranja-850b);
      -webkit-text-fill-color: var(--c-naranja-850b);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='10'] {
      border: 1px solid var(--c-naranja-500);
      background: linear-gradient(180deg, var(--c-naranja-300) 0%, var(--c-naranja-400) 45%, var(--c-naranja-450) 100%);
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      box-shadow: 0 1px 4px rgba(194, 65, 12, 0.45);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='10']:hover {
      background: linear-gradient(180deg, var(--c-naranja-400) 0%, var(--c-naranja-450) 50%, var(--c-naranja-500) 100%);
      border-color: var(--c-naranja-600);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='15'] {
      border: 1px solid var(--c-naranja-650);
      background: linear-gradient(180deg, var(--c-naranja-450) 0%, var(--c-naranja-500) 40%, var(--c-naranja-600) 100%);
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      box-shadow: 0 2px 5px rgba(124, 45, 18, 0.5);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='15']:hover {
      background: linear-gradient(180deg, var(--c-naranja-500) 0%, var(--c-naranja-600) 55%, var(--c-naranja-650) 100%);
      border-color: var(--c-naranja-700);
    }
    .fichaje-postit-snooze-min:active {
      transform: translateY(1px);
      box-shadow: 0 1px 2px rgba(124, 45, 18, 0.35);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='2']:active,
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='5']:active {
      filter: brightness(0.94);
    }
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='10']:active,
    .fichaje-postit-snooze-min[data-fichaje-snooze-min='15']:active {
      filter: brightness(0.92);
    }
    .fichaje-postit-snooze-min:focus-visible {
      outline: 2px solid var(--c-naranja-500);
      outline-offset: 2px;
    }
    .fichaje-postit__avatar {
      position: absolute;
      right: 12px;
      bottom: 12px;
      width: 68px;
      height: 68px;
      border-radius: 50%;
      object-fit: cover;
      border: 3px solid var(--c-naranja-50);
      box-shadow:
        0 0 0 2px rgba(120, 53, 15, 0.28),
        0 6px 16px rgba(0, 0, 0, 0.2);
      z-index: 3;
      pointer-events: none;
    }
    .fichaje-postit__avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(145deg, var(--c-naranja-700b), var(--c-naranja-750b));
      color: var(--c-amarillo-100);
      font-weight: 800;
      font-size: 1.45rem;
      line-height: 1;
    }
    .fichaje-pin-card {
      position: relative;
      width: min(92vw, 360px);
      padding: 22px 20px 18px;
      border-radius: 16px;
      background: var(--card);
      border: 1px solid var(--border);
      box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
    }
    .fichaje-pin-card h3 {
      margin: 0 0 6px;
      font-size: 1.05rem;
    }
    .fichaje-pin-card .sub {
      margin: 0 0 14px;
      font-size: 0.82rem;
      line-height: 1.35;
    }
    .fichaje-pin-card #fichaje-pin-sub {
      margin-bottom: 8px;
    }
    .fichaje-pin-card #fichaje-pin-sub .fichaje-pin-who {
      font-weight: 700;
      font-size: calc(1em + 1pt);
    }
    .fichaje-pin-hint {
      margin: 0 0 12px !important;
      color: var(--bd-ink-soft, var(--muted));
    }
    .fichaje-pin-hint strong {
      color: var(--bd-ink, var(--text));
      font-weight: 700;
    }
    .fichaje-pin-input {
      width: 100%;
      box-sizing: border-box;
      text-align: center;
      letter-spacing: 0.35em;
      font-size: 1.6rem;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      color: var(--text);
    }
    html.bardev-panel-theme-light .fichaje-pin-input {
      background: var(--c-gris-50f);
    }
    .fichaje-pin-input.is-nfc {
      letter-spacing: 0.08em;
      font-size: 1.15rem;
    }
    .fichaje-pin-input.is-error,
    html.bardev-panel-theme-light .fichaje-pin-input.is-error {
      border-color: var(--c-rojo-500) !important;
      box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
      background: var(--c-rojo-50b);
    }
    .fichaje-pin-error {
      margin: 10px 0 0;
      min-height: 1.2em;
    }
    .fichaje-pin-error.msg.err {
      display: block;
      margin-top: 10px;
      color: var(--c-rojo-600);
      background: var(--c-rojo-50b);
      border: 1px solid rgba(220, 38, 38, 0.35);
    }
    .fichaje-pin-error.hidden {
      display: none !important;
    }
    .fichaje-pin-actions {
      display: flex;
      gap: 8px;
      margin-top: 14px;
    }
    .fichaje-pin-actions .btn {
      flex: 1;
      margin: 0;
    }

    /* Agenda — topbar: reloj + lista espera (izq) | Ir a hoy + ‹ fecha › centro | acciones (der) */
    .agenda-topbar {
      display: grid;
      align-items: center;
      align-content: center;
      gap: 8px 10px;
      padding: 8px 10px;
      border-bottom: 1px solid var(--border);
      margin-bottom: 0;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      position: relative;
    }
    .agenda-topbar__waitlist-center:has(#agenda-waitlist-date-pill.hidden) {
      display: none !important;
    }
    .agenda-topbar__waitlist-center {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      flex-shrink: 0;
      min-width: 0;
    }
    /* Con agenda activa: el shell y el main rellenan el viewport para que la cuadrícula no quede recortada por doble scroll. */
    .app-shell:has(#panel-agenda.active) {
      height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      max-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      min-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      overflow: hidden;
      box-sizing: border-box;
    }
    .main-area:has(#panel-agenda.active) {
      flex: 1 1 0%;
      min-height: 0;
      max-width: none;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      padding: 10px 20px 12px;
      box-sizing: border-box;
    }
    #panel-agenda.active {
      display: flex;
      flex-direction: column;
      flex: 1 1 0%;
      /* height:0 + flex:1 → ocupa todo el alto restante del main (evita hueco blanco inferior) */
      height: 0;
      min-height: 0;
      max-height: none;
      overflow: hidden;
    }
    #panel-agenda .agenda-topbar { flex-shrink: 0; }
    #panel-agenda .agenda-grid-outer {
      flex: 1 1 0%;
      height: 0;
      max-height: none;
      min-height: 0;
    }
    #panel-agenda #msg-agenda { flex-shrink: 0; }
    .agenda-topbar__left {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 6px;
      flex-wrap: wrap;
      justify-self: start;
      align-self: center;
      min-width: 0;
    }
    /* Logo Barveo solo con agenda maximizada (sin menú lateral), a la izquierda de «Hoy».
       Tamaño acorde a FAB/pastilla para centrarlo en la cabecera (evita círculo enorme que rompe el eje vertical). */
    .agenda-mxbardev-logo-wrap {
      display: none !important;
      width: 48px;
      height: 48px;
      flex-shrink: 0;
      border-radius: 50%;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.06);
      align-items: center;
      justify-content: center;
      align-self: center;
      margin-right: 6px;
      box-sizing: border-box;
    }
    .app-shell--agenda-max .agenda-mxbardev-logo-wrap {
      display: none !important;
    }
    .agenda-mxbardev-logo {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center center;
      border-radius: 50%;
      display: block;
      margin: 0;
    }
    .agenda-mxbardev-logo-ph {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--muted);
      line-height: 1;
    }
    .agenda-topbar__center {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 8px 10px;
      flex-wrap: nowrap;
      min-width: 0;
      justify-self: center;
      position: relative;
    }
    .agenda-topbar__right {
      display: flex;
      align-items: center;
      gap: 10px;
      justify-self: end;
      min-width: 0;
    }
    .agenda-topbar__fab-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      flex-shrink: 0;
    }
    .agenda-topbar__arrow {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: transparent;
      color: var(--text);
      font-size: 1.2rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.15s;
    }
    .agenda-topbar__arrow:hover { background: rgba(255,255,255,0.08); }
    .agenda-topbar__date {
      font-size: 0.95rem;
      font-weight: 600;
      white-space: nowrap;
      cursor: pointer;
      padding: 4px 8px;
      border-radius: 8px;
      transition: background 0.15s;
    }
    .agenda-topbar__date:hover { background: rgba(255,255,255,0.06); }
    .agenda-waitlist-date-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 12px;
      border: 1px solid rgba(251, 191, 36, 0.48);
      border-radius: 999px;
      background: rgba(251, 191, 36, 0.14);
      color: var(--c-ambar-250);
      font-size: 0.78rem;
      font-weight: 800;
      cursor: pointer;
      white-space: nowrap;
    }
    .agenda-waitlist-date-pill:hover { background: rgba(251, 191, 36, 0.22); }
    .agenda-waitlist-date-pill__dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--c-ambar-450b);
      box-shadow: 0 0 0 4px rgba(251, 191, 36, 0.15);
    }
    @keyframes agenda-wl-pill-blink {
      0%, 40% { opacity: 1; filter: brightness(1); box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.35); }
      45%, 90% { opacity: 0.25; filter: brightness(1.6); box-shadow: 0 0 0 6px rgba(251, 191, 36, 0.55); }
      100% { opacity: 1; filter: brightness(1); box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.35); }
    }
    .agenda-waitlist-date-pill--alert {
      animation: agenda-wl-pill-blink 0.5s ease-in-out infinite;
      border-color: rgba(251, 191, 36, 0.95);
    }
    .agenda-waitlist-date-pill--alert .agenda-waitlist-date-pill__dot {
      animation: agenda-wl-pill-blink 0.5s ease-in-out infinite;
      box-shadow: 0 0 0 5px rgba(251, 191, 36, 0.45);
    }
    /* Parpadeo temporal al detectar actividad del usuario (5 s). */
    .agenda-waitlist-date-pill--presence-blink {
      animation: agenda-wl-pill-blink 0.5s ease-in-out infinite;
      border-color: rgba(251, 191, 36, 0.95);
    }
    .agenda-waitlist-date-pill--presence-blink .agenda-waitlist-date-pill__dot {
      animation: agenda-wl-pill-blink 0.5s ease-in-out infinite;
      box-shadow: 0 0 0 5px rgba(251, 191, 36, 0.45);
    }
    .agenda-waitlist-detail-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 520px;
      margin: 0 auto;
    }
    .agenda-waitlist-detail-card {
      position: relative;
      border: 1px solid color-mix(in srgb, var(--c-naranja-500b) 36%, var(--border, rgba(255, 255, 255, 0.1)));
      border-radius: 16px;
      padding: 0;
      background: linear-gradient(145deg, rgba(251, 191, 36, 0.12) 0%, rgba(15, 23, 42, 0.45) 100%);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
      overflow: hidden;
    }
    .agenda-wl-card__grid {
      display: grid;
      grid-template-columns: 48px 1fr;
      gap: 10px 12px;
      align-items: stretch;
      padding: 12px 12px 10px;
    }
    .agenda-wl-card__ava {
      align-self: start;
    }
    .agenda-wl-user-av {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 800;
      color: var(--c-ambar-250);
      background: linear-gradient(135deg, rgba(251, 191, 36, 0.35), rgba(120, 53, 15, 0.5));
      border: 2px solid rgba(251, 191, 36, 0.45);
      flex-shrink: 0;
      overflow: hidden;
    }
    .agenda-wl-user-av--photo {
      padding: 0;
      border: 2px solid rgba(251, 191, 36, 0.5);
    }
    .agenda-wl-user-av--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .agenda-wl-card__body {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .agenda-wl-card__row--title {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
    }
    .agenda-wl-card__name {
      font-weight: 850;
      font-size: 0.95rem;
      line-height: 1.2;
      color: var(--text, #e7e5e4);
    }
    .agenda-wl-card__head-actions {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
      min-width: 0;
    }
    .agenda-wl-card__row--contact {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 14px;
    }
    .agenda-wl-card__phone {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--c-ambar-250);
      text-decoration: none;
      font-size: 0.8rem;
      font-weight: 700;
    }
    .agenda-wl-card__phone:hover { filter: brightness(1.1); }
    .agenda-wl-ico {
      flex-shrink: 0;
      stroke: var(--c-ambar-450b);
      opacity: 0.95;
    }
    .agenda-wl-card__phone-num {
      max-width: 200px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .agenda-wl-arrive {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--muted, #a8a29e);
      padding: 2px 8px;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.2);
    }
    .agenda-wl-arrive__n { color: var(--c-gris-100d); }
    .agenda-wl-card__service {
      margin: 0;
      font-size: 0.75rem;
      line-height: 1.3;
      color: color-mix(in srgb, var(--text, #e7e5e4) 80%, transparent);
    }
    .agenda-wl-badges {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .agenda-wl-badges__line {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
    }
    .agenda-wl-badges__lbl {
      width: 2.4rem;
      font-size: 0.6rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(253, 230, 138, 0.55);
    }
    .agenda-wl-badges__chips {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      min-width: 0;
    }
    .agenda-wl-pro {
      margin: 4px 0 0;
      font-size: 0.82rem;
      line-height: 1.35;
      color: var(--text, #e7e5e4);
    }
    .agenda-wl-pro__label {
      font-weight: 600;
      opacity: 0.88;
    }
    .agenda-wl-pro__name {
      font-weight: 750;
    }
    .agenda-wl-card__notes {
      margin: 0;
      padding: 8px 12px 10px;
      font-size: 0.72rem;
      line-height: 1.45;
      color: var(--muted, #a8a29e);
      border-top: 1px solid rgba(255, 255, 255, 0.06);
      background: rgba(0, 0, 0, 0.15);
    }
    .agenda-wl-card__notes-lbl {
      display: block;
      font-size: 0.58rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(253, 230, 138, 0.45);
      margin-bottom: 2px;
    }
    .agenda-waitlist-detail-card__head {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 8px;
    }
    .agenda-waitlist-detail-card__head-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 6px 8px;
    }
    .agenda-wl-status-select {
      min-width: 0;
      max-width: 100%;
      font-size: 0.7rem;
      font-weight: 700;
      padding: 3px 6px;
      border-radius: 8px;
      border: 1px solid rgba(251, 191, 36, 0.4);
      background: rgba(0, 0, 0, 0.2);
      color: var(--text);
      cursor: pointer;
    }
    .agenda-wl-discard-btn {
      width: 100%;
      font-size: 0.7rem !important;
      font-weight: 700 !important;
      padding: 4px 8px !important;
      line-height: 1.2;
      border-radius: 8px;
      white-space: nowrap;
    }
    .agenda-wl-book-btn {
      width: auto;
      align-self: stretch;
      font-size: 0.7rem !important;
      font-weight: 800 !important;
      padding: 4px 10px !important;
      line-height: 1.2;
      border-radius: 8px;
      white-space: nowrap;
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.55) !important;
      background: linear-gradient(180deg, rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.95), rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.92)) !important;
      color: var(--bv-g-ecfdf5, #ecfdf5) !important;
      -webkit-text-fill-color: var(--bv-g-ecfdf5, #ecfdf5) !important;
    }
    .agenda-wl-book-btn:hover:not(:disabled) {
      filter: brightness(1.06);
    }
    /* Confirmación cita desde fantasma / lista de espera en agenda */
    .agenda-wl-ghost-confirm {
      position: fixed;
      inset: 0;
      z-index: 10030;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      box-sizing: border-box;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    /* Por encima de #agenda-modal pinneado (content-pin z-index 21040) */
    #agenda-m-occupied-time-dialog.agenda-wl-ghost-confirm,
    #agenda-m-occupied-time-dialog.bardev-overlay--content-pin,
    #agenda-gap-choice-dialog.agenda-wl-ghost-confirm,
    #agenda-gap-choice-dialog.bardev-overlay--content-pin {
      z-index: 21055 !important;
    }
    .agenda-wl-ghost-confirm.hidden {
      display: none !important;
    }
    .agenda-wl-ghost-confirm__panel {
      max-width: 440px;
      width: 100%;
      padding: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      border-radius: 22px;
      background: var(--card, #0d1a14);
      color: var(--text, #e2e8f0);
      border: 1px solid var(--border, rgba(148, 163, 184, 0.35));
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    }
    .agenda-wl-ghost-confirm__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0;
      padding: 14px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex-shrink: 0;
    }
    .agenda-wl-ghost-confirm__title {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: inherit;
    }
    .agenda-wl-ghost-confirm__body {
      padding: 18px 16px 8px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .agenda-wl-ghost-confirm__msg {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 600;
      line-height: 1.45;
      color: inherit;
    }
    .agenda-wl-ghost-confirm__details {
      margin: 0;
      padding: 10px 12px;
      list-style: none;
      font-size: 0.82rem;
      line-height: 1.5;
      border-radius: 14px;
      background: rgba(148, 163, 184, 0.1);
      border: 1px solid rgba(148, 163, 184, 0.22);
    }
    .agenda-wl-ghost-confirm__details li {
      margin: 0 0 4px;
    }
    .agenda-wl-ghost-confirm__details li:last-child {
      margin-bottom: 0;
    }
    .agenda-wl-ghost-confirm__details span {
      display: inline-block;
      min-width: 5.2rem;
      font-weight: 700;
      opacity: 0.72;
    }
    .agenda-wl-ghost-confirm__opts {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin: 4px 0 0;
    }
    .agenda-wl-ghost-confirm__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: stretch;
      justify-content: stretch;
      padding: 12px 16px 16px;
      border-top: 1px solid rgba(148, 163, 184, 0.22);
      margin: 0;
    }
    .agenda-wl-ghost-confirm__actions .bd-btn,
    .agenda-wl-ghost-confirm__actions .btn,
    .agenda-wl-ghost-confirm__opts .bd-btn,
    .agenda-wl-ghost-confirm__opts .btn {
      width: auto;
      flex: 1 1 auto;
      min-width: 0;
      margin: 0;
      justify-content: center;
      text-align: center;
      white-space: normal;
      line-height: 1.3;
    }
    .agenda-wl-ghost-confirm__actions .bd-btn--solid,
    .agenda-wl-ghost-confirm__opts .bd-btn--solid {
      flex: 1 1 100%;
    }
    .agenda-wl-ghost-reject-btn {
      border-color: rgba(239, 68, 68, 0.45) !important;
      color: var(--c-rojo-200) !important;
      -webkit-text-fill-color: var(--c-rojo-200) !important;
    }
    .agenda-wl-ghost-reject-btn:hover:not(:disabled) {
      background: rgba(239, 68, 68, 0.14) !important;
      border-color: rgba(239, 68, 68, 0.65) !important;
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__panel.bd-panel,
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__panel {
      background: var(--bd-n-0);
      color: var(--bd-ink);
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-xl);
      box-shadow: var(--bd-shadow-xl);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__head {
      border-bottom: 1px solid var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100);
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__title {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__body {
      background: var(--bd-n-0);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__msg {
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__details {
      background: var(--bd-n-50);
      border-color: var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__actions {
      border-top: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__actions .bd-btn--ghost,
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__opts .bd-btn--ghost {
      min-height: 44px;
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__actions .bd-btn--solid,
    html.bardev-panel-theme-light .agenda-wl-ghost-confirm__opts .bd-btn--solid {
      min-height: var(--bd-cta-h);
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-reject-btn.bd-btn {
      color: var(--bd-danger-fg) !important;
      -webkit-text-fill-color: var(--bd-danger-fg) !important;
      border-color: var(--bd-danger-bd) !important;
      background: var(--bd-danger-bg) !important;
    }
    html.bardev-panel-theme-light .agenda-wl-ghost-reject-btn.bd-btn:hover:not(:disabled) {
      background: var(--c-rojo-100) !important;
      border-color: var(--c-rojo-300) !important;
    }
    .agenda-rec-incidents {
      position: fixed;
      inset: 0;
      /* Por encima de .modal-overlay (20000), p. ej. #agenda-modal al crear serie recurrente */
      z-index: 20010;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .agenda-rec-incidents.hidden {
      display: none !important;
    }
    .agenda-rec-incidents__panel {
      max-width: 480px;
      width: 100%;
      max-height: min(90vh, 640px);
      overflow: auto;
      padding: 18px 20px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--card);
      box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
    }
    .agenda-rec-incidents__panel h4 {
      margin: 0 0 8px;
      font-size: 1.05rem;
    }
    .agenda-rec-incidents__summary {
      margin: 0 0 12px;
      font-size: 0.84rem;
      line-height: 1.4;
      color: var(--muted);
    }
    .agenda-rec-incidents__date {
      margin: 0 0 4px;
      font-weight: 700;
      font-size: 0.92rem;
    }
    .agenda-rec-incidents__reason {
      margin: 0 0 12px;
      font-size: 0.8rem;
      line-height: 1.35;
      color: var(--c-ambar-450b);
    }
    .agenda-rec-incidents__apply-all {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 14px;
      font-size: 0.84rem;
      cursor: pointer;
    }
    .agenda-rec-incidents__opts {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-bottom: 12px;
      font-size: 0.84rem;
    }
    .agenda-rec-incidents__opts label {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      cursor: pointer;
      line-height: 1.35;
    }
    .agenda-rec-incidents__opts label.is-disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    .agenda-rec-incidents__alt-emp {
      width: 100%;
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.12);
      color: inherit;
      font: inherit;
      box-sizing: border-box;
    }
    .agenda-rec-incidents__progress {
      margin: 0 0 12px;
      font-size: 0.76rem;
      color: var(--muted);
    }
    .agenda-rec-incidents__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
      margin-top: 8px;
    }
    html.bardev-panel-theme-light .agenda-rec-incidents__panel {
      background: var(--c-blanco);
    }
    /* Editar un bloqueo de «Asuntos personales» al pulsarlo en la agenda (titular, 24-10-2026). */
    .agenda-bloqueo-editar__panel {
      max-width: 480px;
    }
    .agenda-bloqueo-editar__campos {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px 14px;
      margin: 0 0 10px;
    }
    .agenda-bloqueo-editar__motivo {
      grid-column: 1 / -1;
    }
    .agenda-bloqueo-editar__campos input {
      width: 100%;
      box-sizing: border-box;
    }
    .agenda-bloqueo-editar__nota {
      margin: 0 0 10px;
    }
    .agenda-bloqueo-editar__quitar {
      color: var(--bv-danger, #c8463d);
    }
    /* Citas que coinciden con un bloqueo de «Asuntos personales» (titular, 24-10-2026). */
    .agenda-bloqueo-solapes__panel {
      max-width: 720px;
      max-height: min(92vh, 780px);
      display: flex;
      flex-direction: column;
    }
    /* Título a la altura de la × (titular, 24-10-2026: cabeceras descuadradas). */
    .agenda-bloqueo-solapes__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 8px;
    }
    .agenda-bloqueo-solapes__head > h4 {
      margin: 0;
    }
    .agenda-bloqueo-solapes__global {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 10px 18px;
      margin: 0 0 12px;
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 10px;
    }
    .agenda-bloqueo-solapes__campo {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .agenda-bloqueo-solapes__lbl {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .agenda-bloqueo-solapes__todas {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
    }
    .agenda-bloqueo-solapes select {
      max-width: 100%;
      padding: 7px 8px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
      color: var(--text);
      font-size: 0.82rem;
      text-transform: none;
    }
    .agenda-bloqueo-solapes__cargando {
      margin: 0 0 10px;
    }
    .agenda-bloqueo-solapes__lista {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin: 0 0 12px;
      padding: 0;
      list-style: none;
    }
    .agenda-bloqueo-solapes__item {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 10px;
    }
    .agenda-bloqueo-solapes__cita {
      font-size: 0.86rem;
      line-height: 1.4;
    }
    .agenda-bloqueo-solapes__svc {
      color: var(--muted);
    }
    .agenda-bloqueo-solapes__etq {
      display: inline-block;
      padding: 1px 8px;
      border-radius: 999px;
      background: var(--bv-primary-soft, var(--ds-surface-2));
      color: var(--bv-primary-soft-text, var(--text));
      font-size: 0.7rem;
      font-weight: 700;
    }
    .agenda-bloqueo-solapes__elige {
      display: grid;
      grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
      gap: 8px;
    }
    .agenda-bloqueo-solapes__elige select {
      width: 100%;
      min-width: 0;
    }
    .agenda-bloqueo-solapes__elige select:disabled {
      opacity: 0.55;
    }
    .agenda-bloqueo-solapes .btn {
      margin: 0;
    }
    .agenda-bloqueo-solapes .agenda-rec-incidents__actions {
      align-items: center;
    }
    @media (max-width: 560px) {
      .agenda-bloqueo-solapes__elige {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    html.bardev-panel-theme-light .agenda-rec-incidents__alt-emp {
      background: var(--c-gris-50f);
    }
    /* Por encima del detalle de cita pinneado (content-pin z-index 21040). */
    #agenda-rec-change-dialog.agenda-rec-incidents,
    #agenda-rec-change-dialog.bardev-overlay--content-pin {
      z-index: 21055 !important;
    }
    /* Incidencias siempre por encima del modal «Cambiar frecuencia». */
    #agenda-rec-incidents-dialog.agenda-rec-incidents,
    #agenda-rec-incidents-dialog.bardev-overlay--content-pin {
      z-index: 21060 !important;
    }
    /* «Citas que coinciden» con un bloqueo, por encima de «Asuntos personales» (#agenda-modal) y de «Editar bloqueo»,
       los dos fijados al contenido (z-index 21040, visibility visible !important): se abría debajo y el formulario se
       quedaba en «Guardando…» esperando una respuesta que no se veía (titular, 24-10-2026). */
    #agenda-bloqueo-solapes.agenda-rec-incidents,
    #agenda-bloqueo-solapes.bardev-overlay--content-pin {
      z-index: 21060 !important;
    }
    /* Cambiar frecuencia — Estilo Barveo (cabecera / cuerpo / pie) */
    #agenda-rec-change-dialog .agenda-rec-incidents__panel,
    #agenda-rec-change-dialog .agenda-rec-change-panel {
      max-width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      width: 100%;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      );
      padding: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      border-radius: var(--bd-radius-xl, 22px);
    }
    #agenda-rec-change-dialog .agenda-rec-change-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex: 0 0 auto;
    }
    #agenda-rec-change-dialog .agenda-rec-change-head h4 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
    }
    #agenda-rec-change-dialog .agenda-rec-change-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      padding: 14px 16px 12px;
      box-sizing: border-box;
    }
    #agenda-rec-change-dialog .agenda-rec-change-foot {
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
    }
    #agenda-rec-change-dialog .agenda-rec-change-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-change-panel.bd-panel,
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-change-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-change-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-change-head h4 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-change-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-change-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-rec-incidents__summary,
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-recurrence-foot {
      color: var(--bd-ink-soft, #3d5248);
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog .agenda-recurrence-modes label {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #agenda-rec-change-dialog input[type='number'],
    html.bardev-panel-theme-light #agenda-rec-change-dialog input[type='date'] {
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    /* Por encima del detalle pinneado (content-pin 21040). No entrar en esa capa. */
    .agenda-cancel-scope {
      position: fixed;
      inset: 0;
      z-index: 46000 !important;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      pointer-events: auto !important;
    }
    .agenda-cancel-scope.hidden {
      display: none !important;
    }
    .agenda-cancel-scope__panel {
      position: relative;
      z-index: 1;
      max-width: 420px;
      width: 100%;
      padding: 18px 20px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--card);
      box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
      pointer-events: auto !important;
    }
    .agenda-cancel-scope__actions .btn,
    .agenda-confirm-dialog .bardev-modal-close {
      pointer-events: auto !important;
      position: relative;
      z-index: 2;
    }
    .agenda-cancel-scope__panel h4 {
      margin: 0 0 10px;
      font-size: 1rem;
    }
    .agenda-cancel-scope__msg {
      margin: 0;
      font-size: 0.88rem;
      line-height: 1.45;
      color: var(--text);
    }
    .agenda-cancel-scope__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
      margin-top: 16px;
    }
    .agenda-cancel-scope__actions .btn {
      width: auto !important;
      flex: 0 0 auto;
      margin: 0;
      padding: 10px 16px;
      font-size: 0.84rem;
      font-weight: 700;
      letter-spacing: 0.02em;
    }
    html.bardev-panel-theme-light .agenda-cancel-scope__panel {
      background: var(--c-blanco);
    }
    .agenda-confirm-dialog {
      z-index: 46000 !important;
    }
    body.bardev-modal-open > .agenda-cancel-scope:not(.hidden),
    .agenda-cancel-scope.bardev-overlay--content-pin:not(.hidden),
    body.bardev-modal-open > .agenda-cancel-scope.bardev-overlay--content-pin:not(.hidden) {
      z-index: 46000 !important;
    }
    #agenda-detail-modal[data-agenda-confirm-under='1'] {
      pointer-events: none !important;
    }
    .agenda-confirm-dialog__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 10px;
    }
    .agenda-confirm-dialog__head h4 {
      margin: 0;
    }
    .agenda-confirm-dialog__logo {
      display: flex;
      justify-content: center;
      margin: 0 0 14px;
    }
    .agenda-confirm-dialog__logo.hidden {
      display: none !important;
    }
    .agenda-confirm-dialog__logo img {
      width: 150px;
      height: 150px;
      max-width: min(150px, calc(100vw - 80px));
      max-height: min(150px, calc(100vw - 80px));
      object-fit: cover;
      object-position: center;
      border-radius: 50%;
    }
    .agenda-confirm-dialog--with-logo .agenda-cancel-scope__panel {
      max-width: min(600px, calc(100vw - 32px));
    }
    .agenda-confirm-dialog--with-logo .agenda-confirm-dialog__head {
      justify-content: center;
      position: relative;
      padding-right: 44px;
    }
    .agenda-confirm-dialog--with-logo .agenda-confirm-dialog__head .bardev-modal-close {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
    }
    .agenda-confirm-dialog--no-close .agenda-confirm-dialog__head .bardev-modal-close {
      display: none;
    }
    .agenda-confirm-dialog--no-close.agenda-confirm-dialog--with-logo .agenda-confirm-dialog__head {
      padding-right: 0;
    }
    .agenda-confirm-dialog--center-msg .agenda-cancel-scope__msg {
      text-align: center;
      white-space: pre-line;
    }
    .agenda-waitlist-detail-card__name { font-weight: 850; color: var(--text); }
    .agenda-waitlist-detail-card__meta {
      margin: 0 0 4px;
      font-size: 0.82rem;
      line-height: 1.35;
    }
    .agenda-waitlist-days-list {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      margin-top: 6px;
    }
    .agenda-waitlist-day-chip {
      padding: 2px 7px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.1);
      font-size: 0.72rem;
      font-weight: 700;
    }
    .agenda-waitlist-day-chip--bookable {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.22) !important;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.55);
      color: var(--bv-g-6ee7b7, #6ee7b7);
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.15);
      animation: agenda-wl-pill-blink 0.5s ease-in-out infinite;
    }
    .waitlist-status-badge--bookable {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.28);
      color: var(--bv-g-6ee7b7, #6ee7b7);
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.65);
      animation: agenda-wl-pill-blink 0.5s ease-in-out infinite;
    }
    .agenda-waitlist-day-chip--current {
      background: rgba(251, 191, 36, 0.28);
      color: var(--c-ambar-250);
    }
    .agenda-topbar__date-input {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
      pointer-events: none;
    }
    .agenda-topbar__pill {
      padding: 5px 14px;
      border-radius: 20px;
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.4);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.12);
      color: var(--nav-active-text);
      font-size: 0.8rem;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.15s;
      white-space: nowrap;
    }
    .agenda-topbar__pill:hover { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.25); }
    /* Cápsula TPV (empareje panel ↔ dispositivo) */
    .bardev-tpv-capsule {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      border-radius: 999px;
      padding: 6px 12px;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      border: 1.5px solid transparent;
      cursor: pointer;
      transition: background 0.15s, color 0.15s, border-color 0.15s;
    }
    .bardev-tpv-capsule__label {
      position: relative;
    }
    .bardev-tpv-capsule__icon {
      display: inline-flex;
      line-height: 0;
      text-decoration: none !important;
    }
    .bardev-tpv-capsule--off {
      background: rgba(239, 68, 68, 0.18);
      color: var(--c-rojo-100);
      border-color: rgba(248, 113, 113, 0.55);
    }
    .bardev-tpv-capsule--off .bardev-tpv-capsule__label::after {
      content: '';
      position: absolute;
      left: -2px;
      right: -2px;
      top: 50%;
      height: 2px;
      background: currentColor;
      transform: rotate(-12deg);
      opacity: 0.9;
      pointer-events: none;
    }
    .bardev-tpv-capsule--off .bardev-tpv-capsule__icon {
      opacity: 0.85;
    }
    .bardev-tpv-capsule--on {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.28);
      color: var(--bv-g-6ee7b7, #6ee7b7);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.85);
    }
    .bardev-tpv-capsule--on .bardev-tpv-capsule__label::after {
      content: none !important;
      display: none !important;
    }
    html.bardev-panel-theme-light .bardev-tpv-capsule--off {
      background: rgba(254, 226, 226, 0.95);
      color: var(--c-rojo-600);
      border-color: var(--c-rojo-300);
    }
    html.bardev-panel-theme-light .bardev-tpv-capsule--on {
      background: var(--bv-g-d1fae5, #d1fae5);
      color: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-10b981, #10b981);
    }
    #bardev-tpv-modal .bardev-tpv-modal-panel {
      width: min(360px, 92vw);
      background: var(--c-blanco);
      color: var(--c-azul-900c);
      border-radius: 16px;
      padding: 18px 16px 14px;
      position: relative;
      border: 1px solid var(--c-gris-100c);
      box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
      height: auto !important;
      max-height: none !important;
      flex: 0 0 auto !important;
      overflow: visible !important;
    }
    #bardev-tpv-modal .bardev-tpv-modal-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 6px;
    }
    #bardev-tpv-modal .bardev-tpv-modal-head h3 {
      margin: 0;
      font-size: 1.1rem;
      font-weight: 700;
      line-height: 1.2;
      min-width: 0;
    }
    #bardev-tpv-modal .bardev-tpv-modal-head .bardev-modal-close {
      margin: 0;
      flex-shrink: 0;
    }
    #bardev-tpv-modal .bardev-tpv-modal-panel h3,
    #bardev-tpv-modal .bardev-tpv-modal-panel .sub,
    #bardev-tpv-modal #bardev-tpv-modal-status,
    #bardev-tpv-modal #bardev-tpv-code {
      color: var(--c-azul-900c);
    }
    #bardev-tpv-modal .bardev-tpv-modal-panel .sub {
      opacity: 0.78;
    }
    #bardev-tpv-modal .bardev-tpv-qr-wrap {
      display: flex;
      justify-content: center;
      margin: 10px 0;
      min-height: 0;
      height: auto;
      align-items: center;
      background: var(--c-gris-50f);
      border: 1px solid var(--c-gris-100c);
      border-radius: 12px;
      padding: 10px;
    }
    #bardev-tpv-code {
      font-family: ui-monospace, monospace;
      font-size: 1.35rem;
      letter-spacing: 0.2em;
      font-weight: 700;
    }
    /* Compacto: altura al contenido (regla global content-pin ya no estira al cap) */
    #bardev-tpv-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap {
      height: auto !important;
      max-height: min(
        var(--bardev-modal-content-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))),
        92dvh
      ) !important;
      align-items: center !important;
      justify-content: center !important;
      overflow: visible !important;
    }
    #bardev-tpv-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap > .bardev-tpv-modal-panel {
      flex: 0 0 auto !important;
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
    }
    html.bardev-panel-theme-light #bardev-tpv-modal .bardev-tpv-modal-panel {
      background: var(--c-blanco);
      color: var(--c-azul-900c);
      border-color: var(--c-gris-100c);
    }

    /* Tarjeta regalo → grabar código en tarjeta NFC vía TPV */
    #gv-nfc-ask-modal .gv-nfc-panel,
    #gv-nfc-read-wait-modal .gv-nfc-panel,
    #gv-nfc-info-modal .gv-nfc-panel,
    #gv-nfc-wait-modal .gv-nfc-panel {
      width: min(360px, 92vw);
      background: var(--c-blanco);
      color: var(--c-azul-900c);
      border-radius: 16px;
      padding: 18px 16px 16px;
      position: relative;
      border: 1px solid var(--c-gris-100c);
      box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
      height: auto !important;
      max-height: none !important;
      flex: 0 0 auto !important;
      overflow: visible !important;
      text-align: center;
    }
    #gv-nfc-ask-modal .gv-nfc-head,
    #gv-nfc-read-wait-modal .gv-nfc-head,
    #gv-nfc-info-modal .gv-nfc-head,
    #gv-nfc-wait-modal .gv-nfc-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 10px;
      text-align: left;
    }
    #gv-nfc-ask-modal .gv-nfc-head h3,
    #gv-nfc-read-wait-modal .gv-nfc-head h3,
    #gv-nfc-info-modal .gv-nfc-head h3,
    #gv-nfc-wait-modal .gv-nfc-head h3 {
      margin: 0;
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--c-azul-900c);
      min-width: 0;
    }
    #gv-nfc-ask-modal .gv-nfc-head .bardev-modal-close,
    #gv-nfc-read-wait-modal .gv-nfc-head .bardev-modal-close,
    #gv-nfc-info-modal .gv-nfc-head .bardev-modal-close,
    #gv-nfc-wait-modal .gv-nfc-head .bardev-modal-close {
      margin: 0;
      flex-shrink: 0;
    }
    #gv-nfc-ask-modal .gv-nfc-text,
    #gv-nfc-read-wait-modal .gv-nfc-text,
    #gv-nfc-info-modal .gv-nfc-text,
    #gv-nfc-wait-modal .gv-nfc-text {
      margin: 0 0 14px;
      font-size: 0.95rem;
      line-height: 1.45;
      color: var(--c-pizarra-750b);
    }
    #gv-nfc-info-modal .gv-nfc-panel--info {
      width: min(420px, 94vw);
      max-height: 86vh !important;
      overflow-y: auto !important;
      text-align: left;
    }
    #gv-nfc-info-modal .gv-nfc-code { text-align: center; }
    .gv-nfc-info-rows {
      display: grid;
      gap: 6px;
    }
    .gv-nfc-info-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 14px;
      padding-bottom: 5px;
      border-bottom: 1px solid #eef2f7;
      font-size: 0.9rem;
    }
    .gv-nfc-info-row dt {
      margin: 0;
      color: var(--c-pizarra-550b);
    }
    .gv-nfc-info-row dd {
      margin: 0;
      font-weight: 700;
      color: var(--c-azul-900c);
      text-align: right;
    }
    .gv-nfc-info-badge {
      display: inline-block;
      padding: 2px 10px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      background: var(--c-verde-50);
      color: var(--c-verde-750);
    }
    .gv-nfc-info-badge--redeemed { background: var(--c-azul-50); color: var(--c-azul-500); }
    .gv-nfc-info-badge--void { background: var(--c-rojo-50); color: var(--c-rojo-600); }
    .gv-nfc-info-badge--expired { background: var(--c-ambar-100b); color: var(--c-naranja-700b); }
    .gv-nfc-info-includes {
      margin: 14px 0 0;
      padding: 0;
    }
    .gv-nfc-info-includes-title {
      font-size: 0.72rem;
      letter-spacing: 0.12em;
      color: var(--c-pizarra-550b);
      margin-bottom: 6px;
    }
    .gv-nfc-info-includes ul {
      margin: 0;
      padding-left: 18px;
      font-size: 0.9rem;
      line-height: 1.5;
      color: var(--c-azul-900c);
    }
    .gv-nfc-info-empty {
      margin: 0;
      text-align: center;
      font-size: 0.95rem;
      color: var(--c-rojo-600);
    }
    /* Bonos y suscripciones: historial de movimientos dentro de la ficha. */
    .gv-nfc-info-history ul {
      max-height: 220px;
      overflow-y: auto;
    }
    /* Bonos / suscripciones vendidos: tabla con usos (día y hora). */
    .pass-sold-wrap {
      overflow-x: auto;
      margin: 0;
    }
    .pass-sold-table td {
      vertical-align: top;
    }
    .pass-sold-code {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-weight: 700;
      letter-spacing: 0.04em;
      white-space: nowrap;
    }
    .pass-sold-uses {
      margin: 0;
      padding: 0;
      list-style: none;
      font-size: 0.85rem;
      line-height: 1.45;
      white-space: nowrap;
    }
    .gv-nfc-info-units {
      list-style: none;
      padding-left: 0 !important;
    }
    .gv-nfc-info-units li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 6px 0;
      border-bottom: 1px solid rgba(15, 31, 23, 0.08);
    }
    .gv-nfc-info-units__actions {
      display: flex;
      gap: 6px;
      flex-shrink: 0;
    }
    .gv-nfc-info-history__empty {
      margin: 0;
      font-size: 0.9rem;
      color: var(--c-pizarra-550b);
    }
    .gv-card__code {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-weight: 700;
      letter-spacing: 0.06em;
    }
    .gv-nfc-code {
      display: block;
      margin: 0 0 14px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
      font-size: 1.6rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      color: var(--c-azul-900c);
    }
    .gv-nfc-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: center;
    }
    .gv-nfc-spinner {
      width: 44px;
      height: 44px;
      margin: 0 auto 14px;
      border-radius: 50%;
      border: 4px solid rgba(34, 197, 94, 0.25);
      border-top-color: var(--c-verde-550);
      animation: gv-nfc-spin 0.9s linear infinite;
    }
    @keyframes gv-nfc-spin {
      to { transform: rotate(360deg); }
    }
    #gv-nfc-check-overlay {
      position: fixed;
      inset: 0;
      z-index: 21080;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
      background: rgba(11, 18, 32, 0.45);
      opacity: 1;
      transition: opacity 0.5s ease;
    }
    #gv-nfc-check-overlay.gv-nfc-check--fade { opacity: 0; }
    #gv-nfc-check-overlay .gv-nfc-check-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 22px;
    }
    #gv-nfc-check-overlay .gv-nfc-check-label {
      margin: 0;
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--c-blanco);
      text-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
    }
    #gv-nfc-check-overlay .gv-nfc-check-circle {
      width: min(42vmin, 260px);
      height: min(42vmin, 260px);
      border-radius: 50%;
      border: 6px solid var(--c-verde-550);
      background: rgba(34, 197, 94, 0.18);
      box-shadow: 0 0 0 14px rgba(34, 197, 94, 0.1), 0 18px 48px rgba(0, 0, 0, 0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      /* 2s crecer + trazo; luego 3s quieto y 0,5s de fade */
      transition: width 2s cubic-bezier(0.22, 1, 0.36, 1), height 2s cubic-bezier(0.22, 1, 0.36, 1);
    }
    #gv-nfc-check-overlay.gv-nfc-check--grown .gv-nfc-check-circle {
      width: min(72vmin, 420px);
      height: min(72vmin, 420px);
    }
    #gv-nfc-check-overlay .gv-nfc-check-path {
      stroke-dasharray: 46;
      stroke-dashoffset: 46;
    }
    #gv-nfc-check-overlay.gv-nfc-check--grown .gv-nfc-check-path {
      stroke-dashoffset: 0;
      transition: stroke-dashoffset 2s ease-out;
    }

    .agenda-topbar__clock {
      font-variant-numeric: tabular-nums;
      font-feature-settings: 'tnum';
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
      font-size: 0.92rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      color: var(--text);
      padding: 5px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.22);
      line-height: 1.2;
      flex-shrink: 0;
      cursor: pointer;
      display: inline-flex;
      flex-direction: column;
      align-items: stretch;
      gap: 4px;
      min-width: 0;
      max-width: min(100%, 420px);
    }
    .agenda-topbar__clock-body {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    /* Tamaño del reloj por barbería (Configuración › General › Reloj: pequeño, mediano, grande). Tipografía y color
       del tema: el estudio del reloj ya no los fija en línea. */
    .agenda-topbar__clock[data-bd-reloj-tamano='pequeno'] {
      font-size: 0.78rem;
      padding: 3px 8px;
    }
    .agenda-topbar__clock[data-bd-reloj-tamano='grande'] {
      font-size: 1.35rem;
      padding: 7px 14px;
    }
    /* Extra grande (titular, 12-10-2026): el reloj ocupa toda la barra de la agenda, hasta la cabecera de empleados. */
    .agenda-topbar__clock[data-bd-reloj-tamano='extragrande'] {
      font-size: clamp(1.9rem, 2.8vw, 2.75rem);
      padding: 8px 20px;
      border-radius: 12px;
    }
    .pers-clock-size__etiqueta {
      margin: 0 0 6px;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .pers-clock-size {
      margin: 0 0 16px;
    }
    .pers-clock-size .pers-theme-pick__opt {
      min-width: 150px;
    }
    .agenda-topbar__clock-time {
      font: inherit;
      letter-spacing: inherit;
      color: inherit;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .agenda-topbar__clock-widgets {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-width: 0;
      flex-shrink: 0;
    }
    .agenda-topbar__clock-badge {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      flex-shrink: 0;
      color: var(--c-naranja-500c);
    }
    .agenda-topbar__clock-badge svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    .agenda-topbar__clock-badge-count {
      position: absolute;
      top: -4px;
      right: -6px;
      min-width: 14px;
      height: 14px;
      padding: 0 3px;
      border-radius: 999px;
      background: var(--c-rojo-400b);
      color: var(--c-blanco);
      font-size: 0.55rem;
      font-weight: 800;
      line-height: 14px;
      text-align: center;
      font-family: system-ui, sans-serif;
      box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
    }
    @keyframes agenda-clock-widget-blink {
      0%, 100% { opacity: 1; filter: brightness(1); }
      50% { opacity: 0.2; filter: brightness(2); }
    }
    .agenda-topbar__clock-badge--ringing,
    .agenda-topbar__clock-timer-pill--ringing {
      animation: agenda-clock-widget-blink 0.35s ease-in-out infinite;
      cursor: pointer;
    }
    .agenda-topbar__clock-badge--ringing:focus-visible,
    .agenda-topbar__clock-timer-pill--ringing:focus-visible {
      outline: 2px solid var(--c-naranja-500c);
      outline-offset: 2px;
    }
    .agenda-topbar__clock-timer-pill {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2px 6px;
      border-radius: 999px;
      background: rgba(255, 159, 10, 0.18);
      border: 1px solid rgba(255, 159, 10, 0.45);
      flex-shrink: 0;
      min-width: 0;
    }
    .agenda-topbar__clock-timer-pill__label {
      font-size: 0.48rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      line-height: 1.1;
      color: var(--c-naranja-500c);
    }
    .agenda-topbar__clock-timer-pill__time {
      font-size: 0.62rem;
      font-weight: 700;
      line-height: 1.1;
      font-variant-numeric: tabular-nums;
      color: inherit;
    }
    .agenda-topbar__clock-actions {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }
    .agenda-topbar__clock-actions.hidden {
      display: none !important;
    }
    .agenda-topbar__clock-action-btn {
      border: none;
      border-radius: 999px;
      padding: 3px 8px;
      font-size: 0.62rem;
      font-weight: 700;
      cursor: pointer;
      background: rgba(255, 69, 58, 0.2);
      color: var(--c-rojo-400b);
      font-family: inherit;
    }
    .agenda-topbar__clock-action-btn--snooze {
      background: rgba(255, 159, 10, 0.2);
      color: var(--c-naranja-500c);
    }
    html.bardev-panel-theme-light .agenda-topbar__clock-action-btn {
      background: rgba(255, 69, 58, 0.12);
    }
    html.bardev-panel-theme-light .agenda-topbar__clock-action-btn--snooze {
      background: rgba(201, 52, 0, 0.12);
      color: var(--c-naranja-600b);
    }
    .agenda-topbar__clock-badge.hidden,
    .agenda-topbar__clock-timer-pill.hidden {
      display: none !important;
    }
    html.bardev-panel-theme-light .agenda-topbar__clock {
      background: rgba(var(--bv-g-rgb-e4f6ec, 228, 246, 236), 0.7);
      border-color: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.16);
      color: var(--c-verde-900);
    }
    .agenda-topbar__clock:hover {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
    }
    .agenda-topbar__clock.hidden {
      display: none !important;
    }
    .agenda-topbar__clock--bar-center {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      z-index: 3;
    }
    #panel-agenda.agenda-panel--clock-hero {
      position: relative;
    }
    #panel-agenda.agenda-panel--clock-hero .agenda-topbar__clock--hero {
      position: absolute;
      z-index: 12;
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      white-space: nowrap;
      line-height: 1;
      pointer-events: auto;
    }
    #panel-agenda.agenda-panel--clock-hero .agenda-topbar__clock-slot:empty {
      display: none;
    }

    /* ── Modal Reloj Barveo (estilo iPhone) ── */
    body.bardev-clock-modal-open { overflow: hidden; }
    #bardev-clock-modal {
      z-index: 22010;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(0, 0, 0, 0.55);
    }
    .bardev-clock-app {
      width: min(420px, 100%);
      max-height: min(92vh, 780px);
      display: flex;
      flex-direction: column;
      background: var(--c-gris-900c);
      color: #f5f5f7;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }
    html.bardev-panel-theme-light .bardev-clock-app {
      background: #f2f2f7;
      color: var(--c-gris-900c);
      border-color: rgba(15, 23, 42, 0.1);
    }
    .bardev-clock-app__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 12px 14px 8px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    html.bardev-panel-theme-light .bardev-clock-app__head {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    .bardev-clock-app__head h2 {
      margin: 0;
      flex: 1;
      text-align: center;
      font-size: 1.05rem;
      font-weight: 600;
    }
    .bardev-clock-app__head .bardev-modal-close {
      color: var(--c-naranja-500c);
      border-color: transparent;
      background: transparent;
    }
    .bardev-clock-app__body {
      flex: 1 1 auto;
      min-height: 320px;
      overflow-y: auto;
      padding: 12px 14px 8px;
    }
    .bardev-clock-panel { display: none; }
    .bardev-clock-panel--active { display: block; }
    .bardev-clock-app__tabs {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      background: rgba(0, 0, 0, 0.2);
      padding: 6px 4px 10px;
    }
    html.bardev-panel-theme-light .bardev-clock-app__tabs {
      border-top-color: rgba(15, 23, 42, 0.08);
      background: rgba(255, 255, 255, 0.65);
    }
    .bardev-clock-app__tabs button {
      border: none;
      background: transparent;
      color: var(--c-gris-450);
      font-size: 0.62rem;
      font-weight: 600;
      padding: 6px 2px;
      cursor: pointer;
      border-radius: 8px;
    }
    .bardev-clock-app__tabs button[aria-selected='true'] {
      color: var(--c-naranja-500c);
    }
    html.bardev-panel-theme-light .bardev-clock-app__tabs button[aria-selected='true'] {
      color: var(--c-naranja-600b);
    }
    .bardev-clock-empty {
      text-align: center;
      color: var(--c-gris-450);
      font-size: 0.85rem;
      margin: 2rem 0;
    }
    .bardev-clock-alarm-row {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    html.bardev-panel-theme-light .bardev-clock-alarm-row {
      border-bottom-color: rgba(15, 23, 42, 0.06);
    }
    .bardev-clock-alarm-row__main {
      flex: 1;
      min-width: 0;
      border: none;
      background: transparent;
      color: inherit;
      text-align: left;
      cursor: pointer;
      padding: 0;
    }
    .bardev-clock-alarm-row__time {
      display: block;
      font-size: 2.4rem;
      font-weight: 200;
      font-variant-numeric: tabular-nums;
      line-height: 1.05;
    }
    .bardev-clock-alarm-row__sub {
      display: block;
      font-size: 0.78rem;
      color: var(--c-gris-450);
      margin-top: 2px;
    }
    .bardev-clock-alarm-del {
      border: none;
      background: transparent;
      color: var(--c-rojo-400b);
      font-size: 1.4rem;
      cursor: pointer;
      line-height: 1;
      padding: 4px;
    }
    .bardev-clock-timer-toggle {
      border: none;
      background: rgba(255, 159, 10, 0.15);
      color: var(--c-naranja-500c);
      font-size: 0.72rem;
      font-weight: 700;
      cursor: pointer;
      line-height: 1;
      padding: 6px 10px;
      border-radius: 999px;
      white-space: nowrap;
      flex-shrink: 0;
    }
    html.bardev-panel-theme-light .bardev-clock-timer-toggle {
      background: rgba(201, 52, 0, 0.1);
      color: var(--c-naranja-600b);
    }
    .bardev-clock-timer-row .bardev-clock-alarm-row__time {
      font-size: 1.6rem;
    }
    .bardev-clock-timer-row {
      position: relative;
    }
    .bardev-clock-timer-row .bardev-clock-timer-toggle,
    .bardev-clock-timer-row .bardev-clock-alarm-del {
      position: relative;
      z-index: 2;
      flex-shrink: 0;
      touch-action: manipulation;
    }
    .bardev-clock-timer-row .bardev-clock-timer-toggle {
      min-width: 4.5rem;
      min-height: 2rem;
    }
    .bardev-clock-timer-row .bardev-clock-alarm-del {
      min-width: 2rem;
      min-height: 2rem;
    }
    #bardev-clock-timer-add.bardev-clock-alarm-add {
      position: static;
    }
    .bardev-clock-alarm-add {
      position: sticky;
      bottom: 0;
      margin-top: 12px;
      width: 100%;
      padding: 12px;
      border: none;
      border-radius: 12px;
      background: var(--c-gris-800);
      color: var(--c-naranja-500c);
      font-size: 0.95rem;
      font-weight: 600;
      cursor: pointer;
    }
    html.bardev-panel-theme-light .bardev-clock-alarm-add {
      background: var(--c-blanco);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    }
    .bardev-clock-alarm-editor {
      margin-bottom: 12px;
      padding: 12px;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }
    html.bardev-panel-theme-light .bardev-clock-alarm-editor {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.08);
    }
    .bardev-clock-alarm-editor.hidden {
      display: none !important;
    }
    .bardev-clock-alarm-editor__title {
      margin: 0 0 10px;
      font-size: 0.9rem;
      font-weight: 700;
    }
    .bardev-clock-alarm-editor__field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin-bottom: 10px;
    }
    .bardev-clock-alarm-editor__field span {
      font-size: 0.75rem;
      color: var(--c-gris-450);
    }
    .bardev-clock-alarm-editor__field input[type='time'],
    .bardev-clock-alarm-editor__field input[type='text'] {
      width: 100%;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: rgba(0, 0, 0, 0.2);
      color: inherit;
      font: inherit;
    }
    html.bardev-panel-theme-light .bardev-clock-alarm-editor__field input[type='time'],
    html.bardev-panel-theme-light .bardev-clock-alarm-editor__field input[type='text'] {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.12);
    }
    .bardev-clock-day-row {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      margin-bottom: 10px;
    }
    .bardev-clock-day-chip {
      min-width: 34px;
      padding: 6px 0;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: transparent;
      color: inherit;
      font-size: 0.78rem;
      font-weight: 700;
      cursor: pointer;
    }
    .bardev-clock-day-chip--on {
      background: var(--c-naranja-500c);
      border-color: var(--c-naranja-500c);
      color: var(--c-gris-900c);
    }
    html.bardev-panel-theme-light .bardev-clock-day-chip--on {
      background: var(--c-naranja-600b);
      border-color: var(--c-naranja-600b);
      color: var(--c-blanco);
    }
    .bardev-clock-emp-chip {
      min-width: auto;
      padding: 6px 10px;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .bardev-clock-alert-mode-row {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-bottom: 10px;
    }
    .bardev-clock-alert-mode-row label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.82rem;
      cursor: pointer;
    }
    .bardev-clock-alert-mode-row input[type='radio'] {
      accent-color: var(--c-naranja-500c);
      flex-shrink: 0;
    }
    .bardev-clock-emp-field.hidden {
      display: none !important;
    }
    #bardev-clock-alarm-banner {
      position: fixed;
      inset: 0;
      z-index: 100020;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      pointer-events: auto;
      cursor: pointer;
    }
    #bardev-clock-alarm-banner.hidden {
      display: none !important;
    }
    .bardev-clock-alarm-banner__box {
      background: rgba(0, 0, 0, 0.5);
      border-radius: 24px;
      padding: clamp(1.5rem, 5vw, 3rem) clamp(1.75rem, 7vw, 4rem);
      max-width: min(92vw, 720px);
      text-align: center;
    }
    .bardev-clock-alarm-banner__text {
      margin: 0;
      font-size: clamp(2rem, 8vw, 4.5rem);
      font-weight: 700;
      line-height: 1.15;
      color: var(--c-blanco);
      word-break: break-word;
    }
    .bardev-clock-alarm-banner__hint {
      margin: 0.75rem 0 0;
      font-size: 0.85rem;
      color: rgba(255, 255, 255, 0.75);
    }
    .bardev-clock-switch {
      position: relative;
      display: inline-block;
      width: 51px;
      height: 31px;
      flex: 0 0 auto;
      vertical-align: middle;
    }
    .bardev-clock-switch input {
      opacity: 0;
      width: 0 !important;
      height: 0 !important;
      position: absolute;
      margin: 0;
      padding: 0;
      pointer-events: none;
    }
    .bardev-clock-switch__track {
      position: absolute;
      inset: 0;
      background: #39393d;
      border-radius: 999px;
      transition: background 0.2s;
    }
    .bardev-clock-switch__track::after {
      content: '';
      position: absolute;
      width: 27px;
      height: 27px;
      left: 2px;
      top: 2px;
      background: var(--c-blanco);
      border-radius: 50%;
      transition: transform 0.2s;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    }
    .bardev-clock-switch input:checked + .bardev-clock-switch__track {
      background: var(--c-verde-500);
    }
    .bardev-clock-switch input:checked + .bardev-clock-switch__track::after {
      transform: translateX(20px);
    }
    .bardev-clock-timer-display,
    .bardev-clock-sw-display {
      font-size: 4.2rem;
      font-weight: 200;
      font-variant-numeric: tabular-nums;
      text-align: center;
      margin: 1.5rem 0 1rem;
      letter-spacing: -0.02em;
    }
    .bardev-clock-timer-display--ending { color: var(--c-rojo-400b); }
    .bardev-clock-timer-panel--active .bardev-clock-timer-display { color: var(--c-naranja-500c); }
    .bardev-clock-picker-row {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-bottom: 1rem;
    }
    .bardev-clock-picker-row input {
      width: 4rem;
      text-align: center;
      font-size: 1.4rem;
      padding: 8px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: var(--c-gris-800);
      color: inherit;
    }
    html.bardev-panel-theme-light .bardev-clock-picker-row input {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.12);
    }
    .bardev-clock-btn-row {
      display: flex;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 8px;
    }
    .bardev-clock-btn {
      min-width: 88px;
      padding: 10px 18px;
      border-radius: 999px;
      border: none;
      font-size: 0.9rem;
      font-weight: 600;
      cursor: pointer;
    }
    .bardev-clock-btn--primary {
      background: var(--c-naranja-500c);
      color: var(--c-gris-900c);
    }
    .bardev-clock-btn--secondary {
      background: var(--c-gris-800);
      color: var(--c-naranja-500c);
    }
    html.bardev-panel-theme-light .bardev-clock-btn--secondary {
      background: var(--c-gris-100b);
      color: var(--c-naranja-600b);
    }
    .bardev-clock-sw-laps {
      max-height: 160px;
      overflow-y: auto;
      margin-top: 12px;
    }
    .bardev-clock-sw-lap {
      display: flex;
      justify-content: space-between;
      padding: 8px 4px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      font-variant-numeric: tabular-nums;
      font-size: 0.88rem;
    }
    .bardev-clock-settings-card {
      background: var(--c-gris-800);
      border-radius: 12px;
      padding: 12px 14px;
      margin-bottom: 12px;
    }
    html.bardev-panel-theme-light .bardev-clock-settings-card {
      background: var(--c-blanco);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
    }
    .bardev-clock-settings-card h3 {
      margin: 0 0 10px;
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--c-gris-450);
      font-weight: 600;
    }
    .bardev-clock-settings-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 8px 0;
      font-size: 0.88rem;
    }
    .bardev-clock-settings-row + .bardev-clock-settings-row {
      border-top: 1px solid rgba(255, 255, 255, 0.06);
    }
    html.bardev-panel-theme-light .bardev-clock-settings-row + .bardev-clock-settings-row {
      border-top-color: rgba(15, 23, 42, 0.06);
    }
    .bardev-clock-settings-row > label:not(.bardev-clock-switch) { flex: 1; min-width: 0; }
    .bardev-clock-settings-row .bardev-clock-switch { flex: 0 0 auto; }
    .bardev-clock-settings-row select,
    .bardev-clock-settings-row input[type='range'],
    .bardev-clock-settings-row input[type='color'] {
      flex-shrink: 0;
    }
    .bardev-clock-hour-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 6px;
      margin-top: 10px;
    }
    .bardev-clock-hour-chip {
      padding: 6px 4px;
      border-radius: 8px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: var(--c-gris-750);
      color: var(--c-gris-450);
      font-size: 0.72rem;
      cursor: pointer;
    }
    .bardev-clock-hour-chip--on {
      background: rgba(48, 209, 88, 0.2);
      border-color: var(--c-verde-500);
      color: var(--c-verde-500);
    }
    html.bardev-panel-theme-light .bardev-clock-hour-chip {
      background: var(--c-gris-100b);
      border-color: rgba(15, 23, 42, 0.08);
    }
    .bardev-clock-sound-name {
      font-size: 0.75rem;
      color: var(--c-gris-450);
      margin: 0;
      word-break: break-all;
    }
    .bardev-clock-sound-row {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 6px;
      min-width: 0;
    }
    .bardev-clock-sound-row__label {
      flex: 0 0 auto;
      font-size: 0.78rem;
      font-weight: 600;
      color: inherit;
      min-width: 5.2rem;
    }
    .bardev-clock-sound-row__name {
      flex: 1 1 auto;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.75rem;
      color: var(--c-gris-450);
    }
    .bardev-clock-sound-row__btn {
      flex-shrink: 0;
      border: none;
      border-radius: 999px;
      cursor: pointer;
      font-size: 0.78rem;
      font-weight: 600;
      line-height: 1;
      padding: 7px 10px;
    }
    .bardev-clock-sound-row__btn--play {
      width: 32px;
      height: 32px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--c-gris-800);
      color: var(--c-naranja-500c);
      font-size: 0.72rem;
    }
    html.bardev-panel-theme-light .bardev-clock-sound-row__btn--play {
      background: var(--c-gris-100b);
      color: var(--c-naranja-600b);
    }
    .bardev-clock-sound-row__btn--pick {
      background: var(--c-gris-800);
      color: var(--c-naranja-500c);
      white-space: nowrap;
    }
    html.bardev-panel-theme-light .bardev-clock-sound-row__btn--pick {
      background: var(--c-gris-100b);
      color: var(--c-naranja-600b);
    }
    .bardev-clock-sound-row__btn:hover {
      filter: brightness(1.08);
    }
    .bardev-clock-sound-row + .bardev-clock-sound-row,
    .bardev-clock-sound-row + input[type='file'] + .bardev-clock-sound-row {
      margin-top: 8px;
    }
    html.bardev-panel-theme-light .bardev-clock-sound-row[style*='border-top'] {
      border-top-color: rgba(15, 23, 42, 0.06) !important;
    }
    .bardev-clock-settings-hint {
      font-size: 0.75rem;
      color: var(--c-gris-450);
      margin: 6px 0 0;
      line-height: 1.35;
    }

    .agenda-topbar__icon-btn {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: transparent;
      color: var(--text);
      font-size: 1rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      transition: background 0.15s;
    }
    .agenda-topbar__icon-btn:hover { background: rgba(255,255,255,0.08); }
    .agenda-topbar__icon-btn[aria-disabled='true'] {
      opacity: 0.55;
      cursor: wait;
      pointer-events: none;
    }
    .agenda-topbar__icon-btn--busy .agenda-refresh-ico svg {
      animation: agenda-refresh-spin 0.75s linear infinite;
    }
    @keyframes agenda-refresh-spin {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }
    .agenda-refresh-ico {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
    }
    .agenda-notif-wrap { position: relative; }
    .agenda-notif-bell { font-size: 1.05rem; }
    .agenda-notif-dropdown {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      width: 400px;
      max-height: 520px;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 8px 24px rgba(0,0,0,0.45);
      z-index: 9999;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .agenda-notif-dropdown__head {
      padding: 12px 14px;
      font-weight: 700;
      font-size: 0.9rem;
      border-bottom: 1px solid var(--border);
    }
    .agenda-notif-dropdown__body {
      flex: 1;
      overflow-y: auto;
      max-height: 400px;
    }
    .agenda-notif-subhead {
      padding: 8px 14px 6px;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
      border-bottom: 1px solid rgba(255,255,255,0.06);
      background: rgba(0,0,0,0.15);
    }
    .agenda-notif-wl {
      padding: 10px 14px;
      border-bottom: 1px solid rgba(255,255,255,0.06);
      font-size: 0.78rem;
      line-height: 1.45;
      text-align: left;
    }
    .agenda-notif-wl--unread { background: rgba(250, 204, 21, 0.06); }
    .agenda-notif-wl__actions { margin-top: 8px; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
    .agenda-notif-dropdown__foot {
      padding: 8px 12px;
      border-top: 1px solid var(--border);
    }
    .agenda-notif-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      width: 100%;
      margin: 0;
      padding: 10px 14px;
      border: none;
      border-bottom: 1px solid rgba(255,255,255,0.05);
      border-radius: 0;
      font: inherit;
      font-size: 0.82rem;
      line-height: 1.35;
      color: inherit;
      text-align: left;
      background: transparent;
      cursor: pointer;
      box-sizing: border-box;
    }
    .agenda-notif-item:hover {
      background: rgba(255,255,255,0.05);
    }
    .agenda-notif-item:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--ok) 70%, transparent);
      outline-offset: -2px;
    }
    .agenda-notif-item:last-child { border-bottom: none; }
    .agenda-notif-item__dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--bv-g-34d399, #34d399);
      flex-shrink: 0;
      margin-top: 5px;
    }
    .agenda-notif-item__dot--cancel { background: var(--c-rojo-400); }
    .agenda-notif-item__dot--mod { background: var(--c-naranja-500b); }
    .agenda-notif-item__dot--review { background: var(--c-ambar-450); }
    .agenda-notif-item__dot--pickup { background: var(--bv-g-047857, #047857); }
    .agenda-notif-item__kind {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      margin-bottom: 2px;
    }
    .agenda-notif-item__kind--new { color: var(--bv-g-34d399, #34d399); }
    .agenda-notif-item__kind--cancel { color: var(--c-rojo-300); }
    .agenda-notif-item__kind--mod { color: var(--c-ambar-450b); }
    .agenda-notif-item__kind--review { color: var(--c-ambar-450); }
    .agenda-notif-item__kind--pickup { color: var(--bv-g-047857, #047857); }
    .agenda-notif-item--read {
      opacity: 0.72;
    }
    .agenda-notif-item--read .agenda-notif-item__dot {
      visibility: hidden;
    }
    .agenda-notif-item__text { flex: 1; min-width: 0; }
    .agenda-notif-item__time { font-size: 0.7rem; color: var(--muted); margin-top: 2px; }
    .agenda-notif-badge {
      position: absolute;
      top: -3px;
      right: -3px;
      min-width: 16px;
      height: 16px;
      border-radius: 8px;
      background: var(--c-rojo-400);
      color: var(--c-blanco);
      font-size: 0.6rem;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 3px;
    }
    .agenda-fab-label {
      font-size: 0.55rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      opacity: 0.85;
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.15);
      padding: 1px 6px;
      border-radius: 6px;
      white-space: nowrap;
    }
    .agenda-fab {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      border: none;
      background: var(--ok);
      color: var(--btn-on-accent);
      font-size: 1.6rem;
      line-height: 1;
      cursor: pointer;
      flex-shrink: 0;
      box-shadow: 0 6px 22px rgba(0, 0, 0, 0.38);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .agenda-fab:hover {
      filter: brightness(1.06);
    }
    .agenda-fab:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 3px;
    }
    .agenda-fab--venta {
      background: linear-gradient(145deg, var(--c-turquesa-750), var(--bv-g-059669, #059669));
      color: var(--c-blanco);
      font-size: 0;
      box-shadow: 0 6px 22px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.12);
    }
    .agenda-fab-venta-ico {
      width: 24px;
      height: 24px;
      display: block;
      flex-shrink: 0;
      filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.35));
    }
    .agenda-fab--venta:hover {
      filter: brightness(1.08);
    }
    /* Nueva cita (+): mismo FAB que Venta directa (gradiente y sombra) */
    #agenda-btn-new.agenda-fab {
      background: linear-gradient(145deg, var(--c-turquesa-750), var(--bv-g-059669, #059669));
      color: var(--c-blanco);
      -webkit-text-fill-color: var(--c-blanco);
      box-shadow: 0 6px 22px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.12);
    }
    #agenda-btn-new.agenda-fab:hover {
      filter: brightness(1.08);
    }
    #agenda-btn-new.agenda-fab + .agenda-fab-label {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.2);
    }
    .agenda-fab-label--venta {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.2);
    }

    /* Compactar en la misma fila (el zoom 80% no cambia el MQ). */
    @media (max-width: 1280px) {
      .agenda-topbar {
        gap: 6px 8px;
        padding: 6px 8px;
        align-items: center;
      }
      .agenda-topbar__right {
        gap: 6px;
      }
      .agenda-topbar .agenda-fab-label {
        display: none;
      }
      .agenda-fab {
        width: 40px;
        height: 40px;
        font-size: 1.35rem;
      }
      .agenda-fab-venta-ico {
        width: 20px;
        height: 20px;
      }
      .agenda-topbar__icon-btn {
        width: 34px;
        height: 34px;
      }
    }

    /* Agenda topbar: móvil — evita solape fecha / Hoy / campana / FABs */
    @media (max-width: 640px) {
      #panel-agenda .agenda-topbar,
      .agenda-topbar {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px 10px;
        row-gap: 10px;
        padding: 8px;
      }
      .agenda-topbar__center {
        order: -1;
        flex: 1 0 100%;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        justify-content: center;
        justify-self: unset;
        flex-wrap: wrap;
        row-gap: 6px;
      }
      .agenda-topbar__left {
        order: 1;
        flex: 0 0 auto;
        min-width: 0;
        justify-self: unset;
      }
      .agenda-topbar__waitlist-center {
        flex: 0 0 auto;
        min-width: 0;
        justify-content: flex-start;
        align-items: center;
        justify-self: unset;
      }
      .agenda-topbar__waitlist-center:has(#agenda-waitlist-date-pill.hidden) {
        display: none !important;
      }
      .agenda-topbar__right {
        order: 1;
        flex: 0 0 auto;
        min-width: 0;
        justify-content: flex-end;
        flex-wrap: wrap;
        justify-self: unset;
        gap: 6px;
        row-gap: 6px;
      }
      .agenda-topbar__arrow {
        width: 30px;
        height: 30px;
        font-size: 1.1rem;
        flex-shrink: 0;
      }
      .agenda-topbar__date {
        font-size: 0.86rem;
        flex: 0 1 auto;
        min-width: 0;
        max-width: calc(100% - 76px);
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .agenda-topbar__pill {
        padding: 4px 10px;
        font-size: 0.74rem;
      }
      .agenda-topbar__icon-btn {
        width: 32px;
        height: 32px;
        font-size: 0.92rem;
        flex-shrink: 0;
      }
      .agenda-mxbardev-logo-wrap {
        width: 40px;
        height: 40px;
        margin-right: 4px;
      }
      .agenda-mxbardev-logo-ph {
        font-size: 0.95rem;
      }
      .agenda-fab {
        width: 40px;
        height: 40px;
        font-size: 1.35rem;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32);
      }
      .agenda-fab-venta-ico {
        width: 20px;
        height: 20px;
      }
      .agenda-fab-label {
        font-size: 0.5rem;
        padding: 1px 4px;
        max-width: 72px;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      /* Desplegable anclado al viewport: evita recorte por .main-area (overflow-x) y #panel-agenda (overflow) */
      .agenda-notif-dropdown {
        position: fixed;
        left: max(8px, env(safe-area-inset-left, 0px));
        right: max(8px, env(safe-area-inset-right, 0px));
        width: auto;
        max-width: none;
        top: 52px;
        max-height: min(520px, calc(100vh - 64px));
        max-height: min(520px, calc(100dvh - 64px));
        z-index: 10050;
      }
      .agenda-notif-dropdown__body {
        max-height: none;
        min-height: 0;
      }
      html.bardev-panel-theme-light .agenda-fab--venta,
      html.bardev-panel-theme-light #agenda-btn-new.agenda-fab {
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32), 0 0 0 1px rgba(255, 255, 255, 0.5);
      }
    }
    @media (max-width: 380px) {
      #panel-agenda .agenda-topbar .agenda-fab-label,
      .agenda-topbar .agenda-fab-label {
        display: none;
      }
    }

    /* Modal Seleccionar productos (mismo lenguaje que Registrar cobro) */
    .venta-pp-panel.agenda-cobro-panel {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-height: min(90vh, 760px);
      padding: 0;
      overflow: hidden;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: linear-gradient(165deg, rgba(22, 28, 36, 0.98) 0%, rgba(12, 14, 18, 0.99) 100%);
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
      display: flex;
      flex-direction: column;
    }
    .venta-pp-panel .venta-pp-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 18px 20px 14px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
    }
    .venta-pp-panel .venta-pp-head h3 {
      margin: 0;
      font-size: 1.12rem;
      font-weight: 800;
      letter-spacing: -0.02em;
    }
    .venta-pp-panel .venta-pp-body {
      padding: 16px 20px 0;
      overflow-y: auto;
      flex: 1;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .venta-pp-panel .venta-pp-intro {
      margin: 0 0 12px;
      font-size: 0.82rem;
      line-height: 1.45;
      color: rgba(255, 255, 255, 0.52);
    }
    .venta-pp-panel .venta-pp-search-row {
      display: flex;
      gap: 8px;
      align-items: center;
      margin-bottom: 10px;
    }
    .venta-pp-panel .venta-pp-search-row .venta-pp-search {
      flex: 1;
      min-width: 0;
      width: auto;
      margin-bottom: 0;
    }
    .venta-pp-panel .venta-pp-search {
      width: 100%;
      padding: 11px 14px;
      margin-bottom: 10px;
      border-radius: 10px;
      border: 1px solid rgba(15, 23, 42, 0.12);
      background: var(--c-gris-50f);
      color: var(--c-azul-900b);
      font-size: 0.95rem;
      box-sizing: border-box;
      -webkit-appearance: none;
      appearance: none;
    }
    .venta-pp-panel .venta-pp-search::-webkit-search-decoration,
    .venta-pp-panel .venta-pp-search::-webkit-search-cancel-button {
      -webkit-appearance: none;
      appearance: none;
    }
    .venta-pp-panel .venta-pp-search::placeholder {
      color: var(--c-pizarra-550);
    }
    .venta-pp-panel .venta-pp-search:focus {
      outline: 2px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
      outline-offset: 0;
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.4);
    }
    #venta-pp-scan.btn.secondary {
      flex-shrink: 0;
      width: 40px;
      height: 40px;
      min-width: 40px;
      min-height: 40px;
      padding: 0;
      margin: 0;
      margin-top: 0;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.05rem;
      line-height: 1;
      box-sizing: border-box;
      -webkit-appearance: none;
      appearance: none;
    }
    .venta-pp-scanner-wrap {
      margin: 0 0 10px auto;
      max-width: 220px;
      border-radius: 10px;
      overflow: hidden;
      border: 1px solid var(--border);
    }
    .venta-pp-scanner-wrap .btn.secondary {
      width: 100%;
      margin: 0;
      padding: 6px;
      font-size: 0.75rem;
    }
    .venta-pp-panel .venta-pp-results {
      max-height: 140px;
      overflow-y: auto;
      margin-bottom: 12px;
      flex-shrink: 0;
    }
    .venta-pp-panel .venta-pp-cart-label {
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 8px;
      color: rgba(255, 255, 255, 0.45);
    }
    .venta-pp-panel .venta-pp-cart {
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: rgba(0, 0, 0, 0.38);
      padding: 12px 14px;
      flex: 1;
      min-height: 100px;
      max-height: 220px;
    }
    .venta-pp-panel .venta-pp-cart--empty {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
    }
    .venta-pp-panel .venta-pp-cart:not(.venta-pp-cart--empty) {
      overflow-y: auto;
    }
    .venta-pp-panel .venta-pp-cart-empty-msg {
      margin: 0;
      font-size: 0.82rem;
      line-height: 1.45;
      color: rgba(255, 255, 255, 0.45);
      max-width: 280px;
    }
    .venta-pp-panel .venta-pp-subtotal-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
    }
    .venta-pp-panel .venta-pp-subtotal-row strong {
      font-size: 1.08rem;
      font-weight: 800;
      letter-spacing: -0.02em;
    }
    .venta-pp-panel .venta-pp-foot {
      padding: 16px 20px 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
      background: rgba(0, 0, 0, 0.2);
    }
    .venta-pp-panel .venta-pp-foot .btn.primary {
      width: 100%;
      padding: 14px 16px;
      font-weight: 800;
      font-size: 0.95rem;
      border-radius: 12px;
    }
    .venta-pp-pick-row {
      width: 100%;
      margin-bottom: 8px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: rgba(0, 0, 0, 0.28);
      color: var(--text);
      text-align: left;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font: inherit;
      font-size: 0.86rem;
      font-weight: 600;
      transition: border-color 0.15s ease, background 0.15s ease;
    }
    .venta-pp-pick-row:last-child {
      margin-bottom: 0;
    }
    .venta-pp-pick-row:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
    }
    .venta-pp-cart__row {
      display: grid;
      grid-template-columns: 1fr auto auto;
      gap: 8px;
      align-items: center;
      font-size: 0.8rem;
      margin-bottom: 8px;
      padding-bottom: 8px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .venta-pp-cart__row .bd-stepper {
      justify-self: end;
    }
    .venta-pp-cart__row:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
    }
    .agenda-d-venta-scroll {
      max-height: 120px;
      overflow-y: auto;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.15);
      padding: 8px 10px;
    }
    .agenda-d-venta-line {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 8px;
      font-size: 0.8rem;
      margin-bottom: 6px;
      padding-bottom: 6px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .agenda-d-venta-line:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
    }
    .agenda-d-venta-line__name {
      min-width: 0;
      flex: 1;
      line-height: 1.3;
    }
    .agenda-d-venta-line__amt-col {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 2px;
      flex: 0 0 auto;
    }
    .agenda-d-venta-line__eur {
      font-weight: 600;
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    html.bardev-panel-theme-light .agenda-d-venta-line {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    .agenda-card--dragging .agenda-card__drag-time {
      display: block !important;
    }
    .agenda-card__drag-time {
      display: none;
      position: absolute;
      top: -22px;
      left: 0;
      right: 0;
      text-align: center;
      font-size: calc(var(--agenda-text-scale) * 0.65rem);
      font-weight: 700;
      color: var(--c-rojo-100);
      background: rgba(127, 29, 29, 0.9);
      padding: 2px 6px;
      border-radius: 4px;
      white-space: nowrap;
      z-index: 10;
      pointer-events: none;
    }
    .agenda-grid-outer {
      position: relative;
      overflow-x: auto;
      overflow-y: auto;
      /* Altura la fija el flex del panel-agenda; este tope evita grids desmesurados fuera de agenda */
      max-height: calc(100vh - 120px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 10px;
      background: var(--c-gris-900);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    }
    /* Marca de agua diagonal «FESTIVO» sobre el área visible de la cuadrícula */
    .agenda-festivo-watermark {
      position: absolute;
      inset: 0;
      z-index: 14;
      pointer-events: none;
      overflow: hidden;
      border-radius: inherit;
    }
    .agenda-festivo-watermark__inner {
      position: absolute;
      left: 50%;
      top: 50%;
      width: min(92vw, 78vmin, 820px);
      max-width: 100%;
      max-height: none;
      transform: translate(-50%, -50%) rotate(-33deg);
      transform-origin: center center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.1em;
      box-sizing: border-box;
      padding: 0 4%;
    }
    .agenda-festivo-watermark__main {
      font-size: clamp(2rem, 9vmin, 5.5rem);
      font-weight: 800;
      letter-spacing: 0.14em;
      text-indent: 0.14em;
      line-height: 0.88;
      text-transform: uppercase;
      font-family: Georgia, 'Palatino Linotype', 'Book Antiqua', Palatino, ui-serif, serif;
      color: rgba(200, 70, 61, 0.07);
      -webkit-text-stroke: 1.5px rgba(200, 70, 61, 0.34);
      paint-order: stroke fill;
      text-shadow:
        0 0 3px rgba(200, 70, 61, 0.18),
        0 2px 0 rgba(0, 0, 0, 0.35),
        0 0 120px rgba(200, 70, 61, 0.1);
      white-space: nowrap;
      user-select: none;
    }
    .agenda-festivo-watermark__sub {
      font-size: clamp(0.65rem, 2.4vmin, 1.35rem);
      font-weight: 700;
      letter-spacing: 0.1em;
      text-indent: 0.1em;
      text-transform: uppercase;
      font-family: Georgia, 'Palatino Linotype', Palatino, ui-serif, serif;
      color: rgba(200, 70, 61, 0.1);
      -webkit-text-stroke: 1px rgba(200, 70, 61, 0.26);
      paint-order: stroke fill;
      white-space: nowrap;
      max-width: 96%;
      overflow: hidden;
      text-overflow: ellipsis;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    }
    .agenda-festivo-watermark--cerrado .agenda-festivo-watermark__main {
      color: rgba(148, 163, 184, 0.08);
      -webkit-text-stroke: 1.5px rgba(148, 163, 184, 0.38);
      text-shadow:
        0 0 3px rgba(148, 163, 184, 0.2),
        0 2px 0 rgba(0, 0, 0, 0.35),
        0 0 120px rgba(100, 116, 139, 0.12);
    }
    .agenda-festivo-watermark--cerrado .agenda-festivo-watermark__sub {
      color: rgba(148, 163, 184, 0.12);
      -webkit-text-stroke: 1px rgba(148, 163, 184, 0.3);
    }
    .agenda-cerrado-banner {
      width: 100%;
      box-sizing: border-box;
      margin: 0 0 10px;
      padding: 10px 14px;
      border-radius: 10px;
      border: 1px solid rgba(148, 163, 184, 0.45);
      background: rgba(148, 163, 184, 0.1);
      color: var(--text);
      font-size: 0.86rem;
      line-height: 1.4;
    }
    .agenda-cerrado-banner strong:first-of-type {
      color: var(--c-pizarra-150);
    }
    .agenda-col__cerrado-sub {
      font-size: 0.58rem;
      font-weight: 700;
      color: var(--c-pizarra-350);
      margin-top: 3px;
      line-height: 1.2;
      max-width: 100%;
      word-break: break-word;
    }
    .agenda-grid-inner {
      /* --agenda-cols la asigna agendaRender() (nº empleados en la vista). */
      --agenda-col-min: 240px;
      display: flex;
      /* No encoger por debajo de carril + columnas: si el viewport es más estrecho, scroll horizontal en .agenda-grid-outer */
      min-width: max(100%, calc(52px + var(--agenda-cols, 1) * var(--agenda-col-min)));
      align-items: stretch;
    }
    .agenda-grid-inner--booksy {
      flex-direction: column;
      align-items: stretch;
    }
    .agenda-heads-row {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      flex-shrink: 0;
      position: sticky;
      top: 0;
      z-index: 24;
      isolation: isolate;
      background: linear-gradient(180deg, var(--c-pizarra-850b) 0%, var(--c-pizarra-850) 100%);
      box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
    }
    .agenda-time-rail-head {
      flex: 0 0 52px;
      min-width: 52px;
      box-sizing: border-box;
      border-right: 1px solid rgba(255, 255, 255, 0.1);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      background-color: var(--c-pizarra-900);
      background-image: linear-gradient(180deg, #1a1e26 0%, var(--c-pizarra-900) 100%);
      position: relative;
      z-index: 1;
    }
    .agenda-heads-row .agenda-col__head {
      flex: 1 1 0;
      min-width: var(--agenda-col-min, 240px);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      border-right: 1px solid rgba(255, 255, 255, 0.07);
      /* Opaco por celda: en móvil/WebKit el sticky a veces deja ver el scroll por debajo */
      background-color: var(--c-pizarra-850b);
      background-image: linear-gradient(180deg, var(--c-pizarra-850b) 0%, var(--c-pizarra-850) 100%);
      position: relative;
      z-index: 1;
    }
    .agenda-heads-row .agenda-col__head:last-child {
      border-right: none;
    }
    .agenda-tracks-row {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      flex: 1 1 auto;
      min-width: 100%;
    }
    .agenda-tracks-row .agenda-time-rail {
      flex: 0 0 52px;
      min-width: 52px;
      position: relative;
      z-index: 20;
      border-right: 1px solid rgba(255, 255, 255, 0.1);
      user-select: none;
      background: var(--c-pizarra-900);
    }
    .agenda-tracks-row .agenda-col__body {
      flex: 1 1 0;
      min-width: var(--agenda-col-min, 240px);
      border-right: 1px solid rgba(255, 255, 255, 0.07);
      background: var(--c-pizarra-850);
      position: relative;
      z-index: 0;
      /* clip: recorta desbordes sin forzar overflow-y:auto (hidden+visible lo convertía en auto → scroll por columna) */
      overflow-x: clip;
      overflow-y: clip;
    }
    .agenda-tracks-row .agenda-col__body:last-child {
      border-right: none;
    }
    .agenda-time-rail__inner {
      position: relative;
      box-sizing: border-box;
      z-index: 1;
    }
    .agenda-time-label {
      position: absolute;
      left: 2px;
      right: 2px;
      font-size: 0.7rem;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.45);
      transform: translateY(-50%);
      text-align: right;
    }
    .agenda-time-label--hour {
      font-weight: 600;
      font-size: 0.7rem;
      color: rgba(255, 255, 255, 0.45);
    }
    .agenda-time-label--quarter {
      font-weight: 500;
      font-size: 0.62rem;
      color: rgba(255, 255, 255, 0.3);
    }
    .agenda-now-line {
      position: absolute;
      left: 0;
      right: 0;
      height: 2px;
      transform: translateY(-50%);
      background: var(--c-rojo-400);
      z-index: 130;
      pointer-events: none;
      box-shadow: 0 0 6px rgba(239, 68, 68, 0.45);
    }
    .agenda-now-line--rail {
      left: 0;
      right: 0;
      z-index: 240;
    }
    .agenda-now-pin {
      position: absolute;
      left: 0;
      right: 0;
      z-index: 250;
      transform: translateY(-50%);
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      pointer-events: none;
    }
    .agenda-now-pin__dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--c-rojo-400);
      box-shadow: 0 0 0 2px var(--c-gris-900);
      flex-shrink: 0;
    }
    .agenda-now-pin__txt {
      font-size: 0.62rem;
      font-weight: 700;
      color: var(--c-blanco);
      background: var(--c-rojo-600);
      padding: 2px 6px;
      border-radius: 4px;
      border: 1px solid var(--c-rojo-650);
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
      line-height: 1.15;
      white-space: nowrap;
    }
    .agenda-col {
      flex: 1 1 0;
      min-width: var(--agenda-col-min, 240px);
      border-right: 1px solid rgba(255, 255, 255, 0.07);
      display: flex;
      flex-direction: column;
      background: var(--c-pizarra-850);
    }
    .agenda-col:last-child {
      border-right: none;
    }
    .agenda-col__head {
      padding: 10px 8px 12px;
      text-align: center;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      min-height: 84px;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    .agenda-avatar-btn {
      border: none;
      background: none;
      padding: 0;
      cursor: pointer;
      border-radius: 50%;
      line-height: 0;
    }
    .agenda-avatar-btn:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .agenda-col__avatar {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      object-fit: cover;
      display: block;
      border: 2px solid var(--brand-rgba-22);
    }
    .agenda-col__avatar--ph {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.1);
      font-size: 0.85rem;
      font-weight: 700;
      color: var(--text);
      border: 2px solid var(--brand-rgba-22);
    }
    .agenda-col__head-name {
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1.2;
      color: var(--c-gris-50b);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: 4px;
      max-width: 100%;
    }
    .agenda-col__head-name-text {
      text-align: center;
      word-break: break-word;
    }
    .agenda-col__head-name .equipo-lang-flags {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      flex-shrink: 0;
    }
    .equipo-lang-flags {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      flex-wrap: wrap;
    }
    .equipo-lang-flag {
      font-size: 1em;
      line-height: 1;
      cursor: default;
    }
    .equipo-lang-flag--other {
      font-size: 0.95em;
    }
    .equipo-lang-grid {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .equipo-lang-row {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.82rem;
      cursor: pointer;
    }
    .equipo-lang-row input {
      width: 18px;
      height: 18px;
      accent-color: var(--ok, var(--bv-g-34d399, #34d399));
      flex-shrink: 0;
    }
    .equipo-lang-row .equipo-lang-emoji {
      font-size: 1.15rem;
      line-height: 1;
      width: 1.4rem;
      text-align: center;
      flex-shrink: 0;
    }
    .equipo-svc-section {
      margin-bottom: 14px;
    }
    .equipo-svc-section:last-child {
      margin-bottom: 0;
    }
    .equipo-svc-section__title {
      margin: 0 0 8px;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted, #9ca3af);
    }
    .equipo-svc-grid {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .equipo-svc-row {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 0.8rem;
      cursor: pointer;
      line-height: 1.35;
    }
    .equipo-svc-row input {
      width: 18px;
      height: 18px;
      margin-top: 2px;
      accent-color: var(--ok, var(--bv-g-34d399, #34d399));
      flex-shrink: 0;
    }
    .equipo-svc-row__meta {
      display: block;
      font-size: 0.68rem;
      color: var(--muted, #9ca3af);
      margin-top: 2px;
    }
    .equipo-tab-panel .equipo-sub-card__body--servicios {
      max-height: 420px;
      overflow-y: auto;
    }
    .equipo-lang-other-inp {
      width: 100%;
      box-sizing: border-box;
      margin-top: 4px;
      padding: 8px 10px;
      border-radius: 8px;
      font-size: 0.82rem;
      border: 1px solid var(--border);
      background: var(--card, #0d1a14);
      color: var(--text);
    }
    .equipo-lang-add-row {
      display: flex;
      gap: 8px;
      align-items: stretch;
      margin-top: 4px;
    }
    .equipo-lang-add-inp {
      flex: 1;
      min-width: 0;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      font-size: 0.82rem;
      border: 1px solid var(--border);
      background: var(--card, #0d1a14);
      color: var(--text);
    }
    .equipo-lang-add-btn {
      width: auto !important;
      max-width: max-content;
      flex: 0 0 auto;
      margin: 0;
      padding: 8px 12px;
      font-size: 0.75rem;
      font-weight: 600;
      white-space: nowrap;
      min-height: auto;
      line-height: 1.2;
      align-self: stretch;
    }
    .equipo-lang-other-flags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 12px;
      margin-top: 8px;
    }
    .equipo-lang-other-flag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.78rem;
      color: rgba(255,255,255,0.75);
    }
    .equipo-lang-other-flag .equipo-lang-emoji {
      font-size: 1.15rem;
      line-height: 1;
      width: 1.4rem;
      text-align: center;
      flex-shrink: 0;
    }
    .agenda-col__sub {
      font-size: 0.6rem;
      font-weight: 500;
      color: rgba(148, 163, 184, 0.95);
      margin-top: 0;
      max-width: 100%;
    }
    .agenda-col__count {
      font-size: 0.58rem;
      color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.85);
      margin-top: 2px;
      font-weight: 600;
    }
    .agenda-col__occ {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      margin-top: 1px;
      width: 100%;
      max-width: 100%;
    }
    .agenda-col__occ-label {
      font-size: 0.5rem;
      font-weight: 600;
      line-height: 1.1;
      color: rgba(148, 163, 184, 0.95);
      text-align: center;
    }
    .agenda-col__occ-bar {
      display: block;
      width: 34px;
      height: 5px;
      border: 1px solid rgba(148, 163, 184, 0.45);
      border-radius: 2px;
      overflow: hidden;
      box-sizing: border-box;
      background: transparent;
    }
    .agenda-col__occ-bar__fill {
      display: block;
      height: 100%;
      width: 0;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.85);
      border-radius: 1px;
      transition: width 0.15s ease;
    }
    .agenda-col__occ--low .agenda-col__occ-bar__fill {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.75);
    }
    .agenda-col__occ--mid .agenda-col__occ-bar__fill {
      background: var(--c-cielo-400);
    }
    .agenda-col__occ--high .agenda-col__occ-bar__fill {
      background: var(--c-naranja-500b);
    }
    .agenda-col__occ--full .agenda-col__occ-bar__fill {
      background: var(--c-rojo-400);
    }
    .agenda-col__occ--free .agenda-col__occ-label,
    .agenda-col__occ--none .agenda-col__occ-label {
      color: rgba(148, 163, 184, 0.75);
    }
    .equipo-list {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    #panel-equipo #equipo-list-wrap.admin-data-wrap {
      border: none;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      padding: 0;
    }
    .equipo-role-group {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .equipo-role-group__title {
      margin: 0;
      padding: 0;
      font-weight: 700;
      font-size: 0.95rem;
      line-height: 1;
      color: var(--text);
    }
    .equipo-role-group:not(:first-child) .equipo-role-group__title {
      margin-top: 4px;
    }
    .equipo-role-group__divider {
      display: block;
      width: 100%;
      height: 2px;
      margin: 0 0 8px;
      padding: 0;
      border: none;
      background: linear-gradient(to right, rgba(148, 163, 184, 0.65), rgba(148, 163, 184, 0));
    }
    html.bardev-panel-theme-light #panel-equipo .equipo-role-group__divider {
      background: linear-gradient(to right, rgba(15, 23, 42, 0.28), rgba(15, 23, 42, 0));
    }
    .equipo-role-group__cards {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .equipo-card {
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 14px 16px;
      background: rgba(0, 0, 0, 0.18);
    }
    .equipo-card--pending-verify {
      border-color: rgba(180, 83, 9, 0.45);
      box-shadow: inset 0 0 0 1px rgba(180, 83, 9, 0.12);
    }
    .equipo-pending-verify {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 10px;
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 10px;
      background: rgba(180, 83, 9, 0.12);
      border: 1px solid rgba(180, 83, 9, 0.28);
    }
    .equipo-pending-verify__badge {
      display: inline-flex;
      align-items: center;
      padding: 3px 9px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--c-naranja-700b);
      background: rgba(251, 191, 36, 0.35);
      border: 1px solid rgba(180, 83, 9, 0.35);
    }
    .equipo-pending-verify__hint {
      flex: 1 1 180px;
      font-size: 0.78rem;
      line-height: 1.35;
      color: var(--muted);
    }
    .equipo-pending-verify__btn {
      height: 32px !important;
      min-height: 32px !important;
      padding: 0 12px !important;
      font-size: 0.78rem !important;
    }
    html.bardev-panel-theme-light .equipo-pending-verify__badge {
      color: var(--c-naranja-700b);
    }
    html.bardev-panel-theme-light .equipo-pending-verify__hint {
      color: var(--bd-ink-soft, #334155);
    }
    .equipo-card__top {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: stretch;
    }
    .equipo-card__photo {
      flex-shrink: 0;
      text-align: center;
    }
    .equipo-card__photo-hit {
      cursor: pointer;
      border: none;
      background: transparent;
      padding: 0;
      display: block;
      margin: 0 auto;
      border-radius: 50%;
      line-height: 0;
    }
    .equipo-card__photo-hit:hover .equipo-card__avatar,
    .equipo-card__photo-hit:hover .equipo-card__avatar-ph,
    .equipo-card__photo-hit:focus-visible .equipo-card__avatar,
    .equipo-card__photo-hit:focus-visible .equipo-card__avatar-ph {
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.45);
    }
    .equipo-card__avatar {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid var(--brand-rgba-22);
      display: block;
      margin: 0 auto;
    }
    .equipo-card__avatar-ph {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      background: rgba(255, 255, 255, 0.08);
      font-size: 1.6rem;
      font-weight: 700;
      border: 2px solid var(--brand-rgba-22);
    }
    .equipo-card__basic {
      flex: 0 1 420px;
      min-width: 200px;
      display: flex;
      flex-direction: column;
      min-height: 0;
    }
    .equipo-card__attn {
      flex: 1 1 auto;
      align-self: stretch;
      display: flex;
      flex-direction: column;
      width: 100%;
      min-height: 148px;
      margin: 4px 0 0;
      padding: 12px 14px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--bg);
      box-sizing: border-box;
    }
    .equipo-card__attn-title {
      margin: 0 0 4px;
      font-size: 0.82rem;
      font-weight: 800;
      color: var(--text);
    }
    .equipo-card__attn-n {
      margin: 0 0 8px;
      font-size: 0.72rem;
      line-height: 1.3;
      color: var(--muted);
    }
    .equipo-card__attn-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .equipo-card__attn-line {
      margin: 0 0 5px;
      font-size: 0.8rem;
      line-height: 1.35;
      color: var(--text);
    }
    .equipo-card__attn-stars {
      display: inline-flex;
      align-items: center;
      gap: 1px;
      margin-left: 4px;
      vertical-align: -0.12em;
      line-height: 0;
    }
    .equipo-card__attn-star {
      width: 13px;
      height: 13px;
      display: block;
      flex-shrink: 0;
    }
    .equipo-card__attn-empty {
      margin: 0;
      font-size: 0.78rem;
      color: var(--muted);
    }
    html.bardev-panel-theme-light .equipo-card__attn {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #e5e7eb);
    }
    html.bardev-panel-theme-light .equipo-card__attn-title {
      color: var(--bd-ink, #111827);
    }
    html.bardev-panel-theme-light .equipo-card__attn-line {
      color: var(--bd-ink, #111827);
    }
    .equipo-card__bio {
      flex: 1 1 320px;
      min-width: 260px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .equipo-card__bio-ta {
      width: 100%;
      min-height: calc(1.35em * 10 + 20px);
      resize: vertical;
      line-height: 1.35;
      font-weight: 500;
    }
    .equipo-card__bio-hint {
      margin: 0;
      font-size: 0.72rem;
      line-height: 1.35;
    }
    .equipo-card__bio-photos {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .equipo-card__bio-thumbs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .equipo-card__bio-thumb {
      position: relative;
      width: 72px;
      height: 72px;
      border-radius: 10px;
      overflow: hidden;
      border: 1px solid var(--border);
      background: var(--bg);
    }
    .equipo-card__bio-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .equipo-card__bio-thumb-del {
      position: absolute;
      top: 2px;
      right: 2px;
      width: 22px;
      height: 22px;
      border: 0;
      border-radius: 999px;
      background: rgba(15, 23, 42, 0.72);
      color: var(--c-blanco);
      font-size: 14px;
      line-height: 1;
      cursor: pointer;
      padding: 0;
    }
    .equipo-card__bio-add {
      width: auto !important;
      height: 36px !important;
      min-height: 36px !important;
      padding: 0 12px !important;
    }
    html.bardev-panel-theme-light .equipo-card__bio-thumb-del {
      background: rgba(15, 23, 42, 0.62);
    }
    .equipo-card__basic dl {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 4px 12px;
      margin: 0;
      font-size: 0.88rem;
    }
    .equipo-card__basic dt {
      color: var(--muted);
      margin: 0;
    }
    .equipo-card__basic dd {
      margin: 0;
    }
    .equipo-card__profile-fields {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin: 0 0 8px;
      max-width: 420px;
    }
    .equipo-card__profile-fields--primary {
      margin-bottom: 6px;
    }
    .equipo-card__profile-more {
      margin: 0 0 8px;
      max-width: 420px;
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
    }
    .equipo-card__profile-more-sum {
      cursor: pointer;
      list-style: none;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
      padding: 10px 12px;
      margin: 0;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--muted);
      user-select: none;
    }
    .equipo-card__profile-more-sum::-webkit-details-marker {
      display: none;
    }
    .equipo-card__profile-more-sum::marker {
      content: '';
    }
    .equipo-card__profile-more-lead {
      flex: 1 1 auto;
      min-width: 0;
    }
    .equipo-card__profile-more-title {
      display: block;
      font-weight: 600;
    }
    .equipo-card__profile-more-hint {
      display: block;
      margin-top: 2px;
      font-weight: 500;
      font-size: 0.72rem;
      opacity: 0.88;
      line-height: 1.35;
    }
    .equipo-card__profile-more[open] .equipo-card__profile-more-hint {
      display: none;
    }
    .equipo-card__profile-more-toggle {
      flex: 0 0 auto;
      align-self: flex-end;
      margin-left: auto;
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--accent, #22c55e);
      white-space: nowrap;
      text-align: right;
    }
    .equipo-card__profile-more-toggle-less {
      display: none;
    }
    .equipo-card__profile-more[open] .equipo-card__profile-more-toggle-more {
      display: none;
    }
    .equipo-card__profile-more[open] .equipo-card__profile-more-toggle-less {
      display: inline;
    }
    .equipo-card__profile-more-inner {
      padding: 10px 12px 12px;
      border-top: 1px solid var(--border);
    }
    .equipo-card__profile-more-inner .equipo-card__profile-fields {
      margin-bottom: 8px;
    }
    .equipo-pin-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: flex-end;
      margin: 0;
    }
    .equipo-prof-lab--pin {
      flex: 1 1 140px;
      min-width: 120px;
      margin: 0;
    }
    .equipo-prof-inp--pin {
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.18em;
      text-align: center;
    }
    .equipo-pin-row-hint {
      margin: 4px 0 0;
      font-size: 0.72rem;
      opacity: 0.75;
      flex-basis: 100%;
    }
    .equipo-nfc-row {
      flex-basis: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 8px;
    }
    .equipo-nfc-row .btn {
      width: auto !important;
      height: 40px;
      min-height: 40px;
      padding: 0 14px !important;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .equipo-nfc-row__ico {
      display: inline-flex;
      width: 18px;
      height: 18px;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .equipo-nfc-row__status {
      font-size: 0.75rem;
    }
    .equipo-wallet-surface {
      width: var(--bd-modal-w);
      max-width: var(--bd-modal-w);
    }
    .equipo-wallet-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding-bottom: 14px;
      border-bottom: 1px solid var(--bd-n-200);
    }
    .equipo-wallet-head h3 {
      margin: 0;
      color: var(--bd-ink);
    }
    .equipo-wallet-body {
      padding: 16px 0;
    }
    .equipo-wallet-card {
      display: flex;
      flex-direction: column;
      padding: 22px 22px 20px;
      border-radius: 22px;
      background: var(--bv-g-0f3d24, #0f3d24);
      background-color: var(--bv-g-0f3d24, #0f3d24);
      background-image: none;
      color: var(--c-beis-50);
      box-shadow: var(--bd-shadow-sm, 0 8px 20px rgba(15, 23, 42, 0.12));
      font-family: Georgia, "Times New Roman", serif;
    }
    .equipo-wallet-card__head {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      min-height: 120px;
    }
    .equipo-wallet-card__brand {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
    }
    .equipo-wallet-card__logo {
      width: 112px;
      height: 112px;
      padding: 0;
      box-sizing: border-box;
      object-fit: cover;
      object-position: center;
      border: 0;
      border-radius: 24px;
      background: transparent;
      box-shadow: none;
      flex: 0 0 auto;
    }
    html.bardev-panel-theme-light article.equipo-wallet-card,
    html.bardev-panel-theme-light .equipo-wallet-card {
      background: var(--bv-g-0f3d24, #0f3d24) !important;
      background-color: var(--bv-g-0f3d24, #0f3d24) !important;
      background-image: none !important;
      color: var(--c-beis-50) !important;
      border: none;
    }
    html.bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__name,
    html.bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__role,
    html.bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__qr-hint {
      color: var(--c-beis-50) !important;
    }
    html.bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__kind,
    html.bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__lab {
      color: var(--c-ambar-400) !important;
    }
    html.bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__logo {
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      border-radius: 24px !important;
    }
    .equipo-wallet-card__kind {
      position: absolute;
      top: 0;
      right: 0;
      font-size: 0.72rem;
      letter-spacing: 0.16em;
      color: var(--c-ambar-400);
    }
    .equipo-wallet-card__rule {
      height: 1px;
      margin: 16px 0 20px;
      background: rgba(196, 164, 106, 0.55);
    }
    .equipo-wallet-card__lab {
      margin: 0;
      font-size: 0.62rem;
      letter-spacing: 0.16em;
      color: var(--c-ambar-400);
      font-family: Georgia, "Times New Roman", serif;
    }
    .equipo-wallet-card__name {
      margin: 6px 0 18px;
      font-size: 2rem;
      font-weight: 500;
      letter-spacing: -0.02em;
      line-height: 1.05;
      color: var(--c-beis-50);
    }
    .equipo-wallet-card__role {
      margin: 6px 0 0;
      font-size: 1.15rem;
      font-weight: 500;
      color: var(--c-beis-50);
    }
    .equipo-wallet-card__qr {
      align-self: center;
      width: 132px;
      height: 132px;
      margin: 28px 0 0;
      padding: 10px;
      border-radius: 8px;
      background: var(--c-blanco);
    }
    .equipo-wallet-card__qr-hint {
      margin: 12px 0 0;
      text-align: center;
      font-size: 0.82rem;
      color: var(--c-beis-50);
    }
    .equipo-wallet-hint,
    .equipo-wallet-status {
      margin: 12px 0 0;
      line-height: 1.45;
      color: var(--bd-ink-soft, #4b5563);
    }
    .equipo-wallet-foot {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding-top: 14px;
      border-top: 1px solid var(--bd-n-200);
    }
    .equipo-wallet-foot .bd-btn:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    .members-dev-list {
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: var(--bg);
    }
    .members-overlay__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: 12px;
      margin-bottom: 12px;
    }
    .members-overlay__head-text {
      flex: 1;
      min-width: 0;
    }
    .members-overlay__head-text h3 {
      margin: 0;
    }
    .members-overlay__head-text .sub {
      margin: 4px 0 0;
      font-size: 0.82rem;
      line-height: 1.45;
    }
    #members-overlay #btn-member-create-open {
      width: auto;
      flex: 0 0 auto;
      align-self: flex-start;
      margin: 0;
      padding: 6px 12px;
      font-size: 0.78rem;
      white-space: nowrap;
    }
    .members-dev-list__empty {
      margin: 0;
      padding: 20px 16px;
      text-align: center;
      font-size: 0.84rem;
      line-height: 1.5;
      color: var(--muted);
    }
    .members-dev-list__row {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 10px 12px;
      border-bottom: 1px solid var(--border);
      min-height: 52px;
    }
    .members-dev-list__row:last-child {
      border-bottom: none;
    }
    .members-dev-list__main {
      flex: 1;
      min-width: 0;
    }
    .members-dev-list__name {
      font-weight: 600;
      font-size: 0.88rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .members-dev-list__email {
      font-size: 0.78rem;
      color: var(--muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      margin-top: 2px;
    }
    .members-dev-list__meta {
      font-size: 0.72rem;
      color: var(--muted);
      margin-top: 4px;
      line-height: 1.45;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .equipo-card__profile-userid {
      margin: 0;
      font-size: 0.72rem;
      color: var(--muted);
    }
    .equipo-prof-lab {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--muted);
    }
    .equipo-prof-inp,
    .equipo-prof-sel {
      width: 100%;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.9rem;
      font-weight: 500;
    }
    .equipo-card__actions--profile {
      margin-top: 12px;
      margin-bottom: 4px;
    }
    .equipo-card__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      margin-top: 10px;
    }
    .equipo-card__tabs-wrap {
      margin-top: 14px;
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      overflow: visible;
    }
    /* Fichas de empleado: mismas pestañas que el resto del panel (.bardev-tabs-row). */
    .equipo-card .equipo-tabs {
      margin-bottom: 12px;
    }
    .equipo-card .equipo-tabs .bardev-tabs-row {
      gap: 6px 14px;
    }
    .equipo-card .equipo-tabs button[role='tab'] {
      white-space: nowrap;
    }
    .equipo-tab-panel:not(.equipo-tab-panel--active) {
      display: none;
    }
    .equipo-tab-panel--active {
      display: block;
    }
    .equipo-tab-panel .equipo-sub-card--tile {
      margin-top: 0;
    }
    .equipo-tab-panel .equipo-sub-card__body {
      max-height: 320px;
    }
    .equipo-tab-panel .equipo-sub-card__body--comm {
      max-height: none;
    }
    .equipo-card__save-row {
      margin-top: 12px;
      display: flex;
      justify-content: flex-end;
    }
    .equipo-mini-btn {
      width: auto !important;
      max-width: max-content;
      flex: 0 0 auto;
      margin-top: 0 !important;
      padding: 3px 10px !important;
      font-size: 0.72rem !important;
      min-height: auto;
      line-height: 1.2;
    }
    .equipo-sub-card__body--avisos {
      max-height: none;
    }
    .equipo-avisos-lab {
      display: flex;
      flex-direction: column;
      gap: 6px;
      font-size: 0.78rem;
      color: var(--text-secondary, #cbd5e1);
      margin-bottom: 12px;
    }
    .equipo-avisos-toggles {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .equipo-avisos-toggle {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 0.76rem;
      line-height: 1.35;
      color: var(--text-secondary, #e5e7eb);
      cursor: pointer;
    }
    .equipo-avisos-toggle input {
      margin-top: 3px;
      flex-shrink: 0;
    }
    .equipo-avisos-phone {
      display: inline;
      margin-left: 4px;
      font-size: 0.72rem;
      color: var(--text-tertiary, #94a3b8);
      opacity: 0.9;
      white-space: nowrap;
    }
    .equipo-avisos-phone--missing {
      color: var(--c-naranja-500b);
      opacity: 0.95;
    }
    .equipo-avisos-block2 {
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid rgba(148, 163, 184, 0.22);
    }
    .equipo-sub-card--tile {
      margin-top: 0;
      padding: 10px 12px;
      display: flex;
      flex-direction: column;
      min-height: 0;
    }
    .equipo-sub-card--tile .equipo-sub-card__head {
      margin-bottom: 6px;
      gap: 6px;
    }
    .equipo-sub-card--tile .equipo-sub-card__head h4 {
      font-size: 0.82rem;
      line-height: 1.25;
      flex: 1;
      min-width: 0;
    }
    .equipo-sub-card__body {
      font-size: 0.78rem;
      line-height: 1.45;
      flex: 1;
      min-height: 0;
      overflow: auto;
      max-height: 180px;
    }
    .equipo-sub-card__body--comm {
      max-height: none;
    }
    .equipo-sub-card__stat {
      margin: 0;
      font-size: 0.78rem;
      color: var(--muted);
    }
    .equipo-sub-card__stat strong {
      color: var(--text);
    }
    .equipo-comm-inp {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      padding: 6px 8px;
      border-radius: 8px;
      font-size: 0.8rem;
    }
    .equipo-comm-lab {
      display: block;
      font-size: 0.7rem;
      margin-bottom: 4px;
      color: var(--muted);
    }
    .equipo-comm-stack {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .equipo-schedule-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
      margin-top: 8px;
    }
    .equipo-schedule-table th,
    .equipo-schedule-table td {
      padding: 6px 8px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      text-align: left;
    }
    .equipo-schedule-table th {
      color: var(--muted);
      font-weight: 500;
    }
    .equipo-sub-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 12px 14px;
      background: rgba(0,0,0,0.12);
      margin-top: 12px;
    }
    .equipo-card__grid .equipo-sub-card {
      margin-top: 0;
    }
    .equipo-sub-card__head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 8px;
    }
    .equipo-sub-card__head h4 {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 600;
    }
    .equipo-sch-group {
      margin-bottom: 6px;
    }
    .equipo-sch-days {
      font-weight: 600;
      font-size: 0.85rem;
      margin-bottom: 2px;
    }
    .equipo-sch-shift {
      padding-left: 16px;
      font-size: 0.82rem;
      color: rgba(255,255,255,0.75);
      line-height: 1.5;
    }
    .equipo-sch-total {
      font-size: 0.78rem;
      color: var(--muted);
      margin-top: 2px;
      padding-left: 16px;
    }
    .equipo-vac-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 4px 0;
      font-size: 0.82rem;
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .equipo-vac-row:last-child {
      border-bottom: none;
    }
    .equipo-vac-dates {
      color: rgba(255,255,255,0.75);
    }
    .equipo-vac-days {
      font-weight: 600;
      white-space: nowrap;
    }
    .equipo-vac-summary {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 10px 16px;
      margin-top: 8px;
      padding-top: 8px;
      border-top: 1px solid var(--border);
      font-size: 0.82rem;
    }
    .equipo-vac-summary__item {
      color: var(--muted);
    }
    .equipo-vac-summary__item strong {
      font-weight: 700;
      color: inherit;
    }
    .equipo-vac-summary__item--done strong {
      color: var(--c-pizarra-350b);
    }
    .equipo-vac-summary__item--pending strong {
      color: var(--c-azul-300);
    }
    .equipo-vac-total {
      margin-top: 6px;
      font-weight: 700;
      font-size: 0.88rem;
      text-align: right;
    }
    .equipo-clockin-toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 10px;
      font-size: 0.85rem;
    }
    .agenda-col__body {
      position: relative;
      box-sizing: border-box;
      background-color: rgba(250, 251, 252, 0.05);
    }
    .agenda-break {
      position: absolute;
      left: 3px;
      right: 3px;
      border-radius: 6px;
      z-index: 1;
      pointer-events: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      padding: 2px;
      box-sizing: border-box;
    }
    /* Mismo rallado negro que el descanso entre turnos: antes del 1.er tramo y tras el último del día */
    .agenda-break--entre-turnos,
    .agenda-break--fuera-jornada {
      border: 1px solid rgba(255, 255, 255, 0.12);
      background-color: #050505;
      background-image: repeating-linear-gradient(
        -45deg,
        var(--c-negro) 0px,
        var(--c-negro) 5px,
        var(--c-gris-950e) 5px,
        var(--c-gris-950e) 10px
      );
      box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.85);
    }
    .agenda-break__txt {
      font-size: 0.58rem;
      font-weight: 700;
      color: rgba(255, 255, 255, 0.88);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
    }
    .agenda-break__time {
      font-size: 0.55rem;
      color: rgba(226, 232, 240, 0.82);
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
    }
    /* Fondo rayado horario especial (debajo de fichajes) */
    .agenda-break--horario-especial-bg {
      z-index: 1;
      border: 1px dashed rgba(255, 255, 255, 0.55);
      background-color: rgba(248, 250, 252, 0.32);
      background-image: repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, 0.5) 0px,
        rgba(255, 255, 255, 0.5) 5px,
        rgba(226, 232, 240, 0.18) 5px,
        rgba(226, 232, 240, 0.18) 10px
      );
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
      pointer-events: none;
    }
    /* Píldora negra horario especial (debajo de marcas de fichaje) */
    .agenda-break--horario-especial-pill {
      z-index: 5;
      background: transparent !important;
      background-image: none !important;
      border: none !important;
      box-shadow: none !important;
      pointer-events: none;
    }
    .agenda-break--horario-especial-pill.agenda-break--horario-especial-wl-alert {
      z-index: 5;
    }
    .agenda-break--horario-especial-bg.agenda-break--horario-especial-wl-alert {
      z-index: 2;
      animation: agenda-wl-ghost-cajon-bg-blink 3.5s ease-in-out infinite;
    }
    .agenda-break__especial-capsule {
      position: relative;
      z-index: 1;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1px;
      max-width: calc(100% - 6px);
      padding: 4px 10px;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.9);
      border: 1px solid rgba(255, 255, 255, 0.2);
      box-shadow: 0 1px 5px rgba(0, 0, 0, 0.45);
      line-height: 1.15;
      text-align: center;
    }
    .agenda-break__especial-capsule .agenda-break__txt--especial {
      color: var(--c-blanco);
      font-weight: 700;
      font-size: 0.58rem;
      text-shadow: none;
      letter-spacing: 0.03em;
    }
    .agenda-break__especial-capsule .agenda-break__time {
      color: rgba(248, 250, 252, 0.92);
      font-size: 0.52rem;
      text-shadow: none;
    }
    .agenda-break__especial-capsule--wl-alert {
      border-color: rgba(251, 191, 36, 0.75);
      box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.28), 0 1px 8px rgba(0, 0, 0, 0.5);
    }
    /* Etiqueta «Descanso» solo en tramos de descanso sin turno especial encima */
    .agenda-break--descanso-label {
      z-index: 1;
      background: transparent !important;
      background-image: none !important;
      border: none !important;
      box-shadow: none !important;
    }
    /* Fichajes: línea a ancho de columna + cápsula pegada (como Staff) */
    .agenda-fichaje-punch {
      position: absolute;
      left: 0;
      right: 0;
      width: auto;
      max-width: none;
      z-index: 8;
      height: 0;
      padding: 0;
      margin: 0;
      background: transparent !important;
      border: none !important;
      border-radius: 0;
      box-shadow: none;
      color: var(--c-blanco);
      pointer-events: none;
      transform: none;
      overflow: visible;
    }
    .agenda-fichaje-punch__rail {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 0;
      border-top: 2px solid var(--c-azul-450);
      pointer-events: none;
    }
    .agenda-fichaje-punch--out .agenda-fichaje-punch__rail {
      border-top-color: var(--c-naranja-500);
    }
    .agenda-fichaje-punch__lbl {
      position: absolute;
      left: 4px;
      padding: 2px 6px;
      font-size: 0.56rem;
      font-weight: 700;
      line-height: 1.2;
      color: var(--c-blanco);
      white-space: nowrap;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
      pointer-events: none;
    }
    /* Entrada: cápsula azul pegada encima de la línea */
    .agenda-fichaje-punch--in .agenda-fichaje-punch__lbl {
      bottom: 100%;
      top: auto;
      margin-bottom: -1px;
      background: var(--c-azul-450);
      border: 1px solid rgba(30, 64, 175, 0.45);
      border-radius: 6px 6px 0 0;
    }
    /* Salida: cápsula naranja pegada debajo de la línea */
    .agenda-fichaje-punch--out .agenda-fichaje-punch__lbl {
      top: 0;
      bottom: auto;
      margin-top: 0;
      background: var(--c-naranja-500);
      border: 1px solid rgba(154, 52, 18, 0.4);
      border-radius: 0 0 6px 6px;
    }
    .agenda-fichaje-punch--draggable {
      pointer-events: auto;
      cursor: grab;
      touch-action: none;
      user-select: none;
    }
    .agenda-fichaje-punch--draggable .agenda-fichaje-punch__lbl {
      pointer-events: auto;
    }
    /* Zona de arrastre alrededor de la línea (sin desplazar la marca) */
    .agenda-fichaje-punch--draggable::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: -10px;
      height: 22px;
      cursor: grab;
    }
    .agenda-fichaje-punch--draggable:hover .agenda-fichaje-punch__lbl {
      filter: brightness(1.08);
    }
    .agenda-fichaje-punch--dragging {
      cursor: grabbing;
      z-index: 16;
      opacity: 0.96;
    }
    .agenda-fichaje-punch--dragging .agenda-fichaje-punch__lbl {
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45);
    }
    html.bardev-panel-theme-light .agenda-fichaje-punch--in .agenda-fichaje-punch__lbl {
      background: var(--c-azul-450);
      color: var(--c-blanco);
      border-color: rgba(30, 64, 175, 0.45);
    }
    html.bardev-panel-theme-light .agenda-fichaje-punch--out .agenda-fichaje-punch__lbl {
      background: var(--c-naranja-500);
      color: var(--c-blanco);
      border-color: rgba(154, 52, 18, 0.4);
    }
    /* Festivo en la agenda: colores corporativos (titular, 09-10-2026): rojos claros sobre el Rojo
       señal y grises, en lugar del ámbar. Tema oscuro aquí; el claro, justo debajo. */
    .agenda-festivo-banner {
      width: 100%;
      box-sizing: border-box;
      margin: 0 0 10px;
      padding: 10px 14px;
      border-radius: 10px;
      border: 1px solid rgba(200, 70, 61, 0.45);
      background: rgba(200, 70, 61, 0.14);
      color: var(--text);
      font-size: 0.86rem;
      line-height: 1.4;
    }
    .agenda-festivo-banner strong {
      color: var(--c-rojo-senal-claro);
    }
    .agenda-col__sub--festivo {
      text-decoration: line-through;
      text-decoration-thickness: 1.5px;
      text-decoration-color: rgba(200, 70, 61, 0.75);
      opacity: 0.72;
      color: rgba(148, 163, 184, 0.75);
    }
    .agenda-col__festivo-sub {
      font-size: 0.58rem;
      font-weight: 700;
      color: var(--c-rojo-senal-claro);
      margin-top: 3px;
      line-height: 1.2;
      max-width: 100%;
      word-break: break-word;
    }
    .agenda-col__body--festivo {
      box-shadow: inset 0 0 0 1px rgba(200, 70, 61, 0.14);
    }
    .agenda-festivo-bloque {
      position: absolute;
      left: 3px;
      right: 3px;
      border-radius: 6px;
      z-index: 1;
      pointer-events: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      padding: 3px 4px;
      box-sizing: border-box;
      border: 1px dashed rgba(200, 70, 61, 0.5);
      background-color: rgba(148, 163, 184, 0.1);
      background-image: repeating-linear-gradient(
        -42deg,
        rgba(200, 70, 61, 0.16) 0px,
        rgba(200, 70, 61, 0.16) 1px,
        transparent 1px,
        transparent 7px
      );
    }
    .agenda-festivo-bloque__name {
      font-size: 0.58rem;
      font-weight: 800;
      color: var(--c-rojo-senal-claro);
      text-align: center;
      line-height: 1.15;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .agenda-festivo-bloque__hint {
      font-size: 0.52rem;
      font-weight: 600;
      color: rgba(203, 213, 225, 0.85);
    }
    html.bardev-panel-theme-light .agenda-festivo-banner {
      border-color: rgba(200, 70, 61, 0.3);
      background: #fbeceb;
      color: #3d4752;
    }
    html.bardev-panel-theme-light .agenda-festivo-banner strong,
    html.bardev-panel-theme-light .agenda-col__festivo-sub {
      color: #a3362e;
    }
    html.bardev-panel-theme-light .agenda-festivo-bloque {
      border-color: rgba(200, 70, 61, 0.35);
      background-color: #f3f5f8;
      background-image: repeating-linear-gradient(
        -42deg,
        rgba(200, 70, 61, 0.12) 0px,
        rgba(200, 70, 61, 0.12) 1px,
        transparent 1px,
        transparent 7px
      );
    }
    html.bardev-panel-theme-light .agenda-festivo-bloque__name {
      color: #c8463d;
    }
    html.bardev-panel-theme-light .agenda-festivo-bloque__hint {
      color: #4a5560;
    }
    .agenda-col__sub--vacacion {
      color: var(--c-indigo-150);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      font-size: 0.62rem;
    }
    .agenda-col__vac-meta {
      font-size: 0.58rem;
      font-weight: 600;
      color: rgba(196, 181, 253, 0.92);
      margin-top: 2px;
      line-height: 1.2;
      max-width: 100%;
      word-break: break-word;
    }
    .agenda-col__vac-back {
      font-size: 0.56rem;
      font-weight: 700;
      color: var(--c-indigo-250);
      margin-top: 2px;
      line-height: 1.2;
    }
    .agenda-tracks-row .agenda-col__body.agenda-col__body--vacacion {
      background-color: var(--c-pizarra-850);
      background-image: repeating-linear-gradient(
        -45deg,
        rgba(139, 92, 246, 0.1) 0px,
        rgba(139, 92, 246, 0.1) 8px,
        rgba(139, 92, 246, 0.04) 8px,
        rgba(139, 92, 246, 0.04) 16px
      );
      background-size: auto;
      background-position: 0 0;
      background-repeat: repeat;
      box-shadow: inset 0 0 0 1px rgba(167, 139, 250, 0.16);
    }
    .agenda-vacacion-bloque {
      position: absolute;
      left: 3px;
      right: 3px;
      top: 0;
      height: 100%;
      border-radius: 6px;
      z-index: 2;
      pointer-events: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      padding: 8px 6px;
      box-sizing: border-box;
      border: none;
      background: transparent;
      box-shadow: none;
    }
    .agenda-vacacion-bloque__name {
      font-size: 0.62rem;
      font-weight: 800;
      color: var(--c-indigo-50);
      text-align: center;
      line-height: 1.15;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .agenda-vacacion-bloque__period,
    .agenda-vacacion-bloque__days,
    .agenda-vacacion-bloque__back {
      font-size: 0.54rem;
      font-weight: 600;
      color: rgba(237, 233, 254, 0.92);
      text-align: center;
      line-height: 1.2;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
      max-width: 100%;
      word-break: break-word;
    }
    .agenda-vacacion-bloque__back {
      font-weight: 700;
      color: var(--c-indigo-150);
    }
    /* Horarios y turnos (plantillas + días) */
    .horarios-section {
      margin-top: 18px;
      padding: 14px 16px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.16);
    }
    .horarios-section h3 {
      margin: 0 0 10px;
      font-size: 1rem;
      font-weight: 600;
    }
    .horarios-section-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 6px 10px;
      margin-bottom: 8px;
    }
    .horarios-section-head h3 {
      margin: 0;
      flex: 1 1 auto;
      min-width: min(100%, 200px);
    }
    .horarios-shift-actions {
      display: inline-flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
    }
    .horarios-shift-actions .btn {
      width: auto !important;
      flex: 0 0 auto;
      margin-top: 0 !important;
      padding: 5px 10px !important;
      font-size: 0.72rem !important;
      border-radius: 8px;
      line-height: 1.2;
      white-space: nowrap;
    }
    .horarios-shift-table-wrap {
      width: fit-content;
      max-width: 100%;
      margin-right: auto;
    }
    .horarios-shift-table {
      width: auto;
      border-collapse: collapse;
      font-size: 0.78rem;
      table-layout: auto;
    }
    .horarios-shift-table th,
    .horarios-shift-table td {
      padding: 4px 10px 4px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      text-align: left;
      vertical-align: middle;
      white-space: nowrap;
    }
    .horarios-shift-table th:first-child,
    .horarios-shift-table td:first-child {
      padding-left: 0;
    }
    .horarios-shift-table th:last-child,
    .horarios-shift-table td:last-child {
      padding-right: 0;
    }
    .horarios-shift-table td:first-child {
      white-space: normal;
      max-width: 200px;
    }
    .horarios-shift-table th {
      color: var(--muted);
      font-weight: 500;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .horarios-shift-table .horarios-inp-label {
      width: 100%;
      max-width: 168px;
      min-width: 110px;
      padding: 4px 8px;
      font-size: 0.8rem;
      border-radius: 8px;
      box-sizing: border-box;
    }
    .horarios-shift-table .horarios-inp-start,
    .horarios-shift-table .horarios-inp-end {
      width: 5.25rem;
      min-width: 4.75rem;
      padding: 3px 4px;
      font-size: 0.78rem;
      border-radius: 6px;
      box-sizing: border-box;
    }
    .horarios-shift-table .horarios-inp-active {
      width: 16px;
      height: 16px;
      vertical-align: middle;
      accent-color: var(--ok);
    }
    .horarios-shift-table .horarios-btn-remove {
      width: auto !important;
      margin-top: 0 !important;
      padding: 3px 8px !important;
      font-size: 0.68rem !important;
      border-radius: 6px;
    }
    .horarios-day {
      margin-top: 10px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 10px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.12);
    }
    .horarios-day > summary {
      list-style: none;
      cursor: pointer;
      padding: 12px 14px;
      font-weight: 600;
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 10px;
      user-select: none;
    }
    .horarios-day > summary::-webkit-details-marker {
      display: none;
    }
    .horarios-day-label {
      flex: 1 1 auto;
      min-width: 0;
      text-align: left;
    }
    .horarios-summary-right {
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 6px;
      max-width: min(100%, 280px);
    }
    .horarios-copy-row {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 6px;
      font-weight: 400;
      font-size: 0.82rem;
    }
    .horarios-copy-row .horarios-copy-from {
      width: 100%;
      max-width: 220px;
      box-sizing: border-box;
    }
    .horarios-copy-btn {
      align-self: stretch;
      max-width: 220px;
    }
    .horarios-copy-banner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 12px;
      margin: 0 0 12px;
      padding: 8px 10px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 0.82rem;
    }
    .horarios-copy-banner .horarios-copy-from {
      min-width: 140px;
      max-width: 220px;
      padding: 6px 8px;
      border-radius: 8px;
    }
    .horarios-resumen-section {
      margin-top: 20px;
    }
    .horarios-resumen-card {
      margin-top: 10px;
      padding: 14px 16px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: rgba(15, 41, 34, 0.25);
    }
    .horarios-resumen-lead {
      margin: 0 0 12px;
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--muted);
    }
    .horarios-resumen-lead--common {
      color: var(--bv-g-a7f3d0, #a7f3d0);
    }
    .horarios-resumen-emp-block {
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
    .horarios-resumen-emp-block:first-of-type {
      margin-top: 0;
      padding-top: 0;
      border-top: none;
    }
    .horarios-resumen-emp-name {
      font-weight: 700;
      font-size: 0.92rem;
      margin-bottom: 8px;
    }
    .horarios-resumen-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    .horarios-resumen-table th,
    .horarios-resumen-table td {
      text-align: left;
      vertical-align: top;
      padding: 8px 10px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .horarios-resumen-table th {
      color: var(--muted);
      font-weight: 600;
      width: 38%;
    }
    .horarios-resumen-td-dias {
      white-space: nowrap;
      font-weight: 600;
    }
    .horarios-resumen-turno-line {
      margin: 2px 0;
      line-height: 1.35;
    }
    .horarios-resumen-turno-line strong {
      color: var(--text);
    }
    .horarios-day-chevron {
      flex: 0 0 auto;
      opacity: 0.6;
      font-size: 0.85rem;
      transition: transform 0.15s ease;
    }
    .horarios-day[open] > summary .horarios-day-chevron {
      transform: rotate(90deg);
    }
    .horarios-day-body {
      padding: 0 14px 14px;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
    }
    .horarios-shift-day-block {
      margin-top: 12px;
      padding: 10px 12px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.06);
    }
    .horarios-emp-header {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 6px 10px;
      margin: 4px 0 6px;
      min-width: 0;
    }
    .horarios-emp-title {
      margin: 0;
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.82rem;
    }
    .horarios-emp-toggles {
      display: inline-flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 4px;
      flex: 0 0 auto;
      margin-left: auto;
    }
    .horarios-emp-toggle {
      padding: 2px 7px !important;
      font-size: 0.68rem !important;
      line-height: 1.2;
      white-space: nowrap;
    }
    .horarios-emp-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 16px;
      margin-top: 4px;
    }
    .horarios-emp-grid label,
    .horarios-emp-grid .horarios-emp-item {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.82rem;
      cursor: pointer;
    }
    .horarios-emp-name {
      font-weight: 600;
      letter-spacing: 0.02em;
    }
    .horarios-emp-avatar {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      flex-shrink: 0;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid var(--brand-rgba-22);
      background: rgba(255, 255, 255, 0.06);
    }
    .horarios-emp-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .horarios-emp-avatar--ph {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--muted);
    }
    html.bardev-panel-theme-light .horarios-emp-avatar {
      background: var(--c-gris-50b);
      border-color: rgba(15, 23, 42, 0.1);
    }
    html.bardev-panel-theme-light .horarios-emp-avatar--ph {
      color: var(--c-pizarra-550);
    }
    .agenda-card {
      position: absolute;
      left: 3px;
      right: 3px;
      border-radius: 8px;
      padding: 2px 3px 2px 6px;
      line-height: 1.15;
      /* visible: evita que hidden+visible fuerce overflow-y:auto y barra dentro de la tarjeta */
      overflow: visible;
      max-width: calc(100% - 6px);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
      border-left: 4px solid var(--bv-g-34d399, #34d399);
      background: linear-gradient(135deg, rgba(15, 41, 34, 0.995) 0%, rgba(17, 55, 45, 0.99) 100%);
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
      cursor: pointer;
      pointer-events: auto;
      z-index: 4;
      min-height: 36px;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      container-type: size;
      user-select: none;
      -webkit-user-select: none;
      -webkit-touch-callout: none;
      -webkit-font-smoothing: antialiased;
      --agenda-rail-icon: 14px;
      --agenda-rail-w: calc(var(--agenda-rail-icon) + 8px);
      /* Reserva lateral: solo iconos (sin cápsula), tamaño medio fijo siempre */
      --agenda-cobrado-strip-w: 5.75rem;
      --agenda-cobrado-accent: var(--bv-g-34d399, #34d399);
      --agenda-cobrado-ico: 15px;
      --agenda-cobrado-row-h: 15px;
      --agenda-cobrado-paid-ico: var(--agenda-cobrado-ico);
      --agenda-cobrado-paid-fs: 0.56rem;
      --agenda-cobrado-pay-ico: var(--agenda-cobrado-ico);
      --agenda-cobrado-bag-ico: 14px;
      --agenda-cobrado-shop-fs: 0.62rem;
      --agenda-cobrado-panel-pad: 0;
      --agenda-cobrado-panel-gap: 4px;
      /* Escala tipográfica del cajón (1 = 100%). 0.75 ≈ −25% */
      --agenda-text-scale: 0.75;
    }
    @keyframes agenda-wl-ghost-cajon-bg-blink {
      0%, 100% { opacity: 0; }
      50% { opacity: 1; }
    }
    @keyframes agenda-wl-ghost-cajon-blink {
      0%, 100% { opacity: 0; }
      50% { opacity: 1; }
    }
    @keyframes agenda-wl-ghost-card-pulse {
      0%, 100% { opacity: 0.1; }
      50% { opacity: 0.55; }
    }
    .agenda-card--waitlist-ghost {
      z-index: 9;
      cursor: default;
      border-style: dashed;
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.55);
      border-left-style: solid;
      border-left-width: 4px;
      border-left-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.75);
      background: linear-gradient(135deg, rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35) 0%, rgba(var(--bv-g-rgb-065f46, 6, 95, 70), 0.28) 100%);
      box-shadow: none;
      opacity: 0;
      animation: agenda-wl-ghost-card-pulse 4.5s ease-in-out infinite;
      pointer-events: none;
      overflow: hidden;
      will-change: opacity;
    }
    /* Hueco libre: siempre clicable (evita que el clic caiga en la columna y abra «Nueva cita»). */
    .agenda-card--waitlist-ghost--clickable {
      z-index: 22 !important;
      cursor: pointer !important;
      pointer-events: auto !important;
    }
    .agenda-card--waitlist-ghost--clickable .agenda-card__body {
      pointer-events: auto !important;
    }
    .agenda-card--waitlist-ghost::before {
      display: none;
    }
    /* Faldón inferior dentro del cajón (lista de espera en huecos ocupados). */
    .agenda-card--has-wl-foot {
      z-index: 26 !important;
      padding: 0;
      overflow: visible;
      --agenda-wl-foot-h: 15px;
      --agenda-rail-w: calc(var(--agenda-rail-icon) + 8px);
    }
    .agenda-card--has-wl-foot .agenda-card__body {
      flex: 1 1 auto;
      min-height: 0;
      overflow: hidden;
      border-radius: 7px 7px 0 0;
      box-shadow: 0 8px 14px -6px rgba(15, 23, 42, 0.32);
    }
    .agenda-card--has-wl-foot:has(.agenda-card__rail) .agenda-card__body {
      padding-right: var(--agenda-rail-w);
    }
    .agenda-card--has-wl-foot:has(.agenda-card__rail) .agenda-card__rail {
      width: var(--agenda-rail-w);
      padding-top: 1px;
      padding-bottom: 11px;
      box-sizing: border-box;
    }
    .agenda-card--has-wl-foot > .agenda-card__resize {
      right: 1px;
      bottom: 0;
      z-index: 32;
    }
    .agenda-card__wl-foot {
      flex-shrink: 0;
      position: relative;
      z-index: 18;
      align-self: flex-start;
      margin: 0;
      width: 100%;
      max-width: 100%;
      min-height: var(--agenda-wl-foot-h);
      height: var(--agenda-wl-foot-h);
      max-height: var(--agenda-wl-foot-h);
      display: flex;
      align-items: center;
      gap: 3px;
      padding: 0 6px 0 12px;
      box-sizing: border-box;
      border-radius: 0 0 7px 7px;
      background: linear-gradient(180deg, var(--c-pizarra-350) 0%, var(--c-pizarra-550) 100%);
      color: var(--c-gris-50f);
      font-size: calc(var(--agenda-text-scale, 0.75) * 0.56rem);
      line-height: 1;
      overflow: hidden;
      pointer-events: auto;
      cursor: default;
      box-shadow: inset 0 2px 5px -3px rgba(15, 23, 42, 0.35);
    }
    .agenda-card__wl-foot__lbl {
      flex-shrink: 0;
      font-weight: 700;
      font-size: calc(var(--agenda-text-scale, 0.75) * 0.5rem);
      letter-spacing: 0.03em;
      text-transform: uppercase;
      opacity: 0.92;
      line-height: 1;
    }
    .agenda-card__wl-foot__sep {
      flex-shrink: 0;
      opacity: 0.55;
      font-weight: 400;
    }
    .agenda-card__wl-foot__name {
      flex: 1 1 auto;
      min-width: 0;
      font-weight: 600;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .agenda-card__wl-foot__svc {
      flex-shrink: 1;
      min-width: 0;
      max-width: 38%;
      font-weight: 500;
      opacity: 0.92;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    html.bardev-panel-theme-light .agenda-card__wl-foot {
      background: linear-gradient(180deg, var(--c-pizarra-100) 0%, var(--c-pizarra-150) 100%);
      color: var(--c-pizarra-750);
      box-shadow: inset 0 2px 5px -3px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light .agenda-card--has-wl-foot .agenda-card__rail {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.22) 100%);
      border-left: 1px solid rgba(15, 23, 42, 0.24);
    }
    html.bardev-panel-theme-light .agenda-card--has-wl-foot .agenda-card__body {
      box-shadow: 0 8px 14px -6px rgba(15, 23, 42, 0.16);
    }
    .agenda-card--has-wl-foot:has(.agenda-card__resize) .agenda-card__body {
      padding-bottom: 0;
    }
    .agenda-card--has-wl-foot.agenda-card--compact-strip {
      --agenda-wl-foot-h: 14px;
      --agenda-rail-w: 16px;
    }
    /* Faldón: no invade la barra vertical derecha de iconos. */
    .agenda-card--has-wl-foot:has(.agenda-card__rail) .agenda-card__wl-foot {
      width: calc(100% - var(--agenda-rail-w));
      max-width: calc(100% - var(--agenda-rail-w));
      margin-right: var(--agenda-rail-w);
      border-radius: 0 0 0 7px;
    }
    /* Faldón: no invade el lateral amarillo izquierdo (lista de espera). */
    .agenda-card--has-wl-foot:has(.agenda-card__wl-marker) .agenda-card__wl-foot {
      margin-left: 14px;
      width: calc(100% - 14px);
      max-width: calc(100% - 14px);
      padding-left: 8px;
      border-bottom-left-radius: 0;
    }
    .agenda-card--has-wl-foot:has(.agenda-card__wl-marker):has(.agenda-card__rail) .agenda-card__wl-foot {
      width: calc(100% - 14px - var(--agenda-rail-w));
      max-width: calc(100% - 14px - var(--agenda-rail-w));
      margin-left: 14px;
      margin-right: var(--agenda-rail-w);
      border-radius: 0;
    }
    .agenda-card--has-wl-foot.agenda-card--has-notes:has(.agenda-card__rail) .agenda-card__wl-foot {
      width: calc(100% - var(--agenda-notes-rail-w, 108px) - 6px);
      max-width: calc(100% - var(--agenda-notes-rail-w, 108px) - 6px);
      margin-right: calc(var(--agenda-notes-rail-w, 108px) + 6px);
    }
    .agenda-card--has-wl-foot.agenda-card--has-notes:has(.agenda-card__wl-marker) .agenda-card__wl-foot {
      width: calc(100% - 14px - var(--agenda-notes-rail-w, 108px) - 6px);
      max-width: calc(100% - 14px - var(--agenda-notes-rail-w, 108px) - 6px);
      margin-left: 14px;
    }
    /* Fantasma solo en huecos libres (sin faldón inferior). */
    .agenda-card--waitlist-ghost--overlay {
      z-index: 15 !important;
      left: 3px !important;
      right: 3px !important;
      width: auto !important;
      max-width: calc(100% - 6px) !important;
      margin-left: 0 !important;
    }
    /* Carrusel: varios en espera misma hora — uno a uno al 100% encima de las citas solapadas. */
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--rotate-wait {
      opacity: 0 !important;
      animation: none !important;
      visibility: hidden !important;
      pointer-events: none !important;
    }
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--rotate-active {
      visibility: visible !important;
      animation: agenda-wl-ghost-card-pulse 4.5s ease-in-out infinite !important;
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--rotate-wait {
      animation: none !important;
      opacity: 0 !important;
      visibility: hidden !important;
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--rotate-active {
      animation: agenda-wl-ghost-card-pulse 4.5s ease-in-out infinite !important;
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost--pending:not(.agenda-card--waitlist-ghost--rotate-wait) {
      background-color: transparent !important;
      background-image: linear-gradient(135deg, rgba(254, 243, 199, 0.55) 0%, rgba(253, 230, 138, 0.42) 100%) !important;
      border-color: rgba(245, 158, 11, 0.5) !important;
      border-left-color: rgba(217, 119, 6, 0.65) !important;
      animation: agenda-wl-ghost-card-pulse 4.5s ease-in-out infinite !important;
    }
    /* Citas reales por encima de fantasmas (solo en huecos libres queda el fantasma). */
    .agenda-card[data-appt-id]:not(.agenda-card--waitlist-ghost) {
      z-index: 25;
    }
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--alert {
      border-color: rgba(251, 191, 36, 0.65);
      border-left-color: rgba(251, 191, 36, 0.85);
      box-shadow: none;
      z-index: 22;
      cursor: pointer;
      pointer-events: auto !important;
    }
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--alert.agenda-card--waitlist-ghost--rotate-active,
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--alert:not(.agenda-card--waitlist-ghost--rotate-wait),
    .agenda-card--waitlist-ghost--clickable.agenda-card--waitlist-ghost--rotate-active,
    .agenda-card--waitlist-ghost--clickable:not(.agenda-card--waitlist-ghost--rotate-wait) {
      pointer-events: auto !important;
    }
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--alert::before {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.28);
    }
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--pending {
      border-color: rgba(251, 191, 36, 0.55);
      border-left-color: rgba(245, 158, 11, 0.75);
      background: linear-gradient(135deg, rgba(251, 191, 36, 0.2) 0%, rgba(180, 83, 9, 0.14) 100%);
      box-shadow: none;
      z-index: 10;
    }
    .agenda-card--waitlist-ghost.agenda-card--waitlist-ghost--pending::before {
      background: rgba(251, 191, 36, 0.22);
    }
    .agenda-card--waitlist-ghost .agenda-card__body {
      padding-right: 6px;
      position: relative;
      z-index: 1;
    }
    .agenda-card--waitlist-ghost .agenda-card__name,
    .agenda-card--waitlist-ghost .agenda-card__svc,
    .agenda-card--waitlist-ghost .agenda-card__time {
      color: var(--bv-g-ecfdf5, #ecfdf5);
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost:not(.agenda-card--waitlist-ghost--rotate-wait) {
      background-color: transparent !important;
      background-image: linear-gradient(135deg, rgba(var(--bv-g-rgb-a7f3d0, 167, 243, 208), 0.55) 0%, rgba(var(--bv-g-rgb-6ee7b7, 110, 231, 183), 0.42) 100%) !important;
      border-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.45);
      border-left-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.65);
      box-shadow: none;
      animation: agenda-wl-ghost-card-pulse 4.5s ease-in-out infinite !important;
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost .agenda-card__name,
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost .agenda-card__svc,
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost .agenda-card__time {
      color: var(--bv-g-064e3b, #064e3b);
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost--pending .agenda-card__name,
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost--pending .agenda-card__svc,
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost--pending .agenda-card__time {
      color: var(--c-naranja-750b) !important;
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost--alert:not(.agenda-card--waitlist-ghost--rotate-wait) {
      background-color: transparent !important;
      background-image: linear-gradient(135deg, rgba(253, 230, 138, 0.72) 0%, rgba(251, 191, 36, 0.52) 100%) !important;
      border-color: rgba(217, 119, 6, 0.55) !important;
      border-left-color: rgba(180, 83, 9, 0.75) !important;
      animation: agenda-wl-ghost-card-pulse 4.5s ease-in-out infinite !important;
    }
    html.bardev-panel-theme-light .agenda-card--waitlist-ghost--freed:not(.agenda-card--waitlist-ghost--rotate-wait) {
      border-style: dashed !important;
      border-width: 2px !important;
    }
    /* Notas: sin z-index extra en hover (provocaba capas que dejaban la columna en blanco al salir del icono). */
    .agenda-card--split-lane {
      right: auto;
    }
    /* Celdas compartidas (solapadas): badge COBRADO reducido — solo icono ✓, sin texto */
    .agenda-card--split-lane:has(.agenda-card__cobrado-panel) {
      --agenda-cobrado-strip-w: 3.25rem;
      --agenda-cobrado-panel-pad: 0;
      --agenda-cobrado-panel-gap: 3px;
    }
    .agenda-card--split-lane:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-paid-text {
      display: none !important;
    }
    .agenda-card--split-lane:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-panel {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 3px;
    }
    .agenda-card--split-lane:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-r-div {
      display: none;
    }
    .agenda-card--split-lane:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-r1,
    .agenda-card--split-lane:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-r3 {
      flex: 0 0 auto;
      width: auto;
    }
    /* Solapadas: el aviso flotante de arrastre se oculta; la duración queda junto a la hora. */
    .agenda-card--split-lane .agenda-card__drag-time {
      display: none !important;
    }
    .agenda-card--split-lane .agenda-card__body {
      padding-bottom: 0;
    }
    .agenda-card__body {
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: stretch;
      gap: clamp(1px, 0.55cqh, 3px);
      /* Clip horizontal y vertical: el texto del cajón (hora, nombre, servicio) nunca debe
         desbordarse del recuadro de la cita, incluso en cajones diminutos (15-30 min). */
      overflow: hidden;
      /* Margen superior: separa texto del borde */
      padding: clamp(2px, 1cqh, 8px) calc(var(--agenda-rail-icon) + 8px) 0 0;
      box-sizing: border-box;
      /* El body se mantiene en la capa visible superior de la tarjeta, por encima de su fondo
         pero sin tapar el carril (z=7) ni el panel COBRADO (z=4); el servicio queda siempre
         legible mientras no entre en una zona reservada. */
      position: relative;
      z-index: 3;
    }
    .agenda-card--has-notes .agenda-card__body {
      padding-right: calc(var(--agenda-notes-rail-w, 92px) + 8px);
    }
    /* Columna COBRADO: reservar carril + franja COBRADO para que nombre/servicio no se dibujen encima */
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__body {
      padding-right: calc(var(--agenda-rail-w) + var(--agenda-cobrado-strip-w) + 2px);
    }
    .agenda-card--has-notes:has(.agenda-card__cobrado-panel) .agenda-card__body {
      padding-right: calc(var(--agenda-notes-rail-w, 92px) + var(--agenda-cobrado-strip-w) + 2px);
    }
    .agenda-card:has(.agenda-card__resource-strip) .agenda-card__body {
      padding-right: calc(var(--agenda-rail-w) + 22px);
    }
    .agenda-card--has-notes:has(.agenda-card__resource-strip) .agenda-card__body {
      padding-right: calc(var(--agenda-notes-rail-w, 92px) + 22px);
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__head-row {
      padding-right: 0;
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-row {
      padding-right: 0;
      box-sizing: border-box;
      overflow: hidden;
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-svc-group {
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-text {
      display: block;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
      overflow: hidden;
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__svc {
      display: block;
      -webkit-line-clamp: unset;
      -webkit-box-orient: unset;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
      overflow: hidden;
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__time {
      flex: 1 1 auto;
      min-width: 0;
      max-width: 100%;
    }
    /* Franja inferior de resize: evita que el texto quede ilegible bajo el control */
    .agenda-card:has(.agenda-card__resize) .agenda-card__body {
      padding-bottom: clamp(4px, 1.6cqh, 11px);
    }
    .agenda-card__rail {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: var(--agenda-rail-w);
      padding: 2px 2px 2px 1px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 1px;
      z-index: 14;
      pointer-events: auto;
      box-sizing: border-box;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.48) 100%);
      border-left: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 0 7px 7px 0;
    }
    .agenda-card__rail--notes {
      --agenda-notes-rail-w: min(38%, 108px);
      width: var(--agenda-notes-rail-w);
      max-width: 108px;
      align-items: flex-end;
      bottom: auto;
      max-height: calc(100% - 4px);
      overflow: visible;
    }
    .agenda-card--locked .agenda-card__rail {
      bottom: 0;
    }
    /* El tirador va en la esquina exterior; reservar hueco inferior en el rail (iconos arriba). */
    .agenda-card:has(.agenda-card__resize) .agenda-card__rail {
      pointer-events: none;
      padding-bottom: 13px;
      box-sizing: border-box;
    }
    .agenda-card:has(.agenda-card__resize) .agenda-card__rail > * {
      pointer-events: auto;
    }
    .agenda-card__rail > * {
      pointer-events: auto;
      flex-shrink: 0;
    }
    .agenda-card__notes-stack {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 3px;
      width: 100%;
      min-width: 0;
      pointer-events: auto;
    }
    .agenda-card__notes-text {
      display: none !important;
    }
    .agenda-card__notes-text:focus-visible {
      outline: 2px solid var(--c-ambar-450b);
      outline-offset: 1px;
    }
    .agenda-card__notes-stack .agenda-card__notes-icon {
      display: block;
      width: var(--agenda-rail-icon);
      height: var(--agenda-rail-icon);
      min-width: var(--agenda-rail-icon);
      min-height: var(--agenda-rail-icon);
      flex-shrink: 0;
      align-self: flex-end;
    }
    .agenda-card__notes-stack .agenda-card__notes-anchor {
      display: none;
    }
    .agenda-card__rail-stack {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 1px;
      width: 100%;
      min-width: 0;
    }
    .agenda-card__recurrence-icon {
      position: relative;
      z-index: 4;
      display: flex;
      align-items: center;
      justify-content: center;
      width: var(--agenda-rail-icon);
      height: var(--agenda-rail-icon);
      min-width: var(--agenda-rail-icon);
      min-height: var(--agenda-rail-icon);
      opacity: 1;
      color: var(--c-verde-400);
      flex-shrink: 0;
      pointer-events: auto;
      cursor: help;
      box-sizing: border-box;
    }
    .agenda-card__recurrence-icon svg {
      display: block;
      width: calc(var(--agenda-rail-icon) - 1px);
      height: calc(var(--agenda-rail-icon) - 1px);
      max-width: 13px;
      max-height: 13px;
    }
    html.bardev-panel-theme-light .agenda-card .agenda-card__recurrence-icon {
      color: var(--c-verde-650);
    }
    .agenda-card--recurrent .agenda-card__recurrence-icon {
      filter: drop-shadow(0 0 1px rgba(74, 222, 128, 0.45));
    }
    .agenda-card:has(.agenda-card__group-join) > .agenda-card__move-grip {
      display: none !important;
    }
    .agenda-card__group-join {
      position: absolute;
      left: 50%;
      top: 0;
      z-index: 16;
      width: 26px;
      height: 26px;
      transform: translate(-50%, -50%);
      pointer-events: none;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .agenda-card__group-join__badge {
      width: 24px;
      height: 24px;
      border-radius: 999px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--c-blanco);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 0 0 2px var(--c-blanco);
    }
    .agenda-card__group-join__badge svg {
      width: 14px;
      height: 14px;
      display: block;
    }
    html.bardev-panel-theme-light .agenda-card__group-join__badge {
      box-shadow: 0 0 0 2px var(--c-blanco);
    }
    .agenda-recurrence-modes {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-bottom: 10px;
      font-size: 0.84rem;
    }
    .agenda-recurrence-modes label {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
    }
    #agenda-m-rec-end-mode {
      flex: 1;
      min-width: 0;
      padding: 7px 8px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.82rem;
    }
    /* Asuntos personales: «Repetir cada X días/semanas/meses/años» (titular, 24-10-2026). */
    #agenda-m-block-repeat-wrap {
      margin-top: 6px;
    }
    .agenda-block-repeat-enable {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
      font-size: 0.86rem;
      cursor: pointer;
    }
    .agenda-block-repeat-every {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
    }
    .agenda-block-repeat-select,
    .agenda-block-repeat-date {
      min-width: 0;
      padding: 7px 8px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.82rem;
    }
    .agenda-block-repeat-every .agenda-block-repeat-select {
      min-width: 9em;
    }
    #agenda-m-block-repeat-preview {
      margin: 8px 0 0;
      font-size: 0.78rem;
      line-height: 1.35;
    }
    /* Indicador lateral en la cita cuando hay clientes en lista de espera para ese hueco.
       Se ancla DENTRO de la card, alineado al borde izquierdo, sin sobresalir ni en
       ancho ni en alto, y respetando el border-radius de la propia cita. */
    .agenda-card__wl-marker {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 14px;
      border-radius: inherit;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border: 0;
      border-right: 1px solid rgba(245, 158, 11, 0.55);
      background: linear-gradient(180deg, rgba(251, 191, 36, 0.95), rgba(245, 158, 11, 0.82));
      color: #1c1917;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      padding: 3px 0;
      pointer-events: auto;
      cursor: pointer;
      z-index: 20;
      overflow: hidden;
      font: inherit;
      appearance: none;
      -webkit-appearance: none;
    }
    .agenda-card__wl-marker:hover,
    .agenda-card__wl-marker:focus-visible {
      filter: brightness(1.06);
      outline: 2px solid rgba(251, 191, 36, 0.85);
      outline-offset: -1px;
    }
    .agenda-card__wl-marker__dots {
      font-weight: 900;
      font-size: 0.7rem;
      letter-spacing: 1px;
      line-height: 1;
    }
    .agenda-card__wl-marker__count {
      font-size: 0.55rem;
      font-weight: 800;
      line-height: 1;
      background: rgba(15, 23, 42, 0.85);
      color: var(--c-ambar-250);
      border-radius: 999px;
      padding: 1px 4px;
    }
    /* Reserva franja izquierda para el marcador (clicable) sin que el body capture el clic. */
    .agenda-card:has(.agenda-card__wl-marker) .agenda-card__body {
      padding-left: 8px;
      margin-left: 14px;
      width: calc(100% - 14px);
      box-sizing: border-box;
    }
    .agenda-card__notes-anchor {
      position: relative;
      display: block;
      flex-shrink: 0;
      align-self: flex-end;
    }
    .agenda-card--draggable {
      cursor: pointer;
      touch-action: manipulation;
      /* Sin reserva superior: el texto puede alinearse con el agarradero; el grip queda encima (z-index) para arrastrar */
      padding: 0 3px 2px 6px;
    }
    .agenda-card__move-grip {
      position: absolute;
      left: 50%;
      top: 0;
      transform: translateX(-50%);
      width: 24px;
      height: 12px;
      min-height: 11px;
      z-index: 10;
      cursor: grab;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
      box-sizing: border-box;
      border-radius: 0 0 6px 6px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-top: none;
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
      box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12) inset;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 1px 1px;
      opacity: 0.5;
    }
    .agenda-card__move-grip:hover {
      opacity: 0.58;
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06));
      border-color: rgba(255, 255, 255, 0.22);
    }
    .agenda-card__move-grip-ridges {
      display: block;
      width: 14px;
      height: 7px;
      pointer-events: none;
      flex-shrink: 0;
      opacity: 1;
      background:
        linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)) center 0 / 11px 1.5px no-repeat,
        linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)) center 2.5px / 11px 1.5px no-repeat,
        linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)) center 5px / 11px 1.5px no-repeat;
    }
    .agenda-card__move-grip:active,
    .agenda-card--dragging .agenda-card__move-grip {
      cursor: grabbing;
      opacity: 0.65;
    }
    .agenda-card--draggable:active,
    .agenda-card--dragging {
      z-index: 50;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    }
    .agenda-card--resizing {
      cursor: ns-resize;
      z-index: 50;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    }
    /* Tirador: esquina inferior derecha del cajón (gris fijo, ligeramente interior). */
    .agenda-card__resize {
      position: absolute;
      right: 2px;
      bottom: 2px;
      width: 14px;
      height: 14px;
      z-index: 30;
      display: block;
      padding: 0;
      margin: 0;
      border: 0;
      background: transparent;
      box-sizing: border-box;
      color: var(--c-pizarra-350);
      overflow: visible;
      pointer-events: auto;
      cursor: ns-resize;
      touch-action: none;
      filter: none;
    }
    .agenda-card__resize-glyph {
      display: block;
      width: 14px;
      height: 14px;
      filter: none;
      pointer-events: none;
    }
    .agenda-card__resize-glyph-bg {
      display: none;
    }
    .agenda-card__resize-glyph-hit {
      fill: none;
      stroke: transparent;
      stroke-width: 9;
      stroke-linecap: round;
      stroke-linejoin: round;
      pointer-events: stroke;
      cursor: ns-resize;
      touch-action: none;
    }
    .agenda-card__resize-glyph-arc {
      fill: none;
      stroke: var(--c-pizarra-350);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      pointer-events: none;
    }
    .agenda-card--locked .agenda-card__resize {
      color: rgba(148, 163, 184, 0.28);
      pointer-events: none;
      cursor: default;
    }
    .agenda-card--locked .agenda-card__resize-glyph-hit {
      cursor: default;
      pointer-events: none;
    }
    .agenda-card--locked .agenda-card__resize .agenda-card__resize-glyph-arc {
      stroke: rgba(148, 163, 184, 0.28);
    }
    .agenda-card--draggable .agenda-card__resize:hover .agenda-card__resize-glyph-arc,
    .agenda-card--draggable .agenda-card__resize-glyph-hit:hover + .agenda-card__resize-glyph-arc {
      stroke: var(--c-pizarra-550);
    }
    /* Cajones compactos: esquina inferior derecha del cajón completo (body + faldón + rail). */
    .agenda-card--compact-strip > .agenda-card__resize {
      right: 0;
      bottom: 0;
      width: 12px;
      height: 12px;
      z-index: 32;
    }
    .agenda-card--has-wl-foot.agenda-card--compact-strip > .agenda-card__resize {
      right: 1px;
      bottom: 0;
    }
    .agenda-card--compact-strip > .agenda-card__resize .agenda-card__resize-glyph {
      width: 12px;
      height: 12px;
    }
    .agenda-card--resizing .agenda-card__drag-time {
      display: block !important;
    }
    .agenda-card--locked {
      opacity: 0.96;
      border-left-color: rgba(148, 163, 184, 0.55);
      border-color: rgba(148, 163, 184, 0.25);
      background: linear-gradient(135deg, rgba(40, 44, 52, 0.99) 0%, rgba(35, 39, 48, 0.99) 100%);
    }
    /* Inasistencia: tarjeta gris, sin color de servicio, aspecto inhabilitado */
    .agenda-card--noshow {
      opacity: 0.68 !important;
      filter: grayscale(1) !important;
      border-style: dashed !important;
      border-left-style: dashed !important;
      border-color: rgba(100, 116, 139, 0.45) !important;
      border-left-color: rgba(100, 116, 139, 0.65) !important;
      background: linear-gradient(135deg, rgba(42, 45, 52, 0.95) 0%, rgba(36, 39, 46, 0.95) 100%) !important;
      box-shadow: none;
      cursor: default;
    }
    .agenda-card--noshow .agenda-card__time,
    .agenda-card--noshow .agenda-card__name,
    .agenda-card--noshow .agenda-card__name-text,
    .agenda-card--noshow .agenda-card__name-svc-sep,
    .agenda-card--noshow .agenda-card__svc {
      color: rgba(226, 232, 240, 0.72);
    }
    .agenda-card--noshow .agenda-card__source {
      opacity: 0.55;
    }
    .agenda-card--personal-block {
      border-left-color: var(--c-indigo-250);
      border-color: rgba(167, 139, 250, 0.4);
      background: linear-gradient(135deg, rgba(45, 38, 68, 0.99) 0%, rgba(38, 32, 58, 0.99) 100%);
    }
    .agenda-card.agenda-card--svc-blue:not(.agenda-card--personal-block) {
      border: 1px solid rgba(59, 130, 246, 0.4);
      border-left: 4px solid var(--c-azul-400);
      background: linear-gradient(135deg, rgba(15, 30, 55, 0.99) 0%, rgba(17, 40, 70, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-green:not(.agenda-card--personal-block) {
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
      border-left: 4px solid var(--bv-g-34d399, #34d399);
      background: linear-gradient(135deg, rgba(15, 41, 34, 0.995) 0%, rgba(17, 55, 45, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-orange:not(.agenda-card--personal-block) {
      border: 1px solid rgba(249, 115, 22, 0.4);
      border-left: 4px solid var(--c-naranja-400);
      background: linear-gradient(135deg, rgba(55, 35, 20, 0.99) 0%, rgba(58, 40, 22, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-yellow:not(.agenda-card--personal-block) {
      border: 1px solid rgba(234, 179, 8, 0.5);
      border-left: 4px solid var(--c-ambar-450);
      background: linear-gradient(135deg, rgba(58, 52, 30, 0.995) 0%, rgba(62, 55, 32, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-red:not(.agenda-card--personal-block) {
      border: 1px solid rgba(239, 68, 68, 0.42);
      border-left: 4px solid var(--c-rojo-400);
      background: linear-gradient(135deg, rgba(55, 22, 22, 0.99) 0%, rgba(48, 20, 20, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-purple:not(.agenda-card--personal-block) {
      border: 1px solid rgba(168, 85, 247, 0.42);
      border-left: 4px solid var(--c-violeta-350);
      background: linear-gradient(135deg, rgba(45, 28, 62, 0.99) 0%, rgba(38, 24, 55, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-cyan:not(.agenda-card--personal-block) {
      border: 1px solid rgba(34, 211, 238, 0.4);
      border-left: 4px solid var(--c-turquesa-450);
      background: linear-gradient(135deg, rgba(15, 42, 52, 0.99) 0%, rgba(18, 48, 58, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-pink:not(.agenda-card--personal-block) {
      border: 1px solid rgba(244, 114, 182, 0.42);
      border-left: 4px solid var(--c-rosa-300);
      background: linear-gradient(135deg, rgba(52, 22, 40, 0.99) 0%, rgba(48, 20, 36, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-lime:not(.agenda-card--personal-block) {
      border: 1px solid rgba(163, 230, 53, 0.45);
      border-left: 4px solid var(--c-verde-450);
      background: linear-gradient(135deg, rgba(28, 42, 18, 0.99) 0%, rgba(32, 48, 22, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-indigo:not(.agenda-card--personal-block) {
      border: 1px solid rgba(99, 102, 241, 0.42);
      border-left: 4px solid var(--c-azul-350);
      background: linear-gradient(135deg, rgba(28, 28, 58, 0.99) 0%, rgba(24, 26, 52, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-rose:not(.agenda-card--personal-block) {
      border: 1px solid rgba(251, 113, 133, 0.42);
      border-left: 4px solid var(--c-rojo-300b);
      background: linear-gradient(135deg, rgba(52, 22, 30, 0.99) 0%, rgba(48, 20, 28, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-teal:not(.agenda-card--personal-block) {
      border: 1px solid rgba(45, 212, 191, 0.4);
      border-left: 4px solid var(--c-turquesa-500);
      background: linear-gradient(135deg, rgba(15, 45, 42, 0.99) 0%, rgba(18, 48, 45, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-amber:not(.agenda-card--personal-block) {
      border: 1px solid rgba(251, 191, 36, 0.55);
      border-left: 4px solid var(--c-ambar-450b);
      background: linear-gradient(135deg, rgba(62, 50, 28, 0.995) 0%, rgba(66, 52, 28, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-fuchsia:not(.agenda-card--personal-block) {
      border: 1px solid rgba(232, 121, 249, 0.42);
      border-left: 4px solid var(--c-purpura-250);
      background: linear-gradient(135deg, rgba(48, 22, 52, 0.99) 0%, rgba(42, 20, 48, 0.99) 100%);
      opacity: 1;
    }
    .agenda-card.agenda-card--svc-sky:not(.agenda-card--personal-block) {
      border: 1px solid rgba(56, 189, 248, 0.42);
      border-left: 4px solid var(--c-cielo-400);
      background: linear-gradient(135deg, rgba(15, 38, 55, 0.99) 0%, rgba(18, 45, 62, 0.99) 100%);
      opacity: 1;
    }
    /* COBRADO en tema oscuro: acento = color del servicio (borde izquierdo) */
    .agenda-card.agenda-card--svc-blue:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-azul-400); }
    .agenda-card.agenda-card--svc-green:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--bv-g-34d399, #34d399); }
    .agenda-card.agenda-card--svc-orange:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-naranja-400); }
    .agenda-card.agenda-card--svc-yellow:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-ambar-450); }
    .agenda-card.agenda-card--svc-red:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-rojo-400); }
    .agenda-card.agenda-card--svc-purple:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-violeta-350); }
    .agenda-card.agenda-card--svc-cyan:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-turquesa-450); }
    .agenda-card.agenda-card--svc-pink:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-rosa-300); }
    .agenda-card.agenda-card--svc-lime:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-verde-450); }
    .agenda-card.agenda-card--svc-indigo:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-azul-350); }
    .agenda-card.agenda-card--svc-rose:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-rojo-300b); }
    .agenda-card.agenda-card--svc-teal:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-turquesa-500); }
    .agenda-card.agenda-card--svc-amber:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-ambar-450b); }
    .agenda-card.agenda-card--svc-fuchsia:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-purpura-250); }
    .agenda-card.agenda-card--svc-sky:not(.agenda-card--personal-block) { --agenda-cobrado-accent: var(--c-cielo-400); }
    /* Fila superior del cajón: solo la hora + duración (la cápsula «Primera visita» vive en el name-row, junto al nombre). */
    .agenda-card__head-row {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 6px;
      width: 100%;
      min-width: 0;
      flex: 0 0 auto;
      box-sizing: border-box;
    }
    .agenda-card__head-row .agenda-card__time {
      flex: 1 1 auto;
      min-width: 0;
    }
    .agenda-card__time {
      /* Escala con la altura del cajón (cqh = % de altura de .agenda-card). +25% vs nombre/servicio */
      font-size: calc(var(--agenda-text-scale) * 1.25 * clamp(0.52rem, 0.04rem + 16cqh, 1.42rem));
      font-weight: 600;
      color: var(--c-gris-50b);
      flex: 0 0 auto;
      flex-shrink: 0;
      line-height: 1.05;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      display: flex;
      align-items: center;
      gap: 5px;
      border: none;
      background: transparent;
      box-shadow: none;
    }
    .agenda-card__dur {
      display: inline-block;
      /* Tamaño fijo (sin cqh): «1h20» igual que «40min», no crece en citas largas */
      font-size: calc(var(--agenda-text-scale) * 0.72rem);
      font-weight: 700;
      line-height: 1;
      padding: 0 2px;
      border-radius: 4px;
      border: none;
      box-shadow: none;
      background: rgba(0, 0, 0, 0.55);
      color: var(--c-gris-50b);
      white-space: nowrap;
      flex-shrink: 0;
    }
    .agenda-card__name-row {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      /* Interlineado homogéneo: mismo gap que el body (entre hora, nombre y servicio). */
      gap: clamp(1px, 0.55cqh, 3px);
      min-width: 0;
      width: 100%;
      max-width: 100%;
      overflow-x: hidden;
    }
    /* Fila 2: separador + servicio (ancho completo; no lado a lado con el nombre) */
    .agenda-card__name-svc-group {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      gap: 0.1em;
      width: 100%;
      min-width: 0;
      max-width: 100%;
      flex: 0 0 auto;
      box-sizing: border-box;
      overflow: hidden;
    }
    /* En columna (nombre arriba, servicio debajo) no se muestra el ●; solo en modo ultra-compacto (misma fila). */
    .agenda-card__name-svc-sep {
      display: none;
      flex-shrink: 0;
      font-weight: 900;
      font-size: calc(var(--agenda-text-scale) * clamp(0.58rem, 0.04rem + 16cqh, 1.08rem));
      line-height: 1;
      color: rgba(248, 250, 252, 0.72);
      user-select: none;
      position: relative;
      top: 0.03em;
    }
    .agenda-card__name {
      display: inline-flex;
      align-items: center;
      flex-wrap: nowrap;
      gap: 6px;
      font-weight: 800;
      font-size: calc(var(--agenda-text-scale) * clamp(0.56rem, 0.05rem + 24cqh, 2.05rem));
      color: var(--c-gris-50f);
      line-height: 1.05;
      min-width: 0;
      width: 100%;
      max-width: 100%;
      flex: 0 0 auto;
      overflow: visible;
      border: none;
      background: transparent;
      box-shadow: none;
      box-sizing: border-box;
    }
    .agenda-card__name-text {
      min-width: 0;
      /* No crece para empujar al badge: el nombre toma su ancho natural y la cápsula
         «Primera visita» queda justo a su derecha. Si el nombre es largo, encoge con
         text-overflow para que el badge nunca se separe a la derecha del cajón. */
      flex: 0 1 auto;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
      overflow: visible;
    }
    .agenda-card__voice-confirm {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      position: relative;
      flex: 0 0 auto;
      width: 16px;
      height: 16px;
      margin-left: 2px;
    }
    .agenda-card__voice-confirm svg {
      width: 14px;
      height: 14px;
      display: block;
    }
    .agenda-card__voice-confirm--ok {
      color: var(--bv-g-047857, #047857);
    }
    .agenda-card__voice-confirm--no {
      color: var(--c-rojo-600);
    }
    .agenda-card__voice-confirm--vm {
      color: var(--c-azul-450);
    }
    .agenda-card__voice-confirm--no::after {
      content: '';
      position: absolute;
      left: 1px;
      right: 1px;
      top: 50%;
      border-top: 2px solid currentColor;
      transform: rotate(-28deg);
      pointer-events: none;
    }
    .agenda-card__first-visit {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      flex-shrink: 0;
      min-width: 0;
      padding: 0 8px;
      /* Tamaño cap: la cápsula NUNCA crece más allá del tamaño que tendría con un
         cajón ≈ 45 min. Para ello acotamos el upper bound del clamp a 0.78rem
         (mismo techo que la regla de cajones cortos). En cajones grandes deja de
         escalar y mantiene un look discreto al lado del nombre. */
      font-size: calc(var(--agenda-text-scale) * 0.78 * clamp(0.56rem, 0.05rem + 24cqh, 0.78rem));
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      line-height: 1.15;
      border-radius: 999px;
      background: rgba(251, 191, 36, 0.28);
      color: var(--c-ambar-250);
      border: 1px solid rgba(251, 191, 36, 0.45);
      vertical-align: middle;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    }
    .agenda-card__svc {
      font-size: calc(var(--agenda-text-scale) * clamp(0.52rem, 0.04rem + 20cqh, 1.78rem));
      color: var(--c-pizarra-100);
      line-height: 1.05;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
      min-width: 0;
      flex: 1 1 auto;
      flex-shrink: 1;
      margin-top: 0;
      border: none;
      background: transparent;
      box-shadow: none;
    }
    /* Cajones medianos/pequeños con COBRADO: si el cajón aún cabe en column-mode pero es
       compacto, forzamos el servicio a UNA sola línea (sin wrap a 2 líneas) para que entren
       las 3 filas (hora · nombre · servicio) sin desbordar verticalmente. */
    @container (max-height: 60px) {
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__svc {
        display: block;
        -webkit-line-clamp: unset;
        -webkit-box-orient: unset;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
    }
    /* Cajón cortísimo: cuando NO cabe la 3ª línea (servicio bajo el nombre) → una sola fila
       «nombre ● servicio». Servicio trunca con prioridad menor que antes para aprovechar el
       hueco hasta el panel COBRADO. Umbral muy bajo (30px) → casi siempre stack vertical sin
       punto, salvo en cajones realmente diminutos. */
    @container (max-height: 30px) {
      .agenda-card .agenda-card__name-row,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__name-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.2em;
        min-width: 0;
        overflow: hidden;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-row,
      .agenda-card:has(.agenda-card__cobrado-panel)[data-agenda-stack-svc="1"] .agenda-card__name-row {
        padding-right: 0;
      }
      .agenda-card .agenda-card__name,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__name {
        flex: 0 1 auto;
        min-width: 0;
        width: auto;
        max-width: 100%;
        flex-wrap: nowrap;
        overflow: hidden;
        align-items: center;
      }
      .agenda-card .agenda-card__name-text,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__name-text {
        flex: 0 1 auto;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 1;
      }
      .agenda-card .agenda-card__first-visit,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__first-visit {
        max-width: min(52%, 10rem);
        padding: 0 8px;
        font-size: calc(var(--agenda-text-scale) * 0.78 * clamp(0.56rem, 0.05rem + 24cqh, 0.78rem));
      }
      .agenda-card .agenda-card__name-svc-group,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__name-svc-group {
        flex: 1 1 0;
        min-width: 0;
        overflow: hidden;
        gap: 0.18em;
        align-items: center;
        display: flex;
      }
      .agenda-card .agenda-card__name-svc-sep,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__name-svc-sep {
        display: block;
        flex-shrink: 0;
      }
      /* Servicio trunca DESPUÉS del nombre, pero con flex-shrink ajustado (2) en lugar de 6
         para que ocupe toda el área libre antes de empezar a recortarse. */
      .agenda-card .agenda-card__svc,
      .agenda-card[data-agenda-stack-svc="1"] .agenda-card__svc {
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 2;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-text,
      .agenda-card:has(.agenda-card__cobrado-panel)[data-agenda-stack-svc="1"] .agenda-card__name-text {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__svc,
      .agenda-card:has(.agenda-card__cobrado-panel)[data-agenda-stack-svc="1"] .agenda-card__svc {
        display: block;
        -webkit-line-clamp: unset;
        -webkit-box-orient: unset;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
    }
    /* Citas ≤15 min: una sola tira reutilizando tipografía de .agenda-card__time / __name / __svc. */
    .agenda-card--compact-strip {
      min-height: 0 !important;
      margin: 0;
      padding: 0 2px 0 4px !important;
      overflow: hidden;
      container-type: size;
      z-index: 5;
      align-items: stretch;
      box-sizing: border-box;
      /* Sin sombra vertical que “coma” el bloque de debajo (descanso / svc especial). */
      box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
      --agenda-rail-icon: 10px;
      --agenda-rail-w: 16px;
    }
    .agenda-card--compact-strip.agenda-card--group-member {
      overflow: visible;
    }
    .agenda-card--compact-strip.agenda-card--draggable {
      padding: 0 2px 0 4px !important;
    }
    .agenda-card--compact-strip .agenda-card__body {
      padding: 0 var(--agenda-rail-w) 0 0 !important;
      margin: 0;
      gap: 0;
      justify-content: center;
      align-items: stretch;
      overflow: hidden;
      min-height: 0;
    }
    .agenda-card--compact-strip:has(.agenda-card__compact-strip--two-line) .agenda-card__body {
      justify-content: center;
    }
    .agenda-card--compact-strip:has(.agenda-card__resize) .agenda-card__body {
      padding-bottom: 0 !important;
    }
    .agenda-card--compact-strip .agenda-card__head-row,
    .agenda-card--compact-strip .agenda-card__name-row,
    .agenda-card--compact-strip .agenda-card__ack-slot,
    .agenda-card--compact-strip .agenda-card__client-ack,
    .agenda-card--compact-strip .agenda-card__move-grip,
    .agenda-card--compact-strip .agenda-card__drag-time {
      display: none !important;
    }
    .agenda-card--compact-strip .agenda-card__compact-strip {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: clamp(2px, 0.8cqh, 4px);
      min-width: 0;
      width: 100%;
      overflow: hidden;
      line-height: 1;
      min-height: 0;
    }
    /* Dos filas: hora arriba, nombre | servicio abajo (solo si cabe en el body). */
    .agenda-card__compact-strip--two-line {
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      flex-wrap: nowrap;
      gap: clamp(1px, 0.35cqh, 2px);
      height: 100%;
      padding: clamp(0px, 0.25cqh, 2px) 0;
      box-sizing: border-box;
    }
    .agenda-card__compact-strip--two-line .agenda-card__compact-strip__time-row {
      flex: 0 0 auto;
      width: 100%;
      min-width: 0;
      overflow: hidden;
    }
    .agenda-card__compact-strip--two-line .agenda-card__compact-strip__detail-row {
      flex: 0 1 auto;
      display: flex;
      align-items: center;
      gap: clamp(3px, 0.6cqh, 5px);
      min-width: 0;
      width: 100%;
      overflow: hidden;
      line-height: 1.05;
    }
    .agenda-card__compact-strip--two-line .agenda-card__time {
      font-size: calc(var(--agenda-text-scale) * clamp(0.52rem, 0.38rem + 6.5cqh, 0.74rem));
    }
    .agenda-card__compact-strip--two-line .agenda-card__name-text,
    .agenda-card__compact-strip--two-line .agenda-card__svc {
      font-size: calc(var(--agenda-text-scale) * clamp(0.48rem, 0.34rem + 5.5cqh, 0.66rem));
      line-height: 1.05;
    }
    .agenda-card__compact-strip--two-line .agenda-card__name {
      flex: 0 1 auto;
      min-width: 0;
      max-width: 58%;
    }
    .agenda-card__compact-strip--two-line .agenda-card__svc {
      flex: 1 1 auto;
      min-width: 0;
    }
    .agenda-card__compact-strip--two-line .agenda-card__name-svc-sep--pipe {
      flex: 0 0 auto;
      opacity: 0.5;
      font-weight: 400;
      font-size: calc(var(--agenda-text-scale) * 0.46rem);
      line-height: 1;
    }
    @container (max-height: 22px) {
      .agenda-card__compact-strip--two-line {
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;
        gap: clamp(2px, 0.8cqh, 4px);
        padding: 0;
      }
      .agenda-card__compact-strip--two-line .agenda-card__compact-strip__time-row {
        flex: 0 0 auto;
        width: auto;
      }
      .agenda-card__compact-strip--two-line .agenda-card__compact-strip__detail-row {
        flex: 1 1 auto;
        min-width: 0;
      }
      .agenda-card__compact-strip--two-line .agenda-card__name-svc-sep--pipe {
        display: none;
      }
      .agenda-card__compact-strip--two-line .agenda-card__name-svc-sep--pipe + .agenda-card__svc::before {
        content: '\25CF';
        margin: 0 3px;
        opacity: 0.65;
        font-weight: 900;
      }
    }
    .agenda-card--compact-strip .agenda-card__compact-strip .agenda-card__time {
      flex: 0 0 auto;
      min-width: 0;
      line-height: 1;
      align-items: center;
      font-size: calc(var(--agenda-text-scale) * clamp(0.5rem, 0.36rem + 7cqh, 0.72rem));
    }
    .agenda-card--compact-strip .agenda-card__compact-strip .agenda-card__dur {
      font-size: calc(var(--agenda-text-scale) * clamp(0.46rem, 0.32rem + 5.5cqh, 0.64rem));
      line-height: 1;
      padding: 0 1px;
    }
    .agenda-card--compact-strip .agenda-card__compact-strip .agenda-card__name {
      flex: 0 1 auto;
      min-width: 0;
      width: auto;
      max-width: none;
      overflow: hidden;
    }
    .agenda-card--compact-strip .agenda-card__compact-strip .agenda-card__name-text {
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      min-width: 0;
      line-height: 1.05;
      font-size: calc(var(--agenda-text-scale) * clamp(0.48rem, 0.34rem + 6cqh, 0.68rem));
    }
    .agenda-card--compact-strip .agenda-card__compact-strip .agenda-card__name-svc-sep {
      display: inline;
      flex: 0 0 auto;
      flex-shrink: 0;
      font-weight: 900;
      line-height: 1;
    }
    .agenda-card--compact-strip .agenda-card__compact-strip .agenda-card__svc {
      flex: 1 1 auto;
      min-width: 0;
      max-width: none;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      flex-shrink: 1;
      line-height: 1.05;
      font-size: calc(var(--agenda-text-scale) * clamp(0.46rem, 0.32rem + 5.5cqh, 0.66rem));
    }
    .agenda-card--compact-strip .agenda-card__rail {
      top: 0;
      bottom: 0;
      right: 0;
      width: var(--agenda-rail-w);
      padding: 1px 2px 1px 1px;
      gap: 1px;
      justify-content: flex-start;
      align-items: center;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.34) 100%);
      border-left: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 0 7px 7px 0;
    }
    .agenda-card--compact-strip:has(> .agenda-card__resize) .agenda-card__rail {
      padding-bottom: 11px;
      box-sizing: border-box;
    }
    .agenda-card--compact-strip .agenda-card__source svg {
      max-width: 9px;
      max-height: 9px;
    }
    .agenda-card--compact-strip .agenda-card__recurrence-icon svg {
      max-width: 9px;
      max-height: 9px;
    }
    @container (max-height: 16px) {
      .agenda-card--compact-strip:not(.agenda-card--has-wl-foot) .agenda-card__compact-strip .agenda-card__name,
      .agenda-card--compact-strip:not(.agenda-card--has-wl-foot) .agenda-card__compact-strip .agenda-card__name-svc-sep,
      .agenda-card--compact-strip:not(.agenda-card--has-wl-foot) .agenda-card__compact-strip .agenda-card__svc {
        display: none !important;
      }
    }
    /* Citas cortas cobradas: el cajón sigue en columna (hora / faldón / resize).
       Si se pone en fila, el faldón «En espera» y el body se salen y descolocan
       las casillas de al lado. Los iconos de cobrado van anclados a la derecha. */
    .agenda-card--compact-strip:has(.agenda-card__cobrado-panel) {
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: stretch;
      overflow: hidden;
    }
    .agenda-card--compact-strip:has(.agenda-card__cobrado-panel) .agenda-card__body {
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
      width: auto;
      padding-right: calc(var(--agenda-rail-w) + var(--agenda-cobrado-strip-w) + 2px) !important;
    }
    .agenda-card--compact-strip.agenda-card--has-notes:has(.agenda-card__cobrado-panel) .agenda-card__body {
      padding-right: calc(var(--agenda-notes-rail-w, 92px) + var(--agenda-cobrado-strip-w) + 2px) !important;
    }
    .agenda-card--compact-strip:has(.agenda-card__resource-strip) .agenda-card__body {
      padding-right: calc(var(--agenda-rail-w) + 20px) !important;
    }
    .agenda-card--compact-strip.agenda-card--has-notes:has(.agenda-card__resource-strip) .agenda-card__body {
      padding-right: calc(var(--agenda-notes-rail-w, 92px) + 20px) !important;
    }
    .agenda-card--compact-strip:has(.agenda-card__cobrado-panel) .agenda-card__head-row,
    .agenda-card--compact-strip:has(.agenda-card__cobrado-panel) .agenda-card__name-row {
      padding-right: 0 !important;
    }
    .agenda-card--compact-strip .agenda-card__cobrado-strip {
      position: absolute;
      top: 1px;
      right: calc(var(--agenda-rail-w) + 2px);
      flex: 0 0 auto;
      height: var(--agenda-cobrado-row-h);
      margin: 0;
      z-index: 6;
    }
    .agenda-card--compact-strip.agenda-card--has-notes .agenda-card__cobrado-strip {
      right: calc(var(--agenda-notes-rail-w, 92px) + 2px);
      margin-right: 0;
    }
    .agenda-card--compact-strip .agenda-card__resource-strip {
      position: absolute;
      top: 1px;
      right: calc(var(--agenda-rail-w) + 2px);
      height: var(--agenda-cobrado-row-h);
      margin: 0;
      z-index: 6;
    }
    .agenda-card--compact-strip.agenda-card--has-notes .agenda-card__resource-strip {
      right: calc(var(--agenda-notes-rail-w, 92px) + 2px);
      margin-right: 0;
    }
    .agenda-card--compact-strip .agenda-card__cobrado-panel {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 3px;
      height: var(--agenda-cobrado-row-h);
      max-height: var(--agenda-cobrado-row-h);
      font-size: 0.5rem;
      padding: 0;
      border-radius: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      overflow: visible;
    }
    .agenda-card--compact-strip .agenda-card__cobrado-r-div {
      display: none !important;
    }
    .agenda-card--compact-strip .agenda-card__cobrado-paid-text {
      display: none !important;
    }
    .agenda-card--compact-strip .agenda-card__cobrado-r1,
    .agenda-card--compact-strip .agenda-card__cobrado-r3 {
      flex: 0 0 auto;
      width: auto;
    }
    .agenda-card--compact-strip .agenda-card__cobrado-paid-ico svg {
      width: var(--agenda-cobrado-paid-ico);
      height: var(--agenda-cobrado-paid-ico);
    }
    .agenda-card--compact-strip .agenda-card__cobrado-pay svg,
    .agenda-card--compact-strip .agenda-card__cobrado-bag svg {
      width: var(--agenda-cobrado-pay-ico);
      height: var(--agenda-cobrado-pay-ico);
    }
    .agenda-card--compact-strip .agenda-card__cobrado-shop-n {
      font-size: var(--agenda-cobrado-shop-fs);
    }
    /* Cajones cortos: reducir el resize handle y el padding inferior para dejar aire bajo el texto */
    @container (max-height: 60px) {
      .agenda-card__resize { width: 14px; height: 14px; }
      .agenda-card__resize-glyph { width: 14px; height: 14px; }
      .agenda-card:has(.agenda-card__resize) .agenda-card__body { padding-bottom: 5px; }
      .agenda-card .agenda-card__body { padding-top: 2px; }
      /* El badge «PRIMERA VISITA» ahora vive dentro de la fila del nombre: escala con el nombre. */
      .agenda-card__first-visit { padding: 0 7px; line-height: 1.15; letter-spacing: 0.03em; }
    }
    @container (max-height: 48px) {
      .agenda-card__resize { width: 14px; height: 14px; }
      .agenda-card__resize-glyph { width: 14px; height: 14px; }
      .agenda-card:has(.agenda-card__resize) .agenda-card__body { padding-bottom: 4px; }
      .agenda-card .agenda-card__body { padding-top: 1px; }
      .agenda-card__first-visit { padding: 0 6px; font-size: calc(var(--agenda-text-scale) * 0.78 * clamp(0.62rem, 0.5rem + 1cqh, 0.78rem)); }
      .agenda-card__name-text { font-size: calc(var(--agenda-text-scale) * clamp(0.62rem, 0.5rem + 1cqh, 0.78rem)) !important; }
      .agenda-card__svc { font-size: calc(var(--agenda-text-scale) * clamp(0.55rem, 0.42rem + 1cqh, 0.7rem)) !important; }
      .agenda-card__time { font-size: calc(var(--agenda-text-scale) * 1.25 * clamp(0.56rem, 0.42rem + 1cqh, 0.78rem)) !important; }
    }
    .agenda-card__source {
      position: relative;
      z-index: 4;
      width: var(--agenda-rail-icon);
      height: var(--agenda-rail-icon);
      min-width: 10px;
      min-height: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 0;
      pointer-events: auto;
      cursor: help;
      box-sizing: border-box;
      flex-shrink: 0;
      border: none;
      background: transparent;
      box-shadow: none;
    }
    .agenda-card__source svg {
      display: block;
      width: calc(var(--agenda-rail-icon) - 3px);
      height: calc(var(--agenda-rail-icon) - 3px);
      max-width: 11px;
      max-height: 11px;
    }
    .agenda-card__source--webapp {
      color: var(--c-cielo-250);
      background: transparent;
      border: none;
      box-shadow: none;
    }
    .agenda-card__source--panel {
      color: var(--c-verde-250);
      background: transparent;
      border: none;
      box-shadow: none;
    }
    .agenda-card__source--external {
      color: var(--c-ambar-250);
      background: transparent;
      border: none;
      box-shadow: none;
    }
    .agenda-card__source--chat {
      color: var(--c-indigo-150);
      background: transparent;
      border: none;
      box-shadow: none;
    }
    .agenda-card:has(.agenda-card__cobrado-panel) {
      padding-right: 6px;
    }
    /* Fila COBRADO: anclada arriba a la derecha, misma altura que la hora */
    .agenda-card__cobrado-strip {
      position: absolute;
      top: 3px;
      width: max-content;
      min-width: 0;
      max-width: var(--agenda-cobrado-strip-w);
      height: var(--agenda-cobrado-row-h);
      right: calc(var(--agenda-rail-w) + 2px);
      z-index: 4;
      box-sizing: border-box;
      border: 0;
      background: transparent;
      border-radius: 0;
      padding: 0;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      line-height: 1;
      overflow: visible;
      pointer-events: auto;
    }
    .agenda-card:not(:has(.agenda-card__rail)) .agenda-card__cobrado-strip {
      right: 6px;
    }
    .agenda-card--has-notes .agenda-card__cobrado-strip {
      right: calc(var(--agenda-notes-rail-w, 92px) + 2px);
    }
    /* Recurso: misma esquina que la mano de cobrado; no va en el rail de notas */
    .agenda-card__resource-strip {
      position: absolute;
      top: 3px;
      right: calc(var(--agenda-rail-w) + 2px);
      z-index: 4;
      width: max-content;
      height: auto;
      min-height: var(--agenda-cobrado-row-h);
      overflow: visible;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      gap: 3px;
      pointer-events: auto;
      line-height: 0;
      box-sizing: border-box;
    }
    .agenda-card:not(:has(.agenda-card__rail)) .agenda-card__resource-strip {
      right: 6px;
    }
    .agenda-card--has-notes .agenda-card__resource-strip {
      right: calc(var(--agenda-notes-rail-w, 92px) + 2px);
    }
    .agenda-card__cobrado-panel {
      width: max-content;
      max-width: var(--agenda-cobrado-strip-w);
      min-width: min-content;
      height: var(--agenda-cobrado-row-h);
      max-height: var(--agenda-cobrado-row-h);
      box-sizing: border-box;
      flex: 0 0 auto;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: var(--agenda-cobrado-panel-gap);
      padding: var(--agenda-cobrado-panel-pad);
      border-radius: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-34d399, #34d399)) 78%, var(--c-gris-50f));
      overflow: visible;
      pointer-events: auto;
      cursor: pointer;
      line-height: 0;
    }
    .agenda-card__cobrado-r1 {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      width: auto;
      max-width: none;
      justify-content: flex-end;
      align-items: center;
      gap: 3px;
      flex: 0 0 auto;
      min-height: 0;
      height: 100%;
      line-height: 0;
    }
    .agenda-card__cobrado-paid-ico {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      line-height: 0;
      flex: 0 0 auto;
      height: 100%;
    }
    .agenda-card__cobrado-paid-ico svg {
      width: var(--agenda-cobrado-paid-ico);
      height: var(--agenda-cobrado-paid-ico);
      display: block;
      flex-shrink: 0;
    }
    .agenda-card__cobrado-paid-text {
      display: none !important;
    }
    .agenda-card__cobrado-r-div {
      display: none !important;
    }
    .agenda-card__cobrado-r3 {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 3px;
      width: auto;
      max-width: none;
      min-width: 0;
      flex: 0 0 auto;
      height: 100%;
      box-sizing: border-box;
      line-height: 0;
    }
    .agenda-card__cobrado-shop {
      flex: 0 0 auto;
      min-width: 0;
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 2px;
      line-height: 0;
      height: 100%;
      box-sizing: border-box;
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-34d399, #34d399)) 78%, var(--c-pizarra-100));
    }
    .agenda-card__cobrado-bag {
      display: inline-flex;
      align-items: center;
      line-height: 0;
    }
    .agenda-card__cobrado-bag svg {
      width: var(--agenda-cobrado-bag-ico);
      height: var(--agenda-cobrado-bag-ico);
      display: block;
    }
    .agenda-card__cobrado-shop-n {
      font-size: var(--agenda-cobrado-shop-fs);
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      line-height: 1;
    }
    .agenda-card__cobrado-pay {
      flex: 0 0 auto;
      margin-left: 0;
      min-width: 0;
      display: inline-flex;
      justify-content: flex-end;
      align-items: center;
      line-height: 0;
      height: 100%;
    }
    .agenda-card__cobrado-pay--solo {
      flex: 0 0 auto;
      margin-left: 0;
      justify-content: flex-end;
    }
    .agenda-card__cobrado-pay-mix {
      display: inline-flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 2px;
      max-width: none;
      min-width: 0;
      position: relative;
      line-height: 0;
      height: 100%;
    }
    .agenda-card__cobrado-pay-mix__icons {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      flex-shrink: 0;
    }
    .agenda-card__cobrado-mini-pay {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
      flex-shrink: 0;
      position: relative;
      z-index: 1;
      color: color-mix(in srgb, var(--agenda-cobrado-accent, var(--bv-g-34d399, #34d399)) 80%, var(--c-gris-50f));
    }
    .agenda-card__cobrado-mini-pay svg {
      display: block;
      width: var(--agenda-cobrado-pay-ico);
      height: var(--agenda-cobrado-pay-ico);
    }
    /* «+» de pago dividido: en la misma fila, sin pastilla de fondo */
    .agenda-card__cobrado-pay-plus {
      position: relative;
      z-index: 3;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 0;
      min-width: 0;
      height: auto;
      padding: 0;
      border-radius: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      color: inherit;
      font-size: 0.62rem;
      font-weight: 800;
      line-height: 1;
      opacity: 0.95;
      user-select: none;
      pointer-events: none;
    }
    /* Solo cajones muy bajos (<34px): reducir COBRADO y carril */
    @container (max-height: 34px) {
      .agenda-card {
        --agenda-rail-icon: 11px;
        /* Iconos cobrado: mismo tamaño medio (no reducir en cajones bajos) */
        --agenda-cobrado-panel-pad: 0;
        --agenda-cobrado-panel-gap: 3px;
      }
      .agenda-card__cobrado-r-div { display: none; }
      .agenda-card__notes-text { font-size: 0.5rem; padding: 1px 3px; }
    }
    /* Cajón medio-bajo con COBRADO (~25–45 min): misma fila; iconos tamaño fijo */
    @container (max-height: 64px) {
      .agenda-card:has(.agenda-card__cobrado-panel) {
        --agenda-cobrado-panel-pad: 0;
        --agenda-cobrado-panel-gap: 4px;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-strip {
        top: 1px;
        line-height: 1;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-panel {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 3px;
        line-height: 1;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-r-div {
        display: none;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-r1,
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-r3 {
        flex: 0 0 auto;
        width: auto;
        line-height: 1;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-paid-text,
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-shop-n {
        line-height: 1;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__body {
        gap: clamp(0px, 0.35cqh, 2px);
        padding-top: 1px;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__head-row,
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-row {
        gap: clamp(0px, 0.35cqh, 2px);
        line-height: 1.05;
      }
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__time,
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name,
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__name-text,
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__svc {
        line-height: 1.05;
      }
    }
    @container (max-height: 40px) {
      .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__cobrado-paid-text {
        display: none;
      }
    }
    @container (max-width: 200px) {
      .agenda-card__cobrado-panel { padding-left: 4px; padding-right: 4px; }
    }
    .agenda-card__badge {
      position: relative;
      top: auto;
      right: auto;
      font-size: calc(var(--agenda-text-scale) * clamp(0.45rem, 0.1rem + 6cqh, 0.78rem));
      padding: 2px 6px;
      border-radius: 5px;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.3);
      color: var(--nav-active-text);
      line-height: 1.35;
      letter-spacing: 0.3px;
      white-space: nowrap;
      max-width: 100%;
      box-sizing: border-box;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .agenda-card__product-sale {
      position: relative;
      top: auto;
      right: auto;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 2px 6px 2px 4px;
      border-radius: 6px;
      background: rgba(96, 165, 250, 0.35);
      color: var(--c-azul-150);
      font-size: calc(var(--agenda-text-scale) * clamp(0.48rem, 0.12rem + 6.5cqh, 0.85rem));
      line-height: 1.2;
      letter-spacing: 0.02em;
      white-space: nowrap;
      border: 1px solid rgba(147, 197, 253, 0.45);
      max-width: 100%;
      min-width: 0;
      flex: 0 0 auto;
      flex-shrink: 0;
      box-sizing: border-box;
    }
    .agenda-card__product-sale-ico {
      display: flex;
      align-items: center;
      line-height: 0;
    }
    .agenda-card__product-sale-ico svg {
      display: block;
      width: calc(var(--agenda-text-scale) * clamp(13px, 0.4rem + 6.5cqh, 17px));
      height: calc(var(--agenda-text-scale) * clamp(13px, 0.4rem + 6.5cqh, 17px));
    }
    .agenda-card__product-sale-n {
      font-weight: 800;
      font-variant-numeric: tabular-nums;
    }
    .agenda-card__pay-icon {
      position: relative;
      top: auto;
      right: auto;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      max-width: min(100%, 7rem);
      padding: 0 2px;
      margin: 0;
      box-sizing: border-box;
      overflow: visible;
      line-height: 0;
      color: rgba(191, 219, 254, 0.95);
    }
    .agenda-card__pay-icon svg {
      display: block;
      width: calc(var(--agenda-text-scale) * clamp(28px, 0.84rem + 8.4cqh, 36px));
      height: calc(var(--agenda-text-scale) * clamp(28px, 0.84rem + 8.4cqh, 36px));
      flex-shrink: 0;
    }
    .agenda-card__pay-emoji {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      vertical-align: middle;
      color: currentColor;
    }
    .agenda-card__pay-emoji svg {
      width: calc(var(--agenda-text-scale) * clamp(22px, 0.75rem + 6.5cqh, 30px));
      height: calc(var(--agenda-text-scale) * clamp(22px, 0.75rem + 6.5cqh, 30px));
      display: block;
    }
    .agenda-card__pay-icon-mix .agenda-card__pay-emoji svg {
      width: calc(var(--agenda-text-scale) * clamp(18px, 0.65rem + 5.5cqh, 24px));
      height: calc(var(--agenda-text-scale) * clamp(18px, 0.65rem + 5.5cqh, 24px));
    }
    .agenda-card__pay-icon-mix {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 2px;
      line-height: 0;
    }
    .agenda-card__pay-icon-mix svg {
      width: calc(var(--agenda-text-scale) * clamp(22px, 0.7rem + 6.4cqh, 28px));
      height: calc(var(--agenda-text-scale) * clamp(22px, 0.7rem + 6.4cqh, 28px));
    }
    .agenda-card__pay-mix-plus {
      font-size: calc(var(--agenda-text-scale) * 0.82rem);
      font-weight: 500;
      opacity: 0.55;
      line-height: 1;
      padding: 0 2px;
      user-select: none;
    }
    .agenda-card__pay-icon--mixto {
      max-width: min(100%, 10rem);
      padding: 0 2px;
    }
    .agenda-card--has-client-ack {
      min-height: 0;
    }
    .agenda-card__ack-head {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      width: 100%;
      min-width: 0;
      flex: 0 0 auto;
      box-sizing: border-box;
    }
    .agenda-card__ack-head .agenda-card__time {
      flex: 0 1 auto;
      min-width: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .agenda-card--has-client-ack .agenda-card__body {
      padding-top: 0;
      padding-right: calc(var(--agenda-rail-icon) + 8px);
      padding-bottom: 2px;
      gap: 2px;
      justify-content: flex-start;
      min-height: 0;
      overflow: hidden;
    }
    .agenda-card--has-client-ack:has(.agenda-card__move-grip) .agenda-card__body {
      padding-top: 0;
    }
    .agenda-card--has-client-ack .agenda-card__name-row {
      flex: 1 1 auto;
      min-height: 0;
      padding-right: 0;
      gap: 1px;
      overflow: hidden;
    }
    .agenda-card--has-client-ack .agenda-card__name {
      font-size: calc(var(--agenda-text-scale) * clamp(0.64rem, 0.07rem + 16cqh, 1.05rem));
      line-height: 1.12;
    }
    .agenda-card--has-client-ack .agenda-card__svc {
      font-size: calc(var(--agenda-text-scale) * clamp(0.58rem, 0.05rem + 13cqh, 0.88rem));
      line-height: 1.1;
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .agenda-card--has-client-ack .agenda-card__ack-head .agenda-card__time {
      font-size: calc(var(--agenda-text-scale) * clamp(0.58rem, 0.05rem + 11cqh, 0.82rem));
      line-height: 1.1;
    }
    .agenda-card--has-client-ack .agenda-card__ack-head .agenda-card__dur {
      font-size: calc(var(--agenda-text-scale) * clamp(0.52rem, 0.04rem + 9cqh, 0.72rem));
    }
    .agenda-card--has-client-ack .agenda-card__ack-head .agenda-card__client-ack {
      flex: 0 1 auto;
      min-width: 0;
      max-width: min(58%, 11.5rem);
      height: auto;
      margin: 0;
      padding: 2px 7px;
      font-size: calc(var(--agenda-text-scale) * clamp(0.68rem, 0.08rem + 10cqh, 0.82rem));
      font-weight: 700;
      line-height: 1.15;
      border-radius: 5px;
      background: rgba(34, 197, 94, 0.42);
      color: var(--bv-g-ecfdf5, #ecfdf5);
      border: 1px solid rgba(134, 239, 172, 0.58);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: center;
      box-sizing: border-box;
      letter-spacing: 0.01em;
      pointer-events: none;
    }
    .agenda-card--has-client-ack .agenda-card__ack-head .agenda-card__client-ack::before {
      content: '✓ ';
      font-size: 1em;
      line-height: 1;
    }
    /* Cajón bajo con confirmación: nombre ● servicio en la misma fila (como citas cortas). */
    @container (max-height: 72px) {
      .agenda-card--has-client-ack .agenda-card__name-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.2em;
        min-width: 0;
        overflow: hidden;
      }
      .agenda-card--has-client-ack .agenda-card__name {
        flex: 0 1 auto;
        min-width: 0;
        width: auto;
        max-width: 100%;
        flex-wrap: nowrap;
        overflow: hidden;
        align-items: center;
      }
      .agenda-card--has-client-ack .agenda-card__name-text {
        flex: 0 1 auto;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 1;
      }
      .agenda-card--has-client-ack .agenda-card__name-svc-group {
        flex: 1 1 0;
        min-width: 0;
        overflow: hidden;
        gap: 0.18em;
        align-items: center;
        display: flex;
      }
      .agenda-card--has-client-ack .agenda-card__name-svc-sep {
        display: block;
        flex-shrink: 0;
      }
      .agenda-card--has-client-ack .agenda-card__svc {
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 2;
      }
    }
    @container (max-height: 44px) {
      .agenda-card--has-client-ack .agenda-card__ack-head .agenda-card__client-ack {
        padding: 1px 5px;
        font-size: calc(var(--agenda-text-scale) * clamp(0.58rem, 0.05rem + 8cqh, 0.72rem));
        max-width: min(52%, 9rem);
      }
      .agenda-card--has-client-ack .agenda-card__ack-head .agenda-card__time {
        font-size: calc(var(--agenda-text-scale) * clamp(0.54rem, 0.04rem + 9cqh, 0.76rem));
      }
      .agenda-card--has-client-ack .agenda-card__name {
        font-size: calc(var(--agenda-text-scale) * clamp(0.58rem, 0.05rem + 12cqh, 0.82rem));
      }
      .agenda-card--has-client-ack .agenda-card__svc {
        font-size: calc(var(--agenda-text-scale) * clamp(0.52rem, 0.04rem + 10cqh, 0.74rem));
      }
    }
    .agenda-card__ack-slot {
      position: absolute;
      top: 0;
      left: calc(50% + 13px);
      right: calc(3px + var(--agenda-rail-icon) + 3px);
      height: 12px;
      z-index: 8;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      pointer-events: none;
    }
    .agenda-card:not(:has(.agenda-card__move-grip)) .agenda-card__ack-slot {
      left: 6px;
    }
    .agenda-card:has(.agenda-card__rail--notes) .agenda-card__ack-slot {
      right: calc(3px + min(38%, 108px) + 3px);
    }
    .agenda-card:has(.agenda-card__cobrado-panel) .agenda-card__ack-slot {
      display: none !important;
    }
    .agenda-card__client-ack {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      display: block;
      max-width: 100%;
      height: 12px;
      margin: 0;
      padding: 0 4px;
      font-size: calc(var(--agenda-text-scale) * clamp(0.52rem, 0.06rem + 8cqh, 0.72rem));
      font-weight: 700;
      border-radius: 0 0 5px 5px;
      background: rgba(34, 197, 94, 0.38);
      color: var(--bv-g-ecfdf5, #ecfdf5);
      border: 1px solid rgba(134, 239, 172, 0.45);
      border-top: none;
      line-height: 12px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      box-sizing: border-box;
      letter-spacing: 0.01em;
      pointer-events: none;
      text-align: center;
    }
    .agenda-card:has(.agenda-card__ack-slot) .agenda-card__body {
      padding-top: calc(clamp(14px, 2.4cqh, 20px));
    }
    @container (max-height: 88px) {
      .agenda-card:has(.agenda-card__ack-slot):not(.agenda-card--compact-strip) .agenda-card__body {
        padding-top: 13px;
        gap: 1px;
      }
      .agenda-card:has(.agenda-card__ack-slot):not(.agenda-card--compact-strip) .agenda-card__head-row {
        line-height: 1.05;
      }
      .agenda-card:has(.agenda-card__ack-slot):not(.agenda-card--compact-strip) .agenda-card__name-row {
        line-height: 1.05;
      }
      .agenda-card:has(.agenda-card__ack-slot):not(.agenda-card--compact-strip)[data-agenda-stack-svc="1"] .agenda-card__name-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
      }
      .agenda-card:has(.agenda-card__ack-slot):not(.agenda-card--compact-strip)[data-agenda-stack-svc="1"] .agenda-card__name-svc-group {
        flex-direction: row;
      }
      .agenda-card:has(.agenda-card__ack-slot):not(.agenda-card--compact-strip)[data-agenda-stack-svc="1"] .agenda-card__svc {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: unset;
        display: block;
      }
    }
    .agenda-card__client-ack::before {
      content: '✓ ';
      font-size: 1em;
      line-height: 1;
    }
    /* Cajones muy bajos: menos hueco entre renglones pero no pegados */
    @container (max-height: 48px) {
      .agenda-card__body {
        gap: clamp(0px, 0.45cqh, 3px);
      }
      .agenda-card__time,
      .agenda-card__head-row,
      .agenda-card__name-row,
      .agenda-card__name,
      .agenda-card__name-text,
      .agenda-card__name-svc-group,
      .agenda-card__name-svc-sep,
      .agenda-card__svc,
      .agenda-card__client-ack {
        line-height: 1;
      }
    }
    .agenda-card__notes-icon {
      display: block;
      width: var(--agenda-rail-icon);
      height: var(--agenda-rail-icon);
      min-width: var(--agenda-rail-icon);
      min-height: var(--agenda-rail-icon);
      cursor: pointer;
      opacity: 0.72;
      transition: opacity .15s;
      color: var(--text);
      z-index: 8;
      border: none;
      background: transparent;
      box-shadow: none;
      border-radius: 0;
      flex-shrink: 0;
      padding: 0;
      line-height: 0;
    }
    @container (max-height: 10px) {
      .agenda-card__notes-stack,
      .agenda-card__notes-anchor {
        display: none;
      }
    }
    @container (max-width: 80px) {
      .agenda-card {
        --agenda-rail-icon: 11px;
      }
    }
    .agenda-card__notes-icon:hover { opacity: 1; }
    .agenda-card__notes-icon svg { display: block; width: 100%; height: 100%; }
    /* Tooltip de notas en capa fija (no dentro de la tarjeta): evita recortes y que tape la agenda. */
    .agenda-notes-flytip {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 100040;
      box-sizing: border-box;
      width: min(280px, calc(100vw - 24px));
      max-height: min(280px, 52vh);
      overflow: auto;
      background: var(--card);
      color: var(--text);
      border: 1px solid var(--border, #3a3a3a);
      border-radius: 8px;
      padding: 8px 11px;
      font-size: 0.75rem;
      line-height: 1.35;
      white-space: pre-wrap;
      word-wrap: break-word;
      overflow-wrap: break-word;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
      pointer-events: none;
    }
    .agenda-notes-flytip:not(.hidden) {
      pointer-events: auto;
    }
    .agenda-notes-flytip.hidden {
      display: none !important;
    }
    .agenda-notes-flytip__hint {
      display: block;
      margin-top: 6px;
      padding-top: 6px;
      border-top: 1px solid var(--border, #3a3a3a);
      font-size: 0.68rem;
      opacity: 0.82;
    }
    .agenda-source-flytip {
      width: auto;
      max-width: min(320px, calc(100vw - 24px));
      max-height: none;
      overflow: visible;
      white-space: nowrap;
      padding: 6px 10px;
      font-size: 0.72rem;
      font-weight: 600;
    }
    .agenda-wl-flytip {
      width: auto;
      min-width: 160px;
      max-width: min(300px, calc(100vw - 24px));
      max-height: min(240px, 52vh);
      overflow: auto;
      white-space: normal;
      padding: 8px 11px;
      font-size: 0.72rem;
      line-height: 1.35;
      font-weight: 500;
    }
    .agenda-wl-flytip__title {
      display: block;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      margin-bottom: 6px;
      opacity: 0.92;
    }
    .agenda-wl-flytip__row {
      display: block;
      padding: 2px 0;
    }
    .agenda-wl-flytip__row + .agenda-wl-flytip__row {
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      margin-top: 2px;
      padding-top: 4px;
    }
    html.bardev-panel-theme-light .agenda-wl-flytip__row + .agenda-wl-flytip__row {
      border-top-color: rgba(15, 23, 42, 0.1);
    }
    /* Cita muy corta: al pasar el cursor, tarjeta ampliada en capa fija (no recortada por la columna). */
    .agenda-card-peek-flytip {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 100045;
      box-sizing: border-box;
      pointer-events: none;
      filter: drop-shadow(0 14px 36px rgba(0, 0, 0, 0.55));
    }
    .agenda-card-peek-flytip:not(.hidden) {
      pointer-events: none;
    }
    .agenda-card-peek-flytip.hidden {
      display: none !important;
    }
    .agenda-card-peek-flytip__inner {
      position: relative !important;
      left: auto !important;
      right: auto !important;
      top: auto !important;
      width: auto;
      min-width: min(260px, calc(100vw - 24px));
      max-width: min(360px, calc(100vw - 24px));
      min-height: 52px;
      height: auto !important;
      overflow: visible !important;
      container-type: normal;
      cursor: default;
      box-shadow: 0 10px 32px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 255, 255, 0.1);
      animation: agenda-card-peek-in 130ms ease-out;
    }
    .agenda-card-peek-flytip__inner .agenda-card__body {
      padding: 7px 10px 7px 2px;
      gap: 4px;
      overflow: visible;
    }
    .agenda-card-peek-flytip__inner .agenda-card__head-row,
    .agenda-card-peek-flytip__inner .agenda-card__name-row {
      display: flex !important;
      overflow: visible;
      padding-right: 0 !important;
    }
    .agenda-card-peek-flytip__inner .agenda-card__name-row {
      flex-direction: column;
      align-items: flex-start;
      gap: 3px;
    }
    .agenda-card-peek-flytip__inner .agenda-card__name,
    .agenda-card-peek-flytip__inner .agenda-card__name-svc-group {
      width: 100%;
      max-width: 100%;
      overflow: visible;
    }
    .agenda-card-peek-flytip__inner .agenda-card__name-text,
    .agenda-card-peek-flytip__inner .agenda-card__svc {
      overflow: visible;
      text-overflow: unset;
      white-space: normal;
      word-break: break-word;
      -webkit-line-clamp: unset;
      -webkit-box-orient: unset;
      display: block;
    }
    .agenda-card-peek-flytip__inner .agenda-card__name-svc-sep {
      display: none;
    }
    /* Resaltado de la cita activa bajo el cursor (solo una; se quita al cambiar). */
    .agenda-card.agenda-card--peek-active {
      z-index: 120 !important;
      box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.85), 0 8px 22px rgba(0, 0, 0, 0.38) !important;
    }
    @keyframes agenda-card-peek-in {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    html.bardev-panel-theme-light .agenda-card-peek-flytip__inner {
      box-shadow: var(--ds-shadow-lg, 0 12px 32px rgba(15, 23, 42, 0.18)), 0 0 0 1px var(--ds-border, rgba(15, 23, 42, 0.12));
    }
    html.bardev-panel-theme-light .agenda-card.agenda-card--peek-active {
      z-index: 120 !important;
      box-shadow: 0 0 0 2px rgba(217, 119, 6, 0.8), var(--ds-shadow-md) !important;
    }
    /* Tras crear cita / bloque: resaltar el cajón 5 s (outline+fondo: no se recorta) */
    @keyframes agenda-card-just-created-blink {
      0%,
      100% {
        outline-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.95);
        background-color: var(--c-verde-150) !important;
        background-image: none !important;
        filter: brightness(1);
      }
      50% {
        outline-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 1);
        background-color: var(--bv-g-34d399, #34d399) !important;
        background-image: none !important;
        filter: brightness(1.08);
      }
    }
    .agenda-card.agenda-card--just-created,
    .agenda-card.agenda-card--personal-block.agenda-card--just-created,
    html.bardev-panel-theme-light .agenda-card.agenda-card--just-created,
    html.bardev-panel-theme-light .agenda-card.agenda-card--personal-block.agenda-card--just-created {
      z-index: 140 !important;
      outline: 3px solid rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.95) !important;
      outline-offset: 2px !important;
      box-shadow: 0 0 0 4px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.45), 0 0 22px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.5) !important;
      animation: agenda-card-just-created-blink 0.55s ease-in-out infinite !important;
    }
    .agenda-notes-banner {
      position: fixed;
      bottom: 24px;
      left: 50%;
      transform: translateX(-50%) translateY(20px);
      background: var(--card, #1e1e1e);
      color: var(--text, #f0f0f0);
      border: 1px solid var(--border, #3a3a3a);
      border-radius: 10px;
      padding: 10px 18px;
      font-size: .85rem;
      line-height: 1.4;
      box-shadow: 0 6px 20px rgba(0,0,0,.4);
      z-index: 9999;
      opacity: 0;
      transition: opacity .25s, transform .25s;
      pointer-events: none;
      max-width: 400px;
      text-align: center;
    }
    .agenda-notes-banner--visible {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
      pointer-events: auto;
    }
    .agenda-notes-banner__icon { margin-right: 6px; }
    .agenda-modal-panel {
      background: var(--card);
      border-radius: 12px;
      padding: 20px;
      max-width: 420px;
      width: 92%;
      border: 1px solid var(--border);
    }
    .agenda-modal-panel--wide {
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      /* Tope: --bardev-modal-content-cap / --bardev-agenda-modal-cap (≈ 80% zona de contenidos). */
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      );
      min-height: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      overflow-anchor: none;
      overscroll-behavior: contain;
      padding: 0;
    }
    .agenda-modal-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-shrink: 0;
      padding: 12px 16px;
    }
    .agenda-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
    }
    .agenda-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      touch-action: pan-y;
      padding: 12px 16px 8px;
      box-sizing: border-box;
    }
    .agenda-modal-foot {
      flex-shrink: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid var(--border);
    }
    /* Nueva cita: altura máxima del área de contenido (cap JS; padding mínimo). */
    #agenda-modal.modal-overlay {
      align-items: center;
      justify-content: center;
      padding: max(4px, env(safe-area-inset-top, 0px)) max(6px, env(safe-area-inset-right, 0px))
        max(4px, env(safe-area-inset-bottom, 0px)) max(6px, env(safe-area-inset-left, 0px));
      min-height: 0;
      overflow-x: hidden !important;
      overflow-y: hidden !important;
    }
    /* Ancho unificado Estilo Barveo (--bardev-agenda-detail-w / --bd-modal-w). Cabecera+pie fijos; scroll en body. */
    #agenda-modal.modal-overlay > .agenda-modal-panel.agenda-modal-panel--wide,
    #agenda-modal.modal-overlay > .bardev-modal-scale-wrap > .agenda-modal-panel.agenda-modal-panel--wide {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      min-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      ) !important;
      min-height: 0 !important;
      box-sizing: border-box !important;
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      transform: none !important;
      zoom: 1 !important;
    }
    #agenda-modal.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      min-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
    }
    #agenda-waitlist-modal.bardev-modal-overlay {
      align-items: center;
      justify-content: center;
      padding: max(4px, env(safe-area-inset-top, 0px)) max(6px, env(safe-area-inset-right, 0px))
        max(4px, env(safe-area-inset-bottom, 0px)) max(6px, env(safe-area-inset-left, 0px));
      min-height: 0;
      overflow: hidden !important;
    }
    #agenda-waitlist-modal.bardev-modal-overlay > .bardev-modal-surface--wide,
    #agenda-waitlist-modal.bardev-modal-overlay > .bardev-modal-scale-wrap > .bardev-modal-surface--wide {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      width: var(--bardev-agenda-modal-w, min(420px, calc(100vw - 16px))) !important;
      max-width: var(--bardev-agenda-modal-w, min(420px, calc(100vw - 16px))) !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      ) !important;
      display: flex !important;
      flex-direction: column !important;
      padding: 0 !important;
      overflow: hidden !important;
      transform: none !important;
      zoom: 1 !important;
    }
    #agenda-waitlist-modal .agenda-waitlist-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex: 0 0 auto;
      z-index: 2;
    }
    #agenda-waitlist-modal .agenda-waitlist-modal-head__txt {
      min-width: 0;
      flex: 1 1 auto;
    }
    #agenda-waitlist-modal .agenda-waitlist-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
    }
    #agenda-waitlist-modal .agenda-waitlist-modal-sub {
      margin: 4px 0 0;
      font-size: 0.78rem;
      line-height: 1.35;
      color: var(--muted);
    }
    #agenda-waitlist-modal .agenda-waitlist-modal-sub:empty {
      display: none;
    }
    #agenda-waitlist-modal .agenda-waitlist-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-y;
      padding: 14px 16px 16px;
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light #agenda-waitlist-modal .agenda-waitlist-modal-panel.bd-panel,
    html.bardev-panel-theme-light #agenda-waitlist-modal .agenda-waitlist-modal-panel,
    html.bardev-panel-theme-light #agenda-waitlist-modal .bardev-modal-surface--wide {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #agenda-waitlist-modal .agenda-waitlist-modal-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #agenda-waitlist-modal .agenda-waitlist-modal-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #agenda-waitlist-modal .agenda-waitlist-modal-sub {
      color: var(--bd-ink-soft, #334155);
    }
    html.bardev-panel-theme-light #agenda-waitlist-modal .agenda-waitlist-modal-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    #agenda-waitlist-modal.bardev-modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-modal-w, min(420px, calc(100vw - 16px))) !important;
      max-width: var(--bardev-agenda-modal-w, min(420px, calc(100vw - 16px))) !important;
    }
    .agenda-modal-sub {
      margin: 4px 0 0;
      font-size: 0.8rem;
      color: var(--muted);
      line-height: 1.35;
    }
    .agenda-modal-section {
      font-size: 0.72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--muted);
      margin: 18px 0 8px;
    }
    .agenda-modal-section:first-of-type {
      margin-top: 8px;
    }
    /* Evita que el motor intente “centrar” el campo y dispare scroll al panel (Safari/autofill). */
    #agenda-modal .agenda-wi-fields input,
    #agenda-modal #agenda-m-block-desc,
    #agenda-modal #agenda-m-block-time-start,
    #agenda-modal #agenda-m-block-time-end {
      scroll-margin: 0;
      scroll-margin-block: 0;
      scroll-margin-top: 0;
      scroll-margin-bottom: 0;
    }
    /* Nueva cita: calendario centrado; flechas mes a izquierda/derecha del título (no columna lateral) */
    .agenda-m-date-visual {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      margin-bottom: 12px;
      width: 100%;
    }
    .agenda-m-cal__sheet {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(125, 211, 252, 0.28);
      background: linear-gradient(155deg, rgba(14, 116, 144, 0.22) 0%, rgba(30, 58, 138, 0.2) 45%, rgba(22, 101, 52, 0.18) 100%);
    }
    .agenda-m-cal__month-row {
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr) 44px;
      align-items: center;
      gap: 6px;
      margin-bottom: 8px;
    }
    .agenda-m-cal__month {
      font-size: 0.92rem;
      font-weight: 700;
      text-align: center;
      margin: 0;
      min-width: 0;
      color: var(--text);
    }
    .agenda-m-cal__weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 2px;
      margin-bottom: 4px;
      font-size: 0.65rem;
      font-weight: 600;
      color: var(--muted);
      text-align: center;
    }
    .agenda-m-cal__grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 4px;
    }
    .agenda-m-cal__cell--empty {
      min-height: 32px;
    }
    .agenda-m-cal__day {
      min-height: 34px;
      border-radius: 8px;
      border: 1px solid transparent;
      background: rgba(224, 242, 254, 0.08);
      color: var(--text);
      font-size: 0.82rem;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      transition: background 0.12s, border-color 0.12s;
    }
    .agenda-m-cal__day--today {
      position: relative;
      min-height: 38px;
      padding-bottom: 10px;
      box-sizing: border-box;
    }
    .agenda-m-cal__day--today::after {
      content: 'HOY';
      position: absolute;
      bottom: 2px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 0.5rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      color: var(--c-cielo-250);
      line-height: 1;
      pointer-events: none;
    }
    .agenda-m-cal__day--today.agenda-m-cal__day--disabled::after {
      color: rgba(148, 163, 184, 0.75);
    }
    .agenda-m-cal__day--today:not(.agenda-m-cal__day--selected):not(.agenda-m-cal__day--holiday):not(.agenda-m-cal__day--disabled) {
      box-shadow: inset 0 0 0 2px rgba(56, 189, 248, 0.88);
    }
    .agenda-m-cal__day--today.agenda-m-cal__day--selected:not(.agenda-m-cal__day--holiday) {
      box-shadow: inset 0 0 0 2px rgba(56, 189, 248, 0.55);
    }
    .agenda-m-cal__day:hover:not(.agenda-m-cal__day--disabled):not(.agenda-m-cal__day--selected) {
      background: rgba(34, 197, 94, 0.15);
      border-color: rgba(34, 197, 94, 0.35);
    }
    .agenda-m-cal__day--selected {
      background: rgba(34, 197, 94, 0.28);
      border-color: var(--ok, #22c55e);
      color: var(--bv-g-ecfdf5, #ecfdf5);
    }
    .agenda-m-cal__day--holiday.agenda-m-cal__day--disabled {
      opacity: 0.85;
      box-shadow: inset 0 0 0 2px rgba(239, 68, 68, 0.92);
      border-color: rgba(239, 68, 68, 0.55);
      color: rgba(254, 202, 202, 0.95);
    }
    .agenda-m-cal__day--disabled:not(.agenda-m-cal__day--holiday) {
      opacity: 0.35;
    }
    .agenda-m-cal__day--disabled {
      cursor: not-allowed;
      pointer-events: none;
    }
    .agenda-m-cal__side-btn {
      width: 44px;
      height: 40px;
      min-height: 40px;
      padding: 0;
      box-sizing: border-box;
      border-radius: 10px;
      border: 1px solid rgba(125, 211, 252, 0.35);
      background: rgba(224, 242, 254, 0.1);
      color: var(--c-cielo-150);
      font-size: 1.25rem;
      line-height: 1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 0.12s;
    }
    .agenda-m-cal__side-btn:hover {
      background: rgba(34, 197, 94, 0.18);
      border-color: rgba(34, 197, 94, 0.35);
    }
    .agenda-m-cal__side-btn:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    /* Estándar MDC fecha/hora: calendario izq. + horas dcha. (.bd-datetime-split; alias agenda-m-*) */
    .bd-datetime-split,
    .agenda-m-datetime-split {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 14px 16px;
      align-items: start;
      margin-bottom: 8px;
    }
    @media (max-width: 720px) {
      .bd-datetime-split,
      .agenda-m-datetime-split {
        grid-template-columns: 1fr;
      }
    }
    .bd-datetime-split__cal .agenda-m-date-visual,
    .agenda-m-datetime-split__cal .agenda-m-date-visual {
      margin-bottom: 0;
    }
    .bd-datetime-split__times,
    .agenda-m-datetime-split__times {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .bd-datetime-split__times > .bd-label,
    .bd-datetime-split__cal > .bd-label,
    .agenda-m-datetime-split__times > .bd-label,
    .agenda-m-datetime-split__cal > .bd-label {
      margin-bottom: 6px;
    }
    .bd-datetime-split .bd-label--with-ico,
    .agenda-m-datetime-split .bd-label--with-ico {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .bd-datetime-split .bd-label__ico,
    .agenda-m-datetime-split .bd-label__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--bd-g-600, var(--ok, var(--bv-g-059669, #059669)));
      flex: 0 0 auto;
      line-height: 0;
    }
    .bd-datetime-split .bd-label__ico svg,
    .agenda-m-datetime-split .bd-label__ico svg {
      display: block;
      width: 14px;
      height: 14px;
    }
    .bd-datetime-split__times-box,
    .agenda-m-datetime-split__times-box {
      min-width: 0;
      box-sizing: border-box;
    }
    .agenda-m-block-time-fields {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .agenda-m-block-time-field .bd-label {
      margin-bottom: 4px;
    }
    .agenda-m-block-time-field input[type='time'] {
      width: 100%;
      padding: 10px 12px;
      border-radius: 8px;
      box-sizing: border-box;
      font-size: 1rem;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      cursor: text;
      pointer-events: auto;
      -webkit-appearance: auto;
      appearance: auto;
    }
    .agenda-m-block-time-field input[type='time']:disabled {
      opacity: 1;
      cursor: text;
      pointer-events: auto;
    }
    .agenda-m-steps--block [data-agenda-step="1"]:not(.is-locked) .agenda-m-step__body,
    .agenda-m-steps--block [data-agenda-step="2"]:not(.is-locked) .agenda-m-step__body,
    .agenda-m-steps--block [data-agenda-step="5"]:not(.is-locked) .agenda-m-step__body {
      pointer-events: auto;
    }
    .agenda-m-block-time-hint {
      margin: 12px 0 0;
      font-size: 0.78rem;
      opacity: 0.88;
      line-height: 1.35;
    }
    .agenda-m-time-capsules {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 0;
      max-height: min(340px, 42vh);
      overflow-y: auto;
      padding-right: 2px;
    }
    .agenda-m-shift-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .agenda-m-shift-group__lbl {
      font-size: 0.64rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .agenda-m-shift-group__caps {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    /* Horario especial tras su turno, con el suplemento (titular, 11-10-2026): rótulo en Rojo señal. */
    .agenda-m-shift-group--especial .agenda-m-shift-group__lbl,
    html.bardev-panel-theme-light #agenda-modal .agenda-m-shift-group--especial .agenda-m-shift-group__lbl {
      color: var(--ds-accent, #c8463d);
    }
    .agenda-m-shift-group__suplem {
      text-transform: none;
      letter-spacing: 0.02em;
    }
    /* Área resaltada para distinguirlo de las horas normales (titular, 11-10-2026): rojo claro de la paleta. */
    .agenda-m-shift-group--especial,
    html.bardev-panel-theme-light #agenda-modal .agenda-m-shift-group--especial {
      padding: 8px 10px 10px;
      border-radius: 10px;
      background: var(--barveo-palette-02, #f7e5e4);
      border: 1px solid color-mix(in srgb, var(--ds-accent, #c8463d) 35%, transparent);
    }
    .agenda-m-steps {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-bottom: 8px;
    }
    .agenda-m-step {
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
      overflow: hidden;
    }
    @keyframes agenda-m-step-flash-danger {
      0%,
      100% {
        box-shadow: inset 0 0 0 2px var(--c-rojo-500);
        border-color: var(--c-rojo-500);
      }
      50% {
        box-shadow: inset 0 0 0 3px rgba(220, 38, 38, 0.55);
        border-color: var(--c-rojo-600);
      }
    }
    .agenda-m-step.agenda-m-step--flash-danger {
      animation: agenda-m-step-flash-danger 0.4s ease-in-out 5;
      border-color: var(--c-rojo-500);
    }
    html.bardev-panel-theme-light .agenda-m-step.agenda-m-step--flash-danger {
      border-color: var(--bd-danger-600, #dc2626);
    }
    .agenda-m-step.is-locked {
      opacity: 0.55;
    }
    .agenda-m-step.is-locked .agenda-m-step__toggle {
      cursor: not-allowed;
    }
    .agenda-m-step__toggle {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      margin: 0;
      padding: 12px 14px;
      border: 0;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      text-align: left;
      box-sizing: border-box;
    }
    .agenda-m-step__toggle:hover:not(:disabled) {
      background: rgba(0, 0, 0, 0.03);
    }
    .agenda-m-step__toggle:focus-visible {
      outline: 2px solid var(--ok, var(--bv-g-059669, #059669));
      outline-offset: -2px;
    }
    .agenda-m-step__num {
      flex: 0 0 auto;
      width: 22px;
      height: 22px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.72rem;
      font-weight: 800;
      background: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.12);
      color: var(--ok, var(--bv-g-059669, #059669));
    }
    .agenda-m-step.is-open .agenda-m-step__num {
      background: var(--ok, var(--bv-g-059669, #059669));
      color: var(--c-blanco);
    }
    .agenda-m-step__title {
      flex: 0 1 auto;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    .agenda-m-step__sum {
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--muted);
      text-align: right;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .agenda-m-step__chev {
      flex: 0 0 auto;
      font-size: 0.7rem;
      opacity: 0.7;
      transition: transform 0.15s ease;
    }
    .agenda-m-step.is-open .agenda-m-step__chev {
      transform: rotate(180deg);
    }
    .agenda-m-step__body {
      padding: 0 12px 12px;
      box-sizing: border-box;
    }
    .agenda-m-steps--block [data-agenda-step="3"],
    .agenda-m-steps--block [data-agenda-step="4"] {
      display: none !important;
    }
    .agenda-m-steps--block [data-agenda-step="1"],
    .agenda-m-steps--block [data-agenda-step="2"],
    .agenda-m-steps--block [data-agenda-step="5"] {
      display: block !important;
    }
    .agenda-m-steps--block #agenda-m-cita-stack {
      display: none !important;
    }
    .agenda-m-steps--block #agenda-m-block-stack {
      display: block !important;
    }
    .agenda-m-steps--block [data-agenda-step="5"] .agenda-m-step__num {
      font-size: 0;
      position: relative;
    }
    .agenda-m-steps--block [data-agenda-step="5"] .agenda-m-step__num::before {
      content: '3';
      font-size: 0.72rem;
      font-weight: 800;
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .agenda-m-comp-empty {
      margin: 0;
    }
    .agenda-m-group {
      margin: 12px 0 4px;
      padding: 12px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      border-radius: 14px;
      background: var(--bd-n-50, #f8fafc);
    }
    .agenda-m-group__toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.86rem;
      font-weight: 650;
      cursor: pointer;
      color: var(--bd-ink, #111827);
    }
    .agenda-m-group__plus {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 6px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--c-blanco);
      flex-shrink: 0;
    }
    .agenda-m-group__plus svg {
      display: block;
      width: 14px;
      height: 14px;
    }
    .agenda-m-group__add {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 12px;
      min-height: 40px;
      padding: 0 14px;
      width: auto;
      border-radius: 10px;
      border: 1px dashed var(--bd-g-600, var(--bv-g-047857, #047857));
      background: transparent;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      font-weight: 650;
      font-size: 0.86rem;
      cursor: pointer;
    }
    .agenda-m-group__add .agenda-m-group__plus {
      width: 22px;
      height: 22px;
    }
    .agenda-m-group__comps-lbl {
      margin: 10px 0 6px;
      font-size: 0.78rem;
      font-weight: 600;
    }
    .agenda-m-group__body { margin-top: 4px; }
    .agenda-m-group__person { margin-top: 10px; }
    .agenda-m-group__add.hidden { display: none; }
    .agenda-cobro-group {
      margin: 0 0 12px;
    }
    .agenda-cobro-group__opts {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .agenda-cobro-group__opts .agenda-cobro-group__cap {
      min-height: 40px;
      padding: 0 14px;
      width: auto;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      background: var(--c-blanco);
      color: var(--bd-ink, #111827);
      font-weight: 650;
      font-size: 0.86rem;
      cursor: pointer;
    }
    .agenda-cobro-group__opts .agenda-cobro-group__cap.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--c-blanco);
    }
    .agenda-m-group__mode { display: flex; gap: 8px; margin: 0 0 6px; flex-wrap: wrap; }
    .agenda-m-group__mode .bk-booking-for__opt,
    .agenda-m-group__mode button {
      min-height: 40px;
      padding: 0 14px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      background: var(--c-blanco);
      color: var(--bd-ink, #111827);
      font-weight: 650;
      cursor: pointer;
      width: auto;
    }
    .agenda-m-group__mode button.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--c-blanco);
    }
    .agenda-m-group__link {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
    }
    .agenda-m-group__link.hidden { display: none; }
    .agenda-m-group__link-lbl {
      flex: 1 1 100%;
      font-size: 0.78rem;
      font-weight: 650;
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-m-group__link .bk-booking-for__opt {
      min-height: 40px;
      padding: 0 14px;
      width: auto;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      background: var(--c-blanco);
      color: var(--bd-ink, #111827);
      font-weight: 650;
      cursor: pointer;
    }
    .agenda-m-group__link .bk-booking-for__opt.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--c-blanco);
    }
    .agenda-card__group-chip,
    .agenda-detail-group-chip {
      display: inline-flex;
      align-items: center;
      margin: 0 0 6px;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
    }
    .agenda-svc-tiles-wrap {
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-bottom: 8px;
      width: 100%;
    }
    .agenda-svc-row {
      display: flex;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 0;
      width: 100%;
      box-sizing: border-box;
    }
    .agenda-svc-vsep {
      flex: 0 0 1px;
      width: 1px;
      align-self: stretch;
      margin: 4px 10px;
      background: var(--border);
      opacity: 0.95;
    }
    .agenda-svc-cat-block {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 8px;
      flex: 1 1 0;
      min-width: 0;
      width: auto;
    }
    .agenda-svc-cat-block__title {
      font-size: 0.64rem;
      font-weight: 800;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--muted);
      margin: 0;
      text-align: center;
      width: 100%;
    }
    .agenda-svc-cat-block__title--comp {
      color: var(--c-naranja-700b);
    }
    .agenda-svc-cat-block--comp-frame {
      box-sizing: border-box;
      padding: 10px 10px 8px;
      border: 1.5px solid var(--c-naranja-500b);
      border-radius: 14px;
      background: rgba(251, 191, 36, 0.08);
    }
    .agenda-svc-comp-hint {
      margin: 2px 0 0;
      padding: 0 2px;
      font-size: 0.72rem;
      font-weight: 600;
      line-height: 1.3;
      color: var(--c-naranja-700b);
      text-align: center;
      width: 100%;
    }
    .agenda-svc-tiles {
      display: flex;
      flex-wrap: nowrap;
      gap: 8px;
      align-items: stretch;
      justify-content: stretch;
      width: 100%;
      box-sizing: border-box;
    }
    .agenda-svc-tile {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 4px;
      flex: 1 1 0;
      width: auto;
      min-width: 0;
      min-height: 118px;
      padding: 12px 8px 10px;
      margin: 0;
      box-sizing: border-box;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      cursor: pointer;
      text-align: center;
      user-select: none;
    }
    @media (max-width: 720px) {
      .agenda-svc-row {
        flex-wrap: wrap;
      }
      .agenda-svc-vsep {
        flex: 0 0 100%;
        width: 100%;
        height: 1px;
        margin: 10px 0;
      }
      .agenda-svc-cat-block {
        flex: 1 1 100%;
      }
      .agenda-svc-tiles {
        flex-wrap: wrap;
      }
      .agenda-svc-tile {
        flex: 1 1 calc(50% - 4px);
        min-width: calc(50% - 4px);
      }
    }
    .agenda-svc-tile__cb {
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 0;
      height: 0;
    }
    .agenda-svc-tile__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      color: currentColor;
      opacity: 0.9;
    }
    .agenda-svc-tile__ico--combo {
      width: auto;
      min-width: 28px;
      max-width: 100%;
      gap: 3px;
      flex-wrap: nowrap;
    }
    .agenda-svc-tile__ico-plus {
      font-size: 0.78rem;
      font-weight: 800;
      line-height: 1;
      opacity: 0.7;
      padding: 0 1px;
    }
    .agenda-svc-tile__ico svg {
      display: block;
      width: 22px;
      height: 22px;
      flex: 0 0 auto;
    }
    .agenda-svc-tile__ico--combo svg {
      width: 18px;
      height: 18px;
    }
    .agenda-svc-tile__name {
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1.25;
      max-width: 100%;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .agenda-svc-tile__dur {
      font-size: 0.68rem;
      opacity: 0.75;
      line-height: 1.2;
    }
    .agenda-svc-tile__price {
      font-size: 0.86rem;
      font-weight: 800;
      line-height: 1.2;
      margin-top: 2px;
    }
    .agenda-svc-tile:hover {
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
    }
    .agenda-svc-tile:has(.agenda-svc-cb:checked),
    .agenda-svc-tile--selected {
      border-color: var(--bv-g-6ee7b7, #6ee7b7);
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-064e3b, #064e3b);
    }
    .agenda-m-registrar-actions {
      margin-top: 8px;
    }
    .agenda-m-registrar-actions #agenda-m-btn-registrar-cliente,
    .agenda-m-registrar-actions #agenda-m-btn-cliente-paso {
      flex: 1 1 calc(50% - 4px);
      min-width: min(100%, 148px);
      width: auto;
    }
    .agenda-m-time-cap {
      padding: 8px 14px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      background: rgba(255, 255, 255, 0.05);
      color: var(--text);
      font-size: 0.86rem;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.12s, border-color 0.12s;
    }
    .agenda-m-time-cap:hover:not(.agenda-m-time-cap--selected) {
      background: rgba(34, 197, 94, 0.12);
      border-color: rgba(34, 197, 94, 0.35);
    }
    .agenda-m-time-cap--selected {
      background: rgba(34, 197, 94, 0.28);
      border-color: var(--ok, #22c55e);
      color: var(--bv-g-ecfdf5, #ecfdf5);
    }
    .agenda-m-time-cap--occupied {
      background: rgba(239, 68, 68, 0.18);
      border-color: rgba(239, 68, 68, 0.5);
      color: rgba(252, 165, 165, 0.95);
    }
    /* Icono de persona de la hora ocupada (agendaTimeCapHtml): la marca que no depende del color. */
    .agenda-m-time-cap__ocupada {
      display: inline-block;
      width: 0.95em;
      height: 0.95em;
      margin-right: 4px;
      vertical-align: -0.12em;
      flex-shrink: 0;
    }
    .agenda-m-time-cap--occupied:hover:not(.agenda-m-time-cap--selected) {
      background: rgba(239, 68, 68, 0.28);
      border-color: rgba(239, 68, 68, 0.65);
    }
    .agenda-m-time-cap--occupied.agenda-m-time-cap--selected {
      background: rgba(239, 68, 68, 0.35);
      border-color: var(--c-rojo-400);
      color: var(--c-rojo-50b);
    }
    .agenda-m-time-cap:disabled {
      opacity: 0.4;
      cursor: not-allowed;
    }
    .agenda-m-time-cap--with-emp {
      flex-direction: column;
      align-items: center;
      gap: 1px;
      line-height: 1.12;
      padding: 6px 12px;
    }
    .agenda-m-time-cap__emp {
      font-size: 0.62rem;
      font-weight: 500;
      opacity: 0.82;
      max-width: 9rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .agenda-m-waitlist-cta {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px dashed rgba(148, 163, 184, 0.35);
    }
    .agenda-m-waitlist-cta.hidden {
      display: none !important;
    }
    .agenda-m-waitlist-cta .btn {
      width: 100%;
      justify-content: center;
    }
    .agenda-m-waitlist-cta__hint {
      margin: 8px 0 0;
      font-size: 0.78rem;
      line-height: 1.35;
      opacity: 0.88;
    }
    .agenda-m-occupied-time-dialog__opts {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin: 4px 0 0;
    }
    .agenda-m-employee-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-bottom: 10px;
    }
    #agenda-modal .agenda-m-employee-grid {
      gap: 16px;
      justify-content: flex-start;
    }
    .agenda-m-emp-btn {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      width: 76px;
      padding: 8px 6px;
      border-radius: 12px;
      border: 2px solid transparent;
      background: rgba(224, 242, 254, 0.08);
      color: var(--text);
      cursor: pointer;
      transition: border-color 0.12s, background 0.12s;
    }
    #agenda-modal .agenda-m-emp-btn {
      width: 110px;
      padding: 12px 8px 10px;
      gap: 8px;
      border-radius: 14px;
    }
    .agenda-m-emp-btn:hover:not(.agenda-m-emp-btn--selected) {
      background: rgba(191, 219, 254, 0.14);
      border-color: rgba(125, 211, 252, 0.32);
    }
    .agenda-m-emp-btn--selected {
      border-color: var(--ok, #22c55e);
      background: rgba(34, 197, 94, 0.12);
    }
    .agenda-m-emp-btn__img {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      object-fit: cover;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: var(--c-pizarra-850c);
    }
    #agenda-modal .agenda-m-emp-btn__img {
      width: 80px;
      height: 80px;
    }
    .agenda-m-emp-btn__avatar {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.95rem;
      font-weight: 700;
      background: linear-gradient(145deg, var(--c-pizarra-750), var(--c-pizarra-850c));
      border: 1px solid rgba(255, 255, 255, 0.12);
      color: var(--c-pizarra-100);
    }
    #agenda-modal .agenda-m-emp-btn__avatar {
      width: 80px;
      height: 80px;
      font-size: 1.2rem;
    }
    .agenda-m-emp-btn__avatar--placeholder {
      font-size: 1.1rem;
      opacity: 0.85;
    }
    .agenda-m-emp-btn__name {
      font-size: 0.7rem;
      font-weight: 600;
      line-height: 1.2;
      text-align: center;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }
    #agenda-modal .agenda-m-emp-btn__name {
      font-size: 0.84rem;
    }
    .agenda-m-emp-btn__last {
      display: block;
      margin-top: 1px;
      font-size: 0.5rem;
      line-height: 1.05;
      font-weight: 800;
      letter-spacing: -0.02em;
      text-align: center;
      text-transform: uppercase;
      color: var(--ok, #16a34a);
      max-width: 100%;
      white-space: normal;
      word-break: break-word;
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-m-emp-btn__last {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .agenda-date-offset-card {
      margin: 0 0 14px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid rgba(251, 191, 36, 0.35);
      background: linear-gradient(135deg, rgba(254, 243, 199, 0.2) 0%, rgba(253, 186, 116, 0.16) 48%, rgba(251, 207, 232, 0.14) 100%);
    }
    .agenda-date-offset-card__toggle {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin: 0;
      padding: 6px 4px;
      border: none;
      border-radius: 8px;
      background: transparent;
      color: inherit;
      cursor: pointer;
      text-align: left;
      font: inherit;
    }
    .agenda-date-offset-card__toggle:hover {
      background: rgba(255, 255, 255, 0.12);
    }
    .agenda-date-offset-card__toggle:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .agenda-date-offset-card__toggle-inner {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      min-width: 0;
    }
    .agenda-date-offset-card__toggle .agenda-date-offset-card__title {
      margin: 0;
    }
    .agenda-date-offset-card__hint-inline {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--ok);
      line-height: 1.35;
    }
    .agenda-date-offset-card__chev {
      flex-shrink: 0;
      font-size: 0.65rem;
      color: var(--c-ambar-350);
      opacity: 0.9;
      transition: transform 0.2s ease;
    }
    .agenda-date-offset-card__toggle[aria-expanded='true'] .agenda-date-offset-card__chev {
      transform: rotate(-180deg);
    }
    .agenda-date-offset-card__body {
      margin: 0;
      padding: 0;
    }
    .agenda-date-offset-card__body:not(.hidden) {
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px solid rgba(251, 191, 36, 0.28);
    }
    .agenda-date-offset-card__title {
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--c-ambar-250);
      margin: 0 0 6px;
    }
    .agenda-date-offset-card__hint {
      margin: 0 0 10px;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--ok);
      line-height: 1.35;
    }
    .agenda-date-offset-card__row {
      margin-bottom: 10px;
    }
    .agenda-date-offset-card__row:last-of-type {
      margin-bottom: 8px;
    }
    .agenda-date-offset-card__lbl {
      display: block;
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--c-ambar-350);
      margin-bottom: 6px;
    }
    /* .agenda-days-stepper → alias de .bd-stepper (estilos unificados arriba) */
    .agenda-date-offset-card .agenda-chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
    }
    .agenda-date-offset-card .agenda-chip-row .btn.secondary {
      width: auto;
      margin: 0;
      padding: 6px 10px;
      font-size: 0.72rem;
      font-weight: 700;
    }
    .agenda-weeks-custom {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .agenda-weeks-custom input[type='number'] {
      width: 3.5rem;
      padding: 8px 6px;
      border-radius: 8px;
      border: 1px solid rgba(125, 211, 252, 0.35);
      background: rgba(224, 242, 254, 0.12);
      color: var(--text);
      font-size: 0.85rem;
      text-align: center;
      box-sizing: border-box;
    }
    .agenda-weeks-custom .btn.secondary {
      width: auto;
      margin: 0;
      padding: 8px 12px;
      font-size: 0.78rem;
    }
    .svc-booking-interval-controls {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
      width: 100%;
      max-width: 640px;
    }
    .svc-booking-interval-controls__slider {
      flex: 1 1 220px;
      min-width: 180px;
    }
    .svc-booking-interval-controls__slider .svc-booking-interval-controls__display {
      display: block;
      margin: 0 0 6px;
      font-size: 0.95rem;
      min-width: 0;
    }
    .svc-booking-interval-controls__slider input[type='range'] {
      width: 100%;
      height: 8px;
      accent-color: var(--ok, var(--bv-g-34d399, #34d399));
      cursor: pointer;
    }
    .svc-booking-interval-controls__num {
      width: 4.25rem;
      padding: 8px 6px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      font-size: 0.9rem;
      text-align: center;
      box-sizing: border-box;
    }
    .svc-booking-interval-controls__display {
      font-weight: 600;
      color: var(--ok, var(--bv-g-34d399, #34d399));
    }
    .agenda-date-offset-card__quick-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      margin-top: 4px;
    }
    .agenda-date-offset-card__quick-row .btn.secondary {
      width: auto;
      margin: 0 !important;
      flex: 0 0 auto;
      padding: 6px 12px !important;
      font-size: 0.78rem !important;
    }
    .agenda-date-offset-card__quick-row .btn.secondary:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    .agenda-client-search-wrap {
      position: relative;
      margin-bottom: 10px;
      z-index: 1;
    }
    .agenda-client-search-row {
      display: flex;
      gap: 8px;
      align-items: center;
    }
    .agenda-client-search-row input {
      flex: 1;
      width: 100%;
      min-width: 0;
      padding: 8px 10px;
      border-radius: 8px;
      box-sizing: border-box;
    }
    /* En flujo (no absolute): no tapa «Registrar cliente» ni el texto inferior */
    .agenda-user-dropdown {
      position: relative;
      left: auto;
      right: auto;
      top: auto;
      margin-top: 6px;
      max-height: 220px;
      overflow-y: auto;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 10px;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
      z-index: 2;
    }
    .agenda-user-dropdown.hidden {
      display: none !important;
    }
    .agenda-user-dropdown__item {
      display: block;
      width: 100%;
      text-align: left;
      padding: 10px 12px;
      border: none;
      border-bottom: 1px solid var(--border);
      background: transparent;
      color: var(--text);
      cursor: pointer;
      font-size: 0.88rem;
      box-sizing: border-box;
    }
    .agenda-user-dropdown__item:last-child {
      border-bottom: none;
    }
    .agenda-user-dropdown__item:hover,
    .agenda-user-dropdown__item:focus {
      background: rgba(255, 255, 255, 0.06);
      outline: none;
    }
    .agenda-user-dropdown__item small {
      display: block;
      opacity: 0.85;
      font-size: 0.78rem;
      margin-top: 4px;
    }
    .agenda-user-dropdown__empty,
    .agenda-user-dropdown__loading {
      padding: 10px 12px;
      font-size: 0.82rem;
      color: var(--muted);
    }
    .agenda-user-results {
      margin-bottom: 8px;
    }
    .agenda-m-registrar-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 8px;
      margin-bottom: 2px;
      align-items: center;
    }
    .agenda-m-registrar-actions .btn {
      flex: 1 1 auto;
      min-width: min(100%, 148px);
    }
    #agenda-modal .agenda-wi-fields--registro {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      margin-top: 4px;
      margin-bottom: 10px;
      container-type: inline-size;
      container-name: agenda-wi-reg;
    }
    #agenda-modal .agenda-wi-core-fields--registro {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      grid-column: 1 / -1;
    }
    #agenda-modal .agenda-wi-field--phone-reg {
      grid-column: 1 / -1;
    }
    #agenda-modal .agenda-wi-field--name-reg,
    #agenda-modal .agenda-wi-field--lastname-reg {
      min-width: 0;
    }
    @container agenda-wi-reg (max-width: 340px) {
      .agenda-wi-fields--registro .agenda-wi-core-fields--registro {
        grid-template-columns: 1fr;
      }
      .agenda-wi-fields--registro .agenda-wi-field--name-reg,
      .agenda-wi-fields--registro .agenda-wi-field--lastname-reg {
        grid-column: 1 / -1;
      }
    }
    .agenda-user-pick {
      display: block;
      width: 100%;
      text-align: left;
      padding: 10px 12px;
      border-radius: 8px;
      border: 1px solid color-mix(in srgb, var(--ok) 35%, var(--border));
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.1);
      color: var(--text);
      cursor: pointer;
      font-size: 0.88rem;
      margin-bottom: 6px;
    }
    .agenda-user-pick:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.16);
    }
    .agenda-user-pick small {
      display: block;
      opacity: 0.85;
      font-size: 0.8rem;
      margin-top: 4px;
    }
    .agenda-user-selected {
      padding: 10px 12px;
      border-radius: 8px;
      border: 1px solid color-mix(in srgb, var(--ok) 45%, var(--border));
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.14);
      font-size: 0.88rem;
    }
    .agenda-user-selected .agenda-user-selected__label {
      display: block;
      font-size: 0.72rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      opacity: 0.75;
      margin-bottom: 6px;
    }
    .agenda-user-selected strong {
      display: block;
      font-size: 0.95rem;
      font-weight: 600;
    }
    .agenda-user-selected small {
      display: block;
      opacity: 0.9;
      font-size: 0.8rem;
      margin-top: 6px;
    }
    .agenda-svc-table-wrap {
      overflow-x: auto;
      margin-bottom: 4px;
      border-radius: 10px;
      border: 1px solid rgba(125, 211, 252, 0.3);
      background: linear-gradient(180deg, rgba(14, 116, 144, 0.12) 0%, rgba(30, 64, 175, 0.08) 100%);
    }
    .agenda-svc-table-wrap table {
      width: 100%;
      font-size: 0.78rem;
      border-collapse: collapse;
    }
    .agenda-svc-table-wrap thead th {
      background: linear-gradient(180deg, rgba(56, 189, 248, 0.22) 0%, rgba(99, 102, 241, 0.14) 100%);
      color: var(--c-cielo-50);
      border-bottom: 1px solid rgba(125, 211, 252, 0.35);
      font-weight: 700;
    }
    .agenda-svc-table-wrap th,
    .agenda-svc-table-wrap td {
      padding: 8px 10px;
      border-bottom: 1px solid rgba(125, 211, 252, 0.18);
      text-align: left;
    }
    .agenda-svc-table-wrap th.num,
    .agenda-svc-table-wrap td.num {
      text-align: right;
      white-space: nowrap;
    }
    .agenda-svc-table-wrap tr:last-child td {
      border-bottom: none;
    }
    .agenda-svc-table-wrap tr.agenda-svc-section td,
    .agenda-svc-table-wrap tr.agenda-svc-offer-section td {
      font-size: 0.68rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(224, 242, 254, 0.85);
      background: rgba(15, 23, 42, 0.35);
      border-bottom: 1px solid rgba(125, 211, 252, 0.28);
      padding-top: 10px;
      padding-bottom: 8px;
    }
    .agenda-svc-table-wrap tr.agenda-svc-cat-section td {
      font-size: 0.72rem;
      font-weight: 700;
      color: rgba(224, 242, 254, 0.92);
      background: rgba(15, 23, 42, 0.22);
      border-bottom: 1px solid rgba(125, 211, 252, 0.18);
      padding-top: 8px;
      padding-bottom: 6px;
    }
    .agenda-svc-table-wrap tr.agenda-svc-comp-section td {
      color: rgba(253, 230, 138, 0.95);
      background: rgba(66, 32, 6, 0.28);
      border-bottom-color: rgba(251, 191, 36, 0.35);
    }
    .agenda-svc-table-wrap tr.agenda-svc-special-section td {
      color: rgba(255, 237, 213, 0.98);
      background: rgba(124, 45, 18, 0.32);
      border-bottom-color: rgba(251, 146, 60, 0.45);
    }
    html.bardev-panel-theme-light #agenda-modal .agenda-svc-table-wrap tr.agenda-svc-special-section td {
      color: var(--c-naranja-650);
      background: linear-gradient(90deg, var(--c-naranja-100) 0%, var(--c-naranja-150) 100%);
      border-bottom: 1px solid rgba(251, 146, 60, 0.45);
    }
    .agenda-svc-table-wrap tr.agenda-svc-thead-row th {
      font-size: 0.62rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--muted);
      background: rgba(0, 0, 0, 0.2);
      border-bottom: 1px solid var(--border);
      padding: 6px 8px;
    }
    .agenda-svc-table-wrap tr.agenda-svc-thead-row th:first-child {
      width: 40px;
    }
    .agenda-wi-fields input[disabled] {
      opacity: 1;
      cursor: not-allowed;
      color: var(--text);
      -webkit-text-fill-color: var(--text);
    }
    .agenda-wi-fields input[disabled]::placeholder {
      color: var(--muted);
      -webkit-text-fill-color: var(--muted);
      opacity: 0.85;
    }
    #agenda-m-msg.msg {
      display: block;
      margin: 10px 0 0;
    }
    #agenda-m-combo-toast.agenda-m-combo-toast {
      margin: 10px 0 0;
      padding: 10px 12px;
      border-radius: 10px;
      font-size: 0.82rem;
      line-height: 1.45;
      background: var(--brand-rgba-12);
      border: 1px solid var(--brand-rgba-35);
      color: var(--nav-active-text);
    }
    #agenda-modal #agenda-m-end-hint-wrap {
      color: var(--c-cielo-150) !important;
      opacity: 1 !important;
    }
    #agenda-modal #agenda-m-end-hint-wrap .agenda-m-end-hint-note {
      color: var(--c-cielo-250);
      opacity: 0.95;
    }
    /* Detalle cita: tema oscuro Barveo (verdes profundos, sin clonar estilo de apps de terceros) */
    /* Detalle cita: ancho fijo por viewport (--bardev-agenda-detail-w en JS) para que todas las citas se vean igual */
    #agenda-detail-modal.modal-overlay {
      align-items: center;
      justify-content: center;
      overflow-y: auto;
    }
    /* Anula .modal-overlay > *:first-child { width:auto; min-width:0 } que encogía el panel según el texto */
    #agenda-detail-modal.modal-overlay > .agenda-detail-panel,
    #agenda-detail-modal.modal-overlay > .bardev-modal-scale-wrap > .agenda-detail-panel {
      margin-top: 0;
      margin-bottom: 0;
      flex-shrink: 1 !important;
      width: var(--bardev-agenda-detail-w, min(600px, calc(100vw - 32px))) !important;
      max-width: var(--bardev-agenda-detail-w, min(600px, calc(100vw - 32px))) !important;
      min-width: var(--bardev-agenda-detail-w, min(600px, calc(100vw - 32px))) !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      ) !important;
      /* Cabecera y pie fijos: el scroll vive solo en .agenda-detail-body */
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      transform: none !important;
      zoom: 1 !important;
    }
    #agenda-detail-modal.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, min(600px, calc(100vw - 32px))) !important;
      max-width: var(--bardev-agenda-detail-w, min(600px, calc(100vw - 32px))) !important;
    }
    .agenda-detail-panel {
      --ad-surface: var(--card);
      --ad-hero: linear-gradient(165deg, var(--c-verde-850b) 0%, #071812 55%, var(--c-gris-950b) 100%);
      --ad-hero-done: linear-gradient(165deg, #3d3420 0%, #1a160c 55%, #0c0a06 100%);
      --ad-hero-canc: linear-gradient(165deg, #3a3a3a 0%, #1f1f1f 100%);
      --ad-accent: var(--bv-g-1e7a52, #1e7a52);
      --ad-accent-soft: rgba(var(--bv-g-rgb-1e7a52, 30, 122, 82), 0.35);
      --ad-on-dark: #f8faf6;
      --ad-on-dark-muted: rgba(248, 250, 246, 0.78);
      --bardev-agenda-detail-w: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      width: var(--bardev-agenda-detail-w);
      max-width: var(--bardev-agenda-detail-w);
      min-width: var(--bardev-agenda-detail-w);
      box-sizing: border-box;
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      );
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 16px;
      border: 1px solid var(--border);
      background: var(--ad-surface);
      padding: 0;
      box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
    }
    .agenda-detail-hero {
      background: var(--ad-hero);
      color: var(--ad-on-dark, #f8faf6);
      padding: 12px 14px 14px;
      border-radius: 16px 16px 0 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.35);
      position: relative;
      z-index: 6;
      flex: 0 0 auto;
      box-shadow: 0 10px 18px -6px rgba(0, 0, 0, 0.45), 0 4px 10px -4px rgba(0, 0, 0, 0.28);
    }
    .agenda-detail-hero .agenda-detail-hero__meta {
      color: var(--ad-on-dark-muted, rgba(248, 250, 246, 0.78));
    }
    .agenda-detail-hero .agenda-detail-hero__back,
    .agenda-detail-hero .agenda-detail-hero__edit {
      color: var(--ad-on-dark, #f8faf6);
    }
    .agenda-detail-hero::after {
      display: none;
    }
    .agenda-detail-hero.agenda-detail-hero--completed,
    .agenda-detail-hero.agenda-detail-hero--paid {
      background: var(--ad-hero-done);
    }
    .agenda-detail-hero.agenda-detail-hero--cancelled {
      background: var(--ad-hero-canc);
    }
    /* Dos filas: [atrás] estado [Editar] · [—] ID [Más] */
    .agenda-detail-hero__row {
      display: grid;
      grid-template-columns: minmax(72px, 1fr) auto minmax(72px, 1fr);
      align-items: center;
      gap: 8px;
    }
    .agenda-detail-hero__row > * {
      min-width: 0;
    }
    .agenda-detail-hero__row > *:first-child {
      justify-self: start;
    }
    .agenda-detail-hero__row > *:last-child {
      justify-self: end;
    }
    .agenda-detail-hero__right {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      justify-self: end;
    }
    .agenda-detail-hero__row--sub {
      margin-top: 4px;
    }
    .agenda-detail-hero__slot {
      display: block;
      min-height: 1px;
    }
    .agenda-detail-actions-dd {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      z-index: 4;
    }
    .agenda-detail-hero__more {
      background: var(--bv-g-059669, #059669);
      border: 1px solid var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      font-size: 0.78rem;
      font-weight: 600;
      line-height: 1.2;
      cursor: pointer;
      padding: 5px 12px;
      border-radius: 8px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    }
    .agenda-detail-hero__more:hover {
      background: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-065f46, #065f46);
    }
    .agenda-detail-actions-menu {
      position: absolute;
      right: 0;
      top: 100%;
      margin-top: 4px;
      min-width: 220px;
      padding: 6px 0;
      border-radius: 10px;
      background: var(--card, #1a1d24);
      border: 1px solid var(--border, rgba(255, 255, 255, 0.14));
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
      z-index: 20;
    }
    .agenda-detail-actions-menu.hidden {
      display: none !important;
    }
    .agenda-detail-actions-menu__item {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      text-align: left;
      padding: 10px 14px;
      border: none;
      background: transparent;
      color: var(--text, #fff);
      font-size: 0.86rem;
      cursor: pointer;
      box-sizing: border-box;
    }
    .agenda-detail-actions-menu__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 20px;
      width: 20px;
      height: 20px;
      color: inherit;
      opacity: 0.9;
    }
    .agenda-detail-actions-menu__ico svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    .agenda-detail-actions-menu__item:hover {
      background: rgba(255, 255, 255, 0.08);
    }
    html.bardev-panel-theme-light #agenda-detail-action-cancel .agenda-detail-actions-menu__ico {
      color: var(--c-rojo-500);
    }
    html.bardev-panel-theme-light #agenda-detail-action-noshow .agenda-detail-actions-menu__ico {
      color: var(--c-naranja-650b);
    }
    .agenda-detail-hero__back,
    .agenda-detail-hero__edit {
      background: transparent;
      border: none;
      color: var(--c-blanco);
      font-size: 1.25rem;
      line-height: 1;
      cursor: pointer;
      padding: 4px 6px;
      border-radius: 8px;
    }
    .agenda-detail-hero__back:hover,
    .agenda-detail-hero__edit:hover {
      background: rgba(255, 255, 255, 0.12);
    }
    .agenda-detail-hero__edit {
      font-size: 0.95rem;
      font-weight: 600;
    }
    .agenda-detail-hero__status {
      margin: 0;
      text-align: center;
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: 0.06em;
    }
    .agenda-detail-hero__meta {
      margin: 0;
      font-size: 0.72rem;
      text-align: center;
      opacity: 0.92;
      line-height: 1.35;
    }
    .agenda-detail-body--sheet {
      position: relative;
      z-index: 1;
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 14px 16px;
      background: var(--ad-surface);
      border-radius: 0;
      color: var(--text);
      border: none;
    }
    .agenda-detail-timecard {
      display: flex;
      align-items: stretch;
      background: rgba(0, 0, 0, 0.28);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 12px 10px;
      margin-bottom: 14px;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    }
    .agenda-detail-timecard__cell {
      flex: 1;
      min-width: 0;
    }
    .agenda-detail-timecard__cell--date {
      display: block;
    }
    .agenda-detail-timecard__date-input-row {
      display: flex;
      align-items: center;
      gap: 4px;
      min-width: 0;
    }
    .agenda-detail-timecard__date-input-row .agenda-detail-sched-input--date {
      flex: 1;
      min-width: 0;
    }
    .agenda-detail-timecard__lbl {
      display: block;
      font-size: 0.65rem;
      letter-spacing: 0.06em;
      color: var(--muted);
      margin-bottom: 4px;
    }
    .agenda-detail-timecard__cell strong {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--text);
    }
    .agenda-detail-timecard__sep {
      width: 1px;
      background: var(--border);
      margin: 0 8px;
      align-self: stretch;
    }
    .agenda-detail-timecard__chev {
      color: var(--muted);
      font-size: 1.1rem;
      flex-shrink: 0;
    }
    .agenda-detail-sched-input {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      margin: 0;
      padding: 6px 8px;
      border-radius: 8px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      background: rgba(0, 0, 0, 0.32);
      color: var(--text);
      font-size: 1rem;
      font-weight: 700;
      font-family: inherit;
      line-height: 1.25;
      min-height: 2.25rem;
    }
    .agenda-detail-sched-input:disabled {
      opacity: 0.52;
      cursor: not-allowed;
    }
    .agenda-detail-sched-input--date {
      cursor: pointer;
    }
    #agenda-d-view-date-wrap {
      cursor: pointer;
    }
    .agenda-detail-avatar {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: #9e9e9e;
      color: var(--c-blanco);
      font-weight: 700;
      font-size: 0.95rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .agenda-detail-clientrow__txt {
      flex: 1;
      min-width: 0;
    }
    .agenda-detail-clientrow__name-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 10px;
      min-width: 0;
    }
    .agenda-detail-clientrow__name-row strong {
      font-size: 1rem;
      font-weight: 700;
      min-width: 0;
    }
    /* Puntos en estrella (saldo cliente / +N al cobrar) */
    .agenda-pts-star {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      flex: 0 0 34px;
      line-height: 1;
      vertical-align: middle;
    }
    .agenda-pts-star[hidden],
    .agenda-pts-star.hidden {
      display: none !important;
    }
    .agenda-pts-star__svg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      color: var(--c-naranja-500b);
      filter: drop-shadow(0 1px 1px rgba(120, 53, 15, 0.22));
    }
    .agenda-pts-star__n {
      position: relative;
      z-index: 1;
      font-size: 0.68rem;
      font-weight: 800;
      color: var(--c-naranja-750b);
      letter-spacing: -0.02em;
      pointer-events: none;
      max-width: 92%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      text-align: center;
    }
    .agenda-pts-star--earn {
      width: 32px;
      height: 32px;
      flex-basis: 32px;
    }
    .agenda-pts-star--earn .agenda-pts-star__svg {
      color: var(--bv-g-10b981, #10b981);
      filter: drop-shadow(0 1px 1px rgba(var(--bv-g-rgb-065f46, 6, 95, 70), 0.2));
    }
    .agenda-pts-star--earn .agenda-pts-star__n {
      font-size: 0.62rem;
      color: var(--bv-g-064e3b, #064e3b);
    }
    .agenda-detail-first-visit {
      display: inline-block;
      padding: 5px 12px;
      font-size: 0.78rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      line-height: 1.2;
      border-radius: 999px;
      background: rgba(251, 191, 36, 0.28);
      color: var(--c-ambar-250);
      border: 1px solid rgba(251, 191, 36, 0.45);
      white-space: nowrap;
      flex-shrink: 0;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    }
    .agenda-detail-clientrow__sub {
      font-size: 0.8rem;
      color: var(--muted);
      margin-top: 4px;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .agenda-detail-clientrow__freq {
      margin-top: 3px;
      font-size: 0.78rem;
      font-weight: 600;
      line-height: 1.3;
      color: var(--bd-ink-soft, var(--muted));
    }
    html.bardev-panel-theme-light .agenda-detail-clientrow__freq {
      color: var(--bd-ink-soft, #4b5563);
    }
    .agenda-detail-clientrow__recurrence {
      display: inline-flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px;
      font-size: 0.76rem;
      font-weight: 600;
      line-height: 1.25;
      color: var(--c-verde-400);
    }
    .agenda-detail-recurrence-row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px;
      margin: 6px 0 0;
      padding-left: 60px;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-clientrow__recurrence {
      color: var(--c-verde-700);
    }
    .agenda-detail-clientrow__recurrence-ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 14px;
      height: 14px;
      flex-shrink: 0;
    }
    .agenda-detail-clientrow__recurrence-ico svg {
      display: block;
      width: 100%;
      height: 100%;
    }
    .agenda-detail-recurrence-change {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      padding: 2px 8px;
      border: 1px solid rgba(74, 222, 128, 0.42);
      border-radius: 999px;
      background: rgba(74, 222, 128, 0.12);
      color: inherit;
      font-size: 0.65rem;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0.02em;
      cursor: pointer;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .agenda-detail-recurrence-change:hover {
      background: rgba(74, 222, 128, 0.22);
      border-color: rgba(74, 222, 128, 0.62);
    }
    html.bardev-panel-theme-light .agenda-detail-recurrence-change {
      background: rgba(21, 128, 61, 0.08);
      border-color: rgba(21, 128, 61, 0.35);
    }
    html.bardev-panel-theme-light .agenda-detail-recurrence-change:hover {
      background: rgba(21, 128, 61, 0.16);
    }
    .agenda-detail-avail-row {
      display: flex;
      justify-content: center;
      align-items: center;
      flex: 0 0 auto;
      align-self: center;
      width: auto;
      max-width: 42%;
      margin: 0;
      box-sizing: border-box;
    }
    .agenda-detail-avail-row[hidden],
    .agenda-detail-avail-row.hidden {
      display: none !important;
    }
    .agenda-detail-avail {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      width: fit-content;
      max-width: 100%;
      border: 1px solid var(--bv-g-065f46, #065f46);
      border-radius: 999px;
      padding: 8px 12px 8px 14px;
      margin: 0;
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      box-shadow: none;
    }
    button.agenda-detail-avail {
      width: fit-content;
      box-sizing: border-box;
      margin: 0;
      font: inherit;
      color: var(--c-blanco);
      text-align: center;
      cursor: pointer;
    }
    button.agenda-detail-avail:hover:not(:disabled) {
      filter: brightness(1.06);
    }
    button.agenda-detail-avail:disabled {
      opacity: 0.65;
      cursor: not-allowed;
      filter: none;
    }
    .agenda-detail-avail__txt {
      font-weight: 800;
      font-size: 0.66rem;
      letter-spacing: 0.04em;
      color: var(--c-blanco);
      white-space: normal;
      text-align: center;
      line-height: 1.15;
      max-width: 7.5rem;
    }
    .agenda-detail-avail__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      color: var(--c-blanco);
      opacity: 1;
      line-height: 0;
    }
    .agenda-detail-avail__ico svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    .agenda-detail-svc {
      display: flex;
      gap: 0;
      margin-bottom: 12px;
    }
    .agenda-detail-svc__accent {
      width: 4px;
      border-radius: 4px;
      background: var(--ad-accent);
      box-shadow: 0 0 12px var(--ad-accent-soft);
      flex-shrink: 0;
      margin-right: 10px;
    }
    .agenda-detail-svc__main {
      flex: 1;
      min-width: 0;
    }
    .agenda-detail-svc__top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 8px;
    }
    .agenda-detail-svc__left {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .agenda-detail-svc__name {
      flex: 0 1 auto;
      min-width: 0;
      font-weight: 700;
      font-size: 0.95rem;
      line-height: 1.2;
      margin: 0;
      word-break: break-word;
    }
    .agenda-detail-svc__price-col {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      flex: 0 0 auto;
      gap: 2px;
    }
    .agenda-detail-svc__price {
      font-weight: 700;
      white-space: nowrap;
      font-size: 0.95rem;
    }
    .agenda-barfi-redeem-cost {
      margin: 0;
      font-size: 0.72rem;
      font-weight: 700;
      line-height: 1.2;
      color: var(--c-verde-650);
      white-space: nowrap;
    }
    /* Protección no-show: línea de garantía en el detalle de cita */
    .agenda-d-guarantee {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 8px 12px;
      margin-top: 10px;
      padding: 8px 12px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: var(--bd-radius-md, 10px);
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-ink, #0F1F17);
      font-size: 0.8rem;
      line-height: 1.35;
    }
    /* Sin garantía (depósito o tarjeta) el JS lo oculta con hidden, pero el display:flex de arriba lo dejaba como una
       barra vacía bajo el servicio (titular, 13-10-2026: «hay una línea que no sirve para nada»). */
    .agenda-d-guarantee[hidden] { display: none !important; }
    .agenda-d-guarantee__txt { flex: 1 1 220px; }
    .agenda-d-guarantee__acts { display: inline-flex; gap: 6px; flex-wrap: wrap; }
    .agenda-d-guarantee__btn.btn.secondary {
      width: auto;
      height: 30px;
      padding: 0 10px;
      font-size: 0.76rem;
      margin: 0;
    }
    /* Política de cancelación: lista de servicios */
    .bkpol-services { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 12px; margin: 6px 0 4px; }
    .bkpol-svc { display: flex; align-items: center; gap: 8px; font-size: 0.88rem; padding: 6px 8px; border: 1px solid var(--bd-n-200, #E7EAF0); border-radius: 8px; background: var(--bd-n-0, #fff); }
    .bkpol-svc span { flex: 1; }
    .bkpol-svc em { font-style: normal; color: var(--bd-ink-soft, #6B7280); font-size: 0.8rem; }
    .agenda-barfi-redeem-cost--unit {
      font-size: 0.68rem;
      font-weight: 600;
      opacity: 0.92;
    }
    .agenda-barfi-redeem-cost[hidden] {
      display: none !important;
    }
    .agenda-cobro-line__amt-col {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 2px;
      flex: 0 0 auto;
    }
    .agenda-cobro-line__amt-col .agenda-cobro-line__amt {
      line-height: 1.2;
    }
    .agenda-cobro-line__amt-col .agenda-cobro-line__acts {
      margin-top: 4px;
      width: 100%;
      justify-content: flex-end;
    }
    .agenda-cobro-line--product .agenda-cobro-line__amt-col {
      min-width: 5.5rem;
    }
    .agenda-detail-svc__meta,
    .agenda-detail-svc__extra,
    .agenda-detail-svc__origin {
      font-size: 0.78rem;
      color: var(--muted);
      margin: 0;
      line-height: 1.25;
    }
    .agenda-detail-svc__origin {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-width: 0;
    }
    .agenda-detail-svc__origin[hidden] {
      display: none !important;
    }
    .agenda-detail-svc__origin .agenda-card__source {
      position: static;
      width: 14px;
      height: 14px;
      min-width: 14px;
      min-height: 14px;
      cursor: default;
      pointer-events: none;
    }
    .agenda-detail-svc__origin .agenda-card__source svg {
      width: 13px;
      height: 13px;
      max-width: 13px;
      max-height: 13px;
    }
    .agenda-detail-svc__origin-txt {
      min-width: 0;
    }
    .agenda-detail-svc__extra.hidden {
      display: none !important;
    }
    .agenda-detail-notes-ico-wrap {
      position: relative;
      flex: 0 0 auto;
      align-self: center;
    }
    .agenda-detail-notes-ico-wrap.hidden {
      display: none !important;
    }
    .agenda-detail-notes-ico {
      position: relative;
      width: 44px;
      height: 44px;
      min-width: 44px;
      border-radius: 999px;
      border: 1px solid rgba(148, 163, 184, 0.45);
      background: rgba(255, 255, 255, 0.08);
      color: var(--c-pizarra-100);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      cursor: pointer;
      box-sizing: border-box;
    }
    .agenda-detail-notes-ico:hover,
    .agenda-detail-notes-ico[aria-expanded='true'] {
      background: rgba(59, 130, 246, 0.18);
      border-color: rgba(96, 165, 250, 0.65);
      color: var(--c-azul-150);
    }
    .agenda-detail-notes-ico__dot {
      position: absolute;
      top: 4px;
      right: 4px;
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--c-naranja-500b);
      border: 1.5px solid var(--ad-surface, #0b1220);
      box-sizing: border-box;
    }
    .agenda-detail-notes-ico__dot.hidden {
      display: none !important;
    }
    .agenda-detail-notes-tip {
      position: absolute;
      right: 0;
      bottom: calc(100% + 10px);
      z-index: 20;
      min-width: 180px;
      max-width: min(280px, 70vw);
      padding: 10px 12px;
      border-radius: 12px;
      background: var(--c-azul-900b);
      color: var(--c-gris-50f);
      border: 1px solid rgba(148, 163, 184, 0.35);
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
      font-size: 0.78rem;
      line-height: 1.4;
      white-space: pre-wrap;
      word-break: break-word;
      pointer-events: none;
    }
    .agenda-detail-notes-tip__body {
      white-space: pre-wrap;
      word-break: break-word;
    }
    .agenda-detail-notes-tip__hint {
      display: block;
      margin-top: 8px;
      padding-top: 7px;
      border-top: 1px solid rgba(148, 163, 184, 0.35);
      font-size: 0.68rem;
      font-style: italic;
      font-weight: 500;
      line-height: 1.3;
      color: rgba(248, 250, 252, 0.72);
      white-space: nowrap;
    }
    .agenda-detail-notes-tip[hidden] {
      display: none !important;
    }
    .agenda-detail-notes-tip::after {
      content: '';
      position: absolute;
      right: 16px;
      top: 100%;
      border: 6px solid transparent;
      border-top-color: var(--c-azul-900b);
    }
    .agenda-detail-client-notes {
      margin: 0 0 6px;
      padding: 6px 10px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      box-sizing: border-box;
    }
    .agenda-detail-client-notes--in-banner {
      margin: 10px 0 0;
    }
    .agenda-detail-client-notes--in-banner.hidden {
      display: none !important;
    }
    .agenda-detail-client-notes__lbl {
      display: block;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--muted);
      margin-bottom: 3px;
    }
    .agenda-detail-client-notes__ta {
      width: 100%;
      box-sizing: border-box;
      margin: 0;
      padding: 5px 8px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.22);
      color: var(--text);
      font: inherit;
      font-size: 0.82rem;
      line-height: 1.35;
      resize: none;
      overflow: hidden;
      transition: min-height 0.12s ease, height 0.12s ease;
    }
    .agenda-detail-client-notes__ta:not(.agenda-detail-client-notes__ta--expanded) {
      height: 1.85rem;
      max-height: 1.85rem;
      min-height: 1.85rem;
      resize: none;
      overflow: hidden;
      white-space: nowrap;
    }
    /* En el banner: al desplegar el panel, el textarea ya se muestra multilínea. */
    .agenda-detail-client-notes--in-banner .agenda-detail-client-notes__ta,
    .agenda-detail-client-notes--in-banner
      .agenda-detail-client-notes__ta:not(.agenda-detail-client-notes__ta--expanded) {
      height: auto;
      min-height: 3.2rem;
      max-height: 8rem;
      white-space: pre-wrap;
      resize: vertical;
      overflow: auto;
    }
    .agenda-detail-client-notes__ta::placeholder {
      color: var(--muted);
      opacity: 0.85;
    }
    .agenda-detail-client-notes__ta:focus {
      outline: 2px solid color-mix(in srgb, var(--ok) 55%, transparent);
      outline-offset: 1px;
    }
    .agenda-detail-client-notes__ta--expanded {
      height: auto;
      max-height: 7rem;
      min-height: 3rem;
      white-space: pre-wrap;
      resize: vertical;
      overflow: auto;
    }
    .agenda-detail-client-notes__msg {
      margin: 6px 0 0;
      font-size: 0.72rem;
      line-height: 1.35;
      color: var(--muted);
    }
    .agenda-detail-client-notes__msg--ok {
      color: var(--ok);
    }
    .agenda-detail-client-notes__msg--err {
      color: var(--c-rojo-300);
    }
    .agenda-detail-actions-split {
      display: flex;
      align-items: stretch;
      gap: 10px;
      margin-bottom: 12px;
      width: 100%;
      box-sizing: border-box;
    }
    .agenda-detail-actions-split__col {
      flex: 1 1 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .agenda-detail-actions-split__col--prod.hidden,
    .agenda-detail-actions-split__col--cal.hidden,
    .agenda-detail-actions-split__col--res.hidden,
    .agenda-detail-actions-split__col[hidden] {
      display: none !important;
    }
    .agenda-detail-actions-split__lbl {
      font-size: 0.64rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.09em;
      color: var(--muted);
      line-height: 1.3;
    }
    .agenda-detail-calrow,
    .agenda-detail-prodrow {
      width: 100%;
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      background: rgba(0, 0, 0, 0.18);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 12px 14px;
      margin: 0;
      font: inherit;
      font-size: 0.86rem;
      font-weight: 600;
      color: var(--text);
      cursor: pointer;
      box-sizing: border-box;
      text-align: left;
      min-height: 48px;
    }
    /* Botones al pie de cada columna: agenda / recurso / productos en la misma línea */
    .agenda-detail-actions-split__col--prod .agenda-detail-prodrow,
    .agenda-detail-actions-split__col--res .agenda-d-res-box,
    .agenda-detail-actions-split__col--cal .agenda-detail-calrow {
      margin-top: auto;
    }
    .agenda-detail-actions-split__col--res .agenda-d-res-box #btn-agenda-d-add-res {
      margin-top: 0;
    }
    .agenda-detail-calrow:hover,
    .agenda-detail-prodrow:hover {
      background: rgba(0, 0, 0, 0.26);
    }
    .agenda-detail-calrow__ico,
    .agenda-detail-prodrow__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      color: currentColor;
      opacity: 0.9;
    }
    .agenda-detail-calrow__ico svg,
    .agenda-detail-prodrow__ico svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    /* Tres botones en una fila: texto un poco más compacto */
    #agenda-d-actions-split:has(#agenda-d-res-wrap:not([hidden]):not(.hidden)) .agenda-detail-calrow,
    #agenda-d-actions-split:has(#agenda-d-res-wrap:not([hidden]):not(.hidden)) .agenda-detail-prodrow {
      padding: 12px 10px;
      font-size: 0.78rem;
    }
    .agenda-detail-paygrid {
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 12px;
      margin-bottom: 14px;
      align-items: stretch;
    }
    .agenda-detail-paygrid__col {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      min-width: 0;
    }
    .agenda-detail-paygrid__col--breakdown {
      align-items: stretch;
      justify-content: center;
    }
    .agenda-detail-paygrid__col--due {
      align-items: stretch;
      justify-content: center;
      gap: 8px;
    }
    .agenda-detail-paygrid__due-main {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      width: 100%;
      min-width: 0;
      flex: 1 1 auto;
    }
    .agenda-detail-paygrid__due-main > .agenda-detail-paygrid__badge {
      flex: 0 0 auto;
      order: 0;
    }
    .agenda-detail-paygrid__due-amt-row {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      min-width: 0;
      margin-left: auto;
      order: 1;
    }
    .agenda-detail-paygrid__due-amt-row > #agenda-d-pagar {
      flex: 0 1 auto;
      min-width: 0;
      font-size: 1.55rem;
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: -0.02em;
      text-align: right;
    }
    .agenda-detail-paygrid__paymethod[hidden] {
      display: none !important;
    }
    .agenda-detail-paygrid__tiles {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      width: 100%;
    }
    .agenda-detail-paygrid__tile {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-width: 0;
      padding: 10px 8px;
      border-radius: 14px;
      background: rgba(0, 0, 0, 0.12);
      border: 1px solid var(--border);
      box-sizing: border-box;
      text-align: center;
    }
    .agenda-detail-paygrid__tile-ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--ok, var(--bv-g-059669, #059669));
      line-height: 0;
    }
    .agenda-detail-paygrid__tile-ico svg {
      display: block;
      width: 20px;
      height: 20px;
    }
    .agenda-detail-paygrid__tile strong {
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.15;
    }
    .agenda-detail-paygrid__tile-lbl {
      font-size: 0.62rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      line-height: 1.25;
    }
    .agenda-detail-paygrid__lbl {
      display: block;
      font-size: 0.72rem;
      color: var(--muted);
      margin-bottom: 0;
    }
    .agenda-detail-paygrid__paymethod {
      display: block;
      margin-top: 2px;
      line-height: 1.35;
      max-width: 100%;
    }
    .agenda-detail-paygrid__badge {
      display: inline-flex;
      flex: 0 0 auto;
      align-self: center;
      margin-top: 0;
    }
    .agenda-detail-paystatus {
      display: none;
    }
    /* En el pie fijo: los botones postpago participan del flex de acciones */
    .agenda-detail-footer__actions .agenda-detail-postpay:not(.hidden) {
      display: contents;
    }
    .agenda-detail-footer__actions .agenda-detail-postpay.hidden {
      display: none !important;
    }
    .agenda-detail-postpay {
      display: flex;
      align-items: stretch;
      justify-content: stretch;
      gap: 8px;
      margin: 0;
      width: 100%;
      box-sizing: border-box;
    }
    .agenda-detail-postpay.hidden {
      display: none !important;
    }
    .agenda-detail-postpay__btn {
      flex: 1 1 0;
      min-width: 0;
      width: auto;
      max-width: none;
      aspect-ratio: auto;
      min-height: 54px;
      max-height: 60px;
      height: 54px;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      padding: 6px 4px;
      box-sizing: border-box;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      color: var(--text);
      font: inherit;
      font-size: 0.64rem;
      font-weight: 700;
      line-height: 1.1;
      text-align: center;
      cursor: pointer;
      transition: background 0.15s ease, border-color 0.15s ease;
    }
    .agenda-detail-postpay__btn:hover {
      background: rgba(0, 0, 0, 0.26);
      border-color: color-mix(in srgb, var(--ok) 45%, var(--border));
    }
    .agenda-detail-postpay__btn:disabled {
      opacity: 0.65;
      cursor: wait;
    }
    .agenda-detail-postpay__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 7px;
      background: rgba(255, 255, 255, 0.08);
      color: var(--ok, var(--bv-g-34d399, #34d399));
      flex: 0 0 auto;
    }
    .agenda-detail-postpay__ico svg {
      display: block;
      width: 15px;
      height: 15px;
    }
    .agenda-detail-postpay__lbl {
      display: block;
      max-width: 100%;
      overflow: hidden;
      word-break: break-word;
    }
    #agenda-d-send-review.agenda-d-send-review-btn {
      gap: 6px;
    }
    .agenda-d-send-review-btn__sub {
      font-size: 0.62rem;
      opacity: 0.72;
      font-weight: 600;
      margin-top: -4px;
    }
    html.bardev-panel-theme-light .agenda-detail-postpay__btn {
      background: var(--c-gris-50e);
      border: 1px solid var(--c-gris-100);
      color: var(--c-verde-900);
      box-shadow: none;
    }
    html.bardev-panel-theme-light .agenda-detail-postpay__btn:hover {
      background: color-mix(in srgb, var(--ds-brand-green, #26313A) 7%, var(--c-blanco));
      border-color: var(--ds-brand-green, #26313A);
    }
    html.bardev-panel-theme-light .agenda-detail-postpay__ico {
      background: transparent;
      color: var(--ds-accent, #C8463D);
    }
    html.bardev-panel-theme-light #agenda-d-send-review .agenda-detail-postpay__ico {
      background: var(--c-ambar-100b);
      color: var(--c-naranja-700b);
    }
    html.bardev-panel-theme-light #agenda-d-emit-full .agenda-detail-postpay__ico {
      background: var(--c-gris-50);
      color: var(--c-verde-900);
    }
    html.bardev-panel-theme-light #agenda-d-change-pay .agenda-detail-postpay__ico {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-065f46, #065f46);
    }
    .agenda-detail-panel .agenda-detail-footer {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      flex: 0 0 auto;
      position: relative;
      z-index: 6;
      margin: 0;
      padding: 10px 14px 8px;
      background: var(--ad-surface);
      border-top: 1px solid var(--border);
      border-radius: 0 0 16px 16px;
      box-shadow: 0 -10px 18px -6px rgba(0, 0, 0, 0.45), 0 -4px 10px -4px rgba(0, 0, 0, 0.28);
    }
    .agenda-detail-panel .agenda-detail-footer.hidden {
      display: none !important;
    }
    .agenda-detail-footer__actions {
      display: flex;
      align-items: stretch;
      gap: 8px;
      width: 100%;
      min-width: 0;
    }
    .agenda-detail-footer__icon {
      width: 44px;
      min-width: 44px;
      border-radius: 10px;
      border: 1px solid rgba(248, 113, 113, 0.45);
      background: rgba(0, 0, 0, 0.35);
      cursor: pointer;
      font-size: 1.25rem;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      color: var(--c-rojo-300);
      font-weight: 700;
    }
    .agenda-detail-footer__icon:hover {
      background: rgba(248, 113, 113, 0.12);
      border-color: var(--c-rojo-300);
    }
    .agenda-detail-footer__secondary {
      flex: 1;
      min-width: 0;
      min-height: 54px;
      max-height: 60px;
      height: 54px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.04);
      color: var(--text);
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      cursor: pointer;
      padding: 6px 4px;
      line-height: 1.1;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      text-align: center;
      box-sizing: border-box;
    }
    .agenda-detail-footer__secondary-ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      flex: 0 0 auto;
      color: currentColor;
      opacity: 0.92;
    }
    .agenda-detail-footer__secondary-ico svg {
      display: block;
      width: 18px;
      height: 18px;
    }
    .agenda-detail-footer__secondary-lbl {
      display: block;
      max-width: 100%;
      overflow: hidden;
      word-break: break-word;
    }
    .agenda-detail-footer__secondary:hover {
      background: rgba(255, 255, 255, 0.08);
    }
    .agenda-detail-footer__cobrar {
      flex: 1.4;
      min-width: 0;
      border-radius: 10px;
      border: 1px solid rgba(var(--bv-g-rgb-1e7a52, 30, 122, 82), 0.5);
      background: linear-gradient(180deg, #1a5f42 0%, var(--c-verde-850b) 100%);
      color: rgba(255, 255, 255, 0.96);
      font-weight: 800;
      font-size: 0.82rem;
      letter-spacing: 0.06em;
      cursor: pointer;
      padding: 12px 8px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    }
    .agenda-detail-footer__cobrar[hidden],
    .agenda-detail-footer__cobrar.hidden {
      display: none !important;
    }
    .agenda-detail-footer__cobrar:hover {
      filter: brightness(1.08);
    }
    #agenda-detail-edit {
      padding-top: 8px;
      color: var(--text);
    }
    #agenda-detail-edit label.sub {
      color: var(--muted);
    }
    #agenda-detail-edit input,
    #agenda-detail-edit select {
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      border: 1px solid var(--border);
    }
    .agenda-badge-pendiente {
      display: inline-block;
      padding: 4px 10px;
      border-radius: 8px;
      font-size: 0.72rem;
      font-weight: 700;
      background: rgba(251, 191, 36, 0.2);
      color: var(--c-ambar-450b);
    }
    .agenda-badge-cobrado {
      display: inline-block;
      padding: 4px 10px;
      border-radius: 8px;
      font-size: 0.72rem;
      font-weight: 700;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.2);
      color: var(--nav-active-text);
    }
    .agenda-cobro-panel {
      width: 92%;
      max-width: 400px;
      max-height: 88vh;
      overflow-y: auto;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--card);
      padding: 18px;
    }
    .agenda-cobro-split-row {
      display: grid;
      grid-template-columns: 1fr 120px;
      gap: 8px;
      align-items: end;
      margin-bottom: 10px;
    }
    .agenda-cobro-split-amount {
      min-width: 0;
    }
    .agenda-cobro-split-amount__lbl {
      display: block;
      margin-bottom: 6px;
      font-weight: 600;
      font-size: 0.78rem;
      opacity: 0.95;
    }
    .agenda-cobro-split-amount__wrap {
      display: flex;
      align-items: stretch;
      border-radius: 10px;
      border: 1px solid var(--border);
      overflow: hidden;
      background: rgba(0, 0, 0, 0.35);
    }
    .agenda-cobro-split-amount__input {
      flex: 1;
      min-width: 0;
      border: none !important;
      border-radius: 0 !important;
      margin: 0 !important;
      padding: 10px 8px !important;
      background: transparent !important;
      color: var(--text);
      font-size: 1rem;
      font-weight: 700;
      box-sizing: border-box;
    }
    .agenda-cobro-split-amount__input:focus {
      outline: none;
      box-shadow: inset 0 0 0 2px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    .agenda-cobro-split-amount__input--locked {
      opacity: 0.92;
      cursor: default;
      background: rgba(15, 23, 42, 0.04);
    }
    html.bardev-panel-theme-light .agenda-cobro-split-amount__input--locked {
      background: var(--c-gris-50b);
    }
    .agenda-cobro-methods-grid--pay-locked {
      pointer-events: none;
      opacity: 0.9;
    }
    .agenda-cobro-method-card--pay-locked {
      cursor: default !important;
      opacity: 1 !important;
    }
    .agenda-cobro-split-label--pay-locked {
      opacity: 0.75;
      pointer-events: none;
      cursor: default;
    }
    .agenda-cobro-split-row--pay-locked > div:first-child > .sub {
      color: var(--muted, #64748b);
    }
    .agenda-cobro-split-row--pay-locked .agenda-cobro-split-locked-hint {
      display: block;
      margin: -4px 0 8px;
      font-size: 0.78rem;
      color: var(--muted, #64748b);
    }
    .agenda-cobro-split-amount__suffix {
      display: flex;
      align-items: center;
      padding: 0 10px 0 4px;
      font-size: 1rem;
      font-weight: 700;
      color: var(--text);
      opacity: 0.92;
      flex-shrink: 0;
      border-left: 1px solid rgba(255, 255, 255, 0.1);
    }
    .agenda-cobro-resto {
      font-size: 0.9rem;
      font-weight: 600;
      margin: 10px 0;
      padding: 10px;
      border-radius: 8px;
      background: rgba(0, 0, 0, 0.2);
    }
    .agenda-cobro-resto.ok {
      color: var(--ok);
    }
    .agenda-cobro-resto.bad {
      color: var(--c-rojo-300);
    }
    .agenda-cobro-method-select-hidden {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      border: 0 !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }
    .agenda-cobro-methods-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
      gap: 10px;
      margin-bottom: 14px;
    }
    .agenda-cobro-methods-grid.agenda-cobro-methods-grid--split {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 5px;
      margin-bottom: 8px;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
    }
    .agenda-cobro-methods-grid--split .agenda-cobro-method-card {
      flex: 1 1 0;
      min-width: 52px;
      min-height: 52px;
      padding: 4px 3px;
      gap: 2px;
      font-size: 0.6rem;
      border-radius: 8px;
    }
    .agenda-cobro-methods-grid--split .agenda-cobro-method-card__icon {
      font-size: 0.95rem;
    }
    .agenda-cobro-methods-grid--split .agenda-cobro-method-card__label {
      font-size: 0.58rem;
      line-height: 1.1;
      max-height: 2.4em;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }
    .agenda-cobro-method-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      min-height: 72px;
      padding: 10px 8px;
      margin: 0;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.28);
      color: var(--text);
      font: inherit;
      font-size: 0.78rem;
      font-weight: 600;
      text-align: center;
      cursor: pointer;
      transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
      position: relative;
      overflow: hidden;
    }
    .agenda-cobro-method-card:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: rgba(var(--bv-g-rgb-1e7a52, 30, 122, 82), 0.45);
    }
    .agenda-cobro-method-card--selected {
      border-color: var(--border);
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.24);
      box-shadow: none;
    }
    .agenda-cobro-panel--payment .agenda-cobro-method-card--selected {
      border-color: var(--border);
      background: rgba(var(--bv-g-rgb-6ee7b7, 110, 231, 183), 0.3);
      box-shadow: none;
    }
    .agenda-cobro-method-card__icon {
      font-size: 1.35rem;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(241, 245, 249, 0.98);
    }
    .agenda-cobro-method-card__icon svg {
      width: 28px;
      height: 28px;
      display: block;
      stroke-width: 2.1;
    }
    .agenda-cobro-method-card--selected .agenda-cobro-method-card__icon {
      color: var(--bv-g-ecfdf5, #ecfdf5);
    }
    .agenda-cobro-method-card__label {
      line-height: 1.25;
    }
    /* Modal Registrar cobro (cita + productos) — mismo lenguaje que venta directa */
    .agenda-cobro-panel--payment.agenda-cobro-panel {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      min-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-height: var(
        --bardev-modal-content-cap,
        min(90vh, 760px)
      );
      display: flex;
      flex-direction: column;
      padding: 0;
      overflow: hidden;
      border-radius: 18px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: linear-gradient(165deg, rgba(22, 28, 36, 0.98) 0%, rgba(12, 14, 18, 0.99) 100%);
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
      height: auto;
      flex: 0 0 auto;
    }
    .agenda-cobro-panel--payment.venta-pp-panel.agenda-cobro-panel {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
    }
    .agenda-cobro-panel--payment .agenda-cobro-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 18px 20px 14px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
    }
    .agenda-cobro-panel--payment .agenda-cobro-head h3 {
      margin: 0;
      font-size: 1.12rem;
      font-weight: 800;
      letter-spacing: -0.02em;
    }
    .agenda-cobro-panel--payment .agenda-cobro-body {
      padding: 16px 20px 0;
      overflow-y: auto;
      flex: 0 1 auto;
      min-height: 0;
    }
    .agenda-cobro-panel--payment .agenda-cobro-concept-section {
      margin: 0 0 4px;
    }
    .agenda-cobro-panel--payment .agenda-cobro-concept-section.hidden {
      display: none !important;
    }
    .agenda-cobro-panel--payment .agenda-cobro-concept-section .agenda-cobro-pay-section-label {
      margin: 0 0 8px;
    }
    .agenda-cobro-panel--payment .agenda-cobro-total-line {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      margin: 12px 0 12px;
      font-size: 0.88rem;
      color: rgba(255, 255, 255, 0.55);
    }
    .agenda-cobro-panel--payment .agenda-cobro-total-line strong {
      font-size: 1.35rem;
      font-weight: 800;
      color: var(--text);
      letter-spacing: -0.02em;
    }
    .agenda-cobro-panel--payment #agenda-cobro-concept-section #agenda-cobro-venta-lines {
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-height: 220px;
      overflow-y: auto;
      margin-bottom: 0;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: rgba(15, 23, 42, 0.35);
      font-size: 0.88rem;
    }
    .agenda-cobro-panel--payment #agenda-cobro-concept-section #agenda-cobro-venta-lines > .agenda-cobro-line {
      margin: 0;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-bottom: none;
    }
    .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(6n + 1) {
      background: rgba(59, 130, 246, 0.22);
      border-color: rgba(96, 165, 250, 0.28);
    }
    .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(6n + 2) {
      background: rgba(56, 189, 248, 0.2);
      border-color: rgba(125, 211, 252, 0.28);
    }
    .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(6n + 3) {
      background: rgba(37, 99, 235, 0.24);
      border-color: rgba(59, 130, 246, 0.3);
    }
    .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(6n + 4) {
      background: rgba(99, 102, 241, 0.2);
      border-color: rgba(129, 140, 248, 0.28);
    }
    .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(6n + 5) {
      background: rgba(14, 165, 233, 0.18);
      border-color: rgba(56, 189, 248, 0.28);
    }
    .agenda-cobro-panel--payment
      #agenda-cobro-concept-section
      #agenda-cobro-venta-lines
      > .agenda-cobro-line:nth-child(6n + 6) {
      background: rgba(6, 182, 212, 0.18);
      border-color: rgba(34, 211, 238, 0.28);
    }
    .agenda-cobro-line {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px;
    }
    .agenda-cobro-line--group-extra .agenda-cobro-line__label {
      font-weight: 650;
    }
    .agenda-cobro-line__main {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .agenda-cobro-line__label {
      min-width: 0;
      word-break: break-word;
      line-height: 1.35;
    }
    .agenda-cobro-line__sub {
      font-size: 0.72rem;
      opacity: 0.72;
      line-height: 1.25;
    }
    .agenda-cobro-line__amt {
      flex-shrink: 0;
      font-weight: 700;
      white-space: nowrap;
      text-align: right;
    }
    .agenda-cobro-line__acts {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
    }
    .agenda-cobro-line__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      padding: 0;
      border-radius: 6px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      background: rgba(255, 255, 255, 0.06);
      color: rgba(255, 255, 255, 0.92);
      font-size: 0.8rem;
      line-height: 1;
      cursor: pointer;
    }
    .agenda-cobro-line__btn:hover {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
    }
    .agenda-cobro-line__btn--del:hover {
      border-color: rgba(248, 113, 113, 0.55);
      color: var(--c-rojo-100);
    }
    html.bardev-panel-theme-light .agenda-cobro-line__btn {
      background: rgba(255, 255, 255, 0.85);
      border-color: rgba(15, 23, 42, 0.12);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .agenda-cobro-line__btn:hover {
      background: var(--c-blanco);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
    }
    /* Iconos editar / quitar: mismo trazo explícito que tablas admin (evita SVG invisible en WebKit) */
    .agenda-cobro-line__acts .btn-icon svg {
      display: block;
      width: 12px;
      height: 12px;
      flex-shrink: 0;
      overflow: visible;
    }
    .agenda-cobro-line__acts .btn-icon svg,
    .agenda-cobro-line__acts .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    .agenda-cobro-line__acts .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    .agenda-cobro-line__acts .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-cielo-400) !important;
    }
    .agenda-cobro-line__acts .btn-icon--danger svg,
    .agenda-cobro-line__acts .btn-icon--danger svg * {
      stroke: var(--c-rojo-300) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-line__acts .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    html.bardev-panel-theme-light .agenda-cobro-line__acts .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-azul-450) !important;
    }
    html.bardev-panel-theme-light .agenda-cobro-line__acts .btn-icon--danger svg,
    html.bardev-panel-theme-light .agenda-cobro-line__acts .btn-icon--danger svg * {
      stroke: var(--c-rojo-500) !important;
    }
    #agenda-cobro-line-edit-modal.modal-overlay {
      z-index: 20080;
    }
    #agenda-cobro-line-edit-modal .agenda-cobro-line-edit-panel {
      width: min(420px, 94vw);
      max-height: min(88vh, 560px);
      overflow-y: auto;
      padding: 18px 20px 20px;
      border-radius: 14px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: linear-gradient(165deg, rgba(22, 28, 36, 0.98) 0%, rgba(12, 14, 18, 0.99) 100%);
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
    }
    html.bardev-panel-theme-light #agenda-cobro-line-edit-modal .agenda-cobro-line-edit-panel {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.1);
    }
    .agenda-cobro-line-edit-panel h4 {
      margin: 0 0 14px;
      font-size: 1.05rem;
      font-weight: 800;
    }
    .agenda-cobro-line-edit-field {
      margin-bottom: 12px;
    }
    .agenda-cobro-line-edit-field label {
      display: block;
      margin-bottom: 6px;
      font-size: 0.72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      opacity: 0.75;
    }
    .agenda-cobro-line-edit-field input[type='text'],
    .agenda-cobro-line-edit-field input[type='number'] {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
    }
    html.bardev-panel-theme-light .agenda-cobro-line-edit-field input[type='text'],
    html.bardev-panel-theme-light .agenda-cobro-line-edit-field input[type='number'] {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.12);
    }
    .agenda-cobro-line-edit-modes {
      display: flex;
      gap: 8px;
      margin-bottom: 10px;
      flex-wrap: wrap;
    }
    .agenda-cobro-line-edit-modes label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: none;
      letter-spacing: 0;
      opacity: 1;
      cursor: pointer;
    }
    .agenda-cobro-line-edit-preview {
      margin: 8px 0 14px;
      padding: 10px 12px;
      border-radius: 10px;
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      font-size: 0.85rem;
      font-weight: 700;
    }
    .agenda-cobro-line-edit-actions {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .agenda-cobro-line-edit-actions .btn {
      width: 100%;
      margin: 0;
    }
    .agenda-cobro-panel--payment #agenda-cobro-add-prod {
      width: 100%;
      margin: 0 0 16px !important;
      padding: 12px 14px !important;
      font-size: 0.82rem !important;
      font-weight: 700 !important;
      border-radius: 12px !important;
      border: 1px solid rgba(255, 255, 255, 0.12) !important;
      background: rgba(0, 0, 0, 0.35) !important;
      color: rgba(255, 255, 255, 0.92) !important;
    }
    .agenda-cobro-panel--payment #agenda-cobro-add-prod:hover {
      background: rgba(255, 255, 255, 0.06) !important;
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35) !important;
    }
    .agenda-cobro-panel--payment .agenda-cobro-split-label {
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
      margin-bottom: 12px;
      font-size: 0.7rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(255, 255, 255, 0.5);
    }
    .agenda-cobro-panel--payment .agenda-cobro-split-label input {
      accent-color: var(--ok);
      width: 18px;
      height: 18px;
    }
    .agenda-cobro-panel--payment .agenda-cobro-pay-section-label {
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      margin: 4px 0 10px;
      color: rgba(255, 255, 255, 0.45);
    }
    .agenda-cobro-panel--payment .agenda-cobro-methods-grid:not(.agenda-cobro-methods-grid--split) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 6px;
    }
    .agenda-cobro-panel--payment .agenda-cobro-method-card {
      min-height: 76px;
      border-radius: 12px;
      padding: 12px 8px;
    }
    .agenda-cobro-panel--payment .agenda-cobro-split-amount__wrap {
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
    }
    .agenda-cobro-panel--payment .agenda-cobro-resto {
      margin: 8px 0 12px;
      border-radius: 10px;
    }
    .agenda-cobro-panel--payment .agenda-cobro-foot {
      padding: 16px 20px 20px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
      background: rgba(0, 0, 0, 0.2);
    }
    .agenda-cobro-panel--payment #agenda-cobro-confirm {
      width: 100%;
      padding: 14px 16px;
      font-weight: 800;
      font-size: 0.95rem;
      border-radius: 12px;
    }
    /* Selección: solo relleno verde pastel (sin outline/box-shadow: evita “salirse” del cajón con overflow) */
    #agenda-cobro-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected,
    #caja-vd-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected {
      outline: none !important;
      border-color: var(--border) !important;
      background: rgba(var(--bv-g-rgb-6ee7b7, 110, 231, 183), 0.34) !important;
      box-shadow: none !important;
    }
    #agenda-cobro-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected::after,
    #caja-vd-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected::after {
      content: none !important;
    }
    html.bardev-panel-theme-light #agenda-cobro-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected,
    html.bardev-panel-theme-light #caja-vd-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected {
      outline: none !important;
      border-color: rgba(37, 99, 235, 0.2) !important;
      background: #d1fae7 !important;
      box-shadow: none !important;
    }
    html.bardev-panel-theme-light #agenda-cobro-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected::after,
    html.bardev-panel-theme-light #caja-vd-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected::after {
      content: none !important;
    }
    #agenda-cobro-modal .agenda-cobro-method-card:focus-visible,
    #caja-vd-modal .agenda-cobro-method-card:focus-visible {
      outline: none;
      box-shadow: inset 0 0 0 2px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.75);
    }
    html.bardev-panel-theme-light #agenda-cobro-modal .agenda-cobro-method-card:focus-visible,
    html.bardev-panel-theme-light #caja-vd-modal .agenda-cobro-method-card:focus-visible {
      box-shadow: inset 0 0 0 2px rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.45);
    }
    .agenda-card {
      cursor: pointer;
      user-select: none;
      -webkit-user-select: none;
    }
    .agenda-card--draggable {
      cursor: pointer;
    }
    .msg {
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 10px;
      font-size: 0.875rem;
      line-height: 1.45;
      display: none;
    }
    .msg.ok {
      display: block;
      background: rgba(16, 185, 129, 0.12);
      border: 1px solid rgba(16, 185, 129, 0.38);
      color: var(--bv-g-34d399, #34d399);
    }
    .msg.err,
    .msg.error {
      display: block;
      background: rgba(248, 113, 113, 0.1);
      border: 1px solid rgba(248, 113, 113, 0.35);
      color: var(--err);
    }
    .msg.warn {
      display: block;
      background: rgba(251, 191, 36, 0.1);
      border: 1px solid rgba(251, 191, 36, 0.38);
      color: var(--c-ambar-350);
    }
    .incoming-call-install-guide {
      margin: 0 0 20px;
      padding: 18px 20px;
      border-radius: 12px;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.42);
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.09);
    }
    .incoming-call-install-guide > h3 {
      margin: 0 0 10px;
      font-size: 1.12rem;
      color: var(--bv-g-a7f3d0, #a7f3d0);
      line-height: 1.35;
    }
    .incoming-call-install-guide .incoming-call-trust-block {
      margin: 14px 0 0;
      padding: 12px 14px;
      border-radius: 10px;
      background: rgba(5, 10, 8, 0.35);
      border: 1px solid var(--border);
    }
    .incoming-call-install-guide .incoming-call-trust-block p {
      margin: 0 0 10px;
      line-height: 1.5;
    }
    .incoming-call-install-guide .incoming-call-trust-block p:last-child {
      margin-bottom: 0;
    }
    a.incoming-call-zip-btn.incoming-call-zip-btn--suggested {
      box-shadow:
        0 0 0 3px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.55),
        0 6px 24px rgba(0, 0, 0, 0.28);
      position: relative;
      z-index: 1;
      background: linear-gradient(180deg, var(--bv-g-047857, #047857) 0%, var(--bv-g-065f46, #065f46) 100%) !important;
    }
    #incoming-call-install-downloads {
      padding-top: 10px;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
      max-width: 26rem;
    }
    /* Enlaces inline (p. ej. Docker): no aplicar a los botones-descarga */
    .incoming-call-install-guide a:not(.incoming-call-zip-btn) {
      color: #ddd6fe;
      font-weight: 600;
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    }
    .incoming-call-install-guide a:not(.incoming-call-zip-btn):hover {
      color: var(--c-indigo-50b);
    }
    .incoming-call-install-guide a:not(.incoming-call-zip-btn):focus-visible {
      outline: 2px solid rgba(196, 181, 253, 0.95);
      outline-offset: 2px;
      border-radius: 2px;
    }
    /* Botones ZIP: texto blanco sobre verde (la regla anterior los teñía de lila) */
    .incoming-call-install-guide a.incoming-call-zip-btn.btn {
      color: var(--c-blanco) !important;
      -webkit-text-fill-color: var(--c-blanco);
      text-decoration: none;
      background: linear-gradient(180deg, var(--bv-g-059669, #059669) 0%, var(--bv-g-047857, #047857) 100%);
      border: 1px solid rgba(255, 255, 255, 0.12);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
      width: 100%;
      box-sizing: border-box;
    }
    .incoming-call-install-guide a.incoming-call-zip-btn.btn:hover {
      background: linear-gradient(180deg, var(--bv-g-047857, #047857) 0%, var(--bv-g-065f46, #065f46) 100%);
      color: var(--c-blanco) !important;
      -webkit-text-fill-color: var(--c-blanco);
    }
    .hidden { display: none !important; }

    /* Dashboard */
    .app-shell {
      display: flex;
      width: 100%;
      max-width: none;
      min-height: 100vh;
      min-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      max-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      overflow: hidden;
      position: relative;
      --nav-side-width: 260px;
    }
    /*
     * Con el panel abierto el documento mide justo la pantalla. Antes medía más: el `padding-bottom` de `body` sumaba
     * 56 px y, con el zoom del panel (`applyPageZoom`, 80 % de serie), el shell ocupa en el flujo su alto sin escalar
     * (pantalla / 0,8), así que sobraba un cuarto de pantalla. `html` va con `overflow: hidden` y la rueda no lo
     * movía, pero cualquier `scrollIntoView`/`focus()` al cambiar de pantalla sí: el documento entero subía, con la
     * cabecera y el pie del menú cortados hasta recargar. El scroll va siempre en `.main-area`.
     * `clip` y no `hidden`: con `hidden` (el que pone en línea `applyPageZoom` y los modales) `body` pasa a ser una caja
     * desplazable y `scrollIntoView` la mueve igual; por eso lleva `!important`. Bloquea el scroll igual que `hidden`.
     * Excepción: la agenda en el móvil, que suelta la altura del shell y desplaza el documento (regla de 720 px).
     */
    @media (min-width: 721px) {
      body:not(.mode-login):has(> #view-dashboard:not(.hidden)) {
        padding-bottom: 0;
        min-height: 0;
        height: 100dvh;
        max-height: 100dvh;
        overflow: clip !important;
      }
    }
    @media (max-width: 720px) {
      body:not(.mode-login):has(> #view-dashboard:not(.hidden)):not(:has(#panel-agenda.active)) {
        padding-bottom: 0;
        min-height: 0;
        height: 100dvh;
        max-height: 100dvh;
        overflow: clip !important;
      }
    }
    .app-shell--agenda-max {
      --nav-side-width: 52px;
    }
    .nav-side {
      width: 260px;
      flex-shrink: 0;
      background: var(--side);
      border-right: 1px solid var(--brand-rgba-22);
      padding: 16px 12px 12px;
      display: flex;
      flex-direction: column;
      min-height: 0;
      height: 100%;
      max-height: 100%;
      overflow: hidden;
      transition: width 0.2s ease, min-width 0.2s ease, max-width 0.2s ease;
      --nav-rail-gap-color: var(--c-pizarra-350);
      /* Mismo grosor en carril principal, anidados, puente y pie (SVG usa --nav-spine-stroke) */
      --nav-spine-width: 2px;
      --nav-spine-stroke: 2;
    }
    .nav-side--dev-nav-visible {
      --nav-rail-gap-color: var(--c-pizarra-550);
    }
    .nav-side-header {
      padding: 8px 8px 16px;
      border-bottom: 1px solid var(--border);
      margin-bottom: 12px;
      text-align: center;
    }
    #nav-side-collapse-slot {
      position: absolute;
      top: 50%;
      left: var(--nav-side-width, 260px);
      transform: translate(-50%, -50%);
      z-index: 1300;
      width: 24px;
      height: 44px;
      pointer-events: none;
    }
    .app-shell--agenda-max #nav-side-collapse-slot {
      z-index: 1300;
    }
    #nav-side-collapse-slot > .nav-side-collapse-toggle {
      position: relative;
      top: auto;
      left: auto;
      transform: none;
      width: 100%;
      height: 100%;
      pointer-events: auto;
    }
    .nav-side-collapse-toggle {
      position: absolute;
      top: 50%;
      left: var(--nav-side-width, 260px);
      transform: translate(-50%, -50%);
      z-index: 1200;
      width: 24px;
      height: 44px;
      margin: 0;
      padding: 0;
      border: 1px solid rgba(15, 23, 42, 0.14);
      border-left: none;
      border-radius: 0 10px 10px 0;
      background: var(--card, #0d1a14);
      color: var(--muted);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 2px 0 10px rgba(0, 0, 0, 0.12);
      transition: left 0.2s ease, background 0.15s, color 0.15s, box-shadow 0.15s;
    }
    .nav-side-collapse-toggle:hover {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.16);
      color: var(--ok);
      box-shadow: 2px 0 12px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.22);
    }
    .nav-side-collapse-toggle:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .nav-side-collapse-toggle__icon {
      display: block;
      font-size: 1.15rem;
      line-height: 1;
      font-weight: 700;
      opacity: 0.82;
      user-select: none;
    }
    .app-shell--agenda-max .nav-side-collapse-toggle__icon {
      transform: translateX(1px);
    }
    .app-shell--agenda-max .nav-side-collapse-toggle {
      transform: translate(-50%, -50%);
    }
    html.bardev-panel-theme-light .nav-side-collapse-toggle {
      background: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      box-shadow: 2px 0 10px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
    }
    html.bardev-panel-theme-light .nav-side-collapse-toggle:hover {
      background: var(--bv-g-065f46, #065f46);
      border-color: var(--bv-g-065f46, #065f46);
      color: var(--c-blanco);
    }
    @media (max-width: 720px) {
      .nav-side-collapse-toggle {
        display: none !important;
      }
    }
    .nav-side-header__brand-row {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      margin-bottom: 0;
    }
    .nav-header-logo-wrap {
      width: 175px;
      height: 175px;
      margin: 0 auto;
      flex-shrink: 0;
      border-radius: 50%;
      overflow: hidden;
      background: rgba(255, 255, 255, 0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      isolation: isolate;
    }
    /* App del centro / App del staff: encima de «Secciones WebApp» */
    .nav-group__body > .nav-webapp-link {
      width: 100%;
      box-sizing: border-box;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 10px;
      padding: 10px 12px;
      margin-bottom: 4px;
      border-radius: 10px;
      border: 1px solid var(--brand-rgba-22);
      background: var(--brand-rgba-06);
      color: var(--ok);
      font-size: 0.72rem;
      font-weight: 700;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      text-align: left;
      line-height: 1.3;
      transition: background 0.15s, border-color 0.15s;
      cursor: pointer;
      font-family: inherit;
    }
    .nav-group--draggable .nav-group__main > .nav-group__body > .nav-webapp-link {
      padding: 6px 12px;
      margin-bottom: 2px;
    }
    .nav-webapp-link:hover {
      background: var(--brand-rgba-12);
      border-color: var(--brand-rgba-30);
      color: var(--ok);
      text-decoration: none;
    }
    .nav-webapp-link--staff {
      color: var(--c-cielo-400);
      border-color: rgba(56, 189, 248, 0.35);
      background: rgba(56, 189, 248, 0.08);
    }
    .nav-webapp-link--staff:hover {
      color: var(--c-cielo-250);
      border-color: rgba(56, 189, 248, 0.5);
      background: rgba(56, 189, 248, 0.14);
    }
    .nav-webapp-link--buscador {
      color: var(--c-indigo-250);
      border-color: rgba(167, 139, 250, 0.35);
      background: rgba(167, 139, 250, 0.08);
      text-transform: none;
      letter-spacing: 0;
    }
    .nav-webapp-link--buscador:hover {
      color: var(--c-indigo-150);
      border-color: rgba(167, 139, 250, 0.55);
      background: rgba(167, 139, 250, 0.14);
    }
    .nav-webapp-link--buscador.nav-item.active {
      border-color: rgba(167, 139, 250, 0.65);
      background: rgba(167, 139, 250, 0.18);
    }
    html.bardev-panel-theme-light .nav-webapp-link--tpv,
    .nav-webapp-link--tpv {
      color: var(--bv-g-114830, #114830);
      border-color: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.28);
      background: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.08);
      text-transform: none;
      letter-spacing: 0;
    }
    html.bardev-panel-theme-light .nav-webapp-link--tpv:hover,
    .nav-webapp-link--tpv:hover {
      color: #0d3a26;
      border-color: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.45);
      background: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.14);
    }
    html.bardev-panel-theme-light .nav-webapp-link--tpv.nav-item.active,
    .nav-webapp-link--tpv.nav-item.active {
      border-color: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.55);
      background: rgba(var(--bv-g-rgb-114830, 17, 72, 48), 0.16);
    }

    /* WEB APPS · Buscador + Fotos de mi barbería (mismas miniaturas) */
    #panel-buscador .bd-buscador-head,
    #webapp-panel-fotos-barberia .bd-buscador-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px 16px;
      margin-bottom: 12px;
    }
    #panel-buscador .bd-buscador-head h2 {
      margin: 0 0 6px;
    }
    #panel-buscador .bd-buscador-head__actions,
    #webapp-panel-fotos-barberia .bd-buscador-head__actions {
      margin-left: 0;
    }
    #panel-buscador .bd-buscador-hint,
    #webapp-panel-fotos-barberia .bd-buscador-hint {
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink-soft, #334155);
      max-width: 52rem;
      line-height: 1.45;
    }
    #panel-buscador .bd-buscador-hint--warn,
    #webapp-panel-fotos-barberia .bd-buscador-hint--warn {
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.06);
      color: var(--bd-ink, #0f172a);
    }
    #panel-buscador .bd-buscador-sec-title,
    #webapp-panel-fotos-barberia .bd-buscador-sec-title {
      margin: 18px 0 4px;
      font-size: 0.95rem;
      font-weight: 750;
      color: var(--bd-ink, #0f172a);
    }
    #panel-buscador .bd-buscador-sec-sub,
    #webapp-panel-fotos-barberia .bd-buscador-sec-sub {
      margin: 0 0 10px;
      max-width: 52rem;
    }
    #panel-buscador .bd-buscador-logo-wrap {
      max-width: 168px;
    }
    #panel-buscador .bd-buscador-photos-sec {
      margin-top: 8px;
      padding-top: 14px;
      border-top: 1px solid var(--bd-n-200, #e2e8f0);
    }
    /* Sin logo arriba: no hace falta separador */
    #webapp-panel-fotos-barberia .bd-buscador-photos-sec {
      margin-top: 0;
      padding-top: 0;
      border-top: none;
    }
    #webapp-panel-fotos-barberia .bd-buscador-sec-title {
      margin-top: 4px;
    }
    #panel-buscador .bd-buscador-grid,
    #webapp-panel-fotos-barberia .bd-buscador-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
      gap: 12px;
      max-width: 920px;
    }
    #panel-buscador .bd-buscador-empty,
    #webapp-panel-fotos-barberia .bd-buscador-empty {
      grid-column: 1 / -1;
      margin: 0;
    }
    #panel-buscador .bd-buscador-card,
    #webapp-panel-fotos-barberia .bd-buscador-card {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 8px;
      border-radius: 14px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      background: var(--bd-n-0, #fff);
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }
    #panel-buscador .bd-buscador-card--locked {
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      background: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.05);
    }
    #panel-buscador .bd-buscador-card__thumb,
    #webapp-panel-fotos-barberia .bd-buscador-card__thumb {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      padding: 0;
      border: 0;
      border-radius: 10px;
      overflow: hidden;
      background: var(--bd-n-50, #f8fafc);
      cursor: pointer;
    }
    /* Logo fijo: sigue en cuadrado 1:1 */
    #panel-buscador .bd-buscador-card--locked .bd-buscador-card__thumb {
      aspect-ratio: 1;
    }
    #panel-buscador .bd-buscador-card__thumb--static {
      cursor: default;
      display: grid;
      place-items: center;
    }
    #panel-buscador .bd-buscador-card--locked .bd-buscador-card__thumb {
      cursor: pointer;
      display: grid;
      place-items: center;
    }
    #panel-buscador .bd-buscador-card--locked .bd-buscador-card__thumb:hover {
      outline: 2px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.45);
      outline-offset: 1px;
    }
    #panel-buscador .bd-buscador-card__thumb img,
    #webapp-panel-fotos-barberia .bd-buscador-card__thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    #panel-buscador .bd-buscador-card__img--broken,
    #webapp-panel-fotos-barberia .bd-buscador-card__img--broken {
      object-fit: contain;
      background: repeating-linear-gradient(
        -45deg,
        var(--c-gris-50b),
        var(--c-gris-50b) 6px,
        var(--c-pizarra-100) 6px,
        var(--c-pizarra-100) 12px
      );
      opacity: 0.7;
    }
    #panel-buscador .bd-buscador-card__letter {
      font-size: 2rem;
      font-weight: 800;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-buscador .bd-buscador-card__locked-label {
      margin: 0;
      text-align: center;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--bd-ink-soft, #334155);
      line-height: 1.3;
    }
    #panel-buscador .bd-buscador-card__actions,
    #webapp-panel-fotos-barberia .bd-buscador-card__actions {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    #panel-buscador .bd-buscador-card__btn,
    #webapp-panel-fotos-barberia .bd-buscador-card__btn {
      width: 36px;
      height: 36px;
      min-width: 36px;
      min-height: 36px;
      padding: 0;
    }
    #panel-buscador .bd-buscador-card__btn--danger,
    #webapp-panel-fotos-barberia .bd-buscador-card__btn--danger {
      color: var(--c-rojo-600);
    }
    html.bardev-panel-theme-light #panel-buscador .bd-buscador-card__btn--danger,
    html.bardev-panel-theme-light #webapp-panel-fotos-barberia .bd-buscador-card__btn--danger {
      color: var(--c-rojo-600);
    }
    .nav-webapp-link svg {
      flex-shrink: 0;
      opacity: 0.95;
    }
    .nav-group__body > .nav-group--nested > .nav-webapp-link--toggle {
      width: 100%;
      margin-bottom: 2px;
    }
    .nav-webapp-link--toggle .nav-toggle-label {
      flex: 1 1 auto;
      text-align: left;
      text-transform: inherit;
      letter-spacing: inherit;
      font-size: inherit;
      font-weight: inherit;
    }
    .nav-webapp-link--toggle .nav-toggle-arrow {
      margin-left: auto;
      flex-shrink: 0;
    }
    .nav-webapp-link--nested {
      margin-left: 6px;
      width: calc(100% - 6px);
      font-size: 0.68rem;
      padding: 8px 10px;
    }
    .nav-group--nested .nav-group--nested {
      margin-top: 2px;
      margin-left: 4px;
    }

    /* Vista dispositivo: App del centro / App del staff
     * content-pin: scrim solo sobre el área de contenido (menú lateral visible).
     * Sin scale-wrap: las reglas genéricas height:auto !important rompían el iframe. */
    #bardev-app-device-modal.bardev-modal-overlay,
    #bardev-app-device-modal.bardev-overlay--content-pin:not(.hidden) {
      z-index: 22050 !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 16px !important;
      background: var(--bd-modal-scrim) !important;
      backdrop-filter: var(--bd-modal-scrim-blur) !important;
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur) !important;
      overflow: auto !important;
    }
    #bardev-app-device-modal > .bardev-app-device,
    #bardev-app-device-modal > .bardev-modal-scale-wrap > .bardev-app-device {
      display: flex !important;
      flex-direction: column !important;
      flex: 0 1 auto !important;
      width: min(100%, 560px) !important;
      max-width: min(100%, 560px) !important;
      height: min(88dvh, 860px) !important;
      max-height: min(88dvh, 860px) !important;
      margin: auto !important;
      background: var(--card, #fff);
      border: 1px solid var(--border, #e2e8f0);
      border-radius: 16px !important;
      box-shadow: 0 20px 50px rgba(15, 23, 42, 0.28);
      overflow: hidden !important;
      zoom: 1 !important;
      transform: none !important;
    }
    #bardev-app-device-modal .bardev-app-device.is-staff {
      width: min(100%, 640px) !important;
      max-width: min(100%, 640px) !important;
    }
    #bardev-app-device-modal .bardev-app-device__head {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      border-bottom: 1px solid var(--border, #e2e8f0);
      background: var(--bg, #f8fafc);
      flex-shrink: 0;
    }
    #bardev-app-device-modal .bardev-app-device__roles {
      display: none;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      padding: 8px 12px 10px;
      border-bottom: 1px solid var(--border, #e2e8f0);
      background: var(--c-blanco);
      flex-shrink: 0;
    }
    #bardev-app-device-modal .bardev-app-device.is-staff .bardev-app-device__roles {
      display: flex;
    }
    #bardev-app-device-modal .bardev-app-device__roles-label {
      font-size: 0.72rem;
      font-weight: 750;
      color: var(--c-pizarra-550);
      margin-right: 2px;
    }
    #bardev-app-device-modal .bardev-app-device__role {
      border: 1px solid rgba(15, 23, 42, 0.12);
      background: var(--c-blanco);
      color: var(--c-pizarra-750);
      border-radius: 999px;
      padding: 5px 10px;
      font-size: 0.72rem;
      font-weight: 650;
      cursor: pointer;
      font-family: inherit;
      line-height: 1.2;
    }
    #bardev-app-device-modal .bardev-app-device__role:hover {
      background: var(--c-gris-50f);
    }
    #bardev-app-device-modal .bardev-app-device__role[aria-pressed='true'] {
      background: var(--c-cielo-50);
      border-color: var(--c-cielo-400);
      color: var(--c-cielo-700);
    }
    #bardev-app-device-modal .bardev-app-device__title {
      margin: 0;
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--text, #0f172a);
    }
    #bardev-app-device-modal .bardev-app-device__vps {
      display: flex;
      gap: 4px;
      flex-shrink: 0;
    }
    #bardev-app-device-modal .bardev-app-device__vp {
      display: grid;
      place-items: center;
      width: 36px;
      height: 32px;
      border: 1px solid var(--border, #cbd5e1);
      border-radius: 8px;
      background: var(--c-blanco);
      color: var(--c-pizarra-550);
      cursor: pointer;
      padding: 0;
    }
    #bardev-app-device-modal .bardev-app-device__vp[aria-pressed='true'] {
      background: var(--c-cielo-50);
      border-color: var(--c-cielo-400);
      color: var(--c-cielo-700);
    }
    #bardev-app-device-modal .bardev-app-device__settings {
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      flex-shrink: 0;
      margin-left: 4px;
      padding: 0;
      border: 1px solid var(--ds-border-2, #D4C8B0);
      border-radius: 10px;
      background: var(--ds-brand-beige-soft, #FEF9F1);
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
      cursor: pointer;
      box-sizing: border-box;
    }
    #bardev-app-device-modal .bardev-app-device__settings[hidden] {
      display: none !important;
    }
    #bardev-app-device-modal .bardev-app-device.is-staff .bardev-app-device__settings {
      display: none !important;
    }
    #bardev-app-device-modal .bardev-app-device__settings:hover {
      background: var(--ds-brand-mint, var(--bv-g-e4f6ec, #E4F6EC));
      border-color: var(--ds-accent, var(--bv-g-047857, #047857));
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
    }
    #bardev-app-device-modal .bardev-app-device__settings svg {
      width: 20px;
      height: 20px;
    }
    html.bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__vp[aria-pressed='true'] {
      background: var(--ds-brand-mint, var(--bv-g-e4f6ec, #E4F6EC));
      border-color: var(--ds-accent, var(--bv-g-047857, #047857));
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
    }
    #bardev-app-device-modal .bardev-app-device__vp svg {
      width: 18px;
      height: 18px;
    }
    #bardev-app-device-modal .bardev-app-device__body {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px;
      overflow: hidden;
      background: linear-gradient(160deg, var(--c-pizarra-100) 0%, var(--c-gris-50b) 55%, var(--c-azul-50c) 100%);
    }
    /* Tamaño real lo fija JS (cabe en el body del modal; no se sale). */
    #bardev-app-device-modal .bardev-app-device__frame {
      position: relative;
      flex-shrink: 0;
      width: 280px;
      height: 498px;
      padding-bottom: 0;
      max-width: 100%;
      max-height: 100%;
      margin: 0 auto;
      border-radius: 28px;
      border: 10px solid var(--c-azul-900b);
      box-shadow: 0 12px 40px rgba(15, 23, 42, 0.25);
      background: var(--c-azul-900b);
      overflow: hidden;
      box-sizing: border-box;
    }
    #bardev-app-device-modal .bardev-app-device__frame.is-tablet {
      width: 360px;
      height: 480px;
      border-radius: 22px;
      border-width: 12px;
    }
    #bardev-app-device-modal .bardev-app-device__iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100% !important;
      height: 100% !important;
      max-width: none !important;
      max-height: none !important;
      border: 0;
      margin: 0;
      padding: 0;
      background: var(--c-blanco);
      box-sizing: border-box;
    }
    .nav-header-logo-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: 20px;
      display: block;
    }
    .nav-header-logo-placeholder {
      font-size: 3.75rem;
      color: var(--muted);
    }
    .nav-side-header strong {
      display: block;
      font-size: 0.95rem;
      text-align: center;
    }
    .nav-side-header span {
      font-size: 0.75rem;
      color: var(--muted);
      word-break: break-all;
    }
    #dash-user {
      display: block;
      max-width: 100%;
      font-size: 0.72rem;
      line-height: 1.35;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: center;
    }
    .dash-user-type {
      display: none;
    }
    .nav-side-scroll {
      /* Último tramo hasta Cerrar sesión: lo asigna syncNavSideTailColor() desde --group-color del bloque previo al rail-gap */
      --nav-tail-color: var(--c-pizarra-350);
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      display: flex;
      flex-direction: column;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }
    .nav-side-scroll::-webkit-scrollbar {
      width: 0;
      height: 0;
    }
    /* Tenant switcher: etiqueta fuera; recuadro solo en __current */
    .nav-tenant-switcher {
      margin: 0 0 12px;
      padding: 0;
      background: transparent;
      border: none;
      border-radius: 0;
    }
    .nav-tenant-switcher__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin: 0 0 6px;
      min-width: 0;
    }
    .nav-tenant-switcher__label {
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      flex: 1;
      min-width: 0;
    }
    .nav-tenant-switcher__current {
      display: block;
      padding: 10px 10px 12px;
      background: var(--brand-rgba-06);
      border: 1px solid var(--brand-rgba-18);
      border-radius: 10px;
    }
    .nav-tenant-switcher__row,
    .nav-tenant-switcher__title {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    .nav-tenant-switcher__title .nav-tenant-logo-wrap {
      flex-shrink: 0;
    }
    .nav-tenant-switcher__title .nav-tenant-switcher__name {
      flex: 1;
      min-width: 0;
    }
    .nav-tenant-switcher__meta {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
      margin-top: 6px;
    }
    .nav-tenant-switcher__name {
      min-width: 0;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--ok);
      line-height: 1.3;
      word-wrap: break-word;
      overflow-wrap: anywhere;
    }
    .nav-tenant-switcher__meta #dash-user {
      text-align: left;
      font-size: 0.68rem;
      line-height: 1.3;
      color: var(--muted);
      white-space: normal;
      overflow: visible;
      text-overflow: unset;
    }
    .nav-tenant-switcher__btn {
      font-size: 0.65rem;
      line-height: 1.1;
      padding: 2px 8px;
      border-radius: 4px;
      background: var(--brand-rgba-12);
      border: 1px solid var(--brand-rgba-30);
      color: var(--ok);
      cursor: pointer;
      white-space: nowrap;
      transition: background 0.15s;
      flex-shrink: 0;
      box-sizing: border-box;
    }
    .nav-tenant-switcher__btn:hover {
      background: var(--brand-rgba-22);
    }
    .nav-tenant-switcher__dropdown {
      margin-top: 8px;
      max-height: 420px;
      overflow-y: auto;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .nav-tenant-switcher__item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 7px;
      background: transparent;
      border: 1px solid transparent;
      color: var(--text);
      font-size: 0.8rem;
      cursor: pointer;
      text-align: left;
      transition: background 0.12s, border-color 0.12s;
      width: 100%;
    }
    .nav-tenant-switcher__item:hover {
      background: rgba(255,255,255,0.06);
      border-color: var(--border);
    }
    .nav-tenant-switcher__item--active {
      background: var(--brand-rgba-12);
      border-color: var(--brand-rgba-30);
      font-weight: 600;
    }
    .nav-tenant-logo-wrap {
      width: 25px;
      height: 25px;
      flex-shrink: 0;
      border-radius: 10px;
      overflow: hidden;
      background: rgba(255,255,255,0.06);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .nav-tenant-logo-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .nav-tenant-logo-placeholder {
      font-size: 0.7rem;
      color: var(--muted);
    }
    .nav-tenant-switcher__item-logo {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      object-fit: cover;
      flex-shrink: 0;
    }
    .nav-tenant-switcher__item-placeholder {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      background: rgba(255,255,255,0.08);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 1rem;
      color: var(--muted);
    }
    .main-area {
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
      width: auto;
      padding: 24px 28px 40px;
      overflow-y: auto;
      overflow-x: hidden;
      max-width: none;
    }
    /* Paneles con listado: ocupan el alto visible; el scroll va en la lista interna */
    .main-area:has(#panel-inicio.active #inicio-tab-panel-members.inicio-tab-panel--active) {
      display: flex;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      overflow: hidden;
    }
    /* Equipo: fichas altas → scroll del main-area (más fiable que flex anidado en Safari) */
    .main-area:has(#panel-equipo.active),
    .main-area:has(#panel-dev-centralita.active),
    .main-area:has(#panel-dev-facturacion.active),
    .main-area:has(#panel-dev-envios.active),
    .main-area:has(#panel-inventario.active) {
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    #panel-inicio.active:has(#inicio-tab-panel-members.inicio-tab-panel--active) {
      display: flex !important;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      overflow: hidden;
    }
    #panel-equipo.active {
      display: block;
      overflow: visible;
      min-height: 0;
    }
    #panel-inicio.active:has(#inicio-tab-panel-members.inicio-tab-panel--active) > h2 {
      flex-shrink: 0;
    }
    #panel-inicio.active:has(#inicio-tab-panel-members.inicio-tab-panel--active) > .inicio-layout {
      flex: 1 1 0%;
      min-height: 0;
      overflow: hidden;
    }
    #panel-inicio.active:has(#inicio-tab-panel-members.inicio-tab-panel--active) .inicio-side {
      align-self: stretch;
      max-height: none;
      overflow-y: auto;
    }
    #panel-inicio.active:has(#inicio-tab-panel-members.inicio-tab-panel--active) .inicio-main {
      display: flex;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      overflow: hidden;
    }
    #panel-inicio.active #inicio-tab-panel-members.inicio-tab-panel--active {
      display: flex !important;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      overflow: hidden;
    }
    #inicio-members-block:not(.hidden) {
      display: flex;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      margin-bottom: 0 !important;
      overflow: hidden;
    }
    [data-inicio-members-subpanel='usuarios']:not([hidden]),
    [data-inicio-members-subpanel='roles']:not([hidden]) {
      display: flex;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      overflow: hidden;
    }
    #inicio-members-toolbar {
      flex-shrink: 0;
      display: flex;
      justify-content: flex-end;
      margin: 0 0 8px;
    }
    #inicio-members-toolbar .btn {
      width: auto;
      padding: 8px 14px;
      font-size: 0.84rem;
    }
    #inicio-members-list {
      flex: 1 1 0%;
      min-height: 0;
      margin: 8px 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    #inicio-members-list .inicio-members-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 10px 0;
      border-bottom: 1px solid var(--border);
      min-height: 87px;
    }
    #inicio-members-list .inicio-members-row__lead {
      display: flex;
      align-items: center;
      gap: 14px;
      flex: 1;
      min-width: 0;
    }
    #inicio-members-list .inicio-members-row__text {
      flex: 1;
      min-width: 0;
    }
    #inicio-members-list .inicio-members-avatar {
      width: 75px;
      height: 75px;
      border-radius: 50%;
      background: color-mix(in srgb, var(--ok) 35%, var(--card));
      color: var(--nav-active-text);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 1.35rem;
      flex-shrink: 0;
      letter-spacing: 0.02em;
    }
    #inicio-members-list .inicio-members-avatar--photo {
      padding: 0;
      overflow: hidden;
      background: var(--card);
      border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
    }
    #inicio-members-list .inicio-members-avatar--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    html.bardev-panel-theme-light #inicio-members-list .inicio-members-avatar:not(.inicio-members-avatar--photo) {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border: 1px solid rgba(37, 99, 235, 0.22);
    }
    #msg-inicio-members,
    #inicio-role-perms-msg {
      flex-shrink: 0;
    }
    #inicio-role-perms {
      flex: 1 1 0%;
      min-height: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    .inicio-role-perms-layout {
      display: flex;
      gap: 0;
      min-height: 0;
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.12);
    }
    .inicio-role-perms-rolelist {
      flex: 0 0 210px;
      display: flex;
      flex-direction: column;
      gap: 0;
      padding: 8px;
      border-right: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    .inicio-role-perms-rolelist__label {
      margin: 0 0 8px;
      padding: 4px 8px;
      font-size: 0.72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
    }
    .inicio-role-perms-rolelist button {
      display: block;
      width: 100%;
      margin: 0;
      padding: 10px 12px;
      border: 1px solid transparent;
      border-radius: 8px;
      background: transparent;
      color: inherit;
      font-size: 0.82rem;
      font-weight: 600;
      text-align: left;
      cursor: pointer;
      transition: background 0.15s, border-color 0.15s;
    }
    .inicio-role-perms-roleitem {
      margin: 0 0 10px;
    }
    .inicio-role-perms-roleitem:last-child {
      margin-bottom: 0;
    }
    .inicio-role-perms-roleusers {
      list-style: none;
      margin: 6px 0 0;
      padding: 0 4px 0 10px;
      border-left: 2px solid rgba(255, 255, 255, 0.08);
    }
    .inicio-role-perms-roleitem [aria-selected='true'] + .inicio-role-perms-roleusers {
      border-left-color: rgba(46, 204, 113, 0.45);
    }
    .inicio-role-perms-roleusers li {
      margin: 0 0 3px;
      font-size: 0.72rem;
      line-height: 1.35;
      color: var(--muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .inicio-role-perms-roleusers li.inicio-role-perms-roleuser {
      display: flex;
      align-items: center;
      gap: 8px;
      overflow: hidden;
    }
    .inicio-role-perms-roleuser__label {
      flex: 1;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .inicio-role-perms-avatar {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: color-mix(in srgb, var(--ok) 35%, var(--card));
      color: var(--nav-active-text);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 0.62rem;
      flex-shrink: 0;
      letter-spacing: 0.02em;
    }
    .inicio-role-perms-avatar--photo {
      padding: 0;
      overflow: hidden;
      background: var(--card);
      border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
    }
    .inicio-role-perms-avatar--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    html.bardev-panel-theme-light .inicio-role-perms-avatar:not(.inicio-role-perms-avatar--photo) {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border: 1px solid rgba(37, 99, 235, 0.22);
    }
    .inicio-role-perms-roleusers li:last-child {
      margin-bottom: 0;
    }
    .inicio-role-perms-roleusers__empty {
      font-style: italic;
      opacity: 0.75;
    }
    .inicio-role-perms-roleusers__owner {
      font-weight: 600;
    }
    #btn-inicio-role-perms-save {
      width: auto;
      padding: 8px 14px;
      font-size: 0.84rem;
    }
    .inicio-role-perms-rolelist button[aria-selected='true'] {
      background: rgba(46, 204, 113, 0.18);
      border-color: rgba(46, 204, 113, 0.45);
      color: var(--ok);
    }
    .inicio-role-perms-rolelist button.secondary:not([aria-selected='true']) {
      opacity: 0.92;
    }
    .inicio-role-perms-rolelist button:disabled {
      opacity: 0.55;
      cursor: not-allowed;
    }
    .inicio-role-perms-panels {
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
      overflow: auto;
      padding: 10px 12px;
      -webkit-overflow-scrolling: touch;
    }
    .inicio-role-perms-matrix-wrap {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .inicio-role-perms-matrix {
      width: 100%;
      min-width: 520px;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    .inicio-role-perms-matrix thead th {
      position: sticky;
      top: 0;
      z-index: 1;
      padding: 8px 10px;
      font-size: 0.76rem;
      font-weight: 700;
      text-align: center;
      border-bottom: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      white-space: nowrap;
    }
    .inicio-role-perms-matrix thead th.perm-matrix-col-name {
      text-align: left;
      min-width: 180px;
    }
    .inicio-role-perms-matrix tbody tr.zone-row td {
      padding: 10px 10px 4px;
      font-weight: 700;
      font-size: 0.8rem;
      color: var(--ok);
      border-bottom: none;
      background: transparent;
    }
    .inicio-role-perms-matrix tbody tr.sub-row td {
      padding: 6px 10px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      vertical-align: middle;
    }
    .inicio-role-perms-matrix tbody tr.sub-row:last-child td {
      border-bottom: none;
    }
    .inicio-role-perms-matrix tbody tr.sub-row td.perm-matrix-col-name {
      padding-left: 18px;
      font-size: 0.8rem;
    }
    .inicio-role-perms-matrix td.perm-matrix-level {
      text-align: center;
      width: 96px;
    }
    .inicio-role-perms-matrix td.perm-matrix-level label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 28px;
      min-height: 28px;
      margin: 0;
      cursor: pointer;
    }
    .inicio-role-perms-matrix td.perm-matrix-level input[type='radio'] {
      width: 16px;
      height: 16px;
      margin: 0;
      cursor: pointer;
      accent-color: var(--ok);
    }
    .inicio-role-perms-matrix td.perm-matrix-level--blocked {
      opacity: 0.35;
      pointer-events: none;
    }
    .inicio-role-perms-matrix .perm-matrix-level-blocked {
      display: inline-block;
      min-width: 1.1em;
      text-align: center;
      color: var(--muted, #94a3b8);
      font-size: 0.85rem;
    }
    .inicio-role-perms-matrix td.perm-matrix-level label.perm-matrix-level--readonly {
      cursor: default;
      opacity: 0.85;
    }
    .inicio-role-perms-gerente-note {
      margin: 0;
      padding: 16px 14px;
      font-size: 0.84rem;
      line-height: 1.5;
      border: 1px dashed var(--border);
      border-radius: 8px;
      background: rgba(0, 0, 0, 0.1);
    }
    html.bardev-panel-theme-light .inicio-role-perms-layout {
      background: rgba(255, 255, 255, 0.65);
    }
    html.bardev-panel-theme-light .inicio-role-perms-rolelist {
      background: rgba(0, 0, 0, 0.04);
    }
    html.bardev-panel-theme-light .inicio-role-perms-rolelist button[aria-selected='true'] {
      background: rgba(15, 41, 34, 0.1);
      border-color: rgba(15, 41, 34, 0.25);
      color: var(--ok);
    }
    html.bardev-panel-theme-light .inicio-role-perms-matrix thead th {
      background: rgba(255, 255, 255, 0.95);
    }
    html.bardev-panel-theme-light .inicio-role-perms-roleusers {
      border-left-color: rgba(0, 0, 0, 0.1);
    }
    html.bardev-panel-theme-light .inicio-role-perms-roleitem [aria-selected='true'] + .inicio-role-perms-roleusers {
      border-left-color: rgba(15, 41, 34, 0.25);
    }
    #panel-equipo.active #equipo-list-wrap {
      overflow: visible;
      max-height: none;
    }
    /* Títulos de sección del panel (cápsula / pastilla); color según sección del nav (--panel-section-accent) */
    .main-area .content-panel[data-panel-section] {
      --panel-section-accent: var(--ok);
    }
    .main-area .content-panel[data-panel-section="inicio"] { --panel-section-accent: var(--bardev-section-inicio); }
    .main-area .content-panel[data-panel-section="citas"] { --panel-section-accent: var(--bardev-section-citas); }
    .main-area .content-panel[data-panel-section="tienda"] { --panel-section-accent: var(--bardev-section-tienda); }
    .main-area .content-panel[data-panel-section="clientes"] { --panel-section-accent: var(--bardev-section-clientes); }
    .main-area .content-panel[data-panel-section="finanzas"] { --panel-section-accent: var(--bardev-section-finanzas); }
    .main-area .content-panel[data-panel-section="impuestos"] { --panel-section-accent: var(--bardev-section-impuestos); }
    .main-area .content-panel[data-panel-section="estadisticas"] { --panel-section-accent: var(--bardev-section-estadisticas); }
    .main-area .content-panel[data-panel-section="empleados"] { --panel-section-accent: var(--bardev-section-empleados); }
    .main-area .content-panel[data-panel-section="configuracion"] { --panel-section-accent: var(--bardev-section-configuracion); }
    .main-area .content-panel[data-panel-section="developer"] { --panel-section-accent: var(--bardev-section-developer); }
    .main-area .content-panel > h2.panel-title--iconed,
    .main-area .content-panel > .informes-head > h2.panel-title--iconed {
      display: inline-flex;
      align-items: center;
      gap: 0;
      flex-wrap: wrap;
    }
    .main-area .content-panel > h2,
    .main-area .content-panel .informes-head > h2:not(.panel-title--iconed) {
      display: inline-block;
      box-sizing: border-box;
      max-width: 100%;
      margin: 0 0 16px;
      padding: 8px 20px;
      font-size: clamp(0.72rem, 1.4vw, 0.82rem);
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      border-radius: 999px;
      color: var(--text);
      background: color-mix(in srgb, var(--ok) 14%, rgba(255, 255, 255, 0.05));
      border: 1px solid color-mix(in srgb, var(--ok) 38%, var(--border));
      box-shadow: 0 2px 14px rgba(0, 0, 0, 0.2);
    }
    .main-area .content-panel[data-panel-section] > h2,
    .main-area .content-panel[data-panel-section] .informes-head > h2 {
      background: color-mix(in srgb, var(--panel-section-accent) 18%, rgba(255, 255, 255, 0.05));
      border: 1px solid color-mix(in srgb, var(--panel-section-accent) 42%, var(--border));
      box-shadow: 0 2px 14px color-mix(in srgb, var(--panel-section-accent) 28%, rgba(0, 0, 0, 0.2));
    }
    .main-area .content-panel .informes-head > h2 {
      margin-bottom: 0;
    }
    .main-area .panel-placeholder {
      color: var(--muted);
      font-size: 0.9rem;
      line-height: 1.55;
    }
    .content-panel { display: none; }
    .content-panel.active { display: block; }
    #panel-inicio {
      border-radius: 14px;
      padding: 20px 22px 28px;
      margin: 0 0 8px;
      background: linear-gradient(
        165deg,
        var(--tenant-brand-primary) 0%,
        var(--tenant-brand-secondary) 42%,
        var(--bg) 78%
      );
      border: 1px solid var(--border);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    }
    #panel-webapp {
      padding: 0;
      margin: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      border-radius: 0;
    }
    #panel-inicio .inicio-members-block,
    #panel-inicio .menu-comp-list-wrap,
    #panel-webapp .menu-comp-list-wrap {
      background: rgba(5, 10, 8, 0.72);
      backdrop-filter: blur(8px);
    }
    #panel-inicio .menu-comp-list-wrap,
    #panel-webapp .menu-comp-list-wrap {
      border-radius: 10px;
      padding: 8px;
      border: 1px solid var(--border);
    }
    #panel-inicio .panel-inicio-menu-pill,
    #panel-webapp .panel-inicio-menu-pill {
      display: inline-block;
      margin: 20px 0 12px;
      padding: 8px 20px;
      border-radius: 999px;
      font-size: 0.92rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      line-height: 1.3;
      background: var(--side-active);
      color: var(--nav-active-text);
      box-shadow: inset var(--nav-spine-width, 2px) 0 0 var(--nav-active-indicator), inset 0 0 0 1px var(--brand-rgba-22);
    }

    .link-editor-title {
      font-size: 1rem;
      font-weight: 600;
      margin: 0 0 8px;
    }
    #btn-save-links { margin-top: 8px; }

    /* Editor Sobre nosotros */
    .about-toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 18px;
    }
    .about-toolbar .btn {
      width: auto;
      padding: 8px 14px;
      font-size: 0.85rem;
      margin: 0;
    }
    .about-block-card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 14px 16px;
      margin-bottom: 12px;
    }
    .about-block-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
      flex-wrap: wrap;
    }
    .about-block-type {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--nav-active-text);
      font-weight: 600;
    }
    .about-block-actions {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      margin-left: auto;
    }
    .about-block-actions button {
      padding: 6px 10px;
      font-size: 0.75rem;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: color-mix(in srgb, var(--border) 10%, var(--card));
      color: var(--text);
      cursor: pointer;
    }
    .about-block-actions button:hover {
      background: color-mix(in srgb, var(--border) 20%, var(--card));
    }
    .about-block-actions button.danger {
      border-color: var(--bd-danger-bd, #fca5a5);
      background: var(--bd-danger-bg, #fef2f2);
      color: var(--bd-danger-fg, #b91c1c);
    }
    .about-block-actions button.danger:hover {
      background: color-mix(in srgb, var(--bd-danger-fg, #b91c1c) 12%, var(--bd-danger-bg, #fef2f2));
      border-color: var(--bd-danger-fg, #b91c1c);
      color: var(--bd-danger-fg, #991b1b);
    }
    html.bardev-panel-theme-light .about-block-actions button {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #e2e8f0);
      color: var(--bd-ink, #0f172a);
    }
    html.bardev-panel-theme-light .about-block-actions button:hover {
      background: var(--bd-n-50, #f8fafc);
    }
    html.bardev-panel-theme-light .about-block-actions button.danger {
      background: var(--bd-danger-bg, #fef2f2);
      border-color: var(--bd-danger-bd, #fca5a5);
      color: var(--bd-danger-fg, #b91c1c);
      font-weight: 600;
    }
    html.bardev-panel-theme-light .about-block-actions button.danger:hover {
      background: var(--c-rojo-50);
      border-color: var(--c-rojo-500);
      color: var(--c-rojo-650);
    }
    /* ⇤ ⇥ ↑ ↓ — barra vertical junto a la punta (U+21E4 / U+21E5) */
    .about-block-actions button.about-block-action--icon {
      padding: 6px 8px;
      font-size: 1.05rem;
      line-height: 1;
      min-width: 2.35rem;
      font-variant-numeric: tabular-nums;
    }
    textarea.about-textarea {
      width: 100%;
      min-height: 100px;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid rgba(15, 23, 42, 0.18);
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      font-size: 0.95rem;
      line-height: 1.5;
      resize: vertical;
      font-family: inherit;
      margin-bottom: 0;
    }
    input.about-input {
      margin-bottom: 0;
    }
    .about-hint {
      font-size: 0.78rem;
      color: var(--muted);
      margin-top: 8px;
      line-height: 1.4;
    }
    /* Quitar columna (layout): visible aunque haya estilos globales de button */
    button.ce-layout-col-del {
      flex-shrink: 0;
      margin: 0;
      padding: 0 6px;
      min-width: 2rem;
      min-height: 2rem;
      line-height: 1;
      font-size: 1.35rem;
      font-weight: 700;
      color: var(--c-rojo-300) !important;
      background: rgba(248, 113, 113, 0.12) !important;
      border: 1px solid rgba(248, 113, 113, 0.45) !important;
      border-radius: 8px;
      cursor: pointer;
    }
    button.ce-layout-col-del:hover {
      background: rgba(248, 113, 113, 0.22) !important;
      color: var(--c-rojo-100) !important;
    }
    .ce-layout-col-toolbar {
      display: flex !important;
    }
    .ce-layout-col-drag-handle,
    .ce-layout-row-drag-handle {
      cursor: grab;
      user-select: none;
      -webkit-user-select: none;
    }
    .ce-layout-col-drag-handle:active,
    .ce-layout-row-drag-handle:active {
      cursor: grabbing;
    }
    .ce-layout-col-editor.ce-layout-dnd-over,
    .ce-layout-row-editor.ce-layout-dnd-over {
      outline: 2px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.85);
      outline-offset: 2px;
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    /* Secciones WebApp: vista previa primero; edición tras «Editar» + ventana flotante */
    .pwa-webapp-section {
      margin-top: 8px;
    }
    .pwa-webapp-section__bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 14px;
    }
    .pwa-webapp-section__preview-title {
      margin: 0;
      font-size: 1.02rem;
      font-weight: 600;
      color: var(--text);
    }
    .pwa-webapp-preview-slot .about-preview-wrap.pwa-webapp-preview-wrap {
      margin-top: 0;
      padding-top: 0;
      border-top: none;
    }
    .pwa-webapp-preview-slot .about-preview-wrap.pwa-webapp-preview-wrap h3 {
      display: none;
    }
    .pwa-webapp-edit-panel.pwa-webapp--edit-hidden {
      display: none !important;
    }
    .pwa-webapp-shell-details {
      margin-bottom: 16px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--card);
      padding: 0;
    }
    .pwa-webapp-shell-details__summary {
      cursor: pointer;
      font-weight: 600;
      font-size: 0.95rem;
      padding: 12px 14px;
      list-style: none;
      user-select: none;
    }
    .pwa-webapp-shell-details__summary::-webkit-details-marker {
      display: none;
    }
    .pwa-webapp-shell-details__summary::after {
      content: ' ▶';
      font-size: 0.7em;
      opacity: 0.65;
    }
    .pwa-webapp-shell-details[open] .pwa-webapp-shell-details__summary::after {
      content: ' ▼';
    }
    .pwa-webapp-shell-details__body {
      padding: 0 14px 14px;
      border-top: 1px solid var(--border);
    }
    .pwa-webapp-shell-details__body .section-pwa-shell-theme {
      margin-bottom: 0 !important;
    }
    .pwa-webapp-preview-placeholder {
      display: none;
      margin: 0;
      padding: 28px 16px;
      text-align: center;
      font-size: 0.88rem;
      line-height: 1.45;
      color: var(--muted);
      border: 1px dashed color-mix(in srgb, var(--border) 70%, transparent);
      border-radius: 12px;
      background: transparent;
    }
    .pwa-webapp-section--editing .pwa-webapp-preview-placeholder {
      display: block;
    }
    /* Anclado a body (no dentro de #view-dashboard) para moverse por todo el viewport.
       Por defecto: compacto al tamaño del dispositivo, esquina superior derecha. */
    #pwa-preview-float {
      position: fixed;
      z-index: 22050;
      width: max-content;
      max-width: calc(100vw - 16px);
      min-width: 0;
      height: max-content;
      max-height: calc(100vh - 16px);
      min-height: 0;
      right: 12px;
      left: auto;
      top: 12px;
      transform: none !important;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      background: var(--card, #1a1f28);
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
      overflow: hidden;
      box-sizing: border-box;
      margin: 0;
    }
    #pwa-preview-float.hidden {
      display: none !important;
    }
    #pwa-preview-float .pwa-preview-float__header {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 4px;
      padding: 6px 8px;
      background: color-mix(in srgb, var(--border) 14%, var(--card));
      border-bottom: 1px solid var(--border);
      cursor: grab;
      user-select: none;
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
    #pwa-preview-float .pwa-preview-float__header:active {
      cursor: grabbing;
    }
    #pwa-preview-float .pwa-preview-float__title {
      font-size: 0.72rem;
      font-weight: 600;
      color: var(--text);
      margin: 0;
      flex: 1 1 0;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #pwa-preview-float .pwa-preview-float__min-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 26px;
      height: 26px;
      margin-left: auto;
      padding: 0;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: color-mix(in srgb, var(--border) 10%, var(--card));
      color: var(--text);
      cursor: pointer;
      flex-shrink: 0;
    }
    #pwa-preview-float .pwa-preview-float__min-btn:hover {
      background: color-mix(in srgb, var(--border) 20%, var(--card));
    }
    #pwa-preview-float .pwa-preview-float__min-btn svg {
      width: 13px;
      height: 13px;
      display: block;
    }
    #pwa-preview-float .bardev-modal-close {
      margin-left: 0;
      width: 26px;
      height: 26px;
      min-width: 26px;
      min-height: 26px;
      font-size: 1rem;
      line-height: 1;
      border-radius: 6px;
      padding: 0;
    }
    .pwa-preview-float-dock {
      position: fixed;
      z-index: 22060;
      top: 12px;
      right: 12px;
      transform: none !important;
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 999px;
      background: var(--bd-n-0, #fff);
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
      cursor: pointer;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .pwa-preview-float-dock.hidden {
      display: none !important;
    }
    .pwa-preview-float-dock:hover {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: color-mix(in srgb, var(--bd-g-600, var(--bv-g-047857, #047857)) 35%, var(--bd-n-200, #e2e8f0));
    }
    .pwa-preview-float-dock:focus-visible {
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 2px;
    }
    .pwa-preview-float-dock__ico {
      display: block;
      width: 22px;
      height: 22px;
      pointer-events: none;
    }
    html.bardev-panel-theme-light .pwa-preview-float-dock {
      background: var(--bd-n-0);
      border-color: var(--bd-n-200);
      color: var(--bd-g-600);
    }
    html.bardev-panel-theme-light #pwa-preview-float .pwa-preview-float__min-btn {
      background: var(--bd-n-0);
      border-color: var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #pwa-preview-float .pwa-preview-float__min-btn:hover {
      background: var(--bd-n-50);
    }
    #pwa-preview-float .pwa-preview-float__viewports {
      display: flex;
      align-items: center;
      gap: 3px;
      flex-shrink: 0;
    }
    #pwa-preview-float .pwa-preview-float__vp-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 26px;
      height: 26px;
      padding: 0;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: color-mix(in srgb, var(--border) 10%, var(--card));
      color: var(--text);
      cursor: pointer;
      flex-shrink: 0;
    }
    #pwa-preview-float .pwa-preview-float__vp-btn:hover {
      background: color-mix(in srgb, var(--border) 20%, var(--card));
    }
    /* Selección: sólido esmeralda + icono blanco (contraste legible en tema claro). */
    #pwa-preview-float .pwa-preview-float__vp-btn[aria-pressed='true'] {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    #pwa-preview-float .pwa-preview-float__vp-btn[aria-pressed='true']:hover {
      background: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      border-color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      color: var(--bd-on-solid, #fff);
    }
    #pwa-preview-float .pwa-preview-float__vp-btn svg {
      width: 14px;
      height: 14px;
      display: block;
      stroke: currentColor;
    }
    html.bardev-panel-theme-light #pwa-preview-float .pwa-preview-float__vp-btn {
      background: var(--bd-n-0);
      border-color: var(--bd-n-200);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #pwa-preview-float .pwa-preview-float__vp-btn:hover {
      background: var(--bd-n-50);
      border-color: var(--bd-n-300, var(--bd-n-200));
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #pwa-preview-float .pwa-preview-float__vp-btn[aria-pressed='true'] {
      background: var(--bd-g-600);
      border-color: var(--bd-g-600);
      color: var(--bd-on-solid, #fff);
    }
    html.bardev-panel-theme-light #pwa-preview-float .pwa-preview-float__vp-btn[aria-pressed='true']:hover {
      background: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      border-color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      color: var(--bd-on-solid, #fff);
    }
    #pwa-preview-float .pwa-preview-float__viewport {
      flex: 0 0 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      overflow: hidden;
      width: max-content;
      max-width: 100%;
      box-sizing: border-box;
      padding: 0;
      margin: 0 auto;
    }
    /* Datos fijos Dónde estamos / Contacto en la vista previa (solo lectura, como la PWA). */
    .pp-special-donde,
    .pp-special-contacto {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      align-self: stretch;
    }
    .pp-special-donde__map {
      margin-bottom: 12px;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.12);
      aspect-ratio: 16 / 10;
      min-height: 160px;
      background: rgba(0, 0, 0, 0.25);
    }
    .pp-special-donde__map iframe {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
      min-height: 160px;
    }
    /* Cápsulas: misma fórmula que la PWA (--card-bg / --section-shell-border). Dark por defecto. */
    .pp-special-donde__info,
    .pp-special-contacto__capsule {
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid color-mix(in srgb, var(--section-shell-border, var(--card-border, rgba(255, 255, 255, 0.22))) 88%, transparent);
      background: color-mix(in srgb, var(--card-bg, rgba(0, 0, 0, 0.28)) 72%, transparent);
      color: var(--c-gris-50f);
      box-sizing: border-box;
    }
    .pp-special-donde__addr {
      margin: 0;
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--c-gris-50f);
    }
    .pp-special-donde__city {
      margin: 4px 0 0;
      font-size: 0.85rem;
      color: rgba(248, 250, 252, 0.8);
    }
    .pp-special-donde__phone {
      display: inline-block;
      margin-top: 10px;
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--bv-g-6ee7b7, #6ee7b7);
      text-decoration: none;
    }
    .pp-special-contacto__card {
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: 100%;
    }
    .pp-special-contacto__label {
      display: block;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(248, 250, 252, 0.65);
      margin-bottom: 6px;
    }
    .pp-special-contacto__value {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 500;
      color: var(--c-gris-50f);
      word-break: break-word;
    }
    .pp-special-contacto__value--multiline {
      line-height: 1.45;
    }
    .pp-special-contacto__value--email {
      display: block;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      font-size: clamp(9px, 2.85vw, 15px);
      line-height: 1.25;
      letter-spacing: -0.02em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      word-break: normal;
    }
    .pp-special-contacto__link {
      color: var(--bv-g-6ee7b7, #6ee7b7);
      text-decoration: none;
    }
    .pp-special-contacto__assistant-btn {
      appearance: none;
      padding: 0;
      border: 0;
      background: transparent;
      font: inherit;
      text-align: left;
      text-decoration: underline;
      cursor: pointer;
    }
    .pp-fallback--muted {
      opacity: 0.85;
      font-size: 0.8rem;
      margin-top: 4px;
      color: rgba(248, 250, 252, 0.85);
    }
    .about-preview > .pp-special-donde,
    .about-preview > .pp-special-contacto {
      width: 100%;
      max-width: 100%;
    }
    /* Marco con proporción fija: móvil 9:16, tablet vertical 3:4, escritorio 4:3.
       El ancho del flotante sigue al del marco (dispositivo). */
    #pwa-preview-float .pwa-preview-float__frame {
      display: flex;
      flex-direction: column;
      flex-shrink: 0;
      overflow: hidden;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
      box-sizing: border-box;
      transition: width 0.22s ease, height 0.22s ease;
    }
    #pwa-preview-float[data-pwa-app-theme="dark"] .pwa-preview-float__frame {
      background: var(--c-negro);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .pwa-preview-float__frame {
      background: var(--c-blanco);
    }
    /* Tema light de la PWA: fondo blanco y tinta oscura (no mint/blanco sobre gris). */
    html.bardev-panel-theme-light .about-preview-shell[data-pwa-app-theme="light"],
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview-shell,
    .about-preview-shell[data-pwa-app-theme="light"] {
      background: var(--c-blanco) !important;
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-donde__info,
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-contacto__capsule,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-donde__info,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-contacto__capsule {
      background: color-mix(in srgb, var(--card-bg, rgba(15, 23, 42, 0.05)) 72%, var(--c-blanco));
      border: 1px solid color-mix(in srgb, var(--section-shell-border, var(--card-border, rgba(15, 23, 42, 0.14))) 88%, transparent);
      color: rgba(15, 23, 42, 0.92);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-contacto__label,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-contacto__label {
      color: rgba(15, 23, 42, 0.62);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-contacto__value,
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-contacto__link,
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-donde__addr,
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-donde__phone,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-contacto__value,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-contacto__link,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-donde__addr,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-donde__phone {
      color: rgba(15, 23, 42, 0.92);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-donde__city,
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-fallback--muted,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-donde__city,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-fallback--muted {
      color: rgba(15, 23, 42, 0.62);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview p.pp,
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview .pp-rich,
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview .pp-rich-subtitle,
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview .pp-rich-body,
    .about-preview-shell[data-pwa-app-theme="light"] .about-preview p.pp,
    .about-preview-shell[data-pwa-app-theme="light"] .about-preview .pp-rich,
    .about-preview-shell[data-pwa-app-theme="light"] .about-preview .pp-rich-subtitle,
    .about-preview-shell[data-pwa-app-theme="light"] .about-preview .pp-rich-body {
      color: rgba(15, 23, 42, 0.82);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview .pp-rich-title,
    #pwa-preview-float[data-pwa-app-theme="light"] .about-preview h2.pp,
    .about-preview-shell[data-pwa-app-theme="light"] .about-preview .pp-rich-title,
    .about-preview-shell[data-pwa-app-theme="light"] .about-preview h2.pp {
      color: rgba(15, 23, 42, 0.92);
    }
    #pwa-preview-float[data-pwa-app-theme="light"] .pp-special-donde__map,
    .about-preview-shell[data-pwa-app-theme="light"] .pp-special-donde__map {
      border-color: rgba(15, 23, 42, 0.14);
      background: rgba(15, 23, 42, 0.04);
    }
    #pwa-preview-float .pwa-preview-float__viewport--mobile .pwa-preview-float__frame {
      width: min(320px, calc(100vw - 48px));
      aspect-ratio: 9 / 16;
      height: auto;
      max-height: calc(100vh - 120px);
    }
    #pwa-preview-float .pwa-preview-float__viewport--tablet-portrait .pwa-preview-float__frame {
      width: min(380px, calc(100vw - 48px));
      aspect-ratio: 3 / 4;
      height: auto;
      max-height: calc(100vh - 120px);
    }
    #pwa-preview-float .pwa-preview-float__viewport--tablet-landscape .pwa-preview-float__frame {
      width: min(560px, calc(100vw - 48px));
      aspect-ratio: 4 / 3;
      height: auto;
      max-height: min(52vh, 420px);
    }
    #pwa-preview-float .pwa-preview-float__viewport--desktop .pwa-preview-float__frame {
      width: min(640px, calc(100vw - 48px));
      aspect-ratio: 4 / 3;
      height: auto;
      max-height: min(58vh, 520px);
    }
    #pwa-preview-float .pwa-preview-float__frame .about-preview-shell {
      width: 100%;
      flex: 1;
      min-height: 0;
      max-width: none !important;
      overflow: auto;
      transition: none;
    }
    #pwa-preview-float .pwa-preview-float__body {
      flex: 0 0 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 8px;
      overflow: hidden;
      width: max-content;
      max-width: 100%;
      box-sizing: border-box;
    }
    #pwa-preview-float .about-preview-shell {
      flex: 1;
      min-height: 0;
      max-height: none !important;
      display: flex;
      flex-direction: column;
    }
    #pwa-preview-float .about-preview {
      max-height: none !important;
      flex: 1;
      min-height: 0;
    }
    #pwa-preview-float .pwa-preview-float__resize {
      position: absolute;
      right: 4px;
      bottom: 4px;
      width: 18px;
      height: 18px;
      cursor: nwse-resize;
      opacity: 0.5;
      background: linear-gradient(135deg, transparent 50%, rgba(255, 255, 255, 0.35) 50%);
      border-radius: 2px;
    }
    .about-preview-wrap {
      margin-top: 28px;
      padding-top: 22px;
      border-top: 1px solid var(--border);
    }
    .about-preview-wrap h3 {
      font-size: 0.95rem;
      margin: 0 0 12px;
      color: var(--muted);
      font-weight: 600;
    }
    .about-block-gap-setup {
      margin-bottom: 14px;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--card);
    }
    .about-block-gap-setup label.about-block-gap-label {
      display: block;
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 8px;
    }
    .about-block-gap-controls {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }
    .about-block-gap-controls input[type="range"] {
      flex: 1;
      min-width: 140px;
      max-width: 280px;
      accent-color: var(--ok);
    }
    .about-block-gap-val {
      font-size: 0.85rem;
      font-variant-numeric: tabular-nums;
      color: var(--muted);
      min-width: 3.5em;
    }
    .about-block-gap-hint {
      margin: 8px 0 0;
      font-size: 0.75rem;
    }
    /* Misma lógica que el modal iOS: color / degradado / imagen detrás del contenido */
    .about-preview-shell {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      border: 1px solid var(--border);
      border-radius: 12px;
      min-height: 200px;
      max-height: 680px;
      overflow: hidden;
      /* Mismo criterio que el degradado corporativo (secundario → principal), no verde fijo #0d2818 */
      background: linear-gradient(180deg, var(--tenant-brand-secondary) 0%, var(--tenant-brand-primary) 100%);
    }
    /* Panel claro: vista previa de sección menos «verde botella»; mantiene tono de marca y contraste con titulares claros */
    html.bardev-panel-theme-light .about-preview-shell {
      background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--tenant-brand-secondary) 62%, #c5d1cb),
        color-mix(in srgb, var(--tenant-brand-primary) 68%, #b6c7bf)
      ) !important;
    }
    .about-preview {
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      align-items: flex-start;
      gap: 18px;
      background: transparent;
      border: none;
      border-radius: 0;
      padding: 20px;
      max-height: 680px;
      overflow-y: auto;
      box-sizing: border-box;
    }
    .about-preview > .pp-rich,
    .about-preview > .pp-video-wrap,
    .about-preview > video.pp-video-file,
    .about-preview > .pp-fallback {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }
    .about-preview > .pp-figure {
      box-sizing: border-box;
      max-width: 100%;
      /* El ancho en % se calcula respecto al ancho útil de .about-preview (width:100%) */
      flex-shrink: 0;
    }
    /* Imagen con entrada al scroll: el hijo directo pasa a ser .scroll-reveal-img (mismo criterio que texto). */
    .about-preview > .scroll-reveal-img {
      box-sizing: border-box;
      max-width: 100%;
      width: 100%;
      flex-shrink: 0;
    }
    /* Tarjetas de producto y carrito: no reducir altura en el flex (evita recortar total / Vaciar). */
    .about-preview > .pp-product-card,
    .about-preview > .pp-cart-panel {
      flex-shrink: 0;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }
    .about-preview h2.pp {
      font-size: 1.35rem;
      margin: 0 0 12px;
      color: var(--text);
    }
    .about-preview p.pp {
      margin: 0 0 14px;
      line-height: 1.55;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239), 0.88);
      font-size: 0.95rem;
      white-space: pre-wrap;
    }
    .about-preview img.pp {
      max-width: 100%;
      border-radius: 10px;
      margin: 0 0 14px;
      display: block;
    }
    .about-preview .pp-video-wrap {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      margin: 0;
      border-radius: 10px;
      overflow: hidden;
      background: var(--c-negro);
    }
    .about-preview .pp-video-wrap iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }
    .about-preview a.pp-btn {
      display: inline-block;
      padding: 10px 18px;
      border-radius: 10px;
      font-weight: 600;
      text-decoration: none;
      margin: 0;
      text-align: center;
      box-sizing: border-box;
    }
    .about-preview a.pp-btn-auto { width: auto; }
    .about-preview a.pp-btn-half { width: 50%; max-width: 320px; }
    .about-preview a.pp-btn-full { width: 100%; display: block; }
    .about-preview .pp-fallback {
      font-size: 0.85rem;
      color: var(--muted);
      margin-bottom: 12px;
    }
    .about-preview .pp-rich {
      margin: 0;
      line-height: 1.55;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239), 0.92);
      overflow-wrap: normal !important;
      word-wrap: normal !important;
      word-break: normal !important;
      hyphens: none !important;
      -webkit-hyphens: none !important;
    }
    .about-preview .pp-rich * {
      overflow-wrap: normal !important;
      word-wrap: normal !important;
      word-break: normal !important;
      hyphens: none !important;
      -webkit-hyphens: none !important;
    }
    .about-preview .pp-rich p[style*="justify"],
    .about-preview .pp-rich div[style*="justify"] {
      text-justify: inter-word;
    }
    .about-preview .pp-rich a {
      color: var(--ok);
      text-decoration: underline;
    }
    .about-preview .pp-rich-title {
      font-size: 1.65rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      line-height: 1.38;
    }
    .about-preview .pp-rich-subtitle {
      font-size: 1.2rem;
      font-weight: 600;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239), 0.95);
      line-height: 1.42;
    }
    .about-preview .pp-rich-body {
      font-size: 0.98rem;
      line-height: 1.58;
    }
    .about-preview .pp-rich p {
      margin: 0.45em 0;
    }
    .about-preview .pp-rich p + p {
      margin-top: 0.85em;
    }
    .about-preview .pp-rich p:first-child {
      margin-top: 0;
    }
    .about-preview .pp-rich p:last-child {
      margin-bottom: 0;
    }
    /* Layout: filas centradas; sobrante % repartido a izq./der.; leyenda en .pp-layout-row-pct */
    .about-preview .pp-layout-block {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
    }
    .about-preview .pp-layout-row {
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
    .about-preview .pp-layout-row-pct {
      width: 100%;
      box-sizing: border-box;
      text-align: center;
    }
    .about-preview .pp-layout-row-center {
      min-width: 0;
    }
    .about-preview .pp-layout-row-inner {
      min-width: 0;
      grid-template-columns: var(--pp-layout-cols, 1fr);
    }
    @media (max-width: 640px) {
      .about-preview .pp-layout-row-inner--multi {
        grid-template-columns: 1fr !important;
        width: 100% !important;
      }
    }
    /* Histórico: huecos entre columnas (ya no se generan con el nuevo centrado). */
    .about-preview .pp-layout-spacer {
      align-self: stretch;
      min-height: 2.5rem;
      box-sizing: border-box;
      border-radius: 8px;
      border: 1px dashed color-mix(in srgb, var(--ok) 40%, transparent);
      background: repeating-linear-gradient(
        -36deg,
        color-mix(in srgb, var(--ok) 12%, transparent),
        color-mix(in srgb, var(--ok) 12%, transparent) 8px,
        color-mix(in srgb, var(--ok) 28%, transparent) 8px,
        color-mix(in srgb, var(--ok) 28%, transparent) 16px
      );
    }
    .about-preview .pp-layout-col {
      min-width: 0;
      max-width: 100%;
    }
    .about-preview .pp-layout-col .pp-rich {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      overflow-wrap: normal;
      word-break: normal;
      hyphens: none;
      -webkit-hyphens: none;
    }
    .about-preview .pp-layout-col .pp-figure {
      max-width: 100%;
    }
    .about-preview .pp-block-surface-wrap {
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
    .about-preview .pp-layout-col .pp-video-wrap,
    .about-preview .pp-layout-col video.pp-video-file {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }
    .about-preview .pp-figure {
      margin: 0;
    }
    .about-preview .pp-figure.pp-img-left { text-align: left; }
    .about-preview .pp-figure.pp-img-center { text-align: center; margin-left: auto; margin-right: auto; }
    .about-preview .pp-figure.pp-img-right { text-align: right; }
    /* Solo imágenes sueltas en figura; dentro de .pp-img-surface manda content-studio (círculo/máscara). */
    .about-preview .pp-figure > img {
      height: auto;
      border-radius: 10px;
      vertical-align: middle;
    }
    .about-preview .pp-figure .pp-img-surface img {
      border-radius: 0;
      vertical-align: top;
      max-height: none;
    }

    /* Editor enriquecido (content-studio.js) */
    .ce-variant-wrap {
      margin-bottom: 10px;
    }
    .ce-variant-wrap label {
      margin-bottom: 6px;
    }
    .ce-layout-stack-item {
      border-radius: 6px;
      padding: 8px;
      margin-bottom: 6px;
      box-sizing: border-box;
      border: 1px solid var(--border);
      background: color-mix(in srgb, var(--border) 8%, var(--card));
    }
    /* Editor: superficie tipo “papel”; texto siempre oscuro al editar (los colores del toolbar solo se ven en la vista previa PWA) */
    .ce-rich-editor.ce-rich-plain {
      min-height: 120px;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid rgba(15, 23, 42, 0.18);
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      font-size: 15px;
      font-weight: 400;
      font-style: normal;
      letter-spacing: normal;
      text-transform: none;
      line-height: 1.55;
      outline: none;
    }
    .ce-rich-editor.ce-rich-plain,
    .ce-rich-editor.ce-rich-plain * {
      color: var(--c-azul-900b) !important;
      -webkit-text-fill-color: var(--c-azul-900b) !important;
    }
    .ce-rich-editor.ce-rich-plain a {
      color: var(--c-azul-600) !important;
      -webkit-text-fill-color: var(--c-azul-600) !important;
    }
    .ce-rich-editor.ce-rich-plain:focus {
      border-color: color-mix(in srgb, var(--ok) 48%, transparent);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok) 12%, transparent);
    }
    .ce-image-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 8px;
    }
    @media (max-width: 520px) {
      .ce-image-row { grid-template-columns: 1fr; }
    }
    .ce-image-row label {
      font-size: 0.72rem;
    }
    .ce-image-row select {
      width: 100%;
      margin-top: 4px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
    }
    .ce-btn-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 8px;
    }
    @media (max-width: 520px) {
      .ce-btn-row { grid-template-columns: 1fr; }
    }
    .ce-btn-row label { margin-bottom: 4px; }
    .ce-btn-row select,
    .ce-btn-row input[type="color"] {
      width: 100%;
      margin-top: 4px;
      padding: 8px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--card);
    }

    .ce-img-upload-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin-bottom: 10px;
    }
    .ce-img-upload-row .btn { width: auto; margin: 0; }
    .ce-img-status {
      font-size: 0.82rem;
      color: var(--muted);
    }
    .ce-img-thumb {
      max-width: 100%;
      max-height: 160px;
      border-radius: 10px;
      margin: 8px 0 12px;
      border: 1px solid var(--border);
      object-fit: contain;
      background: var(--card);
    }
    video.ce-video-preview {
      display: block;
      max-width: 100%;
      max-height: 220px;
      border-radius: 10px;
      margin: 8px 0 12px;
      border: 1px solid var(--border);
      background: var(--card);
    }
    /* Trazo y máscara van en .ce-img-surface (content-studio); la miniatura no lleva borde propio */
    .ce-img-surface {
      display: block;
      max-width: 100%;
      margin: 8px 0 12px;
    }
    .ce-img-surface .ce-img-thumb {
      margin: 0;
      border: none;
      border-radius: 0;
      vertical-align: top;
      display: block;
      max-height: none;
    }
    .ce-img-surface[data-ce-shape="circle"] .ce-img-thumb {
      height: 100%;
      object-fit: cover;
    }
    /* Vista previa tema de sección (fondo tarjeta PWA): misma idea que bloque + Imagen, sin forzar recortes raros */
    .pwa-shell-theme-img-surface {
      max-height: 200px;
      overflow: hidden;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: var(--card);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .pwa-shell-theme-img-surface .ce-img-thumb {
      max-height: 200px;
      width: auto;
      max-width: 100%;
      object-fit: contain;
    }
    .pwa-shell-fit-preview-wrap {
      margin-bottom: 12px;
    }
    .pwa-shell-fit-preview-row {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: flex-start;
    }
    .pwa-shell-fit-preview-col {
      flex: 1 1 140px;
      min-width: 120px;
      max-width: 100%;
    }
    .pwa-shell-fit-preview-title {
      font-size: 0.72rem;
      font-weight: 600;
      color: var(--muted);
      margin-bottom: 6px;
    }
    .pwa-shell-fit-preview-box {
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: var(--card);
      width: 100%;
    }
    .pwa-shell-fit-preview-box--wide {
      aspect-ratio: 8 / 5;
    }
    .pwa-shell-fit-preview-box--tall {
      aspect-ratio: 3 / 5;
    }
    .pwa-shell-fit-preview__img {
      width: 100%;
      height: 100%;
      display: block;
      object-position: center;
    }
    .ce-img-surface--clickable {
      cursor: pointer;
      border-radius: 12px;
      outline: 1px dashed color-mix(in srgb, var(--ok) 35%, transparent);
      outline-offset: 4px;
    }
    .ce-img-surface--clickable:hover {
      outline-color: color-mix(in srgb, var(--ok) 65%, transparent);
    }
    /* Círculo: el outline es rectangular; usar anillo que sigue el radio (evita “cuadrado” en los bordes). */
    .ce-img-surface--clickable[data-ce-shape="circle"] {
      border-radius: 50%;
      outline: none;
      box-shadow: 0 0 0 1px dashed color-mix(in srgb, var(--ok) 38%, transparent);
    }
    .ce-img-surface--clickable[data-ce-shape="circle"]:hover {
      box-shadow: 0 0 0 1px dashed color-mix(in srgb, var(--ok) 68%, transparent);
    }
    /* Modal editor de imagen (canvas) — content-studio.js */
    .ce-img-editor-modal {
      position: fixed;
      inset: 0;
      z-index: 99990;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      box-sizing: border-box;
    }
    .ce-img-editor-replace-backdrop {
      position: absolute;
      inset: 0;
      z-index: 100001;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      box-sizing: border-box;
    }
    .ce-img-editor-replace-panel {
      width: min(440px, 100%);
      padding: 18px 20px 20px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--card);
      box-shadow: 0 16px 40px color-mix(in srgb, var(--border) 40%, rgba(0, 0, 0, 0.2));
      box-sizing: border-box;
      color: var(--text);
    }
    .ce-img-editor-replace-panel h4 {
      margin: 0 0 10px;
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--text);
    }
    .ce-img-editor-replace-panel p {
      margin: 0 0 16px;
      font-size: 0.88rem;
      color: var(--muted);
      line-height: 1.45;
    }
    .ce-img-editor-replace-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
    }
    .ce-img-editor-replace-actions .btn {
      width: auto !important;
      margin-top: 0 !important;
    }
    /* Inventario: miniatura; pulsar abre editor CAMVAS (content-studio) */
    .inv-img-block {
      margin-bottom: 10px;
    }
    .inv-img-row {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      flex-wrap: wrap;
    }
    .inv-img-surface {
      position: relative;
      width: 120px;
      height: 120px;
      flex-shrink: 0;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
      background: rgba(0, 0, 0, 0.28);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      box-sizing: border-box;
    }
    .inv-img-surface--has-url {
      cursor: pointer;
    }
    .inv-img-surface--empty {
      cursor: pointer;
    }
    .inv-img-surface:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .inv-img-preview {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .inv-img-placeholder {
      font-size: 0.72rem;
      color: var(--muted);
      text-align: center;
      padding: 8px;
      line-height: 1.35;
    }
    .inv-img-actions {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .inv-img-hint {
      font-size: 0.72rem;
      margin: 6px 0 0;
      opacity: 0.55;
      line-height: 1.35;
    }
    .dev-dist-create {
      width: 100%;
      max-width: none;
      box-sizing: border-box;
      margin-top: 8px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px 14px;
      padding: 16px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
    }
    .dev-dist-create label {
      display: flex;
      flex-direction: column;
      gap: 6px;
      font-size: 0.82rem;
      font-weight: 650;
    }
    .dev-dist-create input {
      height: 40px;
      padding: 0 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font: inherit;
    }
    .dev-dist-create__actions {
      grid-column: 1 / -1;
    }
    .dev-dist-create .msg {
      grid-column: 1 / -1;
    }
    @media (max-width: 640px) {
      .dev-dist-create {
        grid-template-columns: 1fr;
      }
    }

    #panel-dev-distribuidores [data-dev-dist-panel="pedidos"] .dev-pc-card__head {
      flex-wrap: wrap;
      align-items: flex-start;
    }
    #panel-dev-distribuidores [data-dev-dist-panel="pedidos"] .gv-head-actions {
      flex-wrap: wrap;
      justify-content: flex-end;
      max-width: 100%;
    }
    .dev-dist-orders-filters {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
    }
    .dev-dist-orders-filters .btn.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    .dev-dist-orders-q {
      height: 40px;
      width: 220px;
      max-width: 100%;
      box-sizing: border-box;
      padding: 0 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font: inherit;
    }
    .dev-dist-orders-origin {
      display: inline-flex;
      align-items: center;
      height: 26px;
      padding: 0 9px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 750;
      letter-spacing: 0.02em;
    }
    .dev-dist-orders-origin.is-barberia {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    .dev-dist-orders-origin.is-particular {
      background: var(--c-azul-50c);
      color: #3730a3;
    }
    .dev-dist-orders-estados {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-arts-list {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-arts:not(.is-open) .pedidos-art--more {
      display: none;
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-arts-toggle {
      display: block;
      margin-top: 4px;
      padding: 0;
      border: 0;
      background: none;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      font: inherit;
      font-size: 0.75rem;
      font-weight: 700;
      text-align: right;
      cursor: pointer;
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill {
      display: inline-flex;
      align-items: center;
      height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      font-size: 0.7rem;
      font-weight: 750;
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink, #0f172a);
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--pendiente,
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--recibido {
      background: var(--c-naranja-50);
      color: var(--c-naranja-650);
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--en_preparacion,
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--preparado,
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--enviado {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--recibido_valoracion,
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--completado {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--cancelado {
      background: var(--c-rojo-50b);
      color: var(--c-rojo-650);
    }

    /* ——— Developer: Catálogo proveedores (dcp) ——— */
    .dcp-layout-wrap {
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-top: 14px;
    }
    .dcp-top-row {
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
      align-items: stretch;
      min-height: clamp(220px, calc(100vh - 380px), 520px);
    }
    .dcp-layout-wrap.dcp--has-supplier .dcp-top-row {
      grid-template-columns: minmax(200px, var(--dcp-suppliers-w, 300px)) 12px minmax(220px, 1fr);
      column-gap: 0;
    }
    .dcp-col-splitter {
      display: none;
      width: 12px;
      margin: 0;
      padding: 0;
      border: none;
      background: transparent;
      cursor: col-resize;
      touch-action: none;
      user-select: none;
      position: relative;
      z-index: 2;
    }
    .dcp-layout-wrap.dcp--has-supplier .dcp-col-splitter:not([hidden]) {
      display: block;
    }
    .dcp-col-splitter::after {
      content: '';
      position: absolute;
      left: 5px;
      top: 18%;
      bottom: 18%;
      width: 2px;
      border-radius: 2px;
      background: var(--border, #d6d3d1);
    }
    .dcp-col-splitter:hover::after,
    .dcp-col-splitter:focus-visible::after,
    .dcp-top-row--resizing .dcp-col-splitter::after {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .dcp-col-splitter:focus-visible {
      outline: none;
    }
    .dcp-top-row--resizing {
      user-select: none;
    }
    html.bardev-panel-theme-light .dcp-col-splitter::after {
      background: var(--bd-n-200, #e7e5e4);
    }
    html.bardev-panel-theme-light .dcp-col-splitter:hover::after,
    html.bardev-panel-theme-light .dcp-col-splitter:focus-visible::after,
    html.bardev-panel-theme-light .dcp-top-row--resizing .dcp-col-splitter::after {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .dcp-products-row[hidden] {
      display: none !important;
    }
    .dcp-col--products-below {
      min-height: 180px;
      max-height: min(48vh, 480px);
    }
    .dcp-col {
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--card);
      min-width: 0;
      min-height: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .dcp-col__head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 12px;
      border-bottom: 1px solid var(--border);
    }
    .dcp-col__head h3 { margin: 0; font-size: 0.88rem; }
    .dcp-btn-round {
      width: 30px; height: 30px;
      border-radius: 50%;
      border: none;
      background: var(--ok, var(--bv-g-10b981, #10b981));
      color: var(--c-blanco);
      font-size: 1rem;
      font-weight: 700;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      flex-shrink: 0;
      transition: opacity .15s, transform .15s;
    }
    .dcp-btn-round:hover { opacity: 0.85; transform: scale(1.08); }
    .dcp-btn-round:disabled { opacity: 0.35; cursor: not-allowed; transform: none; }
    .dcp-list, .dcp-tree {
      overflow-y: auto;
      flex: 1;
      padding: 6px 0;
    }
    .dcp-list-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      cursor: pointer;
      font-size: 0.84rem;
      transition: background .15s;
    }
    .dcp-list-item:hover { background: rgba(255,255,255,0.04); }
    .dcp-list-item--active { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.12); font-weight: 600; }
    .dcp-list-item--dragging { opacity: 0.55; }
    .dcp-list-item--dnd-over {
      box-shadow: inset 0 0 0 1px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.55);
      border-radius: 8px;
    }
    .dcp-list-item__drag {
      flex-shrink: 0;
      width: 22px;
      height: 50px;
      border: none;
      background: transparent;
      color: var(--muted);
      cursor: grab;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 6px;
      margin-right: -2px;
    }
    .dcp-list-item__drag:hover {
      color: var(--text);
      background: rgba(255, 255, 255, 0.06);
    }
    .dcp-list-item__drag:active {
      cursor: grabbing;
    }
    .dcp-list-item__logo-wrap {
      flex-shrink: 0;
      width: 50px;
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .dcp-list-item__logo {
      width: 50px;
      height: 50px;
      object-fit: contain;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
    }
    .dcp-list-item__logo--ph {
      display: block;
      width: 50px;
      height: 50px;
      border-radius: 8px;
      border: 1px dashed var(--border);
      background: rgba(255, 255, 255, 0.05);
      box-sizing: border-box;
    }
    .dcp-list-item__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .dcp-list-item__actions {
      display: flex;
      gap: 4px;
      flex-shrink: 0;
      opacity: 1;
    }
    .dcp-list-item__btn {
      cursor: pointer;
    }
    .dcp-list-item__actions .btn.btn-icon,
    .dcp-prod-row__actions .btn.btn-icon,
    .dcp-tree-item__actions .btn.btn-icon,
    .dcp-list-item__btn.btn-icon,
    .dcp-tree-item__btn.btn-icon {
      width: 32px;
      height: 32px;
      min-width: 32px;
      margin: 0;
      padding: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      box-sizing: border-box;
    }
    .dcp-list-item__actions .btn-icon svg,
    .dcp-prod-row__actions .btn-icon svg,
    .dcp-tree-item__actions .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      overflow: visible;
    }
    .dcp-list-item__actions .btn-icon svg,
    .dcp-list-item__actions .btn-icon svg *,
    .dcp-prod-row__actions .btn-icon svg,
    .dcp-prod-row__actions .btn-icon svg *,
    .dcp-tree-item__actions .btn-icon svg,
    .dcp-tree-item__actions .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    .dcp-list-item__actions .btn-icon:not(.btn-icon--danger) svg,
    .dcp-list-item__actions .btn-icon:not(.btn-icon--danger) svg *,
    .dcp-prod-row__actions .btn-icon:not(.btn-icon--danger) svg,
    .dcp-prod-row__actions .btn-icon:not(.btn-icon--danger) svg *,
    .dcp-tree-item__actions .btn-icon:not(.btn-icon--danger) svg,
    .dcp-tree-item__actions .btn-icon:not(.btn-icon--danger) svg * {
      stroke: var(--bv-g-047857, #047857) !important;
    }
    .dcp-list-item__actions .btn-icon--danger svg,
    .dcp-list-item__actions .btn-icon--danger svg *,
    .dcp-prod-row__actions .btn-icon--danger svg,
    .dcp-prod-row__actions .btn-icon--danger svg *,
    .dcp-tree-item__actions .btn-icon--danger svg,
    .dcp-tree-item__actions .btn-icon--danger svg * {
      stroke: var(--c-rojo-600) !important;
    }
    .dcp-tree-item {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      cursor: pointer;
      font-size: 0.82rem;
      transition: background .15s;
    }
    .dcp-tree-item:hover { background: rgba(255,255,255,0.04); }
    .dcp-tree-item--active { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.12); font-weight: 600; }
    .dcp-tree-item--depth1 { padding-left: 28px; }
    .dcp-tree-item--depth2 { padding-left: 44px; }
    .dcp-tree-item--depth3 { padding-left: 60px; }
    .dcp-tree-item__icon { flex-shrink: 0; font-size: 0.9rem; }
    .dcp-tree-item__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .dcp-tree-item__actions {
      display: flex; gap: 4px; flex-shrink: 0; opacity: 1;
    }
    .dcp-tree-item__btn {
      cursor: pointer;
    }
    .dcp-tree-root { display: flex; flex-direction: column; }
    .dcp-tree-node { display: flex; flex-direction: column; }
    .dcp-tree-children { display: block; }
    .dcp-tree-children.dcp-tree-children--collapsed { display: none !important; }
    .dcp-tree-toggle {
      flex-shrink: 0;
      width: 22px;
      height: 22px;
      padding: 0;
      margin: 0;
      border: none;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
      font-size: 0.72rem;
      line-height: 22px;
      text-align: center;
      border-radius: 4px;
    }
    .dcp-tree-toggle:hover { background: rgba(255, 255, 255, 0.08); color: var(--text); }
    .dcp-tree-toggle:focus-visible { outline: 2px solid var(--ok); outline-offset: 1px; }
    .dcp-tree-toggle-spacer {
      flex-shrink: 0;
      width: 22px;
      height: 22px;
      display: inline-block;
    }
    .dcp-tree-item--depth4 { padding-left: 76px; }
    .dcp-tree-item--depth5 { padding-left: 92px; }
    .dcp-prod-row {
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 12px;
      font-size: 0.82rem;
      border-bottom: 1px solid rgba(255,255,255,0.04);
    }
    .dcp-prod-row:last-child { border-bottom: none; }
    .dcp-prod-row:hover { background: rgba(255,255,255,0.03); }
    .dcp-prod-row__img {
      width: 36px; height: 36px; border-radius: 6px; object-fit: contain; flex-shrink: 0;
      background: rgba(255,255,255,0.06);
    }
    .dcp-prod-row__name { flex: 1; min-width: 0; font-weight: 500; }
    .dcp-prod-row__price { color: var(--muted); font-size: 0.78rem; flex-shrink: 0; }
    /* PVP de la tienda pública (solo artículos de la Tienda Barveo) */
    .dcp-prod-row__pvp { color: var(--bd-g-800); font-size: 0.78rem; font-weight: 700; flex-shrink: 0; }
    .dcp-prod-row__actions { display: flex; gap: 4px; flex-shrink: 0; opacity: 1; }
    .dcp-gallery {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .dcp-gallery-slot {
      position: relative;
      width: 72px; height: 72px;
      border: 2px dashed var(--border);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      overflow: hidden;
      background: rgba(255,255,255,0.03);
      transition: border-color .2s;
    }
    .dcp-gallery-slot:hover { border-color: var(--ok); }
    .dcp-gallery-slot--has-img { border-style: solid; }
    .dcp-gallery-preview {
      width: 100%; height: 100%;
      object-fit: cover;
      border-radius: 6px;
    }
    .dcp-gallery-ph {
      font-size: 1.1rem;
      color: var(--muted);
      font-weight: 600;
      pointer-events: none;
    }
    .dcp-gallery-input {
      position: absolute;
      inset: 0;
      opacity: 0;
      cursor: pointer;
      width: 100%; height: 100%;
    }
    .dcp-gallery-remove {
      position: absolute;
      top: 2px; right: 2px;
      background: rgba(0,0,0,0.7);
      color: var(--c-blanco);
      border: none;
      border-radius: 50%;
      width: 20px; height: 20px;
      font-size: 0.72rem;
      line-height: 1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
    }
    .dcp-gallery-remove:hover { background: var(--c-rojo-400); }
    .dcp-tabs-wrap {
      margin-top: 20px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
      padding: 16px;
    }
    .dcp-tabs-wrap.hidden { display: none; }
    .dcp-tab-fields {
      display: flex;
      flex-direction: column;
      gap: 6px;
      max-width: 480px;
      padding: 12px 0;
    }
    .dcp-tab-fields label { margin-top: 4px; }
    .dcp-tab-fields input,
    .dcp-tab-fields select,
    .dcp-tab-fields textarea {
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.85rem;
    }
    .prov-card-tabs-wrap {
      border-top: 1px solid var(--border);
      margin-top: 10px;
      padding-top: 10px;
    }
    .prov-card-tabs-toggle {
      background: none; border: none; color: var(--muted); cursor: pointer;
      font-size: 0.76rem; padding: 4px 0; text-decoration: underline;
    }
    .prov-card-tabs-toggle:hover { color: var(--text); }
    .prov-card-tabs-body { margin-top: 8px; }
    .prov-card-tabs-body.hidden { display: none; }
    .prov-card-tab-fields {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 8px 0;
      font-size: 0.82rem;
    }
    .prov-card-tab-fields label { font-size: 0.72rem; color: var(--muted); margin-top: 2px; }
    .prov-card-tab-fields input,
    .prov-card-tab-fields select,
    .prov-card-tab-fields textarea {
      padding: 6px 8px;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.8rem;
    }
    #panel-proveedores .prov-card-tabs.bardev-tabs--vivid {
      margin-bottom: 8px;
    }
    #panel-proveedores .prov-card-tabs.bardev-tabs--vivid button[role='tab'] {
      font-size: 0.72rem;
      padding: 5px 10px;
      min-height: 34px;
    }
    html.bardev-panel-theme-light #panel-proveedores .prov-card-tabs-body .prov-card-tabs.bardev-tabs--vivid button[role='tab']:not([aria-selected='true']) {
      color: var(--c-blanco);
      font-weight: 600;
    }
    html.bardev-panel-theme-light #panel-proveedores .prov-card-tabs-body .prov-card-tabs.bardev-tabs--vivid button[role='tab'][aria-selected='true'] {
      --_tab-accent-line: var(--bd-g-700, var(--ds-brand-green, #114830));
      --_tab-bg-active: var(--ds-brand-green, #114830);
      background: var(--_tab-bg-active);
      border: 2px solid var(--_tab-accent-line);
      border-bottom: 3px solid var(--_tab-bg-active);
      color: var(--barveo-on-05, #ffffff);
      font-weight: 700;
    }
    @media (max-width: 900px) {
      .dcp-layout-wrap.dcp--has-supplier .dcp-top-row {
        grid-template-columns: 1fr;
      }
      .dcp-col-splitter,
      .dcp-layout-wrap.dcp--has-supplier .dcp-col-splitter:not([hidden]) {
        display: none;
      }
      .dcp-col { max-height: 320px; min-height: 160px; }
    }

    /* ═══ Proveedores ═══ */
    .prov-add-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 10px;
    }
    .prov-add-bar__select {
      flex: 1 1 180px;
      max-width: 280px;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: inherit;
      font-size: 0.85rem;
    }
    .prov-add-bar__btn {
      flex-shrink: 0;
      width: auto !important;
      font-size: 0.78rem !important;
      padding: 6px 14px !important;
      white-space: nowrap;
    }
    .prov-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 14px;
      margin-top: 14px;
    }
    .prov-card {
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 14px;
      background: var(--card);
      display: flex;
      flex-direction: column;
      gap: 10px;
      transition: border-color .2s;
      cursor: default;
    }
    .prov-card:hover { border-color: var(--ok); }
    .prov-card--custom { border-style: dashed; }
    .prov-card--casa {
      border: 2px solid var(--ok);
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok) 14%, transparent);
    }
    /* El icono de Barveo Store es tinta sobre transparente: va sobre su fondo hueso también con el tema oscuro. */
    .prov-card--casa .prov-card__logo { background: var(--c-hueso, #f4f2ed); }
    .prov-card__casa-sello {
      display: inline-block;
      margin-top: 2px;
      padding: 1px 8px;
      border-radius: 999px;
      font-size: 0.68rem;
      font-weight: 700;
      /* Blanco sobre el color de la marca: --btn-on-accent es casi negro con la marca de la barbería y no se lee sobre el rojo. */
      color: var(--c-blanco, #ffffff);
      background: var(--ok);
    }
    .prov-card__row-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
    }
    .prov-card__corner-btns {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 4px;
      flex-shrink: 0;
      align-items: center;
      margin-top: 0;
    }
    #panel-proveedores .prov-card__corner-btns .btn.secondary.btn-icon {
      margin-top: 0;
      box-shadow: none !important;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(148, 163, 184, 0.4);
    }
    #panel-proveedores .prov-card__corner-btns .btn-icon {
      width: 30px;
      height: 30px;
      min-width: 30px;
      padding: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      box-sizing: border-box;
    }
    #panel-proveedores .prov-card__corner-btns .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      overflow: visible;
    }
    #panel-proveedores .prov-card__corner-btns .btn-icon svg,
    #panel-proveedores .prov-card__corner-btns .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    #panel-proveedores .prov-card__corner-btns .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #panel-proveedores .prov-card__corner-btns .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-cielo-400) !important;
    }
    #panel-proveedores .prov-card__corner-btns .btn-icon--danger svg,
    #panel-proveedores .prov-card__corner-btns .btn-icon--danger svg * {
      stroke: var(--c-rojo-300) !important;
    }
    #panel-proveedores .prov-card__corner-btns .btn-icon:hover:not(:disabled) {
      filter: none;
      opacity: 0.92;
      border-color: rgba(148, 163, 184, 0.65);
    }
    .prov-card__head {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 1;
      min-width: 0;
    }
    .prov-card__logo {
      width: 44px; height: 44px;
      border-radius: 8px;
      object-fit: contain;
      background: rgba(255,255,255,0.06);
      flex-shrink: 0;
    }
    .prov-card__logo--placeholder {
      display: flex; align-items: center; justify-content: center;
      font-size: 1.2rem; font-weight: 700; color: var(--muted);
    }
    .prov-card__info { flex: 1; min-width: 0; }
    .prov-card__name { font-weight: 600; font-size: 0.92rem; }
    .prov-card__cat { font-size: 0.72rem; color: var(--muted); margin-top: 2px; }
    /* Qué ofrece o vende el proveedor: bajo logo, nombre y tipo de tienda, encima de «Pedido mín». */
    .prov-card__desc {
      margin: 0;
      font-size: 0.78rem;
      line-height: 1.45;
      color: var(--text);
      white-space: pre-line;
      overflow-wrap: anywhere;
    }
    .prov-card__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      font-size: 0.82rem;
    }
    .prov-card__toggle {
      display: flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
    }
    .prov-card__toggle input[type="checkbox"] {
      accent-color: var(--ok);
      width: 18px; height: 18px;
    }
    .prov-card__min-order {
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: 0.78rem;
    }
    .prov-card__min-order input {
      width: 72px;
      padding: 4px 6px;
      border-radius: 6px;
      text-align: right;
    }
    .prov-card__badge {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 6px;
      font-size: 0.68rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .prov-card__badge--active { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.15); color: var(--bv-g-34d399, #34d399); }
    .prov-card__badge--inactive { background: rgba(148,163,184,0.12); color: var(--c-pizarra-350); }
    .prov-card__btns {
      display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px;
      align-items: stretch;
    }
    .prov-card__btns .btn { font-size: 0.76rem; padding: 4px 10px; }
    .prov-card__cart-wrap {
      position: relative;
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
    }
    .prov-card__cart-wrap > .btn {
      flex: 1;
      width: 100%;
    }
    .prov-cart-badge {
      position: absolute;
      top: -7px;
      right: -2px;
      min-width: 20px;
      height: 20px;
      padding: 0 5px;
      border-radius: 999px;
      background: var(--c-rojo-400);
      color: var(--c-blanco);
      font-size: 0.68rem;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
      z-index: 2;
      pointer-events: none;
    }
    .prov-cart-badge[hidden] {
      display: none !important;
    }
    .prov-section-label {
      grid-column: 1 / -1;
      font-size: 0.76rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      margin: 12px 0 0;
      padding-top: 8px;
      border-top: 1px solid var(--border);
    }
    .prov-section-block {
      margin-top: 20px;
    }
    .prov-section-block:first-of-type {
      margin-top: 18px;
    }
    .prov-section-header-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .prov-section-title {
      font-size: 0.76rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      margin: 0;
    }
    .prov-section-rule {
      border: none;
      border-top: 1px solid var(--border);
      margin: 10px 0 14px;
    }
    #panel-proveedores {
      position: relative;
      overflow: hidden;
    }
    .app-shell:has(#panel-proveedores.prov-overlay-open) {
      height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      max-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      min-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      overflow: hidden;
      box-sizing: border-box;
    }
    .main-area:has(#panel-proveedores.prov-overlay-open) {
      display: flex;
      flex-direction: column;
      flex: 1 1 0%;
      min-height: 0;
      max-width: none;
      overflow: hidden;
      padding: 10px 20px 12px;
      box-sizing: border-box;
    }
    #panel-proveedores.active.prov-overlay-open {
      display: flex !important;
      flex-direction: column;
      flex: 1 1 0%;
      height: 0;
      min-height: 0;
      overflow: hidden;
    }
    .prov-catalog-overlay {
      position: absolute;
      inset: 0;
      z-index: 10;
      background: var(--bg, #0d0d0d);
      display: flex;
      flex-direction: column;
    }
    .prov-catalog-panel {
      flex: 1;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    /* ——— Ficha de un proveedor: 1 nuevo pedido (catálogo), 2 carrito y 3 estado de sus pedidos, en una sola pantalla ——— */
    .prov-ficha__head { gap: 12px; }
    .prov-ficha__logo:empty, .prov-ficha__logo[hidden] { display: none; }
    .prov-ficha__logo .prov-card__logo { width: 40px; height: 40px; margin: 0; }
    .prov-ficha__titulos { flex: 1; min-width: 0; }
    .prov-ficha__titulos h3 { margin: 0; font-size: 1.08rem; line-height: 1.25; overflow-wrap: anywhere; }
    .prov-ficha__sub { font-size: 0.78rem; color: var(--muted); margin-top: 2px; }
    .prov-ficha__nav {
      display: flex;
      gap: 6px;
      padding: 8px 16px;
      border-bottom: 1px solid var(--border);
      overflow-x: auto;
    }
    .prov-ficha__nav-btn {
      flex: 1 1 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      min-height: 36px;
      padding: 6px 10px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: transparent;
      color: var(--text);
      font: inherit;
      font-size: 0.8rem;
      font-weight: 600;
      white-space: nowrap;
      cursor: pointer;
    }
    .prov-ficha__nav-btn:hover { border-color: var(--accent, var(--ok)); }
    .prov-ficha__nav-num.prov-cart-badge,
    .prov-ficha__nav-num {
      position: static;
      min-width: 20px;
      height: 20px;
      padding: 0 6px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      font-weight: 800;
      line-height: 1;
      box-shadow: none;
    }
    .prov-ficha__nav-num--curso { background: rgba(96,165,250,0.18); color: var(--c-azul-300); }
    .prov-ficha__nav-num[hidden] { display: none !important; }
    .prov-ficha__body {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-content: start;
      gap: 14px;
      padding: 14px 16px 20px;
    }
    .prov-ficha__lado {
      display: flex;
      flex-direction: column;
      gap: 14px;
      min-width: 0;
    }
    .prov-ficha__sec {
      min-width: 0;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
      padding: 12px 14px;
      scroll-margin-top: 8px;
    }
    .prov-ficha__sec-head {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 10px;
    }
    .prov-ficha__sec-head .sub { margin: 0; }
    .prov-ficha__sec-head .btn { margin-left: auto; }
    .prov-ficha__sec-title {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0;
      font-size: 0.98rem;
    }
    .prov-ficha__paso {
      flex: none;
      padding: 3px 10px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--ok);
      color: var(--c-blanco);
      font-size: 0.7rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .prov-ficha__borrador {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 10px;
      padding: 8px 12px;
      border-radius: 8px;
      background: rgba(251,191,36,0.14);
      color: var(--text);
      font-size: 0.82rem;
    }
    .prov-ficha__borrador span { flex: 1; min-width: 180px; }
    .prov-ficha__borrador.hidden { display: none; }
    /* El catálogo conserva su árbol de categorías y su rejilla, cada uno con su propio scroll. */
    .prov-ficha__catalogo {
      display: flex;
      flex-direction: column;
      height: min(70vh, 640px);
      min-height: 320px;
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
    }
    .prov-ficha__catalogo.hidden, .prov-ficha__catalogo-propio.hidden { display: none; }
    .prov-ficha__catalogo .prov-catalog-body { min-height: 0; }
    .prov-ficha--solo-pedidos .prov-ficha__nav,
    .prov-ficha--solo-pedidos .prov-ficha__sec--pedido,
    .prov-ficha--solo-pedidos .prov-ficha__sec--carrito { display: none; }
    /* En la columna de la ficha, los datos fiscales de cada pedido van debajo y no al lado. */
    /* En columna, el bloque del pedido (líneas, totales, forma de pago) ocupa todo el ancho, igual que los datos fiscales. */
    .prov-ficha .prov-order-inner { flex-direction: column; align-items: stretch; }
    .prov-ficha .prov-order-fiscal { width: 100%; box-sizing: border-box; }
    .prov-ficha .prov-order-row { max-width: none; padding: 12px 14px; }
    .prov-ficha .prov-cart-item { flex-wrap: wrap; }
    /* El nombre del proveedor ya está en la cabecera de la ficha (sí se deja cuando salen los pedidos de todos). */
    .prov-ficha:not(.prov-ficha--solo-pedidos) .prov-order-supplier-name { display: none; }
    /* Los seis pasos del seguimiento caben en una fila de la columna; «Repetir pedido» se lee entero. */
    .prov-ficha .prov-order-track { flex-wrap: nowrap; }
    .prov-ficha .prov-order-track li { flex: 1 1 0; min-width: 0; padding: 0 2px; font-size: 0.62rem; overflow-wrap: anywhere; }
    .prov-ficha .prov-order-repeat-btn { width: auto; padding: 5px 10px; font-size: 0.72rem; }
    @media (max-width: 700px) {
      /* Móvil: las categorías arriba, en una franja, y los productos debajo a todo el ancho. */
      .prov-ficha .prov-catalog-body { flex-direction: column; }
      .prov-ficha .prov-catalog-tree { width: auto; max-width: none; min-width: 0; max-height: 132px; border-right: none; border-bottom: 1px solid var(--border); }
      .prov-ficha .prov-catalog-products { min-height: 0; padding: 10px; }
      .prov-ficha .prov-prod-grid { grid-template-columns: minmax(0, 1fr); }
      .prov-ficha__body { padding: 10px 10px 16px; }
      .prov-ficha__sec { padding: 10px; }
    }
    @media (min-width: 1100px) {
      /* Pantalla ancha: el catálogo a la izquierda y, a la derecha y a la vista, el carrito que se va llenando y los pedidos. */
      .prov-ficha__nav { display: none; }
      .prov-ficha__body {
        grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
        overflow: hidden;
        align-content: stretch;
      }
      .prov-ficha__sec--pedido {
        display: flex;
        flex-direction: column;
        min-height: 0;
      }
      .prov-ficha__catalogo { flex: 1; height: auto; min-height: 0; }
      .prov-ficha__catalogo-propio { flex: 1; min-height: 0; overflow-y: auto; }
      .prov-ficha__lado { min-height: 0; overflow-y: auto; padding-right: 2px; }
      .prov-ficha--solo-pedidos .prov-ficha__body { grid-template-columns: minmax(0, 880px); justify-content: center; }
    }
    /* Botón de la tarjeta: entra en la ficha del proveedor. */
    .prov-card__btns--entrar {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
    }
    .prov-card__btns--entrar .prov-card__cart-wrap { width: 100%; }
    .prov-card__btns .btn.prov-card__entrar {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      margin: 0;
      padding: 10px 12px;
      text-align: left;
      white-space: normal;
      line-height: 1.25;
    }
    .prov-card__entrar .bd-icono { flex: none; font-size: 1.4rem; }
    .prov-card__entrar .prov-card__btn-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .prov-card__entrar-t { font-size: 0.86rem; font-weight: 700; }
    .prov-card__entrar-sub { font-size: 0.72rem; font-weight: 500; opacity: 0.85; }
    .prov-card__curso {
      align-self: flex-start;
      padding: 2px 10px;
      border-radius: 999px;
      background: rgba(96,165,250,0.15);
      color: var(--c-azul-300);
      font-size: 0.72rem;
      font-weight: 700;
    }
    .prov-card__curso[hidden] { display: none; }
    /* Cada proveedor en su fila: la tarjeta a la izquierda y la lista de sus pedidos a la derecha, con el mismo alto. */
    .prov-fila {
      display: grid;
      grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
      gap: 14px;
      align-items: stretch;
    }
    .prov-fila__pedidos {
      display: flex;
      flex-direction: column;
      min-width: 0;
      min-height: 220px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
      overflow: hidden;
      /* Sin tamaño propio: el alto lo marca la tarjeta de al lado y la lista se desplaza por dentro. */
      contain: size;
    }
    .prov-fila__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 10px 12px;
      border-bottom: 1px solid var(--border);
    }
    .prov-fila__titulo { font-weight: 700; font-size: 0.86rem; }
    .prov-fila__n {
      display: inline-block;
      min-width: 1.6em;
      padding: 1px 6px;
      margin-left: 4px;
      border-radius: 999px;
      background: var(--bd-n-100, rgba(127,127,127,0.15));
      font-size: 0.72rem;
      text-align: center;
    }
    /* El cuerpo no empuja la fila: ocupa el alto que deja la tarjeta y se desplaza por dentro. */
    .prov-fila__cuerpo {
      position: relative;
      flex: 1 1 0;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: 0 12px;
    }
    .prov-fila__cuerpo > .sub,
    .prov-fila__cuerpo > .msg { margin: 12px 0; }
    .prov-estado__filtros { display: inline-flex; gap: 4px; }
    .prov-estado__filtro {
      padding: 4px 12px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: transparent;
      color: var(--text);
      font: inherit;
      font-size: 0.76rem;
      font-weight: 600;
      cursor: pointer;
    }
    .prov-estado__filtro[aria-pressed="true"] { background: var(--ok); border-color: var(--ok); color: var(--c-blanco); }
    .prov-estado__lista { list-style: none; margin: 0; padding: 0; }
    .prov-estado__lista > li + li { border-top: 1px solid var(--border); }
    /* Cada fila = el botón que abre el detalle + una «i» con el recuento (solo en táctil; en ordenador se ve al pasar el ratón). */
    .prov-estado__item { display: flex; align-items: center; gap: 4px; }
    .prov-estado__item > .prov-estado__fila { flex: 1 1 auto; min-width: 0; width: auto; }
    @media (hover: hover) and (pointer: fine) { .prov-estado__info { display: none; } }
    .prov-estado__fila {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto auto auto auto;
      align-items: center;
      gap: 10px;
      width: 100%;
      padding: 8px 4px;
      border: none;
      border-radius: 6px;
      background: transparent;
      color: var(--text);
      font: inherit;
      font-size: 0.8rem;
      text-align: left;
      cursor: pointer;
    }
    .prov-estado__fila:hover,
    .prov-estado__fila:focus-visible { background: var(--bd-n-50, rgba(127,127,127,0.08)); }
    .prov-estado__num { font-weight: 700; white-space: nowrap; min-width: 6.4em; }
    .prov-estado__resumen { color: var(--muted); font-size: 0.76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
    .prov-estado__fecha { color: var(--muted); font-size: 0.74rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .prov-estado__total { font-weight: 700; text-align: right; white-space: nowrap; }
    /* Pedido con factura del proveedor (emitida o pagada). */
    .prov-estado__factura {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 2px 8px;
      border-radius: 999px;
      background: var(--bd-g-50, rgba(16,185,129,0.12));
      color: var(--ok);
      font-size: 0.7rem;
      font-weight: 700;
      white-space: nowrap;
    }
    .prov-estado__factura--no { padding: 0; background: none; }
    .prov-estado__vacio { margin: 0; }
    .prov-estado__fallo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    @media (max-width: 760px) {
      .prov-fila { grid-template-columns: minmax(0, 1fr); }
      .prov-fila__pedidos { min-height: 0; contain: none; }
      .prov-fila__cuerpo { flex: none; max-height: 320px; }
    }
    @media (max-width: 480px) {
      .prov-estado__fila { grid-template-columns: auto minmax(0, 1fr) auto auto; }
      .prov-estado__fila .prov-estado__resumen { grid-column: 1 / -1; order: 1; }
      .prov-estado__fila .prov-order-status { grid-column: 1 / -1; justify-self: start; order: 2; }
    }
    /* Buscador de pedidos (lista de cada tienda y «Paso 3» de la ficha): número o artículo, y fechas. */
    .prov-busca {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 10px;
    }
    .prov-fila__pedidos > .prov-busca { padding: 8px 12px; border-bottom: 1px solid var(--border); }
    .prov-ficha__sec--pedidos > .prov-busca { margin: 0 0 10px; }
    .prov-busca__q {
      flex: 1 1 180px;
      min-width: 0;
      padding: 6px 10px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
      color: var(--text);
      font: inherit;
      font-size: 0.8rem;
    }
    /* «Desde» y «Hasta» siempre juntas en una sola fila. */
    .prov-busca__fechas {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    /* En el Paso 3 de la ficha (columna estrecha): buscador arriba y las dos fechas en la fila de abajo, a todo lo ancho. */
    .prov-ficha__sec--pedidos .prov-busca__q { flex-basis: 100%; }
    .prov-ficha__sec--pedidos .prov-busca__fechas { flex: 1 1 100%; }
    .prov-ficha__sec--pedidos .prov-busca__fecha { flex: 1 1 0; }
    .prov-ficha__sec--pedidos .prov-busca__fecha input { flex: 1 1 auto; width: 100% !important; }
    .prov-busca__fecha {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      min-width: 0;
      margin: 0;
      color: var(--muted);
      font-size: 0.74rem;
    }
    .prov-busca__fecha input {
      width: auto;
      min-width: 0;
      padding: 4px 6px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
      color: var(--text);
      font: inherit;
      font-size: 0.76rem;
    }
    .prov-busca__nada { margin: 12px 0; }
    [data-prov-busca-item][hidden] { display: none !important; }
    /* «Pedido tramitado»: encima de la fecha en la ficha y junto al estado en el detalle. */
    .prov-order-tramitado {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      margin-top: 4px;
      color: var(--ok);
      font-size: 0.78rem;
      font-weight: 700;
    }
    .prov-order-tramitado::before { content: "✓"; }
    /* Línea de un pedido ya enviado: nombre y «cantidad × precio» a la izquierda, subtotal a la derecha. */
    .prov-pedido-linea {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 6px 0;
      border-bottom: 1px solid var(--border);
      font-size: 0.8rem;
    }
    .prov-pedido-linea__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .prov-pedido-linea__nombre { overflow-wrap: anywhere; }
    .prov-pedido-linea__unit { color: var(--muted); font-size: 0.74rem; }
    .prov-pedido-linea__sub { font-weight: 700; white-space: nowrap; }
    /* Detalle de un pedido */
    #prov-pedido-detalle .prov-detalle { width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); display: flex; flex-direction: column; }
    .prov-detalle__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
    .prov-detalle__head h3 { margin: 0; font-size: 1.05rem; overflow-wrap: anywhere; }
    .prov-detalle__body { overflow-y: auto; min-height: 0; }
    .prov-detalle__estado { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .prov-detalle__estado .prov-order-tramitado { margin-top: 0; }
    .prov-detalle__sec { margin-top: 14px; }
    .prov-detalle__sec h4 {
      margin: 0 0 6px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .prov-detalle__dato {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 4px 0;
      font-size: 0.82rem;
    }
    .prov-detalle__k { color: var(--muted); }
    .prov-detalle__v { text-align: right; overflow-wrap: anywhere; }
    .prov-detalle__dato--total { font-weight: 700; font-size: 0.92rem; }
    .prov-detalle__dato--total .prov-detalle__k { color: var(--text); }
    .prov-detalle__pdf { font-size: 0.72rem; padding: 3px 10px; margin-left: 6px; }
    .prov-detalle__acciones { margin-top: 16px; display: flex; justify-content: flex-end; }
    .prov-catalog-head {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      border-bottom: 1px solid var(--border);
    }
    .prov-catalog-cart-wrap {
      position: relative;
      display: inline-flex;
      align-items: center;
      flex-shrink: 0;
    }
    .prov-catalog-cart-wrap .btn-icon {
      width: 36px;
      height: 36px;
      min-width: 36px;
      padding: 0;
    }
    .prov-catalog-cart-wrap .btn-icon svg {
      width: 18px;
      height: 18px;
    }
    .prov-catalog-cart-wrap .prov-cart-badge {
      top: -6px;
      right: -6px;
    }
    .prov-catalog-head--orders {
      align-items: center;
      flex-wrap: wrap;
    }
    /* Línea de un borrador: nombre y precio por unidad arriba; cantidad, subtotal y quitar debajo */
    .prov-draft-line {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 8px 0;
      border-bottom: 1px solid var(--border);
    }
    .prov-draft-line__info {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
    }
    .prov-draft-line__name {
      font-weight: 600;
      overflow-wrap: anywhere;
    }
    .prov-draft-line__unit {
      color: var(--muted);
      font-size: 0.76rem;
    }
    .prov-draft-line__acts {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .prov-draft-line__acts .prov-draft-qty-wrap {
      flex-shrink: 0;
    }
    .prov-draft-line .prov-draft-line-sub {
      margin-left: auto;
      text-align: right;
      font-weight: 700;
      font-size: 0.85rem;
      white-space: nowrap;
    }
    .prov-draft-line .prov-draft-remove-btn.btn-icon {
      flex-shrink: 0;
      width: 28px;
      height: 28px;
      min-width: 28px;
      padding: 0;
    }
    .prov-draft-line .prov-draft-remove-btn.btn-icon svg {
      width: 14px;
      height: 14px;
    }
    .prov-draft-line .prov-draft-remove-btn.btn-icon--danger svg,
    .prov-draft-line .prov-draft-remove-btn.btn-icon--danger svg * {
      stroke: var(--c-rojo-500);
    }
    .prov-draft-qty-wrap .bd-stepper__btn.btn-icon {
      width: 28px;
      height: 28px;
      min-width: 28px;
      padding: 0;
    }
    /* Los iconos de bardevIconButton no traen trazo propio: sin esto, − y + no se ven */
    .prov-draft-qty-wrap .bd-stepper__btn.btn-icon svg {
      width: 13px;
      height: 13px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.5;
      stroke-linecap: round;
    }
    /* Cantidad en borrador de pedido: mismo .bd-stepper */
    .prov-catalog-back {
      background: none; border: none; color: var(--text);
      font-size: 1.3rem; cursor: pointer; padding: 4px 8px;
    }
    .prov-catalog-body {
      flex: 1;
      display: flex;
      overflow: hidden;
    }
    .prov-catalog-tree {
      width: 220px;
      min-width: 160px;
      max-width: 280px;
      overflow-y: auto;
      border-right: 1px solid var(--border);
      padding: 10px 0;
      font-size: 0.82rem;
    }
    .prov-catalog-tree-row {
      display: flex;
      align-items: center;
      gap: 4px;
      min-height: 30px;
      padding: 2px 8px 2px 4px;
    }
    .prov-catalog-tree__toggle {
      flex-shrink: 0;
      width: 22px;
      height: 28px;
      border: none;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
      padding: 0;
      font-size: 0.68rem;
      line-height: 1;
      border-radius: 4px;
    }
    .prov-catalog-tree__toggle:hover {
      color: var(--text);
      background: rgba(255, 255, 255, 0.06);
    }
    .prov-catalog-tree__toggle-spacer {
      width: 22px;
      flex-shrink: 0;
      height: 1px;
    }
    .prov-catalog-tree__children {
      padding-left: 6px;
    }
    .prov-catalog-products-title {
      margin: 0 0 14px;
      font-size: 0.95rem;
      font-weight: 600;
    }
    .prov-catalog-tree-item {
      padding: 6px 8px;
      cursor: pointer;
      border-radius: 0;
      transition: background .15s;
      font-size: 0.82rem;
      flex: 1;
      min-width: 0;
    }
    .prov-catalog-tree-item:hover { background: rgba(255,255,255,0.04); }
    .prov-catalog-tree-item--active { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.12); font-weight: 600; }
    .prov-tree-group {
      border-left: 3px solid var(--prov-tree-color, var(--border));
      margin-left: 10px;
      padding-left: 0;
    }
    .prov-tree-group--root {
      margin-left: 4px;
      border-left-width: 3px;
    }
    .prov-catalog-products {
      flex: 1;
      overflow-y: auto;
      padding: 12px;
    }
    .prov-prod-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
      gap: 16px;
      margin-bottom: 16px;
    }
    .prov-branch {
      border-left: 3px solid var(--prov-branch-color, var(--border));
      margin-left: 4px;
      padding-left: 12px;
      margin-top: 6px;
      margin-bottom: 6px;
    }
    .prov-branch--root {
      margin-left: 0;
      padding-left: 14px;
      border-left-width: 4px;
      border-radius: 0;
    }
    .prov-cat-heading {
      font-weight: 700;
      font-size: 0.88rem;
      padding: 6px 0 4px;
      cursor: pointer;
      color: var(--text);
      transition: color .15s;
    }
    .prov-cat-heading:hover { color: var(--ok); }
    .prov-cat-heading__icon { font-size: 0.9rem; }
    .prov-cat-heading--depth1 { font-size: 0.84rem; font-weight: 600; }
    .prov-cat-heading--depth2 { font-size: 0.82rem; font-weight: 600; }
    .prov-cat-heading--depth3 { font-size: 0.80rem; font-weight: 500; }
    .prov-prod-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 12px;
      background: var(--card);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .prov-prod-card__media {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .prov-prod-card__hero-wrap {
      position: relative;
      width: 100%;
      min-height: 200px;
      max-height: 280px;
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.04);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .prov-prod-card__hero {
      width: 100%;
      height: 100%;
      min-height: 200px;
      max-height: 280px;
      object-fit: contain;
      display: block;
      cursor: zoom-in;
    }
    /* Ampliar foto: botón redondo siempre visible en la esquina de la foto (no solo al pasar el ratón). */
    .prov-prod-card__zoom {
      position: absolute;
      top: 8px;
      right: 8px;
      width: 38px;
      height: 38px;
      padding: 0;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.94);
      color: var(--bd-ink, #0f1f17);
      box-shadow: 0 1px 3px rgba(15, 31, 23, 0.18);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: zoom-in;
      transition: background 0.15s, transform 0.15s;
    }
    .prov-prod-card__zoom .bd-icono { font-size: 1.2rem; }
    .prov-prod-card__zoom:hover { background: #fff; transform: scale(1.06); }
    .prov-prod-card__zoom:focus-visible {
      outline: 2px solid var(--accent, var(--ok));
      outline-offset: 2px;
    }
    .prov-prod-card__thumbs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .prov-prod-card__thumb {
      width: 52px;
      height: 52px;
      padding: 0;
      border: 2px solid var(--border);
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.06);
      cursor: pointer;
      overflow: hidden;
      flex-shrink: 0;
      transition: border-color 0.15s, box-shadow 0.15s;
    }
    .prov-prod-card__thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .prov-prod-card__thumb:hover,
    .prov-prod-card__thumb:focus-visible {
      border-color: var(--ok);
      outline: none;
    }
    .prov-prod-card__thumb--active {
      border-color: var(--ok);
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
    }
    .prov-prod-card__name { font-weight: 600; font-size: 0.9rem; line-height: 1.25; }
    /* REF y precio por unidad a la derecha, en la misma línea que Unidades y Total (petición de Angel, 26-10). */
    .prov-prod-card__ref {
      text-align: right;
      font-size: 0.76rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      color: var(--muted);
    }
    .prov-prod-card__ref code {
      font-family: ui-monospace, monospace;
      font-size: 0.85em;
      color: var(--text);
      font-weight: 600;
    }
    .prov-prod-card__desc {
      font-size: 0.8rem;
      line-height: 1.4;
      color: var(--muted);
      max-height: 140px;
      overflow-y: auto;
      white-space: pre-wrap;
      word-break: break-word;
    }
    .prov-prod-card__price { font-size: 0.95rem; color: var(--ok); font-weight: 700; text-align: right; }
    /* Con descuento (Tienda Barveo): el precio final más grande y, debajo, el PVP en rojo y lo que se ahorra en verde. */
    .prov-prod-card__price:has(+ .prov-prod-card__pvp) { font-size: 1.2rem; font-weight: 800; color: var(--text); }
    .prov-prod-card__pvp { margin-top: -2px; font-size: 0.8rem; font-weight: 700; color: var(--bd-danger-fg, var(--err)); text-align: right; }
    /* Ahorro (titular, 31-10-2026): verde y bastante más pequeño que los precios. */
    .prov-prod-card__ahorro { font-size: 0.7rem; font-weight: 700; color: var(--ok); text-align: right; }
    .prov-prod-card__ahorro-total { display: block; margin-top: -2px; font-size: 0.7rem; font-weight: 700; color: var(--ok); text-align: right; }
    .prov-cart-item__ahorro { font-size: 0.68rem; font-weight: 700; color: var(--ok); }
    .prov-cart-totals__ahorro { margin-top: 2px; font-size: 0.7rem; font-weight: 700; color: var(--ok); text-align: right; }
    .prov-prod-card__price-ud { font-size: 0.78rem; font-weight: 500; color: var(--muted); }
    /* Unidades y total: dos casillas gemelas (40px de alto, mismo ancho y misma letra) a la derecha. */
    /* Unidades encima del Total, los dos a la derecha con su etiqueta delante; la casilla de unidades, más pequeña
       (Angel, 26-10). Rejilla de dos columnas: etiquetas a un lado y casillas al otro, alineadas. */
    .prov-prod-card__row {
      display: grid; grid-template-columns: auto auto; justify-content: end; align-items: center;
      column-gap: 8px; row-gap: 6px; margin-top: 6px;
    }
    .prov-prod-card__campo { display: contents; }
    .prov-prod-card__campo-lbl {
      text-align: right; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.02em; color: var(--muted);
    }
    .prov-prod-card__campo .prov-qty-wrap { justify-self: end; height: 32px; border-radius: 10px; }
    .prov-prod-card__campo .prov-qty-btn {
      width: 30px !important; min-width: 30px !important; max-width: 30px !important; flex: 0 0 30px !important;
      font-size: 1rem !important;
    }
    .prov-prod-card__campo .prov-prod-card__qty {
      width: 2.6rem !important; min-width: 2.6rem !important; max-width: 2.6rem !important; flex: 0 0 2.6rem;
    }
    /* .prov-qty-wrap / .prov-qty-btn / .prov-prod-card__qty → alias de .bd-stepper */
    .prov-prod-card .prov-qty-btn[aria-disabled='true'] { opacity: 0.4; cursor: default; }
    html.bardev-panel-theme-light #panel-proveedores .prov-prod-card .prov-qty-btn[aria-disabled='true']:hover {
      background: var(--bd-n-0) !important; color: var(--bd-ink) !important;
    }
    .prov-prod-card__btn { font-size: 0.74rem; padding: 4px 10px; }
    .prov-qty-subtotal {
      display: flex; align-items: center; justify-content: flex-end; justify-self: end;
      min-width: 112px; height: 40px; padding: 0 12px; box-sizing: border-box;
      border: 1px solid var(--border, #dce3df); border-radius: 12px; background: rgba(0, 0, 0, 0.18);
      color: var(--text); font-size: 0.95rem; font-weight: 800; white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    html.bardev-panel-theme-light .prov-qty-subtotal {
      background: var(--bd-n-50, #f7f8f7); border-color: var(--bd-n-200); color: var(--bd-ink);
    }
    .prov-breadcrumb {
      display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
      padding: 8px 0 4px; margin-bottom: 4px;
      font-size: 0.78rem; color: var(--muted);
    }
    .prov-breadcrumb span { cursor: pointer; }
    .prov-breadcrumb span:hover { color: var(--ok); text-decoration: underline; }
    .prov-breadcrumb__sep { color: var(--border); cursor: default !important; }
    .prov-breadcrumb__current { color: var(--text); font-weight: 600; cursor: default !important; }
    /* Visor de fotos del catálogo (en <body>, por encima de todo el panel) */
    .prov-foto-visor {
      position: fixed;
      inset: 0;
      z-index: 21050; /* encima del chat de soporte (21000) y debajo de la llamada entrante (21070) */
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      box-sizing: border-box;
    }
    .prov-foto-visor.hidden { display: none !important; }
    .prov-foto-visor__fondo {
      position: absolute;
      inset: 0;
      background: rgba(10, 14, 12, 0.96);
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
      cursor: zoom-out;
    }
    .prov-foto-visor__marco {
      position: relative;
      width: min(1100px, 100%);
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: 12px;
      pointer-events: none;
    }
    .prov-foto-visor__marco button,
    .prov-foto-visor__img,
    .prov-foto-visor__titulo,
    .prov-foto-visor__contador,
    .prov-foto-visor__miniaturas { pointer-events: auto; }
    .prov-foto-visor__cabecera {
      display: flex;
      align-items: center;
      gap: 12px;
      color: #fff;
    }
    .prov-foto-visor__titulo {
      flex: 1;
      min-width: 0;
      margin: 0;
      font-size: 1rem;
      font-weight: 600;
      color: #fff;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .prov-foto-visor__contador {
      font-size: 0.9rem;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.85);
      font-variant-numeric: tabular-nums;
    }
    .prov-foto-visor__escena {
      position: relative;
      flex: 1;
      min-height: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .prov-foto-visor__img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
    }
    .prov-foto-visor__flecha {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      padding: 0;
      border: 1px solid #e7eaf0;
      border-radius: 999px;
      background: #fff;
      color: #0f1f17;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .prov-foto-visor__flecha .bd-icono { font-size: 1.5rem; }
    .prov-foto-visor__flecha:hover { background: #f8fafc; }
    .prov-foto-visor__flecha--ant { left: 0; }
    .prov-foto-visor__flecha--sig { right: 0; }
    .prov-foto-visor__miniaturas {
      display: flex;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .prov-foto-visor__mini {
      width: 64px;
      height: 64px;
      padding: 0;
      border: 2px solid rgba(255, 255, 255, 0.35);
      border-radius: 8px;
      background: #fff;
      overflow: hidden;
      cursor: pointer;
      opacity: 0.75;
    }
    .prov-foto-visor__mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .prov-foto-visor__mini:hover { opacity: 1; }
    .prov-foto-visor__mini--activa { border-color: #fff; opacity: 1; }
    .prov-foto-visor button:focus-visible {
      outline: 3px solid #fff;
      outline-offset: 2px;
    }
    .prov-foto-visor--una .prov-foto-visor__flecha,
    .prov-foto-visor--una .prov-foto-visor__miniaturas { display: none; }
    @media (max-width: 640px) {
      .prov-foto-visor { padding: 10px; }
      .prov-foto-visor__flecha { width: 40px; height: 40px; }
      .prov-foto-visor__mini { width: 48px; height: 48px; }
    }
    .prov-catalog-total {
      display: flex; justify-content: space-between; align-items: center;
      padding: 12px 16px; border-top: 2px solid var(--ok);
      font-size: 0.88rem; font-weight: 700;
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.06);
    }
    .prov-catalog-total__items { color: var(--muted); font-weight: 500; font-size: 0.82rem; }
    .prov-catalog-total__price { color: var(--ok); font-size: 1rem; }
    .prov-cart-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 0;
      border-bottom: 1px solid var(--border);
      font-size: 0.84rem;
    }
    .prov-cart-item__thumb {
      width: 50px; height: 50px; border-radius: 6px; object-fit: cover; flex-shrink: 0;
    }
    .prov-cart-item__thumb--ph {
      display: flex; align-items: center; justify-content: center;
      background: rgba(255,255,255,0.06); color: var(--muted); font-weight: 700; font-size: 1.1rem;
    }
    /* Línea recién añadida desde la tienda o «Repetir último pedido»: parpadea los 5 s que la deja puesta
       panel-core.js `provResaltarLineasCarrito` (titular, 2-11-2026: «el item añadido debe parpadear durante 5 s»). */
    .prov-cart-item--resaltada {
      border-radius: 8px;
      background: rgba(16, 185, 129, 0.14);
      box-shadow: inset 4px 0 0 var(--ok, #10b981);
      animation: prov-cart-parpadeo 0.8s ease-in-out infinite;
    }
    @keyframes prov-cart-parpadeo {
      0%, 100% { background: rgba(16, 185, 129, 0.14); box-shadow: inset 4px 0 0 var(--ok, #10b981); }
      50% { background: rgba(16, 185, 129, 0.5); box-shadow: inset 4px 0 0 var(--ok, #10b981), 0 0 0 2px var(--ok, #10b981); }
    }
    @media (prefers-reduced-motion: reduce) {
      .prov-cart-item--resaltada { animation: none; }
    }
    /* ——— Catálogo personalizado ——— */
    .prov-custom-prod-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 12px;
    }
    .prov-custom-prod-card {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: rgba(255,255,255,0.02);
    }
    .prov-custom-prod-card__img {
      width: 100%;
      aspect-ratio: 1 / 1;
      border-radius: 10px;
      background: rgba(255,255,255,0.06) center / cover no-repeat;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--muted);
      font-size: 1.6rem;
      font-weight: 700;
      overflow: hidden;
    }
    .prov-custom-prod-card__img img { width: 100%; height: 100%; object-fit: cover; }
    .prov-custom-prod-card__name { font-weight: 600; font-size: 0.9rem; }
    .prov-custom-prod-card__desc {
      font-size: 0.74rem;
      color: var(--muted);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .prov-custom-prod-card__price {
      font-weight: 700;
      font-size: 0.92rem;
    }
    .prov-custom-prod-card__price small {
      font-weight: 500;
      font-size: 0.68rem;
      color: var(--muted);
    }
    .prov-custom-prod-card__row {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-top: 2px;
    }
    .prov-custom-prod-card__qty {
      width: 54px;
      text-align: center;
      padding: 4px 6px;
      font-size: 0.82rem;
    }
    .prov-custom-prod-card__btns {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      margin-top: auto;
    }
    .prov-custom-prod-card__btns .btn {
      flex: 1;
      padding: 6px 8px;
      font-size: 0.76rem;
      min-width: 0;
    }
    .prov-custom-prod-img-preview {
      width: 90px;
      height: 90px;
      border-radius: 10px;
      border: 1px dashed var(--border);
      background: rgba(255,255,255,0.04) center / cover no-repeat;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      overflow: hidden;
    }
    .prov-custom-prod-img-placeholder {
      font-size: 0.68rem;
      color: var(--muted);
      text-align: center;
      padding: 4px;
    }
    .prov-cart-item__info { flex: 1; min-width: 0; }
    .prov-cart-item__name { font-weight: 600; }
    .prov-cart-item__desc {
      font-size: 0.74rem; color: var(--muted);
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .prov-cart-item__unit {
      font-size: 0.72rem;
      color: var(--muted);
      margin-top: 2px;
    }
    .prov-cart-item__unit strong { color: var(--text); font-weight: 600; }
    .prov-cart-item__qty {
      width: 88px;
      min-width: 88px;
      box-sizing: border-box;
      padding: 6px 8px;
      text-align: center;
    }
    .prov-cart-item__price { min-width: 60px; text-align: right; }
    .prov-cart-item .prov-cart-item__remove.btn-icon {
      width: 28px;
      height: 28px;
      min-width: 28px;
      padding: 0;
      flex-shrink: 0;
    }
    .prov-cart-item .prov-cart-item__remove.btn-icon svg {
      width: 14px;
      height: 14px;
    }
    .prov-cart-item .prov-cart-item__remove.btn-icon--danger svg,
    .prov-cart-item .prov-cart-item__remove.btn-icon--danger svg * {
      stroke: var(--c-rojo-500);
    }
    .prov-cart-totals {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 10px 0 4px;
      border-top: 1px solid var(--border);
      margin-top: 4px;
    }
    .prov-cart-totals__row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.85rem;
      color: var(--muted);
    }
    .prov-cart-totals__row--total {
      padding-top: 8px;
      margin-top: 4px;
      border-top: 1px solid var(--border);
      font-weight: 700;
      font-size: 1rem;
      color: var(--text);
    }
    /* Compatibilidad con cualquier estilo heredado del antiguo .prov-cart-total */
    .prov-cart-total {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 0;
      font-weight: 600;
      font-size: 0.92rem;
    }
    .prov-threshold-bar {
      height: 6px;
      border-radius: 3px;
      background: rgba(255,255,255,0.08);
      margin: 8px 0;
      overflow: hidden;
    }
    .prov-threshold-bar__fill {
      height: 100%;
      border-radius: 3px;
      background: var(--ok);
      transition: width .3s;
    }
    .prov-order-row {
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 14px 18px;
      margin-bottom: 16px;
      background: var(--card);
      max-width: 880px;
    }
    .prov-order-inner {
      display: flex;
      gap: 16px;
      align-items: flex-start;
    }
    .prov-order-left { flex: 1; min-width: 0; }
    .prov-order-fiscal {
      width: 240px;
      flex-shrink: 0;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 12px;
      font-size: 0.72rem;
      line-height: 1.5;
      color: var(--muted);
      background: rgba(0,0,0,0.12);
    }
    .prov-order-fiscal strong { color: var(--text); font-size: 0.76rem; display: block; margin-bottom: 4px; }
    @media (max-width: 700px) {
      .prov-order-inner { flex-direction: column; align-items: stretch; }
      .prov-order-fiscal { width: 100%; box-sizing: border-box; }
    }
    .prov-order-row__head {
      margin-bottom: 6px;
    }
    .prov-order-row__head-line1 {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }
    .prov-order-row__title-group {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .prov-order-num {
      font-weight: 800;
      font-size: 1rem;
      color: var(--ok);
    }
    .prov-order-supplier-name {
      font-size: 0.88rem;
    }
    .prov-order-repeat-wrap {
      display: flex;
      justify-content: flex-end;
      width: 100%;
      margin-top: 6px;
    }
    .prov-order-repeat-btn {
      width: 10%;
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
      padding: 5px 4px;
      font-size: 0.65rem;
      line-height: 1.15;
      font-weight: 600;
      border-radius: 6px;
      border: 1px solid rgba(59, 130, 246, 0.45);
      background: rgba(59, 130, 246, 0.18);
      color: var(--c-azul-200);
      cursor: pointer;
      text-align: center;
      white-space: normal;
      word-break: break-word;
    }
    .prov-order-repeat-btn:hover {
      background: rgba(59, 130, 246, 0.3);
      border-color: rgba(96, 165, 250, 0.65);
      color: var(--c-azul-150);
    }
    html.bardev-panel-theme-light .prov-order-repeat-btn {
      border-color: rgba(37, 99, 235, 0.4);
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light .prov-order-repeat-btn:hover {
      background: rgba(37, 99, 235, 0.2);
      border-color: rgba(37, 99, 235, 0.55);
      color: var(--c-azul-500);
    }
    .prov-draft-add-wrap {
      display: flex;
      justify-content: flex-end;
      width: 100%;
      margin-top: 8px;
      margin-bottom: 2px;
    }
    .prov-draft-add-btn {
      width: auto;
      min-width: 168px;
      max-width: 100%;
      box-sizing: border-box;
      padding: 8px 12px;
      font-size: 0.72rem;
      line-height: 1.25;
      font-weight: 600;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.06);
      color: var(--text);
      cursor: pointer;
      text-align: center;
      white-space: normal;
      word-break: break-word;
    }
    .prov-draft-add-btn:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: color-mix(in srgb, var(--ok) 45%, var(--border));
      color: var(--ok);
    }
    html.bardev-panel-theme-light .prov-draft-add-btn {
      background: rgba(15, 23, 42, 0.04);
      border-color: rgba(15, 23, 42, 0.14);
      color: var(--text);
    }
    html.bardev-panel-theme-light .prov-draft-add-btn:hover {
      background: rgba(37, 99, 235, 0.08);
      border-color: rgba(37, 99, 235, 0.35);
      color: var(--c-azul-450);
    }
    .prov-draft-actions-row {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      margin-top: 12px;
      width: 100%;
    }
    .prov-draft-actions-row .prov-draft-btn-pay,
    .prov-draft-actions-row .prov-draft-btn-cancel {
      width: 50%;
      max-width: 100%;
      box-sizing: border-box;
      text-align: center;
    }
    .prov-draft-actions-row .prov-draft-btn-cancel {
      min-height: 34px;
      padding: 6px 12px;
      font-size: 0.78rem;
      line-height: 1.25;
    }
    .prov-draft-actions-row .prov-draft-btn-pay {
      min-height: 68px;
      padding: 12px 14px;
      font-size: 0.82rem;
      line-height: 1.3;
    }
    /* Borrador: pagar / cancelar bajo «Datos fiscales» (columna derecha) */
    .prov-draft-actions-row--fiscal {
      align-items: stretch;
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid var(--border);
    }
    .prov-draft-actions-row--fiscal .prov-draft-btn-pay,
    .prov-draft-actions-row--fiscal .prov-draft-btn-cancel {
      width: 100%;
      max-width: 100%;
    }
    .prov-draft-actions-row--fiscal .prov-draft-btn-pay {
      min-height: 52px;
      padding: 10px 12px;
      font-size: 0.8rem;
    }
    .prov-draft-paymethod-wrap {
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
    }
    html.bardev-panel-theme-light .prov-draft-paymethod-wrap {
      border-top-color: rgba(15, 23, 42, 0.08);
    }
    .prov-draft-paymethod-label {
      display: block;
      font-size: 0.72rem;
      color: var(--muted);
      margin-bottom: 6px;
    }
    .prov-draft-paymethod-select {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      padding: 8px 10px;
      font-size: 0.8rem;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.25);
      color: var(--text);
    }
    html.bardev-panel-theme-light .prov-draft-paymethod-select {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
    }
    .prov-order-paymethod-readonly {
      display: flex;
      flex-direction: column;
      gap: 2px;
      margin-top: 10px;
      padding-top: 8px;
      border-top: 1px solid var(--border);
      font-size: 0.76rem;
    }
    .prov-order-paymethod-readonly__k {
      color: var(--muted);
      font-size: 0.72rem;
    }
    .prov-order-paymethod-readonly__v {
      color: var(--text);
      font-weight: 600;
    }
    .prov-order-status {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 6px;
      font-size: 0.7rem;
      font-weight: 600;
      text-transform: uppercase;
    }
    .prov-order-status--draft { background: rgba(251,191,36,0.15); color: var(--c-ambar-450b); }
    .prov-order-status--sent { background: rgba(96,165,250,0.15); color: var(--c-azul-300); }
    .prov-order-status--accepted { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.12); color: var(--bv-g-059669, #059669); }
    .prov-order-status--preparing { background: rgba(245,158,11,0.15); color: var(--c-naranja-550); }
    .prov-order-status--shipped { background: rgba(99,102,241,0.15); color: var(--c-azul-350); }
    .prov-order-status--received { background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129),0.15); color: var(--bv-g-34d399, #34d399); }
    .prov-order-status--cancelled { background: rgba(239,68,68,0.12); color: var(--c-rojo-400); }
    html.bardev-panel-theme-light .prov-order-status--draft { background: var(--c-ambar-100b); color: var(--c-naranja-700b); }
    html.bardev-panel-theme-light .prov-order-status--sent { background: var(--c-azul-50); color: var(--c-azul-500); }
    html.bardev-panel-theme-light .prov-order-status--accepted { background: var(--bv-g-d1fae5, #d1fae5); color: var(--bv-g-047857, #047857); }
    html.bardev-panel-theme-light .prov-order-status--preparing { background: var(--c-naranja-100); color: var(--c-naranja-600); }
    html.bardev-panel-theme-light .prov-order-status--shipped { background: var(--c-azul-50b); color: #4338ca; }
    html.bardev-panel-theme-light .prov-order-status--received { background: var(--bv-g-d1fae5, #d1fae5); color: var(--bv-g-047857, #047857); }
    .prov-order-track {
      display: flex;
      flex-wrap: wrap;
      gap: 0;
      list-style: none;
      margin: 10px 0 0;
      padding: 0;
    }
    .prov-order-track li {
      position: relative;
      flex: 1 1 72px;
      min-width: 72px;
      text-align: center;
      font-size: 0.68rem;
      font-weight: 600;
      color: var(--muted);
      padding: 0 4px 0 0;
    }
    .prov-order-track li span {
      display: block;
      padding-top: 10px;
    }
    .prov-order-track li::before {
      content: '';
      display: block;
      width: 10px;
      height: 10px;
      margin: 0 auto;
      border-radius: 50%;
      background: var(--bd-n-200, #e2e8f0);
      border: 2px solid var(--bd-n-200, #e2e8f0);
    }
    .prov-order-track li.is-done::before,
    .prov-order-track li.is-current::before {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .prov-order-track li.is-current { color: var(--bd-g-800, var(--bv-g-065f46, #065f46)); }
    .prov-order-track li.is-done { color: var(--bd-ink, #0f172a); }
    .prov-order-receive-box {
      margin-top: 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border: 1px solid var(--bd-n-200, #e2e8f0);
    }
    .prov-order-receive-box .btn { width: auto; }
    .prov-order-done-note {
      margin: 12px 0 0;
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .dcp-pay-methods {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin: 4px 0 10px;
    }
    .dcp-check {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.84rem;
      color: var(--bd-ink, #0f172a);
    }
    .dcp-check input { width: auto; margin: 0; }
    .dcp-check em {
      font-style: normal;
      font-size: 0.72rem;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    @media (max-width: 600px) {
      .prov-add-bar__select { max-width: 100%; flex-basis: 100%; }
      .prov-grid { grid-template-columns: 1fr; }
      .prov-catalog-tree { width: 140px; min-width: 100px; font-size: 0.76rem; }
      .prov-prod-grid { grid-template-columns: 1fr; }
    }

    /* Inventario modal — Estilo Barveo (cabecera / cuerpo / pie) */
    #inv-modal.bardev-modal-overlay > .inv-modal-panel,
    #inv-modal.bardev-modal-overlay > .bardev-modal-scale-wrap > .inv-modal-panel {
      display: flex;
      flex-direction: column;
      padding: 0 !important;
      overflow: hidden;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box;
    }
    #inv-modal .inv-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex-shrink: 0;
      z-index: 2;
    }
    #inv-modal .inv-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
    }
    #inv-modal .inv-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 16px;
      box-sizing: border-box;
    }
    #inv-modal .inv-modal-foot {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
      background: var(--card, #0d1a14);
      z-index: 2;
    }
    #inv-modal .inv-modal-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    #inv-modal .inv-modal-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0 0 12px;
    }
    #inv-modal .inv-modal-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 2px;
    }
    #inv-modal .inv-modal-hint {
      font-size: 0.72rem;
      margin: 0 0 8px;
      line-height: 1.35;
      opacity: 0.85;
    }
    #inv-modal .inv-modal-hint--warn {
      color: var(--c-rojo-300);
      opacity: 1;
    }
    #inv-modal .inv-modal-opt {
      font-weight: 500;
      letter-spacing: 0.02em;
      text-transform: none;
      opacity: 0.75;
    }
    #inv-modal .inv-modal-checks {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin: 4px 0 0;
    }
    #inv-modal .inv-modal-check {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 0.88rem;
      color: var(--text);
    }
    #inv-modal .inv-modal-check input {
      width: 18px;
      height: 18px;
      accent-color: var(--bd-g-600, var(--ok, var(--bv-g-047857, #047857)));
    }
    #inv-modal .inv-modal-field input,
    #inv-modal .inv-modal-field select,
    #inv-modal .inv-modal-field textarea,
    #inv-modal #inv-f-name,
    #inv-modal #inv-f-supplier,
    #inv-modal #inv-f-barcode,
    #inv-modal #inv-f-desc {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font: inherit;
    }
    #inv-modal .inv-barcode-row {
      display: flex;
      align-items: stretch;
      gap: 8px;
    }
    #inv-modal .inv-barcode-row input {
      flex: 1 1 auto;
      min-width: 0;
    }
    #inv-modal .inv-barcode-row .inv-barcode-scan-btn {
      flex: 0 0 auto;
      width: auto !important;
      min-width: 48px !important;
      max-width: none !important;
      min-height: var(--bd-btn-h, 48px);
      padding: 0 12px !important;
      font-size: 1.1rem;
      line-height: 1;
      margin-top: 0 !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-panel.bd-panel,
    html.bardev-panel-theme-light #inv-modal .inv-modal-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light #inv-modal .bd-label,
    html.bardev-panel-theme-light #inv-modal .inv-desc-block-label {
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #3d5248);
      opacity: 1;
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-hint,
    html.bardev-panel-theme-light #inv-modal .inv-img-hint {
      color: var(--bd-ink-soft, #3d5248);
      opacity: 1;
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-field input,
    html.bardev-panel-theme-light #inv-modal .inv-modal-field select,
    html.bardev-panel-theme-light #inv-modal .inv-modal-field textarea,
    html.bardev-panel-theme-light #inv-modal #inv-f-name,
    html.bardev-panel-theme-light #inv-modal #inv-f-supplier,
    html.bardev-panel-theme-light #inv-modal #inv-f-barcode,
    html.bardev-panel-theme-light #inv-modal #inv-f-desc {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-field input:focus,
    html.bardev-panel-theme-light #inv-modal .inv-modal-field select:focus,
    html.bardev-panel-theme-light #inv-modal .inv-modal-field textarea:focus,
    html.bardev-panel-theme-light #inv-modal #inv-f-name:focus,
    html.bardev-panel-theme-light #inv-modal #inv-f-barcode:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    html.bardev-panel-theme-light #inv-modal .inv-modal-check {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #inv-modal .inv-barcode-scan-btn.bd-btn--ghost {
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    /* Quill toolbar: sage (no azul pastel) solo en modal producto */
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)) !important;
      border-bottom: 1px solid var(--bd-g-300, var(--bv-g-a7d4bc, #a7d4bc)) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-shell {
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
      border-color: var(--bd-n-200, #dce3df);
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options {
      border-color: var(--bd-n-200, #dce3df) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-plain-fallback textarea {
      border-color: var(--bd-n-200, #dce3df);
    }
    @media (max-width: 520px) {
      #inv-modal .inv-modal-split {
        grid-template-columns: 1fr;
      }
    }

    /* Servicio reservable modal — Estilo Barveo (cabecera / cuerpo / pie) */
    #svc-modal.bardev-modal-overlay > .svc-modal-panel,
    #svc-modal.bardev-modal-overlay > .bardev-modal-scale-wrap > .svc-modal-panel {
      display: flex;
      flex-direction: column;
      padding: 0 !important;
      overflow: hidden;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box;
    }
    #svc-modal .svc-modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 0;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex-shrink: 0;
      z-index: 2;
    }
    #svc-modal .svc-modal-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--text, #e2e8f0);
    }
    #svc-modal .svc-modal-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 16px;
      box-sizing: border-box;
    }
    #svc-modal .svc-modal-foot {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
      background: var(--card, #0d1a14);
      z-index: 2;
    }
    #svc-modal .svc-modal-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    #svc-modal .svc-modal-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0 0 12px;
    }
    #svc-modal .svc-modal-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 2px;
    }
    #svc-modal .svc-modal-hint {
      font-size: 0.72rem;
      margin: 0 0 8px;
      line-height: 1.35;
      opacity: 0.85;
    }
    #svc-modal .svc-modal-hint--warn {
      color: var(--c-rojo-300);
      opacity: 1;
    }
    #svc-modal .svc-modal-hint--indent {
      margin: -2px 0 8px 26px;
    }
    #svc-modal .svc-modal-checks {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin: 0 0 12px;
    }
    #svc-modal .svc-modal-check {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 0.88rem;
      color: var(--text);
    }
    #svc-modal .svc-modal-check input {
      width: 18px;
      height: 18px;
      accent-color: var(--bd-g-600, var(--ok, var(--bv-g-047857, #047857)));
    }
    #svc-modal .svc-modal-img-row {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }
    #svc-modal .svc-modal-img-actions {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      min-width: 0;
    }
    #svc-modal .svc-modal-upload-btn {
      position: relative;
      cursor: pointer;
      min-height: var(--bd-btn-h, 48px);
      padding: 0 14px;
    }
    #svc-modal .svc-modal-upload-btn input[type='file'] {
      position: absolute;
      inset: 0;
      opacity: 0;
      cursor: pointer;
      width: 100%;
      height: 100%;
    }
    #svc-modal .svc-modal-field input,
    #svc-modal .svc-modal-field select,
    #svc-modal .svc-modal-field textarea,
    #svc-modal #svc-f-desc {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 12px);
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font: inherit;
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-panel.bd-panel,
    html.bardev-panel-theme-light #svc-modal .svc-modal-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      box-shadow: 0 8px 16px -10px rgba(15, 23, 42, 0.18);
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-head h3 {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-body {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      box-shadow: 0 -8px 16px -10px rgba(15, 23, 42, 0.14);
    }
    html.bardev-panel-theme-light #svc-modal .bd-label,
    html.bardev-panel-theme-light #svc-modal .inv-desc-block-label {
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #3d5248);
      opacity: 1;
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-hint {
      color: var(--bd-ink-soft, #3d5248);
      opacity: 1;
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-field input,
    html.bardev-panel-theme-light #svc-modal .svc-modal-field select,
    html.bardev-panel-theme-light #svc-modal .svc-modal-field textarea,
    html.bardev-panel-theme-light #svc-modal #svc-f-desc {
      border-color: var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-field input:focus,
    html.bardev-panel-theme-light #svc-modal .svc-modal-field select:focus,
    html.bardev-panel-theme-light #svc-modal .svc-modal-field textarea:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-check {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #svc-modal .svc-modal-upload-btn.bd-btn--ghost,
    html.bardev-panel-theme-light #svc-modal #svc-f-image-clear.bd-btn--ghost {
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border-radius: var(--bd-radius-md, 12px);
    }
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)) !important;
      border-bottom: 1px solid var(--bd-g-300, var(--bv-g-a7d4bc, #a7d4bc)) !important;
    }
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-shell {
      background: var(--bd-g-50, var(--bv-g-f3faf6, #f3faf6));
      border-color: var(--bd-n-200, #dce3df);
    }
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options {
      border-color: var(--bd-n-200, #dce3df) !important;
    }
    html.bardev-panel-theme-light #svc-modal .inv-desc-plain-fallback textarea {
      border-color: var(--bd-n-200, #dce3df);
    }
    @media (max-width: 520px) {
      #svc-modal .svc-modal-split {
        grid-template-columns: 1fr;
      }
    }

    /* Inventario: editor de descripción integrado en el modal (Quill snow) */
    .inv-desc-block {
      margin-bottom: 14px;
    }
    .inv-desc-block-label {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      display: block;
      margin-bottom: 4px;
      color: var(--text);
      opacity: 0.92;
    }

    /* Ficha de artículo de la Tienda Barveo: beneficio por unidad con el coste para Barveo (panel-core.js dcpPintarBeneficio) */
    .dcp-beneficio {
      margin: 0 0 10px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
    }
    .dcp-beneficio .dcp-beneficio__vacio {
      margin: 0;
      font-size: 0.8rem;
    }
    .dcp-beneficio__tit {
      margin: 0 0 6px;
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--bd-ink-soft);
    }
    .dcp-beneficio__lista {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .dcp-beneficio__lista li {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 4px 10px;
    }
    .dcp-beneficio__etq {
      flex: 1 1 9rem;
      color: var(--bd-ink);
      font-size: 0.88rem;
    }
    .dcp-beneficio__lista strong {
      color: var(--bd-g-800);
      font-variant-numeric: tabular-nums;
    }
    .dcp-beneficio__lista li.is-perdida strong {
      color: var(--bd-danger-fg);
    }
    .dcp-beneficio__margen {
      color: var(--bd-ink-soft);
      font-size: 0.8rem;
      font-variant-numeric: tabular-nums;
    }
    /* Debajo de cada precio sin IVA de esa ficha, en pequeño: el IVA y el total con IVA (panel-core.js dcpPintarIvas). Sin
       la clase .sub, que en el tema claro fuerza 12 px. */
    .dcp-iva-linea {
      margin: 0 0 4px;
      font-size: var(--ds-font-size-xs, 11px);
      line-height: 1.35;
      color: var(--bd-ink-soft);
      font-variant-numeric: tabular-nums;
    }
    /* Precio de venta por tipo de cuenta: el final arriba y más grande; debajo el PVP en rojo y el ahorro en verde. */
    .dcp-precios { margin-bottom: 10px; }
    .dcp-precio {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      font-variant-numeric: tabular-nums;
      line-height: 1.25;
    }
    .dcp-beneficio__lista .dcp-precio__final {
      font-size: 1.1rem;
      font-weight: 800;
      color: var(--bd-ink, var(--text));
    }
    .dcp-precio__pvp {
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--bd-danger-fg, var(--err));
    }
    .dcp-precio__ahorro {
      font-size: 0.7rem;
      font-weight: 700;
      color: var(--ok);
    }
    .dcp-precio__sin {
      font-size: 0.76rem;
      color: var(--bd-ink-soft);
    }
    .dcp-beneficio__lista small {
      flex-basis: 100%;
      color: var(--bd-ink-soft);
      font-size: 0.76rem;
    }
    .inv-desc-editor-shell {
      border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
      border-radius: 12px;
      background: rgba(0, 0, 0, 0.28);
      overflow: visible;
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    }
    .inv-desc-editor-wrap {
      margin-bottom: 0;
      position: relative;
      z-index: 2;
    }
    #inv-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow {
      font-family: system-ui, -apple-system, sans-serif;
      border: none !important;
      border-bottom: 1px solid color-mix(in srgb, var(--border) 80%, transparent) !important;
      border-radius: 12px 12px 0 0 !important;
      background: rgba(22, 35, 30, 0.98) !important;
      padding: 6px 8px;
      min-height: 42px;
    }
    .inv-desc-editor-wrap .ql-toolbar.ql-snow .ql-formats {
      margin-right: 0.45rem;
    }
    .inv-desc-editor-wrap .ql-container.ql-snow {
      font-size: 0.9rem;
      font-family: inherit;
      border: none !important;
      border-radius: 0 0 12px 12px !important;
      background: rgba(0, 0, 0, 0.22) !important;
      color: var(--text);
      /* quill.snow.css pone height:100% en .ql-container; sin altura en el padre colapsa a 0 y no se ve .ql-editor */
      height: auto !important;
      min-height: 182px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-stroke {
      stroke: var(--text);
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-fill {
      fill: var(--text);
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label {
      color: var(--text);
    }
    /* Quill snow: attr(data-label) puede dejar el ::before vacío/invisible; estas reglas tienen #inv y ganan en especificidad. */
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before {
      color: var(--text);
      opacity: 1;
      font-size: 13px;
      line-height: 22px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-options {
      padding: 4px 5px;
      width: 152px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item {
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 3px;
      width: 18px;
      height: 18px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item:hover {
      border-color: var(--ok);
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-label::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item::before {
      content: 'Sans Serif';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='sans-serif']::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='sans-serif']::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=sans-serif]::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=sans-serif]::before {
      content: 'Sans Serif';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
      content: 'Serif';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
      content: 'Monospace';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
      font-family: Georgia, 'Times New Roman', serif;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
      font-family: Monaco, 'Courier New', monospace;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-label::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item::before {
      content: 'Normal';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
      content: 'Small';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
      content: 'Large';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
      content: 'Huge';
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
      font-size: 10px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
      font-size: 18px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
      font-size: 32px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options {
      background: var(--card, #0d1a14);
      border: 1px solid var(--border);
      border-radius: 8px;
      color: var(--text);
      z-index: 10050;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover {
      color: var(--ok);
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-stroke,
    #inv-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-stroke {
      stroke: var(--ok);
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-fill,
    #inv-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-fill {
      fill: var(--ok);
    }
    .inv-font-size-controls {
      display: inline-flex !important;
      align-items: center;
      gap: 0;
      margin-left: 4px;
      margin-right: 4px;
      vertical-align: middle;
      background: rgba(255,255,255,0.06);
      border: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
      border-radius: 14px;
      padding: 1px 2px;
    }
    .inv-font-size-controls button {
      background: none;
      border: none;
      color: var(--text);
      width: 22px;
      height: 22px;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      line-height: 1;
      border-radius: 50%;
      transition: background 0.15s, color 0.15s;
    }
    .inv-font-size-controls button:hover {
      background: rgba(255,255,255,0.12);
      color: var(--ok);
    }
    .inv-font-size-controls .inv-font-size-label {
      min-width: 22px;
      text-align: center;
      font-size: 11px;
      font-weight: 600;
      color: var(--text);
      font-variant-numeric: tabular-nums;
      user-select: none;
      padding: 0 1px;
    }
    .inv-desc-editor-wrap .ql-editor {
      min-height: 140px;
      max-height: 300px;
      overflow-y: auto;
      line-height: 1.45;
      /* inherit: evita forzar system-ui en todo el bloque; ql-font-tenant-* y el pintado inline definen la fuente */
      font-family: inherit;
      color: var(--text) !important;
      caret-color: var(--text);
      cursor: text;
      -webkit-user-select: text;
      user-select: text;
      position: relative;
      z-index: 1;
    }
    /* Elementos sin color inline explícito heredan --text; los que tienen style="color:…" lo conservan */
    #inv-modal .inv-desc-editor-wrap .ql-editor *:not(.ql-syntax):not(.ql-syntax *):not([style*="color"]) {
      color: inherit;
    }
    #inv-modal .inv-desc-editor-wrap .ql-editor a {
      color: var(--ok) !important;
      text-decoration: underline;
    }
    .inv-desc-plain-fallback {
      margin-top: 8px;
    }
    .inv-desc-plain-fallback textarea {
      width: 100%;
      min-height: 120px;
      padding: 10px;
      border-radius: 10px;
      box-sizing: border-box;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.25);
      color: var(--text);
      font-family: system-ui, -apple-system, sans-serif;
      font-size: 0.9rem;
    }
    .inv-desc-editor-wrap .ql-editor.ql-blank::before {
      color: var(--muted);
      font-style: normal;
      /* Safari/WebKit: el ::before del placeholder puede bloquear clics en el contenteditable */
      pointer-events: none;
    }
    .inv-desc-editor-wrap .ql-font-sans-serif {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    }
    .inv-desc-editor-wrap .ql-font-serif {
      font-family: Georgia, 'Times New Roman', serif;
    }
    .inv-desc-editor-wrap .ql-font-monospace {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    }
    /* Serif/Mono anidadas dentro de tenant: mayor especificidad que .ql-font-tenant-* * (usuario eligió explícitamente).
       No regla anidada para .ql-font-sans-serif: Quill añade a menudo ql-font-sans-serif en spans de tamaño/color
       y eso reemplazaba visualmente la fuente importada por system-ui. */
    #inv-modal .inv-desc-editor-wrap .ql-editor [class*="ql-font-tenant-"] .ql-font-serif,
    #inv-modal .inv-desc-editor-wrap .ql-editor [class*="ql-font-tenant-"] .ql-font-serif * {
      font-family: Georgia, 'Times New Roman', serif !important;
    }
    #inv-modal .inv-desc-editor-wrap .ql-editor [class*="ql-font-tenant-"] .ql-font-monospace,
    #inv-modal .inv-desc-editor-wrap .ql-editor [class*="ql-font-tenant-"] .ql-font-monospace * {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace !important;
    }
    /* Misma apariencia Quill en modales de servicio, combinado y lotes APP */
    #svc-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    #lote-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow {
      font-family: system-ui, -apple-system, sans-serif;
      border: none !important;
      border-bottom: 1px solid color-mix(in srgb, var(--border) 80%, transparent) !important;
      border-radius: 12px 12px 0 0 !important;
      background: rgba(22, 35, 30, 0.98) !important;
      padding: 6px 8px;
      min-height: 42px;
    }
    #svc-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    #lote-modal .inv-desc-editor-wrap .ql-container.ql-snow {
      font-size: 0.9rem;
      font-family: inherit;
      border: none !important;
      border-radius: 0 0 12px 12px !important;
      background: rgba(0, 0, 0, 0.22) !important;
      color: var(--text);
      height: auto !important;
      min-height: 160px;
    }
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-stroke,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-stroke,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-stroke {
      stroke: var(--text);
    }
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-fill,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-fill,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-fill {
      fill: var(--text);
    }
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label {
      color: var(--text);
    }
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before {
      color: var(--text);
      opacity: 1;
      font-size: 13px;
      line-height: 22px;
    }
    /* Quill: paletas y desplegables por encima del área de edición */
    #inv-modal .inv-desc-editor-wrap,
    #svc-modal .inv-desc-editor-wrap,
    #svc-oferta-modal .inv-desc-editor-wrap,
    #lote-modal .inv-desc-editor-wrap {
      overflow: visible;
    }
    #inv-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    #svc-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    #lote-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow {
      position: relative;
      z-index: 4;
      overflow: visible !important;
    }
    #inv-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    #svc-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    #lote-modal .inv-desc-editor-wrap .ql-container.ql-snow {
      position: relative;
      z-index: 1;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker {
      position: relative;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded {
      z-index: 10060;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options {
      background: var(--card, #0d1a14);
      border: 1px solid var(--border);
      border-radius: 8px;
      color: var(--text);
      z-index: 10070 !important;
      position: absolute;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-options,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-options,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-options,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-options,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-options,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-options,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-options,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-options {
      padding: 4px 5px;
      width: 152px;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-item,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-item {
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 3px;
      width: 18px;
      height: 18px;
      float: left;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-label,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-label,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-label,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-label,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-label,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-label {
      position: relative;
      z-index: 2;
    }
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item:hover,
    #inv-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-item:hover,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item:hover,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item:hover,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-color-picker .ql-picker-item:hover,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-background .ql-picker-item:hover {
      border-color: var(--ok);
    }
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover,
    #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover {
      color: var(--ok);
    }
    #svc-modal .inv-desc-editor-wrap .ql-editor a,
    #svc-oferta-modal .inv-desc-editor-wrap .ql-editor a,
    #lote-modal .inv-desc-editor-wrap .ql-editor a {
      color: var(--ok) !important;
      text-decoration: underline;
    }
    /* Servicio / oferta / lote APP: el “cajón gris” del Quill — más compacto y mismo lenguaje visual que los inputs */
    #svc-modal #svc-desc-editor-shell.inv-desc-editor-shell,
    #svc-oferta-modal #svc-oferta-desc-editor-shell.inv-desc-editor-shell,
    #lote-modal #lote-desc-editor-shell.inv-desc-editor-shell {
      background: color-mix(in srgb, var(--card) 93%, var(--border));
      border-color: color-mix(in srgb, var(--border) 90%, transparent);
      box-shadow: none;
    }
    #svc-modal #svc-desc-editor-wrap .ql-toolbar.ql-snow,
    #svc-oferta-modal #svc-oferta-desc-editor-wrap .ql-toolbar.ql-snow,
    #lote-modal #lote-desc-editor-wrap .ql-toolbar.ql-snow {
      background: color-mix(in srgb, var(--card) 72%, #0d1512 28%) !important;
      border-bottom: 1px solid color-mix(in srgb, var(--border) 85%, transparent) !important;
    }
    #svc-modal #svc-desc-editor-wrap .ql-container.ql-snow,
    #svc-oferta-modal #svc-oferta-desc-editor-wrap .ql-container.ql-snow,
    #lote-modal #lote-desc-editor-wrap .ql-container.ql-snow {
      min-height: 100px;
      background: color-mix(in srgb, var(--card) 97%, var(--muted) 3%) !important;
    }
    #svc-modal #svc-desc-editor-wrap .ql-editor,
    #svc-oferta-modal #svc-oferta-desc-editor-wrap .ql-editor,
    #lote-modal #lote-desc-editor-wrap .ql-editor {
      min-height: 80px;
      max-height: min(200px, 32vh);
    }
    .svc-desc-word-meter {
      margin: 6px 0 0;
      font-size: 0.72rem;
    }
    .svc-desc-word-meter.is-over {
      color: var(--danger, #b91c1c);
      font-weight: 700;
    }
    /* Quill en modales — tema claro: pasteles (sin toolbar/área gris oscuro) */
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-shell,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-shell,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-shell,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-shell {
      background: linear-gradient(180deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--c-gris-50f) 100%);
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.28);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow {
      background: var(--c-azul-50) !important;
      border-bottom: 1px solid rgba(37, 99, 235, 0.22) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-container.ql-snow {
      background: var(--c-blanco) !important;
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-stroke,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-stroke,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-stroke,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-stroke {
      stroke: var(--c-pizarra-650) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-fill,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-fill,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-fill,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-fill {
      fill: var(--c-pizarra-650) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before {
      color: var(--c-azul-900b) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options {
      background: var(--c-blanco) !important;
      border: 1px solid rgba(37, 99, 235, 0.28) !important;
      color: var(--c-azul-900b) !important;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
      z-index: 10070 !important;
      position: absolute;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker.ql-expanded {
      z-index: 10060;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item.ql-selected,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-item:hover {
      color: var(--bv-g-047857, #047857) !important;
      background: var(--bv-g-ecfdf5, #ecfdf5) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow button:hover {
      background: rgba(255, 255, 255, 0.65) !important;
      border-radius: 6px;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-stroke,
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-stroke,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-stroke,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-stroke,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-stroke,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-stroke,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-stroke,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-stroke {
      stroke: var(--bv-g-047857, #047857) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-fill,
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-fill,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-fill,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-fill,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-fill,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-fill,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow button:hover .ql-fill,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow button.ql-active .ql-fill {
      fill: var(--bv-g-047857, #047857) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-editor,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-editor,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-editor,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-editor {
      color: var(--c-azul-900b) !important;
      caret-color: var(--c-azul-900b);
      background: var(--c-blanco) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before {
      color: var(--c-pizarra-550) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-editor a,
    html.bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-editor a,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-editor a,
    html.bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-editor a {
      color: var(--bv-g-047857, #047857) !important;
    }
    html.bardev-panel-theme-light #inv-modal .inv-font-size-controls,
    html.bardev-panel-theme-light #svc-modal .inv-font-size-controls,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-font-size-controls,
    html.bardev-panel-theme-light #lote-modal .inv-font-size-controls {
      background: var(--c-amarillo-100);
      border-color: rgba(234, 179, 8, 0.35);
    }
    html.bardev-panel-theme-light #inv-modal .inv-font-size-controls button,
    html.bardev-panel-theme-light #svc-modal .inv-font-size-controls button,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-font-size-controls button,
    html.bardev-panel-theme-light #lote-modal .inv-font-size-controls button {
      color: var(--c-pizarra-750);
    }
    html.bardev-panel-theme-light #inv-modal .inv-font-size-controls button:hover,
    html.bardev-panel-theme-light #svc-modal .inv-font-size-controls button:hover,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-font-size-controls button:hover,
    html.bardev-panel-theme-light #lote-modal .inv-font-size-controls button:hover {
      background: var(--c-ambar-250);
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light #inv-modal .inv-desc-plain-fallback textarea,
    html.bardev-panel-theme-light #svc-modal .inv-desc-plain-fallback textarea,
    html.bardev-panel-theme-light #svc-oferta-modal .inv-desc-plain-fallback textarea,
    html.bardev-panel-theme-light #lote-modal .inv-desc-plain-fallback textarea {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border: 1px solid rgba(37, 99, 235, 0.25);
    }
    /* No usar span[style]{font-family:inherit} aquí: ganaba en especificidad a .ql-font-tenant-* * del CSS dinámico
       y los spans de tamaño/color heredaban system-ui del .ql-editor en lugar de Great Vibes / tenant. */
    /* Galería hasta 6 fotos */
    .inv-gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 4px;
    }
    .inv-gallery-slot {
      display: flex;
      flex-direction: column;
      gap: 4px;
      align-items: stretch;
    }
    .inv-gallery-slot .inv-gallery-surface {
      width: 100%;
      aspect-ratio: 1;
      max-height: 120px;
    }
    .inv-gallery-mini-actions {
      display: flex;
      gap: 4px;
      justify-content: center;
    }
    .inv-gallery-mini-actions .btn {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 4px 8px;
      font-size: 0.75rem;
      margin: 0;
    }
    .inv-gallery-mini-actions .inv-g-lbl {
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      opacity: 0.92;
      white-space: nowrap;
    }
    .inv-gallery-slot.inv-gallery-slot--hidden {
      display: none !important;
    }
    .inv-gallery-surface.inv-img-surface--has-url {
      -webkit-user-select: none;
      user-select: none;
    }
    .inv-gallery-surface.inv-img-surface--has-url[draggable='true'] {
      cursor: grab;
    }
    .inv-gallery-surface.inv-gallery-surface--dragging {
      cursor: grabbing;
      opacity: 0.55;
    }
    .inv-gallery-slot.inv-gallery-slot--drag-over .inv-gallery-surface {
      box-shadow: 0 0 0 2px var(--ok);
    }
    .inv-toolbar-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 12px;
      align-items: center;
      margin-bottom: 12px;
      width: 100%;
      box-sizing: border-box;
    }
    .inv-search-wrap {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 1 1 200px;
      min-width: 0;
      max-width: none;
    }
    .inv-toolbar-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 4px;
      flex: 0 0 auto;
    }
    .inv-toolbar-new {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
      margin-left: auto;
    }
    .inv-toolbar-row-fill {
      flex: 1 1 120px;
      min-width: 0;
      min-height: 0;
    }
    .inv-toolbar-actions .inv-toolbar-btn,
    .inv-toolbar-new .inv-toolbar-btn {
      width: auto;
      min-width: 0;
      max-width: 100%;
      margin-top: 0;
      padding: 4px 8px;
      font-size: 0.72rem;
      line-height: 1.2;
      border-radius: 7px;
      white-space: nowrap;
    }
    .inv-toolbar-new .inv-toolbar-btn--lg {
      padding: 10px 20px;
      font-size: 0.88rem;
      font-weight: 700;
      line-height: 1.25;
      border-radius: 10px;
    }
    .inv-toolbar-actions .inv-toolbar-select {
      padding: 5px 10px;
      border-radius: 7px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.72rem;
      line-height: 1.25;
      max-width: min(100%, 220px);
      min-width: 0;
      box-sizing: border-box;
      cursor: pointer;
    }
    /* ─── Facturas: dropzone y toolbar IVA ─── */
    /* Las secciones de Facturas (Emitidas, Recibidas, Resumen IVA, Ajustes) van en el menú lateral común
       (33-menu-lateral.css); ya no son tarjetas. */
    /* Toolbar superior de la pestaña Resumen IVA → todo en una línea con scroll horizontal si hace falta */
    #panel-facturas .iva-toolbar {
      display: flex;
      flex-wrap: nowrap;
      gap: 8px;
      align-items: center;
      margin-bottom: 14px;
      overflow-x: auto;
      padding-bottom: 4px;
    }
    #panel-facturas .iva-toolbar::-webkit-scrollbar { height: 6px; }
    #panel-facturas .iva-toolbar > * { flex-shrink: 0; white-space: nowrap; }
    #panel-facturas .iva-toolbar .iva-toolbar-spacer { flex: 1 1 auto; min-width: 0; }
    #panel-facturas .iva-toolbar label { font-weight: 600; }
    /* Botones compactos también dentro de la iva-toolbar (mismo aspecto que en Emitidas). */
    #panel-facturas .iva-toolbar .inv-toolbar-btn {
      width: auto;
      min-width: 0;
      max-width: 100%;
      margin-top: 0;
      padding: 4px 8px;
      font-size: 0.72rem;
      line-height: 1.2;
      border-radius: 7px;
      white-space: nowrap;
    }
    #panel-facturas .fact-tab[hidden] { display: none !important; }
    #panel-facturas #exp-dropzone.is-dragover {
      border-color: var(--ok, var(--bv-g-34d399, #34d399));
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), .08);
    }
    /*
     * Resumen IVA con los colores de Barveo (titular, 11-10-2026): tarjetas en azules claros
     * con texto Tinta, «IVA a liquidar» en rojo claro con la cifra en Rojo señal y el Beneficio
     * en Tinta sólida (Rojo señal si es negativo). Sin verdes ni pasteles; siguen a Colores Barveo.
     */
    #panel-facturas {
      --iva-tinta: var(--barveo-palette-05, #26313a);
      --iva-on-tinta: var(--barveo-on-05, #f4f2ed);
      --iva-rojo: var(--barveo-palette-07, #c8463d);
      --iva-on-rojo: var(--barveo-on-07, #ffffff);
      --iva-rojo-claro: var(--barveo-palette-02, #f7e5e4);
      --iva-azul-1: var(--bv-g-ecfdf5, #f2f5f7);
      --iva-azul-2: var(--bv-g-e8f5ef, #eceff1);
      --iva-borde: color-mix(in srgb, var(--iva-tinta) 16%, transparent);
      --iva-tinta-suave: color-mix(in srgb, var(--iva-tinta) 72%, transparent);
    }
    #panel-facturas .fact-iva-card {
      padding: 14px 16px;
      border: 1px solid var(--iva-borde);
      border-radius: 12px;
      background: var(--iva-azul-1);
    }
    #panel-facturas .iva-cards-grid {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 18px;
    }
    #panel-facturas .iva-cards-row {
      display: grid;
      gap: 12px;
    }
    #panel-facturas .iva-cards-row--iva {
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
      gap: 8px 10px;
      align-items: center;
    }
    #panel-facturas .iva-cards-row--totals {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    #panel-facturas .iva-cards-row--beneficio {
      grid-template-columns: 1fr;
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card {
      text-align: right;
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio {
      background: var(--iva-tinta);
      border-color: var(--iva-tinta);
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg {
      background: var(--iva-rojo);
      border-color: var(--iva-rojo);
    }
    #panel-facturas .iva-cards-section-label {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
      color: var(--iva-tinta-suave);
      margin: 4px 0 -4px;
    }
    #panel-facturas .iva-cards-row--meses {
      grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    }
    #panel-facturas .iva-cards-row--medias {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #panel-facturas .iva-cards-row--meses .fact-iva-card .fact-iva-card-value,
    #panel-facturas .iva-cards-row--medias .fact-iva-card .fact-iva-card-value {
      font-size: 1.35rem;
    }
    #panel-facturas .iva-cards-op {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--iva-tinta);
      line-height: 1;
      user-select: none;
      padding: 0 2px;
    }
    @media (max-width: 860px) {
      #panel-facturas .iva-cards-row--iva,
      #panel-facturas .iva-cards-row--totals,
      #panel-facturas .iva-cards-row--beneficio,
      #panel-facturas .iva-cards-row--medias {
        grid-template-columns: 1fr;
      }
      #panel-facturas .iva-cards-row--iva .iva-cards-op {
        justify-self: center;
        font-size: 1.35rem;
        padding: 2px 0;
      }
    }
    #panel-facturas .fact-iva-card--repercutido,
    #panel-facturas .fact-iva-card--soportado {
      background: var(--iva-azul-2);
      border-color: var(--iva-borde);
    }
    #panel-facturas .fact-iva-card--liquidar,
    #panel-facturas .fact-iva-card--beneficio-neg {
      background: var(--iva-rojo-claro);
      border-color: color-mix(in srgb, var(--iva-rojo) 35%, transparent);
    }
    #panel-facturas .fact-iva-card--irpf,
    #panel-facturas .fact-iva-card--facturado,
    #panel-facturas .fact-iva-card--gastos,
    #panel-facturas .fact-iva-card--beneficio {
      background: var(--iva-azul-1);
      border-color: var(--iva-borde);
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card .fact-iva-card-value {
      font-size: 1.85rem;
    }
    #panel-facturas .fact-iva-card .fact-iva-card-label {
      display: block;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--iva-tinta);
      text-transform: uppercase;
      letter-spacing: .03em;
    }
    #panel-facturas .fact-iva-card .fact-iva-card-value {
      display: block;
      font-size: 1.6rem;
      font-weight: 800;
      margin-top: 4px;
      color: var(--iva-tinta);
    }
    #panel-facturas .fact-iva-card .fact-iva-card-sub {
      display: block;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--iva-tinta-suave);
      margin-top: 2px;
    }
    #panel-facturas .fact-iva-card--liquidar .fact-iva-card-value,
    #panel-facturas .fact-iva-card--beneficio-neg .fact-iva-card-value {
      color: var(--iva-rojo);
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio .fact-iva-card-label,
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio .fact-iva-card-value,
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio .fact-iva-card-sub {
      color: var(--iva-on-tinta);
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg .fact-iva-card-label,
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg .fact-iva-card-value,
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg .fact-iva-card-sub {
      color: var(--iva-on-rojo);
    }
    #panel-facturas .iva-cards-row--beneficio .fact-iva-card .fact-iva-card-sub {
      opacity: .85;
    }
    #panel-facturas .iva-period-range__chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 12px;
      border-radius: 999px;
      background: var(--iva-azul-2);
      border: 1px solid var(--iva-borde);
      color: var(--iva-tinta);
      font-size: 0.78rem;
      font-weight: 600;
      white-space: nowrap;
    }
    #panel-facturas .iva-mismatch-warn {
      margin: 0 0 14px;
      padding: 12px 14px;
      border-radius: 10px;
      background: var(--iva-rojo-claro);
      border: 1px solid color-mix(in srgb, var(--iva-rojo) 35%, transparent);
      color: var(--iva-tinta);
      font-size: 0.86rem;
      line-height: 1.45;
    }
    /* Resumen IVA cargando (titular, 11-10-2026): aviso con un círculo que gira y tarjetas en esqueleto con brillo. */
    #panel-facturas .iva-cargando {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
      font-size: 0.86rem;
      font-weight: 600;
      color: var(--iva-tinta-suave);
    }
    #panel-facturas .iva-cargando[hidden] {
      display: none;
    }
    #panel-facturas .iva-cargando__ico {
      flex: 0 0 16px;
      width: 16px;
      height: 16px;
      box-sizing: border-box;
      border-radius: 50%;
      border: 2px solid color-mix(in srgb, var(--iva-tinta) 18%, transparent);
      border-top-color: var(--iva-rojo);
      animation: iva-girar 0.8s linear infinite;
    }
    #panel-facturas .iva-esqueleto span {
      display: block;
      border-radius: 6px;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--iva-tinta) 8%, transparent) 25%,
        color-mix(in srgb, var(--iva-tinta) 18%, transparent) 40%,
        color-mix(in srgb, var(--iva-tinta) 8%, transparent) 60%
      );
      background-size: 400% 100%;
      animation: iva-brillo 1.3s ease-in-out infinite;
    }
    #panel-facturas .iva-esqueleto .iva-esqueleto__l { width: 45%; height: 10px; }
    #panel-facturas .iva-esqueleto .iva-esqueleto__v { width: 60%; height: 24px; margin-top: 8px; }
    #panel-facturas .iva-esqueleto .iva-esqueleto__s { width: 72%; height: 9px; margin-top: 7px; }
    #panel-facturas .iva-cards-row--beneficio .iva-esqueleto span { margin-left: auto; }
    #panel-facturas .iva-cards-row--beneficio .iva-esqueleto .iva-esqueleto__l { width: 16%; }
    #panel-facturas .iva-cards-row--beneficio .iva-esqueleto .iva-esqueleto__v { width: 24%; }
    #panel-facturas .iva-cards-row--beneficio .iva-esqueleto .iva-esqueleto__s { width: 32%; }
    #panel-facturas .iva-cards-grid--cargando > .iva-cards-row,
    #panel-facturas .iva-cards-grid--cargando > .iva-cards-section-label {
      opacity: 0.5;
      transition: opacity 0.2s ease;
    }
    #panel-facturas .iva-cargando-error {
      margin: 0;
      color: var(--iva-rojo);
    }
    @keyframes iva-girar {
      to { transform: rotate(360deg); }
    }
    @keyframes iva-brillo {
      0% { background-position: 100% 50%; }
      100% { background-position: 0 50%; }
    }
    @media (prefers-reduced-motion: reduce) {
      #panel-facturas .iva-cargando__ico,
      #panel-facturas .iva-esqueleto span {
        animation: none;
      }
    }
    /* Factura completa: resaltar campos obligatorios vacíos */
    #fact-modal .fact-field--missing > input,
    #fact-modal .fact-field--missing > select {
      border: 2px solid var(--c-rojo-500) !important;
      box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
      outline: none;
    }
    #fact-modal .fact-field--missing > label {
      color: var(--c-rojo-500) !important;
    }
    /* La regla general [class*="-card"] del tema claro pintaba de blanco la rejilla, sus filas, la etiqueta
       «Beneficio por mes» y los signos − y =: aquí no son tarjetas. */
    html.bardev-panel-theme-light #panel-facturas .iva-cards-grid,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-section-label,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-op {
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card {
      box-shadow: var(--ds-shadow-sm) !important;
      background: var(--iva-azul-1) !important;
      border-color: var(--iva-borde) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card--repercutido,
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card--soportado {
      background: var(--iva-azul-2) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card--liquidar,
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card--beneficio-neg {
      background: var(--iva-rojo-claro) !important;
      border-color: color-mix(in srgb, var(--iva-rojo) 35%, transparent) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio {
      background: var(--iva-tinta) !important;
      border-color: var(--iva-tinta) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg {
      background: var(--iva-rojo) !important;
      border-color: var(--iva-rojo) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card .fact-iva-card-label,
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card .fact-iva-card-value,
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card .fact-iva-card-sub {
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card .fact-iva-card-label,
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card .fact-iva-card-value {
      color: var(--iva-tinta) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card .fact-iva-card-sub {
      color: var(--iva-tinta-suave) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card--liquidar .fact-iva-card-value,
    html.bardev-panel-theme-light #panel-facturas .fact-iva-card--beneficio-neg .fact-iva-card-value {
      color: var(--iva-rojo) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio .fact-iva-card-label,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio .fact-iva-card-value,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio .fact-iva-card-sub {
      color: var(--iva-on-tinta) !important;
    }
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg .fact-iva-card-label,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg .fact-iva-card-value,
    html.bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg .fact-iva-card-sub {
      color: var(--iva-on-rojo) !important;
    }
    #panel-facturas .fact-line-row {
      display: grid;
      grid-template-columns: 2.4fr 0.5fr 0.8fr 0.6fr 1.1fr 28px;
      gap: 6px;
      align-items: center;
      margin-bottom: 6px;
    }
    #panel-facturas .fact-line-row input,
    #panel-facturas .fact-line-row select {
      padding: 6px 8px;
      border-radius: 6px;
      font-size: 0.85rem;
      min-width: 0;
    }
    #panel-facturas .fact-line-row [data-fact-line="line-total"] {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    #panel-facturas .fact-line-row .fact-line-del {
      background: transparent;
      border: 0;
      color: var(--c-rojo-300);
      font-size: 1.1rem;
      cursor: pointer;
    }
    #panel-facturas .exp-tax-row {
      display: grid;
      grid-template-columns: 0.8fr 1fr 1fr 28px;
      gap: 6px;
      align-items: center;
      margin-bottom: 6px;
    }
    #panel-facturas .exp-tax-head {
      display: grid;
      grid-template-columns: 0.8fr 1fr 1fr 28px;
      gap: 6px;
      align-items: end;
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: .04em;
      color: var(--muted);
      font-weight: 600;
      margin: 0 0 4px;
      padding: 0 2px;
    }
    #panel-facturas .exp-tax-row input,
    #panel-facturas .exp-tax-row select {
      padding: 6px 8px;
      border-radius: 6px;
      font-size: 0.85rem;
    }
    #panel-facturas .exp-tax-row .exp-tax-del {
      background: transparent;
      border: 0;
      color: var(--c-rojo-300);
      font-size: 1.1rem;
      cursor: pointer;
    }
    #panel-facturas .share-token-row {
      display: grid;
      grid-template-columns: 1.2fr 2fr 0.8fr auto auto auto;
      gap: 8px;
      align-items: center;
      padding: 8px 10px;
      border-bottom: 1px solid var(--border);
      font-size: 0.85rem;
    }
    #panel-facturas .share-token-row .share-token-url {
      font-family: ui-monospace, monospace;
      font-size: 0.75rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    /* Formulario de creación de enlace en una sola línea
       (etiqueta + fecha + botón). */
    #panel-facturas .share-token-create-row {
      display: grid;
      grid-template-columns: 1fr auto auto;
      gap: 8px;
      align-items: center;
      margin-bottom: 10px;
      min-width: 0;
    }
    #panel-facturas .share-token-create-row > input {
      padding: 8px;
      border-radius: 8px;
      min-width: 0;
    }
    #panel-facturas .share-token-create-row > button { white-space: nowrap; }
    /* Botones del panel Facturas: ancho según texto, no banda a todo el frame */
    #panel-facturas button.btn:not(.fact-subnav-btn):not(.inv-toolbar-btn):not(.usuarios-page-size-cap):not(.btn-icon):not(.bardev-modal-close) {
      width: auto !important;
      max-width: 100%;
      flex: 0 0 auto;
      margin-top: 0;
      padding: 8px 18px;
      font-size: 0.86rem;
      line-height: 1.25;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      white-space: nowrap;
    }
    #panel-facturas .fact-tab[data-fact-tab-panel="ajustes"] > button.btn {
      margin-top: 12px;
    }
    #panel-facturas .share-token-row .btn {
      padding: 6px 12px;
      font-size: 0.78rem;
    }
    /* Botón principal suelto (formularios / modales): no ocupar todo el ancho */
    .btn--fit {
      width: auto !important;
      max-width: 100%;
      flex: 0 0 auto;
      margin-top: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      white-space: nowrap;
      padding: 8px 18px;
      font-size: 0.86rem;
    }
    .bardev-modal-surface button.btn.primary:not(.inv-toolbar-btn):not(.fact-subnav-btn),
    #agenda-modal button.btn.primary,
    #agenda-detail-modal button.btn.primary,
    .section-footer-bar button.btn,
    .content-panel div[style*="display:flex"] > button.btn.primary,
    .content-panel div[style*="display: flex"] > button.btn.primary {
      width: auto !important;
      max-width: 100%;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      white-space: nowrap;
      padding: 8px 18px;
      font-size: 0.86rem;
    }
    #panel-facturas .inv-toolbar-row--facturas,
    #inicio-tab-panel-formas-pago .inv-toolbar-row--formas-pago,
    #panel-equipo .inv-toolbar-row--equipo,
    #panel-horarios-turnos .inv-toolbar-row--horarios,
    #panel-vacaciones .inv-toolbar-row--vacaciones {
      margin-top: 10px;
    }
    #panel-facturas .inv-toolbar-row--exp-recibidas {
      margin-top: 10px;
      margin-bottom: 12px;
    }
    #panel-facturas #fact-period-toolbar.fact-period-toolbar--inline {
      margin: 0;
      flex: 0 0 auto;
      gap: 6px;
    }
    #panel-facturas .exp-toolbar-period-slot {
      display: contents;
    }
    #panel-facturas #fact-period-toolbar-anchor {
      margin: 8px 0 4px;
    }
    #panel-facturas .facturas-toolbar-line {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 4px 6px;
      width: 100%;
      min-width: 0;
      overflow-x: visible;
      padding-bottom: 2px;
    }
    #panel-facturas .facturas-date-filters {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-end;
      gap: 4px 6px;
      flex: 0 0 auto;
      order: -1;
    }
    #panel-facturas .facturas-date-filters .facturas-filter-field--btn {
      flex: 0 0 auto;
    }
    #panel-facturas .facturas-filter-field {
      display: flex;
      flex-direction: column;
      gap: 2px;
      flex: 1 1 auto;
      min-width: 0;
      max-width: 7.5rem;
    }
    #panel-facturas .facturas-filter-field label {
      font-size: 0.58rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      color: var(--muted);
      white-space: nowrap;
    }
    #panel-facturas .facturas-filter-field input,
    #panel-facturas .facturas-filter-field select,
    #panel-facturas .facturas-toolbar-line .inv-toolbar-select {
      min-width: 0;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      font-size: 0.62rem;
      line-height: 1.2;
      padding: 3px 5px;
      border-radius: 6px;
    }
    #panel-facturas #fact-filter-date-from,
    #panel-facturas #fact-filter-date-to {
      max-width: 7.25rem;
    }
    #panel-facturas .facturas-filter-field--client {
      flex: 1 1 12rem;
      max-width: 16rem;
      min-width: 10rem;
    }
    #panel-facturas #fact-filter-client {
      max-width: none;
    }
    #panel-facturas #fact-filter-status,
    #panel-facturas #fact-filter-type {
      max-width: 6rem;
    }
    #panel-facturas .facturas-filter-field--btn {
      flex: 0 0 auto;
      max-width: none;
    }
    #panel-facturas .facturas-filter-field--btn label {
      visibility: hidden;
    }
    #panel-facturas .facturas-toolbar-ver {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      flex: 0 0 auto;
      margin-left: 0;
      padding-bottom: 0;
    }
    #panel-facturas .facturas-toolbar-side {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: flex-end;
      gap: 6px;
      flex: 0 0 auto;
      margin-left: auto;
      min-width: 0;
    }
    #panel-facturas .facturas-toolbar-actions {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      flex: 0 0 auto;
      margin-left: 0;
      width: 100%;
    }
    #panel-facturas .facturas-toolbar-actions .inv-toolbar-btn {
      width: auto !important;
      max-width: none;
      flex: 0 0 auto;
      margin-top: 0 !important;
      min-width: 0;
      flex-shrink: 0;
      white-space: nowrap;
      padding: 3px 6px !important;
      font-size: 0.62rem !important;
      line-height: 1.2;
      border-radius: 6px;
    }
    #panel-facturas .facturas-toolbar-actions .inv-toolbar-btn--lg {
      padding: 8px 16px !important;
      font-size: 0.82rem !important;
      font-weight: 700;
      line-height: 1.25;
      border-radius: 9px;
    }
    #panel-facturas .facturas-pagination {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      column-gap: 14px;
      row-gap: 8px;
      margin-top: 14px;
      padding: 8px 12px;
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
    }
    #panel-facturas .facturas-pagination.hidden {
      display: none !important;
    }
    #panel-facturas .facturas-pagination-info {
      font-size: 0.72rem;
      color: var(--muted);
      text-align: center;
      flex: 0 1 auto;
      min-width: 0;
      max-width: min(100%, 22rem);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      padding: 0 2px;
    }
    #panel-facturas .facturas-pagination .inv-toolbar-btn {
      width: auto !important;
      max-width: none;
      flex: 0 0 auto;
      margin-top: 0 !important;
      min-width: 0;
      flex-shrink: 0;
      white-space: nowrap;
      padding: 4px 8px !important;
      font-size: 0.72rem !important;
      line-height: 1.2;
      border-radius: 7px;
    }
    #panel-facturas .facturas-page-size-wrap {
      flex: 0 0 auto;
    }
    .fpago-table .fpago-actions-cell .table-row-actions {
      flex-wrap: nowrap;
      gap: 4px;
    }
    .inv-row-actions {
      display: inline-flex;
      gap: 1px;
      align-items: center;
      justify-content: center;
      flex-wrap: nowrap;
    }
    .inv-cat-icon-picker {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 4px;
    }
    .inv-cat-icon-opt {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      padding: 8px 8px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.15);
      cursor: pointer;
      min-width: 4.1rem;
      max-width: 5.2rem;
      font-size: 0.58rem;
      line-height: 1.2;
      text-align: center;
      color: var(--muted);
      transition: border-color 0.12s ease, background 0.12s ease;
    }
    .inv-cat-icon-opt--selected {
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.65);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      color: var(--text);
    }
    .inv-cat-icon-opt__ico {
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--c-cielo-250);
    }
    .inv-cat-icon-opt__ico svg {
      width: 22px;
      height: 22px;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.75;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    html.bardev-panel-theme-light .inv-cat-icon-opt {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .inv-cat-icon-opt--selected {
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.55);
      background: var(--bv-g-ecfdf5, #ecfdf5);
    }
    html.bardev-panel-theme-light .inv-cat-icon-opt__ico {
      color: var(--c-cielo-600);
    }
    #inventario-wrap .inv-prod-cat-header .svc-cat-table-header__ico {
      color: var(--c-cielo-250);
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-header .svc-cat-table-header__ico {
      color: var(--c-cielo-600);
    }
    #inventario-wrap .inv-prod-cat-list,
    #servicios-res-wrap .inv-prod-cat-list,
    #svc-ofertas-wrap .inv-prod-cat-list,
    #lotes-wrap .inv-prod-cat-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
      padding: 12px 16px 8px;
      margin: 4px 0 0;
    }
    #inventario-wrap .inv-prod-cat-card,
    #servicios-res-wrap .inv-prod-cat-card,
    #svc-ofertas-wrap .inv-prod-cat-card,
    #lotes-wrap .inv-prod-cat-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.1);
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.1);
      box-shadow: 0 1px 6px rgba(15, 23, 42, 0.04);
    }
    #inventario-wrap .inv-prod-cat-card__head,
    #servicios-res-wrap .inv-prod-cat-card__head,
    #svc-ofertas-wrap .inv-prod-cat-card__head,
    #lotes-wrap .inv-prod-cat-card__head {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 12px;
      background: rgba(100, 116, 139, 0.28);
      border-bottom: 1px solid var(--border);
      min-height: 36px;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head {
      background: var(--c-gris-50f);
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html.bardev-panel-theme-light .svc-cat-table-header__inner {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.08);
      color: var(--c-azul-900b);
      box-shadow: none;
    }
    /* Cabeceras de cards: pastel muy suave (tono -50), sin degradado */
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--blue,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--blue {
      background: var(--c-azul-50d);
      border-bottom-color: rgba(37, 99, 235, 0.12);
      border-left: 4px solid var(--c-azul-200);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--green,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--green,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--green,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--green,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--green,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--green {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-bottom-color: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.12);
      border-left: 4px solid var(--bv-g-6ee7b7, #6ee7b7);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--orange,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--orange {
      background: var(--c-naranja-50);
      border-bottom-color: rgba(234, 88, 12, 0.12);
      border-left: 4px solid var(--c-naranja-300);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--yellow,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--yellow {
      background: var(--c-amarillo-50);
      border-bottom-color: rgba(202, 138, 4, 0.14);
      border-left: 4px solid var(--c-amarillo-350);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--red,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--red {
      background: var(--c-rojo-50b);
      border-bottom-color: rgba(220, 38, 38, 0.12);
      border-left: 4px solid var(--c-rojo-200);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--purple,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--purple {
      background: var(--c-gris-50g);
      border-bottom-color: rgba(147, 51, 234, 0.12);
      border-left: 4px solid var(--c-violeta-150);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--cyan,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--cyan {
      background: var(--c-turquesa-50);
      border-bottom-color: rgba(8, 145, 178, 0.12);
      border-left: 4px solid #67e8f9;
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--pink,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--pink {
      background: var(--c-rosa-50b);
      border-bottom-color: rgba(219, 39, 119, 0.12);
      border-left: 4px solid var(--c-rosa-200);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--lime,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--lime {
      background: var(--c-verde-50e);
      border-bottom-color: rgba(101, 163, 13, 0.14);
      border-left: 4px solid #bef264;
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--indigo,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--indigo {
      background: var(--c-azul-50c);
      border-bottom-color: rgba(79, 70, 229, 0.12);
      border-left: 4px solid #a5b4fc;
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--rose,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--rose {
      background: var(--c-rojo-50d);
      border-bottom-color: rgba(225, 29, 72, 0.12);
      border-left: 4px solid #fda4af;
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--teal,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--teal {
      background: var(--c-turquesa-50c);
      border-bottom-color: rgba(13, 148, 136, 0.12);
      border-left: 4px solid var(--c-turquesa-350);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--amber,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--amber {
      background: var(--c-ambar-50);
      border-bottom-color: rgba(217, 119, 6, 0.14);
      border-left: 4px solid var(--c-ambar-350);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--fuchsia,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--fuchsia {
      background: var(--c-violeta-50b);
      border-bottom-color: rgba(192, 38, 211, 0.12);
      border-left: 4px solid var(--c-purpura-250);
    }
    html.bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--sky,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html.bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--sky {
      background: var(--c-cielo-50b);
      border-bottom-color: rgba(2, 132, 199, 0.12);
      border-left: 4px solid var(--c-cielo-250);
    }
    #inventario-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    #servicios-res-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    #svc-ofertas-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    #lotes-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico {
      color: var(--c-cielo-250);
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico {
      color: var(--c-cielo-600);
    }
    #inventario-wrap .inv-prod-cat-card__head .svc-cat-table-header__txt,
    #servicios-res-wrap .inv-prod-cat-card__head .svc-cat-table-header__txt,
    #svc-ofertas-wrap .inv-prod-cat-card__head .svc-cat-table-header__txt,
    #lotes-wrap .inv-prod-cat-card__head .svc-cat-table-header__txt {
      flex: 1;
      min-width: 0;
      font-size: 0.82rem;
      line-height: 1.15;
    }
    #inventario-wrap .inv-prod-cat-card__head .svc-cat-table-header__acts,
    #servicios-res-wrap .inv-prod-cat-card__head .svc-cat-table-header__acts,
    #svc-ofertas-wrap .inv-prod-cat-card__head .svc-cat-table-header__acts,
    #lotes-wrap .inv-prod-cat-card__head .svc-cat-table-header__acts {
      display: flex;
      gap: 4px;
      flex-shrink: 0;
      margin-left: auto;
    }
    #inventario-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    #servicios-res-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    #lotes-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon {
      margin-top: 0;
      box-shadow: none !important;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(148, 163, 184, 0.4);
    }
    #inventario-wrap .inv-prod-cat-card__head .btn-icon,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon {
      width: 30px;
      height: 30px;
      min-width: 30px;
      padding: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      box-sizing: border-box;
    }
    #inventario-wrap .inv-prod-cat-card__head .btn-icon svg,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon svg,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon svg,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      overflow: visible;
    }
    #inventario-wrap .inv-prod-cat-card__head .btn-icon svg,
    #inventario-wrap .inv-prod-cat-card__head .btn-icon svg *,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon svg,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon svg *,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon svg,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon svg *,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon svg,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    #inventario-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #inventario-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-cielo-400) !important;
    }
    #inventario-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    #inventario-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    #servicios-res-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    #lotes-wrap .inv-prod-cat-card__head .btn-icon--danger svg * {
      stroke: var(--c-rojo-300) !important;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon {
      background: var(--c-gris-50b) !important;
      border: 1px solid rgba(37, 99, 235, 0.35) !important;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled) {
      background: var(--c-pizarra-100) !important;
      border-color: rgba(37, 99, 235, 0.5) !important;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-azul-450) !important;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html.bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn-icon--danger svg * {
      stroke: var(--c-rojo-500) !important;
    }
    #inventario-wrap .inv-prod-summary,
    #servicios-res-wrap .inv-prod-summary,
    #svc-ofertas-wrap .inv-prod-summary,
    #lotes-wrap .inv-prod-summary {
      font-size: 0.75rem;
      opacity: 0.55;
      text-align: right;
      padding: 10px 16px 6px;
      margin-top: 2px;
    }
    #inventario-wrap .inv-prod-cat-card__body .admin-data-table,
    #servicios-res-wrap .inv-prod-cat-card__body .admin-data-table,
    #svc-ofertas-wrap .inv-prod-cat-card__body .admin-data-table {
      margin: 0;
      width: 100%;
    }
    #inventario-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    #servicios-res-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    #svc-ofertas-wrap .inv-prod-cat-card__body .admin-data-table thead th {
      font-size: 0.62rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--muted);
      background: rgba(0, 0, 0, 0.18);
      border-bottom: 1px solid var(--border);
      padding: 5px 8px;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    html.bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    html.bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__body .admin-data-table thead th {
      background: var(--c-gris-50b);
      color: var(--c-pizarra-650);
      border-bottom-color: rgba(15, 23, 42, 0.1);
    }
    .inv-ext-reader-hint {
      font-size: 0.7rem;
      opacity: 0.35;
      white-space: nowrap;
      transition: opacity 0.2s;
    }
    .inv-ext-reader-hint.inv-ext-reader-hint--on {
      opacity: 0.9;
      color: var(--ok);
    }
    .inv-search-wrap input[type='search'] {
      flex: 1;
      min-width: 0;
      padding: 9px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.25);
      color: var(--text);
      font-size: 0.88rem;
      box-sizing: border-box;
    }
    .inv-thumb {
      width: 40px;
      height: 40px;
      border-radius: 8px;
      object-fit: cover;
      flex-shrink: 0;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.3);
    }
    .inv-thumb--ph {
      display: block;
      width: 40px;
      height: 40px;
      flex-shrink: 0;
    }
    .inv-cell-name {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    #inventario-wrap .inv-shop-toggle {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      cursor: pointer;
    }
    #inventario-wrap .inv-shop-toggle__cb {
      width: 18px;
      height: 18px;
      margin: 0;
      cursor: pointer;
      accent-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #inventario-wrap .inv-row-cat-select {
      max-width: 12rem;
      width: 100%;
      min-width: 7.5rem;
      padding: 4px 6px;
      border-radius: 8px;
      border: 1px solid var(--bd-n-200, var(--border, #dce3df));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text, #0f1f17));
      font: inherit;
      font-size: 0.72rem;
      cursor: pointer;
    }
    html.bardev-panel-theme-light #inventario-wrap .inv-row-cat-select:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    .inv-cell-name > div {
      min-width: 0;
    }
    .bardev-table-status {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      font-size: 0.78rem;
      font-weight: 800;
      line-height: 1;
    }
    .bardev-table-status--on {
      color: var(--bv-g-34d399, #34d399);
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.14);
    }
    .bardev-table-status--off {
      color: var(--c-rojo-300);
      background: rgba(248, 113, 113, 0.12);
    }
    html.bardev-panel-theme-light .bardev-table-status--on {
      color: var(--bv-g-059669, #059669);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
    }
    html.bardev-panel-theme-light .bardev-table-status--off {
      color: var(--c-rojo-500);
      background: rgba(239, 68, 68, 0.1);
    }
    .inv-code-line {
      font-size: 0.68rem;
      opacity: 0.75;
      margin-top: 2px;
      word-break: break-all;
    }
    #inv-scan-modal {
      position: fixed;
      inset: 0;
      z-index: 10050;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      box-sizing: border-box;
    }
    #inv-scan-modal.hidden {
      display: none !important;
    }
    .inv-scan-panel {
      width: min(420px, 100%);
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid color-mix(in srgb, var(--ok) 35%, var(--border));
      background: var(--card);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
    }
    .inv-scan-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 14px;
      background: color-mix(in srgb, var(--ok) 28%, #0a120f);
      border-bottom: 1px solid color-mix(in srgb, var(--ok) 22%, transparent);
    }
    .inv-scan-head h3 {
      margin: 0;
      font-size: 1rem;
      font-weight: 600;
    }
    .inv-scan-viewport {
      position: relative;
      background: var(--c-negro);
      min-height: 220px;
    }
    #inv-scan-reader {
      min-height: 240px;
    }
    #inv-scan-reader video {
      border-radius: 0 !important;
    }
    .inv-scan-corners {
      pointer-events: none;
      position: absolute;
      inset: 12% 10% 18%;
      border: 2px solid rgba(255, 255, 255, 0.85);
      border-radius: 8px;
      box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.35);
    }
    .inv-scan-corners::before,
    .inv-scan-corners::after {
      content: '';
      position: absolute;
      width: 22px;
      height: 22px;
      border: 3px solid var(--c-blanco);
    }
    .inv-scan-corners::before {
      top: -3px;
      left: -3px;
      border-right: none;
      border-bottom: none;
      border-radius: 4px 0 0 0;
    }
    .inv-scan-corners::after {
      bottom: -3px;
      right: -3px;
      border-left: none;
      border-top: none;
      border-radius: 0 0 4px 0;
    }
    .inv-scan-foot {
      padding: 10px 14px 14px;
      text-align: center;
      font-size: 0.82rem;
      opacity: 0.85;
    }
    .informes-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }
    .informes-head h2 {
      margin: 0;
    }
    .informes-section-title,
    .main-area .content-panel .informes-head > h2.informes-section-title {
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .informes-section-title__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      width: 20px;
      height: 20px;
      color: var(--panel-section-accent, var(--ok));
    }
    .informes-section-title__icon svg {
      width: 20px;
      height: 20px;
      display: block;
    }
    .informes-section-title__label {
      min-width: 0;
    }
    .informes-month-nav {
      display: none !important;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .informes-month-nav button {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      cursor: pointer;
      font-size: 1.1rem;
      line-height: 1;
    }
    .informes-month-nav button:hover {
      border-color: color-mix(in srgb, var(--ok) 45%, var(--border));
    }
    .informes-month-nav input[type='month'] {
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.95rem;
    }
    .comis-liq-round {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      padding: 0;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 1.35rem;
      line-height: 1;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-family: inherit;
    }
    .comis-liq-round:hover {
      background: var(--brand-rgba-22);
    }
    .comis-liq-nav-row {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      margin: 8px 0;
    }
    .informes-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 20px;
      align-items: start;
    }
    @media (max-width: 960px) {
      .informes-layout {
        grid-template-columns: 1fr;
      }
    }
    .informes-main {
      min-width: 0;
      width: 100%;
    }
    .informes-analyze-host {
      position: relative;
    }
    .informes-analyze-host.is-analyzing {
      min-height: 280px;
    }
    .informes-analyze {
      display: none;
    }
    .informes-analyze-host.is-analyzing > .informes-analyze {
      display: flex;
      position: absolute;
      inset: 0;
      z-index: 8;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 32px 20px;
      background: var(--bd-modal-scrim, rgba(255, 255, 255, 0.72));
      backdrop-filter: var(--bd-modal-scrim-blur, blur(12px) saturate(1.4));
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur, blur(12px) saturate(1.4));
      border-radius: var(--bd-radius-lg, 16px);
    }
    /* La capa cubre toda la sección (puede medir varias pantallas). El disco grande y el texto van en un bloque
       sticky a media ventana: se ven en el centro de lo que se ve, también recién entrado; en una sección corta el
       bloque queda dentro de ella (titular, 12-10-2026: «un disco central girando grande en el centro de la pantalla»). */
    .informes-analyze-host.is-analyzing > .informes-analyze {
      justify-content: flex-start;
    }
    .informes-analyze__centro {
      position: sticky;
      top: calc(50vh - 80px);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
      padding: 8px 0;
    }
    .informes-analyze__spin {
      width: 88px;
      height: 88px;
      border-radius: 50%;
      box-sizing: border-box;
      /* La misma animación que el resto del panel (35-cargando.css): Tinta con el tramo en Rojo señal. */
      border: 7px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent);
      border-top-color: var(--ds-accent, #c8463d);
      box-shadow: 0 0 0 10px color-mix(in srgb, var(--ds-accent, #c8463d) 8%, transparent);
      animation: informes-analyze-spin 0.8s linear infinite;
    }
    .informes-analyze__esqueleto {
      display: none;
    }
    /* Primera carga de una sección (aún vacía): el aviso arriba y el esqueleto de las tarjetas debajo. */
    .informes-analyze-host.is-analyzing.is-analyzing-primera {
      min-height: 380px;
    }
    .informes-analyze-host.is-analyzing.is-analyzing-primera > .informes-analyze {
      justify-content: flex-start;
      padding-top: 28px;
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .informes-analyze-host.is-analyzing.is-analyzing-primera > .informes-analyze > .informes-analyze__esqueleto {
      display: grid;
      margin-top: 8px;
    }
    .informes-analyze__txt {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
      letter-spacing: -0.01em;
      color: var(--bd-ink, #0f172a);
    }
    @keyframes informes-analyze-spin {
      to {
        transform: rotate(360deg);
      }
    }
    /* Columna lateral «Informes» retirada: más ancho para KPIs y gráficos */
    #panel-informes .informes-aside {
      display: none !important;
    }
    .informes-tab-panel:not(.informes-tab-panel--active) {
      display: none;
    }
    .informes-tab-panel--active {
      display: block;
    }
    #panel-citas-notificaciones .citas-notif-calls-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(260px, 1fr);
      gap: 16px;
      margin-top: 14px;
      align-items: stretch;
    }
    #panel-citas-notificaciones .citas-notif-calls-side {
      display: flex;
      flex-direction: column;
      gap: 16px;
      min-width: 0;
      /* La fila la marca la card izquierda; esta columna no la estira. */
      height: 0;
      min-height: 100%;
      overflow: hidden;
    }
    /* Acciones del contenido: al texto, no de lado a lado de la columna. */
    #panel-citas-notificaciones .citas-notif-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 14px;
    }
    #panel-citas-notificaciones .citas-notif-actions .btn {
      width: auto;
      max-width: 100%;
      height: 40px;
      min-height: 40px;
      margin: 0;
      padding: 0 14px;
      font-size: 0.88rem;
      line-height: 1.2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      box-sizing: border-box;
    }
    #panel-citas-notificaciones .citas-notif-h {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
      font-size: 1rem;
      color: var(--bd-ink, var(--text));
    }
    #panel-citas-notificaciones .citas-notif-h svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-citas-notificaciones .citas-notif-calls-card {
      padding: 16px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: var(--bd-radius-lg, 10px);
      background: var(--bd-n-0, var(--card));
      color: var(--bd-ink, var(--text));
    }
    #panel-citas-notificaciones .citas-notif-calls-card--legal {
      background: var(--bd-g-50, var(--card));
    }
    #panel-citas-notificaciones .citas-notif-legal-row {
      margin: 0 0 8px;
      font-size: 0.86rem;
      line-height: 1.35;
    }
    #panel-citas-notificaciones .citas-notif-legal-row strong {
      display: inline-block;
      min-width: 7.2em;
      color: var(--bd-ink, var(--text));
    }
    #panel-citas-notificaciones .citas-notif-retry-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px 12px;
    }
    #panel-citas-notificaciones .citas-notif-retry-grid label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.88rem;
      color: var(--bd-ink, var(--text));
    }
    @media (max-width: 900px) {
      #panel-citas-notificaciones .citas-notif-calls-grid {
        grid-template-columns: 1fr;
      }
      #panel-citas-notificaciones .citas-notif-calls-side {
        height: auto;
        min-height: 0;
        overflow: visible;
      }
      #panel-citas-notificaciones .citas-notif-emit__list {
        max-height: min(420px, 50vh);
      }
    }
    #panel-citas-notificaciones .citas-notif-emit {
      margin-top: 0;
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    #panel-citas-notificaciones .citas-notif-emit__list {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
    }
    #panel-citas-notificaciones .citas-notif-emit__ranges {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 12px;
    }
    #panel-citas-notificaciones .citas-notif-emit__ranges .btn,
    #panel-citas-notificaciones .citas-notif-emit__nav .btn,
    #panel-dev-centralita .citas-notif-emit__nav .btn {
      width: auto;
      height: 40px;
    }
    #panel-citas-notificaciones .citas-notif-emit__ranges .btn[aria-pressed="true"] {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .citas-notif-emit__nav {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }
    .citas-notif-emit__nav .btn-icon {
      width: 40px;
      height: 40px;
      flex: 0 0 40px;
    }
    .citas-notif-emit__nav-body {
      flex: 1;
      min-width: 0;
      text-align: center;
    }
    .citas-notif-emit__nav-body strong {
      display: block;
      font-size: 1.25rem;
      color: var(--bd-ink, var(--text));
    }
    #panel-dev-centralita .citas-notif-emit__nav-body strong,
    #centralita-hist-modal .citas-notif-emit__nav-body strong {
      background: none;
      border: none;
      padding: 0;
      color: var(--bd-ink, var(--text));
    }
    .citas-notif-emit__list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .citas-notif-emit__row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px 12px;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
    }
    .citas-notif-emit__row strong {
      color: var(--bd-ink, var(--text));
    }
    .citas-notif-emit__meta {
      font-size: 0.78rem;
      color: var(--bd-ink-soft, var(--muted, #64748b));
    }
    .citas-notif-emit__cost {
      font-variant-numeric: tabular-nums;
      font-weight: 700;
      color: var(--bd-ink, var(--text));
      align-self: center;
    }
    .centralita-out-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: stretch;
      gap: 12px;
    }
    .centralita-in-grid {
      margin: 0 0 18px;
    }
    .centralita-in-tile {
      cursor: pointer;
    }
    .centralita-in-tile .centralita-stat-percall {
      margin-top: 2px;
      text-align: center;
    }
    .centralita-stat-card--click {
      cursor: pointer;
    }
    .centralita-stat-card--click:hover,
    .centralita-stat-card--click:focus-visible {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .centralita-bill-shops {
      display: flex;
      align-items: stretch;
      justify-content: flex-start;
      gap: 18px;
      margin: 0 0 18px;
    }
    .centralita-bill-sep {
      flex: 0 0 1px;
      width: 1px;
      align-self: stretch;
      min-height: 96px;
      background: var(--bd-n-200, var(--border));
    }
    .centralita-bill-all {
      flex: 0 0 168px;
      width: 168px;
      max-width: 200px;
      min-width: 140px;
    }
    .centralita-bill-all__logos {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-content: center;
      gap: 4px;
      width: 100%;
      max-height: 88px;
      overflow: hidden;
    }
    .centralita-bill-all__logos img,
    .centralita-bill-all__ph {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      object-fit: cover;
      background: var(--bd-n-50, #f8fafc);
      flex: 0 0 auto;
    }
    .centralita-bill-all__ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.55rem;
      font-weight: 700;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-bill-all__logos:has(> :nth-child(10)) img,
    .centralita-bill-all__logos:has(> :nth-child(10)) .centralita-bill-all__ph {
      width: 18px;
      height: 18px;
    }
    .centralita-bill-all__logos:has(> :nth-child(18)) img,
    .centralita-bill-all__logos:has(> :nth-child(18)) .centralita-bill-all__ph {
      width: 14px;
      height: 14px;
    }
    .centralita-bill-all__more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 22px;
      height: 22px;
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--bd-ink-soft, #64748b);
    }
    #centralita-bill-grid.centralita-in-grid {
      margin: 0;
      flex: 1 1 auto;
      min-width: 0;
      justify-content: flex-start;
    }
    @media (max-width: 719.98px) {
      .centralita-bill-shops {
        flex-direction: column;
        align-items: center;
      }
      .centralita-bill-sep {
        width: min(200px, 60%);
        height: 1px;
        min-height: 1px;
        flex-basis: 1px;
      }
    }
    #centralita-hist-modal.bardev-modal-overlay {
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .centralita-hist-panel {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-height: var(--bardev-modal-content-cap, calc((100dvh - 30px) * 0.8));
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0;
      box-sizing: border-box;
    }
    .centralita-hist-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex: 0 0 auto;
      padding: 14px 16px;
      border-bottom: 1px solid var(--bd-n-200, var(--border));
    }
    .centralita-hist-head h3 {
      margin: 0;
      font-size: 1.1rem;
      color: var(--bd-ink, var(--text));
    }
    .centralita-hist-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
      padding: 14px 16px;
    }
    .centralita-hist-ranges {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 12px;
    }
    .centralita-period {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      margin: 4px 0 18px;
    }
    .centralita-period .centralita-hist-ranges {
      justify-content: center;
      margin-bottom: 0;
    }
    .centralita-period .citas-notif-emit__nav {
      justify-content: center;
      width: min(480px, 100%);
      margin-bottom: 0;
    }
    #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn,
    #panel-dev-centralita .centralita-period .citas-notif-emit__nav .btn {
      width: auto;
      height: 40px;
    }
    #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn.centralita-period-btn.is-on,
    #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn[aria-pressed="true"],
    html.bardev-panel-theme-light #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn.secondary.centralita-period-btn.is-on,
    html.bardev-panel-theme-light #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn.secondary[aria-pressed="true"],
    html.bardev-panel-theme-light #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn.secondary.centralita-period-btn.is-on:hover:not(:disabled),
    html.bardev-panel-theme-light #panel-dev-centralita .centralita-period .centralita-hist-ranges .btn.secondary[aria-pressed="true"]:hover:not(:disabled) {
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      box-shadow: none;
    }
    #centralita-hist-modal .centralita-hist-ranges {
      justify-content: center;
    }
    #centralita-hist-modal .citas-notif-emit__nav {
      justify-content: center;
    }
    #centralita-hist-modal .centralita-hist-ranges .btn,
    #centralita-hist-modal .citas-notif-emit__nav .btn {
      width: auto;
      height: 40px;
    }
    #centralita-hist-modal .centralita-hist-ranges .btn.centralita-period-btn.is-on,
    #centralita-hist-modal .centralita-hist-ranges .btn[aria-pressed="true"],
    html.bardev-panel-theme-light #centralita-hist-modal .centralita-hist-ranges .btn.secondary.centralita-period-btn.is-on,
    html.bardev-panel-theme-light #centralita-hist-modal .centralita-hist-ranges .btn.secondary[aria-pressed="true"],
    html.bardev-panel-theme-light #centralita-hist-modal .citas-notif-emit__ranges .btn.secondary.centralita-period-btn.is-on,
    html.bardev-panel-theme-light #centralita-hist-modal .citas-notif-emit__ranges .btn.secondary[aria-pressed="true"],
    html.bardev-panel-theme-light #centralita-hist-modal .centralita-hist-ranges .btn.secondary.centralita-period-btn.is-on:hover:not(:disabled),
    html.bardev-panel-theme-light #centralita-hist-modal .centralita-hist-ranges .btn.secondary[aria-pressed="true"]:hover:not(:disabled) {
      background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      box-shadow: none;
    }
    #centralita-hist-modal .centralita-hist-row__aside {
      align-items: flex-end;
    }
    #centralita-hist-modal .centralita-cost-break {
      justify-content: flex-end;
      gap: 4px 6px;
    }
    #centralita-hist-modal .centralita-cost-svcs,
    #centralita-hist-modal .centralita-cost-svcs--compact {
      justify-content: flex-end;
      gap: 4px;
      margin-top: 0;
    }
    #centralita-hist-modal .centralita-cost-svc {
      padding: 2px 5px 2px 3px;
      gap: 3px;
      font-size: 0.62rem;
    }
    #centralita-hist-modal .centralita-cost-logo {
      width: 11px;
      height: 11px;
      border-radius: 3px;
    }
    #centralita-hist-modal .centralita-call-cost {
      font-size: 0.74rem;
    }
    .centralita-hist-list {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .centralita-hist-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px 12px;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
    }
    .centralita-hist-row strong {
      color: var(--bd-ink, var(--text));
    }
    .centralita-hist-row__meta {
      font-size: 0.78rem;
      color: var(--bd-ink-soft, var(--muted, #64748b));
    }
    .centralita-hist-row__aside {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      justify-self: end;
    }
    .centralita-hist-foot {
      flex: 0 0 auto;
      padding: 12px 16px 16px;
      border-top: 1px solid var(--bd-n-200, var(--border));
    }
    .centralita-hist-foot .bd-btn {
      width: 100%;
      justify-content: center;
      min-height: var(--bd-cta-h, 54px);
    }
    .centralita-bill-totals {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin: 4px 0 18px;
    }
    @media (max-width: 719.98px) {
      .centralita-bill-totals { grid-template-columns: 1fr; }
    }
    #centralita-panel-billing .centralita-period {
      margin-bottom: 18px;
    }
    .centralita-bill-split {
      display: block;
      margin-top: 4px;
      font-size: 0.74rem;
      color: var(--bd-ink-soft, #64748b);
      text-align: center;
      line-height: 1.35;
    }
    .centralita-hist-dir {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      flex: 0 0 28px;
      margin-right: 8px;
      vertical-align: middle;
    }
    .centralita-hist-dir--in {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-hist-dir--out {
      background: var(--c-naranja-50);
      color: var(--c-naranja-600);
    }
    .centralita-hist-row--dir {
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: start;
    }
    .centralita-out-tile {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      flex: 0 1 160px;
      width: 160px;
      max-width: 180px;
      min-width: 128px;
      box-sizing: border-box;
      padding: 14px 10px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 12px;
      background: var(--bd-n-0, #fff);
      cursor: pointer;
      color: var(--bd-ink, var(--text));
      text-align: center;
    }
    .centralita-out-grid:has(> :nth-child(7)) {
      gap: 10px;
    }
    .centralita-out-grid:has(> :nth-child(7)) .centralita-out-tile {
      flex-basis: 132px;
      width: 132px;
      max-width: 148px;
      min-width: 112px;
      padding: 10px 8px;
      gap: 6px;
    }
    .centralita-out-grid:has(> :nth-child(7)) .centralita-out-tile img,
    .centralita-out-grid:has(> :nth-child(7)) .centralita-out-tile__ph {
      width: 48px;
      height: 48px;
    }
    .centralita-out-grid:has(> :nth-child(12)) {
      gap: 8px;
    }
    .centralita-out-grid:has(> :nth-child(12)) .centralita-out-tile {
      flex-basis: 112px;
      width: 112px;
      max-width: 128px;
      min-width: 96px;
      padding: 8px 6px;
      gap: 4px;
    }
    .centralita-out-grid:has(> :nth-child(12)) .centralita-out-tile img,
    .centralita-out-grid:has(> :nth-child(12)) .centralita-out-tile__ph {
      width: 40px;
      height: 40px;
    }
    .centralita-out-grid:has(> :nth-child(12)) .centralita-out-tile strong {
      font-size: 0.76rem;
    }
    .centralita-out-tile:hover,
    .centralita-out-tile:focus-visible {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .centralita-out-tile img,
    .centralita-out-tile__ph {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      object-fit: cover;
      background: var(--bd-n-50, #f8fafc);
    }
    .centralita-out-tile__ph {
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .centralita-out-tile strong {
      font-size: 0.86rem;
    }
    .centralita-out-tile.is-selected {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    .centralita-out-detail {
      margin-top: 18px;
      padding: 14px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 12px;
      background: var(--bd-n-0, #fff);
    }
    .centralita-out-detail h3 {
      margin: 0 0 10px;
      font-size: 1.05rem;
    }
    .centralita-out-call {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px 14px;
      padding: 12px 0;
      border-top: 1px solid var(--bd-n-200, var(--border));
    }
    .centralita-out-call:first-of-type {
      border-top: 0;
    }
    .centralita-out-call__meta {
      font-size: 0.78rem;
      color: var(--bd-ink-soft, var(--muted, #64748b));
    }
    .centralita-out-result {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      margin-top: 0;
      padding: 6px 8px;
      border-radius: 12px;
      min-width: 78px;
      max-width: 104px;
      font-size: 0.72rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.15;
    }
    .centralita-out-result__ico {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
    }
    .centralita-out-result__ico svg {
      width: 32px;
      height: 32px;
      display: block;
    }
    .centralita-out-result__txt {
      font-size: 0.68rem;
      font-weight: 700;
      text-align: center;
      max-width: 92px;
    }
    .centralita-out-result--ok {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    .centralita-out-result--vm {
      background: var(--c-azul-50d);
      color: var(--c-azul-500);
    }
    .centralita-out-result--no {
      background: var(--bd-warn-50, #fffbeb);
      color: var(--c-naranja-700b);
    }
    .centralita-out-result--cancel {
      background: var(--bd-danger-50, #fef2f2);
      color: var(--c-rojo-650);
    }
    /* Estadísticas: pestañas en menú lateral (ocultar fila horizontal duplicada) */
    #panel-informes.informes-panel--sidebar-nav > .informes-tabs {
      display: none;
    }
    /* Developer → Configuración (plataforma): estilos de pestaña compartidos arriba (.dev-plataforma-tabs) */
    .dev-plataforma-tab-panel:not(.dev-plataforma-tab-panel--active) {
      display: none;
    }
    .dev-plataforma-tab-panel--active {
      display: block;
    }
    /* Plantillas de correo por idioma: selector con banderas bajo Confirmación/Modificación/Cancelación. */
    .bk-conf-lang-bar {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: 0 0 6px;
    }
    .bk-conf-lang-bar .btn {
      min-height: 34px;
      padding: 6px 12px;
      font-size: 0.86rem;
    }
    .bk-conf-lang-bar .bk-conf-lang--empty {
      opacity: 0.6;
      border-style: dashed;
    }
    .bk-conf-lang-note {
      margin: 0 0 12px;
      font-size: 0.82rem;
    }
    .bk-conf-templates-card {
      margin-top: 14px;
      padding: 16px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--card);
      display: flex;
      flex-direction: column;
      min-height: 0;
    }
    .bk-conf-editor-preview-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
      align-items: start;
    }
    .bk-conf-body-sync-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 40%);
      grid-template-rows: auto minmax(320px, min(560px, calc(100vh - 300px)));
      gap: 6px 14px;
      margin-top: 10px;
      align-items: stretch;
    }
    @media (max-width: 960px) {
      .bk-conf-body-sync-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto minmax(280px, 45vh) minmax(280px, 45vh);
      }
    }
    .bk-conf-body-sync-head--editor label {
      display: block;
      font-size: 0.82rem;
      margin: 0;
    }
    .bk-conf-body-sync-head--preview .bk-conf-preview-card__head {
      border-radius: 8px 8px 0 0;
      margin: 0;
    }
    .bk-conf-body-sync-scroll {
      overflow-y: auto;
      overflow-x: hidden;
      border: 1px solid var(--border);
      border-radius: 8px;
      min-height: 0;
      -webkit-overflow-scrolling: touch;
    }
    .bk-conf-body-sync-scroll--editor {
      background: var(--bg);
    }
    .bk-conf-body-sync-scroll--preview {
      background: var(--c-blanco);
      border-radius: 0 0 8px 8px;
    }
    .bk-conf-body-sync-scroll [data-bk-conf-pane][hidden] {
      display: none !important;
    }
    .bk-conf-preview-card {
      border: 0;
      border-radius: 0;
      overflow: visible;
      background: transparent;
      min-height: 0;
    }
    .bk-conf-preview-card__head {
      padding: 8px 12px;
      background: var(--c-azul-900);
      color: var(--c-pizarra-150);
      font-size: 0.76rem;
      line-height: 1.45;
    }
    .bk-conf-preview-card__head strong {
      display: block;
      margin-bottom: 4px;
      font-size: 0.8rem;
    }
    .bk-conf-preview-card__mode {
      display: inline-flex;
      align-items: center;
      margin: 0 0 4px 8px;
      padding: 1px 6px;
      border: 1px solid rgba(203, 213, 225, 0.32);
      border-radius: 999px;
      color: var(--c-pizarra-150);
      font-size: 0.66rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      vertical-align: middle;
      opacity: 0.88;
    }
    .bk-conf-preview-card__subject {
      display: block;
      word-break: break-word;
    }
    .bk-conf-preview-card__subject span {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    }
    #bk-conf-preview-frame {
      width: 100%;
      min-height: 480px;
      height: auto;
      border: 0;
      background: var(--c-blanco);
      display: block;
    }
    .bk-conf-templates-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      align-items: center;
      gap: 8px;
      margin-top: 14px;
    }
    .bk-conf-templates-actions .btn {
      width: auto !important;
      max-width: 100%;
      flex: 0 0 auto;
      margin-top: 0 !important;
      padding: 6px 14px;
      font-size: 0.78rem;
      white-space: nowrap;
    }
    .bk-conf-html-mode-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 10px;
      margin-bottom: 10px;
    }
    .bk-conf-html-mode-bar > .sub {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 600;
    }
    .bk-conf-html-mode-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .bk-conf-html-mode-tabs .btn {
      width: auto !important;
      margin-top: 0 !important;
      padding: 5px 12px;
      font-size: 0.76rem;
    }
    .bk-conf-html-code-wrap.hidden,
    .bk-conf-html-visual-wrap.hidden,
    .bk-conf-visual-toolbar.hidden {
      display: none !important;
    }
    .bk-conf-visual-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      padding: 8px 10px;
      margin-bottom: 8px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: rgba(0, 0, 0, 0.2);
    }
    html.bardev-panel-theme-light .bk-conf-visual-toolbar {
      background: rgba(15, 23, 42, 0.04);
    }
    .bk-conf-vis-sel {
      padding: 4px 8px;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.76rem;
      max-width: 140px;
    }
    .bk-conf-vis-size-capsule {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0;
      min-width: 58px;
      max-width: 72px;
      padding: 1px 3px 2px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: var(--bg);
      box-sizing: border-box;
    }
    .bk-conf-vis-size-capsule__tag {
      font-size: 0.42rem;
      line-height: 1;
      letter-spacing: 0.06em;
      font-weight: 600;
      color: var(--muted);
      user-select: none;
      padding: 1px 0 0;
    }
    .bk-conf-vis-size-capsule__row {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      width: 100%;
    }
    .bk-conf-vis-size-capsule__btn {
      border: 0;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      font-size: 0.62rem;
      line-height: 1;
      padding: 3px 5px 4px;
      border-radius: 4px;
      flex: 0 0 auto;
    }
    .bk-conf-vis-size-capsule__btn:hover:not(:disabled) {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
    }
    .bk-conf-vis-size-capsule__btn:disabled {
      opacity: 0.35;
      cursor: not-allowed;
    }
    .bk-conf-vis-size-capsule__val {
      flex: 1 1 auto;
      font-size: 0.68rem;
      font-weight: 700;
      line-height: 1.1;
      min-width: 1.4em;
      text-align: center;
      user-select: none;
      color: var(--text);
    }
    .bk-conf-vis-color {
      width: 34px;
      height: 30px;
      padding: 2px;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--bg);
      cursor: pointer;
    }
    .bk-conf-vis-lbl {
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--muted);
      line-height: 1;
      user-select: none;
    }
    .bk-conf-vis-btn:disabled {
      opacity: 0.42;
      cursor: not-allowed;
    }
    .bk-conf-vis-btn--undo {
      min-width: auto;
      padding: 0 10px;
      font-size: 0.78rem;
      white-space: nowrap;
    }
    .bk-conf-vis-target-capsule {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0;
      min-width: 84px;
      max-width: 128px;
      padding: 1px 3px 2px;
      border: 1px solid var(--border);
      border-radius: 999px;
      background: var(--bg);
      box-sizing: border-box;
    }
    .bk-conf-vis-target-capsule__tag {
      font-size: 0.42rem;
      line-height: 1;
      letter-spacing: 0.06em;
      font-weight: 600;
      color: var(--muted);
      user-select: none;
      padding: 1px 0 0;
    }
    .bk-conf-vis-target-capsule__row {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      width: 100%;
    }
    .bk-conf-vis-target-capsule__btn {
      border: 0;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      font-size: 0.62rem;
      line-height: 1;
      padding: 3px 5px 4px;
      border-radius: 4px;
      flex: 0 0 auto;
    }
    .bk-conf-vis-target-capsule__btn:hover:not(:disabled) {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
    }
    .bk-conf-vis-target-capsule__btn:disabled {
      opacity: 0.35;
      cursor: not-allowed;
    }
    .bk-conf-vis-target-capsule__val {
      flex: 1 1 auto;
      font-size: 0.68rem;
      font-weight: 700;
      line-height: 1.1;
      min-width: 2.8em;
      max-width: 5.5em;
      text-align: center;
      user-select: none;
      color: var(--text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .bk-conf-vis-btn {
      min-width: 32px;
      height: 30px;
      padding: 0 8px;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.82rem;
      cursor: pointer;
      line-height: 1;
    }
    .bk-conf-vis-btn:hover {
      border-color: var(--brand, var(--bv-g-10b981, #10b981));
    }
    .bk-conf-vis-btn[aria-pressed='true'] {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.18);
      border-color: var(--brand, var(--bv-g-10b981, #10b981));
    }
    .bk-conf-visual-frame-wrap {
      border: 0;
      border-radius: 0;
      overflow: visible;
      background: var(--c-blanco);
      min-height: 0;
    }
    .bk-conf-visual-frame {
      width: 100%;
      min-height: 480px;
      height: auto;
      border: 0;
      display: block;
      background: var(--c-blanco);
    }
    .bk-conf-html-textarea {
      width: 100%;
      box-sizing: border-box;
      min-height: 480px;
      height: auto;
      padding: 10px;
      border: 0;
      border-radius: 0;
      background: var(--bg);
      color: var(--text);
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 0.78rem;
      line-height: 1.45;
      resize: none;
      display: block;
    }
    .bk-conf-html-visual-hint {
      margin: 0 0 8px;
      font-size: 0.72rem;
      line-height: 1.4;
      color: var(--muted);
    }
    .bk-conf-html-visual-hint--in-head {
      margin: 4px 0 0;
    }
    /* Servicios reservables: mismas reglas que informes, clase propia (evita informesSetTab global) */
    .svc-res-tab-panel:not(.svc-res-tab-panel--active) {
      display: none;
    }
    .svc-res-tab-panel.svc-res-tab-panel--active {
      display: block;
    }
    .svc-res-config-panel:not(.svc-res-config-panel--active) {
      display: none;
    }
    .svc-res-config-panel.svc-res-config-panel--active {
      display: block;
    }
    /* Ofertas de servicios: acciones compactas (cuadrados) */
    .svc-oferta-actions-cell {
      white-space: nowrap;
      vertical-align: middle;
    }
    .svc-oferta-actions-cell .svc-oferta-actions {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      gap: 4px;
    }
    .svc-oferta-action-btn {
      width: 30px;
      height: 30px;
      min-width: 30px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.72rem;
      line-height: 1;
      border-radius: 6px;
    }
    .svc-oferta-webapp-toggle {
      min-width: 44px;
      width: auto;
      height: 28px;
      padding: 0 8px;
      font-size: 0.68rem;
      font-weight: 600;
      border-radius: 6px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .svc-oferta-webapp-toggle--on {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.2);
      color: var(--ok, var(--bv-g-34d399, #34d399));
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.45);
    }
    .svc-oferta-webapp-toggle--off {
      opacity: 0.75;
    }
    .svc-pick-color--selected {
      box-shadow: 0 0 0 2px var(--ok, var(--bv-g-34d399, #34d399)), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
    }
    html.bardev-panel-theme-light .svc-pick-color--selected {
      box-shadow: 0 0 0 2px var(--c-azul-450), 0 2px 8px rgba(15, 23, 42, 0.12) !important;
    }
    /* Servicios reservables: color siempre a la izquierda del nombre (columna fija + texto) */
    .svc-name-cell {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: center;
      gap: 8px;
      vertical-align: middle;
      min-width: 0;
    }
    .svc-name-cell__label {
      min-width: 0;
    }
    .svc-name-cell > .svc-name-cell__label:only-child {
      grid-column: 1 / -1;
    }
    .svc-agenda-swatch {
      display: inline-block;
      width: 14px;
      height: 14px;
      border-radius: 4px;
      flex-shrink: 0;
      border: 1px solid rgba(15, 23, 42, 0.2);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
    }
    .svc-f-image-preview {
      width: 64px;
      height: 64px;
      border-radius: 10px;
      border: 1px dashed var(--border);
      background: rgba(255, 255, 255, 0.04);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.65rem;
      color: var(--muted);
      overflow: hidden;
      flex-shrink: 0;
    }
    .svc-cat-table-header {
      padding: 4px 0 !important;
      border-bottom: none !important;
      background: transparent !important;
    }
    .svc-cat-table-header__inner {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 2px 12px;
      margin: 4px 14px;
      border-radius: 7px;
      background: rgba(100, 116, 139, 0.32);
      border: none;
      color: var(--text, #e2e8f0);
      min-height: 22px;
    }
    html.bardev-panel-theme-light .svc-cat-table-header__inner {
      background: var(--c-gris-50f);
      border: 1px solid rgba(15, 23, 42, 0.08);
      color: var(--c-azul-900b);
      box-shadow: none;
    }
    .svc-cat-table-header__ico {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(148, 163, 184, 0.95);
    }
    html.bardev-panel-theme-light .svc-cat-table-header__ico {
      color: var(--c-pizarra-550);
    }
    .svc-cat-table-header__ico svg {
      display: block;
      opacity: 0.95;
      width: 14px !important;
      height: 14px !important;
    }
    .svc-cat-table-header__img {
      width: 20px;
      height: 20px;
      border-radius: 5px;
      object-fit: cover;
      flex-shrink: 0;
      border: none;
    }
    .svc-cat-table-header__ph {
      width: 18px;
      height: 18px;
      border-radius: 5px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 0.65rem;
      background: rgba(255, 255, 255, 0.08);
      color: var(--ok, var(--bv-g-34d399, #34d399));
      border: none;
    }
    /* Servicios básicos / combinados: sangría de filas de datos bajo cabecera de sección */
    tbody.svc-cat-tbody tr.svc-res-svc-row td:first-child,
    tbody.svc-oferta-cat-tbody tr.svc-res-svc-row td:first-child,
    tbody.svc-comp-tbody tr.svc-res-svc-row td:first-child {
      padding-left: 1.35rem;
      border-left: 3px solid rgba(148, 163, 184, 0.22);
    }
    html.bardev-panel-theme-light tbody.svc-cat-tbody tr.svc-res-svc-row td:first-child,
    html.bardev-panel-theme-light tbody.svc-oferta-cat-tbody tr.svc-res-svc-row td:first-child,
    html.bardev-panel-theme-light tbody.svc-comp-tbody tr.svc-res-svc-row td:first-child {
      border-left-color: rgba(100, 116, 139, 0.25);
    }
    .svc-cat-table-header__txt {
      flex: 1;
      min-width: 0;
      font-size: 0.82rem;
      line-height: 1.15;
    }
    .svc-cat-table-header__txt strong {
      font-weight: 700;
    }
    .svc-cat-table-header__acts {
      display: flex;
      gap: 4px;
      flex-shrink: 0;
    }
    .svc-cat-table-header__acts .btn {
      padding: 2px 8px !important;
      font-size: 0.72rem !important;
      min-height: 22px !important;
      line-height: 1 !important;
    }
    .svc-modal-agenda-preview-wrap {
      margin-top: 10px;
      padding: 12px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.03);
      position: relative;
      overflow: visible;
      max-width: 100%;
      box-sizing: border-box;
    }
    .svc-modal-agenda-preview-wrap .agenda-card,
    .agenda-card.agenda-card--modal-preview {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      right: auto !important;
      bottom: auto !important;
      inset: auto !important;
      min-height: 72px !important;
      height: auto !important;
      width: 100%;
      max-width: 100%;
      cursor: default;
      pointer-events: none;
      z-index: auto !important;
      flex-shrink: 0;
      /* Sin container queries: en el modal no hay altura de cajón real y cqh/overflow recortan el texto. */
      container-type: normal !important;
      --agenda-text-scale: 1 !important;
      overflow: visible !important;
    }
    html.bardev-panel-theme-light .svc-modal-agenda-preview-wrap .agenda-card.agenda-card--modal-preview {
      position: relative !important;
      isolation: auto !important;
      min-height: 72px !important;
      height: auto !important;
    }
    .svc-modal-agenda-preview-wrap .agenda-card__body {
      padding: 8px calc(var(--agenda-rail-icon) + 8px) 8px 0 !important;
      min-height: auto !important;
      overflow: visible !important;
      gap: 4px !important;
    }
    .svc-modal-agenda-preview-wrap .agenda-card__time,
    .svc-modal-agenda-preview-wrap .agenda-card__name-text,
    .svc-modal-agenda-preview-wrap .agenda-card__svc {
      font-size: 0.85rem !important;
      line-height: 1.25 !important;
      white-space: normal !important;
      overflow: visible !important;
      text-overflow: clip !important;
    }
    .svc-modal-agenda-preview-wrap .agenda-card__name-row {
      flex-direction: column !important;
      align-items: flex-start !important;
      overflow: visible !important;
      gap: 2px !important;
    }
    .svc-modal-agenda-preview-wrap .agenda-card__name-svc-group {
      overflow: visible !important;
      flex-wrap: wrap !important;
    }
    .informes-aside {
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 14px 16px;
      background: rgba(0, 0, 0, 0.2);
    }
    .informes-aside h3 {
      margin: 0 0 12px;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
    }
    .informes-report-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .informes-report-list li {
      margin: 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .informes-report-list li:last-child {
      border-bottom: none;
    }
    .informes-report-list button {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 10px 4px;
      background: none;
      border: none;
      color: var(--text);
      font-size: 0.88rem;
      text-align: left;
      cursor: pointer;
      font-family: inherit;
    }
    .informes-report-list button:hover {
      color: var(--ok);
    }
    .informes-report-list button span:last-child {
      color: var(--muted);
      font-size: 0.85rem;
    }
    .informes-chart-wrap {
      position: relative;
      height: 220px;
      margin: 12px 0 20px;
    }
    .informes-chart-wrap--tall {
      height: 260px;
    }
    .informes-chart-title {
      font-size: 0.92rem;
      font-weight: 600;
      margin: 0 0 4px;
    }
    .informes-chart-legend {
      font-size: 0.75rem;
      color: var(--muted);
      margin-bottom: 8px;
    }
    .informes-kpi-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 16px;
    }
    @media (max-width: 1100px) {
      .informes-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    @media (max-width: 640px) {
      .informes-kpi-grid {
        grid-template-columns: 1fr;
      }
      .informes-kpi-grid .informes-kpi-card {
        grid-column: 1 / -1 !important;
      }
    }
    .informes-kpi-card {
      position: relative;
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 12px 14px;
      background: rgba(0, 0, 0, 0.15);
      grid-column: span var(--kpi-span, 1);
      min-width: 0;
      user-select: none;
      -webkit-user-select: none;
      -webkit-touch-callout: none;
    }
    .informes-kpi-card__head {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 4px;
      padding-right: 22px;
      min-width: 0;
      cursor: grab;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
    }
    .informes-kpi-card__head:active {
      cursor: grabbing;
    }
    .informes-kpi-card.is-kpi-dragging {
      opacity: 0.55;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
      z-index: 3;
    }
    .informes-kpi-card.is-kpi-drop-target {
      outline: 2px dashed color-mix(in srgb, var(--panel-section-accent, #3b82f6) 55%, transparent);
      outline-offset: 2px;
    }
    .informes-kpi-card__icon {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: color-mix(in srgb, var(--panel-section-accent, var(--ok)) 16%, transparent);
      color: var(--panel-section-accent, var(--ok));
      border: 1px solid color-mix(in srgb, var(--panel-section-accent, var(--ok)) 28%, transparent);
    }
    .informes-kpi-card__icon svg {
      width: 12px;
      height: 12px;
      display: block;
    }
    .informes-kpi-card__head .sub {
      margin-bottom: 0;
      flex: 1;
      min-width: 0;
      line-height: 1.25;
    }
    .informes-kpi-card__cycle {
      position: absolute;
      top: 6px;
      right: 6px;
      z-index: 3;
      width: 14px;
      height: 14px;
      padding: 0;
      margin: 0;
      border: 0;
      border-radius: 50%;
      background: transparent;
      color: var(--c-blanco);
      box-shadow: none;
      display: block;
      cursor: pointer;
      font-family: inherit;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
      overflow: visible;
    }
    .informes-kpi-card__cycle-n {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      border: 0;
      background: var(--c-pizarra-550);
      color: var(--c-blanco);
      font-size: 8px;
      font-weight: 700;
      line-height: 1;
      text-align: center;
      padding: 0;
      box-sizing: border-box;
      pointer-events: none;
      font-family: inherit;
      letter-spacing: 0;
    }
    .informes-kpi-card__cycle:hover .informes-kpi-card__cycle-n,
    .informes-kpi-card__cycle.is-holding .informes-kpi-card__cycle-n {
      background: var(--c-pizarra-650);
      color: var(--c-blanco);
    }
    .informes-kpi-card__cycle.is-holding {
      transform: none;
    }
    html.bardev-panel-theme-light .informes-kpi-card__cycle {
      background: transparent;
      border: 0;
    }
    html.bardev-panel-theme-light .informes-kpi-card__cycle-n {
      background: var(--c-pizarra-550);
      color: var(--c-blanco);
    }
    html.bardev-panel-theme-light .informes-kpi-card__cycle:hover .informes-kpi-card__cycle-n,
    html.bardev-panel-theme-light .informes-kpi-card__cycle.is-holding .informes-kpi-card__cycle-n {
      background: var(--c-pizarra-650);
      color: var(--c-blanco);
    }
    .informes-kpi-card[data-kpi-span='2'] .informes-card-compare-wrap {
      height: 84px;
    }
    .informes-kpi-card[data-kpi-span='3'] .informes-card-compare-wrap {
      height: 100px;
    }
    .informes-kpi-card .sub {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 4px;
    }
    .informes-kpi-card strong {
      font-size: 1.35rem;
      display: block;
    }
    .informes-kpi-delta {
      font-size: 0.8rem;
      margin-top: 4px;
    }
    .informes-kpi-delta--down {
      color: var(--c-rojo-300);
    }
    .informes-kpi-delta--up {
      color: var(--bv-g-34d399, #34d399);
    }
    .informes-clientes-top-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
      align-items: start;
    }
    .informes-client-top-card[data-informes-top-card-wrap='asistencia'] {
      grid-column: 1;
      grid-row: 1;
    }
    .informes-client-top-card[data-informes-top-card-wrap='gastado'] {
      grid-column: 2;
      grid-row: 1;
    }
    .informes-clientes-compare-card {
      grid-column: 3;
      grid-row: 1;
      min-width: 0;
    }
    .informes-client-top-card[data-informes-top-card-wrap='productos'] {
      grid-column: 1 / span 2;
      grid-row: 2;
    }
    .informes-client-top-card[data-informes-top-card-wrap='frecuencia'] {
      grid-column: 3;
      grid-row: 2;
    }
    .informes-clientes-retorno-card {
      grid-column: 1 / -1;
      grid-row: 3;
      min-width: 0;
    }
    .informes-client-retorno-hero {
      margin: 18px 0 6px;
      font-size: 1.85rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      text-align: center;
      line-height: 1.2;
    }
    html.bardev-panel-theme-light .informes-client-retorno-hero {
      color: var(--bd-ink, #0f172a);
    }
    .informes-client-retorno-sub {
      margin: 0;
      text-align: center;
      font-size: 0.82rem;
      opacity: 0.85;
    }
    @media (max-width: 960px) {
      .informes-clientes-top-grid {
        grid-template-columns: 1fr;
      }
      .informes-client-top-card[data-informes-top-card-wrap='asistencia'],
      .informes-client-top-card[data-informes-top-card-wrap='gastado'],
      .informes-clientes-compare-card,
      .informes-client-top-card[data-informes-top-card-wrap='productos'],
      .informes-client-top-card[data-informes-top-card-wrap='frecuencia'],
      .informes-clientes-retorno-card {
        grid-column: 1;
        grid-row: auto;
      }
    }
    .informes-client-top-card {
      min-height: 0;
      min-width: 0;
    }
    .informes-client-top-nav {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      margin-top: 6px;
    }
    .informes-top-svc-card {
      margin-top: 0;
    }
    .informes-ing-head-card {
      margin-bottom: 12px;
    }
    .informes-ing-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
      margin-bottom: 16px;
    }
    @media (max-width: 900px) {
      .informes-ing-stats-grid {
        grid-template-columns: 1fr;
      }
    }
    .informes-ing-stat-card {
      min-width: 0;
    }
    .informes-ing-stat-card--wide {
      grid-column: 1 / -1;
    }
    .informes-ing-attach-kpis {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin: 14px 0 4px;
    }
    @media (max-width: 720px) {
      .informes-ing-attach-kpis {
        grid-template-columns: 1fr;
      }
    }
    .informes-ing-attach-kpi {
      text-align: center;
    }
    .informes-ing-attach-kpi strong {
      display: block;
      font-size: 2rem;
      letter-spacing: -0.03em;
      line-height: 1.1;
      color: var(--bd-ink, #0f172a);
    }
    .informes-ing-attach-kpi span {
      display: block;
      margin-top: 6px;
      font-size: 0.78rem;
      line-height: 1.35;
      color: var(--bd-ink-soft, #475569);
    }
    .informes-ing-attach-dist-lbl {
      margin: 14px 0 0;
      text-align: center;
    }
    .informes-ing-attach-bar-fill--one {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.9);
    }
    .informes-ing-attach-bar-fill--two {
      background: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.75);
    }
    .informes-ing-attach-bar-fill--more {
      background: rgba(var(--bv-g-rgb-065f46, 6, 95, 70), 0.7);
    }
    .informes-inv-head-card {
      margin-bottom: 12px;
    }
    .informes-inv-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
      margin-bottom: 16px;
    }
    @media (max-width: 900px) {
      .informes-inv-stats-grid {
        grid-template-columns: 1fr;
      }
    }
    .informes-inv-stat-card {
      min-width: 0;
    }
    .informes-inv-stat-card--wide {
      grid-column: 1 / -1;
    }
    .informes-caja-head-card {
      margin-bottom: 12px;
    }
    .informes-caja-hero-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 16px;
    }
    @media (max-width: 900px) {
      .informes-caja-hero-grid {
        grid-template-columns: 1fr;
      }
      .informes-caja-hero-grid .informes-caja-hero-card {
        grid-column: 1 / -1 !important;
      }
    }
    .informes-caja-hero-card {
      position: relative;
      border-radius: 14px;
      padding: 16px 18px;
      border: 1px solid transparent;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 4px 14px;
      align-items: center;
      min-width: 0;
      user-select: none;
      -webkit-user-select: none;
      -webkit-touch-callout: none;
    }
    .informes-caja-hero-card__label {
      padding-right: 0;
      cursor: grab;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
    }
    .informes-caja-hero-card__label:active {
      cursor: grabbing;
    }
    .informes-caja-hero-card.is-kpi-dragging {
      opacity: 0.55;
      box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
      z-index: 3;
    }
    .informes-caja-hero-card.is-kpi-drop-target {
      outline: 2px dashed color-mix(in srgb, var(--panel-section-accent, #3b82f6) 55%, transparent);
      outline-offset: 2px;
    }
    .informes-caja-hero-card__badge {
      grid-row: 1 / span 2;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 1.35rem;
      line-height: 1;
      cursor: grab;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
    }
    .informes-caja-hero-card__label {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--muted);
      margin: 0;
    }
    .informes-caja-hero-card__value {
      font-size: 1.55rem;
      font-weight: 700;
      margin: 0;
      line-height: 1.15;
    }
    .informes-caja-hero-card__delta {
      grid-column: 2;
      font-size: 0.78rem;
      margin-top: 2px;
    }
    .informes-caja-hero-card--ing {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.32);
    }
    .informes-caja-hero-card--ing .informes-caja-hero-card__badge {
      background: rgba(var(--bv-g-rgb-059669, 5, 150, 105), 0.85);
      color: var(--c-blanco);
    }
    .informes-caja-hero-card--gas {
      background: rgba(248, 113, 113, 0.18);
      border-color: rgba(248, 113, 113, 0.32);
    }
    .informes-caja-hero-card--gas .informes-caja-hero-card__badge {
      background: rgba(220, 38, 38, 0.85);
      color: var(--c-blanco);
    }
    .informes-caja-hero-card--net {
      background: rgba(96, 165, 250, 0.18);
      border-color: rgba(96, 165, 250, 0.32);
    }
    .informes-caja-hero-card--net .informes-caja-hero-card__badge {
      background: rgba(37, 99, 235, 0.85);
      color: var(--c-blanco);
    }
    html.bardev-panel-theme-light .informes-caja-hero-card--ing {
      background: linear-gradient(135deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--bv-g-d1fae5, #d1fae5) 100%);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.22);
    }
    html.bardev-panel-theme-light .informes-caja-hero-card--gas {
      background: linear-gradient(135deg, var(--c-rojo-50b) 0%, var(--c-rojo-50) 100%);
      border-color: rgba(239, 68, 68, 0.22);
    }
    html.bardev-panel-theme-light .informes-caja-hero-card--net {
      background: linear-gradient(135deg, var(--c-azul-50d) 0%, var(--c-azul-50) 100%);
      border-color: rgba(59, 130, 246, 0.22);
    }
    html.bardev-panel-theme-light .informes-caja-hero-card__label {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .informes-caja-hero-card__value {
      color: var(--c-azul-900b);
    }
    .informes-caja-charts-duo {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap: 14px;
      margin: 16px 0;
      align-items: start;
    }
    @media (max-width: 900px) {
      .informes-caja-charts-duo {
        grid-template-columns: 1fr;
      }
    }
    .informes-caja-chart-block {
      min-width: 0;
    }
    .informes-caja-donut-wrap {
      min-height: 220px;
    }
    .informes-caja-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
      margin-bottom: 8px;
    }
    @media (max-width: 900px) {
      .informes-caja-stats-grid {
        grid-template-columns: 1fr;
      }
    }
    .informes-caja-stat-card {
      min-width: 0;
    }
    .informes-caja-stat-card--wide {
      grid-column: 1 / -1;
    }
    #panel-informes #informes-panel-caja-mov .informes-kpi-grid .informes-kpi-card {
      border-radius: 12px;
    }
    .informes-emp-head-card {
      margin-bottom: 12px;
    }
    .informes-emp-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
      margin-bottom: 16px;
    }
    @media (max-width: 900px) {
      .informes-emp-stats-grid {
        grid-template-columns: 1fr;
      }
    }
    .informes-emp-stat-card {
      min-width: 0;
    }
    .informes-emp-stat-card--wide {
      grid-column: 1 / -1;
    }
    .informes-citas-head-card {
      margin-bottom: 12px;
    }
    .informes-citas-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
    }
    @media (max-width: 900px) {
      .informes-citas-stats-grid {
        grid-template-columns: 1fr;
      }
    }
    .informes-citas-stat-card {
      min-width: 0;
    }
    .informes-citas-heatmap-wrap {
      overflow-x: auto;
      margin-top: 8px;
    }
    .informes-citas-heatmap {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.68rem;
    }
    .informes-citas-heatmap th,
    .informes-citas-heatmap td {
      text-align: center;
      padding: 4px 2px;
      border: 1px solid var(--border);
    }
    .informes-citas-heatmap th {
      font-weight: 600;
      color: var(--muted);
      background: rgba(0, 0, 0, 0.08);
    }
    html.bardev-panel-theme-light .informes-citas-heatmap th {
      background: rgba(15, 23, 42, 0.04);
    }
    .informes-citas-heatmap td {
      min-width: 2.4rem;
      font-weight: 600;
      color: var(--text);
    }
    .informes-citas-heatmap td.informes-citas-heat--empty {
      opacity: 0.35;
      font-weight: 500;
    }
    .informes-citas-svc-caps {
      margin-top: 8px;
    }
    .informes-card-compare {
      margin-top: 10px;
      padding: 0;
      border: none;
      background: none;
      box-shadow: none;
    }
    .informes-card-compare-label {
      display: block;
      margin: 0 0 6px;
      padding: 0;
      font-size: 0.62rem;
      font-weight: 600;
      line-height: 1.25;
      letter-spacing: 0.03em;
      color: var(--muted);
      opacity: 0.88;
      border: none !important;
      border-radius: 0 !important;
      background: none !important;
      box-shadow: none !important;
      outline: none;
    }
    html.bardev-panel-theme-light #panel-informes .informes-card-compare-label {
      color: var(--c-pizarra-550);
      opacity: 1;
    }
    .informes-card-compare-cap,
    .informes-kpi-card .informes-card-compare-cap {
      display: block;
      margin: 0 0 6px;
      padding: 0;
      font-size: 0.62rem;
      font-weight: 600;
      line-height: 1.25;
      letter-spacing: 0.03em;
      color: var(--muted);
      opacity: 0.88;
      text-transform: none;
      border: none !important;
      border-radius: 0 !important;
      background: none !important;
      box-shadow: none !important;
      outline: none;
    }
    html.bardev-panel-theme-light #panel-informes .informes-card-compare-cap {
      color: var(--c-pizarra-550);
      opacity: 1;
    }
    .informes-card-compare-wrap {
      position: relative;
      height: 68px;
      width: 100%;
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      border: none !important;
      border-radius: 0 !important;
      background: none !important;
      box-shadow: none !important;
      outline: none;
    }
    html.bardev-panel-theme-light .informes-card-compare-wrap {
      background: none !important;
      border: none !important;
      box-shadow: none !important;
    }
    .informes-card-compare-wrap canvas {
      display: block;
      width: 100% !important;
      height: 68px !important;
    }
    .informes-clientes-head-card {
      margin-bottom: 12px;
    }
    .informes-clientes-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
    }
    @media (max-width: 900px) {
      .informes-clientes-stats-grid {
        grid-template-columns: 1fr;
      }
    }
    .informes-clientes-stat-card {
      min-width: 0;
    }
    .informes-clientes-stat-card--wide {
      grid-column: 1 / -1;
    }
    .informes-clientes-inactive-list {
      list-style: none;
      margin: 8px 0 0;
      padding: 0;
    }
    .informes-clientes-inactive-list li {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 0;
      border-bottom: 1px solid var(--border);
      font-size: 0.78rem;
    }
    .informes-clientes-inactive-list li:last-child {
      border-bottom: none;
    }
    .informes-clientes-inactive-days {
      margin-left: auto;
      font-weight: 600;
      color: var(--c-ambar-450b);
      white-space: nowrap;
    }
    .informes-client-top-caps {
      display: inline-flex;
      padding: 2px;
      border-radius: 999px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.12);
      gap: 2px;
    }
    html.bardev-panel-theme-light .informes-client-top-caps {
      background: rgba(15, 23, 42, 0.04);
    }
    .informes-client-top-cap {
      border: none;
      background: transparent;
      color: var(--muted);
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      padding: 4px 10px;
      border-radius: 999px;
      cursor: pointer;
      line-height: 1.2;
      font-family: inherit;
    }
    .informes-client-top-cap:hover {
      color: var(--text);
    }
    .informes-client-top-cap--active {
      background: var(--card);
      color: var(--text);
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    }
    html.bardev-panel-theme-light .informes-client-top-cap--active {
      background: var(--c-blanco);
    }
    .informes-client-top-step {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      flex-wrap: wrap;
      width: 100%;
    }
    .informes-client-top-arrow {
      width: 26px;
      height: 26px;
      border-radius: 999px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      cursor: pointer;
      font-size: 1rem;
      line-height: 1;
      padding: 0;
      flex-shrink: 0;
      font-family: inherit;
    }
    .informes-client-top-arrow:hover {
      border-color: color-mix(in srgb, var(--ok) 45%, var(--border));
    }
    .informes-client-top-period-lbl {
      font-size: 0.72rem;
      font-weight: 600;
      opacity: 0.9;
      min-width: 0;
    }
    .informes-client-top-period-lbl--pickable {
      cursor: pointer;
      border-radius: 4px;
      padding: 2px 4px;
      margin: -2px -4px;
    }
    .informes-client-top-period-lbl--pickable:hover,
    .informes-client-top-period-lbl--pickable:focus-visible {
      opacity: 1;
      background: color-mix(in srgb, var(--ok) 12%, transparent);
      outline: none;
    }
    .informes-client-top-period {
      display: block;
      font-size: 0.72rem;
      margin-top: 2px;
      opacity: 0.85;
    }
    .informes-client-top-list {
      list-style: none;
      margin: 10px 0 0;
      padding: 0;
    }
    .informes-client-top-row {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      min-width: 0;
    }
    html.bardev-panel-theme-light .informes-client-top-row {
      border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    .informes-client-top-row:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .informes-client-top-rank {
      flex-shrink: 0;
      width: 1.25rem;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--muted);
      text-align: center;
    }
    .informes-client-top-name {
      flex: 1;
      min-width: 0;
      font-size: 0.82rem;
      line-height: 1.25;
      word-break: break-word;
    }
    .informes-client-top-val {
      flex-shrink: 0;
      text-align: right;
    }
    .informes-client-top-card .informes-client-top-list .informes-client-top-val {
      display: inline;
      font-size: inherit;
      font-weight: inherit;
    }
    .informes-client-top-card .informes-client-top-list .informes-client-top-val--metric,
    .informes-client-top-card .informes-client-top-list .informes-client-top-val--money,
    .informes-client-top-card .informes-client-top-list .informes-client-top-prod-amt {
      font-size: 0.92rem;
      font-weight: 700;
    }
    .informes-client-top-card .informes-client-top-list .informes-client-top-prod-count {
      font-size: calc(0.92rem / 2);
      font-weight: 600;
    }
    .informes-client-top-row--productos {
      align-items: flex-start;
    }
    .informes-client-top-row--productos .informes-client-top-rank {
      margin-top: 2px;
    }
    .informes-client-top-row--productos .informes-client-av {
      margin-top: 1px;
    }
    .informes-client-top-main {
      flex: 1;
      min-width: 0;
    }
    .informes-client-top-prod-detail {
      display: flex;
      flex-direction: column;
      gap: 1px;
      margin-top: 3px;
      font-size: calc(0.82rem * 2 / 3);
      line-height: 1.25;
      color: var(--muted);
    }
    .informes-client-top-prod-count {
      margin-right: 0.35em;
    }
    .informes-client-top-prod-amt {
      font-weight: inherit;
    }
    .informes-client-top-row--productos .informes-client-top-val {
      margin-top: 2px;
    }
    .informes-client-compare-list {
      list-style: none;
      margin: 12px 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .informes-client-compare-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: auto auto;
      gap: 4px 8px;
      align-items: center;
    }
    .informes-client-compare-label {
      grid-column: 1;
      grid-row: 1;
      font-size: 0.72rem;
      line-height: 1.25;
    }
    .informes-client-compare-val {
      grid-column: 2;
      grid-row: 1;
      font-size: 0.92rem;
      font-weight: 700;
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    .informes-client-compare-bar {
      grid-column: 1 / -1;
      grid-row: 2;
      height: 6px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.08);
      overflow: hidden;
    }
    html.bardev-panel-theme-light .informes-client-compare-bar {
      background: rgba(15, 23, 42, 0.08);
    }
    .informes-client-compare-bar > span {
      display: block;
      height: 100%;
      border-radius: 999px;
      min-width: 2px;
    }
    .informes-client-compare-bar-fill--nuevo {
      background: rgba(96, 165, 250, 0.9);
    }
    .informes-client-compare-bar-fill--repite {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.85);
    }
    .informes-client-compare-bar-fill--paso {
      background: rgba(148, 163, 184, 0.85);
    }
    .informes-client-compare-total {
      margin: 10px 0 0;
      font-size: 0.72rem;
      text-align: center;
      opacity: 0.85;
    }
    .informes-client-av {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.65rem;
      font-weight: 700;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
      overflow: hidden;
    }
    .informes-client-av--photo {
      padding: 0;
      border: none;
      background: transparent;
    }
    .informes-client-av--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 50%;
      display: block;
    }
    html.bardev-panel-theme-light .informes-client-av {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.25);
    }
    html.bardev-panel-theme-light .informes-client-av--photo {
      border: 1px solid rgba(15, 23, 42, 0.1);
    }
    .informes-mini-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
      margin-top: 8px;
    }
    .informes-mini-table th,
    .informes-mini-table td {
      padding: 8px 6px;
      text-align: left;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .informes-mini-table th {
      color: var(--muted);
      font-weight: 500;
    }
    .informes-mini-table .num {
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    table.admin-data-table thead th.is-sortable,
    table.informes-mini-table thead th.is-sortable {
      cursor: pointer;
      user-select: none;
      vertical-align: middle;
    }
    table.admin-data-table thead th .bardev-th-sort,
    table.informes-mini-table thead th .bardev-th-sort {
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      gap: 6px;
      vertical-align: middle;
      max-width: 100%;
      line-height: 1.2;
    }
    table.admin-data-table thead th .bardev-th-label,
    table.informes-mini-table thead th .bardev-th-label {
      min-width: 0;
      flex: 1 1 auto;
      line-height: 1.2;
    }
    table.admin-data-table thead th .bardev-sort-ico,
    table.informes-mini-table thead th .bardev-sort-ico {
      position: relative;
      left: auto;
      top: auto;
      flex: 0 0 auto;
      width: 8px;
      height: 12px;
      margin: 0;
      transform: none;
      color: currentColor;
      opacity: 0.72;
      pointer-events: none;
    }
    table.admin-data-table thead th .bardev-sort-ico::before,
    table.admin-data-table thead th .bardev-sort-ico::after,
    table.informes-mini-table thead th .bardev-sort-ico::before,
    table.informes-mini-table thead th .bardev-sort-ico::after {
      content: '';
      position: absolute;
      left: 0;
      width: 0;
      height: 0;
      border-left: 4px solid transparent;
      border-right: 4px solid transparent;
    }
    table.admin-data-table thead th .bardev-sort-ico::before,
    table.informes-mini-table thead th .bardev-sort-ico::before {
      top: 0;
      border-bottom: 5px solid currentColor;
    }
    table.admin-data-table thead th .bardev-sort-ico::after,
    table.informes-mini-table thead th .bardev-sort-ico::after {
      bottom: 0;
      border-top: 5px solid currentColor;
    }
    table.admin-data-table thead th[aria-sort="ascending"] .bardev-sort-ico::after,
    table.informes-mini-table thead th[aria-sort="ascending"] .bardev-sort-ico::after,
    table.admin-data-table thead th[aria-sort="descending"] .bardev-sort-ico::before,
    table.informes-mini-table thead th[aria-sort="descending"] .bardev-sort-ico::before {
      opacity: 0.22;
    }
    table.admin-data-table thead th[aria-sort="ascending"] .bardev-sort-ico,
    table.admin-data-table thead th[aria-sort="descending"] .bardev-sort-ico,
    table.informes-mini-table thead th[aria-sort="ascending"] .bardev-sort-ico,
    table.informes-mini-table thead th[aria-sort="descending"] .bardev-sort-ico {
      opacity: 1;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table thead th[aria-sort="ascending"] .bardev-sort-ico,
    html.bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table thead th[aria-sort="descending"] .bardev-sort-ico {
      color: var(--bv-g-34d399, #34d399);
    }
    html.bardev-panel-theme-light table.admin-data-table:not(.caja-main-table) thead th.is-sortable:hover,
    html.bardev-panel-theme-light table.admin-data-table:not(.caja-main-table) thead th[aria-sort]:not([aria-sort="none"]),
    html.bardev-panel-theme-light table.informes-mini-table thead th.is-sortable:hover,
    html.bardev-panel-theme-light table.informes-mini-table thead th[aria-sort]:not([aria-sort="none"]) {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .informes-cat-dot {
      display: inline-block;
      width: 10px;
      height: 10px;
      border-radius: 3px;
      margin-right: 8px;
      vertical-align: middle;
      flex-shrink: 0;
    }
    .informes-cat-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 16px;
      margin-top: 10px;
      font-size: 0.78rem;
      color: var(--muted);
    }
    .informes-cat-legend__item {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .informes-cat-legend__item .informes-cat-dot {
      margin-right: 0;
    }
    .informes-mini-table .informes-cat-dot {
      margin-right: 8px;
    }
    .informes-pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 8px;
    }
    .informes-pill {
      font-size: 0.68rem;
      padding: 2px 8px;
      border-radius: 999px;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.15);
      color: var(--bv-g-6ee7b7, #6ee7b7);
    }
    .informes-pill--warn {
      background: rgba(248, 113, 113, 0.15);
      color: var(--c-rojo-200);
    }
    .informes-two-col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    @media (max-width: 700px) {
      .informes-two-col {
        grid-template-columns: 1fr;
      }
    }
    .informes-panel-desc {
      margin: 0 0 14px;
      font-size: 0.88rem;
      color: var(--muted);
      line-height: 1.45;
      max-width: 52rem;
    }
    html.bardev-panel-theme-light .informes-panel-desc {
      color: var(--c-pizarra-550);
    }
    .informes-dash-sections {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }
    .informes-dash-section {
      --dash-accent: var(--c-azul-300);
      --dash-accent-soft: rgba(96, 165, 250, 0.1);
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-radius: 16px;
      padding: 18px 18px 14px;
      background: var(--c-blanco);
      box-shadow: 0 2px 14px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light .informes-dash-section {
      background: var(--c-blanco);
      border-color: rgba(15, 23, 42, 0.07);
    }
    .informes-dash-section-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 14px;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    }
    .informes-dash-section-head__icon {
      width: 34px;
      height: 34px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      background: var(--dash-accent-soft);
      color: var(--dash-accent);
    }
    .informes-dash-section-head__icon svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .informes-dash-section-head__title {
      margin: 0;
      font-size: 0.82rem;
      font-weight: 800;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: var(--dash-accent);
    }
    .informes-dash-section--citas {
      --dash-accent: var(--bv-g-10b981, #10b981);
      --dash-accent-soft: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
    }
    .informes-dash-section--clientes {
      --dash-accent: var(--c-indigo-350);
      --dash-accent-soft: rgba(139, 92, 246, 0.12);
    }
    .informes-dash-section--ingresos {
      --dash-accent: var(--c-azul-400);
      --dash-accent-soft: rgba(59, 130, 246, 0.12);
    }
    .informes-dash-section--caja {
      --dash-accent: var(--c-naranja-500b);
      --dash-accent-soft: rgba(245, 158, 11, 0.12);
    }
    .informes-dash-section--inventario {
      --dash-accent: var(--c-violeta-350);
      --dash-accent-soft: rgba(168, 85, 247, 0.12);
    }
    .informes-dash-section--empleados {
      --dash-accent: #14b8a6;
      --dash-accent-soft: rgba(20, 184, 166, 0.12);
    }
    .informes-dash-section--marketing {
      --dash-accent: #ec4899;
      --dash-accent-soft: rgba(236, 72, 153, 0.12);
    }
    .informes-dash-kpi-row {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      align-items: stretch;
    }
    @media (max-width: 1100px) {
      .informes-dash-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 560px) {
      .informes-dash-kpi-row {
        grid-template-columns: 1fr;
      }
    }
    .informes-dash-mini-kpi {
      border: 1px solid rgba(15, 23, 42, 0.06);
      border-radius: 12px;
      padding: 12px 12px 10px;
      background: rgba(15, 23, 42, 0.02);
      min-width: 0;
      display: flex;
      flex-direction: column;
    }
    html.bardev-panel-theme-light .informes-dash-mini-kpi {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.06);
    }
    .informes-dash-section--ingresos .informes-dash-mini-kpi {
      background: linear-gradient(135deg, #f8fbff 0%, var(--c-azul-50d) 100%);
      border-color: rgba(59, 130, 246, 0.12);
    }
    .informes-dash-mini-kpi .sub {
      display: block;
      font-size: 0.6rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 6px;
      color: var(--c-pizarra-550);
      font-weight: 600;
    }
    .informes-dash-mini-kpi strong {
      display: block;
      font-size: 1.28rem;
      line-height: 1.15;
      color: var(--c-azul-900b);
      font-weight: 700;
    }
    .informes-dash-mini-kpi .informes-kpi-delta {
      font-size: 0.72rem;
      margin-top: 4px;
    }
    .informes-dash-mini-kpi-period {
      display: block;
      font-size: 0.62rem;
      color: var(--c-pizarra-350);
      margin-top: 4px;
    }
    .informes-dash-mini-kpi-vs {
      display: block;
      font-size: 0.68rem;
      margin-top: 8px;
      padding-top: 8px;
      border-top: 1px solid rgba(15, 23, 42, 0.06);
      color: var(--c-pizarra-550);
    }
    .informes-dash-mini-kpi-vs .sub {
      display: inline;
      font-size: 0.68rem;
      text-transform: none;
      letter-spacing: 0;
      margin: 0;
      font-weight: 500;
    }
    .informes-dash-cmp-grid {
      margin-top: 8px;
      padding-top: 8px;
      border-top: 1px solid rgba(15, 23, 42, 0.06);
      display: flex;
      flex-direction: column;
      gap: 5px;
    }
    .informes-dash-cmp-row {
      display: grid;
      grid-template-columns: 2.35rem minmax(0, 1fr) auto;
      gap: 6px;
      align-items: center;
      font-size: 0.62rem;
      line-height: 1.25;
    }
    .informes-dash-cmp-mode {
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      color: var(--c-pizarra-350);
    }
    .informes-dash-cmp-val {
      color: var(--c-pizarra-550);
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .informes-dash-cmp-val strong {
      color: var(--c-azul-900b);
      font-weight: 600;
    }
    .informes-dash-cmp-delta {
      text-align: right;
      white-space: nowrap;
    }
    .informes-dash-cmp-delta .informes-kpi-delta {
      font-size: 0.62rem;
      margin: 0;
    }
    .informes-dash-cmp-delta--na {
      opacity: 0.45;
    }
    .informes-dash-section-foot {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 8px 14px;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid rgba(15, 23, 42, 0.05);
    }
    .informes-dash-foot {
      margin: 0;
      font-size: 0.78rem;
      color: var(--c-pizarra-550);
      line-height: 1.45;
      flex: 1 1 auto;
      min-width: 0;
    }
    .informes-dash-foot strong {
      color: var(--c-azul-900b);
    }
    .informes-dash-goto {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      color: var(--dash-accent);
      font-size: 0.76rem;
      font-weight: 700;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .informes-dash-goto:hover {
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .informes-dash-foot {
      margin: 10px 0 0;
      font-size: 0.78rem;
      color: var(--muted);
      line-height: 1.45;
    }
    .informes-dash-goto {
      margin-top: 10px;
      padding: 0;
      border: none;
      background: none;
      color: var(--dash-accent);
      font-size: 0.72rem;
      font-weight: 600;
      cursor: pointer;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .informes-dash-goto:hover {
      opacity: 0.85;
    }
    .informes-placeholder {
      color: var(--muted);
      font-size: 0.9rem;
      line-height: 1.5;
      padding: 12px 0;
    }
    .informes-hbar {
      height: 12px;
      border-radius: 6px;
      overflow: hidden;
      display: flex;
      margin: 10px 0;
      background: rgba(255, 255, 255, 0.06);
    }
    .informes-hbar span {
      display: block;
      height: 100%;
    }
    .inv-barcode-row {
      display: flex;
      gap: 6px;
      align-items: stretch;
      margin-bottom: 10px;
    }
    .inv-barcode-row input {
      flex: 1;
      min-width: 0;
      font-family: ui-monospace, monospace;
      font-size: 0.9rem;
    }
    /* .btn usa width:100% global: en flex el botón cámara no debe robar espacio al código */
    .inv-barcode-row .inv-barcode-scan-btn {
      width: auto !important;
      min-width: 2.35rem;
      max-width: 2.65rem;
      flex: 0 0 auto;
      margin-top: 0 !important;
      padding: 6px 4px !important;
      font-size: 1.05rem;
      line-height: 1;
      box-sizing: border-box;
    }
    .ce-img-editor-panel {
      width: min(920px, 100%);
      max-height: min(92vh, 900px);
      overflow: hidden;
      padding: 16px 18px 14px;
      border-radius: 16px;
      border: 1px solid var(--border);
      background: var(--card);
      box-shadow: 0 20px 50px color-mix(in srgb, var(--border) 45%, rgba(0, 0, 0, 0.18));
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
    }
    .ce-img-editor-scroll {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }
    .ce-img-editor-dock {
      flex: 0 0 auto;
      padding-top: 10px;
      margin-top: 4px;
      border-top: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--card);
    }
    .ce-img-editor-status {
      margin: 0 0 10px;
      padding: 8px 12px;
      border-radius: 8px;
      font-size: 0.86rem;
      font-weight: 600;
      line-height: 1.35;
    }
    .ce-img-editor-status.is-ok {
      background: color-mix(in srgb, var(--bd-g-600, var(--bv-g-047857, #047857)) 12%, var(--c-blanco));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      border: 1px solid color-mix(in srgb, var(--bd-g-600, var(--bv-g-047857, #047857)) 28%, transparent);
    }
    .ce-img-editor-status.is-err {
      background: var(--c-rojo-50b);
      color: var(--c-rojo-600);
      border: 1px solid var(--c-rojo-100);
    }
    .ce-img-editor-tools-row--icons {
      gap: 6px;
      margin-bottom: 10px;
      justify-content: center;
    }
    .ce-img-editor-icon-btn {
      width: 36px !important;
      height: 36px !important;
      min-width: 36px !important;
      padding: 0 !important;
      margin: 0 !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      border-radius: 10px !important;
    }
    .ce-img-editor-icon-btn__svg {
      display: block;
      flex-shrink: 0;
    }
    .ce-fx-btn.ce-img-editor-icon-btn.ce-fx-btn--active {
      background: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
      color: var(--c-blanco) !important;
    }
    .ce-img-editor-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 14px;
      margin: -2px 0 12px;
      justify-content: flex-start;
      width: 100%;
    }
    .ce-img-editor-head-actions {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 8px;
      flex-shrink: 0;
      margin-left: auto;
    }
    .ce-img-editor-head-actions .btn.primary {
      width: auto !important;
      margin-top: 0 !important;
      padding: 8px 16px;
      font-size: 0.88rem;
    }
    .ce-img-editor-head .ce-img-editor-title {
      margin: 0;
      flex: 1;
      min-width: 0;
      line-height: 1.25;
    }
    .ce-img-editor-unsaved-backdrop {
      position: absolute;
      inset: 0;
      z-index: 100002;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      box-sizing: border-box;
    }
    .ce-img-editor-unsaved-panel {
      width: min(400px, 100%);
      padding: 18px 20px 20px;
      border-radius: 14px;
      border: 1px solid var(--border);
      background: var(--card);
      box-shadow: 0 16px 40px color-mix(in srgb, var(--border) 40%, rgba(0, 0, 0, 0.2));
      box-sizing: border-box;
    }
    .ce-img-editor-unsaved-text {
      margin: 0 0 16px;
      font-size: 0.9rem;
      line-height: 1.45;
      color: var(--text);
    }
    .ce-img-editor-unsaved-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
    }
    .ce-img-editor-unsaved-actions .btn {
      width: auto !important;
      margin-top: 0 !important;
      flex: 1 1 auto;
      min-width: 7.5rem;
    }
    .ce-img-editor-title {
      margin: 0 0 8px;
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--text);
    }
    .ce-img-editor-hint {
      margin: 0 0 14px;
      font-size: 0.82rem;
      color: var(--muted);
      line-height: 1.45;
    }
    .ce-img-editor-err {
      margin: 0 0 10px;
      font-size: 0.85rem;
    }
    .ce-img-editor-canvas-wrap {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      min-height: 120px;
      margin-bottom: 14px;
      padding: 12px;
      border-radius: 12px;
      background: color-mix(in srgb, var(--border) 18%, var(--card));
      border: 1px solid var(--border);
    }
    .ce-img-editor-viewport {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      flex-shrink: 0;
      margin: 0 auto;
      border-radius: 10px;
      background: color-mix(in srgb, var(--border) 32%, var(--card));
      user-select: none;
      -webkit-user-select: none;
    }
    .ce-img-editor-crop-presets {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 12px;
      padding: 4px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--bd-n-50, #f8fafc);
    }
    .ce-img-editor-crop-presets__btn {
      appearance: none;
      border: 0;
      margin: 0;
      min-height: 36px;
      padding: 0 14px;
      border-radius: 8px;
      background: transparent;
      color: var(--bd-ink, #0f172a);
      font: inherit;
      font-size: 0.88rem;
      font-weight: 600;
      cursor: pointer;
    }
    .ce-img-editor-crop-presets__btn.is-active {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    .ce-img-editor-pan-layer--under {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 0;
      pointer-events: none;
    }
    .ce-img-editor-dim-veil {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: rgba(128, 128, 128, 0.5);
      border-radius: 10px;
      box-sizing: border-box;
    }
    .ce-img-editor-mask-surface {
      position: relative;
      z-index: 2;
      cursor: grab;
      touch-action: none;
      user-select: none;
      -webkit-user-select: none;
    }
    .ce-img-editor-mask-surface.ce-mask-square .ce-mask-square-label {
      position: absolute;
      bottom: 6px;
      right: 7px;
      z-index: 2;
      margin: 0;
      padding: 2px 6px;
      border-radius: 4px;
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: rgba(255, 255, 255, 0.95);
      background: rgba(0, 0, 0, 0.45);
      pointer-events: none;
      line-height: 1.2;
    }
    .ce-img-editor-mask-surface.ce-img-editor--dragging {
      cursor: grabbing;
    }
    .ce-img-editor-pan-layer {
      position: absolute;
      left: 0;
      top: 0;
      will-change: transform;
    }
    .ce-img-editor-mask-surface .ce-img-editor-canvas {
      display: block;
      max-width: none;
      width: auto;
      height: auto;
      border-radius: 0;
      box-shadow: none;
      vertical-align: top;
    }
    .ce-img-editor-tools-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 14px;
    }
    .ce-img-editor-tools-row .btn {
      width: auto;
      margin: 0;
      font-size: 0.82rem;
    }
    .ce-img-editor-sliders {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px 12px;
      align-items: center;
      margin-bottom: 16px;
    }
    .ce-img-editor-slider-label {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
    }
    .ce-img-editor-sliders input[type="range"] {
      width: 100%;
      accent-color: var(--ok, var(--bv-g-10b981, #10b981));
    }
    html.bardev-panel-theme-light .ce-img-editor-panel input[type="range"] {
      accent-color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light .ce-img-editor-head .bardev-modal-close {
      border-color: rgba(15, 23, 42, 0.18);
      background: var(--c-gris-50b);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .ce-img-editor-head .bardev-modal-close:hover {
      background: var(--c-pizarra-100);
      border-color: rgba(15, 23, 42, 0.28);
      color: var(--c-azul-900b);
    }
    .ce-fx-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 12px;
      justify-content: center;
      margin-bottom: 4px;
      padding: 4px 0 2px;
    }
    .ce-fx-ctrl {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 5px;
      min-width: 72px;
    }
    .ce-fx-ctrl__label {
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
      text-align: center;
      white-space: nowrap;
    }
    .ce-fx-ctrl__pill {
      display: inline-flex;
      align-items: center;
      gap: 0;
      min-height: 32px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: 20px;
      background: var(--bd-n-50, #f8fafc);
      overflow: hidden;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }
    .ce-fx-ctrl__btn {
      background: none;
      border: none;
      color: var(--text);
      font-size: 1rem;
      font-weight: 700;
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.15s;
      -webkit-user-select: none;
      user-select: none;
    }
    .ce-fx-ctrl__btn:hover {
      background: color-mix(in srgb, var(--border) 22%, transparent);
    }
    .ce-fx-ctrl__btn:active {
      background: color-mix(in srgb, var(--border) 38%, transparent);
    }
    .ce-fx-ctrl__val {
      font-size: 0.78rem;
      font-weight: 600;
      min-width: 28px;
      text-align: center;
      color: var(--text);
      -webkit-user-select: none;
      user-select: none;
    }
    .ce-img-editor-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: flex-end;
      margin-top: 4px;
    }
    .ce-img-manual {
      margin: 10px 0 14px;
      font-size: 0.85rem;
    }
    .ce-img-manual summary {
      cursor: pointer;
      color: var(--nav-active-text);
    }
    .image-style-dock {
      margin: 14px 0 16px;
      padding: 14px 16px;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 16px;
    }
    .image-style-dock-title {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
      margin-bottom: 12px;
      font-weight: 600;
    }
    .image-style-dock-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px 14px;
    }
    @media (max-width: 560px) {
      .image-style-dock-grid { grid-template-columns: 1fr; }
    }
    .isd-cell label {
      display: block;
      margin-bottom: 6px;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--muted);
    }
    .isd-cell input[type="range"] {
      width: 100%;
    }
    .isd-cell select {
      width: 100%;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.88rem;
    }
    .isd-cell input[type="color"] {
      width: 100%;
      height: 40px;
      border-radius: 10px;
      border: 1px solid var(--border);
      padding: 2px;
      background: var(--card);
    }
    html.bardev-panel-theme-light .image-style-dock input[type="range"] {
      accent-color: var(--c-pizarra-550);
    }
    .about-preview .pp-img-surface {
      line-height: 0;
    }

    /* ——— Bloque producto (vista previa) ——— */
    .pp-product-card {
      display: flex;
      gap: 16px;
      width: 100%;
      box-sizing: border-box;
      background: rgba(255,255,255,0.04);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 16px;
      align-items: flex-start;
    }
    .pp-product-left {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .pp-product-titulo {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--text);
      line-height: 1.3;
    }
    .pp-product-precio {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--ok);
    }
    .pp-product-desc {
      font-size: 0.9rem;
      line-height: 1.5;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239),0.82);
    }
    .pp-product-desc p { margin: 0 0 6px; }
    .pp-product-btns {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 4px;
    }
    .pp-product-btn {
      display: inline-block;
      padding: 8px 14px;
      border-radius: 8px;
      font-size: 0.85rem;
      font-weight: 600;
      text-decoration: none;
      border: none;
      cursor: pointer;
      line-height: 1.3;
    }
    .pp-product-btn-buy {
      background: var(--ok);
      color: var(--btn-on-accent);
    }
    .pp-product-btn-info {
      background: rgba(255,255,255,0.1);
      color: var(--text);
      border: 1px solid var(--border);
    }
    .pp-product-btn-cart {
      background: var(--brand-rgba-18);
      color: var(--ok);
      border: 1px solid var(--brand-rgba-35);
    }
    .pp-product-right {
      flex-shrink: 0;
      width: 30%;
      max-width: 140px;
    }
    .pp-product-img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 10px;
      object-fit: cover;
    }

    /* ——— Grid de imágenes de producto (editor) ——— */
    .ce-product-img-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 4px;
    }
    .ce-product-img-slot {
      position: relative;
      aspect-ratio: 1 / 1;
      border-radius: 10px;
      border: 1.5px dashed rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239),0.2);
      cursor: pointer;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: rgba(0,0,0,0.2);
      transition: border-color 0.15s;
    }
    .ce-product-img-slot:hover { border-color: var(--brand-rgba-45); }
    .ce-product-img-slot.has-image { border: 1.5px solid var(--brand-rgba-30); }
    .ce-product-slot-thumb {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: none;
    }
    .ce-product-img-slot.has-image .ce-product-slot-thumb { display: block; }
    .ce-product-slot-ph {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2px;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239),0.3);
      font-size: 0.72rem;
      pointer-events: none;
    }
    .ce-product-slot-ph span { font-size: 1.4rem; line-height: 1; }
    .ce-product-img-slot.has-image .ce-product-slot-ph { display: none; }
    .ce-product-slot-clear {
      position: absolute;
      top: 3px;
      right: 3px;
      background: rgba(0,0,0,0.65);
      border: none;
      color: var(--c-blanco);
      border-radius: 50%;
      width: 20px;
      height: 20px;
      font-size: 13px;
      line-height: 1;
      cursor: pointer;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 0;
    }
    .ce-product-img-slot.has-image .ce-product-slot-clear { display: flex; }
    .ce-product-slot-status {
      position: absolute;
      bottom: 3px;
      left: 0;
      right: 0;
      text-align: center;
      font-size: 0.65rem;
      pointer-events: none;
    }

    /* Fila de miniaturas en la vista previa */
    .pp-product-img-row {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      padding-bottom: 2px;
      margin-top: 4px;
    }
    .pp-product-img-row::-webkit-scrollbar { height: 4px; }
    .pp-product-img-row::-webkit-scrollbar-thumb { background: var(--brand-rgba-30); border-radius: 2px; }

    /* Tablas datos admin (usuarios / pedidos) */
    .admin-data-wrap {
      margin-top: 12px;
      overflow-x: auto;
      border: 1px solid var(--border);
      border-radius: 10px;
      max-width: 100%;
    }
    /* Altura útil bajo zoom (JS pone min/max-height en layout px / escala). */
    .admin-data-wrap[data-bardev-fill-h='1'],
    .usuarios-table-wrap[data-bardev-fill-h='1'] {
      overflow-x: auto;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      box-sizing: border-box;
    }
    /* Acciones en tablas admin: iconos con trazo explícito (evita SVG invisible por currentColor / text-fill en WebKit) */
    .admin-data-table td .table-row-actions {
      display: inline-flex;
      flex-wrap: nowrap;
      gap: 4px;
      align-items: center;
      justify-content: flex-start;
    }
    #svc-especiales-wrap .svc-especial-employees-cell {
      min-width: 0;
      max-width: 10rem;
      vertical-align: top;
    }
    #svc-especiales-wrap .svc-especial-employees-stack {
      display: flex;
      flex-direction: column;
      gap: 4px;
      font-size: 0.78rem;
      line-height: 1.35;
    }
    #svc-especiales-wrap .svc-especial-employee-line {
      white-space: nowrap;
    }
    #svc-especiales-wrap .svc-especial-shifts-cell {
      min-width: 0;
      max-width: 11rem;
      vertical-align: top;
    }
    #svc-especiales-wrap .svc-especial-shifts-stack {
      display: flex;
      flex-direction: column;
      gap: 4px;
      font-size: 0.78rem;
      line-height: 1.35;
    }
    #svc-especiales-wrap .svc-especial-shift-line {
      white-space: nowrap;
    }
    .svc-especial-shift-block {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 6px 0;
      border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    }
    .svc-especial-shift-block:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .svc-especial-shift-main {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 0.85rem;
      line-height: 1.35;
    }
    .horarios-special-dow-row {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 6px;
      align-items: center;
    }
    #svc-especiales-wrap .svc-especial-shift-block .horarios-special-dow-row {
      margin: 4px 0 0 24px;
    }
    .horarios-special-name-stack .horarios-special-dow-row {
      margin: 6px 0 0;
    }
    .horarios-special-dow-caption {
      margin: 0;
      font-size: 0.65rem;
      font-weight: 600;
      opacity: 0.55;
      letter-spacing: 0.02em;
    }
    #svc-especial-new-shift-weekdays {
      margin-bottom: 10px;
    }
    #svc-especial-new-shift-weekdays .horarios-special-dow-row {
      margin: 4px 0 0;
    }
    .horarios-special-dow-label {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      cursor: pointer;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--muted, #94a3b8);
      user-select: none;
    }
    .horarios-special-dow-label:has(.horarios-special-dow-cb:checked) {
      color: var(--ok, var(--bv-g-34d399, #34d399));
    }
    .horarios-special-dow-cb {
      width: 14px;
      height: 14px;
      accent-color: var(--ok, var(--bv-g-34d399, #34d399));
      flex-shrink: 0;
      margin: 0;
    }
    .horarios-special-dow-initial {
      min-width: 0.85em;
      text-align: center;
      line-height: 1;
    }
    .horarios-special-dow-cell {
      min-width: 11rem;
      vertical-align: middle;
    }
    html.bardev-panel-theme-light .horarios-special-dow-label {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .horarios-special-dow-label:has(.horarios-special-dow-cb:checked) {
      color: var(--bv-g-059669, #059669);
    }
    #svc-especiales-wrap .svc-especial-actions-cell {
      width: 1%;
      white-space: nowrap;
      vertical-align: middle;
    }
    .admin-data-table td .btn.secondary.btn-icon {
      margin-top: 0;
      box-shadow: none !important;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(148, 163, 184, 0.4);
    }
    .admin-data-table td .btn-icon {
      width: 30px;
      height: 30px;
      min-width: 30px;
      padding: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      box-sizing: border-box;
    }
    .admin-data-table td .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      overflow: visible;
    }
    .admin-data-table td .btn-icon svg,
    .admin-data-table td .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    .admin-data-table td .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    .admin-data-table td .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-cielo-400) !important;
    }
    .admin-data-table td .btn-icon--danger svg,
    .admin-data-table td .btn-icon--danger svg * {
      stroke: var(--c-rojo-300) !important;
    }
    .admin-data-table td .btn-icon--ok svg,
    .admin-data-table td .btn-icon--ok svg * {
      stroke: var(--bv-g-34d399, #34d399) !important;
    }
    .admin-data-table td .btn-icon:hover:not(:disabled) {
      filter: none;
      opacity: 0.92;
      border-color: rgba(148, 163, 184, 0.65);
    }
    html.bardev-panel-theme-light .admin-data-table td .btn.secondary.btn-icon {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
      min-height: 0 !important;
      max-width: none !important;
      padding: 0 !important;
      margin-top: 0 !important;
      box-shadow: none !important;
      background: var(--c-gris-50b) !important;
      border: 1px solid rgba(37, 99, 235, 0.35) !important;
    }
    html.bardev-panel-theme-light .admin-data-table td .btn.secondary.btn-icon:hover:not(:disabled) {
      background: var(--c-pizarra-100) !important;
      border-color: rgba(37, 99, 235, 0.5) !important;
      opacity: 1;
    }
    html.bardev-panel-theme-light .admin-data-table td .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    html.bardev-panel-theme-light .admin-data-table td .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-azul-450) !important;
    }
    html.bardev-panel-theme-light .admin-data-table td .btn-icon--danger svg,
    html.bardev-panel-theme-light .admin-data-table td .btn-icon--danger svg * {
      stroke: var(--c-rojo-500) !important;
    }
    html.bardev-panel-theme-light .admin-data-table td .btn-icon--ok svg,
    html.bardev-panel-theme-light .admin-data-table td .btn-icon--ok svg * {
      stroke: var(--bv-g-059669, #059669) !important;
    }
    /* Usuarios y permisos (lista sin tabla): mismos iconos que tablas admin */
    #inicio-members-list .table-row-actions,
    #members-list .table-row-actions {
      display: inline-flex;
      flex-wrap: nowrap;
      gap: 4px;
      align-items: center;
      justify-content: flex-end;
    }
    #inicio-members-list .table-row-actions .btn.secondary.btn-icon,
    #members-list .table-row-actions .btn.secondary.btn-icon {
      margin-top: 0 !important;
      box-shadow: none !important;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(148, 163, 184, 0.4);
    }
    #inicio-members-list .table-row-actions .btn-icon,
    #members-list .table-row-actions .btn-icon {
      width: 30px;
      height: 30px;
      min-width: 30px;
      padding: 0 !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 8px;
      box-sizing: border-box;
    }
    #inicio-members-list .table-row-actions .btn-icon svg,
    #members-list .table-row-actions .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      overflow: visible;
    }
    #inicio-members-list .table-row-actions .btn-icon svg,
    #inicio-members-list .table-row-actions .btn-icon svg *,
    #members-list .table-row-actions .btn-icon svg,
    #members-list .table-row-actions .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }
    #inicio-members-list .table-row-actions .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #inicio-members-list .table-row-actions .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg *,
    #members-list .table-row-actions .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg,
    #members-list .table-row-actions .btn-icon:not(.btn-icon--danger):not(.btn-icon--ok) svg * {
      stroke: var(--c-cielo-400) !important;
    }
    #inicio-members-list .table-row-actions .btn-icon--danger svg,
    #inicio-members-list .table-row-actions .btn-icon--danger svg *,
    #members-list .table-row-actions .btn-icon--danger svg,
    #members-list .table-row-actions .btn-icon--danger svg * {
      stroke: var(--c-rojo-300) !important;
    }
    html.bardev-panel-theme-light #inicio-members-list .table-row-actions .btn.secondary.btn-icon,
    html.bardev-panel-theme-light #members-list .table-row-actions .btn.secondary.btn-icon {
      background: var(--c-gris-50b) !important;
      border: 1px solid rgba(37, 99, 235, 0.35) !important;
    }
    html.bardev-panel-theme-light #inicio-members-list .table-row-actions .btn.secondary.btn-icon:hover:not(:disabled),
    html.bardev-panel-theme-light #members-list .table-row-actions .btn.secondary.btn-icon:hover:not(:disabled) {
      background: var(--c-pizarra-100) !important;
      border-color: rgba(37, 99, 235, 0.5) !important;
    }
    html.bardev-panel-theme-light #inicio-members-list .table-row-actions .btn-icon:not(.btn-icon--danger) svg,
    html.bardev-panel-theme-light #inicio-members-list .table-row-actions .btn-icon:not(.btn-icon--danger) svg *,
    html.bardev-panel-theme-light #members-list .table-row-actions .btn-icon:not(.btn-icon--danger) svg,
    html.bardev-panel-theme-light #members-list .table-row-actions .btn-icon:not(.btn-icon--danger) svg * {
      stroke: var(--c-azul-450) !important;
    }
    html.bardev-panel-theme-light #inicio-members-list .table-row-actions .btn-icon--danger svg,
    html.bardev-panel-theme-light #inicio-members-list .table-row-actions .btn-icon--danger svg *,
    html.bardev-panel-theme-light #members-list .table-row-actions .btn-icon--danger svg,
    html.bardev-panel-theme-light #members-list .table-row-actions .btn-icon--danger svg * {
      stroke: var(--c-rojo-500) !important;
    }
    /* Acciones al final del flujo de la tabla (NO sticky):
       sticky+right sobre .admin-data-wrap hacía que Acc. flotara encima
       de Webapp/Reservas/Tienda y otras columnas al hacer zoom o estrechar. */
    .admin-data-wrap,
    #comisiones-wrap,
    #comis-liq-wrap,
    #comis-consulta-wrap {
      position: relative;
    }
    .admin-data-table-scroll {
      overflow-x: auto;
      max-width: 100%;
    }
    .admin-data-wrap .admin-data-table,
    #comisiones-wrap .admin-data-table,
    #comis-liq-wrap .admin-data-table,
    .admin-data-table-scroll .admin-data-table {
      border-collapse: separate;
      border-spacing: 0;
    }
    .admin-data-wrap .admin-data-table th.admin-data-col-actions,
    .admin-data-wrap .admin-data-table td.admin-data-col-actions,
    #comisiones-wrap .admin-data-table th.admin-data-col-actions,
    #comisiones-wrap .admin-data-table td.admin-data-col-actions,
    #comis-liq-wrap .admin-data-table th.admin-data-col-actions,
    #comis-liq-wrap .admin-data-table td.admin-data-col-actions,
    .admin-data-wrap .admin-data-table th:last-child,
    .admin-data-wrap .admin-data-table td:last-child,
    #comisiones-wrap .admin-data-table th:last-child,
    #comisiones-wrap .admin-data-table td:last-child,
    #comis-liq-wrap .admin-data-table th:last-child,
    #comis-liq-wrap .admin-data-table td:last-child,
    .admin-data-wrap .admin-data-table td.svc-oferta-actions-cell,
    #servicios-res-wrap .admin-data-table td.svc-oferta-actions-cell,
    #svc-complementos-wrap .admin-data-table td.svc-oferta-actions-cell,
    #svc-ofertas-wrap .admin-data-table td.svc-oferta-actions-cell {
      position: static;
      right: auto;
      z-index: auto;
      box-shadow: none;
      white-space: nowrap;
      width: 1%;
      background: transparent;
    }
    .admin-data-wrap .admin-data-table td.admin-data-col-actions .table-row-actions,
    #comisiones-wrap .admin-data-table td.admin-data-col-actions .table-row-actions,
    #comis-liq-wrap .admin-data-table td.admin-data-col-actions .table-row-actions,
    .admin-data-wrap .admin-data-table td:last-child .table-row-actions,
    #comisiones-wrap .admin-data-table td:last-child .table-row-actions,
    #comis-liq-wrap .admin-data-table td:last-child .table-row-actions,
    .admin-data-wrap .admin-data-table td.svc-oferta-actions-cell .table-row-actions {
      display: inline-flex !important;
      flex-wrap: nowrap !important;
      gap: 4px !important;
      align-items: center;
    }
    /* Gastos: franja de color del gráfico en la base de la celda proveedor */
    #expenses-wrap .exp-supplier-cell {
      position: relative;
      vertical-align: top;
      padding-bottom: 10px !important;
      box-shadow: inset 0 -4px 0 var(--exp-chart-color, #7c3aed);
    }
    #expenses-wrap .exp-supplier-name {
      display: inline-block;
      font-weight: 600;
      line-height: 1.3;
    }
    #expenses-wrap .exp-supplier-tax {
      display: inline-block;
      margin-top: 5px;
    }
    /* Gastos: celda categoría con icono centrado y fondo pastel por tipo */
    #expenses-wrap .admin-data-table th.exp-cat-col,
    #expenses-wrap .admin-data-table td.exp-cat-cell {
      text-align: center;
      vertical-align: middle;
      width: 96px;
      min-width: 96px;
      max-width: 110px;
      padding: 8px 6px !important;
    }
    #expenses-wrap .exp-cat-cell-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
    }
    #expenses-wrap .exp-cat-label {
      display: block;
      font-size: 0.76rem;
      font-weight: 600;
      line-height: 1.2;
      text-align: center;
    }
    #expenses-wrap .exp-cat-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
    }
    #expenses-wrap .exp-cat-icon svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #expenses-wrap .exp-cat-cell--alquiler { background: rgba(236, 72, 153, 0.14); color: var(--c-rosa-200); }
    #expenses-wrap .exp-cat-cell--suministros { background: rgba(249, 115, 22, 0.14); color: var(--c-naranja-300); }
    #expenses-wrap .exp-cat-cell--material { background: rgba(34, 197, 94, 0.14); color: var(--c-verde-250); }
    #expenses-wrap .exp-cat-cell--telefono { background: rgba(14, 165, 233, 0.14); color: var(--c-cielo-250); }
    #expenses-wrap .exp-cat-cell--seguros { background: rgba(139, 92, 246, 0.14); color: var(--c-indigo-150); }
    #expenses-wrap .exp-cat-cell--formacion { background: rgba(168, 85, 247, 0.14); color: var(--c-violeta-150); }
    #expenses-wrap .exp-cat-cell--mantenimiento { background: rgba(100, 116, 139, 0.14); color: var(--c-pizarra-150); }
    #expenses-wrap .exp-cat-cell--otros { background: rgba(120, 113, 108, 0.12); color: var(--c-gris-150b); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--alquiler { background: var(--c-rosa-50); color: var(--c-rosa-500); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--suministros { background: var(--c-naranja-100); color: var(--c-naranja-600); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--material { background: var(--c-verde-50); color: var(--c-verde-700); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--telefono { background: var(--c-cielo-50); color: var(--c-cielo-700); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--seguros { background: var(--c-indigo-50); color: var(--c-indigo-500); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--formacion { background: var(--c-violeta-50); color: var(--c-violeta-550); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--mantenimiento { background: var(--c-gris-50b); color: var(--c-pizarra-650); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--otros { background: var(--c-gris-50d); color: var(--c-gris-700); }
    /* Gastos — iconos de categoría en informes (Total por categoría / Top proveedores) */
    .exp-bar-lbl-with-icon {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-width: 0;
      max-width: 100%;
    }
    .exp-bar-lbl-with-icon .exp-bar-lbl-text {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .exp-stats-cat-icon {
      display: inline-flex;
      flex-shrink: 0;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 6px;
      line-height: 0;
    }
    .exp-stats-cat-icon svg {
      width: 14px;
      height: 14px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .exp-stats-cat-icon--alquiler { background: rgba(236, 72, 153, 0.14); color: var(--c-rosa-200); }
    .exp-stats-cat-icon--suministros { background: rgba(249, 115, 22, 0.14); color: var(--c-naranja-300); }
    .exp-stats-cat-icon--material { background: rgba(34, 197, 94, 0.14); color: var(--c-verde-250); }
    .exp-stats-cat-icon--telefono { background: rgba(14, 165, 233, 0.14); color: var(--c-cielo-250); }
    .exp-stats-cat-icon--seguros { background: rgba(139, 92, 246, 0.14); color: var(--c-indigo-150); }
    .exp-stats-cat-icon--formacion { background: rgba(168, 85, 247, 0.14); color: var(--c-violeta-150); }
    .exp-stats-cat-icon--mantenimiento { background: rgba(100, 116, 139, 0.14); color: var(--c-pizarra-150); }
    .exp-stats-cat-icon--otros { background: rgba(120, 113, 108, 0.12); color: var(--c-gris-150b); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--alquiler { background: var(--c-rosa-50); color: var(--c-rosa-500); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--suministros { background: var(--c-naranja-100); color: var(--c-naranja-600); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--material { background: var(--c-verde-50); color: var(--c-verde-700); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--telefono { background: var(--c-cielo-50); color: var(--c-cielo-700); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--seguros { background: var(--c-indigo-50); color: var(--c-indigo-500); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--formacion { background: var(--c-violeta-50); color: var(--c-violeta-550); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--mantenimiento { background: var(--c-gris-50b); color: var(--c-pizarra-650); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--otros { background: var(--c-gris-50d); color: var(--c-gris-700); }
    /* Gastos: celda categoría con icono centrado y fondo pastel por tipo */
    #expenses-wrap .admin-data-table th.exp-cat-col,
    #expenses-wrap .admin-data-table td.exp-cat-cell {
      text-align: center;
      vertical-align: middle;
      width: 96px;
      min-width: 96px;
      max-width: 110px;
      padding: 8px 6px !important;
    }
    #expenses-wrap .exp-cat-cell-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
    }
    #expenses-wrap .exp-cat-label {
      display: block;
      font-size: 0.76rem;
      font-weight: 600;
      line-height: 1.2;
      text-align: center;
    }
    #expenses-wrap .exp-cat-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
    }
    #expenses-wrap .exp-cat-icon svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #expenses-wrap .exp-cat-cell--alquiler { background: rgba(236, 72, 153, 0.14); color: var(--c-rosa-200); }
    #expenses-wrap .exp-cat-cell--suministros { background: rgba(249, 115, 22, 0.14); color: var(--c-naranja-300); }
    #expenses-wrap .exp-cat-cell--material { background: rgba(34, 197, 94, 0.14); color: var(--c-verde-250); }
    #expenses-wrap .exp-cat-cell--telefono { background: rgba(14, 165, 233, 0.14); color: var(--c-cielo-250); }
    #expenses-wrap .exp-cat-cell--seguros { background: rgba(139, 92, 246, 0.14); color: var(--c-indigo-150); }
    #expenses-wrap .exp-cat-cell--formacion { background: rgba(168, 85, 247, 0.14); color: var(--c-violeta-150); }
    #expenses-wrap .exp-cat-cell--mantenimiento { background: rgba(100, 116, 139, 0.14); color: var(--c-pizarra-150); }
    #expenses-wrap .exp-cat-cell--otros { background: rgba(120, 113, 108, 0.12); color: var(--c-gris-150b); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--alquiler { background: var(--c-rosa-50); color: var(--c-rosa-500); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--suministros { background: var(--c-naranja-100); color: var(--c-naranja-600); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--material { background: var(--c-verde-50); color: var(--c-verde-700); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--telefono { background: var(--c-cielo-50); color: var(--c-cielo-700); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--seguros { background: var(--c-indigo-50); color: var(--c-indigo-500); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--formacion { background: var(--c-violeta-50); color: var(--c-violeta-550); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--mantenimiento { background: var(--c-gris-50b); color: var(--c-pizarra-650); }
    html.bardev-panel-theme-light #expenses-wrap .exp-cat-cell--otros { background: var(--c-gris-50d); color: var(--c-gris-700); }
    /* Gastos — iconos de categoría en informes (Total por categoría / Top proveedores) */
    .exp-bar-lbl-with-icon {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-width: 0;
      max-width: 100%;
    }
    .exp-bar-lbl-with-icon .exp-bar-lbl-text {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .exp-stats-cat-icon {
      display: inline-flex;
      flex-shrink: 0;
      align-items: center;
      justify-content: center;
      width: 22px;
      height: 22px;
      border-radius: 6px;
      line-height: 0;
    }
    .exp-stats-cat-icon svg {
      width: 14px;
      height: 14px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .exp-stats-cat-icon--alquiler { background: rgba(236, 72, 153, 0.14); color: var(--c-rosa-200); }
    .exp-stats-cat-icon--suministros { background: rgba(249, 115, 22, 0.14); color: var(--c-naranja-300); }
    .exp-stats-cat-icon--material { background: rgba(34, 197, 94, 0.14); color: var(--c-verde-250); }
    .exp-stats-cat-icon--telefono { background: rgba(14, 165, 233, 0.14); color: var(--c-cielo-250); }
    .exp-stats-cat-icon--seguros { background: rgba(139, 92, 246, 0.14); color: var(--c-indigo-150); }
    .exp-stats-cat-icon--formacion { background: rgba(168, 85, 247, 0.14); color: var(--c-violeta-150); }
    .exp-stats-cat-icon--mantenimiento { background: rgba(100, 116, 139, 0.14); color: var(--c-pizarra-150); }
    .exp-stats-cat-icon--otros { background: rgba(120, 113, 108, 0.12); color: var(--c-gris-150b); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--alquiler { background: var(--c-rosa-50); color: var(--c-rosa-500); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--suministros { background: var(--c-naranja-100); color: var(--c-naranja-600); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--material { background: var(--c-verde-50); color: var(--c-verde-700); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--telefono { background: var(--c-cielo-50); color: var(--c-cielo-700); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--seguros { background: var(--c-indigo-50); color: var(--c-indigo-500); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--formacion { background: var(--c-violeta-50); color: var(--c-violeta-550); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--mantenimiento { background: var(--c-gris-50b); color: var(--c-pizarra-650); }
    html.bardev-panel-theme-light .exp-stats-cat-icon--otros { background: var(--c-gris-50d); color: var(--c-gris-700); }
    /* Permisos consultivo: en un panel marcado solo-lectura se ocultan los controles que
       modifican datos (botones de crear/editar/borrar/acciones). Marca esos elementos con
       la clase .requires-operativo o el atributo data-requires-operativo. */
    .content-panel.bardev-perm-consultivo .requires-operativo,
    .content-panel.bardev-perm-consultivo [data-requires-operativo] {
      display: none !important;
    }
    .content-panel.bardev-perm-consultivo .requires-operativo--disable,
    .content-panel.bardev-perm-consultivo [data-requires-operativo="disable"] {
      display: inline-flex !important;
      opacity: 0.45 !important;
      pointer-events: none !important;
      cursor: not-allowed !important;
      filter: grayscale(0.6) !important;
    }
    .bardev-perm-consultivo-banner {
      margin: 0 0 14px;
      padding: 8px 12px;
      border-radius: 8px;
      font-size: 0.82rem;
      line-height: 1.4;
      background: rgba(96, 165, 250, 0.12);
      border: 1px solid rgba(96, 165, 250, 0.32);
      color: var(--text);
    }
    .content-panel:not(.bardev-perm-consultivo) .bardev-perm-consultivo-banner { display: none; }
    /* Clientes registrados (consultivo): la columna Acciones se muestra inactiva. */
    .content-panel.bardev-perm-consultivo .usuarios-actions-buttons,
    .content-panel.bardev-perm-consultivo .usuarios-actions-cell .table-row-actions {
      opacity: 0.4 !important;
      pointer-events: none !important;
      filter: grayscale(0.6) !important;
    }
    /* Lotes APP: filas altas por columna Contenido — centrar verticalmente todas las celdas */
    #lotes-wrap .admin-data-table thead th,
    #lotes-wrap .admin-data-table tbody td {
      vertical-align: middle;
    }
    #lotes-wrap .lote-table-img-cell {
      width: 52px;
      padding: 6px 4px;
      text-align: center;
      vertical-align: middle;
    }
    #lotes-wrap .lote-table-img-cell__inner {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 44px;
    }
    #lotes-wrap .lote-table-thumb {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 !important;
      width: 44px !important;
      height: 44px !important;
      min-width: 44px;
      margin: 0 !important;
      border-radius: 10px;
      overflow: hidden;
      line-height: 0;
      cursor: pointer;
      box-shadow: none !important;
    }
    #lotes-wrap .lote-table-thumb__img {
      width: 44px;
      height: 44px;
      object-fit: cover;
      display: block;
      pointer-events: none;
    }
    #lotes-wrap .lote-table-img-empty {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      opacity: 0.28;
      font-size: 0.7rem;
    }
    #lotes-wrap .lote-content-cell {
      display: flex;
      flex-direction: column;
      gap: 4px;
      line-height: 1.35;
      max-width: min(480px, 70vw);
      font-weight: normal;
      white-space: normal;
      text-align: left;
    }
    #lotes-wrap .lote-content-cell .lote-item-line,
    #lote-modal .lote-item-line {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      vertical-align: middle;
    }
    .lote-item-thumb {
      width: 20px;
      height: 20px;
      min-width: 20px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      background: rgba(255, 255, 255, 0.06);
      display: block;
    }
    html.bardev-panel-theme-light .lote-item-thumb {
      background: var(--c-gris-50b);
    }
    #lotes-wrap .lote-card__body {
      padding: 0;
    }
    #lotes-wrap .lote-card__body .lote-content-cell {
      max-width: none;
    }
    #lotes-wrap .lote-card__body .lote-card__table {
      margin: 0;
      width: 100%;
      font-size: 0.75rem;
    }
    #lotes-wrap .lote-card__body .lote-card__table thead th {
      font-size: 0.62rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--muted);
      background: rgba(0, 0, 0, 0.18);
      border-bottom: 1px solid var(--border);
      padding: 5px 10px;
      vertical-align: middle;
    }
    html.bardev-panel-theme-light #lotes-wrap .lote-card__body .lote-card__table thead th {
      background: var(--c-gris-50b);
      color: var(--c-pizarra-650);
      border-bottom-color: rgba(15, 23, 42, 0.1);
    }
    #lotes-wrap .lote-card__body .lote-card__table tbody td {
      padding: 10px;
      vertical-align: middle;
      border-bottom: none;
    }
    #lotes-wrap .lote-card__body .lote-card__table .lote-card__vis-col {
      width: 6.5rem;
      text-align: center;
      white-space: nowrap;
    }
    #lotes-wrap .lote-card__vis-cell {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-width: 4.5rem;
    }
    #lotes-wrap .lote-card__vis-word {
      font-size: 0.72rem;
      font-weight: 600;
      color: var(--muted);
      line-height: 1;
    }
    #lotes-wrap .lote-card__vis-cell .bardev-table-status--on + .lote-card__vis-word {
      color: var(--bv-g-34d399, #34d399);
    }
    #lotes-wrap .lote-card__vis-cell .bardev-table-status--off + .lote-card__vis-word {
      color: var(--c-rojo-300);
    }
    html.bardev-panel-theme-light #lotes-wrap .lote-card__vis-cell .bardev-table-status--on + .lote-card__vis-word {
      color: var(--bv-g-059669, #059669);
    }
    html.bardev-panel-theme-light #lotes-wrap .lote-card__vis-cell .bardev-table-status--off + .lote-card__vis-word {
      color: var(--c-rojo-500);
    }
    #lotes-wrap .lote-card__thumb {
      flex-shrink: 0;
      width: 36px !important;
      height: 36px !important;
      min-width: 36px;
      padding: 0 !important;
      margin: 0 !important;
      border-radius: 10px;
      overflow: hidden;
      line-height: 0;
      cursor: pointer;
      box-shadow: none !important;
    }
    #lotes-wrap .lote-card__thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      pointer-events: none;
    }
    #lotes-wrap .lote-card--inactive {
      opacity: 0.55;
    }
    /* Facturas emitidas — layout B: 5 columnas unidas (sin scroll horizontal).
       Acciones fija en 1 fila: hasta 6 iconos (30) + 5 gaps (4) + padding (8×2) = 216px. */
    #facturas-wrap {
      --fact-act-icon: 30px;
      --fact-act-gap: 4px;
      --fact-act-pad-x: 8px;
      --fact-act-max: 6;
      --fact-act-row: calc(var(--fact-act-icon) * 6 + var(--fact-act-gap) * 5); /* 200px */
      --fact-act-col: calc(var(--fact-act-pad-x) * 2 + var(--fact-act-row)); /* 216px */
    }
    #facturas-wrap .admin-data-table {
      width: 100%;
      table-layout: fixed;
      border-collapse: separate;
      border-spacing: 0;
    }
    #facturas-wrap .admin-data-table th:not(.admin-data-col-actions),
    #facturas-wrap .admin-data-table td:not(.admin-data-col-actions) {
      overflow: hidden;
      vertical-align: middle;
    }
    #facturas-wrap .admin-data-table th.fact-col-factura { width: 16%; }
    #facturas-wrap .admin-data-table th.fact-col-cliente { width: 22%; }
    #facturas-wrap .admin-data-table th.fact-col-importes { width: 26%; }
    #facturas-wrap .admin-data-table th.fact-col-estado { width: 20%; }
    #facturas-wrap .fact-cell {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      line-height: 1.25;
    }
    #facturas-wrap .fact-cell__primary {
      font-weight: 600;
      font-size: 0.84rem;
      color: var(--text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    #facturas-wrap .fact-cell__primary--num {
      font-size: 0.78rem;
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    }
    #facturas-wrap .fact-cell__secondary {
      font-size: 0.74rem;
      color: var(--muted, #9ca3af);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    #facturas-wrap .fact-cell__secondary .fact-cell__total {
      color: var(--text);
      font-weight: 700;
      font-size: 0.8rem;
    }
    #facturas-wrap .fact-cell__status-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 8px;
      font-size: 0.74rem;
      color: var(--muted, #9ca3af);
    }
    #facturas-wrap .fact-cell__status-row .fact-vf {
      font-size: 0.74rem;
    }
    #facturas-wrap .admin-data-table tfoot .fact-cell__secondary {
      white-space: normal;
    }
    #facturas-wrap .admin-data-table th.admin-data-col-actions,
    #facturas-wrap .admin-data-table td.admin-data-col-actions {
      white-space: nowrap !important;
      width: var(--fact-act-col) !important;
      min-width: var(--fact-act-col) !important;
      max-width: var(--fact-act-col) !important;
      vertical-align: middle;
      box-sizing: border-box;
      padding: 6px var(--fact-act-pad-x) !important;
      overflow: hidden;
    }
    #facturas-wrap .admin-data-table th.admin-data-col-actions {
      font-size: 0.68rem;
      letter-spacing: 0.02em;
      text-overflow: ellipsis;
    }
    #facturas-wrap .admin-data-table th.admin-data-col-actions .bdv-col-resizer {
      display: none !important;
    }
    #facturas-wrap .admin-data-table td.admin-data-col-actions .table-row-actions {
      display: inline-flex !important;
      flex-wrap: nowrap !important;
      flex-direction: row;
      gap: var(--fact-act-gap) !important;
      align-items: center;
      justify-content: flex-start;
      width: var(--fact-act-row);
      max-width: var(--fact-act-row);
      margin: 0;
    }
    #facturas-wrap .admin-data-table td.admin-data-col-actions .table-row-actions .btn-icon {
      width: var(--fact-act-icon) !important;
      height: var(--fact-act-icon) !important;
      min-width: var(--fact-act-icon) !important;
      flex: 0 0 var(--fact-act-icon);
      margin: 0 !important;
    }
    #facturas-wrap .admin-data-table td:last-child .btn:not(.btn-icon),
    #expenses-wrap .admin-data-table td:last-child .btn:not(.btn-icon) {
      padding: 4px 8px !important;
      font-size: 0.72rem !important;
      line-height: 1.1;
      white-space: nowrap;
      min-width: 0;
    }
    html.bardev-panel-theme-light #facturas-wrap .admin-data-table td:last-child .table-row-actions .btn.secondary:not(.btn-icon),
    html.bardev-panel-theme-light #expenses-wrap .admin-data-table td:last-child .table-row-actions .btn.secondary:not(.btn-icon) {
      background: rgba(37, 99, 235, 0.06);
      border-color: rgba(37, 99, 235, 0.2);
    }
    html.bardev-panel-theme-light .admin-data-wrap .admin-data-table th:last-child,
    html.bardev-panel-theme-light .admin-data-wrap .admin-data-table td:last-child,
    html.bardev-panel-theme-light #comisiones-wrap .admin-data-table th:last-child,
    html.bardev-panel-theme-light #comisiones-wrap .admin-data-table td:last-child,
    html.bardev-panel-theme-light #comis-liq-wrap .admin-data-table th:last-child,
    html.bardev-panel-theme-light #comis-liq-wrap .admin-data-table td:last-child,
    html.bardev-panel-theme-light .admin-data-wrap .admin-data-table th.admin-data-col-actions,
    html.bardev-panel-theme-light .admin-data-wrap .admin-data-table td.admin-data-col-actions {
      position: static;
      right: auto;
      z-index: auto;
      box-shadow: none;
      background: transparent;
    }
    html.bardev-panel-theme-light .admin-data-wrap .admin-data-table thead th:last-child,
    html.bardev-panel-theme-light .admin-data-wrap .admin-data-table thead th.admin-data-col-actions {
      background: inherit;
    }
    /* ── Informes / Estadísticas (Recibidas / Gastos) ── */
    .exp-stats { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--border); }
    .exp-stats-header { margin-bottom: 14px; }
    .exp-stats-header h3 { margin: 0 0 4px; font-size: 1.05rem; letter-spacing: .02em; }
    .exp-stats-header .sub { margin: 0; font-size: 0.82rem; }
    .exp-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }
    .exp-stats-card {
      background: rgba(255,255,255,0.03);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 14px 16px;
      min-width: 0;
    }
    .exp-stats-card--wide { grid-column: 1 / -1; }
    .exp-stats-card h4 { margin: 0 0 10px; font-size: 0.92rem; font-weight: 600; }
    .exp-stats-chart { display: flex; flex-direction: column; gap: 8px; }
    .exp-stats-empty { color: var(--text-muted, #9ca3af); font-size: 0.82rem; padding: 6px 0; }
    /* Filas tipo "barra horizontal" para categoría/proveedor */
    .exp-bar-row { display: grid; grid-template-columns: 1fr; gap: 4px; }
    .exp-bar-meta {
      display: flex; justify-content: space-between; align-items: baseline; gap: 8px;
      font-size: 0.8rem;
    }
    .exp-bar-meta .lbl { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .exp-bar-meta .val { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
    .exp-bar-track {
      position: relative;
      height: 10px;
      border-radius: 999px;
      background: rgba(255,255,255,0.06);
      overflow: hidden;
    }
    .exp-bar-stack {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      height: 100%;
      min-width: 0;
      border-radius: 999px;
      overflow: hidden;
    }
    .exp-bar-seg {
      height: 100%;
      min-width: 2px;
      flex-shrink: 0;
      transition: width .35s ease;
    }
    .exp-bar-seg:first-child { border-radius: 999px 0 0 999px; }
    .exp-bar-seg:last-child { border-radius: 0 999px 999px 0; }
    .exp-bar-seg:only-child { border-radius: 999px; }
    .exp-bar-fill {
      position: absolute; inset: 0 auto 0 0;
      width: 0;
      background: linear-gradient(90deg, var(--bv-g-34d399, #34d399), var(--c-verde-550));
      border-radius: 999px;
      transition: width .35s ease;
    }
    .exp-stats-card[data-kind="supplier"] .exp-bar-fill {
      background: linear-gradient(90deg, var(--c-azul-300), var(--c-azul-400));
    }
    /* Gráfico de columnas (mensual) */
    .exp-stats-chart--cols {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: center;
      gap: 10px 16px;
      min-height: 168px;
      padding: 6px 4px 0;
    }
    .exp-col {
      flex: 1 1 0;
      max-width: 120px;
      min-width: 56px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
      min-height: 156px;
      text-align: center;
    }
    .exp-col-bar-area {
      width: 70%;
      max-width: 56px;
      height: 112px;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      border-radius: 8px 8px 4px 4px;
      background: rgba(255, 255, 255, 0.05);
    }
    .exp-col-stack {
      width: 100%;
      display: flex;
      flex-direction: column-reverse;
      justify-content: flex-end;
      align-items: stretch;
      border-radius: 6px 6px 2px 2px;
      overflow: hidden;
      min-height: 0;
    }
    .exp-col-seg {
      width: 100%;
      min-height: 2px;
      flex-shrink: 0;
      transition: flex-basis .35s ease;
    }
    .exp-col-bar {
      width: 100%;
      min-height: 0;
      background: linear-gradient(180deg, var(--c-indigo-250), var(--c-indigo-400));
      border-radius: 6px 6px 2px 2px;
      transition: height 0.35s ease;
      box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);
    }
    .exp-col-bar--zero {
      height: 3px !important;
      min-height: 3px;
      opacity: 0.35;
      box-shadow: none;
    }
    .exp-col-val { font-size: 0.72rem; font-weight: 600; font-variant-numeric: tabular-nums; }
    .exp-col-lbl { font-size: 0.7rem; color: var(--text-muted, #9ca3af); white-space: nowrap; }
    .exp-chart-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 12px;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
    }
    .exp-chart-legend-item {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.72rem;
      color: var(--muted);
      max-width: 100%;
    }
    .exp-chart-legend-swatch {
      width: 10px;
      height: 10px;
      border-radius: 3px;
      flex-shrink: 0;
      box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
    }
    .exp-chart-legend-item strong {
      color: var(--text);
      font-weight: 600;
    }
    html.bardev-panel-theme-light .exp-col-bar-area {
      background: rgba(15, 23, 42, 0.06);
    }
    html.bardev-panel-theme-light .exp-col-bar {
      background: linear-gradient(180deg, var(--c-indigo-350), var(--c-indigo-500));
      box-shadow: 0 2px 6px rgba(109, 40, 217, 0.28);
    }
    @media (max-width: 720px) {
      .exp-stats-grid { grid-template-columns: 1fr; }
    }
    .admin-data-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    .admin-data-table th,
    .admin-data-table td {
      padding: 8px 10px;
      text-align: left;
      border-bottom: 1px solid var(--border);
      vertical-align: top;
    }
    .admin-data-table th {
      background: rgba(0,0,0,0.35);
      font-weight: 600;
      white-space: nowrap;
    }
    .admin-data-wrap .admin-data-table th.admin-data-col-actions,
    .admin-data-wrap .admin-data-table th:last-child,
    #comisiones-wrap .admin-data-table th.admin-data-col-actions,
    #comisiones-wrap .admin-data-table th:last-child {
      position: static;
    }
    .admin-data-table tr:last-child td { border-bottom: none; }
    /* ─── Resizers genéricos para todas las admin-data-table ───
       Lógica JS al final del <script>: asas de redimensionado en cada th,
       doble clic = autoajuste al contenido más ancho, persistencia en
       localStorage. No afecta a tablas con `data-bardev-resize-key`
       (Servicios Reservables) ni a `.usuarios-main-table` (Clientes). */
    .admin-data-table th:not(.admin-data-col-actions):not(:last-child) { position: relative; }
    .admin-data-table .bdv-col-resizer {
      position: absolute;
      top: 0;
      right: 0;
      width: 6px;
      height: 100%;
      cursor: col-resize;
      user-select: none;
      z-index: 4;
      background: transparent;
      transition: background .12s;
    }
    .admin-data-table .bdv-col-resizer:hover,
    .admin-data-table .bdv-col-resizer:active {
      background: rgba(99, 102, 241, .35);
    }
    /* Servicios reservables: tablas con columnas redimensionables (persistencia localStorage) */
    .admin-data-table.admin-data-table--resizable {
      table-layout: fixed;
      width: 100%;
    }
    .admin-data-table.admin-data-table--resizable th {
      position: relative;
      overflow: hidden;
    }
    .admin-data-table.admin-data-table--resizable thead th:not(:last-child) {
      padding-right: 12px;
    }
    .bardev-col-resize-handle {
      position: absolute;
      right: -3px;
      top: 0;
      bottom: 0;
      width: 7px;
      z-index: 3;
      cursor: col-resize;
      user-select: none;
      touch-action: none;
    }
    .bardev-col-resize-handle::after {
      content: '';
      position: absolute;
      left: 3px;
      top: 0;
      bottom: 0;
      width: 1px;
      background: transparent;
    }
    .admin-data-table.admin-data-table--resizable th:hover .bardev-col-resize-handle::after {
      background: color-mix(in srgb, var(--brand, var(--bv-g-34d399, #34d399)) 55%, transparent);
    }
    html.bardev-panel-theme-light .admin-data-table.admin-data-table--resizable th:hover .bardev-col-resize-handle::after {
      background: color-mix(in srgb, var(--c-azul-450) 45%, transparent);
    }
    /* Historial de visitas: cápsulas de estado y totales */
    .historial-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 4px 11px;
      border-radius: 999px;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.03em;
      white-space: nowrap;
      line-height: 1.2;
      border: 1px solid transparent;
    }
    .historial-pill--paid {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.16);
      color: var(--bv-g-6ee7b7, #6ee7b7);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.45);
    }
    .historial-pill--done {
      background: rgba(96, 165, 250, 0.14);
      color: var(--c-azul-200);
      border-color: rgba(96, 165, 250, 0.4);
    }
    .historial-pill--noshow {
      background: rgba(251, 191, 36, 0.12);
      color: var(--c-ambar-350);
      border-color: rgba(251, 191, 36, 0.4);
    }
    .historial-pill--cancel {
      background: rgba(248, 113, 113, 0.12);
      color: var(--c-rojo-200);
      border-color: rgba(248, 113, 113, 0.42);
    }
    /* Código tarjeta regalo: desplegable de activas al hover/focus */
    .gv-code-field {
      position: relative;
    }
    .gv-code-dd {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 4px);
      z-index: 40;
      max-height: 220px;
      overflow-y: auto;
      margin: 0;
      padding: 6px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: var(--card, #0d1a14);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
    }
    .gv-code-dd[hidden] { display: none !important; }
    .gv-code-dd__item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 2px;
      width: 100%;
      text-align: left;
      border: none;
      background: transparent;
      color: var(--text);
      border-radius: 8px;
      padding: 8px 10px;
      cursor: pointer;
      font: inherit;
    }
    .gv-code-dd__item:hover,
    .gv-code-dd__item:focus {
      background: rgba(34, 197, 94, 0.14);
      outline: none;
    }
    .gv-code-dd__code {
      font-weight: 800;
      letter-spacing: 0.14em;
      font-size: 0.95rem;
    }
    .gv-code-dd__meta {
      font-size: 0.72rem;
      opacity: 0.75;
      line-height: 1.3;
    }
    .gv-code-dd__empty {
      padding: 10px;
      font-size: 0.8rem;
      opacity: 0.75;
    }
    html.bardev-panel-theme-light .gv-code-dd {
      background: var(--c-blanco);
      box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    }
    /* Confirmación código TPV / tarjeta regalo en cobro */
    .gv-gift-confirm {
      margin-top: 12px;
      padding: 14px 14px 12px;
      border-radius: 14px;
      border: 1px solid rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
      background: linear-gradient(165deg, rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.18) 0%, rgba(var(--bv-g-rgb-064e3b, 6, 78, 59), 0.22) 100%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }
    .gv-gift-confirm[hidden],
    .gv-gift-confirm.hidden {
      display: none !important;
    }
    .gv-gift-confirm__badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--bv-g-6ee7b7, #6ee7b7);
      margin-bottom: 8px;
    }
    .gv-gift-confirm__code {
      font-size: clamp(1.55rem, 2.4vw, 2rem);
      font-weight: 800;
      letter-spacing: 0.18em;
      line-height: 1.1;
      color: var(--text, var(--bv-g-ecfdf5, #ecfdf5));
      font-variant-numeric: tabular-nums;
    }
    .gv-gift-confirm__name {
      margin-top: 6px;
      font-size: 0.92rem;
      font-weight: 600;
      color: var(--text, #e2e8f0);
    }
    .gv-gift-confirm__name--muted {
      font-weight: 500;
      opacity: 0.72;
    }
    .gv-gift-confirm__rows {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin-top: 12px;
    }
    .gv-gift-confirm__cell {
      padding: 8px 10px;
      border-radius: 10px;
      background: rgba(0, 0, 0, 0.22);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }
    .gv-gift-confirm__cell span {
      display: block;
      font-size: 0.68rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      opacity: 0.72;
      margin-bottom: 2px;
    }
    .gv-gift-confirm__cell strong {
      font-size: 1.05rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      color: var(--bv-g-a7f3d0, #a7f3d0);
    }
    .gv-gift-confirm__err {
      margin-top: 8px;
      font-size: 0.8rem;
      color: var(--c-rojo-200);
    }
    html.bardev-panel-theme-light .gv-gift-confirm {
      background: linear-gradient(165deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--bv-g-d1fae5, #d1fae5) 100%);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
    }
    html.bardev-panel-theme-light .gv-gift-confirm__badge {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .gv-gift-confirm__code {
      color: var(--bv-g-064e3b, #064e3b);
    }
    html.bardev-panel-theme-light .gv-gift-confirm__name {
      color: var(--bv-g-065f46, #065f46);
    }
    html.bardev-panel-theme-light .gv-gift-confirm__cell {
      background: rgba(255, 255, 255, 0.72);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.22);
    }
    html.bardev-panel-theme-light .gv-gift-confirm__cell strong {
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .gv-gift-confirm__err {
      color: var(--c-rojo-600);
    }
    .gv-pick-wrap {
      position: relative;
      width: 100%;
    }
    .gv-pick-dd {
      position: fixed;
      z-index: 32000;
      max-height: min(260px, 42vh);
      overflow: auto;
      padding: 6px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: var(--c-azul-900b);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
      box-sizing: border-box;
    }
    .gv-pick-dd[hidden] { display: none !important; }
    .gv-pick-dd__group {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      opacity: 0.65;
      padding: 8px 10px 4px;
    }
    .gv-pick-dd__item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      width: 100%;
      text-align: left;
      border: none;
      background: transparent;
      color: var(--text);
      border-radius: 8px;
      padding: 9px 10px;
      cursor: pointer;
      font: inherit;
      font-size: 0.88rem;
    }
    .gv-pick-dd__item:hover,
    .gv-pick-dd__item:focus {
      background: rgba(34, 197, 94, 0.14);
      outline: none;
    }
    .gv-pick-dd__name { font-weight: 600; min-width: 0; }
    .gv-pick-dd__tag {
      font-size: 0.68rem;
      font-weight: 600;
      opacity: 0.7;
      margin-left: 4px;
    }
    .gv-pick-dd__price {
      font-weight: 700;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .gv-pick-dd__empty {
      padding: 10px;
      font-size: 0.8rem;
      opacity: 0.75;
    }
    html.bardev-panel-theme-light .gv-pick-dd {
      background: var(--c-blanco) !important;
      border-color: rgba(15, 23, 42, 0.14);
      box-shadow: 0 16px 40px rgba(15, 23, 42, 0.22);
    }

    /* Tarjetas regalo (Clientes) */
    #panel-gift-vouchers .gv-list-pane,
    #panel-gift-vouchers #gv-list {
      padding: 8px 32px 32px;
      box-sizing: border-box;
      width: 100%;
    }
    #panel-gift-vouchers .gv-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    #panel-gift-vouchers .gv-tab {
      appearance: none;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      color: var(--text);
      border-radius: 999px;
      padding: 8px 14px;
      font-size: 0.84rem;
      font-weight: 600;
      cursor: pointer;
      line-height: 1.2;
    }
    #panel-gift-vouchers .gv-tab:hover {
      filter: brightness(1.05);
    }
    #panel-gift-vouchers .gv-tab--on {
      border-color: rgba(34, 197, 94, 0.55);
      background: rgba(34, 197, 94, 0.16);
      color: var(--c-verde-250);
    }
    html.bardev-panel-theme-light #panel-gift-vouchers .gv-tab {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #panel-gift-vouchers .gv-tab--on {
      background: rgba(22, 163, 74, 0.12);
      border-color: rgba(22, 163, 74, 0.45);
      color: var(--c-verde-700);
    }
    #panel-gift-vouchers .gv-group {
      margin-top: 18px;
      min-width: 0;
    }
    #panel-gift-vouchers .gv-group:first-child { margin-top: 10px; }
    /* Activas (pendientes de canjear): marco verde con padding */
    #panel-gift-vouchers .gv-group--active {
      border: 2px solid var(--c-verde-550);
      border-radius: 14px;
      padding: 14px 16px 16px;
      background: rgba(34, 197, 94, 0.08);
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light #panel-gift-vouchers .gv-group--active {
      background: var(--c-verde-50c);
      border-color: var(--c-verde-650);
    }
    /* Pendientes / Canjeadas / Anuladas: columnas en la misma fila */
    #panel-gift-vouchers .gv-groups-row {
      display: grid;
      gap: 18px 20px;
      margin-top: 10px;
      align-items: start;
      width: 100%;
      box-sizing: border-box;
    }
    #panel-gift-vouchers .gv-groups-row--n2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #panel-gift-vouchers .gv-groups-row--n3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    #panel-gift-vouchers .gv-groups-row > .gv-group {
      margin-top: 0;
      min-width: 0;
      max-width: 100%;
    }
    #panel-gift-vouchers .gv-groups-row > .gv-group .gv-cards--pack {
      grid-template-columns: minmax(0, 1fr);
      max-width: 320px;
    }
    /* Saldo: una card ancha por fila (no 3 columnas) */
    #panel-gift-vouchers .gv-groups-row:has(.gv-cards--balance) {
      grid-template-columns: 1fr;
    }
    @media (max-width: 960px) {
      #panel-gift-vouchers .gv-groups-row--n3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 640px) {
      #panel-gift-vouchers .gv-groups-row--n2,
      #panel-gift-vouchers .gv-groups-row--n3 {
        grid-template-columns: 1fr;
      }
    }
    #panel-gift-vouchers .gv-group__title {
      margin: 0 0 12px;
      padding: 0 2px;
      font-size: 0.95rem;
      font-weight: 700;
      letter-spacing: 0.01em;
      color: var(--text);
    }
    #panel-gift-vouchers .gv-group__title span {
      font-weight: 500;
      opacity: 0.65;
      font-size: 0.85rem;
      margin-left: 6px;
    }
    /* Grid: no es una “card”; no debe llevar fondo/borde del tema light */
    #panel-gift-vouchers .gv-cards {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(240px, 320px));
      justify-content: start;
      gap: 16px;
      margin: 0;
      padding: 0;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      border-radius: 0 !important;
    }
    /* Saldo: ancho completo de la zona (≈ 3 cards pack) */
    #panel-gift-vouchers .gv-cards--balance {
      grid-template-columns: 1fr;
    }
    #panel-gift-vouchers .gv-cards--balance > .gv-card {
      max-width: none;
      width: 100%;
    }
    #panel-gift-vouchers .gv-card {
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 12px 14px;
      background: var(--card, rgba(0,0,0,0.22));
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
    @media (max-width: 560px) {
      #panel-gift-vouchers .gv-list-pane,
      #panel-gift-vouchers #gv-list {
        padding: 8px 20px 24px;
      }
      #panel-gift-vouchers .gv-cards,
      #panel-gift-vouchers .gv-cards--balance {
        grid-template-columns: 1fr;
      }
    }
    .gv-card__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 4px;
    }
    .gv-card__code {
      letter-spacing: 0.14em;
      font-size: 1.05rem;
    }
    .gv-st {
      font-size: 0.72rem;
      font-weight: 700;
      padding: 3px 8px;
      border-radius: 999px;
      background: rgba(148,163,184,0.2);
      flex-shrink: 0;
    }
    .gv-st--paid { color: var(--c-verde-650); background: rgba(22,163,74,0.15); }
    .gv-st--redeemed { color: var(--c-azul-450); background: rgba(37,99,235,0.15); }
    .gv-st--void, .gv-st--expired { color: var(--c-rojo-600); background: rgba(185,28,28,0.12); }
    .gv-card__to { margin: 4px 0 0; font-size: 0.9rem; }
    .gv-card__items { margin: 4px 0; font-size: 0.86rem; line-height: 1.35; }
    .gv-bal-ledger {
      margin: 10px 0 8px;
      border: 1px solid rgba(148, 163, 184, 0.35);
      border-radius: 12px;
      overflow: hidden;
      background: rgba(15, 23, 42, 0.22);
    }
    html.bardev-panel-theme-light .gv-bal-ledger {
      background: rgba(248, 250, 252, 0.95);
      border-color: rgba(100, 116, 139, 0.28);
    }
    .gv-bal-ledger__title {
      padding: 7px 10px 5px;
      font-size: 0.7rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .gv-bal-ledger__empty {
      margin: 0;
      padding: 8px 10px 10px;
      font-size: 0.78rem;
      color: var(--muted);
    }
    .gv-bal-ledger__table {
      width: 100%;
      border-collapse: collapse;
      table-layout: auto;
      font-size: 0.58rem;
    }
    .gv-bal-ledger__table th,
    .gv-bal-ledger__table td {
      padding: 4px 5px;
      text-align: left;
      border-top: 1px solid rgba(148, 163, 184, 0.22);
      vertical-align: middle;
      white-space: nowrap;
      overflow: visible;
      text-overflow: clip;
      line-height: 1.2;
      letter-spacing: -0.01em;
    }
    .gv-bal-ledger__table th {
      font-size: 0.54rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted);
      background: rgba(0, 0, 0, 0.12);
    }
    html.bardev-panel-theme-light .gv-bal-ledger__table th {
      background: rgba(226, 232, 240, 0.55);
    }
    .gv-bal-ledger__table td:nth-child(1) {
      color: var(--muted);
    }
    .gv-bal-ledger__table td.gv-bal-ledger__concept {
      white-space: normal;
      max-width: 42%;
    }
    .gv-bal-ledger__amt {
      white-space: nowrap;
      font-weight: 700;
      color: var(--c-rojo-500);
    }
    html.bardev-panel-theme-light .gv-bal-ledger__amt { color: var(--c-rojo-600); }
    .gv-bal-ledger__remain {
      white-space: nowrap;
      font-weight: 700;
      color: var(--c-verde-650);
    }
    html.bardev-panel-theme-light .gv-bal-ledger__remain { color: var(--c-verde-700); }
    .gv-bal-ledger__table tfoot td {
      border-top: 1px solid rgba(148, 163, 184, 0.4);
      background: rgba(0, 0, 0, 0.14);
      font-weight: 700;
      font-size: 0.58rem;
      padding-top: 6px;
      padding-bottom: 6px;
    }
    html.bardev-panel-theme-light .gv-bal-ledger__table tfoot td {
      background: rgba(226, 232, 240, 0.7);
    }
    .gv-bal-ledger__total td:first-child {
      color: var(--text);
      text-transform: uppercase;
      letter-spacing: 0.03em;
      font-size: 0.54rem;
    }
    .gv-card__includes {
      margin: 8px 0 2px;
      font-size: 0.84rem;
      line-height: 1.4;
    }
    .gv-card__includes-title {
      margin: 0;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      color: var(--muted);
    }
    .gv-card__includes-rule {
      margin: 6px 0;
      border: 0;
      border-top: 1px dashed rgba(148, 163, 184, 0.55);
      height: 0;
    }
    html.bardev-panel-theme-light .gv-card__includes-rule {
      border-top-color: rgba(100, 116, 139, 0.45);
    }
    .gv-card__includes-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .gv-card__includes-item {
      margin: 0;
      padding: 1px 0;
      font-weight: 600;
    }
    .gv-card__includes-empty {
      margin: 0;
      color: var(--muted);
      font-size: 0.82rem;
    }
    .gv-card__meta { margin: 4px 0 0; font-size: 0.78rem; line-height: 1.35; }
    .gv-card__meta--exp { margin-top: 2px; }
    .gv-card__meta .gv-card__pay {
      display: inline-flex;
      align-items: center;
      vertical-align: middle;
    }
    .gv-card__meta .caja-pay-method {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-weight: 600;
      color: inherit;
    }
    .gv-card__meta .caja-pay-method__ico {
      display: inline-flex;
      width: 15px;
      height: 15px;
      flex-shrink: 0;
    }
    .gv-card__meta .caja-pay-method__ico svg {
      width: 15px;
      height: 15px;
      display: block;
    }
    .gv-card__meta .caja-pay-method__lbl {
      font-size: 0.78rem;
      line-height: 1.2;
    }
    .gv-comp-modal__panel {
      max-width: min(420px, 94vw);
      width: 100%;
    }
    .gv-comp-modal__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 10px;
    }
    .gv-comp-modal__list {
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-height: min(48vh, 360px);
      overflow: auto;
      margin-bottom: 14px;
    }
    .gv-comp-card {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      width: 100%;
      text-align: left;
      padding: 12px 40px 12px 14px;
      border-radius: 12px;
      border: 1.5px solid rgba(148, 163, 184, 0.45);
      background: rgba(255, 255, 255, 0.04);
      color: var(--text);
      cursor: pointer;
      transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    }
    .gv-comp-card:hover {
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.55);
    }
    .gv-comp-card--on {
      border-color: var(--bv-g-10b981, #10b981);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.25);
    }
    .gv-comp-card__name {
      font-weight: 700;
      font-size: 0.92rem;
      line-height: 1.3;
    }
    .gv-comp-card__price {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--muted);
    }
    .gv-comp-card__check {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 20px;
      height: 20px;
      border-radius: 999px;
      border: 1.5px solid rgba(148, 163, 184, 0.55);
      background: transparent;
    }
    .gv-comp-card--on .gv-comp-card__check {
      border-color: var(--bv-g-10b981, #10b981);
      background: var(--bv-g-10b981, #10b981);
      box-shadow: inset 0 0 0 2px var(--c-blanco);
    }
    html.bardev-panel-theme-light .gv-comp-card {
      background: var(--c-blanco);
      border-color: rgba(37, 99, 235, 0.2);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .gv-comp-card:hover {
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.55);
      background: var(--c-verde-50c);
    }
    html.bardev-panel-theme-light .gv-comp-card--on {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--bv-g-10b981, #10b981);
    }
    html.bardev-panel-theme-light .gv-comp-card__price {
      color: var(--c-pizarra-550);
    }
    .gv-comp-modal__actions {
      display: flex;
      justify-content: flex-end;
      gap: 8px;
      flex-wrap: wrap;
    }
    .gv-balance-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .gv-balance-chip {
      min-width: 64px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1.5px solid rgba(148, 163, 184, 0.45);
      background: rgba(255, 255, 255, 0.04);
      color: var(--text);
      font-weight: 700;
      cursor: pointer;
    }
    .gv-balance-chip--on {
      border-color: var(--bv-g-10b981, #10b981);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.16);
    }
    html.bardev-panel-theme-light .gv-balance-chip {
      background: var(--c-blanco);
      border-color: rgba(37, 99, 235, 0.22);
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light .gv-balance-chip--on {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--bv-g-10b981, #10b981);
    }
    .gv-kind-wrap .caja-vd-type-btn {
      flex: 1 1 auto;
      font-size: 0.82rem;
    }
    .gv-card__actions {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-top: 8px;
    }
    .gv-card__actions-row {
      display: flex;
      flex-direction: row;
      /* Con «Grabar tarjeta» no caben 4 botones en una fila: que salten de línea. */
      flex-wrap: wrap;
      align-items: stretch;
      gap: 6px;
    }
    .gv-card__actions .btn,
    .gv-card__actions-row .btn,
    .gv-card__share-menu .btn {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box;
      margin: 0;
    }
    .gv-card__actions-row .btn {
      flex: 1 1 auto;
      width: auto !important;
      max-width: none;
      min-width: 88px;
      font-size: 0.62rem;
      padding: 6px 3px;
      line-height: 1.2;
      letter-spacing: -0.01em;
      white-space: nowrap;
    }
    .gv-card__actions-row .btn[data-gv-void],
    .gv-card__actions-row .btn[data-gc-void] {
      flex: 0 1 auto;
      min-width: 64px;
      padding: 6px 6px;
      font-size: 0.62rem;
    }
    .gv-card__share-menu {
      display: flex;
      flex-wrap: nowrap;
      gap: 6px;
    }
    .gv-card__share-menu.hidden { display: none !important; }
    .gv-card__share-menu .btn {
      flex: 1 1 0;
      width: auto !important;
      max-width: none;
      min-width: 0;
      font-size: 0.65rem;
      padding: 5px 2px;
      line-height: 1.15;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .gv-head-actions .btn {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box;
      height: 40px;
      min-height: 40px;
      padding: 0 14px;
      font-size: 0.88rem;
      font-weight: 700;
      line-height: 1.2;
      border-radius: 10px;
      white-space: nowrap;
      gap: 8px;
      margin: 0;
    }
    .gv-head-actions .btn .gv-head-btn__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      width: 18px;
      height: 18px;
    }
    .gv-head-actions .btn .gv-head-btn__ico svg {
      width: 18px;
      height: 18px;
      display: block;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.9;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #gv-settings-modal {
      position: fixed;
      inset: 0;
      z-index: 10060;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
      box-sizing: border-box;
    }
    #gv-settings-modal.open { display: flex; }
    html.gv-settings-open,
    html.gv-settings-open body {
      overflow: hidden;
    }
    #gv-settings-modal .gv-settings-dialog {
      position: relative;
      width: 100%;
      max-width: 420px;
      margin: auto;
      background: var(--card, #0d1a14);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 22px 20px 18px;
      box-shadow: 0 16px 40px rgba(15, 23, 42, 0.28);
      color: var(--text);
    }
    #gv-settings-modal .gv-settings-section-title {
      margin: 0 0 10px;
      font-size: 0.92rem;
      font-weight: 700;
    }
    html.bardev-panel-theme-light #gv-settings-modal .gv-settings-dialog {
      background: var(--c-blanco);
    }
    #panel-gift-vouchers .gv-panel-head {
      flex-wrap: nowrap;
      align-items: center;
    }
    .gv-head-actions {
      display: inline-flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      margin-left: auto;
      flex: 0 0 auto;
      width: auto;
      max-width: none;
    }
    .gv-head-actions .btn.btn-icon {
      width: 40px;
      height: 40px;
      min-width: 40px;
      min-height: 40px;
      padding: 0;
      gap: 0;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      flex: 0 0 auto;
    }
    .gv-head-actions .btn.btn-icon svg {
      width: 18px;
      height: 18px;
      display: block;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .gv-head-actions #btn-gv-nueva,
    .gv-head-actions #btn-gv-read-nfc {
      white-space: nowrap;
      width: auto !important;
      flex: 0 0 auto;
      margin: 0;
      height: 40px !important;
      min-height: 40px !important;
    }
    .gv-head-actions #btn-pass-nueva,
    .gv-head-actions #btn-mem-nueva {
      white-space: nowrap;
      width: auto !important;
      flex: 0 0 auto;
      margin: 0;
      height: 40px !important;
      min-height: 40px !important;
    }
    #panel-client-bonos .gv-panel-head,
    #panel-client-suscripciones .gv-panel-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    #panel-client-bonos .gv-panel-head h2,
    #panel-client-suscripciones .gv-panel-head h2 {
      margin: 0;
      min-width: 0;
    }
    #panel-client-bonos > .sub,
    #panel-client-suscripciones > .sub {
      margin-top: 8px;
      padding: 0 28px;
    }
    #panel-client-bonos .gv-tabs,
    #panel-client-suscripciones .gv-tabs {
      padding: 0 28px;
      margin-top: 10px;
    }
    #panel-client-bonos .pass-list-pane,
    #panel-client-suscripciones .mem-list-pane {
      padding: 12px 28px 28px;
      box-sizing: border-box;
    }
    #panel-client-bonos .gv-cards,
    #panel-client-suscripciones .gv-cards {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(240px, 320px));
      justify-content: start;
      gap: 16px;
      margin: 0;
      padding: 0;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      border-radius: 0 !important;
    }
    #panel-client-bonos .gv-card,
    #panel-client-suscripciones .gv-card {
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 12px;
      padding: 16px 18px;
      background: var(--bd-n-0, #fff);
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    #panel-client-bonos .gv-card__top,
    #panel-client-suscripciones .gv-card__top {
      justify-content: flex-start;
      flex-wrap: wrap;
      margin-bottom: 6px;
    }
    #panel-client-bonos .gv-card__to,
    #panel-client-suscripciones .gv-card__to,
    #panel-client-bonos .gv-card__items,
    #panel-client-suscripciones .gv-card__items,
    #panel-client-bonos .gv-card__includes-item,
    #panel-client-suscripciones .gv-card__includes-item {
      margin: 6px 0 0;
    }
    #panel-client-bonos .gv-card__actions,
    #panel-client-suscripciones .gv-card__actions {
      margin-top: 14px;
    }
    #panel-client-bonos .gv-card__actions-row,
    #panel-client-suscripciones .gv-card__actions-row {
      justify-content: stretch;
      flex-wrap: nowrap;
    }
    #panel-client-bonos .gv-card__actions-row .btn,
    #panel-client-suscripciones .gv-card__actions-row .btn {
      flex: 1 1 0 !important;
      width: auto !important;
      max-width: none;
      min-width: 0;
      height: 36px;
      min-height: 36px;
      padding: 0 8px;
      font-size: 0.78rem;
      font-weight: 700;
      border-radius: 10px;
      white-space: nowrap;
    }
    @media (max-width: 560px) {
      #panel-client-bonos .gv-cards,
      #panel-client-suscripciones .gv-cards {
        grid-template-columns: 1fr;
      }
      #panel-client-bonos .pass-list-pane,
      #panel-client-suscripciones .mem-list-pane {
        padding: 8px 20px 24px;
      }
    }
    #msg-client-bonos,
    #msg-client-suscripciones {
      margin-left: 28px;
      margin-right: 28px;
    }
    .pass-modal.modal-overlay {
      position: fixed;
      inset: 0;
      z-index: 20040;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .pass-modal.modal-overlay.hidden {
      display: none;
    }
    .pass-modal__panel {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-height: min(90vh, var(--bardev-modal-content-cap, 90vh));
      display: flex;
      flex-direction: column;
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: var(--bd-radius-lg, 16px);
      box-shadow: var(--bd-shadow-lg, 0 18px 40px rgba(15, 23, 42, 0.12));
      color: var(--bd-ink, #111827);
      overflow: hidden;
    }
    .pass-modal__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex: 0 0 auto;
      padding: 16px 18px 12px;
      border-bottom: 1px solid var(--bd-n-200, #E7EAF0);
    }
    .pass-modal__head h3 {
      margin: 0;
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--bd-ink, #111827);
    }
    .pass-modal__body {
      flex: 1 1 auto;
      overflow: auto;
      padding: 16px 18px;
    }
    .pass-modal__cols {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    @media (max-width: 719px) {
      .pass-modal__cols {
        grid-template-columns: 1fr;
      }
    }
    .pass-modal__field {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-bottom: 12px;
    }
    .pass-ahorro {
      margin: -4px 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink, #111827);
      font-size: 0.88rem;
      line-height: 1.35;
    }
    .pass-ahorro strong {
      color: var(--bd-ink, #111827);
    }
    .pass-ahorro__pct {
      font-weight: 700;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .pass-ahorro__detail {
      display: block;
      margin-top: 4px;
      font-size: 0.8rem;
      color: var(--bd-ink-soft, #6B7280);
    }
    .pass-ahorro--ok {
      border-color: color-mix(in srgb, var(--bd-g-600, var(--bv-g-047857, #047857)) 35%, var(--bd-n-200, #E7EAF0));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    .pass-ahorro--ok strong {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    .pass-ahorro--warn {
      border-color: color-mix(in srgb, var(--bd-warn-200, #fde68a) 80%, var(--bd-n-200));
      background: var(--bd-warn-50, #fffbeb);
    }
    .gv-card__ahorro {
      margin: 4px 0 0;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .pass-modal__field input,
    .pass-modal__field textarea,
    .pass-modal__field select {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
      font: inherit;
    }
    .pass-modal__services {
      min-height: 48px;
      margin: 8px 0 10px;
      padding: 10px;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-50, #f8fafc);
    }
    .pass-included-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin: 0 0 8px;
      min-width: 0;
    }
    .pass-included-row:last-child {
      margin-bottom: 0;
    }
    .pass-included-row__name {
      flex: 1 1 auto;
      min-width: 0;
      font-weight: 600;
      color: var(--bd-ink, #111827);
      line-height: 1.3;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .pass-included-row__price {
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .pass-included-row .bd-stepper {
      flex: 0 0 auto;
    }
    .pass-included-row__rm.btn,
    .pass-included-row .btn.pass-included-row__rm {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto !important;
      width: 32px !important;
      min-width: 32px !important;
      max-width: 32px !important;
      height: 32px !important;
      min-height: 32px !important;
      padding: 0 !important;
      margin: 0 !important;
      border-radius: 8px;
      font-size: 1.1rem;
      line-height: 1;
      font-weight: 600;
    }
    .pass-modal__tiles {
      margin-top: 10px;
    }
    .pass-modal__check {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 4px 8px 8px 0;
      color: var(--bd-ink, #111827);
      cursor: pointer;
    }
    .pass-modal__svc-mode {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 12px;
      margin: 6px 0 10px;
    }
    .pass-modal__recurring {
      margin-top: 10px;
    }
    .pass-modal__renewal-day {
      margin: 8px 0 4px;
    }
    .pass-modal__renewal-day[hidden] {
      display: none !important;
    }
    .pass-modal__field--renewal input[type='number'] {
      width: 88px;
      max-width: 100%;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
      font: inherit;
    }
    .pass-modal__hint {
      margin: 0 0 8px;
      color: var(--bd-ink-soft, #4b5563);
    }
    /* Registrar cobro → Bono o suscripción: título de la sección del código. */
    .agenda-cobro-pass-title {
      margin: 0 0 6px;
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--ds-brand-green, var(--text));
    }
    /* Vender bono/suscripción: alta rápida de cliente sin cuenta. */
    .pass-sale-new__toggle {
      margin-top: 8px;
      align-self: flex-start;
    }
    .pass-sale-new {
      margin-top: 8px;
      padding: 10px;
      border: 1px dashed var(--border);
      border-radius: 10px;
    }

    /* Tarjetas regalo: pestañas de estado (pendientes, canjeadas, anuladas) en vez de tres columnas (titular, 12-10-2026).
       El formato lo pone panel-menu-lateral.js (.bd-pestanas); aquí solo el contador y la rejilla a todo el ancho. */
    #panel-gift-vouchers .gv-estado-tabs__n {
      font-weight: 500;
      opacity: 0.75;
    }
    #panel-gift-vouchers .gv-estado-panel .gv-group {
      padding: 0;
      border: 0;
      background: none;
      box-shadow: none;
    }
    #panel-gift-vouchers .gv-estado-panel .gv-cards--pack,
    #panel-gift-vouchers .gv-estado-panel .gv-cards--balance {
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
    .pass-sale-new__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }
    .pass-sale-new .btn {
      margin-top: 8px;
    }
    @media (max-width: 520px) {
      .pass-sale-new__grid {
        grid-template-columns: 1fr;
      }
    }
    .pass-sale-pay {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 8px;
    }
    #pass-sale-client {
      width: 100%;
      margin-top: 8px;
      min-height: 140px;
      box-sizing: border-box;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
      font: inherit;
    }
    #pass-sale-client-q {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #111827);
      font: inherit;
    }
    .cliente-ficha-pass-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 8px;
    }
    .cliente-ficha-pass-card {
      padding: 12px 14px;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
    }
    .cliente-ficha-pass-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
    }
    .pass-modal__foot {
      flex: 0 0 auto;
      padding: 12px 18px 16px;
      border-top: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-0, #fff);
    }
    .pass-modal__foot .msg {
      margin: 0 0 8px;
    }
    .pass-modal__foot .bd-btn--solid {
      width: 100%;
    }
    html.bardev-panel-theme-light .pass-modal__panel {
      background: var(--bd-n-0);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light .gv-head-actions #btn-pass-nueva.btn.primary,
    html.bardev-panel-theme-light .gv-head-actions #btn-mem-nueva.btn.primary {
      background: var(--bd-g-600) !important;
      color: var(--bd-on-solid) !important;
      border-color: var(--bd-g-600) !important;
    }
    html.bardev-panel-theme-light .gv-head-actions #btn-gv-read-nfc.btn.secondary {
      background: var(--bd-n-0) !important;
      border: 1px solid var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
    }
    html.bardev-panel-theme-light .gv-head-actions #btn-gv-read-nfc .gv-head-btn__ico {
      color: var(--bd-g-600);
    }
    #caja-vd-gift-cart-wrap {
      overflow: hidden;
    }
    #caja-vd-gift-cart.caja-vd-prod-card {
      background: linear-gradient(180deg, var(--c-ambar-100) 0%, var(--c-beis-150c) 55%, var(--c-ambar-200) 100%) !important;
      border: 1px solid rgba(166, 138, 78, 0.38) !important;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
      color: var(--c-naranja-800);
    }
    html.bardev-panel-theme-light #caja-vd-gift-cart.caja-vd-prod-card {
      background: linear-gradient(180deg, var(--c-ambar-100) 0%, var(--c-beis-150c) 55%, var(--c-ambar-200) 100%) !important;
      border: 1px solid rgba(166, 138, 78, 0.38) !important;
      color: var(--c-naranja-800);
    }
    #caja-vd-gift-cart .gv-cart-empty,
    #caja-vd-gift-cart .sub {
      color: rgba(63, 52, 36, 0.72);
    }
    .gv-cart-list { list-style: none; margin: 0; padding: 0; }
    .gv-cart-row {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
      padding: 8px 6px;
      border-bottom: 1px solid rgba(148, 120, 60, 0.22);
      border-radius: 8px;
    }
    .gv-cart-row:last-child { border-bottom: none; }
    @keyframes gv-cart-row-flash {
      0%, 100% {
        background-color: rgba(234, 179, 8, 0);
        box-shadow: none;
      }
      50% {
        background-color: rgba(234, 179, 8, 0.58);
        box-shadow: inset 0 0 0 1px rgba(180, 130, 20, 0.45);
      }
    }
    .gv-cart-row--flash {
      animation-name: gv-cart-row-flash;
      animation-duration: 0.5s;
      animation-timing-function: ease-in-out;
      animation-iteration-count: 10;
      animation-fill-mode: none;
    }
    .gv-cart-row__main {
      min-width: 0;
      flex: 1 1 auto;
      font-size: 0.86rem;
    }
    .gv-cart-row__qty {
      font-weight: 600;
      color: var(--muted);
      white-space: nowrap;
    }
    .gv-cart-row__right {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      flex: 0 0 auto;
      max-width: none;
    }
    .gv-cart-row__price {
      display: inline-block;
      font-size: 0.72rem;
      font-weight: 700;
      white-space: nowrap !important;
      word-break: keep-all;
      overflow-wrap: normal;
      line-height: 1.2;
    }
    .gv-cart-row__rm.btn.btn-icon {
      width: 30px;
      height: 30px;
      min-width: 30px;
      padding: 0;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .gv-cart-row__rm.btn-icon svg {
      display: block;
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      overflow: visible;
    }
    .gv-cart-row__rm.btn-icon svg,
    .gv-cart-row__rm.btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
      stroke: var(--c-rojo-300) !important;
    }
    html.bardev-panel-theme-light .gv-cart-row__rm.btn-icon {
      background: var(--c-rojo-50b);
      border-color: rgba(239, 68, 68, 0.3);
    }
    html.bardev-panel-theme-light .gv-cart-row__rm.btn-icon svg,
    html.bardev-panel-theme-light .gv-cart-row__rm.btn-icon svg * {
      stroke: var(--c-rojo-500) !important;
    }
    html.bardev-panel-theme-light .gv-card {
      background: var(--c-blanco);
    }

    /* Puntos Fidelización: búsqueda — nombre, email y acciones en una fila */
    .loyalty-find-card {
      margin-top: 10px;
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: rgba(0, 0, 0, 0.15);
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 10px 14px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .loyalty-find-card__name {
      font-weight: 600;
      min-width: 0;
      flex: 0 1 auto;
      white-space: nowrap;
    }
    .loyalty-find-card__email {
      color: rgba(255, 255, 255, 0.65);
      font-size: 0.88rem;
      min-width: 0;
      flex: 1 1 140px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .loyalty-find-card__actions {
      display: flex;
      flex-wrap: nowrap;
      gap: 6px;
      align-items: center;
      margin-left: auto;
      flex-shrink: 0;
    }
    .loyalty-find-card__actions .btn {
      font-size: 0.78rem;
      padding: 4px 10px;
      white-space: nowrap;
    }
    .loyalty-search-panel {
      margin-top: 14px;
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: rgba(0, 0, 0, 0.2);
    }
    .loyalty-search-panel h3 {
      margin: 0 0 8px;
      font-size: 1rem;
    }
    .loyalty-search-panel > p.sub {
      margin: 0 0 8px;
    }
    #loyalty-find-query {
      width: 100%;
      max-width: 420px;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
    }
    #loyalty-find-result.sub {
      margin-top: 10px;
      min-height: 1.2em;
    }
    .loyalty-summary-wrap {
      margin-top: 18px;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    .loyalty-summary-section h3 {
      margin: 0 0 4px;
      font-size: 1rem;
    }
    .loyalty-summary-section > .sub {
      margin: 0;
    }
    .loyalty-summary-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
      gap: 10px;
      margin-top: 10px;
    }
    .loyalty-barfis-tile {
      padding: 12px 14px;
      border-radius: 12px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
    }
    .loyalty-barfis-tile__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
    }
    .loyalty-barfis-tile__rank {
      flex-shrink: 0;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--c-pizarra-550);
      padding: 2px 7px;
      border-radius: 999px;
      border: 1px solid rgba(148, 163, 184, 0.35);
      background: rgba(255, 255, 255, 0.72);
    }
    .loyalty-barfis-tile__name {
      font-weight: 600;
      font-size: 0.95rem;
      min-width: 0;
      word-break: break-word;
      color: var(--c-azul-900b);
    }
    .loyalty-barfis-tile__email {
      color: var(--c-pizarra-650);
      font-size: 0.82rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .loyalty-barfis-tile__points {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--ok);
      margin-top: 2px;
    }
    .loyalty-barfis-tile__meta {
      font-size: 0.8rem;
      color: var(--c-pizarra-550);
    }
    .loyalty-barfis-tile__reason {
      font-size: 0.78rem;
      color: var(--c-pizarra-750);
      margin-top: 2px;
      word-break: break-word;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .loyalty-summary-empty {
      margin: 8px 0 0;
      color: var(--muted);
    }
    .loyalty-catalog-section {
      margin: 16px 0 4px;
      padding: 14px 16px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: var(--card, #0d1a14);
    }
    .loyalty-catalog-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .loyalty-catalog-section h3 {
      margin: 0;
      font-size: 1rem;
    }
    .loyalty-catalog-table th,
    .loyalty-catalog-table td {
      font-size: 0.82rem;
      vertical-align: middle;
    }
    .loyalty-catalog-type {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      white-space: nowrap;
      border: 1px solid rgba(148, 163, 184, 0.35);
      background: rgba(148, 163, 184, 0.12);
      color: var(--text);
    }
    .loyalty-catalog-type--basic { border-color: rgba(59, 130, 246, 0.4); background: rgba(59, 130, 246, 0.12); }
    .loyalty-catalog-type--complement { border-color: rgba(168, 85, 247, 0.4); background: rgba(168, 85, 247, 0.12); }
    .loyalty-catalog-type--bundle { border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.4); background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12); }
    .loyalty-catalog-type--special { border-color: rgba(245, 158, 11, 0.45); background: rgba(245, 158, 11, 0.14); }
    .loyalty-catalog-type--lote { border-color: rgba(236, 72, 153, 0.4); background: rgba(236, 72, 153, 0.12); }
    .loyalty-catalog-type--product { border-color: rgba(14, 165, 233, 0.4); background: rgba(14, 165, 233, 0.12); }
    .loyalty-catalog-num {
      text-align: right;
      font-variant-numeric: tabular-nums;
      font-weight: 600;
      white-space: nowrap;
    }
    .loyalty-catalog-num--zero {
      opacity: 0.45;
      font-weight: 500;
    }
    .loyalty-catalog-open {
      color: var(--accent, var(--bv-g-1e7a52, #1e7a52));
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      font: inherit;
      text-align: left;
    }
    .loyalty-catalog-open:hover {
      opacity: 0.85;
    }
    .loyalty-catalog-open-btn {
      display: inline-block;
      padding: 4px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.04);
      color: var(--text);
      font-size: 0.78rem;
      font-weight: 600;
      cursor: pointer;
      white-space: nowrap;
    }
    .loyalty-catalog-open-btn:hover {
      border-color: var(--accent, var(--bv-g-1e7a52, #1e7a52));
      color: var(--accent, var(--bv-g-1e7a52, #1e7a52));
    }
    #loyalty-nav-context:not(.hidden) {
      margin-top: 10px;
      padding: 12px 14px;
      border-radius: 8px;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.45);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
    }
    #loyalty-nav-context:not(.hidden) strong {
      font-size: 1rem;
    }
    #loyalty-nav-context:not(.hidden) .sub {
      margin: 8px 0 0;
      line-height: 1.45;
    }
    #loyalty-adjust-overlay:not(.hidden),
    #loyalty-history-overlay:not(.hidden) {
      margin-top: 12px;
      margin-bottom: 20px;
      padding: 16px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
    }
    .historial-pill--muted {
      background: rgba(148, 163, 184, 0.12);
      color: rgba(226, 232, 240, 0.85);
      border-color: rgba(148, 163, 184, 0.25);
    }
    .historial-pill--total {
      background: rgba(0, 0, 0, 0.35);
      color: rgba(255, 255, 255, 0.88);
      border-color: rgba(255, 255, 255, 0.12);
      font-size: 0.72rem;
    }
    .historial-pill--tot-asist {
      border-color: rgba(96, 165, 250, 0.4);
      color: var(--c-azul-150);
    }
    .historial-pill--tot-noshow {
      border-color: rgba(251, 191, 36, 0.45);
      color: var(--c-ambar-250);
    }
    .historial-pill--tot-cancel {
      border-color: rgba(248, 113, 113, 0.45);
      color: var(--c-rojo-100);
    }
    .historial-client-totals {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 4px;
    }
    .historial-client-stats {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 0.82rem;
      line-height: 1.45;
      color: rgba(255, 255, 255, 0.82);
    }
    .historial-client-stats strong {
      color: rgba(255, 255, 255, 0.95);
      font-weight: 600;
    }
    .historial-client-card {
      margin-bottom: 12px;
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 12px;
      background: rgba(0, 0, 0, 0.12);
    }
    .historial-client-card .admin-data-table {
      margin-top: 8px;
    }
    .admin-data-table .cell-mono {
      font-family: ui-monospace, monospace;
      font-size: 0.75rem;
      max-width: 220px;
      word-break: break-all;
    }
    .admin-data-table select.estado-select {
      min-width: 9rem;
      padding: 4px 8px;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: rgba(0,0,0,0.35);
      color: var(--text);
    }
    /* Festivos: Eliminar alineado (evita margin-top y width:100% de .btn.secondary) */
    #festivos-list .admin-data-table th:last-child,
    #festivos-list .admin-data-table td:last-child {
      vertical-align: middle;
      text-align: right;
      width: 1%;
      white-space: nowrap;
    }
    #festivos-list .admin-data-table td:last-child .table-row-actions {
      justify-content: flex-end;
      width: 100%;
    }
    #festivos-list .admin-data-table td:last-child .btn-icon {
      margin-top: 0;
    }
    /* Personalización → biblioteca: fila + vista previa bajo cada fuente */
    #pers-fonts-list li.pers-font-item {
      list-style: none;
      margin: 0 0 14px;
      padding: 0 0 14px;
      border-bottom: 1px solid var(--border);
    }
    #pers-fonts-list li.pers-font-item:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
    }
    #pers-fonts-list li.pers-font-item > .pers-font-row {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    #pers-fonts-list li.pers-font-item > .pers-font-row .pers-font-row-label {
      min-width: 0;
      flex: 1;
    }
    #pers-fonts-list li.pers-font-item > .pers-font-row .pers-font-remove-btn {
      width: auto !important;
      flex: 0 0 auto;
      margin-top: 0 !important;
      padding: 2px 7px !important;
      font-size: 0.68rem !important;
      line-height: 1.15 !important;
      border-radius: 6px !important;
      white-space: nowrap;
    }
    .pers-typo-input {
      box-sizing: border-box;
      margin-top: 4px;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
    }
    html.bardev-panel-theme-light .pers-typo-input {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border-color: rgba(15, 23, 42, 0.15);
      color-scheme: light;
    }
    #pers-gf-pick.pers-typo-input {
      width: 100%;
    }
    #pers-font-file-label.pers-typo-input {
      width: 100%;
      max-width: 420px;
    }
    select.pers-typo-input {
      width: 100%;
      max-width: 420px;
      cursor: pointer;
      appearance: auto;
    }
    .pers-gf-samples-wrap {
      margin-top: 10px;
    }
    .pers-gf-samples-label {
      display: block;
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      margin-bottom: 6px;
    }
    .pers-gf-samples {
      max-height: 240px;
      overflow-y: auto;
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 4px;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
      background: var(--card);
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light .pers-gf-samples {
      background: var(--c-gris-50f);
      border-color: rgba(15, 23, 42, 0.12);
    }
    .pers-gf-sample {
      display: block;
      width: 100%;
      text-align: left;
      padding: 8px 10px;
      margin: 0;
      border: none;
      border-radius: 8px;
      background: color-mix(in srgb, var(--border) 18%, transparent);
      color: var(--text);
      font-size: 1.12rem;
      line-height: 1.35;
      cursor: pointer;
      transition: background 0.12s, box-shadow 0.12s;
      box-sizing: border-box;
    }
    html.bardev-panel-theme-light .pers-gf-sample {
      background: var(--c-blanco);
      color: var(--c-azul-900b);
      border: 1px solid rgba(15, 23, 42, 0.1);
    }
    .pers-gf-sample:hover {
      background: color-mix(in srgb, var(--ok) 14%, var(--card));
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--ok) 35%, transparent);
    }
    html.bardev-panel-theme-light .pers-gf-sample:hover {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      box-shadow: 0 0 0 1px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.35);
    }
    .pers-gf-sample:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .pers-typo-preview-inline {
      margin-top: 10px;
      padding: 12px 14px;
      border-radius: 8px;
      background: var(--c-blanco);
      color: var(--c-gris-950d);
      border: 1px solid rgba(0, 0, 0, 0.12);
      box-sizing: border-box;
    }
    .pers-typo-preview-line {
      margin: 6px 0 0;
      line-height: 1.45;
      color: var(--c-gris-950d);
      word-break: break-word;
    }
    .pers-typo-preview-line:first-of-type {
      margin-top: 0;
      font-size: 1.05rem;
    }
    /* Fichajes HOY: empleados + fecha en una fila */
    #fichajes-panel-hoy .fichajes-hoy-toolbar {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 16px 28px;
      margin-top: 12px;
    }
    #fichajes-panel-hoy .fichajes-hoy-toolbar__emp {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      margin: 0;
      font-weight: 600;
    }
    #fichajes-panel-hoy #fichajes-emp-filter {
      padding: 6px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      min-width: min(100%, 280px);
    }
    #fichajes-panel-hoy .fichajes-day-nav-row {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 8px;
      flex-wrap: nowrap;
    }
    #fichajes-panel-hoy .fichajes-day-nav-row__label {
      font-weight: 600;
      margin: 0;
      white-space: nowrap;
    }
    #fichajes-panel-hoy .fichajes-day-nav-row .btn.secondary {
      width: auto !important;
      margin-top: 0 !important;
      min-width: 2.25rem;
      padding: 6px 10px;
      font-size: 1.1rem;
      line-height: 1;
      flex-shrink: 0;
    }
    #fichajes-panel-hoy #fichajes-date {
      padding: 6px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
    }
    /* Fichajes: hora + «Cambiar» en una sola línea (.btn global usa width:100% y margin-top) */
    #fichajes-table .fichajes-emp-block-gap td {
      height: 14px;
      padding: 0;
      border: none;
      background: transparent;
    }
    #fichajes-table .fichajes-emp-thead th {
      vertical-align: middle;
    }
    #fichajes-table .fichajes-emp-head-cell {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    #fichajes-table .fichajes-emp-head-cell strong {
      line-height: 1.25;
    }
    #fichajes-table .fichajes-emp-avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      display: block;
    }
    #fichajes-table .fichajes-emp-avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
      font-weight: 700;
      font-size: 0.85rem;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    html.bardev-panel-theme-light #fichajes-table .fichajes-emp-avatar--ph {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.25);
    }
    #fichajes-table .fichajes-time-cell {
      vertical-align: middle;
      white-space: nowrap;
    }
    #fichajes-table .fichajes-time-row {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      flex-wrap: nowrap;
    }
    #fichajes-table .fichajes-time-row .fichajes-time-btn {
      width: auto !important;
      margin-top: 0 !important;
      padding: 3px 8px !important;
      font-size: 0.68rem !important;
      flex-shrink: 0;
      box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    }
    /* Informe mes: ‹ mes › en una sola línea (.btn usa width:100% por defecto) */
    #fichajes-panel-mes .fichajes-mes-informe-card {
      margin-top: 12px;
      padding: 12px 14px;
      max-width: 720px;
      border: 1px solid var(--border);
      border-radius: 10px;
    }
    #fichajes-panel-mes .fichajes-mes-informe-card__title {
      margin: 0;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.06em;
    }
    #fichajes-panel-mes .fichajes-mes-informe-body {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 12px;
    }
    #fichajes-panel-mes .fichajes-mes-informe-top {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 16px 28px;
    }
    #fichajes-panel-mes .fichajes-mes-emp-filter {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      margin: 0;
      font-weight: 600;
    }
    #fichajes-panel-mes #fichajes-month-emp-filter {
      padding: 6px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      min-width: min(100%, 240px);
    }
    #fichajes-panel-mes .fichajes-month-export-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
      opacity: 0;
    }
    #fichajes-panel-mes .fichajes-mes-informe-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    #fichajes-panel-mes .fichajes-mes-informe-actions .btn.secondary {
      width: auto !important;
      margin: 0 !important;
      padding: 6px 12px;
      font-size: 0.82rem;
    }
    #fichajes-panel-mes .fichajes-month-nav-row {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 10px;
      flex-wrap: nowrap;
    }
    #fichajes-panel-mes .fichajes-month-nav-row .btn.secondary {
      width: auto !important;
      margin-top: 0 !important;
      flex-shrink: 0;
      min-width: 2.25rem;
      padding: 6px 10px;
      font-size: 1.1rem;
      line-height: 1;
    }
    #fichajes-panel-mes .fichajes-month-nav-row #fichajes-month-label,
    #fichajes-panel-mes .fichajes-month-nav-row .fichajes-month-nav-row__label {
      white-space: nowrap;
    }
    #fichajes-month-wrap { margin-top: 14px; }
    #fichajes-month-wrap .fichajes-month-emp-block + .fichajes-month-emp-block {
      margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--border);
    }
    #fichajes-month-wrap .fichajes-month-emp-head {
      margin: 0 0 10px;
    }
    #fichajes-month-wrap .fichajes-emp-head-cell strong {
      font-size: 0.95rem;
      line-height: 1.25;
    }
    #fichajes-month-wrap .fichajes-emp-head-cell {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    #fichajes-month-wrap .fichajes-emp-avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      display: block;
    }
    #fichajes-month-wrap .fichajes-emp-avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.18);
      color: var(--bv-g-34d399, #34d399);
      font-weight: 700;
      font-size: 0.85rem;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    html.bardev-panel-theme-light #fichajes-month-wrap .fichajes-emp-avatar--ph {
      background: rgba(37, 99, 235, 0.12);
      color: var(--c-azul-600b);
      border-color: rgba(37, 99, 235, 0.25);
    }
    #fichajes-month-wrap .fichajes-month-table th,
    #fichajes-month-wrap .fichajes-month-table td {
      text-align: center; vertical-align: middle; font-size: 0.82rem;
    }
    #fichajes-month-wrap .fichajes-month-table th:first-child,
    #fichajes-month-wrap .fichajes-month-table td:first-child {
      text-align: left; font-weight: 600; white-space: nowrap;
    }
    #fichajes-month-wrap .fichajes-month-table .fichajes-month-dow {
      font-size: 0.72rem; opacity: 0.75; font-weight: 500; margin-left: 4px;
    }
    #fichajes-month-wrap .fichajes-month-table tfoot td {
      font-weight: 700; border-top: 2px solid var(--border);
    }
    html.bardev-panel-theme-light #fichajes-month-wrap .fichajes-month-table thead th {
      background: #e8e8e8; color: var(--c-gris-950d);
    }
    /* Filas de totales (por empleado y pie) — fondo negro */
    #fichajes-table tr.fichajes-row--vacacion td,
    #fichajes-table tr.fichajes-row--festivo td,
    #fichajes-table tr.fichajes-row--cerrado td,
    #fichajes-month-wrap .fichajes-month-table tr.fichajes-row--off td {
      background: rgba(124, 58, 237, 0.08);
      vertical-align: middle;
    }
    #fichajes-table tr.fichajes-row--festivo td,
    #fichajes-month-wrap .fichajes-month-table tr.fichajes-row--festivo td {
      background: rgba(180, 83, 9, 0.08);
    }
    #fichajes-table tr.fichajes-row--cerrado td,
    #fichajes-month-wrap .fichajes-month-table tr.fichajes-row--cerrado td {
      background: rgba(15, 23, 42, 0.04);
    }
    #fichajes-table .fichajes-status-vacacion,
    #fichajes-table .fichajes-status-off,
    #fichajes-month-wrap .fichajes-status-off {
      display: inline-block;
      padding: 4px 12px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--c-indigo-600);
      background: rgba(167, 139, 250, 0.35);
      border: 1px solid rgba(124, 58, 237, 0.35);
    }
    #fichajes-table .fichajes-status-festivo,
    #fichajes-month-wrap .fichajes-status-festivo {
      color: var(--c-naranja-700b);
      background: rgba(251, 191, 36, 0.35);
      border-color: rgba(180, 83, 9, 0.35);
    }
    #fichajes-table .fichajes-status-cerrado,
    #fichajes-month-wrap .fichajes-status-cerrado {
      color: var(--c-pizarra-750);
      background: rgba(148, 163, 184, 0.32);
      border-color: rgba(100, 116, 139, 0.35);
    }
    #fichajes-table tr.fichajes-emp-subtotal td,
    #fichajes-table tfoot tr.fichajes-tfoot-total td {
      background: var(--c-negro) !important;
      color: var(--c-blanco) !important;
      border-top-color: rgba(255, 255, 255, 0.22) !important;
    }
    #fichajes-table tr.fichajes-emp-subtotal .btn.secondary {
      background: rgba(255, 255, 255, 0.15);
      color: var(--c-blanco);
      border-color: rgba(255, 255, 255, 0.35);
    }
    .fpago-table { table-layout: fixed; font-size: 0.74rem; }
    .fpago-table th,
    .fpago-table td { padding: 5px 6px; vertical-align: middle; }
    .fpago-table input[type="text"] { font-size: 0.74rem; padding: 4px 6px; box-sizing: border-box; }
    .fpago-table .fpago-apply-cell { font-size: 0.65rem; line-height: 1.3; }
    .fpago-table .fpago-apply-cell label {
      display: flex; align-items: center; gap: 3px; cursor: pointer; margin: 1px 0; white-space: nowrap;
    }
    .fpago-table .fpago-apply-cell input { accent-color: var(--ok); width: 14px; height: 14px; flex-shrink: 0; }
    .fpago-table .fpago-actions-cell {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start;
      gap: 6px;
      vertical-align: middle;
      width: 1%;
      white-space: nowrap;
    }
    /* .btn tiene width:100% y .secondary margin-top; aquí van en una fila */
    .fpago-table .fpago-actions-cell .btn {
      flex-shrink: 0;
      width: auto;
      max-width: none;
      margin-top: 0;
      margin-bottom: 0;
    }
    .fpago-table .fpago-icon-cell {
      vertical-align: middle;
    }
    .fpago-icon-cell-inner {
      display: flex;
      align-items: center;
      justify-content: center;
      max-width: 52px;
      margin: 0 auto;
    }
    button.fpago-icon-preview {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.25);
      cursor: pointer;
      font-size: 1.45rem;
      line-height: 1;
      transition: background 0.15s, border-color 0.15s;
    }
    button.fpago-icon-preview:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.12);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.45);
    }
    button.fpago-icon-preview:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .fpago-icon-preview-svg {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
      color: rgba(226, 232, 240, 0.95);
    }
    .fpago-icon-preview-svg svg {
      width: 22px;
      height: 22px;
      display: block;
    }
    .fpago-icon-picker-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
      gap: 8px;
      max-height: min(52vh, 320px);
      overflow-y: auto;
      padding: 4px 2px 8px;
    }
    button.fpago-icon-choice {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      aspect-ratio: 1;
      max-width: 48px;
      margin: 0 auto;
      padding: 0;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.2);
      cursor: pointer;
      color: var(--text, #e2e8f0);
      line-height: 1;
      transition: background 0.12s, transform 0.12s;
    }
    button.fpago-icon-choice svg {
      width: 22px;
      height: 22px;
      display: block;
    }
    button.fpago-icon-choice:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.15);
      transform: scale(1.06);
    }
    button.fpago-icon-choice:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .admin-json-preview {
      max-height: 4.5rem;
      overflow: auto;
      font-size: 0.72rem;
      line-height: 1.35;
      margin: 0;
      white-space: pre-wrap;
      word-break: break-word;
    }

    /* Usuarios: tabla + detalle expandible (sin scroll horizontal: cabe en viewport) */
    .usuarios-tables-root .usuarios-booking-tabs {
      margin-top: 10px;
    }
    .usuarios-table-wrap {
      margin-top: 12px;
      width: 100%;
      max-width: 100%;
      overflow-x: auto;
    }
    .main-area:has(#panel-usuarios.active):has(#usuarios-table-wrap-activos:not(.hidden)),
    .main-area:has(#panel-usuarios.active):has(#usuarios-table-wrap-inactivos:not(.hidden)) {
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding-bottom: 12px;
    }
    #panel-usuarios.active:has(#usuarios-table-wrap-activos:not(.hidden)),
    #panel-usuarios.active:has(#usuarios-table-wrap-inactivos:not(.hidden)) {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      min-height: 0;
      overflow: hidden;
    }
    #panel-usuarios.active:has(#usuarios-table-wrap-activos:not(.hidden)) .usuarios-tables-root,
    #panel-usuarios.active:has(#usuarios-table-wrap-inactivos:not(.hidden)) .usuarios-tables-root {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      min-height: 0;
    }
    #panel-usuarios.active .usuarios-table-wrap[data-usuarios-tab-panel='activos']:not(.hidden),
    #panel-usuarios.active .usuarios-table-wrap[data-usuarios-tab-panel='inactivos']:not(.hidden) {
      flex: 1 1 auto;
      min-height: 0;
    }
    #panel-usuarios .usuarios-table-wrap[data-bardev-fill-h='1'] {
      overflow-y: auto;
    }
    #panel-usuarios .usuarios-table-wrap[data-bardev-fill-h='1'] .usuarios-main-table {
      border-collapse: separate;
      border-spacing: 0;
    }
    #panel-usuarios .usuarios-table-wrap[data-bardev-fill-h='1'] .usuarios-main-table thead th {
      position: sticky;
      top: 0;
      z-index: 6;
      background: var(--bd-n-0, #fff);
      /* La segunda sombra, sólida y hacia arriba, tapa la franja que asomaba sobre la cabecera al desplazar
         (titular, 12-10-2026: «en la parte superior de la tabla se ve una pequeña abertura»). */
      box-shadow: inset 0 -1px 0 var(--bd-n-200, #e7eaf0), 0 -16px 0 0 var(--bd-n-0, #fff);
    }
    /* Acabado de la tabla (titular, 12-10-2026: «bordes redondeados… que no parezca un simple Excel»): contenedor con
       borde y esquinas redondeadas sobre la superficie, cabecera con aire, filas separadas por líneas suaves y
       resaltado al pasar. */
    #panel-usuarios .usuarios-table-wrap[data-bardev-fill-h='1'] {
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 14px;
      background: var(--bd-n-0, var(--card));
      box-shadow: 0 1px 8px rgba(15, 23, 42, 0.05);
    }
    #panel-usuarios .usuarios-main-table thead th {
      padding-top: 11px;
      padding-bottom: 11px;
      font-size: 0.66rem;
      letter-spacing: 0.06em;
    }
    #panel-usuarios .usuarios-main-table thead th:first-child {
      padding-left: 12px;
    }
    #panel-usuarios .usuarios-main-table tbody td {
      border-bottom: 1px solid color-mix(in srgb, var(--bd-n-200, var(--border)) 70%, transparent);
    }
    #panel-usuarios .usuarios-main-table tbody tr:last-child td {
      border-bottom: 0;
    }
    #panel-usuarios .usuarios-main-table tbody tr[data-usuarios-row]:hover td {
      background: color-mix(in srgb, var(--bv-primary, var(--ds-accent, #c8463d)) 6%, transparent);
    }
    #panel-usuarios .usuarios-page-size-wrap {
      display: none !important;
    }
    #panel-usuarios .usuarios-pager {
      display: none !important;
    }
    .usuarios-infinite-hint {
      margin: 10px 4px 4px;
      text-align: center;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #6B7280);
    }
    .usuarios-page-size-wrap {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 8px;
      padding: 4px 2px;
    }
    .usuarios-page-size-label {
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
      font-weight: 600;
      margin-right: 2px;
    }
    .usuarios-page-size-cap {
      appearance: none;
      border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
      background: color-mix(in srgb, var(--card) 70%, transparent);
      color: var(--muted);
      font-size: 0.68rem;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 999px;
      cursor: pointer;
      line-height: 1.2;
      min-width: 2.1rem;
      text-align: center;
    }
    .usuarios-page-size-cap:hover {
      color: var(--text);
      border-color: color-mix(in srgb, var(--brand) 45%, var(--border));
    }
    .usuarios-page-size-cap--active,
    .usuarios-page-size-cap[aria-checked='true'] {
      color: var(--text);
      background: color-mix(in srgb, var(--brand) 22%, transparent);
      border-color: color-mix(in srgb, var(--brand) 55%, transparent);
      box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 35%, transparent);
    }
    .usuarios-pager {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      column-gap: 14px;
      row-gap: 8px;
      margin-top: 14px;
      padding: 8px 12px;
      width: 100%;
      box-sizing: border-box;
    }
    /* Tres piezas juntas al centro: Anterior | texto | Siguiente (sin estirar el centro a todo el ancho). */
    .usuarios-pager-meta {
      font-size: 0.72rem;
      text-align: center;
      flex: 0 1 auto;
      min-width: 0;
      max-width: min(100%, 22rem);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      padding: 0 2px;
    }
    /* Paginación: los .btn globales son width:100%; aquí van en una sola línea con el texto. */
    #panel-usuarios .usuarios-pager .usuarios-pager-btn {
      width: auto !important;
      max-width: none;
      flex: 0 0 auto;
      margin: 0 !important;
      padding: 8px 12px !important;
      font-size: 0.72rem !important;
      white-space: nowrap;
    }
    .usuarios-th-sort-cliente {
      appearance: none;
      background: transparent;
      border: none;
      color: inherit;
      font: inherit;
      font-weight: 600;
      font-size: 0.65rem;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      padding: 0 22px 0 0;
      margin: 0;
      cursor: pointer;
      text-align: left;
      line-height: 1.3;
    }
    .usuarios-th-sort-cliente:hover {
      color: var(--text);
    }
    .usuarios-sort-dir {
      font-weight: 500;
      opacity: 0.85;
    }
    #panel-usuarios .usuarios-main-table thead th.is-sortable {
      cursor: pointer;
      user-select: none;
    }
    #panel-usuarios .usuarios-main-table thead th.is-sortable:hover,
    #panel-usuarios .usuarios-main-table thead th[aria-sort]:not([aria-sort="none"]) {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    #panel-usuarios .usuarios-main-table thead th .usuarios-sort-ico {
      display: inline-block;
      margin-left: 4px;
      font-size: 0.7rem;
      opacity: 0.7;
      font-weight: 500;
    }
    .usuarios-main-table {
      width: 100%;
      max-width: 100%;
      table-layout: fixed;
      border-collapse: collapse;
      font-size: 0.74rem;
    }
    /* Anchos por <colgroup><col>; redimensionar arrastrando el separador entre columnas */
    .usuarios-col-resize-handle {
      position: absolute;
      right: -4px;
      top: 0;
      bottom: 0;
      width: 10px;
      z-index: 5;
      cursor: col-resize;
      user-select: none;
      touch-action: none;
    }
    .usuarios-col-resize-handle::after {
      content: '';
      position: absolute;
      left: 3px;
      top: 0;
      bottom: 0;
      width: 1px;
      background: transparent;
    }
    .usuarios-main-table th:hover .usuarios-col-resize-handle::after {
      background: color-mix(in srgb, var(--brand) 55%, transparent);
    }
    .usuarios-main-table th {
      position: relative;
      text-align: left;
      padding: 6px 5px;
      border-bottom: 1px solid var(--border);
      color: var(--muted);
      font-weight: 600;
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    #panel-usuarios .usuarios-table-wrap[data-bardev-fill-h='1'] .usuarios-main-table thead th {
      position: sticky;
    }
    .usuarios-main-table thead th:not(:last-child) {
      padding-right: 10px;
    }
    .usuarios-main-table td {
      padding: 7px 5px;
      border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
      vertical-align: middle;
    }
    .usuarios-main-table td.num {
      font-size: 0.68rem;
      white-space: normal;
      word-break: break-word;
    }
    .usuarios-actions-cell {
      vertical-align: top;
    }
    .usuarios-actions-buttons {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 3px 4px;
      width: 100%;
      min-width: 0;
    }
    #panel-usuarios .usuarios-main-table .usuarios-actions-cell .table-row-actions {
      flex: 1 1 auto;
      min-width: 0;
      justify-content: flex-end;
    }
    /* Reserva web: etiqueta + interruptor (sustituye botón Sin reserva web / Permitir reserva web) */
    .usuarios-online-toggle {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      min-width: 0;
      padding: 2px 0;
    }
    .usuarios-online-label {
      font-size: 0.5rem;
      font-weight: 700;
      line-height: 1.1;
      text-align: center;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .usuarios-online-switch {
      width: 28px;
      height: 15px;
      border-radius: 8px;
      padding: 0;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: rgba(0, 0, 0, 0.4);
      cursor: pointer;
      position: relative;
      flex-shrink: 0;
      transition: background 0.15s ease, border-color 0.15s ease;
    }
    .usuarios-online-switch::after {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: var(--c-gris-50b);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
      transition: transform 0.15s ease;
    }
    .usuarios-online-switch[aria-checked='true'] {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.4);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.55);
    }
    .usuarios-online-switch[aria-checked='true']::after {
      transform: translateX(12px);
    }
    .usuarios-online-switch:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .cliente-ficha-panel .cliente-ficha-section {
      margin-top: 18px;
    }
    .cliente-ficha-panel .cliente-ficha-gift-list {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .cliente-ficha-panel .cliente-ficha-gift-card {
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: var(--card);
    }
    .cliente-ficha-panel .cliente-ficha-gift-card__top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }
    .cliente-ficha-panel .cliente-ficha-gift-card__code {
      font-weight: 700;
      letter-spacing: 0.04em;
    }
    .cliente-ficha-panel .cliente-ficha-gift-card__kind {
      font-size: 0.72rem;
      font-weight: 600;
      text-transform: uppercase;
      opacity: 0.7;
    }
    .cliente-ficha-panel .cliente-ficha-gift-card__summary {
      margin: 6px 0 0;
      font-size: 0.88rem;
    }
    .usuarios-edit-gift-cards {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 6px;
    }
    .usuarios-edit-gift-card {
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--bg);
      font-size: 0.85rem;
    }
    .cliente-ficha-panel .cliente-ficha-section h4 {
      margin: 0 0 10px;
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--text);
    }
    .cliente-ficha-panel dl.cliente-ficha-dl {
      display: grid;
      grid-template-columns: minmax(100px, 140px) 1fr;
      gap: 6px 12px;
      margin: 0;
      font-size: 0.88rem;
    }
    .cliente-ficha-panel dl.cliente-ficha-dl dt {
      color: var(--muted);
      margin: 0;
    }
    .cliente-ficha-panel dl.cliente-ficha-dl dd {
      margin: 0;
      word-break: break-word;
    }
    .cliente-ficha-panel .cliente-ficha-notes-inline {
      max-width: 100%;
    }
    .cliente-ficha-panel .cliente-ficha-notes-view {
      min-height: 2.6em;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.12);
      white-space: pre-wrap;
      word-break: break-word;
      cursor: pointer;
      box-sizing: border-box;
      font-size: 0.86rem;
      line-height: 1.45;
    }
    .cliente-ficha-panel .cliente-ficha-notes-view:hover {
      border-color: rgba(255, 255, 255, 0.14);
    }
    .cliente-ficha-panel .cliente-ficha-notes-view:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .cliente-ficha-panel .cliente-ficha-notes-view--placeholder {
      color: var(--muted);
      font-style: italic;
    }
    .cliente-ficha-panel .cliente-ficha-notes-view[aria-disabled='true'] {
      cursor: default;
    }
    .cliente-ficha-panel .cliente-ficha-notes-input {
      width: 100%;
      box-sizing: border-box;
      margin: 0 0 8px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--text);
      font-size: 0.86rem;
      line-height: 1.45;
      resize: vertical;
      min-height: 5rem;
    }
    .cliente-ficha-panel .cliente-ficha-notes-actions {
      display: flex;
      gap: 8px;
      justify-content: flex-end;
      flex-wrap: wrap;
    }
    .cliente-ficha-panel .cliente-ficha-notes-hint {
      margin: 6px 0 0;
      font-size: 0.75rem;
    }
    .cliente-ficha-panel .admin-data-table {
      font-size: 0.82rem;
    }
    .agenda-detail-clientrow {
      display: flex;
      align-items: stretch;
      gap: 8px;
      margin-bottom: 12px;
      width: 100%;
    }
    .agenda-detail-clientblock {
      margin-bottom: 12px;
    }
    .agenda-detail-clientblock .agenda-detail-clientrow {
      margin-bottom: 0;
    }
    .agenda-detail-clientrow .agenda-detail-client-shell {
      flex: 1 1 auto;
      min-width: 0;
    }
    .agenda-detail-clientrow .agenda-detail-clientcard:not(.agenda-detail-clientcard--plain) {
      flex: 1 1 auto;
      min-width: 0;
      margin-bottom: 0;
    }
    .agenda-detail-client-shell {
      box-sizing: border-box;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: rgba(0, 0, 0, 0.18);
      padding: 10px 12px 8px;
      transition: border-color 0.15s ease, background 0.15s ease;
    }
    .agenda-detail-client-shell:has(> .agenda-detail-clientcard:not(:disabled)):hover {
      border-color: color-mix(in srgb, var(--ok) 55%, var(--border));
      background: rgba(0, 0, 0, 0.22);
    }
    .agenda-detail-client-shell--paso {
      background: rgba(245, 158, 11, 0.08);
      border-color: rgba(245, 158, 11, 0.35);
    }
    /* Tema claro: neutro / paso ámbar semántico */
    html.bardev-panel-theme-light #agenda-d-client-shell,
    html.bardev-panel-theme-light .agenda-detail-client-shell,
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-shell {
      background: var(--c-gris-50e) !important;
      border: 1px solid var(--c-gris-100) !important;
      box-shadow: none !important;
      color: var(--c-verde-900) !important;
    }
    html.bardev-panel-theme-light #agenda-d-client-shell:hover,
    html.bardev-panel-theme-light .agenda-detail-client-shell:hover {
      background: var(--c-gris-50) !important;
      border-color: #b8c4bd !important;
    }
    html.bardev-panel-theme-light #agenda-d-client-shell.agenda-detail-client-shell--paso,
    html.bardev-panel-theme-light .agenda-detail-client-shell--paso {
      background: var(--c-ambar-50) !important;
      border-color: var(--c-ambar-350) !important;
    }
    .agenda-detail-clientcard--plain {
      display: flex;
      align-items: center;
      gap: 12px;
      width: 100%;
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 0;
      background: transparent;
      cursor: pointer;
      text-align: left;
      color: inherit;
      font: inherit;
    }
    .agenda-detail-clientcard--plain:hover:not(:disabled),
    .agenda-detail-clientcard--plain:focus-visible {
      border: none;
      background: transparent;
    }
    .agenda-detail-clientcard--plain:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .agenda-detail-clientcard__edit {
      flex: 0 0 auto;
      align-self: center;
      padding: 8px 14px;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--ok) 55%, var(--border));
      background: color-mix(in srgb, var(--ok) 18%, transparent);
      color: var(--ok);
      font-size: 0.82rem;
      font-weight: 600;
      cursor: pointer;
      white-space: nowrap;
    }
    .agenda-detail-clientcard__edit:hover {
      background: color-mix(in srgb, var(--ok) 28%, transparent);
      border-color: var(--ok);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-clientcard__edit {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--bv-g-059669, #059669);
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-clientcard__edit:hover {
      background: var(--bv-g-d1fae5, #d1fae5);
    }
    .agenda-detail-client-shell__inner {
      display: flex;
      align-items: stretch;
      gap: 8px;
    }
    .agenda-detail-client-shell__inner > .agenda-detail-clientcard--plain {
      flex: 1 1 auto;
      min-width: 0;
    }
    .agenda-detail-client-register {
      flex: 0 0 72px;
      width: 72px;
      min-height: 72px;
      align-self: stretch;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
      padding: 6px 4px;
      box-sizing: border-box;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--ok) 55%, var(--border));
      background: color-mix(in srgb, var(--ok) 16%, transparent);
      color: var(--ok);
      cursor: pointer;
      font: inherit;
      transition: background 0.15s ease, border-color 0.15s ease;
    }
    .agenda-detail-client-register:hover,
    .agenda-detail-client-register:focus-visible {
      background: color-mix(in srgb, var(--ok) 28%, transparent);
      border-color: var(--ok);
      outline: none;
    }
    .agenda-detail-client-register:focus-visible {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--ok) 35%, transparent);
    }
    .agenda-detail-client-register__ico {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
    }
    .agenda-detail-client-register__lbl {
      font-size: 0.58rem;
      font-weight: 700;
      line-height: 1.15;
      text-align: center;
      letter-spacing: 0.01em;
      max-width: 100%;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-register {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--bv-g-059669, #059669);
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-register:hover,
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-register:focus-visible {
      background: var(--bv-g-d1fae5, #d1fae5);
    }
    /* Vincular cliente — Estilo Barveo (cabecera / cuerpo / pie) */
    #agenda-link-client-modal.modal-overlay > .agenda-lc-panel,
    #agenda-link-client-modal.modal-overlay > .bardev-modal-scale-wrap > .agenda-lc-panel {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      min-width: 0 !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      );
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      padding: 0 !important;
      box-sizing: border-box;
    }
    #agenda-link-client-modal.modal-overlay > .bardev-modal-scale-wrap {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
    }
    .agenda-lc-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex: 0 0 auto;
      padding: 14px 16px;
      border-bottom: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
    }
    .agenda-lc-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--bd-ink, var(--text));
      letter-spacing: -0.01em;
    }
    .agenda-lc-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 14px 16px 12px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      background: var(--bd-n-0, var(--card));
      color: var(--bd-ink, var(--text));
    }
    .agenda-lc-lead {
      margin: 0;
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, var(--muted));
    }
    .agenda-lc-section {
      padding: 12px;
      box-sizing: border-box;
    }
    .agenda-lc-section > .bd-label {
      margin: 0 0 8px;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      font-weight: 800;
    }
    .agenda-lc-input {
      width: 100%;
      min-height: 44px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, var(--text));
      box-sizing: border-box;
      font: inherit;
      font-size: 0.92rem;
    }
    .agenda-lc-input:focus {
      outline: none;
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    .agenda-lc-name-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin: 8px 0;
    }
    .agenda-lc-create .bd-label {
      margin: 8px 0 4px;
    }
    .agenda-lc-create > .bd-label:first-child {
      margin-top: 0;
    }
    .agenda-lc-opt {
      font-weight: 600;
      text-transform: none;
      letter-spacing: 0;
      color: var(--bd-ink-soft, var(--muted));
    }
    .agenda-lc-selected:not(.hidden) {
      margin-top: 10px;
    }
    .agenda-lc-msg {
      margin: 0;
    }
    .agenda-lc-foot {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: stretch;
      justify-content: stretch;
      gap: 10px;
      flex: 0 0 auto;
      margin: 0;
      padding: 12px 16px 14px;
      border-top: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-0, var(--card));
      box-shadow: 0 -10px 18px -8px rgba(15, 23, 42, 0.12);
    }
    .agenda-lc-foot .bd-btn {
      flex: 1 1 0;
      justify-content: center;
      min-width: 0;
    }
    .agenda-lc-foot .bd-btn--solid {
      min-height: var(--bd-cta-h, 54px);
    }
    html.bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-panel.bd-panel {
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-head {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef)) !important;
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0) !important;
    }
    html.bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-head h3 {
      color: var(--bd-ink, #0f1f17) !important;
    }
    html.bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-section.bd-surface {
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-lg, 16px);
    }
    html.bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-input {
      background: var(--c-blanco) !important;
      border-color: var(--bd-n-200) !important;
      color: var(--bd-ink) !important;
    }
    html.bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-foot {
      background: var(--c-blanco) !important;
      border-top-color: var(--bd-n-200) !important;
    }
    .agenda-lc-create.hidden {
      display: none !important;
    }
    .agenda-lc-search-row {
      align-items: stretch;
    }
    .agenda-lc-new-client-btn {
      flex: 0 0 64px;
      width: 64px;
      min-height: 44px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      padding: 6px 4px;
      box-sizing: border-box;
      border-radius: 12px;
      border: 1px solid var(--bd-g-400, var(--bv-g-6ee7b7, #6ee7b7));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      cursor: pointer;
      font: inherit;
      transition: background 0.15s ease, border-color 0.15s ease;
    }
    .agenda-lc-new-client-btn:hover,
    .agenda-lc-new-client-btn:focus-visible {
      background: var(--bd-g-100, var(--bv-g-d1fae5, #d1fae5));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      outline: none;
    }
    .agenda-lc-new-client-btn__plus {
      font-size: 1.15rem;
      font-weight: 800;
      line-height: 1;
    }
    .agenda-lc-new-client-btn__lbl {
      font-size: 0.62rem;
      font-weight: 800;
      line-height: 1.15;
      text-align: center;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      max-width: 100%;
    }
    html.bardev-panel-theme-light .agenda-lc-new-client-btn {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--bv-g-059669, #059669);
      color: var(--bv-g-047857, #047857);
    }
    html.bardev-panel-theme-light .agenda-lc-new-client-btn:hover,
    html.bardev-panel-theme-light .agenda-lc-new-client-btn:focus-visible {
      background: var(--bv-g-d1fae5, #d1fae5);
    }
    /* Compat: antiguos selectores del pie */
    .agenda-lc-footer {
      display: none;
    }
    .agenda-detail-clientcard {
      display: flex;
      align-items: center;
      gap: 12px;
      width: 100%;
      box-sizing: border-box;
      margin-left: 0;
      margin-right: 0;
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: rgba(0, 0, 0, 0.18);
      cursor: pointer;
      text-align: left;
      color: inherit;
      font: inherit;
      transition: border-color 0.15s ease, background 0.15s ease;
    }
    .agenda-detail-clientcard:hover:not(:disabled) {
      border-color: color-mix(in srgb, var(--ok) 55%, var(--border));
      background: rgba(0, 0, 0, 0.22);
    }
    .agenda-detail-clientcard:disabled {
      opacity: 0.75;
      cursor: not-allowed;
    }
    .agenda-detail-clientcard--paso {
      cursor: default;
      pointer-events: none;
      background: rgba(245, 158, 11, 0.08);
      border-color: rgba(245, 158, 11, 0.35);
    }
    /* --plain DEBE ir después de .agenda-detail-clientcard (misma especificidad) */
    .agenda-detail-clientcard.agenda-detail-clientcard--plain {
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 0;
      background: transparent !important;
      box-shadow: none;
    }
    .agenda-detail-clientcard.agenda-detail-clientcard--plain:hover:not(:disabled),
    .agenda-detail-clientcard.agenda-detail-clientcard--plain:focus-visible {
      border: none;
      background: transparent !important;
    }
    html.bardev-panel-theme-light .agenda-detail-panel .agenda-detail-clientcard--paso {
      background: var(--c-gris-50g) !important;
      border-color: #e9d5ff !important;
    }
    html.bardev-panel-theme-light #agenda-d-client-card.agenda-detail-clientcard,
    html.bardev-panel-theme-light #agenda-d-edit-client-card.agenda-detail-clientcard,
    html.bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard {
      -webkit-appearance: none;
      appearance: none;
      background: var(--c-azul-50d) !important;
      border: 1px solid var(--c-azul-150) !important;
      color: var(--c-azul-900b);
    }
    html.bardev-panel-theme-light #agenda-d-client-card.agenda-detail-clientcard.agenda-detail-clientcard--plain,
    html.bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard.agenda-detail-clientcard--plain {
      background: transparent !important;
      border: none !important;
    }
    html.bardev-panel-theme-light #agenda-d-client-card.agenda-detail-clientcard:hover:not(:disabled):not(.agenda-detail-clientcard--plain),
    html.bardev-panel-theme-light #agenda-d-edit-client-card.agenda-detail-clientcard:hover:not(:disabled),
    html.bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard:hover:not(:disabled):not(.agenda-detail-clientcard--plain) {
      background: var(--c-azul-50) !important;
      border-color: var(--c-azul-200) !important;
    }
    .agenda-detail-clientcard:focus-visible {
      outline: 2px solid var(--ok);
      outline-offset: 2px;
    }
    .agenda-detail-avatar {
      position: relative;
      overflow: hidden;
    }
    .agenda-detail-avatar.agenda-detail-avatar--photo {
      padding: 0;
      background: var(--card);
    }
    .agenda-detail-avatar__photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .agenda-detail-avatar__photo.hidden {
      display: none;
    }
    .agenda-detail-avatar__initials {
      position: relative;
      z-index: 1;
    }
    .cliente-ficha-hero {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 14px;
    }
    .cliente-ficha-hero .usuarios-avatar {
      width: 56px;
      height: 56px;
      font-size: 1rem;
      flex-shrink: 0;
    }
    .cliente-ficha-hero__title {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
    }
    .cliente-ficha-tabs-wrap {
      margin-bottom: 12px;
    }
    .cliente-ficha-tabs {
      margin-bottom: 12px;
    }
    /* Raíz ficha: evita colapsos raros con grid interno + scroll del modal en el primer pintado */
    .cliente-ficha-panel [data-cliente-ficha-root] {
      display: block;
      min-width: 0;
    }
    .cliente-ficha-panel-toolbar {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      gap: 8px;
      margin: 0 0 12px;
      flex-shrink: 0;
    }
    #cliente-ficha-overlay .cliente-ficha-panel-toolbar .bd-btn,
    #cliente-ficha-overlay .cliente-ficha-panel-toolbar .btn.secondary {
      width: auto !important;
      margin: 0 !important;
    }
    .cliente-ficha-tab-panel:not(.cliente-ficha-tab-panel--active) {
      display: none;
    }
    .cliente-ficha-tab-panel--active {
      display: block;
    }
    .cliente-ficha-panel .cliente-ficha-subh {
      margin: 0 0 8px;
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--text);
    }
    .cliente-ficha-appt-status {
      display: inline-flex;
      align-items: center;
      padding: 3px 10px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 700;
      line-height: 1.25;
      white-space: nowrap;
      letter-spacing: 0.01em;
      border: 1px solid transparent;
    }
    .cliente-ficha-appt-status--confirmed {
      background: rgba(var(--bv-g-rgb-d1fae5, 209, 250, 229), 0.95);
      color: var(--bv-g-065f46, #065f46);
      border-color: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.45);
    }
    .cliente-ficha-appt-status--completed {
      background: rgba(219, 234, 254, 0.95);
      color: var(--c-azul-600b);
      border-color: rgba(59, 130, 246, 0.45);
    }
    .cliente-ficha-appt-status--cancelled {
      background: rgba(254, 226, 226, 0.95);
      color: var(--c-rojo-650);
      border-color: rgba(248, 113, 113, 0.45);
    }
    .cliente-ficha-appt-status--no_show {
      background: rgba(254, 243, 199, 0.95);
      color: var(--c-naranja-700b);
      border-color: rgba(251, 191, 36, 0.5);
    }
    .cliente-ficha-appt-status--default {
      background: rgba(241, 245, 249, 0.95);
      color: var(--c-pizarra-750);
      border-color: rgba(100, 116, 139, 0.45);
    }
    tr.cliente-ficha-appt-row--nav {
      cursor: pointer;
    }
    tr.cliente-ficha-appt-row--nav:hover td {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.1);
    }
    html.bardev-panel-theme-light tr.cliente-ficha-appt-row--nav:hover td {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.14);
    }
    .cliente-ficha-upcoming-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 10px;
    }
    .cliente-ficha-upcoming-actions .btn {
      width: auto !important;
      min-width: 140px;
      margin: 0;
    }
    .usuarios-origin-icon {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      color: var(--muted);
      cursor: default;
      user-select: none;
    }
    .usuarios-origin-icon svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .usuarios-user-cell {
      display: flex;
      align-items: center;
      gap: 6px;
      min-width: 0;
    }
    /* Teléfono: la columna es un 10 % de una tabla de ancho fijo y, sin partir, el número se montaba sobre «Última»
       (titular, 13-10-2026, captura de Clientes con zoom). Parte por los espacios como las fechas y, si no hay, donde
       haga falta. */
    .usuarios-main-table td.usuarios-tel-cell {
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .usuarios-puntos-cell {
      font-variant-numeric: tabular-nums;
      font-weight: 700;
      white-space: nowrap;
      color: var(--ok, #16a34a);
    }
    .usuarios-avatar {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: color-mix(in srgb, var(--ok) 35%, var(--card));
      color: var(--nav-active-text);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 0.65rem;
      flex-shrink: 0;
    }
    .usuarios-avatar--photo {
      padding: 0;
      overflow: hidden;
      background: var(--card);
    }
    .usuarios-avatar--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .usuarios-user-text {
      flex: 1 1 0;
      min-width: 0;
      overflow: hidden;
    }
    .usuarios-user-text strong {
      display: block;
      font-size: 0.78rem;
      margin-bottom: 1px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .usuarios-user-text .sub {
      font-size: 0.68rem;
      opacity: 0.75;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .usuarios-detail-row td {
      padding: 0 12px 16px;
      background: rgba(0, 0, 0, 0.2);
    }
    .usuarios-detail-row .admin-user-card {
      margin: 0;
      border-radius: 0 0 10px 10px;
    }
    .usuarios-search-wrap {
      position: relative;
      flex: 1;
      min-width: 200px;
      max-width: 420px;
    }
    .usuarios-search-wrap input[type='search'] {
      width: 100%;
      padding: 10px 14px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.25);
      color: var(--text);
      font-size: 0.9rem;
      box-sizing: border-box;
    }
    .usuarios-search-dropdown {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 4px);
      z-index: 50;
      max-height: min(320px, 50vh);
      overflow-y: auto;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--ok) 28%, var(--border));
      background: var(--card);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
      padding: 6px;
    }
    .usuarios-search-dropdown.hidden {
      display: none !important;
    }
    /* Lista de espera — búsqueda de cliente por teléfono (modal) */
    .wl-phone-search-wrap {
      position: relative;
      width: 100%;
      margin-bottom: 10px;
    }
    .wl-phone-dropdown {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 4px);
      z-index: 60;
      max-height: min(280px, 45vh);
      overflow-y: auto;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--ok) 28%, var(--border));
      background: var(--card);
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
      padding: 6px;
    }
    .wl-phone-dropdown.hidden {
      display: none !important;
    }
    .wl-phone-dd-item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 2px;
      width: 100%;
      text-align: left;
      padding: 10px 12px;
      border: none;
      border-radius: 8px;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      font: inherit;
    }
    .wl-phone-dd-item:hover,
    .wl-phone-dd-item:focus-visible {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.12);
      outline: none;
    }
    .wl-phone-dd-main {
      font-weight: 700;
      font-size: 0.9rem;
    }
    .wl-phone-dd-sub {
      font-size: 0.82rem;
      color: var(--muted);
      line-height: 1.35;
    }
    .usuarios-dd-item {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      text-align: left;
      padding: 10px 12px;
      border: none;
      border-radius: 8px;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      font: inherit;
    }
    .usuarios-dd-item:hover,
    .usuarios-dd-item:focus-visible {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.12);
      outline: none;
    }
    .usuarios-dd-av {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: color-mix(in srgb, var(--ok) 35%, var(--card));
      color: var(--nav-active-text);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 0.72rem;
      flex-shrink: 0;
    }
    .usuarios-dd-av--photo {
      padding: 0;
      overflow: hidden;
      background: var(--card);
    }
    .usuarios-dd-av--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .usuarios-dd-txt {
      min-width: 0;
      flex: 1;
    }
    .usuarios-dd-txt strong {
      display: block;
      font-size: 0.88rem;
      margin-bottom: 2px;
    }
    .usuarios-dd-txt .sub {
      font-size: 0.75rem;
      opacity: 0.8;
    }
    tr.usuarios-row-highlight {
      outline: 2px solid color-mix(in srgb, var(--ok) 55%, transparent);
      outline-offset: -2px;
    }
    /* Caja diaria: tabla + calendario lateral */
    .caja-layout {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      align-items: flex-start;
      margin-top: 12px;
    }
    .caja-main {
      flex: 1 1 420px;
      min-width: 0;
    }
    .caja-aside {
      flex: 0 0 280px;
      width: 280px;
      max-width: 100%;
      position: sticky;
      top: 12px;
      align-self: flex-start;
    }
    .caja-aside-slot {
      min-height: 1px;
    }
    .caja-day-input-wrap {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .caja-day-input-wrap input[type='date'] {
      min-width: 0;
    }
    .caja-day-arrow {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 8px;
      width: 34px;
      height: 34px;
      padding: 0;
      margin: 0;
      cursor: pointer;
      font-size: 1.15rem;
      line-height: 1;
      flex-shrink: 0;
      box-sizing: border-box;
    }
    .caja-day-arrow:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.12);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.28);
    }
    #btn-caja-today.btn.secondary {
      margin-top: 0;
    }
    @media (max-width: 960px) {
      .caja-aside {
        position: relative;
        top: auto;
        flex: 1 1 100%;
        width: 100%;
      }
    }
    /* Tabla caja: cabe en el ancho sin barra horizontal (texto envuelve) */
    #caja-table-wrap.admin-data-wrap {
      overflow-x: hidden;
    }
    #caja-table-wrap .caja-main-table {
      table-layout: fixed;
      width: 100%;
    }
    #caja-table-wrap .caja-main-table th,
    #caja-table-wrap .caja-main-table td {
      overflow-wrap: anywhere;
      word-break: break-word;
      hyphens: auto;
    }
    #caja-table-wrap .caja-main-table thead th {
      white-space: normal;
      font-size: 0.76rem;
      line-height: 1.2;
      vertical-align: middle;
    }
    #caja-table-wrap .caja-main-table thead th.is-sortable {
      padding-left: 8px;
      padding-top: 8px;
      padding-bottom: 8px;
    }
    /* Orden columnas: concepto | servicio/detalle | día | hora | pago | importe | acciones */
    #caja-table-wrap .caja-main-table th:nth-child(1),
    #caja-table-wrap .caja-main-table td:nth-child(1) {
      width: 28%;
      min-width: 0;
    }
    #caja-table-wrap .caja-main-table th:nth-child(2),
    #caja-table-wrap .caja-main-table td:nth-child(2) {
      width: 16%;
      min-width: 0;
      font-size: 0.74rem;
    }
    #caja-table-wrap .caja-main-table th:nth-child(3) {
      width: 4.75rem;
      max-width: 5rem;
      font-size: 0.72rem;
      line-height: 1.2;
      padding: 6px 4px;
    }
    #caja-table-wrap .caja-main-table td.caja-cell-day {
      width: 4.75rem;
      max-width: 5rem;
      font-size: 0.62rem;
      line-height: 1.15;
      white-space: nowrap;
      padding: 6px 4px;
    }
    #caja-table-wrap .caja-main-table th:nth-child(4),
    #caja-table-wrap .caja-main-table td:nth-child(4) {
      width: 3.1rem;
      white-space: nowrap;
      font-size: 0.74rem;
      padding: 6px 4px;
    }
    #caja-table-wrap .caja-main-table th:nth-child(5),
    #caja-table-wrap .caja-main-table td:nth-child(5) {
      width: 11%;
      font-size: 0.74rem;
    }
    #caja-table-wrap .caja-main-table td.num,
    #caja-table-wrap .caja-main-table th:nth-child(6) {
      white-space: nowrap;
      width: 5.25rem;
      font-size: 0.76rem;
    }
    #caja-table-wrap .caja-main-table th:nth-child(7),
    #caja-table-wrap .caja-main-table td:nth-child(7) {
      width: 6.75rem;
      max-width: 7.25rem;
      padding: 4px 2px;
      text-align: center;
      vertical-align: middle;
    }
    #caja-table-wrap .caja-main-table .caja-cell-actions .table-row-actions {
      display: inline-flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    #caja-table-wrap .caja-main-table .caja-void-cash {
      width: 36px;
      min-width: 36px;
      height: 36px;
      padding: 0;
    }
    #caja-table-wrap .caja-main-table .caja-void-cash svg {
      width: 16px;
      height: 16px;
    }
    #caja-table-wrap .caja-main-table .caja-badge {
      vertical-align: middle;
    }
    #caja-table-wrap .caja-main-table .caja-badge--pedido {
      background: rgba(56, 189, 248, 0.18);
      color: var(--c-cielo-250);
      border: 1px solid rgba(56, 189, 248, 0.35);
    }
    #caja-table-wrap .caja-main-table .caja-appt-acciones-cancelled {
      color: var(--c-rojo-300);
      font-weight: 700;
      font-size: 0.72rem;
      letter-spacing: 0.06em;
    }
    #caja-table-wrap .caja-main-table .caja-appt-acciones-nocobrado {
      color: var(--c-ambar-450b);
      font-weight: 600;
      font-size: 0.68rem;
      letter-spacing: 0.02em;
    }
    #caja-table-wrap .caja-main-table .caja-cell-actions--appt {
      white-space: nowrap;
    }
    #caja-table-wrap .caja-main-table .caja-cell-actions--appt .table-row-actions {
      display: inline-flex;
      vertical-align: middle;
      margin-right: 6px;
    }
    #caja-table-wrap .caja-main-table .caja-appt-acciones-cobrado {
      color: var(--c-verde-250);
      font-weight: 600;
      font-size: 0.68rem;
      opacity: 0.92;
    }
    #caja-table-wrap .caja-main-table .caja-cell-pay {
      vertical-align: middle;
    }
    #caja-table-wrap .caja-main-table .caja-pay-method {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      max-width: 100%;
      text-align: center;
    }
    #caja-table-wrap .caja-main-table .caja-pay-method__ico {
      font-size: 0.95rem;
      line-height: 1;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--c-azul-450);
    }
    #caja-table-wrap .caja-main-table .caja-pay-method__ico svg {
      width: 20px;
      height: 20px;
      display: block;
    }
    #caja-table-wrap .caja-main-table .caja-pay-method__lbl {
      font-size: 0.62rem;
      line-height: 1.1;
      color: var(--text);
      opacity: 0.95;
    }
    #caja-table-wrap .caja-main-table .caja-pay-method__code {
      display: block;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      line-height: 1.15;
      color: var(--c-azul-450);
      margin-top: 1px;
    }
    html.bardev-panel-theme-light #caja-table-wrap .caja-main-table .caja-pay-method__code {
      color: var(--c-azul-500);
    }
    #caja-table-wrap .caja-main-table .caja-pay-method--mixto {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 3px 5px;
    }
    #caja-table-wrap .caja-main-table .caja-pay-method--mixto .caja-pay-method__ico svg {
      width: 16px;
      height: 16px;
    }
    .caja-summary {
      display: flex;
      flex-wrap: wrap;
      gap: 16px 28px;
      margin: 14px 0 18px;
      padding: 14px 16px;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.22);
    }
    #caja-table-wrap .caja-main-table tr.caja-sec-head td {
      background: rgba(56, 189, 248, 0.08);
      color: var(--text);
      font-size: 0.82rem;
      padding: 10px 12px;
      border-top: 1px solid var(--border);
    }
    #caja-table-wrap .caja-main-table tr.caja-sec-head td .sub {
      margin-left: 8px;
      font-weight: 500;
    }
    html.bardev-panel-theme-light #caja-table-wrap .caja-main-table tr.caja-sec-head td {
      background: rgba(37, 99, 235, 0.06);
    }
    .comis-gift-summary {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 10px;
      margin: 0 0 14px;
    }
    .comis-gift-summary__card {
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 10px 12px;
      background: rgba(0, 0, 0, 0.12);
    }
    .comis-gift-summary__card h5 {
      margin: 0 0 8px;
      font-size: 0.82rem;
    }
    .comis-gift-summary__card .comis-gift-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 6px;
      font-size: 0.78rem;
    }
    .comis-gift-summary__card .comis-gift-grid span {
      display: block;
      color: var(--muted);
      font-size: 0.68rem;
      margin-bottom: 2px;
    }
    html.bardev-panel-theme-light .comis-gift-summary__card {
      background: var(--c-blanco);
    }
    .comis-ops-details {
      margin: 0 0 14px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: rgba(0, 0, 0, 0.1);
      overflow: hidden;
    }
    .comis-ops-details > summary {
      cursor: pointer;
      list-style: none;
      padding: 10px 14px;
      font-size: 0.84rem;
      font-weight: 700;
      color: var(--text);
      user-select: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .comis-ops-details > summary::-webkit-details-marker {
      display: none;
    }
    .comis-ops-details > summary::after {
      content: '▸';
      font-size: 0.85rem;
      color: var(--muted);
      transition: transform 0.15s ease;
    }
    .comis-ops-details[open] > summary::after {
      transform: rotate(90deg);
    }
    .comis-ops-details__body {
      padding: 0 10px 12px;
      border-top: 1px solid var(--border);
    }
    .comis-ops-details__table {
      margin-top: 10px;
      font-size: 0.78rem;
    }
    .comis-ops-details__table th,
    .comis-ops-details__table td {
      vertical-align: top;
    }
    .comis-ops-details__muted {
      color: var(--muted);
      font-size: 0.72rem;
    }
    html.bardev-panel-theme-light .comis-ops-details {
      background: var(--c-blanco);
    }
    /* Totales del día por forma de pago: 1 fila si cabe; si no, 2 filas (flex-wrap) */
    .caja-pay-totals {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 14px;
      padding: 14px 16px;
      width: 100%;
      box-sizing: border-box;
      border-radius: 12px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.12);
    }
    .caja-pay-totals__card {
      position: relative;
      flex: 1 1 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 4px;
      padding: 12px 10px;
      padding-top: 22px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      text-align: center;
      box-sizing: border-box;
    }
    .caja-pay-totals__ops {
      position: absolute;
      top: 6px;
      right: 8px;
      font-size: 0.62rem;
      font-weight: 700;
      color: var(--muted, #9ca3af);
      line-height: 1;
      white-space: nowrap;
    }
    .caja-pay-otros {
      margin-top: 12px;
      width: 100%;
      box-sizing: border-box;
    }
    .caja-pay-otros__heading {
      margin: 0 0 8px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: var(--muted, #9ca3af);
    }
    .caja-pay-totals--otros {
      margin-top: 0;
    }
    .caja-pay-totals__card--otros {
      padding-top: 12px;
    }
    .caja-pay-totals__amt--ops {
      color: var(--c-cielo-400);
    }
    .caja-pay-totals__equiv {
      font-size: 0.68rem;
      font-weight: 600;
      color: var(--muted, #9ca3af);
      line-height: 1.25;
      max-width: 100%;
    }
    html.bardev-panel-theme-light .caja-pay-totals__ops {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-pay-otros__heading {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-pay-totals__amt--ops {
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light .caja-pay-totals__equiv {
      color: var(--c-pizarra-550);
    }
    .caja-pay-totals__ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--c-cielo-400);
    }
    .caja-pay-totals__ico svg {
      width: 22px;
      height: 22px;
      display: block;
    }
    .caja-pay-totals__lbl {
      font-size: 0.68rem;
      font-weight: 600;
      color: var(--muted, #9ca3af);
      line-height: 1.2;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .caja-pay-totals__amt {
      font-size: 0.86rem;
      font-weight: 700;
      color: var(--text);
      line-height: 1.2;
      max-width: 100%;
      overflow-wrap: anywhere;
      word-break: break-word;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      overflow: hidden;
    }
    html.bardev-panel-theme-light .caja-pay-totals {
      background: var(--c-gris-50f);
      border-color: rgba(37, 99, 235, 0.14);
    }
    html.bardev-panel-theme-light .caja-pay-totals__card {
      background: var(--c-blanco);
      border-color: rgba(37, 99, 235, 0.18);
      box-shadow: 0 1px 6px rgba(15, 23, 42, 0.05);
    }
    html.bardev-panel-theme-light .caja-pay-totals__ico {
      color: var(--c-azul-450);
    }
    html.bardev-panel-theme-light .caja-pay-totals__lbl {
      color: var(--c-pizarra-550);
    }
    html.bardev-panel-theme-light .caja-pay-totals__amt {
      color: var(--c-azul-900b);
    }
    .caja-summary__item strong {
      display: block;
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: -0.02em;
    }
    .caja-summary__item.caja-summary__item--exp strong {
      color: var(--c-rojo-300);
    }
    .caja-summary__item.caja-summary__item--net strong {
      color: var(--ok);
    }
    .caja-summary__item.caja-summary__item--ticket strong {
      color: var(--c-verde-550);
    }
    .caja-float-cal {
      border-radius: 12px;
      border: 1px solid color-mix(in srgb, var(--ok) 22%, var(--border));
      background: var(--card);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
      padding: 12px 12px 10px;
    }
    .caja-float-cal__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 10px;
    }
    .caja-float-cal__head h3 {
      margin: 0;
      font-size: 0.95rem;
      font-weight: 600;
      min-width: 0;
      flex: 1;
    }
    .caja-float-cal__head-tools {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
    }
    .caja-float-cal__nav {
      display: flex;
      gap: 4px;
    }
    .caja-cal-pin-btn {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 8px;
      width: 32px;
      height: 32px;
      padding: 0;
      cursor: pointer;
      font-size: 0.95rem;
      line-height: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .caja-cal-pin-btn:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.14);
      border-color: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.35);
    }
    .caja-float-cal__nav button {
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 8px;
      width: 32px;
      height: 32px;
      cursor: pointer;
      font-size: 1rem;
      line-height: 1;
    }
    .caja-float-cal__nav button:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.12);
    }
    .caja-cal-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 3px;
    }
    .caja-cal-dow {
      text-align: center;
      font-size: 0.65rem;
      font-weight: 600;
      opacity: 0.75;
      padding: 4px 0;
      min-width: 0;
      overflow: hidden;
    }
    .caja-cal-dow--weekend {
      color: var(--c-rojo-300);
    }
    .caja-cal-cell {
      min-width: 0;
      min-height: 46px;
      border-radius: 8px;
      border: 1px solid transparent;
      background: rgba(0, 0, 0, 0.2);
      padding: 4px 2px;
      cursor: pointer;
      text-align: center;
      font: inherit;
      color: var(--text);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 2px;
      transition: border-color 0.15s, background 0.15s;
    }
    .caja-cal-cell:hover {
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.1);
    }
    .caja-cal-cell--muted {
      opacity: 0.35;
      cursor: default;
      pointer-events: none;
    }
    .caja-cal-cell--today {
      outline: 1px solid color-mix(in srgb, var(--ok) 45%, transparent);
    }
    .caja-cal-cell--selected {
      border-color: color-mix(in srgb, var(--ok) 65%, var(--border));
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.14);
    }
    .caja-cal-cell__num {
      font-size: 0.75rem;
      font-weight: 700;
      min-width: 0;
      width: 100%;
    }
    .caja-cal-cell__amt {
      font-size: 0.56rem;
      font-weight: 600;
      font-variant-numeric: tabular-nums;
      opacity: 0.88;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 100%;
      min-width: 0;
      line-height: 1.15;
    }
    .caja-cal-foot {
      margin-top: 10px;
      font-size: 0.72rem;
      opacity: 0.65;
      text-align: center;
    }
    /* Calendario caja: ventana flotante redimensionable */
    .caja-float-cal.caja-float-cal--floating {
      position: fixed;
      z-index: 20050;
      right: 16px;
      bottom: 16px;
      left: auto;
      top: auto;
      width: min(400px, 94vw);
      height: min(420px, 72vh);
      min-width: 300px;
      min-height: 300px;
      max-width: 96vw;
      max-height: 92vh;
      resize: both;
      overflow: auto;
      box-shadow: 0 20px 56px rgba(0, 0, 0, 0.55);
    }
    .caja-float-cal.caja-float-cal--floating .caja-float-cal__head {
      cursor: grab;
      user-select: none;
      touch-action: none;
    }
    .caja-float-cal.caja-float-cal--floating .caja-float-cal__head.is-dragging {
      cursor: grabbing;
    }
    .caja-float-cal.caja-float-cal--floating .caja-cal-cell__amt {
      font-size: 0.62rem;
    }
    .caja-float-cal.caja-float-cal--floating .caja-cal-cell__num {
      font-size: 0.82rem;
    }
    .caja-badge {
      display: inline-block;
      font-size: 0.65rem;
      padding: 2px 6px;
      border-radius: 4px;
      background: rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.15);
      color: var(--ok);
      margin-right: 6px;
      vertical-align: middle;
    }
    .caja-badge--exp {
      background: rgba(248, 113, 113, 0.15);
      color: var(--c-rojo-300);
    }
    .caja-badge--void {
      background: rgba(148, 163, 184, 0.18);
      color: #e2e8f0;
    }
    .caja-amt--void {
      text-decoration: line-through;
      opacity: 0.72;
    }
    .caja-badge--venta {
      background: rgba(96, 165, 250, 0.15);
      color: var(--c-azul-300);
    }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    /* Venta directa: mismo shell flex que Registrar cobro (cabecera / cuerpo scroll / pie) */
    .agenda-cobro-panel--payment.caja-vd-panel.agenda-cobro-panel {
      max-width: min(520px, 96vw);
      width: min(520px, 96vw);
      box-sizing: border-box;
    }
    .caja-vd-panel .agenda-cobro-body {
      overflow-x: hidden;
    }
    .caja-vd-panel .agenda-cobro-methods-grid--split {
      flex-wrap: wrap;
      overflow-x: hidden;
      justify-content: flex-start;
    }
    .caja-vd-panel .agenda-cobro-methods-grid--split .agenda-cobro-method-card {
      flex: 1 1 calc(50% - 4px);
      max-width: calc(50% - 4px);
      min-width: 0;
    }
    .caja-vd-section {
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      margin-bottom: 8px;
      margin-top: 4px;
      color: rgba(255, 255, 255, 0.45);
    }
    .caja-vd-section:first-of-type {
      margin-top: 0;
    }
    .caja-vd-field-label {
      display: block;
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 6px;
      color: rgba(255, 255, 255, 0.45);
    }
    .caja-vd-type-wrap {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 6px 8px;
      margin-bottom: 16px;
      padding: 0;
      border-bottom: 2px solid var(--bardev-tab-line, var(--border));
      background: transparent;
      border-top: none;
      border-left: none;
      border-right: none;
      border-radius: 0;
    }
    .caja-vd-type-btn {
      position: relative;
      z-index: 1;
      flex: 1;
      box-sizing: border-box;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0 0 -2px;
      padding: 10px 14px;
      min-height: 40px;
      border-radius: 10px 10px 0 0;
      border: 1px solid var(--bardev-tab-stroke, rgba(148, 163, 184, 0.72));
      border-bottom-width: 2px;
      border-bottom-color: var(--bardev-tab-line, var(--border));
      background: var(--card);
      color: var(--muted);
      font-size: 0.88rem;
      font-weight: 700;
      font-family: inherit;
      cursor: pointer;
      opacity: 1;
      transition: color 0.15s, border-color 0.15s;
      -webkit-appearance: none;
      appearance: none;
    }
    .caja-vd-type-btn[data-vd-type] {
      flex-direction: column;
      gap: 8px;
      padding: 14px 10px 12px;
      min-height: 96px;
      border-radius: 12px;
      margin: 0;
      border-bottom-width: 1px;
      border-bottom-color: var(--bardev-tab-stroke, rgba(148, 163, 184, 0.72));
    }
    .caja-vd-type-wrap:has(> .caja-vd-type-btn[data-vd-type]) {
      align-items: stretch;
      border-bottom: none;
      gap: 8px;
    }
    .caja-vd-type-btn__ico {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
      color: currentColor;
    }
    .caja-vd-type-btn__ico svg {
      display: block;
      width: 32px;
      height: 32px;
    }
    .caja-vd-type-btn__txt {
      display: block;
      text-align: center;
      line-height: 1.2;
      font-size: 0.82rem;
      font-weight: 700;
    }
    .caja-vd-type-btn:hover {
      color: var(--text);
    }
    .caja-vd-type-btn:focus-visible {
      outline: 2px solid var(--bardev-tab-active-line, var(--ok, var(--bv-g-34d399, #34d399)));
      outline-offset: 2px;
    }
    .caja-vd-type-btn--active {
      z-index: 2;
      color: var(--text);
      border-color: var(--bardev-tab-active-line, var(--ok, var(--bv-g-34d399, #34d399)));
      border-bottom-color: var(--bardev-tab-active-line, var(--ok, var(--bv-g-34d399, #34d399)));
      background: var(--card);
      box-shadow: none;
    }
    .caja-vd-type-btn[data-vd-type].caja-vd-type-btn--active {
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      color: var(--ok, var(--bv-g-059669, #059669));
    }
    .caja-vd-search-row {
      display: flex;
      gap: 8px;
      align-items: center;
      margin-bottom: 10px;
    }
    .caja-vd-search-row input[type='search'] {
      flex: 1;
      min-width: 0;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      box-sizing: border-box;
      font-size: 0.9rem;
    }
    #caja-vd-scan.btn.secondary {
      flex-shrink: 0;
      width: auto;
      margin: 0;
      padding: 6px 10px;
      border-radius: 8px;
      font-weight: 700;
      font-size: 0.7rem;
      line-height: 1.2;
      white-space: nowrap;
    }
    .caja-vd-scanner-float,
    #caja-vd-scanner-wrap.caja-vd-scanner-float {
      position: fixed;
      /* Por encima de #caja-vd-modal (20100) y modo agenda-cobro (21000) */
      z-index: 21200 !important;
      display: flex;
      flex-direction: column;
      width: 320px;
      min-width: 220px;
      min-height: 220px;
      max-width: min(96vw, 520px);
      max-height: min(88vh, 640px);
      resize: both;
      overflow: hidden;
      box-sizing: border-box;
      background: rgba(18, 18, 22, 0.98);
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 14px 44px rgba(0, 0, 0, 0.55);
      right: 20px;
      bottom: 100px;
      left: auto;
      top: auto;
    }
    .caja-vd-scanner-float.hidden {
      display: none !important;
    }
    .caja-vd-scanner-float__head {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      cursor: grab;
      user-select: none;
      touch-action: none;
    }
    .caja-vd-scanner-float__head.is-dragging {
      cursor: grabbing;
    }
    .caja-vd-scanner-float__title {
      flex: 1;
      font-size: 0.95rem;
      font-weight: 800;
      color: var(--c-gris-50b);
      min-width: 0;
      cursor: grab;
    }
    /* Cerrar (×): color inverso al fondo del cabecero (oscuro por defecto, claro en tema light). */
    .caja-vd-scanner-float__head .bardev-modal-close {
      color: var(--c-gris-50f);
      background: rgba(255, 255, 255, 0.14);
      border-color: rgba(255, 255, 255, 0.28);
      flex-shrink: 0;
    }
    .caja-vd-scanner-float__head .bardev-modal-close:hover {
      background: rgba(255, 255, 255, 0.24);
      border-color: rgba(255, 255, 255, 0.4);
      color: var(--c-blanco);
    }
    .caja-vd-scanner-float__head.is-dragging .caja-vd-scanner-float__title {
      cursor: grabbing;
    }
    .caja-vd-scanner-float__video {
      flex: 1;
      min-height: 140px;
      min-width: 0;
      position: relative;
      overflow: hidden;
      background: var(--c-negro);
    }
    .caja-vd-scanner-float__video #caja-vd-scanner-reader {
      width: 100%;
      height: 100%;
      min-height: 140px;
      box-sizing: border-box;
    }
    .caja-vd-scanner-float__foot {
      flex-shrink: 0;
      padding: 10px 12px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .caja-vd-scanner-float__foot .btn {
      width: 100%;
      margin: 0;
      box-sizing: border-box;
    }
    .caja-vd-prod-card {
      padding: 14px 14px 14px 16px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.1);
      background: rgba(0, 0, 0, 0.38);
      margin-bottom: 14px;
    }
    .caja-vd-prod-card__row {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
    }
    .caja-vd-prod-card__main {
      flex: 1;
      min-width: 0;
    }
    .caja-vd-prod-card__title {
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.25;
      margin: 0 0 4px;
      color: var(--text);
    }
    .caja-vd-prod-card__subtitle {
      font-size: 0.82rem;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.65);
      margin: 0 0 6px;
    }
    .caja-vd-prod-card__subtitle.hidden {
      display: none;
    }
    .caja-vd-prod-card__meta {
      font-size: 0.78rem;
      color: var(--muted);
      margin: 0 0 4px;
      line-height: 1.35;
    }
    .caja-vd-prod-card__pvp {
      font-size: 0.88rem;
      font-weight: 700;
      color: rgba(255, 255, 255, 0.92);
      margin: 0;
    }
    .caja-vd-prod-card__actions {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
      flex-shrink: 0;
      align-self: flex-start;
    }
    .caja-vd-prod-card__add,
    .caja-vd-prod-card__clear {
      width: auto !important;
      max-width: none;
      margin: 0 !important;
      padding: 7px 12px !important;
      font-size: 0.76rem !important;
      border-radius: 8px !important;
      white-space: nowrap;
    }
    .caja-vd-prod-card__add {
      background: var(--bv-g-059669, #059669) !important;
      border-color: var(--bv-g-047857, #047857) !important;
      color: var(--c-blanco) !important;
    }
    .caja-vd-prod-card__add:hover {
      background: var(--bv-g-047857, #047857) !important;
      border-color: var(--bv-g-065f46, #065f46) !important;
    }
    html.bardev-panel-theme-light .caja-vd-prod-card__add {
      background: var(--bv-g-059669, #059669) !important;
      border-color: var(--bv-g-047857, #047857) !important;
      color: var(--c-blanco) !important;
    }
    .caja-vd-prod-results {
      max-height: 168px;
      overflow-y: auto;
      margin-bottom: 12px;
      border-radius: 10px;
      border: 1px solid rgba(var(--bv-g-rgb-34d399, 52, 211, 153), 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
    }
    .caja-vd-prod-results:empty {
      display: none;
      margin-bottom: 0;
      border: none;
    }
    .caja-vd-grid-2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 14px;
    }
    .caja-vd-grid-2 input[type='number']:not(.bd-stepper__inp) {
      width: 100%;
      padding: 10px 10px;
      border-radius: 10px;
      box-sizing: border-box;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      font-size: 0.95rem;
    }
    .caja-vd-grid-2 .bd-stepper {
      width: auto;
      max-width: 100%;
      justify-content: flex-start;
    }
    #caja-vd-modal .bd-stepper {
      height: 40px;
    }
    #caja-vd-modal .caja-vd-multi-row__ctrls .bd-stepper {
      flex: 0 0 auto;
    }
    .caja-vd-panel select {
      width: 100%;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      color: var(--text);
      font-size: 0.9rem;
      margin-bottom: 0;
    }
    .caja-vd-pay-split label.sub {
      display: block;
      margin-bottom: 4px;
    }
    .caja-vd-split-label {
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
      margin-bottom: 12px;
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(255, 255, 255, 0.55);
    }
    .caja-vd-split-label input {
      accent-color: var(--ok);
      width: 18px;
      height: 18px;
    }
    .caja-vd-panel .caja-vd-footer {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .caja-vd-total-line {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      margin: 0;
      font-size: 0.88rem;
      color: rgba(255, 255, 255, 0.55);
    }
    .caja-vd-total-line strong {
      font-size: 1.28rem;
      font-weight: 800;
      color: var(--text);
      letter-spacing: -0.02em;
    }
    .caja-vd-panel .caja-vd-footer .btn.primary {
      width: 100%;
      padding: 14px 16px;
      font-weight: 800;
      font-size: 0.95rem;
      border-radius: 12px;
    }
    /* Por encima de modales agenda/caja; modo cita aún más */
    #caja-vd-modal.modal-overlay {
      z-index: 20100 !important;
    }
    #caja-vd-modal.modal-overlay.caja-vd-modal--agenda-cobro {
      z-index: 21000 !important;
    }
    /* Añadir productos a cita: sin empleado ni forma de pago (solo en Registrar cobro) */
    #caja-vd-modal.caja-vd-modal--agenda-cobro #caja-vd-wrap-empleado-pago,
    #caja-vd-modal.caja-vd-modal--agenda-cobro #caja-vd-wrap-tipo {
      display: none !important;
    }
    .caja-vd-cart-summary-inner {
      font-size: 0.85rem;
    }
    .caja-vd-cart-summary-inner .caja-vd-multi-title {
      font-size: 0.72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: rgba(255, 255, 255, 0.45);
      margin-bottom: 8px;
    }
    /*
     * Fila de ticket: nombre | contenedor holgado [− n + 🗑] | importe.
     * Botones pequeños dentro; el contenedor tiene padding para no cortarse con el borde.
     */
    .caja-vd-multi-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto;
      align-items: center;
      column-gap: 10px;
      padding: 10px 0 12px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      font-size: 0.88rem;
      overflow: visible;
      box-sizing: border-box;
    }
    .caja-vd-multi-row:last-child {
      border-bottom: none;
      padding-bottom: 4px;
    }
    .caja-vd-multi-row__name {
      min-width: 0;
      font-weight: 600;
      line-height: 1.25;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .caja-vd-multi-row__amt {
      font-weight: 800;
      white-space: nowrap;
      line-height: 1.25;
      font-size: 0.88rem;
      text-align: right;
      min-width: 4.25rem;
    }
    .caja-vd-ticket-ctrl {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      gap: 4px;
      height: auto;
      min-height: 36px;
      padding: 6px 7px;
      border: 1px solid var(--border, #dce3df);
      border-radius: 10px;
      overflow: visible;
      background: rgba(0, 0, 0, 0.12);
      box-sizing: border-box;
    }
    #caja-vd-modal .caja-vd-ticket-ctrl__btn,
    #caja-vd-modal .caja-vd-ticket-ctrl__del {
      width: 22px !important;
      min-width: 22px !important;
      max-width: 22px !important;
      height: 22px !important;
      min-height: 22px !important;
      max-height: 22px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 1px solid var(--border, #dce3df) !important;
      border-radius: 6px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: rgba(255, 255, 255, 0.08) !important;
      color: var(--text, #0f1f17) !important;
      cursor: pointer;
      box-shadow: none !important;
      font-size: 0.85rem !important;
      font-weight: 700 !important;
      line-height: 1 !important;
      flex: 0 0 22px !important;
      -webkit-appearance: none;
      appearance: none;
    }
    #caja-vd-modal .caja-vd-ticket-ctrl__qty {
      width: 1.7rem !important;
      min-width: 1.7rem !important;
      max-width: 1.9rem !important;
      height: 22px !important;
      min-height: 22px !important;
      margin: 0 !important;
      padding: 0 2px !important;
      border: 1px solid var(--border, #dce3df) !important;
      border-radius: 6px !important;
      background: rgba(255, 255, 255, 0.1) !important;
      color: var(--text, #0f1f17) !important;
      font: inherit;
      font-size: 0.75rem !important;
      font-weight: 800 !important;
      text-align: center !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
      -moz-appearance: textfield;
      appearance: textfield;
      -webkit-appearance: textfield;
    }
    #caja-vd-modal .caja-vd-ticket-ctrl__qty::-webkit-outer-spin-button,
    #caja-vd-modal .caja-vd-ticket-ctrl__qty::-webkit-inner-spin-button {
      -webkit-appearance: none !important;
      margin: 0 !important;
      display: none !important;
    }
    #caja-vd-modal .caja-vd-ticket-ctrl__del {
      color: var(--c-rojo-500) !important;
      border-color: rgba(220, 38, 38, 0.35) !important;
    }
    #caja-vd-modal .caja-vd-ticket-ctrl__del svg {
      width: 12px;
      height: 12px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #caja-vd-modal #caja-vd-cart-summary {
      overflow: visible;
      max-height: none;
      padding: 12px 14px 14px;
    }
    /* Cantidad / precio unit. inferiores: se gestionan en el ticket */
    #caja-vd-modal .caja-vd-grid-2 {
      display: none !important;
    }
    .caja-vd-prod-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 8px 10px;
      border-bottom: 1px solid rgba(255,255,255,0.05);
      cursor: pointer;
      transition: background 0.12s;
      font-size: 0.85rem;
    }
    .caja-vd-prod-row:hover { background: rgba(255,255,255,0.06); }
    .caja-vd-prod-row__name { font-weight: 600; }
    .caja-vd-prod-row__meta { font-size: 0.75rem; color: var(--muted); }
    .caja-vd-prod-row__price { font-weight: 700; white-space: nowrap; }
    /* Usuarios: tarjetas en detalle expandido */
    .admin-user-cards-wrap {
      margin-top: 12px;
      display: flex;
      flex-direction: column;
      gap: 18px;
      max-width: 100%;
    }
    .admin-user-card {
      border: 1px solid var(--brand-rgba-28);
      border-radius: 12px;
      padding: 16px 18px;
      background: rgba(0, 0, 0, 0.28);
      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    }
    .admin-user-card__title {
      font-size: 0.98rem;
      font-weight: 600;
      margin: 0 0 14px 0;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--brand-rgba-22);
      color: var(--text);
      word-break: break-word;
    }
    .admin-user-card dl {
      margin: 0;
      display: grid;
      grid-template-columns: minmax(120px, 32%) 1fr;
      gap: 10px 20px;
      align-items: start;
      font-size: 0.88rem;
      line-height: 1.45;
    }
    @media (max-width: 560px) {
      .admin-user-card dl {
        grid-template-columns: 1fr;
      }
    }
    .admin-user-card dt {
      margin: 0;
      color: rgba(255, 255, 255, 0.52);
      font-weight: 500;
    }
    .admin-user-card dd {
      margin: 0;
      color: var(--text);
      word-break: break-word;
    }
    .admin-user-card dd.admin-user-mono {
      font-family: ui-monospace, monospace;
      font-size: 0.8rem;
      line-height: 1.4;
    }
    .admin-user-empty {
      color: rgba(255, 255, 255, 0.35);
      font-style: italic;
    }
    .admin-user-shipping {
      margin-top: 8px;
    }
    .admin-user-shipping-capsule {
      border: 1px solid color-mix(in srgb, var(--ok) 45%, rgba(255, 255, 255, 0.12));
      border-radius: 16px;
      padding: 14px 16px 16px;
      background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--ok) 14%, rgba(0, 0, 0, 0.35)) 0%,
        rgba(15, 23, 42, 0.55) 100%
      );
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    }
    .admin-user-shipping-capsule h4 {
      margin: 0 0 12px 0;
      font-size: 0.72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--bv-g-ecfdf5, #ecfdf5);
      display: inline-block;
      padding: 4px 12px;
      border-radius: 999px;
      background: color-mix(in srgb, var(--ok) 28%, rgba(0, 0, 0, 0.25));
      border: 1px solid color-mix(in srgb, var(--ok) 50%, transparent);
    }
    .admin-user-shipping-capsule dl {
      margin: 0;
      display: grid;
      grid-template-columns: minmax(108px, 150px) 1fr;
      gap: 8px 14px;
      font-size: 0.84rem;
    }
    .admin-user-shipping-capsule dt {
      color: rgba(255, 255, 255, 0.62);
      font-size: 0.72rem;
      margin: 0;
      font-weight: 500;
    }
    .admin-user-shipping-capsule dd {
      color: rgba(255, 255, 255, 0.96);
      font-size: 0.86rem;
      margin: 0;
      word-break: break-word;
    }
    .admin-user-shipping-capsule > p.admin-user-empty {
      margin: 0;
      color: rgba(255, 255, 255, 0.55);
    }
    .cliente-ficha-panel .admin-user-shipping-capsule dl {
      font-size: 0.88rem;
    }
    .admin-user-addresses-title {
      margin: 14px 0 10px 0;
      font-size: 0.8rem;
      font-weight: 600;
      color: rgba(255, 255, 255, 0.65);
    }
    .admin-user-address-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .admin-user-address-card {
      position: relative;
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 10px;
      padding: 12px 14px;
      background: rgba(0, 0, 0, 0.35);
    }
    .admin-user-address-badge {
      position: absolute;
      top: 8px;
      right: 10px;
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      padding: 3px 8px;
      border-radius: 6px;
      background: var(--brand-rgba-25);
      color: rgba(255, 255, 255, 0.95);
    }
    .admin-user-address-card .addr-line {
      margin: 0 0 4px 0;
      font-size: 0.86rem;
      line-height: 1.4;
      padding-right: 72px;
    }
    .admin-user-address-card .addr-line:last-child {
      margin-bottom: 0;
    }
    .admin-user-address-card .addr-id {
      font-family: ui-monospace, monospace;
      font-size: 0.68rem;
      color: rgba(255, 255, 255, 0.4);
      margin-top: 8px;
    }
    .pp-product-img-thumb-btn {
      flex-shrink: 0;
      width: 72px;
      height: 72px;
      border-radius: 8px;
      overflow: hidden;
      cursor: zoom-in;
      border: none;
      padding: 0;
      background: none;
    }
    .pp-product-img-thumb-btn img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    /* ——— Editor de producto ——— */
    .ce-product-btn-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 16px;
      margin-top: 8px;
    }
    @media (max-width: 500px) {
      .ce-product-btn-grid { grid-template-columns: 1fr; }
    }
    .ce-product-desc-editor {
      min-height: 80px;
      padding: 10px 12px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0,0,0,0.25);
      color: var(--text);
      font-size: 0.9rem;
      line-height: 1.5;
      outline: none;
      width: 100%;
      box-sizing: border-box;
    }
    .ce-product-desc-editor:focus {
      border-color: color-mix(in srgb, var(--ok) 55%, transparent);
    }

    /* ——— Panel carrito (vista previa) ——— */
    .pp-cart-panel {
      width: 100%;
      box-sizing: border-box;
      border: 1px solid var(--brand-rgba-35);
      border-radius: 12px;
      background: rgba(0,0,0,0.35);
      overflow: visible;
      margin-top: 4px;
    }
    .pp-cart-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 14px;
      background: var(--brand-rgba-12);
    }
    .pp-cart-title {
      font-weight: 700;
      font-size: 0.95rem;
      color: var(--ok);
    }
    .pp-cart-toggle {
      background: none;
      border: none;
      color: var(--muted);
      cursor: pointer;
      font-size: 0.85rem;
    }
    .pp-cart-body {
      padding: 10px 14px 14px;
    }
    .pp-cart-row {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 6px 0;
      border-bottom: 1px solid var(--border);
      font-size: 0.88rem;
    }
    .pp-cart-item-name {
      flex: 1;
      color: var(--text);
    }
    .pp-cart-qty {
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .pp-cart-qty button {
      background: rgba(255,255,255,0.1);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 4px;
      width: 22px;
      height: 22px;
      font-size: 0.85rem;
      cursor: pointer;
      padding: 0;
      line-height: 1;
    }
    .pp-cart-qty-num {
      min-width: 18px;
      text-align: center;
      color: var(--text);
    }
    .pp-cart-item-price {
      color: var(--ok);
      font-weight: 600;
      min-width: 60px;
      text-align: right;
    }
    .pp-cart-empty {
      color: var(--muted);
      font-size: 0.85rem;
      margin: 0;
    }
    .pp-cart-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      padding: 12px 0 4px;
      margin-top: 6px;
      border-top: 1px solid var(--border);
    }
    .pp-cart-total {
      font-weight: 700;
      color: var(--ok);
      font-size: 0.95rem;
    }
    .pp-cart-clear {
      background: rgba(248,113,113,0.15);
      border: 1px solid rgba(248,113,113,0.35);
      color: var(--c-rojo-300);
      border-radius: 6px;
      padding: 5px 10px;
      font-size: 0.8rem;
      cursor: pointer;
    }

    /* Interruptor píldora (reservado si se usa con .vis-toggle-track en el HTML) */
    .vis-toggle-pill {
      position: relative;
      width: 44px;
      height: 24px;
      flex-shrink: 0;
    }
    .vis-toggle-pill input {
      opacity: 0;
      width: 0;
      height: 0;
      position: absolute;
    }
    .vis-toggle-track {
      position: absolute;
      inset: 0;
      border-radius: 12px;
      background: rgba(255,255,255,0.12);
      transition: background 0.2s;
      cursor: pointer;
    }
    .vis-toggle-track::after {
      content: '';
      position: absolute;
      width: 18px;
      height: 18px;
      left: 3px;
      top: 3px;
      border-radius: 50%;
      background: var(--c-blanco);
      transition: transform 0.2s;
    }
    .vis-toggle-pill input:checked + .vis-toggle-track {
      background: var(--ok);
    }
    .vis-toggle-pill input:checked + .vis-toggle-track::after {
      transform: translateX(20px);
    }

    .menu-comp-list-wrap {
      margin: 16px 0;
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.18);
    }
    .menu-comp-head {
      display: grid;
      grid-template-columns: 36px 1fr minmax(120px, 1.4fr) 100px;
      gap: 10px;
      align-items: center;
      padding: 10px 14px;
      font-size: 0.72rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      border-bottom: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.2);
    }
    .menu-comp-list {
      min-height: 48px;
    }
    .menu-comp-groups {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    .menu-comp-group__title {
      margin: 0 0 10px;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
    }
    .menu-comp-item--locked {
      opacity: 0.92;
    }
    .menu-comp-always,
    .menu-comp-dev-off {
      font-size: 0.78rem;
      text-align: right;
    }
    .menu-comp-always {
      color: var(--muted);
      white-space: nowrap;
    }
    .menu-comp-dev-off {
      color: var(--c-naranja-650b);
      white-space: normal;
      line-height: 1.3;
    }
    .menu-comp-vis-cell {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
    }
    .menu-comp-item {
      display: grid;
      grid-template-columns: 36px 1fr minmax(120px, 1.4fr) minmax(140px, 1.2fr);
      gap: 10px;
      align-items: center;
      padding: 10px 14px;
      border-bottom: 1px solid var(--border);
      font-size: 0.85rem;
      cursor: default;
      transition: background 0.15s;
    }
    .menu-comp-item:last-child {
      border-bottom: none;
    }
    .menu-comp-item:hover {
      background: rgba(255, 255, 255, 0.03);
    }
    .menu-comp-item.dragging {
      opacity: 0.55;
      cursor: grabbing;
    }
    .menu-comp-drag {
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239), 0.45);
      font-size: 1rem;
      line-height: 1;
      user-select: none;
      cursor: grab;
    }
    .menu-comp-drag:active {
      cursor: grabbing;
    }
    .menu-comp-key {
      font-family: ui-monospace, monospace;
      font-size: 0.78rem;
      color: rgba(var(--bv-g-rgb-e8f5ef, 232, 245, 239), 0.55);
      word-break: break-all;
    }
    .menu-comp-item input[type='text'] {
      width: 100%;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.25);
      color: inherit;
      font-size: 0.88rem;
    }
    .menu-comp-vis-cell {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      font-size: 0.8rem;
      color: var(--muted);
    }
    .menu-comp-vis-cell input {
      width: 18px;
      height: 18px;
      accent-color: var(--c-verde-550);
      cursor: pointer;
    }
    @media (max-width: 720px) {
      .menu-comp-list-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }
      .menu-comp-head,
      .menu-comp-item {
        min-width: 520px;
      }
    }
    .nav-menu-items .btn.nav-item.hidden-by-menu-config {
      display: none;
    }

    /* ——— Campos fijos por pestaña (Dónde estamos, Contacto) ——— */
    .panel-fixed-fields {
      background: rgba(0,0,0,0.22);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 16px 18px;
      margin-bottom: 22px;
    }
    .panel-fixed-fields h4 {
      margin: 0 0 14px;
      font-size: 0.9rem;
      color: var(--muted);
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .panel-fixed-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 16px;
    }
    @media (max-width: 600px) {
      .panel-fixed-grid { grid-template-columns: 1fr; }
    }
    .panel-fixed-grid label {
      display: block;
      font-size: 0.8rem;
      color: var(--muted);
      margin-bottom: 4px;
    }
    .panel-fixed-grid input,
    .panel-fixed-grid textarea {
      width: 100%;
      box-sizing: border-box;
      background: rgba(0,0,0,0.3);
      border: 1px solid var(--border);
      border-radius: 8px;
      color: var(--text);
      padding: 8px 10px;
      font-size: 0.875rem;
      outline: none;
      font-family: inherit;
    }
    .panel-fixed-grid input:focus,
    .panel-fixed-grid textarea:focus {
      border-color: color-mix(in srgb, var(--ok) 55%, transparent);
    }
    .panel-fixed-grid textarea {
      min-height: 80px;
      resize: vertical;
    }
    .panel-fixed-grid .span-2 { grid-column: span 2; }
    @media (max-width: 600px) {
      .panel-fixed-grid .span-2 { grid-column: span 1; }
    }

    /* Reservas (URL): filas con radio + texto — fuera de .panel-fixed-grid para no heredar `label { display:block }` que rompe el flex. */
    .reservas-booking-mode-stack {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .reservas-booking-row {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      cursor: pointer;
      line-height: 1.35;
      font-size: 0.875rem;
      color: var(--text);
      margin: 0;
      padding: 12px 14px;
      border-radius: 10px;
      border: 2px solid var(--border);
      background: rgba(0, 0, 0, 0.18);
      transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    }
    .reservas-booking-row:hover {
      border-color: color-mix(in srgb, var(--muted) 55%, var(--border));
    }
    .reservas-booking-row:has(input[type='radio']:checked),
    .reservas-booking-row:has(input[type='checkbox']:checked) {
      border-color: var(--ok);
      background: color-mix(in srgb, var(--ok) 16%, rgba(0, 0, 0, 0.25));
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ok) 40%, transparent);
    }
    .reservas-booking-row:has(input[type='radio']:checked) .reservas-booking-row__text strong::after,
    .reservas-booking-row:has(input[type='checkbox']:checked) .reservas-booking-row__text strong::after {
      content: ' · seleccionado';
      font-weight: 600;
      color: var(--ok);
      font-size: 0.78em;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .reservas-booking-row input[type='radio'],
    .reservas-booking-row input[type='checkbox'] {
      flex-shrink: 0;
      margin-top: 2px;
      width: 1.125rem;
      height: 1.125rem;
      accent-color: var(--ok);
    }
    .reservas-booking-row:has(input[type='radio']:checked) input[type='radio'],
    .reservas-booking-row:has(input[type='checkbox']:checked) input[type='checkbox'] {
      transform: scale(1.05);
    }
    .reservas-booking-row__text {
      flex: 1;
      min-width: 0;
    }

    .rich-toolbar {
      position: fixed;
      z-index: 10050;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      padding: 8px 10px;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 10px;
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
    }
    .rich-toolbar.hidden { display: none !important; }
    .rich-toolbar button.rich-toolbar-active {
      background: var(--brand-rgba-22);
      color: var(--ok);
      border-color: var(--brand-rgba-45);
    }
    .rich-toolbar button {
      padding: 6px 10px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.08);
      color: var(--text);
      cursor: pointer;
      font-size: 0.85rem;
    }
    .rich-toolbar button:hover { background: rgba(255, 255, 255, 0.12); }
    .rich-toolbar button[data-fs] {
      min-width: 38px;
      font-weight: 700;
    }
    .rich-toolbar .rich-toolbar-fs-val {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 2rem;
      padding: 2px 6px;
      font-size: 0.82rem;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: var(--ok);
      border-radius: 6px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.35);
      user-select: none;
    }
    .rich-toolbar button.rich-toolbar-nobg {
      font-size: 1.05rem;
      padding: 4px 8px;
      line-height: 1;
      font-weight: 600;
    }
    .rich-toolbar-sep {
      width: 1px;
      height: 22px;
      background: var(--border);
      margin: 0 2px;
    }
    .rich-toolbar-color {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-weight: 700;
      cursor: pointer;
    }
    .rich-toolbar-color input[type="color"] {
      width: 28px;
      height: 28px;
      border: none;
      padding: 0;
      background: transparent;
      cursor: pointer;
    }
    .rich-toolbar-font-wrap {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .rich-toolbar-font-label {
      display: inline-flex;
      flex-direction: column;
      align-items: stretch;
      gap: 2px;
      margin: 0;
      cursor: default;
    }
    .rich-toolbar-font-label-text {
      font-size: 0.65rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--muted);
      line-height: 1.2;
    }
    .rich-toolbar select[data-fontfamily] {
      padding: 6px 8px;
      min-height: 32px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.45);
      color: var(--bv-g-e8f5ef, #e8f5ef);
      font-size: 0.82rem;
      min-width: 148px;
      max-width: min(200px, 42vw);
      cursor: pointer;
      color-scheme: dark;
    }
    /* Safari / lista nativa: contraste legible en el desplegable */
    .rich-toolbar select[data-fontfamily] option {
      color: var(--c-azul-900b);
      background: var(--c-gris-50b);
      font-size: 0.9rem;
      padding: 6px;
    }
    .rich-toolbar select[data-parspacing] {
      padding: 6px 8px;
      min-height: 32px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(0, 0, 0, 0.45);
      color: var(--bv-g-e8f5ef, #e8f5ef);
      font-size: 0.82rem;
      min-width: 132px;
      max-width: min(180px, 38vw);
      cursor: pointer;
      color-scheme: dark;
    }
    .rich-toolbar select[data-parspacing] option {
      color: var(--c-azul-900b);
      background: var(--c-gris-50b);
      font-size: 0.9rem;
      padding: 6px;
    }
    .rich-toolbar-font-apply {
      padding: 4px 8px;
      border-radius: 8px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.08);
      color: var(--text);
      cursor: pointer;
      font-size: 0.95rem;
      line-height: 1;
      min-width: 34px;
    }
    .rich-toolbar-font-apply:hover {
      background: color-mix(in srgb, var(--ok) 22%, transparent);
    }
    @media (max-width: 720px) {
      .app-shell { flex-direction: column; }
      .nav-side {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border);
      }
      /* Agenda en móvil: con el layout en columna el nav-side ocupa toda la altura
         del viewport. Si forzamos 100dvh + overflow:hidden en el shell (como hace la
         agenda en escritorio), la main-area queda a 0px y no se ven ni la cuadrícula
         ni los iconos superiores. Restauramos altura automática y scroll natural. */
      .app-shell:has(#panel-agenda.active) {
        height: auto;
        min-height: 100dvh;
        max-height: none;
        overflow: visible;
      }
      .main-area:has(#panel-agenda.active) {
        flex: 0 0 auto;
        min-height: 0;
        overflow: visible;
      }
      #panel-agenda.active {
        flex: 0 0 auto;
        min-height: 0;
        height: auto;
        overflow: visible;
      }
      #panel-agenda .agenda-grid-outer {
        max-height: none;
        flex: 0 0 auto;
      }
    }
    .about-save-footer {
      margin-top: 28px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
    }
    .panel-fixed-fields__save {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 12px;
      margin-top: 18px;
      padding-top: 16px;
    }
    .panel-fixed-fields__save .msg {
      flex: 1 1 auto;
      margin: 0;
      min-width: 140px;
    }
    .panel-fixed-fields__save .btn {
      flex: 0 0 auto;
      min-height: 40px;
    }
    .destamos-map-preview {
      margin-top: 18px;
    }
    .destamos-map-preview__title {
      margin: 0 0 10px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, var(--muted, #64748b));
    }
    .destamos-map-preview__frame {
      position: relative;
      width: 100%;
      border-radius: var(--bd-radius-lg, 12px);
      overflow: hidden;
      border: 1px solid var(--bd-n-200, var(--border, rgba(0, 0, 0, 0.12)));
      background: var(--bd-n-50, #f8fafc);
      aspect-ratio: 16 / 9;
      min-height: 220px;
      max-height: 360px;
    }
    .destamos-map-preview__frame iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }
    .destamos-map-preview__hint {
      margin: 10px 0 0;
      font-size: 0.85rem;
      line-height: 1.45;
    }
    html.bardev-panel-theme-light .destamos-map-preview__title {
      color: var(--bd-ink-soft);
    }
    html.bardev-panel-theme-light .destamos-map-preview__frame {
      border-color: var(--bd-n-200);
      background: var(--bd-n-50);
    }
    .modal-overlay,
    .bardev-modal-overlay {
      position: fixed;
      inset: 0;
      z-index: 20000;
      width: 100%;
      max-width: 100vw;
      min-height: 100vh;
      min-height: 100dvh;
      max-height: 100vh;
      max-height: 100dvh;
      box-sizing: border-box;
      display: none;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: max(16px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px))
        max(20px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .modal-overlay:not(.hidden),
    .bardev-modal-overlay:not(.hidden) {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
    /*
     * Con modal abierto: el overlay no cubre el menú lateral (sin blur ahí).
     * Fuera del shell: --bardev-nav-overlay-inset = ancho visual del aside (JS).
     */
    body.bardev-modal-open:not(.mode-login) > .modal-overlay:not(.hidden),
    body.bardev-modal-open:not(.mode-login) > .bardev-modal-overlay:not(.hidden),
    body.bardev-modal-open:not(.mode-login) > .impuestos-modal-overlay:not(.hidden),
    body.bardev-modal-open:not(.mode-login) > .agenda-wl-ghost-confirm:not(.hidden),
    body.bardev-modal-open:not(.mode-login) > .agenda-rec-incidents:not(.hidden) {
      left: var(--bardev-nav-overlay-inset, 0px);
      right: 0;
      top: 0;
      bottom: 0;
      width: auto;
      max-width: none;
      inset: 0 0 0 var(--bardev-nav-overlay-inset, 0px);
    }
    /*
     * Modales dentro del shell (#view-dashboard lleva transform:scale):
     * inset en px de layout (offsetWidth), no visual — si no, el blur invade el menú.
     */
    body.bardev-modal-open:not(.mode-login) #view-dashboard .modal-overlay:not(.hidden),
    body.bardev-modal-open:not(.mode-login) #view-dashboard .bardev-modal-overlay:not(.hidden),
    body.bardev-modal-open:not(.mode-login) #view-dashboard .impuestos-modal-overlay:not(.hidden),
    body.bardev-modal-open:not(.mode-login) #view-dashboard .agenda-wl-ghost-confirm:not(.hidden),
    body.bardev-modal-open:not(.mode-login) #view-dashboard .agenda-rec-incidents:not(.hidden) {
      left: var(--bardev-nav-overlay-inset-layout, var(--nav-side-width, 260px));
      right: 0;
      top: 0;
      bottom: 0;
      inset: 0 0 0 var(--bardev-nav-overlay-inset-layout, var(--nav-side-width, 260px));
      width: auto;
      max-width: none;
      min-height: 0;
      height: auto;
      max-height: none;
      transform: none;
    }
    /* Menú lateral por encima del desenfoque del modal */
    body.bardev-modal-open:not(.mode-login) #view-dashboard > aside.nav-side {
      position: relative;
      z-index: 21050;
    }
    body.bardev-modal-open:not(.mode-login) #view-dashboard.app-shell--agenda-max > aside.nav-side {
      z-index: 25000;
    }
    body.bardev-modal-open:not(.mode-login) #view-dashboard > .nav-side-collapse-toggle {
      z-index: 21055;
    }
    body.bardev-modal-open:not(.mode-login) #view-dashboard.app-shell--agenda-max > .nav-side-collapse-toggle {
      z-index: 25005;
    }
    /*
     * Modales fuera de #view-dashboard (legacy): misma escala que el panel.
     * NO aplicar a .bardev-overlay--content-pin (pin JS: transform none + left al menú).
     */
    html.bardev-panel-scaled body:not(.mode-login) > .modal-overlay:not(.bardev-overlay--content-pin):not(#unsaved-about-overlay),
    html.bardev-panel-scaled body:not(.mode-login) > .bardev-modal-overlay:not(.bardev-overlay--content-pin),
    html.bardev-panel-scaled body:not(.mode-login) > .agenda-wl-ghost-confirm:not(.bardev-overlay--content-pin),
    html.bardev-panel-scaled body:not(.mode-login) > .agenda-rec-incidents:not(.bardev-overlay--content-pin),
    html.bardev-panel-scaled body:not(.mode-login) > .impuestos-modal-overlay:not(.bardev-overlay--content-pin) {
      inset: auto;
      left: 0;
      top: 0;
      right: auto;
      bottom: auto;
      width: calc(100vw * var(--bardev-panel-scale-inv, 1));
      max-width: none;
      min-height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      height: calc(100dvh * var(--bardev-panel-scale-inv, 1));
      max-height: none;
      transform: scale(var(--bardev-panel-scale, 1));
      transform-origin: top left;
    }
    html.bardev-panel-scaled body.bardev-modal-open:not(.mode-login) > .modal-overlay:not(.hidden):not(.bardev-overlay--content-pin):not(#unsaved-about-overlay),
    html.bardev-panel-scaled body.bardev-modal-open:not(.mode-login) > .bardev-modal-overlay:not(.hidden):not(.bardev-overlay--content-pin),
    html.bardev-panel-scaled body.bardev-modal-open:not(.mode-login) > .impuestos-modal-overlay:not(.hidden):not(.bardev-overlay--content-pin),
    html.bardev-panel-scaled body.bardev-modal-open:not(.mode-login) > .agenda-wl-ghost-confirm:not(.hidden):not(.bardev-overlay--content-pin),
    html.bardev-panel-scaled body.bardev-modal-open:not(.mode-login) > .agenda-rec-incidents:not(.hidden):not(.bardev-overlay--content-pin) {
      left: calc(var(--bardev-nav-overlay-inset, 0px) * var(--bardev-panel-scale-inv, 1));
      width: calc((100vw - var(--bardev-nav-overlay-inset, 0px)) * var(--bardev-panel-scale-inv, 1));
      inset: auto;
      top: 0;
      right: auto;
      bottom: auto;
    }
    /* Pin: blur hasta el borde del menú (px visuales, sin scale en el overlay). */
    .bardev-overlay--content-pin:not(.hidden),
    body.bardev-modal-open > .bardev-overlay--content-pin:not(.hidden) {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      position: fixed !important;
      top: 0 !important;
      left: var(--bardev-nav-overlay-inset, var(--nav-side-width, 260px)) !important;
      right: 0 !important;
      bottom: 0 !important;
      width: auto !important;
      height: auto !important;
      max-width: none !important;
      min-height: 0 !important;
      max-height: none !important;
      transform: none !important;
      zoom: 1;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important;
      z-index: 21040;
      background: rgba(0, 0, 0, 0.58);
      backdrop-filter: blur(10px) saturate(1.1);
      -webkit-backdrop-filter: blur(10px) saturate(1.1);
    }
    /*
     * Escala del zoom: SOLO en .bardev-modal-scale-wrap (no en el panel con scroll).
     * zoom/transform en el mismo nodo que overflow:auto rompe el scroll en Safari.
     * Altura: al contenido; tope = --bardev-modal-content-cap (≈ 80% zona de contenidos).
     * Bordes redondeados en el wrap: el blur del overlay se ve alrededor de la forma.
     */
    .bardev-overlay--content-pin > .bardev-modal-scale-wrap,
    body.bardev-modal-open > .bardev-overlay--content-pin > .bardev-modal-scale-wrap {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
      margin: auto !important;
      flex: 0 1 auto !important;
      min-width: 0 !important;
      min-height: 0 !important;
      max-width: 100% !important;
      width: auto !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box !important;
      overflow: hidden !important;
      border-radius: 18px !important;
      background: transparent !important;
      /* Safari: recorta hijos / backdrop a la forma redondeada */
      -webkit-mask-image: -webkit-radial-gradient(white, black);
      mask-image: radial-gradient(white, black);
      transform: none !important;
      zoom: var(--bardev-panel-scale, 1);
    }
    @supports not (zoom: 1) {
      .bardev-overlay--content-pin > .bardev-modal-scale-wrap {
        zoom: normal;
        transform: scale(var(--bardev-panel-scale, 1)) !important;
        transform-origin: center center !important;
      }
    }
    /* El diálogo dentro del wrap: altura al contenido; scroll si supera el cap; sin zoom/transform */
    .bardev-overlay--content-pin > .bardev-modal-scale-wrap > *,
    body.bardev-modal-open > .bardev-overlay--content-pin > .bardev-modal-scale-wrap > * {
      flex: 0 1 auto !important;
      min-height: 0 !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      margin: 0 !important;
      transform: none !important;
      zoom: 1 !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch !important;
      overscroll-behavior: contain !important;
      touch-action: pan-y !important;
      box-sizing: border-box !important;
      border-radius: 18px !important;
    }
    /* Cobro / venta directa: nunca estirar al tope del cap */
    #agenda-cobro-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap,
    #caja-vd-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap,
    #venta-pp-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap {
      height: auto !important;
      align-self: center !important;
      border-radius: 18px !important;
      overflow: hidden !important;
    }
    #agenda-cobro-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap > .agenda-cobro-panel,
    #caja-vd-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap > .agenda-cobro-panel,
    #venta-pp-modal.bardev-overlay--content-pin > .bardev-modal-scale-wrap > .agenda-cobro-panel {
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      flex: 0 0 auto !important;
      border-radius: 18px !important;
      overflow: hidden !important;
    }
    /* Contenedor del diálogo (sin wrap aún / legacy): tope 80% zona de contenidos; scroll en el panel */
    .modal-overlay > *:first-child:not(.bardev-modal-scale-wrap),
    .bardev-modal-overlay > *:first-child:not(.bardev-modal-scale-wrap),
    .modal-overlay > .bardev-modal-scale-wrap > *,
    .bardev-modal-overlay > .bardev-modal-scale-wrap > * {
      margin-top: auto;
      margin-bottom: auto;
      margin-left: auto;
      margin-right: auto;
      flex-shrink: 1;
      width: auto;
      min-width: 0;
      min-height: 0;
      max-width: min(96vw, 920px);
      max-height: var(
        --bardev-modal-content-cap,
        var(--bardev-agenda-modal-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)))
      );
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      box-sizing: border-box;
    }
    .modal-overlay > .bardev-modal-scale-wrap,
    .bardev-modal-overlay > .bardev-modal-scale-wrap {
      margin-top: auto;
      margin-bottom: auto;
      margin-left: auto;
      margin-right: auto;
      flex-shrink: 1;
      min-width: 0;
      min-height: 0;
      max-width: min(96vw, 920px);
    }
    /* Miembros: blur hasta el menú; escala en la superficie */
    #members-overlay.bardev-modal-overlay:not(.hidden),
    body.bardev-modal-open > #members-overlay.bardev-modal-overlay:not(.hidden) {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: max(8px, env(safe-area-inset-top, 0px)) 12px max(8px, env(safe-area-inset-bottom, 0px)) !important;
      background: var(--bd-modal-scrim) !important;
      backdrop-filter: var(--bd-modal-scrim-blur) !important;
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur) !important;
      overflow: auto !important;
      z-index: 21040 !important;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important;
      position: fixed !important;
      top: 0 !important;
      left: var(--bardev-nav-overlay-inset, var(--nav-side-width, 260px)) !important;
      right: 0 !important;
      bottom: 0 !important;
      width: auto !important;
      height: auto !important;
      transform: none !important;
      max-width: none !important;
      min-height: 0 !important;
      max-height: none !important;
    }
    body.bardev-modal-open:not(.mode-login) #view-dashboard > aside.nav-side {
      z-index: 21050;
    }
    #members-overlay.bardev-modal-overlay > .bardev-modal-surface,
    #members-overlay.bardev-modal-overlay > .bardev-modal-scale-wrap > .bardev-modal-surface,
    #members-overlay.bardev-modal-overlay > *:first-child:not(.bardev-modal-scale-wrap) {
      margin-top: auto !important;
      margin-bottom: auto !important;
      margin-left: auto !important;
      margin-right: auto !important;
      flex: 0 0 auto !important;
      flex-shrink: 0 !important;
      align-self: center !important;
      width: min(100%, 560px) !important;
      max-width: min(100%, 560px) !important;
      min-width: 0 !important;
      min-height: 0 !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      border-radius: 16px !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      box-sizing: border-box !important;
      transform: none !important;
      zoom: 1 !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
    #members-overlay > .bardev-modal-scale-wrap {
      width: min(100%, 560px) !important;
      max-width: min(100%, 560px) !important;
      height: auto !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
    }
    #members-overlay > .bardev-modal-scale-wrap > .bardev-modal-surface {
      overflow: hidden !important; /* el scroll va en .members-dev-list */
    }
    #members-overlay .members-overlay__head {
      flex: 0 0 auto;
    }
    #members-overlay .members-dev-list {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      max-height: none !important;
      overflow-y: auto !important;
    }
    #members-overlay #msg-members,
    #members-overlay .dev-barberias-modal__footer {
      flex: 0 0 auto;
    }
    .usuarios-edit-dir-card {
      border: 1px solid var(--border);
      border-radius: 10px;
      background: rgba(255,255,255,0.03);
      overflow: hidden;
    }
    .usuarios-edit-dir-card__toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
      font-size: 0.82rem;
      font-weight: 600;
      cursor: pointer;
      list-style: none;
      user-select: none;
    }
    .usuarios-edit-dir-card__toggle::-webkit-details-marker { display: none; }
    .usuarios-edit-dir-card__toggle::before {
      content: '\25B6';
      font-size: 0.6rem;
      transition: transform 0.2s;
      color: var(--muted);
    }
    .usuarios-edit-dir-card[open] > .usuarios-edit-dir-card__toggle::before {
      transform: rotate(90deg);
    }
    .usuarios-edit-dir-card__badge {
      font-size: 0.72rem;
      font-weight: 400;
      color: var(--muted);
      margin-left: auto;
    }
    .usuarios-edit-dir-card__body {
      padding: 0 14px 14px;
    }
    .usuarios-edit-dir-card__rows {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .usuarios-edit-dir-card__row {
      display: flex;
      align-items: baseline;
      gap: 8px;
      padding: 6px 0;
      border-bottom: 1px solid color-mix(in srgb, var(--border) 50%, transparent);
      font-size: 0.82rem;
      line-height: 1.45;
    }
    .usuarios-edit-dir-card__row:last-child { border-bottom: none; }
    .usuarios-edit-dir-card__row-key {
      flex-shrink: 0;
      font-weight: 600;
      color: var(--muted);
      min-width: 60px;
    }
    .usuarios-edit-dir-card__row-val {
      word-break: break-word;
    }
    .usuarios-edit-avatar-row {
      display: flex;
      justify-content: center;
      margin: 0 0 14px;
    }
    .usuarios-edit-avatar-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 88px;
      height: 88px;
      padding: 0;
      border: 2px solid color-mix(in srgb, var(--border) 70%, transparent);
      border-radius: 50%;
      background: color-mix(in srgb, var(--card) 92%, transparent);
      cursor: zoom-in;
      overflow: hidden;
      flex-shrink: 0;
      transition: border-color 0.15s, box-shadow 0.15s;
    }
    .usuarios-edit-avatar-btn:hover:not(:disabled) {
      border-color: var(--ok);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--ok) 25%, transparent);
    }
    .usuarios-edit-avatar-btn:disabled {
      cursor: default;
      opacity: 0.92;
    }
    .usuarios-edit-avatar-btn img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .usuarios-edit-avatar-fallback {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.65rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      color: var(--text);
      background: linear-gradient(145deg, color-mix(in srgb, var(--ok) 35%, transparent), color-mix(in srgb, var(--border) 40%, transparent));
    }
    .usuarios-edit-avatar-lightbox {
      position: fixed;
      inset: 0;
      /* Por encima de los modales anclados (bardevPinOverlaysToContentArea los sube a 21040). */
      z-index: 22100;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 48px 20px 20px;
      box-sizing: border-box;
      background: rgba(0, 0, 0, 0.88);
      backdrop-filter: blur(6px);
    }
    .usuarios-edit-avatar-lightbox.hidden {
      display: none !important;
    }
    .usuarios-edit-avatar-lightbox img {
      max-width: 96vw;
      max-height: 92vh;
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 4px;
      box-shadow: 0 12px 48px rgba(0, 0, 0, 0.55);
    }
    .usuarios-edit-avatar-lightbox-close {
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 2;
    }
    .usuarios-edit-hobbies {
      display: flex;
      flex-direction: column;
      gap: 10px;
      min-height: 1.4em;
    }
    .usuarios-edit-prefs-group,
    .cliente-ficha-prefs-dd .usuarios-edit-prefs-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .usuarios-edit-prefs-lab {
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: var(--muted, #6b7280);
    }
    .usuarios-edit-prefs-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .usuarios-edit-hobby-chip {
      font-size: 0.78rem;
      padding: 3px 9px;
      border-radius: 999px;
      background: color-mix(in srgb, var(--ok) 14%, transparent);
      border: 1px solid color-mix(in srgb, var(--ok) 28%, var(--border));
      color: var(--text);
    }
    .usuarios-edit-hobby-chip--no {
      background: var(--c-rojo-50b);
      border-color: var(--c-rojo-100);
      color: var(--c-rosa-650);
    }
    .usuarios-edit-hobby-chip--meh {
      background: var(--c-gris-50c);
      border-color: var(--c-gris-150);
      color: var(--c-pizarra-650b);
    }
    .cliente-ficha-visit-sum__line {
      margin: 0 0 8px;
      font-size: 0.92rem;
      line-height: 1.45;
      color: var(--text, #111827);
      font-weight: 650;
    }
    .cliente-ficha-visit-sum__details {
      margin: 0;
      font-size: 0.85rem;
    }
    .cliente-ficha-visit-sum__details > summary {
      cursor: pointer;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-weight: 650;
      margin-bottom: 8px;
    }
    .agenda-detail-visit-prefs {
      margin: 10px 12px 12px;
      padding: 0;
      border-radius: 0;
      background: transparent;
      border: none;
    }
    .agenda-detail-visit-prefs:not(.hidden) {
      display: block;
    }
    .agenda-detail-visit-prefs__head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 8px;
    }
    .agenda-detail-visit-prefs__heading {
      margin: 0;
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .agenda-detail-visit-prefs__title,
    .agenda-detail-visit-prefs__sum {
      display: none !important;
    }
    .agenda-detail-visit-prefs__all-btn {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      width: auto;
      margin: 0;
      padding: 0;
      border: none;
      background: transparent;
      cursor: pointer;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-size: 0.8rem;
      font-weight: 650;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .agenda-detail-visit-prefs__all-btn:hover {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    .agenda-detail-visit-prefs__q {
      margin: 0 0 8px;
      font-size: 0.84rem;
      color: var(--bd-ink-soft, #4b5563);
    }
    #agenda-visit-prefs-all-modal.modal-overlay {
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    .agenda-visit-prefs-all-panel {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: calc(100vw - 32px);
      max-height: min(86vh, 760px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      box-sizing: border-box;
    }
    .agenda-visit-prefs-all-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 16px 12px;
      flex: 0 0 auto;
    }
    .agenda-visit-prefs-all-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--bd-ink, #111827);
    }
    .agenda-visit-prefs-all-body {
      flex: 1 1 auto;
      overflow: auto;
      padding: 4px 16px 12px;
      -webkit-overflow-scrolling: touch;
    }
    .agenda-visit-prefs-all-sum {
      margin: 0 0 12px;
      font-size: 0.9rem;
      font-weight: 650;
      color: var(--bd-ink, #111827);
      line-height: 1.4;
    }
    .agenda-visit-prefs-all-empty {
      margin: 8px 0;
      font-size: 0.9rem;
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-visit-prefs-all-body .usuarios-edit-prefs-group {
      margin-bottom: 12px;
    }
    .agenda-visit-prefs-sec__title {
      margin: 0 0 10px;
      font-size: 0.92rem;
      font-weight: 750;
      line-height: 1.35;
      color: var(--bd-ink, #111827);
    }
    .agenda-visit-prefs-conv {
      margin: 0 0 14px;
    }
    .agenda-visit-prefs-conv__opts {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .agenda-visit-prefs-conv__opt {
      display: inline-flex;
      align-items: center;
      min-height: 40px;
      padding: 8px 12px;
      border: 1px solid var(--bd-n-200, #d1d5db);
      border-radius: 999px;
      background: var(--c-blanco);
      color: var(--bd-ink, #111827);
      font-size: 0.82rem;
      font-weight: 650;
      line-height: 1.25;
    }
    .agenda-visit-prefs-conv__opt.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    .agenda-visit-prefs-conv__empty {
      margin: 8px 0 0;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-visit-prefs-topics {
      margin-top: 16px;
    }
    .agenda-visit-prefs-topics-cols {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
      gap: 10px;
      align-items: start;
    }
    .agenda-visit-prefs-tcol {
      min-width: 0;
      padding: 10px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-50, #f8fafc);
      box-sizing: border-box;
    }
    .agenda-visit-prefs-tcol--like {
      border-color: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      background: var(--c-verde-50c);
    }
    .agenda-visit-prefs-tcol--avoid {
      border-color: var(--c-rojo-100);
      background: var(--c-rojo-50b);
    }
    .agenda-visit-prefs-tcol__head {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }
    .agenda-visit-prefs-tcol__face {
      display: grid;
      place-items: center;
      width: 32px;
      height: 32px;
      flex-shrink: 0;
      border-radius: 999px;
      background: var(--c-blanco);
      border: 1px solid var(--bd-n-200, #e5e7eb);
    }
    .agenda-visit-prefs-tcol--like .agenda-visit-prefs-tcol__face {
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
    }
    .agenda-visit-prefs-tcol--neutral .agenda-visit-prefs-tcol__face {
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-visit-prefs-tcol--avoid .agenda-visit-prefs-tcol__face {
      color: var(--bd-danger-700, #b91c1c);
      border-color: var(--c-rojo-100);
    }
    .agenda-visit-prefs-tcol__head .bd-label {
      margin: 0;
    }
    .agenda-visit-prefs-tcol__list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .agenda-visit-prefs-tcol__list li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 0.82rem;
      font-weight: 650;
      line-height: 1.3;
      color: var(--bd-ink, #111827);
    }
    .agenda-visit-prefs-tcol__ico {
      display: grid;
      place-items: center;
      width: 22px;
      height: 22px;
      flex-shrink: 0;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .agenda-visit-prefs-tcol--avoid .agenda-visit-prefs-tcol__ico {
      color: var(--bd-danger-700, #b91c1c);
    }
    .agenda-visit-prefs-tcol--neutral .agenda-visit-prefs-tcol__ico {
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-visit-prefs-tcol__empty {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 550;
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-visit-prefs-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      align-content: start;
    }
    .agenda-visit-pref-card {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      min-height: 76px;
      padding: 12px 12px 12px 10px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-50, #f8fafc);
      box-sizing: border-box;
    }
    .agenda-visit-pref-card__ico {
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      flex-shrink: 0;
      border-radius: 12px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
    }
    .agenda-visit-pref-card__ico svg {
      display: block;
    }
    .agenda-visit-pref-card__txt {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      padding-top: 1px;
    }
    .agenda-visit-pref-card__txt .bd-label {
      margin: 0;
    }
    .agenda-visit-pref-card__val {
      font-size: 0.95rem;
      font-weight: 700;
      line-height: 1.3;
      color: var(--bd-ink, #111827);
    }
    .agenda-visit-pref-card__list {
      margin: 0;
      padding: 0 0 0 16px;
      font-size: 0.9rem;
      font-weight: 650;
      line-height: 1.35;
      color: var(--bd-ink, #111827);
    }
    .agenda-visit-pref-card--ok .agenda-visit-pref-card__val {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .agenda-visit-pref-card--avoid .agenda-visit-pref-card__val {
      color: var(--bd-danger-700, #b91c1c);
    }
    .agenda-visit-pref-card--neutral .agenda-visit-pref-card__val {
      color: var(--bd-ink-soft, #4b5563);
    }
    @media (max-width: 560px) {
      .agenda-visit-prefs-cards {
        grid-template-columns: 1fr;
      }
      .agenda-visit-prefs-topics-cols {
        grid-template-columns: 1fr;
      }
    }
    .agenda-visit-prefs-all-foot {
      flex: 0 0 auto;
      padding: 12px 16px 16px;
      border-top: 1px solid var(--bd-n-200, #e5e7eb);
    }
    .agenda-detail-visit-prefs__collapsed {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      width: 100%;
      margin: 0;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: 10px;
      background: var(--c-blanco);
      cursor: pointer;
      text-align: left;
      min-height: 48px;
      box-sizing: border-box;
    }
    .agenda-detail-visit-prefs__collapsed:hover {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .agenda-detail-visit-prefs__collapsed-q {
      flex: 1 1 auto;
      min-width: 0;
      font-size: 0.84rem;
      line-height: 1.35;
      color: var(--bd-ink, #111827);
      font-weight: 600;
    }
    .agenda-detail-visit-prefs__collapsed-val {
      flex: 0 1 auto;
      max-width: 46%;
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      text-align: right;
      line-height: 1.3;
    }
    .agenda-detail-visit-prefs__opts {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .agenda-detail-visit-prefs__opts .agenda-d-visit-ov {
      width: auto;
      min-height: 40px;
      padding: 8px 12px;
      font-size: 0.8rem;
      font-weight: 650;
    }
    /* Ghost del tema claro gana en especificidad: forzar contraste del seleccionado. */
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-detail-visit-prefs__opts .bd-btn.agenda-d-visit-ov.is-on,
    #agenda-detail-modal .agenda-detail-visit-prefs__opts .bd-btn.agenda-d-visit-ov.is-on {
      background: var(--bv-g-047857, #047857) !important;
      border-color: var(--bv-g-047857, #047857) !important;
      color: var(--c-blanco) !important;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #agenda-detail-modal .agenda-detail-visit-prefs__opts .bd-btn.agenda-d-visit-ov:not(.is-on),
    #agenda-detail-modal .agenda-detail-visit-prefs__opts .bd-btn.agenda-d-visit-ov:not(.is-on) {
      background: var(--c-blanco) !important;
      border-color: var(--c-gris-150) !important;
      color: var(--bv-g-047857, #047857) !important;
    }
    .agenda-detail-visit-prefs__msg {
      margin: 8px 0 0;
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #6b7280);
    }
    .agenda-detail-visit-prefs__msg--timer {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-weight: 700;
      font-variant-numeric: tabular-nums;
    }
    .usuarios-edit-barfis {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--ok);
    }
    .com-tab-panel.hidden,
    .com-tab-panel[hidden] {
      display: none !important;
    }
    .com-bday-category-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 14px;
      margin-bottom: 10px;
    }
    .com-bday-category-list label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.82rem;
      cursor: pointer;
    }
    .com-bday-preview-host {
      margin-top: 18px;
    }
    .com-bday-preview-label {
      margin: 0 0 12px;
      font-size: 0.82rem;
      font-weight: 600;
      text-align: center;
      color: var(--muted);
    }
    .com-bday-preview-wrap {
      display: flex;
      justify-content: center;
      width: 100%;
    }
    .com-bday-phone {
      width: min(100%, 300px);
      border-radius: 28px;
      padding: 10px 8px 12px;
      background: linear-gradient(165deg, var(--c-gris-750) 0%, var(--c-gris-900c) 100%);
      box-shadow:
        0 14px 40px rgba(0, 0, 0, 0.35),
        inset 0 0 0 1px rgba(255, 255, 255, 0.12);
      box-sizing: border-box;
    }
    .com-bday-phone__top {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      min-height: 18px;
      margin-bottom: 8px;
    }
    .com-bday-phone__speaker {
      width: 42px;
      height: 5px;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.45);
    }
    .com-bday-phone__screen {
      border-radius: 18px;
      overflow: hidden;
      background: var(--c-gris-950);
      max-height: 520px;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }
    .com-bday-email-outer {
      background: var(--c-gris-950);
      padding: 16px 14px;
    }
    .com-bday-email-card {
      margin: 0 auto;
      max-width: 100%;
      overflow: hidden;
      border-radius: 16px;
      border: 1px solid var(--c-gris-50h);
      background: var(--c-gris-900b);
    }
    .com-bday-email-header {
      background: var(--bv-g-10b981, #10b981);
      padding: 18px 14px;
      text-align: center;
      border-radius: 16px 16px 0 0;
    }
    .com-bday-email-header img {
      display: inline-block;
      max-height: 56px;
      max-width: 160px;
      width: auto;
      height: auto;
      object-fit: contain;
      border: 0;
    }
    .com-bday-email-header h2 {
      margin: 10px 0 0;
      padding: 0;
      color: var(--c-gris-50h);
      font-size: 17px;
      font-weight: 700;
      line-height: 1.3;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65), 0 2px 8px rgba(0, 0, 0, 0.45);
    }
    .com-bday-email-body {
      background: var(--c-gris-900b);
      padding: 16px 14px 18px;
      color: var(--c-gris-50h);
      font-size: 12.5px;
      line-height: 1.55;
    }
    .com-bday-email-body p {
      margin: 0 0 11px;
    }
    .com-bday-email-body p:last-child {
      margin-bottom: 0;
    }
    .com-bday-email-body .com-bday-email-lead {
      font-size: 14px;
      font-weight: 700;
    }
    .com-bday-email-body strong {
      font-weight: 700;
      color: var(--c-gris-50h);
    }
    .com-bday-email-btn-wrap {
      text-align: center;
      margin: 14px 0 6px;
    }
    .com-bday-email-btn {
      display: inline-block;
      background: var(--bv-g-10b981, #10b981);
      color: var(--c-gris-50h);
      padding: 11px 22px;
      border-radius: 999px;
      font-weight: 700;
      font-size: 13px;
      line-height: 1.25;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.35);
      text-decoration: none;
      pointer-events: none;
      user-select: none;
    }
    .com-bday-email-thanks {
      margin-top: 14px !important;
      font-size: 11px;
      color: var(--c-gris-300);
      text-align: center;
    }
    .com-bday-email-foot {
      margin: 10px 0 0;
      padding: 0 10px;
      font-size: 10px;
      line-height: 1.4;
      color: var(--c-gris-300);
      text-align: center;
    }
    .com-bday-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      margin-top: 14px;
    }
    .com-bday-actions .com-bday-action-btn {
      width: auto !important;
      flex: 0 0 auto;
      margin-top: 0 !important;
      white-space: nowrap;
      padding: 10px 16px;
      font-size: 0.86rem;
    }
    /* Ficha cliente — pestaña Fotos: miniaturas + lightbox */
    .cliente-ficha-cut-fig {
      display: inline-block;
      margin: 0 12px 14px 0;
      vertical-align: top;
      text-align: center;
      padding: 10px 10px 8px;
      border-radius: 14px;
      border: 2px solid var(--border);
      background: color-mix(in srgb, var(--card, #fff) 92%, transparent);
      box-sizing: border-box;
    }
    .cliente-ficha-cut-fig--client {
      border-color: color-mix(in srgb, var(--c-azul-450) 42%, var(--border));
      background: color-mix(in srgb, var(--c-azul-450) 9%, var(--card, #fff));
    }
    .cliente-ficha-cut-fig--barber {
      border-color: color-mix(in srgb, var(--c-naranja-550) 48%, var(--border));
      background: color-mix(in srgb, var(--c-naranja-500b) 11%, var(--card, #fff));
    }
    .cliente-ficha-cut-badge {
      display: block;
      margin: 0 auto 8px;
      max-width: 112px;
      padding: 4px 10px;
      border-radius: 999px;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      line-height: 1.2;
      box-sizing: border-box;
    }
    .cliente-ficha-cut-badge--client {
      color: var(--c-azul-600b);
      background: color-mix(in srgb, var(--c-azul-200) 55%, transparent);
      border: 1px solid color-mix(in srgb, var(--c-azul-450) 35%, transparent);
    }
    .cliente-ficha-cut-badge--barber {
      color: var(--c-naranja-700b);
      background: color-mix(in srgb, var(--c-ambar-350) 50%, transparent);
      border: 1px solid color-mix(in srgb, var(--c-naranja-550) 40%, transparent);
    }
    .cliente-ficha-cut-fig--client .cliente-ficha-cut-thumb {
      border-color: color-mix(in srgb, var(--c-azul-450) 38%, var(--border));
    }
    .cliente-ficha-cut-fig--barber .cliente-ficha-cut-thumb {
      border-color: color-mix(in srgb, var(--c-naranja-550) 42%, var(--border));
    }
    .cliente-ficha-cut-thumb {
      display: block;
      padding: 0;
      margin: 0;
      border: 1px solid var(--border);
      border-radius: 10px;
      cursor: zoom-in;
      overflow: hidden;
      background: var(--card);
      line-height: 0;
      -webkit-tap-highlight-color: transparent;
    }
    .cliente-ficha-cut-thumb:focus-visible {
      outline: 2px solid var(--cta, #22c55e);
      outline-offset: 2px;
    }
    .cliente-ficha-cut-thumb img {
      width: 104px;
      height: 104px;
      object-fit: cover;
      display: block;
      pointer-events: none;
    }
    .cliente-ficha-cut-figcap {
      margin-top: 6px;
      max-width: 112px;
      line-height: 1.25;
    }
    .cliente-ficha-cut-fig__inner {
      position: relative;
      display: inline-block;
      vertical-align: top;
    }
    .cliente-ficha-cut-del {
      position: absolute;
      top: 5px;
      right: 5px;
      width: 28px;
      height: 28px;
      padding: 0;
      margin: 0;
      border: none;
      border-radius: 8px;
      background: color-mix(in srgb, var(--c-rojo-600) 88%, transparent);
      color: var(--c-blanco);
      font-size: 20px;
      line-height: 26px;
      font-weight: 700;
      cursor: pointer;
      z-index: 2;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
      -webkit-tap-highlight-color: transparent;
    }
    .cliente-ficha-cut-del:hover {
      filter: brightness(1.08);
    }
    .cliente-ficha-cut-del:focus-visible {
      outline: 2px solid var(--cta, #22c55e);
      outline-offset: 2px;
    }
    .cliente-ficha-cut-photo-lightbox {
      position: fixed;
      inset: 0;
      /* Por encima de la ficha: bardevPinOverlaysToContentArea sube los .modal-overlay a 21040. */
      z-index: 22100;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 48px 20px 24px;
      box-sizing: border-box;
      background: rgba(0, 0, 0, 0.88);
      backdrop-filter: blur(6px);
    }
    .cliente-ficha-cut-photo-lightbox.hidden {
      display: none !important;
    }
    .cliente-ficha-cut-photo-lightbox__backdrop {
      position: absolute;
      inset: 0;
      border: none;
      padding: 0;
      margin: 0;
      background: transparent;
      cursor: pointer;
    }
    .cliente-ficha-cut-photo-lightbox__panel {
      position: relative;
      z-index: 1;
      max-width: min(96vw, 900px);
      max-height: min(92vh, 900px);
      display: flex;
      flex-direction: column;
      align-items: center;
      pointer-events: none;
    }
    .cliente-ficha-cut-photo-lightbox__panel > * {
      pointer-events: auto;
    }
    .cliente-ficha-cut-photo-lightbox__close {
      position: absolute;
      top: -36px;
      right: 0;
      z-index: 2;
    }
    .cliente-ficha-cut-photo-lightbox__panel img {
      max-width: 96vw;
      max-height: min(78vh, 820px);
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 10px;
      box-shadow: 0 12px 48px rgba(0, 0, 0, 0.55);
    }
    .cliente-ficha-cut-photo-lightbox__cap {
      margin: 12px 0 0;
      text-align: center;
      max-width: 100%;
    }
    .modal-overlay .modal-sheet {
      width: 100%;
      max-width: 400px;
      margin: 0;
    }
    .modal-overlay .modal-sheet h3 {
      margin: 0 0 8px;
      font-size: 1.05rem;
    }
    #fpago-icon-overlay.modal-overlay.fpago-icon-overlay--open {
      display: flex !important;
      position: fixed !important;
      inset: 0 !important;
      z-index: 2147483646 !important;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important;
      backdrop-filter: blur(4px);
    }
    .modal-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 18px;
    }
    .modal-actions .btn { margin-top: 0; }

    /* Llamada entrante VoIP (encima de agenda y modales de cita) */
    #incoming-call-overlay {
      z-index: 21070;
    }
    .incoming-call-panel {
      width: 100%;
      max-width: 440px;
      border-radius: 16px;
      border: 1px solid rgba(201, 162, 39, 0.35);
      background: linear-gradient(165deg, #1a1d24 0%, var(--c-gris-900) 100%);
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
      padding: 22px 20px 18px;
      position: relative;
      color: #e8ecf5;
    }
    .incoming-call-panel .incoming-call-kicker {
      margin: 0 40px 6px 0;
      font-size: 0.72rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(201, 162, 39, 0.95);
      font-weight: 600;
    }
    .incoming-call-panel .incoming-call-title {
      margin: 0 40px 14px 0;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 1.45rem;
      font-weight: 600;
      color: #f4f1ea;
      line-height: 1.25;
    }
    .incoming-call-panel dl {
      margin: 0 0 16px;
      display: grid;
      gap: 10px;
      font-size: 0.88rem;
    }
    .incoming-call-panel dt {
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: rgba(232, 236, 245, 0.45);
      margin-bottom: 2px;
    }
    .incoming-call-panel dd {
      margin: 0;
      color: rgba(232, 236, 245, 0.88);
    }
    .incoming-call-actions {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 4px;
    }
    .incoming-call-actions .btn {
      width: 100%;
      margin: 0;
    }

    /* ═══ Toast global ═══ */
    /* Centrado en pantalla, 5 s. Lo dispara cualquier guardado del panel (.msg.ok). */
    .bardev-toast {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.94);
      z-index: 99999;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      max-width: min(520px, calc(100vw - 32px));
      padding: 16px 24px;
      border-radius: var(--bd-radius-lg, 16px);
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.3;
      text-align: left;
      pointer-events: none;
      transition: transform 0.25s cubic-bezier(0.4,0,0.2,1), opacity 0.25s;
      opacity: 0;
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.28));
    }
    .bardev-toast::before {
      content: '';
      flex: 0 0 auto;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.22) center / 16px 16px no-repeat;
    }
    .bardev-toast--ok::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
    }
    .bardev-toast--error::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
    }
    .bardev-toast--visible {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1;
    }
    .bardev-toast--ok {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    .bardev-toast--error {
      background: var(--bd-danger-600, #b91c1c);
      color: var(--c-blanco);
    }

    /* ═══ Notificación centrada de nueva cita online ═══ */
    .bardev-appt-toast {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.88);
      z-index: 100000;
      width: min(400px, calc(100vw - 40px));
      border-radius: 18px;
      padding: 0;
      pointer-events: none;
      opacity: 0;
      transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s;
      box-shadow: 0 8px 40px rgba(15,23,42,0.12), 0 2px 8px rgba(15,23,42,0.06);
      background: var(--c-blanco);
      border: 1px solid var(--c-gris-100e);
      overflow: hidden;
    }
    .bardev-appt-toast--visible {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1;
      pointer-events: auto;
    }
    .bardev-appt-toast__header {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 12px 16px 10px;
      background: var(--c-turquesa-50b);
      border-bottom: 1px solid var(--bv-g-d1fae5, #d1fae5);
    }
    .bardev-appt-toast__icon {
      flex-shrink: 0;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--bv-g-d1fae5, #d1fae5);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
    }
    .bardev-appt-toast__title {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--bv-g-047857, #047857);
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .bardev-appt-toast__body {
      padding: 14px 18px 16px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .bardev-appt-toast__client {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--c-azul-900c);
    }
    .bardev-appt-toast__row {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.82rem;
      color: var(--c-pizarra-750b);
    }
    .bardev-appt-toast__row svg {
      flex-shrink: 0;
      opacity: 0.5;
    }
    .bardev-appt-toast__progress {
      height: 3px;
      background: var(--c-gris-100e);
      overflow: hidden;
    }
    .bardev-appt-toast__progress-bar {
      height: 100%;
      background: var(--bv-g-059669, #059669);
      width: 100%;
      transform-origin: left;
      animation: bardev-appt-toast-shrink 10s linear forwards;
    }
    .bardev-appt-toast__progress-bar--5s {
      animation-duration: 5s;
    }
    @keyframes bardev-appt-toast-shrink {
      from { transform: scaleX(1); }
      to { transform: scaleX(0); }
    }
    .bardev-appt-toast__dismiss {
      position: absolute;
      top: 10px;
      right: 12px;
      background: none;
      border: none;
      color: var(--c-pizarra-350b);
      font-size: 18px;
      cursor: pointer;
      padding: 2px 6px;
      line-height: 1;
      transition: color 0.15s;
    }
    .bardev-appt-toast__dismiss:hover { color: var(--c-azul-900c); }

    /* ——— Mi Plan (Configuración) ——— */
    .mi-plan-current {
      font-size: 0.95rem;
      line-height: 1.45;
    }
    .mi-plan-current strong {
      color: var(--bd-ink, var(--text));
    }
    .mi-plan-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      align-items: stretch;
    }
    @media (max-width: 1100px) {
      .mi-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      .mi-plan-grid { grid-template-columns: 1fr; }
    }
    .mi-plan-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      padding: 18px 14px 16px;
      border-radius: var(--bd-radius-lg, 14px);
      border: 2px solid var(--bd-n-200, var(--border, #dce3df));
      background: var(--bd-n-0, var(--card, #fff));
      color: var(--bd-ink, var(--text));
      box-shadow: var(--bd-shadow-sm, none);
      opacity: 0.78;
      text-align: center;
      transition: border-color 0.15s, box-shadow 0.15s, opacity 0.15s, outline-color 0.15s;
      box-sizing: border-box;
    }
    /* Trazo verde bien visible del plan actual (alta especificidad + hex fijo). */
    #panel-mi-plan .mi-plan-card.mi-plan-card--current,
    .mi-plan-card.mi-plan-card--current {
      opacity: 1 !important;
      border: 3px solid var(--bv-g-047857, #047857) !important;
      outline: 3px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      outline-offset: 2px;
      box-shadow:
        0 0 0 1px var(--bv-g-047857, #047857),
        0 10px 28px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.16) !important;
      background: linear-gradient(180deg, var(--bv-g-ecfdf5, #ecfdf5) 0%, var(--c-blanco) 48%) !important;
    }
    .mi-plan-card__icon {
      width: 64px;
      height: 64px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 18px;
      background: var(--bd-n-50, #f8fafc);
      border: 1px solid var(--bd-n-200, var(--border));
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .mi-plan-card--current .mi-plan-card__icon {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .mi-plan-card__icon svg {
      width: 34px;
      height: 34px;
      display: block;
    }
    .mi-plan-card__top {
      min-height: 32px;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .mi-plan-card__top-spacer {
      display: block;
      min-height: 32px;
      width: 1px;
    }
    .mi-plan-card__badge {
      align-self: center;
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      padding: 4px 12px;
      border-radius: 999px;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--bd-on-solid, #fff);
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .mi-plan-card__upgrade {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      min-height: 40px;
      padding: 6px 14px;
      border-radius: 999px;
      border: 1px solid var(--bv-g-047857, #047857);
      background: var(--c-blanco);
      color: var(--bv-g-047857, #047857);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      cursor: pointer;
      font-family: inherit;
      line-height: 1.15;
      text-align: center;
      transition: background 0.15s, color 0.15s, box-shadow 0.15s;
    }
    .mi-plan-card__upgrade:hover,
    .mi-plan-card__upgrade:focus-visible {
      background: var(--bv-g-047857, #047857);
      color: var(--c-blanco);
      outline: none;
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.2);
    }
    .mi-plan-card__upgrade-ico {
      width: 16px;
      height: 16px;
      flex: 0 0 auto;
      display: inline-flex;
    }
    .mi-plan-card__upgrade-ico svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    .mi-plan-card__upgrade-txt {
      display: block;
      white-space: nowrap;
    }
    .mi-plan-upgrade-panel {
      width: var(--bd-modal-w, min(600px, calc(100vw - 32px)));
      max-width: calc(100vw - 32px);
      max-height: min(90vh, 720px);
      margin: auto;
      display: flex;
      flex-direction: column;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      border-radius: var(--bd-radius-lg, 14px);
      border: 1px solid var(--bd-n-200, #dce3df);
      box-shadow: var(--bd-shadow-md, 0 16px 40px rgba(15, 23, 42, 0.12));
      overflow: hidden;
    }
    .mi-plan-upgrade-panel__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px;
      border-bottom: 1px solid var(--bd-n-200, #dce3df);
    }
    .mi-plan-upgrade-panel__head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
    }
    .mi-plan-upgrade-panel--checkout {
      width: min(960px, calc(100vw - 32px));
      max-height: min(94vh, 900px);
    }
    .mi-plan-upgrade-checkout {
      min-height: 0;
      display: flex;
      flex: 1 1 auto;
      flex-direction: column;
      background: var(--ds-brand-mint, var(--bv-g-e4f6ec, #E4F6EC));
    }
    .mi-plan-upgrade-checkout.hidden {
      display: none;
    }
    .mi-plan-upgrade-checkout__brand {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 12px 18px;
      border-bottom: 1px solid var(--ds-border, #E5D9C4);
      background: var(--ds-brand-beige, #FCF7EA);
    }
    .mi-plan-upgrade-checkout__brand img {
      width: 114px;
      height: 36px;
      object-fit: contain;
    }
    .mi-plan-upgrade-checkout__brand div {
      display: grid;
      gap: 2px;
      min-width: 0;
    }
    .mi-plan-upgrade-checkout__brand strong {
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
      font-size: 0.95rem;
    }
    .mi-plan-upgrade-checkout__brand span {
      color: var(--ds-text-secondary, #5B6B62);
      font-size: 0.8rem;
    }
    .mi-plan-upgrade-checkout__viewport {
      flex: 1 1 auto;
      min-height: 340px;
      max-height: calc(min(94vh, 900px) - 174px);
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      padding: 16px clamp(8px, 3vw, 30px);
      background: var(--ds-brand-mint, var(--bv-g-e4f6ec, #E4F6EC));
    }
    #mi-plan-upgrade-checkout-mount {
      max-width: 820px;
      min-height: 320px;
      margin: 0 auto;
      border: 1px solid var(--ds-border, #E5D9C4);
      border-radius: 16px;
      overflow: hidden;
      background: var(--bd-n-0, #FFFFFF);
      box-shadow: 0 12px 30px rgba(var(--bv-g-rgb-0f3d24, 15, 61, 36), 0.08);
      box-shadow: 0 12px 30px color-mix(in srgb, var(--ds-brand-green, var(--bv-g-114830, #114830)) 10%, transparent);
    }
    .mi-plan-upgrade-checkout__footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 18px;
      border-top: 1px solid var(--ds-border, #E5D9C4);
      background: var(--ds-brand-beige, #FCF7EA);
      color: var(--ds-text-secondary, #5B6B62);
      font-size: 0.78rem;
    }
    .mi-plan-upgrade-checkout__footer .btn {
      width: auto;
      min-height: 38px;
      margin: 0;
    }
    @media (max-width: 640px) {
      .mi-plan-upgrade-panel--checkout {
        width: calc(100vw - 12px);
        max-width: calc(100vw - 12px);
        max-height: calc(100dvh - 12px);
      }
      .mi-plan-upgrade-checkout__brand {
        padding: 10px 12px;
      }
      .mi-plan-upgrade-checkout__brand img {
        width: 92px;
        height: auto;
      }
      .mi-plan-upgrade-checkout__viewport {
        min-height: 300px;
        max-height: calc(100dvh - 178px);
        padding: 8px 4px;
      }
      #mi-plan-upgrade-checkout-mount {
        min-height: 300px;
        border-radius: 12px;
      }
      .mi-plan-upgrade-checkout__footer {
        align-items: stretch;
        flex-direction: column;
        padding: 10px 12px;
      }
      .mi-plan-upgrade-checkout__footer .btn {
        width: 100%;
      }
    }
    .mi-plan-upgrade-panel__body {
      padding: 16px;
      overflow: auto;
    }
    .mi-plan-upgrade-panel__foot {
      display: flex;
      flex-wrap: nowrap;
      gap: 10px;
      justify-content: space-between;
      align-items: center;
      padding: 12px 16px 16px;
      border-top: 1px solid var(--bd-n-200, #dce3df);
    }
    .mi-plan-upgrade-panel__foot .btn {
      width: auto;
      flex: 0 1 auto;
      min-height: 40px;
    }
    .mi-plan-upgrade-panel__foot .btn.primary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-left: auto;
    }
    .mi-plan-upgrade-confirm__ico {
      width: 16px;
      height: 16px;
      display: inline-flex;
    }
    .mi-plan-upgrade-confirm__ico svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    .mi-plan-card__upgrade--down {
      border-color: var(--bd-ink-soft, #475569);
      color: var(--bd-ink, #0f172a);
    }
    .mi-plan-card__upgrade--down:hover,
    .mi-plan-card__upgrade--down:focus-visible {
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink, #0f172a);
      box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
    }
    .mi-plan-card__badge--pending {
      background: var(--bd-warn-600, #d97706);
      color: var(--bd-on-solid, #fff);
    }
    .mi-plan-pending-banner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 16px;
      padding: 12px 14px;
      border-radius: var(--bd-radius-lg, 14px);
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-ink, #0f172a);
    }
    .mi-plan-pending-banner.hidden {
      display: none;
    }
    .mi-plan-pending-banner__txt {
      margin: 0;
      flex: 1 1 16rem;
      line-height: 1.45;
      font-size: 0.92rem;
    }
    .mi-plan-downgrade-panel__foot {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 12px 16px 16px;
      border-top: 1px solid var(--bd-n-200, #dce3df);
    }
    .mi-plan-downgrade-panel__foot .btn {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
      white-space: normal;
      line-height: 1.25;
      text-align: center;
    }
    .mi-plan-downgrade-now {
      border-color: var(--bd-warn-400, #fbbf24);
      color: var(--bd-ink, #0f172a);
    }
    #msg-mi-plan-downgrade {
      margin: 0 16px 14px;
    }
    #msg-mi-plan-upgrade {
      margin: 0 16px 14px;
    }
    .mi-plan-upgrade-facts {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 8px;
    }
    .mi-plan-upgrade-facts li {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-50, #f8fafc);
      font-size: 0.88rem;
    }
    .mi-plan-upgrade-facts li span {
      color: var(--bd-ink-soft, #64748b);
    }
    .mi-plan-upgrade-facts li strong {
      color: var(--bd-ink, #0f172a);
      font-weight: 700;
      text-align: right;
    }
    .mi-plan-upgrade-facts__total {
      border-color: var(--bv-g-047857, #047857) !important;
      background: var(--bv-g-ecfdf5, #ecfdf5) !important;
    }
    .mi-plan-upgrade-facts__total strong {
      color: var(--bv-g-047857, #047857) !important;
      font-size: 1.05rem;
    }
    #mi-plan-upgrade-modal.modal-overlay {
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--bd-modal-scrim, rgba(255, 255, 255, 0.72));
      backdrop-filter: var(--bd-modal-scrim-blur, blur(12px) saturate(1.4));
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur, blur(12px) saturate(1.4));
    }
    #mi-plan-upgrade-modal.modal-overlay.hidden {
      display: none;
    }
    .mi-plan-card__name {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1.25;
      color: var(--bd-ink, var(--text));
    }
    .mi-plan-card__price {
      margin: 0;
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--bd-ink, var(--text));
    }
    .mi-plan-card__price span {
      display: block;
      margin-top: 2px;
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--bd-ink-soft, var(--muted));
      text-align: center;
    }
    .mi-plan-card__note--trial {
      margin-top: 6px !important;
      font-weight: 700 !important;
      color: var(--c-naranja-600) !important;
      text-align: center;
    }
    .mi-plan-card__modules {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 8px;
      flex: 1;
      width: 100%;
    }
    .mi-plan-mod {
      position: relative;
      min-height: 52px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 10px 8px;
      border-radius: var(--bd-radius-md, 10px);
      border: 1px solid var(--bd-n-200, var(--border));
      background: var(--bd-n-50, #f8fafc);
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--bd-ink, var(--text));
      line-height: 1.25;
      text-align: center;
    }
    .mi-plan-mod--new {
      border-color: var(--bv-g-047857, #047857);
      background: var(--c-verde-50d);
    }
    .mi-plan-mod__ico-wrap {
      position: relative;
      width: 22px;
      height: 22px;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .mi-plan-mod__new {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1;
      width: 20px;
      height: 20px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.85rem;
      font-weight: 800;
      line-height: 1;
      color: var(--c-blanco);
      background: var(--bv-g-047857, #047857);
      border: 1.5px solid var(--c-blanco);
      box-shadow: 0 1px 4px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.35);
      pointer-events: none;
    }
    .mi-plan-mod__ico {
      width: 22px;
      height: 22px;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      flex: 0 0 auto;
    }
    .mi-plan-mod--new .mi-plan-mod__ico {
      opacity: 0.35;
    }
    .mi-plan-mod__ico svg {
      width: 22px;
      height: 22px;
      display: block;
    }
    .mi-plan-mod__txt {
      display: block;
    }
    .mi-plan-mod--empty {
      border-style: dashed;
      background: transparent;
      color: var(--bd-ink-soft, var(--muted));
      font-weight: 500;
    }
    .mi-plan-mod--empty .mi-plan-mod__ico {
      color: var(--bd-ink-soft, var(--muted));
    }
    .mi-plan-card__badge--offer {
      background: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    .mi-plan-card--offer {
      opacity: 1;
    }
    .mi-plan-grid--picker {
      margin-top: 8px;
    }
    @media (max-width: 900px) {
      .mi-plan-grid--picker { grid-template-columns: 1fr; }
    }
    #panel-mi-plan .mi-plan-panel-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }
    #panel-mi-plan .mi-plan-panel-head > h2 {
      margin: 0;
    }
    #msg-mi-plan-pay {
      margin: 0 0 8px;
      width: 100%;
    }

    /* Developer — Planes y cobros */
    .dev-pc-card {
      margin: 0 0 18px;
      padding: 16px;
      border-radius: var(--bd-radius-lg, 14px);
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
    }
    .dev-pc-card__head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 12px;
    }
    .dev-pc-card__head h3 {
      margin: 0;
      font-size: 1.02rem;
      font-weight: 700;
      color: var(--bd-ink, #0f172a);
    }
    #panel-dev-plataforma .gv-head-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
    }
    #panel-dev-plataforma .gv-head-actions .btn {
      width: auto !important;
      height: 40px;
      min-height: 40px;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
    }
    .dev-pc-stripe-status {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-50, #f8fafc);
    }
    .dev-pc-stripe-pill {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 700;
      background: var(--c-gris-50d);
      color: var(--c-gris-700);
      border: 1px solid var(--c-gris-100d);
    }
    .dev-pc-stripe-status.is-on .dev-pc-stripe-pill {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-a7f3d0, #a7f3d0);
    }
    .dev-pc-stripe-help {
      margin: 0 0 14px;
      padding-left: 1.2rem;
      max-width: 52rem;
      line-height: 1.45;
      color: var(--bd-ink-soft, #334155);
      font-size: 0.88rem;
    }
    .dev-pc-stripe-help code {
      font-size: 0.82em;
    }
    #panel-dev-facturacion.active,
    #panel-dev-envios.active {
      overflow: visible;
    }
    #panel-dev-envios .dev-envios-steps {
      margin: 0;
      padding-left: 1.2rem;
      max-width: 56rem;
      line-height: 1.5;
      color: var(--bd-ink, #0f172a);
    }
    #panel-dev-envios .dev-envios-steps li + li {
      margin-top: 8px;
    }
    #panel-dev-envios .dev-envios-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      max-width: 52rem;
    }
    #panel-dev-envios .dev-envios-grid__wide,
    #panel-dev-envios .dev-envios-check {
      grid-column: 1 / -1;
    }
    #panel-dev-envios .dev-envios-check {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--bd-ink, #0f172a);
      font-size: 0.9rem;
    }
    #panel-dev-envios .dev-envios-check input {
      width: 18px;
      height: 18px;
      margin: 0;
    }
    #panel-dev-envios .dev-pc-stripe-pill.is-ready {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
      border-color: var(--bv-g-a7f3d0, #a7f3d0);
    }
    @media (max-width: 720px) {
      #panel-dev-envios .dev-envios-grid {
        grid-template-columns: 1fr;
      }
    }
    #panel-dev-facturacion #dev-fact-table.admin-data-wrap {
      overflow-x: auto;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      max-height: calc((100dvh * var(--bardev-panel-scale-inv, 1)) - 280px);
    }
    #panel-dev-facturacion .gv-head-actions .btn,
    #panel-dev-envios .gv-head-actions .btn,
    #panel-dev-distribuidores .gv-head-actions .btn {
      width: auto !important;
      height: 40px;
      min-height: 40px;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
    }
    #panel-dev-facturacion .gv-head-actions .btn svg,
    #panel-dev-envios .gv-head-actions .btn svg,
    #panel-dev-distribuidores .gv-head-actions .btn svg {
      flex: 0 0 auto;
    }
    .dev-plat-fiscal-form {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      max-width: 720px;
    }
    .dev-plat-fact-table th,
    .dev-plat-fact-table td {
      vertical-align: middle;
      text-align: left;
    }
    .dev-plat-fact-table .dev-plat-fact-cell-center {
      text-align: center;
    }
    .dev-plat-fact-actions {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .dev-plat-fact-actions .btn {
      width: auto;
      height: 40px;
    }
    .dev-plat-fact-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 700;
    }
    .dev-plat-fact-pill.is-paid {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-047857, #047857);
      border: 1px solid var(--bv-g-a7f3d0, #a7f3d0);
    }
    .dev-plat-fact-pill.is-unpaid {
      background: var(--c-naranja-50);
      color: var(--c-naranja-600);
      border: 1px solid var(--c-naranja-150);
    }
    .dev-plat-fact-pill.is-cancel {
      background: var(--c-gris-50d);
      color: var(--c-gris-700);
      border: 1px solid var(--c-gris-100d);
    }
    .dev-fact-track {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 3px;
      pointer-events: none;
      user-select: none;
    }
    .dev-fact-track-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 32px;
      padding: 0 10px;
      border-radius: 8px;
      border: 1px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.01em;
      white-space: nowrap;
    }
    .dev-fact-track-badge.is-stack {
      flex-direction: column;
      height: auto;
      min-height: 32px;
      padding: 6px 10px;
      gap: 3px;
      white-space: normal;
    }
    .dev-fact-track-badge.is-paid,
    .dev-fact-track-badge.is-ok,
    .dev-fact-track-badge.is-invoiced {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .dev-fact-track-badge.is-shipped,
    .dev-fact-track-badge.is-ready,
    .dev-fact-track-badge.is-prep,
    .dev-fact-track-badge.is-new {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .dev-fact-track-hint {
      display: block;
      width: 100%;
      text-align: center;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      color: var(--bd-warn-ink, #b45309);
      line-height: 1.2;
    }
    .dev-fact-track-steps {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      margin: 4px 0 0;
      padding: 0;
      list-style: none;
    }
    .dev-fact-track-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      flex: 0 0 7px;
    }
    .dev-fact-track-dot.is-done {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .dev-fact-track-dot.is-todo {
      background: var(--bd-danger-500, #dc2626);
    }
    @media (max-width: 720px) {
      .dev-plat-fiscal-form {
        grid-template-columns: 1fr;
      }
    }
    .dev-pc-billing-row {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 12px;
    }
    .dev-pc-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      width: 100%;
    }
    .dev-pc-field input,
    .dev-pc-field textarea {
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink, #0f172a);
      font: inherit;
    }
    .dev-pc-field textarea {
      min-height: 120px;
      resize: vertical;
    }
    .dev-pc-month-total {
      margin-left: auto;
      padding: 8px 12px;
      border-radius: 10px;
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border: 1px solid rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28);
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 160px;
    }
    .dev-pc-month-total strong {
      font-size: 1.05rem;
      color: var(--bv-g-047857, #047857);
    }
    .dev-pc-plans-editor {
      display: grid;
      gap: 14px;
    }
    .dev-pc-plan-edit {
      padding: 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-50, #f8fafc);
    }
    .dev-pc-plan-edit__title {
      margin: 0 0 10px;
      font-size: 0.95rem;
    }
    .dev-pc-plan-edit__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 14px;
      align-items: start;
    }
    .dev-pc-field--left {
      grid-column: 1;
    }
    .dev-pc-field--right {
      grid-column: 2;
    }
    @media (max-width: 720px) {
      .dev-pc-plan-edit__grid { grid-template-columns: 1fr; }
      .dev-pc-field--left,
      .dev-pc-field--right { grid-column: 1; }
      .dev-pc-month-total { margin-left: 0; width: 100%; }
    }
    .dev-pc-tree {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .dev-pc-plan,
    .dev-pc-tenant {
      border: 1px solid rgba(15, 23, 42, 0.1);
      border-radius: 10px;
      background: var(--c-blanco);
      overflow: hidden;
    }
    .dev-pc-plan__sum,
    .dev-pc-tenant__sum {
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px;
      font-weight: 700;
      color: var(--c-azul-900b);
      user-select: none;
    }
    .dev-pc-plan__sum::-webkit-details-marker,
    .dev-pc-tenant__sum::-webkit-details-marker { display: none; }
    .dev-pc-plan__sum::before,
    .dev-pc-tenant__sum::before {
      content: '▸';
      color: var(--bv-g-047857, #047857);
      margin-right: 6px;
      transition: transform 0.15s ease;
      flex: 0 0 auto;
    }
    .dev-pc-plan[open] > .dev-pc-plan__sum::before,
    .dev-pc-tenant[open] > .dev-pc-tenant__sum::before {
      transform: rotate(90deg);
    }
    .dev-pc-plan__meta {
      font-weight: 600;
      font-size: 0.82rem;
      color: var(--c-pizarra-550);
    }
    .dev-pc-plan__body {
      padding: 0 10px 10px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .dev-pc-tenant__sum {
      font-size: 0.9rem;
      color: var(--bv-g-047857, #047857);
      background: var(--c-gris-50f);
    }
    .dev-pc-tenant__pays {
      padding: 0 10px 10px;
    }
    .dev-pc-pay-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .dev-pc-pay-item {
      display: grid;
      grid-template-columns: 1fr auto auto;
      gap: 8px;
      align-items: baseline;
      padding: 7px 8px;
      border-radius: 8px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      background: var(--c-gris-50f);
      font-size: 0.8rem;
    }
    .dev-pc-pay-item__amt {
      font-weight: 700;
      color: var(--bv-g-047857, #047857);
      white-space: nowrap;
    }
    .dev-pc-pay-item__st {
      text-transform: uppercase;
      font-size: 0.7rem;
      font-weight: 700;
      color: var(--c-pizarra-550);
    }
    .dev-pc-pay-item__st--paid { color: var(--bv-g-047857, #047857); }
    .dev-pc-pay-item__st--failed { color: var(--c-rojo-600); }
    .dev-pc-more {
      margin-top: 8px;
      height: 36px !important;
      min-height: 36px !important;
      width: auto !important;
    }
    .dev-pc-empty {
      margin: 0;
      padding: 6px 2px;
    }

    /* Visita guiada: ventana flotante (no bloquea el panel) */
    .vg-root.hidden { display: none !important; }
    .vg-root {
      position: fixed;
      inset: 0;
      z-index: 20100;
      display: block;
      padding: 0;
      margin: 0;
      pointer-events: none;
      background: none;
      overflow: visible;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .vg-spot {
      position: fixed;
      pointer-events: none;
      z-index: 20101;
      box-sizing: border-box;
      border: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      background: transparent;
      animation: vg-halo-pulse 1.35s ease-in-out infinite;
      box-shadow:
        0 0 0 4px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.28),
        0 0 22px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.45),
        0 0 0 9999px rgba(15, 23, 42, 0.25);
    }

    /* Developer → Tienda Barveo: tienda pública de barveo.app/tienda (ajustes y pedidos, panel-core.js devTiendaPublica* / devTiendaPedido*) */
    #panel-dev-tienda-barveo .gv-head-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      max-width: 100%;
    }
    #panel-dev-tienda-barveo .gv-head-actions .btn,
    #panel-dev-tienda-barveo .dev-tienda-publica__acciones .btn {
      width: auto !important;
      height: 40px;
      min-height: 40px;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
    }
    #panel-dev-tienda-barveo .gv-head-actions .btn svg {
      flex: 0 0 auto;
    }
    /* Título de la tarjeta con el icono de Barveo Store (assets/barveo-store-icono.png, fondo transparente). */
    .dev-tienda-barveo__titulo {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .dev-tienda-barveo__titulo img {
      flex: 0 0 auto;
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: var(--c-hueso, #f4f2ed);
    }
    .dev-tienda-pedidos-estado {
      height: 40px;
      max-width: 100%;
      box-sizing: border-box;
      padding: 0 10px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      font: inherit;
    }
    .dev-tienda-publica__estado {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 12px;
    }
    .dev-tienda-publica__form {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      max-width: 40rem;
    }
    #dev-tienda-plazos-form { margin-top: 20px; }
    .dev-tienda-publica__sub,
    #dev-tienda-plazos-form > .sub { grid-column: 1 / -1; margin: 0; }
    .dev-tienda-publica__check,
    .dev-tienda-publica__acciones {
      grid-column: 1 / -1;
    }
    .dev-tienda-publica__check {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--bd-ink);
      font-size: 0.92rem;
      font-weight: 600;
      letter-spacing: normal;
      text-transform: none;
    }
    .dev-tienda-publica__check input {
      width: 18px;
      height: 18px;
      margin: 0;
    }
    .dev-tienda-publica__acciones {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    @media (max-width: 720px) {
      .dev-tienda-publica__form {
        grid-template-columns: 1fr;
      }
    }
    .dev-tienda-pill,
    .dev-tienda-estado {
      display: inline-flex;
      align-items: center;
      min-height: 24px;
      padding: 0 9px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
      color: var(--bd-ink-soft);
      font-size: 0.74rem;
      font-weight: 700;
      white-space: nowrap;
    }
    .dev-tienda-pill.is-ok,
    .dev-tienda-estado.is-pagado,
    .dev-tienda-estado.is-preparando,
    .dev-tienda-estado.is-enviado,
    .dev-tienda-estado.is-entregado {
      background: var(--bd-g-50);
      border-color: var(--bd-g-200);
      color: var(--bd-g-800);
    }
    .dev-tienda-pill.is-warn,
    .dev-tienda-estado.is-pendiente_pago {
      background: var(--bd-warn-bg);
      border-color: var(--bd-warn-bd);
      color: var(--bd-warn-fg);
    }
    .dev-tienda-pill.is-danger {
      background: var(--bd-danger-bg);
      border-color: var(--bd-danger-bd);
      color: var(--bd-danger-fg);
    }
    .dev-tienda-pedidos-table td {
      vertical-align: top;
    }
    .dev-tienda-pedidos-table .dev-tienda-pedido__nowrap {
      white-space: nowrap;
    }
    .dev-tienda-pedido__cliente {
      min-width: 11rem;
    }
    .dev-tienda-pedido__acciones-celda {
      min-width: 12rem;
      max-width: 17rem;
    }
    .dev-tienda-pedido__estado {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }
    .dev-tienda-pedido__sub {
      display: block;
      font-size: 0.78rem;
      color: var(--bd-ink-soft);
      overflow-wrap: anywhere;
    }
    .dev-tienda-pedido__lineas {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .dev-tienda-pedido__falta {
      margin-top: 4px;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--bd-warn-fg);
    }
    .dev-tienda-pedido__direccion {
      min-width: 12rem;
      max-width: 18rem;
      overflow-wrap: anywhere;
    }
    /* Aquí hay botones con texto y deben bajar de línea: gana al nowrap !important de panel-ds.css para la última columna. */
    #panel-dev-tienda-barveo .dev-tienda-pedidos-table td .table-row-actions.dev-tienda-pedido__acciones {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center;
      gap: 6px !important;
    }
    .dev-tienda-pedido__acciones .btn.dev-tienda-pedido__accion {
      width: auto;
      height: 36px;
      min-height: 36px;
      padding: 0 10px;
      white-space: nowrap;
    }
    .dev-tienda-pedido__acciones .btn.dev-tienda-pedido__accion.is-peligro {
      color: var(--bd-danger-fg);
      border-color: var(--bd-danger-bd);
    }
    .dev-tienda-pedido__nota {
      margin-top: 6px;
      max-width: 16rem;
      font-size: 0.78rem;
      color: var(--bd-ink-soft);
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }
    #dev-tienda-pedido-modal .pedidos-detail-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 12px;
    }
    #dev-tienda-pedido-modal .pedidos-detail-head h3 {
      margin: 0;
    }
    #dev-tienda-pedido-modal .pedidos-detail-foot {
      margin-top: 4px;
    }
    #dev-tienda-pedido-modal textarea {
      width: 100%;
      min-height: 120px;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      font: inherit;
      resize: vertical;
    }

    /* Developer → Tienda Barveo: beneficio del periodo (panel-core.js devTiendaBeneficio*) */
    .dev-tienda-beneficio__fecha {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin: 0;
      color: var(--bd-ink-soft);
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: normal;
      text-transform: none;
    }
    .dev-tienda-beneficio__fecha input {
      height: 40px;
      box-sizing: border-box;
      padding: 0 10px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      font: inherit;
    }
    .dev-tienda-beneficio__periodo {
      margin: 0 0 10px;
    }
    .dev-tienda-beneficio__kpis {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
      gap: 10px;
      margin: 0 0 12px;
    }
    .dev-tienda-beneficio__kpi {
      display: flex;
      flex-direction: column;
      gap: 2px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
      min-width: 0;
    }
    .dev-tienda-beneficio__kpi span,
    .dev-tienda-beneficio__kpi small {
      color: var(--bd-ink-soft);
      font-size: 0.78rem;
    }
    .dev-tienda-beneficio__kpi strong {
      color: var(--bd-ink);
      font-size: 1.15rem;
      font-variant-numeric: tabular-nums;
    }
    .dev-tienda-beneficio__kpi.is-beneficio {
      background: var(--bd-g-50);
      border-color: var(--bd-g-200);
    }
    .dev-tienda-beneficio__kpi.is-beneficio strong,
    .dev-tienda-beneficio strong.is-beneficio {
      color: var(--bd-g-800);
    }
    .dev-tienda-beneficio__kpi.is-perdida {
      background: var(--bd-danger-bg);
      border-color: var(--bd-danger-bd);
    }
    .dev-tienda-beneficio__kpi.is-perdida strong,
    .dev-tienda-beneficio strong.is-perdida,
    .dev-tienda-beneficio-table td.is-perdida strong {
      color: var(--bd-danger-fg);
    }
    .dev-tienda-beneficio__avisos {
      margin: 0 0 14px;
      padding: 10px 12px 10px 28px;
      border-radius: 12px;
      border: 1px solid var(--bd-warn-bd);
      background: var(--bd-warn-bg);
      color: var(--bd-warn-fg);
      font-size: 0.85rem;
      line-height: 1.45;
    }
    .dev-tienda-beneficio__sub {
      margin: 18px 0 8px;
      font-size: 0.95rem;
    }
    .dev-tienda-beneficio__barberia {
      margin: 0 0 8px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
    }
    .dev-tienda-beneficio__barberia > summary {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 12px;
      padding: 10px 12px;
      cursor: pointer;
    }
    .dev-tienda-beneficio__nombre {
      font-weight: 700;
      color: var(--bd-ink);
      overflow-wrap: anywhere;
    }
    .dev-tienda-beneficio__resumen {
      flex: 1 1 12rem;
      color: var(--bd-ink-soft);
      font-size: 0.85rem;
    }
    .dev-tienda-beneficio__barberia > summary strong {
      font-variant-numeric: tabular-nums;
    }
    .dev-tienda-beneficio__barberia .dev-tienda-beneficio__tabla {
      padding: 0 12px 12px;
    }
    .dev-tienda-beneficio__tabla {
      max-width: 100%;
      overflow-x: auto;
    }
    .dev-tienda-beneficio-table td {
      vertical-align: top;
    }
    /* Cabeceras y datos pegados a la izquierda: con los números a la derecha cada título quedaba lejos de su columna. */
    .dev-tienda-beneficio-table th,
    .dev-tienda-beneficio-table td {
      text-align: left;
    }
    .dev-tienda-beneficio-table .dev-tienda-beneficio__num {
      white-space: nowrap;
      font-variant-numeric: tabular-nums;
    }
    .dev-tienda-beneficio__filtros {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 10px 14px;
      margin: 0 0 14px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-50);
    }
    .dev-tienda-beneficio__filtros[hidden] {
      display: none;
    }
    .dev-tienda-beneficio__filtro {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0;
      min-width: 0;
      color: var(--bd-ink-soft);
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: normal;
      text-transform: none;
    }
    .dev-tienda-beneficio__filtro select {
      height: 40px;
      max-width: 16rem;
      box-sizing: border-box;
      padding: 0 10px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200);
      background: var(--bd-n-0);
      color: var(--bd-ink);
      font: inherit;
    }
    .dev-tienda-beneficio__filtro--check {
      flex-direction: row;
      align-items: center;
      height: 40px;
    }
    .dev-tienda-beneficio__filtrado {
      margin: 0 0 8px;
    }
    .dev-tienda-beneficio-table tr.is-no-cuenta td {
      color: var(--bd-ink-soft);
    }
    /*
     * Colores de la visita guiada: los tokens del tema (titular, 12-10-2026: «la visita guiada con los verdes
     * corregidos al tema»). Sin tema (Barveo Original) valen los respaldos, que son sus propios tokens; con tema,
     * --bv-* los sustituye; en los temas oscuros 36-temas.css pone además las superficies. Las ilustraciones se viran
     * al matiz del acento en panel-visita-guiada.js.
     */
    html {
      --vg-acento: var(--bv-primary, #c8463d);
      --vg-acento-hover: var(--bv-primary-hover, #aa342d);
      --vg-acento-rgb: var(--bv-rgb-primary, 200, 70, 61);
      --vg-suave: var(--bv-primary-soft, #f5e3df);
      --vg-suave-texto: var(--bv-primary-soft-text, #aa342d);
      --vg-borde: var(--bv-border, #dadcde);
      --vg-tinte: color-mix(in srgb, var(--bv-primary, #c8463d) 24%, var(--bv-surface, #ffffff));
      --vg-sutil: var(--bv-surface-subtle, #e9e6de);
    }
    .vg-spot-clip {
      overflow: hidden !important;
    }
    .vg-spot.hidden {
      display: none !important;
      animation: none;
    }
    body.bardev-vg-open .nav-group.vg-nav-section,
    body.bardev-vg-open .nav-group__toggle.vg-nav-section-toggle,
    body.bardev-vg-open .btn.nav-item.vg-nav-sub {
      position: relative;
      z-index: 20112;
    }
    body.bardev-vg-open .nav-group__toggle.vg-nav-section-toggle {
      background: var(--vg-suave);
      color: var(--vg-acento-hover);
      box-shadow: 0 0 0 2px var(--vg-acento);
    }
    body.bardev-vg-open .btn.nav-item.vg-nav-sub {
      background: var(--vg-suave) !important;
      color: var(--vg-suave-texto) !important;
      box-shadow:
        0 0 0 2px var(--vg-acento),
        0 0 14px rgba(var(--vg-acento-rgb), 0.35);
    }
    .vg-nav-arrow {
      position: fixed;
      z-index: 20120;
      width: 28px;
      height: 28px;
      margin-top: -14px;
      pointer-events: none;
      color: var(--vg-acento);
      filter: drop-shadow(0 0 1px var(--c-blanco)) drop-shadow(0 1px 4px rgba(255, 255, 255, 0.9));
      animation: vg-nav-arrow-nudge 0.75s ease-in-out infinite;
    }
    .vg-nav-arrow svg {
      display: block;
      width: 100%;
      height: 100%;
    }
    .vg-nav-arrow.hidden {
      display: none !important;
      animation: none;
    }
    @keyframes vg-nav-arrow-nudge {
      0%, 100% { transform: translateX(0); }
      50% { transform: translateX(-7px); }
    }
    @media (prefers-reduced-motion: reduce) {
      .vg-nav-arrow { animation: none; }
    }
    .vg-spot-alt {
      pointer-events: none;
      position: fixed;
      left: 16px;
      top: auto;
      right: auto;
      bottom: auto;
      z-index: 20120;
      max-width: min(420px, calc(100vw - 32px));
      padding: 10px 14px 8px;
      border-radius: 14px;
      border: 1px solid var(--vg-tinte);
      background: var(--vg-suave);
      color: var(--vg-suave-texto);
      box-shadow: var(--bd-shadow-lg, 0 18px 40px rgba(15, 23, 42, 0.18));
      box-sizing: border-box;
      overflow: hidden;
    }
    .vg-spot-alt.hidden {
      display: none !important;
    }
    .vg-spot-alt__kicker {
      margin: 0 0 4px;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--vg-acento-hover);
    }
    .vg-spot-alt__title {
      margin: 0;
      font-size: 0.98rem;
      font-weight: 800;
      line-height: 1.25;
      color: var(--bd-ink, #0f172a);
    }
    .vg-spot-alt__copy {
      margin: 6px 0 0;
      font-size: 0.86rem;
      font-weight: 500;
      line-height: 1.35;
      color: var(--bd-ink-soft, #334155);
    }
    .vg-spot-alt__copy.hidden {
      display: none !important;
    }
    .vg-spot-alt__nav {
      pointer-events: auto;
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      gap: 6px;
      margin-top: 10px;
    }
    .vg-spot-alt__nav.hidden {
      display: none !important;
    }
    #bardev-vg-spot-alt .vg-spot-alt__btn,
    #bardev-vg-spot-alt .vg-spot-alt__btn--pause,
    #bardev-vg-spot-alt .vg-spot-alt__btn--next {
      box-sizing: border-box !important;
      flex: 0 0 36px !important;
      width: 36px !important;
      height: 36px !important;
      min-width: 36px !important;
      max-width: 36px !important;
      min-height: 36px !important;
      max-height: 36px !important;
      padding: 0 !important;
      margin: 0 !important;
      border-radius: 10px !important;
      border: 1px solid var(--bd-n-200, #d1d5db) !important;
      background: var(--bd-n-0, #fff) !important;
      color: var(--bd-ink, #0f172a) !important;
      box-shadow: none !important;
      appearance: none !important;
      -webkit-appearance: none !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      position: relative !important;
      z-index: 2;
      cursor: pointer;
      touch-action: manipulation;
    }
    #bardev-vg-spot-alt .vg-spot-alt__btn > *,
    #bardev-vg-spot-alt .vg-spot-alt__btn svg,
    #bardev-vg-spot-alt .vg-spot-alt__btn path,
    #bardev-vg-spot-alt .vg-spot-alt__btn polyline,
    #bardev-vg-spot-alt .vg-spot-alt__btn polygon,
    #bardev-vg-spot-alt .vg-spot-alt__btn rect,
    #bardev-vg-spot-alt .vg-spot-alt__btn line,
    #bardev-vg-spot-alt .vg-spot-alt__btn circle {
      pointer-events: none !important;
    }
    #bardev-vg-spot-alt .vg-spot-alt__btn::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 3;
    }
    #bardev-vg-spot-alt .vg-spot-alt__btn:disabled {
      opacity: 0.4;
      cursor: default;
    }
    #bardev-vg-spot-alt .vg-spot-alt__btn:hover:not(:disabled),
    #bardev-vg-spot-alt .vg-spot-alt__btn--pause.is-paused {
      border-color: var(--vg-acento) !important;
      background: var(--vg-suave) !important;
      color: var(--vg-acento-hover) !important;
    }
    .vg-spot-alt__btn .vg-btn__ico,
    .vg-spot-alt__btn .vg-btn__ico svg {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
    }
    .vg-spot-alt__skip-row {
      pointer-events: auto;
      position: absolute;
      right: 8px;
      bottom: 8px;
      z-index: 3;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
    }
    .vg-spot-alt__skip-row.hidden {
      display: none !important;
    }
    .vg-spot-alt__skip {
      pointer-events: auto;
      position: relative;
      right: auto;
      bottom: auto;
      z-index: 3;
      box-sizing: border-box;
      width: 36px;
      height: 36px;
      min-width: 36px;
      min-height: 36px;
      padding: 0;
      margin: 0;
      border: none;
      border-radius: 50%;
      background: var(--vg-acento);
      color: var(--bd-on-solid, #fff);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: var(--bd-shadow-md, 0 8px 18px rgba(var(--vg-acento-rgb), 0.28));
      touch-action: manipulation;
    }
    .vg-spot-alt__skip.hidden {
      display: none !important;
    }
    .vg-spot-alt__skip:hover:not(:disabled) {
      background: var(--vg-acento-hover);
    }
    .vg-spot-alt__skip:disabled {
      opacity: 0.4;
      cursor: default;
    }
    .vg-spot-alt__skip--side {
      background: var(--bd-n-0, #fff);
      color: var(--vg-acento-hover);
      border: 1px solid var(--vg-tinte);
      box-shadow: none;
    }
    .vg-spot-alt__skip--side:hover:not(:disabled) {
      background: var(--vg-suave);
      border-color: var(--vg-acento);
      color: var(--vg-suave-texto);
    }
    .vg-spot-alt__skip--side.is-paused {
      background: var(--vg-acento);
      border-color: var(--vg-acento);
      color: var(--bd-on-solid, #fff);
    }
    .vg-spot-alt__skip .vg-btn__ico,
    .vg-spot-alt__skip .vg-btn__ico svg,
    .vg-spot-alt__skip svg {
      width: 18px;
      height: 18px;
      display: block;
      pointer-events: none;
    }
    .vg-spot-alt__timer {
      position: relative;
      left: auto;
      right: auto;
      bottom: auto;
      height: auto;
      min-height: 44px;
      margin: 10px 0 -8px;
      padding: 6px 128px 8px 0;
      background: transparent;
      overflow: hidden;
      pointer-events: none;
    }
    .vg-spot-alt__timer.hidden {
      display: none !important;
    }
    .vg-spot-alt__timer-txt {
      margin: 0 0 4px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--vg-acento-hover);
    }
    .vg-spot-alt__timer-track {
      height: 4px;
      border-radius: 2px;
      background: var(--vg-tinte);
      overflow: hidden;
    }
    .vg-spot-alt__timer-bar {
      height: 100%;
      width: 100%;
      background: var(--vg-acento);
      transform-origin: left center;
      transform: scaleX(1);
    }
    @keyframes vg-spot-timer-drain {
      from { transform: scaleX(1); }
      to { transform: scaleX(0); }
    }
    @keyframes vg-halo-pulse {
      0%,
      100% {
        box-shadow:
          0 0 0 3px rgba(var(--vg-acento-rgb), 0.45),
          0 0 14px rgba(var(--vg-acento-rgb), 0.35),
          0 0 0 9999px rgba(15, 23, 42, 0.25);
      }
      50% {
        box-shadow:
          0 0 0 10px rgba(var(--vg-acento-rgb), 0.08),
          0 0 28px rgba(var(--vg-acento-rgb), 0.5),
          0 0 0 9999px rgba(15, 23, 42, 0.25);
      }
    }
    .vg-card {
      pointer-events: auto;
      position: fixed;
      width: 50vw;
      height: 50vh;
      min-width: min(580px, calc(100vw - 24px));
      min-height: 300px;
      max-width: calc(100vw - 24px);
      max-height: calc(100vh - 24px);
      right: 16px;
      bottom: 16px;
      left: auto;
      top: auto;
      display: flex;
      flex-direction: column;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      border: 2px solid var(--vg-borde);
      border-radius: 18px;
      box-shadow: var(--bd-shadow-lg, 0 18px 40px rgba(15, 23, 42, 0.18));
      z-index: 20102;
      overflow: hidden;
      transform: none;
      box-sizing: border-box;
      container-type: size;
    }
    .vg-card.vg-card--dragging {
      user-select: none;
    }
    .vg-root.vg-root--min .vg-card {
      display: none !important;
    }
    .vg-card__head {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      padding: 8px 10px 8px 12px;
      flex-shrink: 0;
      background: var(--vg-suave);
      cursor: grab;
      user-select: none;
      touch-action: none;
      border-bottom: 1px solid var(--vg-borde);
    }
    .vg-card__head.is-dragging,
    .vg-card--dragging .vg-card__head {
      cursor: grabbing;
    }
    .vg-card__head-btns,
    .vg-card__head-btns button {
      cursor: pointer;
    }
    .vg-card__brand {
      display: inline-flex;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      color: var(--vg-acento);
    }
    .vg-card__brand svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .vg-card__head-btns {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-left: auto;
      flex-shrink: 0;
    }
    .vg-min-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      padding: 0;
      border: 1px solid var(--bd-n-200, #d1d5db);
      border-radius: 999px;
      background: var(--bd-n-0, #fff);
      color: var(--vg-acento-hover);
      cursor: pointer;
    }
    .vg-min-btn:hover {
      border-color: var(--vg-acento);
      background: var(--vg-suave);
    }
    .vg-min-btn svg {
      width: 14px;
      height: 14px;
      display: block;
    }
    .vg-card__resize {
      position: absolute;
      right: 4px;
      bottom: 4px;
      width: 18px;
      height: 18px;
      cursor: nwse-resize;
      touch-action: none;
      opacity: 0.55;
      background: linear-gradient(135deg, transparent 50%, var(--vg-acento) 50%);
      border-radius: 2px;
      z-index: 2;
    }
    .vg-dock-stack {
      pointer-events: none;
      position: fixed;
      z-index: 20110;
      right: 16px;
      bottom: 16px;
      left: auto;
      top: auto;
      display: none;
      flex-direction: column;
      align-items: flex-end;
      gap: 6px;
    }
    .vg-root.vg-root--min .vg-dock-stack {
      display: flex;
    }
    .vg-dock-stack.hidden {
      display: none !important;
    }
    .vg-dock-close {
      pointer-events: auto;
      box-sizing: border-box;
      width: 32px !important;
      height: 32px !important;
      min-width: 32px !important;
      min-height: 32px !important;
      padding: 0 !important;
      margin: 0 4px 2px 0 !important;
      border-radius: 999px !important;
      border: 1px solid var(--vg-tinte) !important;
      background: var(--vg-suave) !important;
      background-color: var(--vg-suave) !important;
      color: var(--vg-acento-hover) !important;
      opacity: 1 !important;
      font-size: 20px !important;
      line-height: 1 !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14);
    }
    .vg-dock-close:hover {
      background: var(--vg-tinte) !important;
      background-color: var(--vg-tinte) !important;
      border-color: var(--vg-acento) !important;
      color: var(--vg-suave-texto) !important;
    }
    .vg-dock {
      pointer-events: auto;
      position: relative;
      z-index: 1;
      width: 56px;
      height: 56px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 2px solid var(--vg-acento-hover);
      border-radius: 999px;
      background: var(--vg-acento);
      color: var(--bd-on-solid, #fff);
      box-shadow: var(--bd-shadow-lg, 0 18px 40px rgba(15, 23, 42, 0.18));
      cursor: pointer;
      transform: none !important;
    }
    .vg-root.vg-root--min .vg-dock {
      display: inline-flex;
    }
    .vg-dock.hidden {
      display: none !important;
    }
    .vg-dock:hover {
      background: var(--vg-acento-hover);
      border-color: var(--vg-acento-hover);
    }
    .vg-dock:focus-visible {
      outline: 2px solid var(--vg-acento);
      outline-offset: 2px;
    }
    .vg-dock svg {
      width: 26px;
      height: 26px;
      display: block;
    }
    .vg-card__kicker {
      margin: 0;
      font-size: 0.72rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--vg-acento-hover);
      font-weight: 700;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .vg-card__body {
      padding: 10px 12px 8px;
      overflow: auto;
      overflow-anchor: none;
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      background: var(--vg-suave);
    }
    .vg-split {
      display: grid;
      grid-template-columns: minmax(120px, 0.95fr) minmax(160px, 1.05fr);
      gap: 14px;
      align-items: stretch;
      width: 100%;
      flex: 1 1 auto;
      min-height: 0;
    }
    .vg-art {
      margin: 0;
      border-radius: 18px;
      overflow: hidden;
      background: var(--vg-sutil);
      min-height: 0;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .vg-art__img {
      display: block;
      width: 100%;
      height: 100%;
      max-height: none;
      object-fit: contain;
    }
    .vg-art__img[hidden] { display: none !important; }
    .vg-art__ph {
      padding: 18px;
      align-items: center;
      justify-content: center;
    }
    .vg-art__ph[hidden] { display: none !important; }
    .vg-art__ph:not([hidden]) { display: flex; }
    .vg-art__ph img {
      width: 96px;
      height: 96px;
      border-radius: 16px;
      object-fit: cover;
    }
    .vg-split__copy {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding: 8px 8px 8px 4px;
      min-height: 0;
      overflow: auto;
      overflow-anchor: none;
    }
    .vg-card__title {
      margin: 0 0 10px;
      font-size: clamp(1.05rem, 1.5vw, 1.4rem);
      line-height: 1.2;
      color: var(--vg-suave-texto);
      font-weight: 800;
    }
    .vg-card__copy p,
    .vg-card__copy li {
      margin: 0 0 8px;
      font-size: clamp(0.82rem, 1vw, 0.95rem);
      line-height: 1.45;
      color: var(--bd-ink-soft, #334155);
    }
    .vg-card__copy strong {
      color: var(--vg-suave-texto);
      font-weight: 700;
    }
    .vg-list {
      margin: 0 0 8px;
      padding-left: 1.2rem;
    }
    .vg-lock {
      margin-top: 8px !important;
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--vg-borde);
      color: var(--vg-suave-texto);
    }
    .vg-card__foot {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 8px 12px 10px;
      border-top: 1px solid var(--vg-borde);
      background: var(--bd-n-0, #fff);
      flex-shrink: 0;
    }
    .vg-card__timer {
      display: flex;
      flex-direction: column;
      gap: 4px;
      margin: 0 -12px -10px;
      padding: 6px 12px 8px;
      border-top: 1px solid var(--vg-borde);
    }
    .vg-card__timer.hidden {
      display: none !important;
    }
    .vg-card__timer-label {
      margin: 0;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--vg-acento-hover);
    }
    .vg-card__timer-track {
      height: 4px;
      border-radius: 2px;
      background: var(--vg-tinte);
      overflow: hidden;
    }
    .vg-card__timer-bar {
      height: 100%;
      width: 100%;
      background: var(--vg-acento);
      transform-origin: left center;
      transform: scaleX(1);
    }
    .vg-chapters {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 6px;
      width: 100%;
    }
    .vg-chapters.hidden { display: none !important; }
    .vg-card__cluster {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 8px;
      flex: 1 1 auto;
      min-width: 0;
      margin-left: auto;
    }
    .vg-card__try {
      position: relative;
      z-index: 1;
      width: auto;
      height: 36px;
      flex-shrink: 0;
    }
    .vg-card__try.hidden {
      display: none !important;
    }
    .vg-card__try .vg-btn {
      box-sizing: border-box !important;
      width: auto !important;
      height: 36px !important;
      min-width: 0 !important;
      min-height: 36px !important;
      max-width: none !important;
      max-height: 36px !important;
      margin: 0 !important;
      padding: 0 12px !important;
      border-radius: 10px !important;
      display: inline-flex !important;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      gap: 6px;
      font-size: 0.82rem;
      line-height: 1;
      white-space: nowrap;
      text-align: center;
      box-shadow: none !important;
      transform: none;
      filter: none;
      cursor: pointer;
      transition: box-shadow 0.15s ease, transform 0.15s ease, filter 0.15s ease;
    }
    .vg-card__try .vg-btn[aria-pressed='true'],
    .vg-card__try .vg-btn.vg-btn--try-on {
      box-shadow:
        0 3px 0 var(--vg-suave-texto),
        0 7px 14px rgba(var(--vg-acento-rgb), 0.38) !important;
      transform: translateY(-2px);
      filter: saturate(1.06);
    }
    .vg-card__try .vg-btn[aria-pressed='true']:active,
    .vg-card__try .vg-btn.vg-btn--try-on:active {
      transform: translateY(0);
      box-shadow: 0 1px 0 var(--vg-suave-texto) !important;
    }
    .vg-ch {
      flex: 1 1 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      padding: 4px;
      border: 1px solid var(--vg-borde);
      background: var(--bd-n-0, #fff);
      border-radius: 10px;
      cursor: pointer;
      color: var(--vg-suave-texto);
    }
    .vg-ch:hover {
      border-color: var(--vg-acento);
      background: var(--vg-suave);
    }
    .vg-ch__img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: 7px;
      background: var(--vg-sutil);
    }
    .vg-ch__name {
      font-size: clamp(0.55rem, 0.85vw, 0.72rem);
      font-weight: 700;
      line-height: 1.15;
      text-align: center;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width: 100%;
    }
    .vg-card__actions {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
      min-width: 0;
    }
    .vg-card__side {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 6px;
      flex: 0 0 auto;
      min-width: 0;
    }
    .vg-card__side .vg-btn {
      margin-top: 0 !important;
    }
    .vg-card__nav {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: stretch;
      gap: 6px;
      width: 100%;
      min-width: 0;
      margin: 0;
    }
    .vg-card__nav .vg-btn,
    .vg-card__actions .vg-card__nav .vg-btn {
      box-sizing: border-box !important;
      flex: 1 1 auto !important;
      width: auto !important;
      min-width: 0 !important;
      height: 36px !important;
      min-height: 36px !important;
      max-height: 36px !important;
      margin: 0 !important;
      padding: 0 10px !important;
      line-height: 1 !important;
      font-size: 0.82rem !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      white-space: nowrap;
    }
    .vg-card__actions .vg-btn {
      width: auto !important;
      flex: 0 0 auto;
      height: 36px;
      min-height: 36px;
      max-height: 36px;
      min-width: 0;
      padding: 0 12px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.82rem;
      line-height: 1;
      white-space: nowrap;
    }
    .vg-card__actions .vg-card__nav .vg-btn {
      flex: 1 1 auto;
    }
    #bardev-vg-next.vg-btn {
      flex-direction: row-reverse;
      flex: 1 1 auto !important;
      min-width: 6.8em !important;
    }
    #bardev-vg-home.vg-btn {
      flex: 0 0 36px !important;
      width: 36px !important;
      min-width: 36px !important;
      max-width: 36px !important;
      padding: 0 !important;
    }
    #bardev-vg-home.vg-btn:disabled {
      opacity: 0.4;
      cursor: default;
    }
    .vg-btn__ico {
      display: inline-flex;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
    }
    .vg-btn__ico svg {
      width: 16px;
      height: 16px;
      display: block;
    }
    .vg-card__actions .btn.primary .vg-btn__ico,
    .vg-card__actions .btn.primary .vg-btn__ico svg,
    .vg-card__try .btn.primary .vg-btn__ico,
    .vg-card__try .btn.primary .vg-btn__ico svg {
      color: var(--bd-on-solid, #fff);
    }
    body.bardev-vg-open {
      overflow: auto;
    }
    .nav-item--plan-locked {
      opacity: 0.72;
      text-decoration: line-through;
      text-decoration-color: var(--bd-n-300, #cbd5e1);
    }
    .nav-item--plan-locked::after {
      content: '';
      display: inline-block;
      width: 12px;
      height: 12px;
      margin-left: 6px;
      vertical-align: -1px;
      background: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .nav-trial-chip-row {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
      gap: 6px;
      margin-top: 8px;
      width: 100%;
    }
    .nav-visita-guiada-btn {
      height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #d1d5db);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font-size: 0.72rem;
      font-weight: 600;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .nav-visita-guiada-btn__ico {
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .nav-visita-guiada-btn:hover {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .nav-visita-guiada-btn:hover .nav-visita-guiada-btn__ico {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    .svc-res-ultra-lock.hidden { display: none !important; }
    .svc-res-ultra-lock {
      margin: 0 0 12px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      font-size: 0.85rem;
      line-height: 1.4;
    }
    #svc-res-panel-especiales.svc-res-panel--ultra-locked .inv-toolbar-row,
    #svc-res-panel-especiales.svc-res-panel--ultra-locked #svc-especiales-wrap {
      display: none;
    }
    @container (max-width: 520px) {
      .vg-split {
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .vg-art {
        min-height: 72px;
        max-height: 34%;
        height: auto;
      }
    }
    #unsaved-about-overlay,
    #unsaved-about-overlay.bardev-overlay--skip-content-pin,
    html.bardev-panel-scaled body > #unsaved-about-overlay {
      position: fixed !important;
      inset: 0 !important;
      left: 0 !important;
      top: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      width: 100vw !important;
      height: 100dvh !important;
      max-width: none !important;
      min-height: 0 !important;
      max-height: none !important;
      transform: none !important;
      zoom: 1 !important;
      z-index: 100070 !important;
      pointer-events: auto !important;
    }
    #unsaved-about-overlay .modal-sheet,
    #unsaved-about-overlay .btn {
      pointer-events: auto !important;
      transform: none !important;
    }
    @media (max-width: 680px) {
      .vg-card {
        min-width: min(580px, calc(100vw - 24px));
        width: min(50vw, calc(100vw - 24px));
        height: 50vh;
      }
    }

    /* Clientes → Reglas */
    #panel-usuarios .usuarios-panel-head {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    #usuarios-reglas-head-actions[hidden],
    #usuarios-reglas-head-actions.hidden {
      display: none !important;
    }
    .cr-lead { margin: 0 0 16px; max-width: 62ch; }
    .cr-rule-row--off { opacity: 0.62; }
    .cr-tpl-badge {
      display: inline-block;
      margin-left: 6px;
      padding: 2px 7px;
      border-radius: 999px;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border: 1px solid var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      vertical-align: middle;
    }
    #panel-dev-plataforma .cr-rule-table td .btn.secondary.btn-icon {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
      min-height: 0 !important;
      padding: 0 !important;
    }
    #panel-usuarios .cr-rule-table td .btn.secondary.btn-icon,
    #panel-usuarios .cr-mail-table td .btn.secondary.btn-icon {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
      min-height: 0 !important;
      padding: 0 !important;
      margin-top: 0 !important;
      box-shadow: none !important;
      background: var(--c-gris-50b) !important;
      border: 1px solid rgba(37, 99, 235, 0.35) !important;
      border-radius: 8px;
    }
    #panel-usuarios .cr-rule-table td .btn-icon svg,
    #panel-usuarios .cr-mail-table td .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
    }
    #panel-usuarios .cr-rule-table td .btn-icon svg,
    #panel-usuarios .cr-rule-table td .btn-icon svg *,
    #panel-usuarios .cr-mail-table td .btn-icon svg,
    #panel-usuarios .cr-mail-table td .btn-icon svg * {
      fill: none !important;
      stroke-width: 2 !important;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-usuarios .cr-rule-table td .btn-icon:not(.btn-icon--danger) svg,
    #panel-usuarios .cr-rule-table td .btn-icon:not(.btn-icon--danger) svg *,
    #panel-usuarios .cr-mail-table td .btn-icon:not(.btn-icon--danger) svg,
    #panel-usuarios .cr-mail-table td .btn-icon:not(.btn-icon--danger) svg * {
      stroke: var(--c-azul-450) !important;
    }
    #panel-usuarios .cr-rule-table td .btn-icon--danger svg,
    #panel-usuarios .cr-rule-table td .btn-icon--danger svg *,
    #panel-usuarios .cr-mail-table td .btn-icon--danger svg,
    #panel-usuarios .cr-mail-table td .btn-icon--danger svg * {
      stroke: var(--c-rojo-500) !important;
    }
    .cr-switch {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--bd-ink-soft, #334155);
    }
    .cr-rules + .cr-rules,
    .cr-mails {
      margin-top: 28px;
      padding-top: 18px;
      border-top: 1px solid var(--bd-n-200, #e2e8f0);
    }
    .cr-mails__h {
      margin: 0 0 6px;
      font-size: 1rem;
      font-weight: 800;
      text-transform: none;
      letter-spacing: 0;
      color: var(--bd-ink, #0f172a);
    }
    .cr-mails__h--caps {
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .cr-mail-table-wrap {
      overflow-x: auto;
      margin-top: 12px;
    }
    .cr-rule-table th:nth-child(3),
    .cr-rule-table td:nth-child(3) {
      width: 1%;
      white-space: nowrap;
    }
    .cr-rule-table th:last-child,
    .cr-rule-table td.cr-mail-actions-cell,
    .cr-mail-table th:last-child,
    .cr-mail-table td.cr-mail-actions-cell {
      width: 1%;
      white-space: nowrap;
      text-align: right;
    }
    .cr-hist { overflow-x: auto; margin-top: 8px; }
    .cr-hist-table { width: 100%; border-collapse: collapse; }
    .cr-hist-table th,
    .cr-hist-table td {
      text-align: left;
      padding: 8px 10px;
      border-bottom: 1px solid var(--bd-n-200, #e2e8f0);
      color: var(--bd-ink, #0f172a);
      font-size: 0.86rem;
    }
    #clientes-regla-modal.modal-overlay,
    #clientes-mail-modal.modal-overlay {
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
    }
    #clientes-regla-modal .clientes-regla-panel,
    #clientes-mail-modal .clientes-regla-panel {
      display: flex;
      flex-direction: column;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-height: var(--bardev-modal-content-cap, calc((100dvh - 30px) * 0.8));
      padding: 0;
      overflow: hidden;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
    }
    #clientes-mail-modal .clientes-regla-panel--mail {
      width: min(1100px, calc(100vw - 32px));
      max-width: min(1100px, calc(100vw - 32px));
      max-height: min(92dvh, calc(100dvh - 24px));
    }
    #clientes-mail-modal .cr-mail-meta {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
      gap: 12px;
    }
    @media (max-width: 720px) {
      #clientes-mail-modal .cr-mail-meta {
        grid-template-columns: 1fr;
      }
    }
    #clientes-mail-modal .cr-mail-sync-grid {
      margin-top: 4px;
    }
    #cr-mail-preview-frame,
    #cr-mail-visual-frame {
      width: 100%;
      min-height: 420px;
      height: auto;
      border: 0;
      display: block;
      background: var(--c-blanco);
    }
    #cr-mail-visual-frame {
      background: #0a0e14;
    }
    .clientes-regla-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid var(--bd-n-200, #e2e8f0);
      flex: 0 0 auto;
    }
    .clientes-regla-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--bd-ink, #0f172a);
    }
    .clientes-regla-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
      padding: 14px 16px 8px;
    }
    .clientes-regla-foot {
      flex: 0 0 auto;
      padding: 12px 16px 16px;
      border-top: 1px solid var(--bd-n-200, #e2e8f0);
    }
    .cr-field { display: block; margin: 0 0 12px; }
    .cr-field input,
    .cr-field textarea,
    .cr-cond select,
    #cr-action,
    .cr-param input,
    .cr-param select,
    .cr-param textarea {
      width: 100%;
      box-sizing: border-box;
      margin-top: 4px;
      min-height: 40px;
      padding: 8px 10px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
    }
    .cr-field textarea { min-height: 180px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.82rem; }
    .cr-cond {
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 12px;
      padding: 10px;
      margin-bottom: 8px;
      background: var(--bd-n-50, #f8fafc);
    }
    .cr-params { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
    .cr-param { min-width: 120px; }
    .cr-param--stack {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .cr-param textarea {
      min-height: 72px;
      resize: vertical;
      font-family: inherit;
    }
    .cr-logic-preview {
      margin: 0 0 10px;
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, #334155);
    }
    .cr-rule-sentence,
    .cr-logic-preview {
      color: var(--bd-ink-soft, #334155);
    }
    .cr-logic-kw {
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
      font-weight: 700;
    }
    .cr-logic-num {
      color: var(--bd-danger-600, #dc2626);
      font-weight: 700;
    }
    .cr-cond-top {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .cr-cond-top select {
      flex: 1 1 auto;
      min-width: 0;
      margin-top: 0;
    }
    .cr-paren {
      flex: 0 0 40px;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 10px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font-size: 1.25rem;
      font-weight: 800;
      line-height: 1;
      cursor: pointer;
    }
    .cr-paren.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    .cr-join {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 8px;
      margin: 2px 0 10px;
    }
    .cr-join-op {
      width: auto;
      min-height: 36px;
      padding: 6px 14px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 999px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      font-weight: 700;
      font-size: 0.78rem;
      cursor: pointer;
    }
    .cr-join-op.is-on {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
    }
    #clientes-regla-modal .cr-add-btn,
    #clientes-regla-modal .cr-trigger-del,
    #clientes-regla-modal .cr-act-del {
      width: auto;
      margin-top: 0;
      min-height: 40px;
      padding: 8px 12px;
    }
    #clientes-regla-modal .cr-add-btn { margin-top: 8px; }
    .cr-cond-del { margin-top: 8px; }
    .cr-act-step {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      margin-bottom: 6px;
    }

    #inicio-tab-panel-servicios-centro .gv-panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin: 0 0 4px;
    }
    #inicio-tab-panel-servicios-centro .gv-head-actions .btn {
      width: auto !important;
    }
    .shop-amen-group { margin: 0 0 22px; }
    .shop-amen-group__h {
      margin: 0 0 10px;
      font-size: 0.95rem;
      font-weight: 800;
      color: var(--bd-ink, #0f172a);
    }
    .shop-amen-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
      gap: 8px;
    }
    .shop-amen-tile {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, #e2e8f0);
      border-radius: 12px;
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f172a);
      cursor: pointer;
      font-size: 0.88rem;
      line-height: 1.3;
      user-select: none;
    }
    .shop-amen-tile input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }
    .shop-amen-tile__mark {
      flex: 0 0 20px;
      width: 20px;
      height: 20px;
      border-radius: 6px;
      border: 1.5px solid var(--bd-n-300, #cbd5e1);
      background: var(--bd-n-0, #fff);
      position: relative;
    }
    .shop-amen-tile.is-on {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    .shop-amen-tile.is-on .shop-amen-tile__mark {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .shop-amen-tile.is-on .shop-amen-tile__mark::after {
      content: '';
      position: absolute;
      left: 6px;
      top: 2px;
      width: 5px;
      height: 10px;
      border: solid var(--bd-on-solid, #fff);
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
    }

    /* ── Pedidos online ── */
    #panel-pedidos .pedidos-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 10px 12px;
      padding: 0 28px;
      margin: 12px 0 8px;
    }
    #panel-pedidos .pedidos-toolbar__field {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 140px;
    }
    #panel-pedidos .pedidos-toolbar__field--search {
      flex: 1 1 220px;
      min-width: 200px;
    }
    #panel-pedidos .pedidos-toolbar input,
    #panel-pedidos .pedidos-toolbar select {
      height: 40px;
      box-sizing: border-box;
      padding: 0 12px;
      border-radius: 10px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      font-size: 0.88rem;
    }
    #panel-pedidos .pedidos-summary {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      padding: 0 28px 10px;
    }
    #panel-pedidos .pedidos-chip {
      display: inline-flex;
      align-items: center;
      height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-064e3b, #064e3b));
      font-size: 0.78rem;
      font-weight: 700;
      border: 1px solid var(--bd-g-200, var(--bv-g-d1fae5, #d1fae5));
    }
    #panel-pedidos #pedidos-table-wrap {
      margin: 0 28px 12px;
      overflow: auto;
    }
    #panel-pedidos .pedidos-table {
      width: 100%;
      table-layout: fixed;
      border-collapse: collapse;
      font-size: 0.86rem;
    }
    #panel-pedidos .pedidos-table thead th {
      position: sticky;
      top: 0;
      z-index: 1;
      background: var(--bd-n-50, #f7f8f7);
      color: var(--bd-ink-soft, #5b6b62);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      text-align: left;
      padding: 10px 12px;
      border-bottom: 1px solid var(--bd-n-200, #dce3df);
      white-space: nowrap;
    }
    #panel-pedidos .pedidos-table thead th.is-sortable {
      cursor: pointer;
      user-select: none;
    }
    #panel-pedidos .pedidos-table thead th.is-sortable:hover,
    #panel-pedidos .pedidos-table thead th[aria-sort]:not([aria-sort="none"]) {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    #panel-pedidos .pedidos-table thead th .pedidos-sort-ico {
      display: inline-block;
      margin-left: 4px;
      font-size: 0.7rem;
      opacity: 0.7;
    }
    #panel-pedidos .pedidos-col-resizer {
      position: absolute;
      top: 0;
      right: 0;
      width: 8px;
      height: 100%;
      cursor: col-resize;
      user-select: none;
      z-index: 5;
      background: transparent;
    }
    #panel-pedidos .pedidos-col-resizer:hover,
    #panel-pedidos .pedidos-col-resizer:active {
      background: color-mix(in srgb, var(--bd-g-600, var(--bv-g-047857, #047857)) 38%, transparent);
    }
    #panel-pedidos .pedidos-table tbody td {
      padding: 10px 12px;
      border-bottom: 1px solid var(--bd-n-100, #eef1ef);
      color: var(--bd-ink, #0f1f17);
      vertical-align: middle;
    }
    #panel-pedidos .pedidos-table tbody tr:nth-child(even) td {
      background: var(--bd-n-50, #f7f8f7);
    }
    #panel-pedidos .pedidos-table tbody tr:hover td {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
    }
    #panel-pedidos .pedidos-num {
      font-weight: 800;
      color: var(--bd-g-800, var(--bv-g-064e3b, #064e3b));
      white-space: nowrap;
    }
    #panel-pedidos .pedidos-td-client {
      overflow: hidden;
      min-width: 0;
      max-width: 100%;
    }
    #panel-pedidos .pedidos-td-carrier {
      white-space: nowrap;
      min-width: 7.5rem;
    }
    #panel-pedidos .pedidos-carrier {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      max-width: 100%;
      vertical-align: middle;
    }
    #panel-pedidos .pedidos-carrier__logo {
      display: block;
      width: 72px;
      height: 28px;
      object-fit: contain;
      border-radius: 6px;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--c-blanco);
      flex: none;
    }
    #panel-pedidos .pedidos-carrier__name {
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--bd-ink-soft, #334155);
      line-height: 1.2;
    }
    #panel-pedidos .pedidos-carrier:not(.pedidos-carrier--na) .pedidos-carrier__name {
      /* El logo ya identifica la agencia; el nombre queda como respaldo accesible. */
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    #panel-pedidos .pedidos-carrier--detail {
      position: relative;
    }
    #panel-pedidos .pedidos-carrier--detail .pedidos-carrier__name {
      position: static;
      width: auto;
      height: auto;
      margin: 0;
      clip: auto;
      overflow: visible;
      white-space: normal;
    }
    #panel-pedidos .pedidos-carrier--na {
      color: var(--bd-ink-soft, #64748b);
      font-weight: 600;
    }
    #panel-pedidos .pedidos-client {
      display: flex;
      flex-direction: column;
      gap: 1px;
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
    }
    #panel-pedidos .pedidos-cli-name,
    #panel-pedidos .pedidos-cli-mail {
      display: block;
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    #panel-pedidos .pedidos-cli-name {
      font-weight: 700;
    }
    #panel-pedidos .pedidos-cli-mail {
      font-size: 0.75rem;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-pedidos .pedidos-arts {
      min-width: 0;
      vertical-align: top;
    }
    #panel-pedidos .pedidos-arts-list {
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
    #panel-pedidos .pedidos-art {
      width: 100%;
      font-size: 0.82rem;
      line-height: 1.35;
      color: var(--bd-ink, #0f1f17);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    #panel-pedidos .pedidos-art + .pedidos-art {
      margin-top: 4px;
    }
    #panel-pedidos .pedidos-arts:not(.is-open) .pedidos-art--more {
      display: none;
    }
    #panel-pedidos .pedidos-arts-toggle {
      display: block;
      width: 100%;
      margin-top: 4px;
      padding: 0;
      height: auto;
      border: 0;
      background: none;
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
      font-size: 0.74rem;
      font-weight: 800;
      line-height: 1.2;
      text-align: right;
      cursor: pointer;
    }
    #panel-pedidos .pedidos-arts-toggle:hover {
      color: var(--bd-g-800, var(--bv-g-064e3b, #064e3b));
      text-decoration: underline;
    }
    #panel-pedidos .pedidos-money {
      font-weight: 800;
      white-space: nowrap;
      text-align: right;
    }
    #panel-pedidos .pedidos-table thead th[data-pedidos-col="acciones"],
    #panel-pedidos .pedidos-td-actions {
      text-align: center;
    }
    #panel-pedidos .pedidos-td-actions {
      width: 72px;
    }
    #panel-pedidos .pedidos-open-btn.btn.btn-icon {
      width: 40px;
      height: 40px;
      min-width: 40px;
      min-height: 40px;
      max-width: 40px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      flex: 0 0 auto;
    }
    #panel-pedidos .pedidos-open-btn.btn.btn-icon svg {
      width: 18px;
      height: 18px;
      display: block;
      fill: none;
      stroke: var(--bd-g-600, var(--bv-g-047857, #047857));
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-pedidos .pedidos-pill {
      display: inline-flex;
      align-items: center;
      height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 800;
      white-space: nowrap;
      background: var(--bd-n-100, #eef1ef);
      color: var(--bd-ink, #0f1f17);
    }
    #panel-pedidos .pedidos-pill--pendiente,
    #panel-pedidos .pedidos-pill--warn {
      background: var(--bd-warn-bg, #fef3c7);
      color: var(--bd-warn-fg, #92400e);
    }
    #panel-pedidos .pedidos-pill--ok,
    #panel-pedidos .pedidos-pill--completado,
    #panel-pedidos .pedidos-pill--recibido,
    #panel-pedidos .pedidos-pill--enviado {
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
      color: var(--bd-g-800, var(--bv-g-064e3b, #064e3b));
    }
    #panel-pedidos .pedidos-pill--cancelado,
    #panel-pedidos .pedidos-pill--danger {
      background: var(--bd-danger-bg, #fee2e2);
      color: var(--bd-danger-fg, #b91c1c);
    }
    #panel-pedidos .pedidos-pill--en_preparacion,
    #panel-pedidos .pedidos-pill--preparado,
    #panel-pedidos .pedidos-pill--recibido_valoracion {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    #panel-pedidos .pedidos-estado-select {
      height: 32px;
      max-width: 150px;
      border-radius: 8px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      font-size: 0.78rem;
    }
    #panel-pedidos .pedidos-estado-select.is-locked {
      opacity: 0.85;
      cursor: not-allowed;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      pointer-events: none;
    }
    #panel-pedidos .pedidos-pagination {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
      padding: 0 28px 20px;
    }
    #panel-pedidos .pedidos-pagination.hidden { display: none; }
    #panel-pedidos .pedidos-pagination .btn,
    #panel-pedidos .pedidos-table td .btn {
      width: auto;
      height: 36px;
      padding: 0 12px;
    }
    #panel-pedidos .pedidos-pagination-info {
      font-size: 0.82rem;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #pedidos-detail-modal.bardev-modal-overlay {
      z-index: 20040;
    }
    #pedidos-detail-modal.bardev-modal-overlay:not(.hidden) {
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    #pedidos-detail-modal .pedidos-detail-panel {
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px))));
      max-height: var(--bardev-modal-content-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1)));
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0;
    }
    #pedidos-detail-modal .pedidos-detail-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid var(--bd-n-200, #dce3df);
      flex-shrink: 0;
    }
    #pedidos-detail-modal .pedidos-detail-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--bd-ink, #0f1f17);
    }
    #pedidos-detail-modal .pedidos-detail-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
      padding: 14px 16px 8px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    #pedidos-detail-modal .pedidos-detail-foot {
      flex-shrink: 0;
      padding: 12px 16px 16px;
      border-top: 1px solid var(--bd-n-200, #dce3df);
    }
    #pedidos-detail-modal .pedidos-dl {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px 12px;
    }
    #pedidos-detail-modal .pedidos-dl p {
      margin: 0;
    }
    #pedidos-detail-modal .pedidos-dl .full {
      grid-column: 1 / -1;
    }
    #pedidos-detail-modal .pedidos-k {
      display: block;
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #5b6b62);
      margin-bottom: 2px;
    }
    #pedidos-detail-modal .pedidos-line {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 6px 0;
      border-bottom: 1px solid var(--bd-n-100, #eef1ef);
      font-size: 0.86rem;
    }
    #pedidos-detail-modal .pedidos-line:last-child { border-bottom: 0; }
    #pedidos-detail-modal .pedidos-track {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    #pedidos-detail-modal .pedidos-track li {
      position: relative;
      padding: 0 0 12px 18px;
      font-size: 0.84rem;
    }
    #pedidos-detail-modal .pedidos-track li::before {
      content: '';
      position: absolute;
      left: 4px;
      top: 6px;
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #pedidos-detail-modal .pedidos-track li::after {
      content: '';
      position: absolute;
      left: 7px;
      top: 16px;
      bottom: 0;
      width: 2px;
      background: var(--bd-g-200, var(--bv-g-d1fae5, #d1fae5));
    }
    #pedidos-detail-modal .pedidos-track li:last-child { padding-bottom: 0; }
    #pedidos-detail-modal .pedidos-track li:last-child::after { display: none; }
    #pedidos-detail-modal .pedidos-track time {
      display: block;
      font-size: 0.74rem;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #pedidos-detail-modal .pedidos-track--carrier {
      margin-top: 8px;
    }
    #pedidos-detail-modal .pedidos-track li.is-incident::before {
      background: var(--bd-warn-600, #b45309);
    }
    #pedidos-detail-modal .pedidos-steps {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 14px;
      margin: 0 0 14px;
      padding: 0;
      list-style: none;
    }
    #pedidos-detail-modal .pedidos-step {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.78rem;
      font-weight: 700;
    }
    #pedidos-detail-modal .pedidos-step__pt {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      flex-shrink: 0;
    }
    #pedidos-detail-modal .pedidos-step.is-done {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #pedidos-detail-modal .pedidos-step.is-done .pedidos-step__pt {
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #pedidos-detail-modal .pedidos-step.is-pending {
      color: var(--bd-danger-700, #b91c1c);
    }
    #pedidos-detail-modal .pedidos-step.is-pending .pedidos-step__pt {
      background: var(--bd-danger-600, #dc2626);
    }
    .pedidos-ship-panel {
      width: var(--bd-modal-w);
      max-width: var(--bd-modal-w);
    }
    .pedidos-pickup-meta {
      margin: 0 0 14px;
      padding: 10px 12px;
      border-radius: var(--bd-radius-md, 10px);
      background: var(--bd-n-50, #f8fafc);
      border: 1px solid var(--bd-n-200, #e5e7eb);
      font-size: 0.92rem;
      line-height: 1.4;
      color: var(--bd-ink, #111827);
    }
    .pedidos-ship-field {
      display: block;
      margin: 0 0 12px;
    }
    .pedidos-ship-field .bd-label {
      display: block;
      margin-bottom: 6px;
    }
    .pedidos-ship-field input,
    .pedidos-ship-field select {
      width: 100%;
      box-sizing: border-box;
      min-height: 44px;
    }
    html.bardev-panel-theme-light #panel-pedidos .pedidos-table thead th {
      background: var(--bd-n-50);
      color: var(--bd-ink-soft);
      border-bottom: 1px solid var(--bd-n-200);
    }
    html.bardev-panel-theme-light #panel-pedidos .pedidos-table tbody td {
      background: var(--bd-n-0);
      color: var(--bd-ink);
    }
    html.bardev-panel-theme-light #panel-pedidos .pedidos-table tbody tr:nth-child(even) td {
      background: var(--bd-n-50);
    }

    /* ── Clientes → Reseñas ── */
    #panel-resenas .resenas-top {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 20px 28px;
      padding: 22px 28px 10px;
    }
    #panel-resenas .resenas-emp-row {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 36px 48px;
      padding: 0;
      flex: 1 1 220px;
      min-width: 0;
    }
    #panel-resenas .resenas-star-card {
      display: flex;
      align-items: center;
      gap: 18px;
      flex: 0 1 460px;
      width: min(460px, 100%);
      background: var(--bd-n-0, #fff);
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: 12px;
      padding: 14px 18px;
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.06));
    }
    #panel-resenas .resenas-star-bars {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
      flex: 1 1 160px;
      min-width: 0;
    }
    #panel-resenas .resenas-star-bars__row {
      display: grid;
      grid-template-columns: 12px minmax(0, 1fr) auto;
      align-items: center;
      gap: 8px;
    }
    #panel-resenas .resenas-star-bars__n {
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--bd-ink-soft, #5b6b62);
      text-align: right;
      font-variant-numeric: tabular-nums;
      line-height: 1;
      min-width: 2.2em;
    }
    #panel-resenas .resenas-star-bars__lab {
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--bd-ink-soft, #5b6b62);
      text-align: right;
      font-variant-numeric: tabular-nums;
      line-height: 1;
    }
    #panel-resenas .resenas-star-bars__track {
      display: block;
      height: 8px;
      border-radius: 999px;
      background: #e8eaed;
      overflow: hidden;
    }
    #panel-resenas .resenas-star-bars__fill {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: var(--c-ambar-500);
    }
    #panel-resenas .resenas-star-score {
      flex: 0 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-width: 92px;
      text-align: center;
    }
    #panel-resenas .resenas-star-score__avg {
      margin: 0;
      font-size: 2.35rem;
      font-weight: 500;
      line-height: 1;
      letter-spacing: -0.03em;
      color: var(--bd-ink, #111827);
    }
    #panel-resenas .resenas-gstars {
      display: flex;
      gap: 1px;
      margin-top: 4px;
      font-size: 0.92rem;
      line-height: 1;
    }
    #panel-resenas .resenas-gstar {
      position: relative;
      display: inline-block;
      width: 0.92em;
      height: 1em;
      color: var(--c-gris-150);
    }
    #panel-resenas .resenas-gstar__base,
    #panel-resenas .resenas-gstar__fill {
      display: block;
      line-height: 1;
    }
    #panel-resenas .resenas-gstar__fill {
      position: absolute;
      left: 0;
      top: 0;
      overflow: hidden;
      color: var(--c-ambar-500);
      white-space: nowrap;
    }
    #panel-resenas .resenas-star-score__n {
      margin: 5px 0 0;
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--bd-ink-soft, #5b6b62);
      font-variant-numeric: tabular-nums;
    }
    #panel-resenas .resenas-emp-empty {
      margin: 0;
      text-align: center;
      width: 100%;
    }
    #panel-resenas .resenas-emp {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 104px;
      gap: 8px;
      text-align: center;
      appearance: none;
      border: 0;
      background: transparent;
      padding: 0;
      margin: 0;
      font: inherit;
      color: inherit;
      cursor: pointer;
      border-radius: 12px;
    }
    #panel-resenas button.resenas-emp:hover .resenas-av--lg,
    #panel-resenas button.resenas-emp:focus-visible .resenas-av--lg {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-resenas button.resenas-emp:focus-visible {
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 3px;
    }
    #panel-resenas button.resenas-emp.is-selected .resenas-av--lg {
      border-color: var(--bd-g-600, var(--bv-g-047857, #047857));
      box-shadow: 0 0 0 3px var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)), 0 0 0 5px var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-resenas .resenas-emp__av-wrap {
      position: relative;
      width: 76px;
      height: 76px;
    }
    #panel-resenas .resenas-av {
      width: 100%;
      height: 100%;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-weight: 700;
      font-size: 1.05rem;
      overflow: hidden;
      border: 1px solid var(--bd-n-200, #e5e7eb);
    }
    #panel-resenas .resenas-av--photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    #panel-resenas .resenas-av--lg {
      width: 76px;
      height: 76px;
      font-size: 1.05rem;
    }
    #panel-resenas .resenas-av--mosaic {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 1px;
      background: var(--bd-n-0, #fff);
      padding: 0;
    }
    #panel-resenas .resenas-av--mosaic[data-n="1"] {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
    }
    #panel-resenas .resenas-av--mosaic[data-n="2"] {
      grid-template-rows: 1fr;
    }
    #panel-resenas .resenas-av--mosaic[data-n="3"] > :first-child {
      grid-row: 1 / span 2;
    }
    #panel-resenas .resenas-av--mosaic > img,
    #panel-resenas .resenas-av-mosaic__ph {
      width: 100%;
      height: 100%;
      min-width: 0;
      min-height: 0;
      object-fit: cover;
      display: block;
    }
    #panel-resenas .resenas-av-mosaic__ph {
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-size: 0.58rem;
      font-weight: 700;
    }
    #panel-resenas .resenas-emp__todos-pin {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
      z-index: 1;
    }
    #panel-resenas .resenas-emp__todos {
      background: var(--c-gris-950d);
      color: var(--c-blanco);
      border-radius: 999px;
      padding: 4px 8px;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      line-height: 1;
      text-transform: uppercase;
      white-space: nowrap;
    }
    #panel-resenas .resenas-av--sm {
      width: 28px;
      height: 28px;
      font-size: 0.62rem;
      flex: 0 0 28px;
    }
    #panel-resenas .resenas-emp__score {
      position: absolute;
      right: -6px;
      bottom: -4px;
      min-width: 30px;
      height: 22px;
      padding: 0 6px;
      border-radius: 999px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
      color: var(--bd-on-solid, #fff);
      font-size: 0.72rem;
      font-weight: 800;
      line-height: 22px;
      text-align: center;
      border: 2px solid var(--bd-n-0, #fff);
      box-shadow: var(--bd-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.08));
    }
    #panel-resenas .resenas-emp__score[data-empty="1"] {
      background: var(--bd-n-200, #e5e7eb);
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-resenas .resenas-emp__name {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--bd-ink, #111827);
      line-height: 1.2;
      max-width: 104px;
    }
    #panel-resenas .resenas-emp__meta {
      font-size: 0.68rem;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-resenas .resenas-table-scroll {
      overflow-x: auto;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      border-radius: 12px;
      background: var(--bd-n-0, #fff);
    }
    #panel-resenas .resenas-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    #panel-resenas .resenas-table th {
      text-align: left;
      padding: 10px 12px;
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink-soft, #5b6b62);
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      border-bottom: 1px solid var(--bd-n-200, #e5e7eb);
      white-space: nowrap;
    }
    #panel-resenas .resenas-table thead th.is-sortable {
      cursor: pointer;
      user-select: none;
    }
    #panel-resenas .resenas-table thead th.is-sortable:hover,
    #panel-resenas .resenas-table thead th[aria-sort]:not([aria-sort="none"]) {
      color: var(--bd-g-700, var(--bv-g-065f46, #065f46));
    }
    #panel-resenas .resenas-table thead th .resenas-sort-ico {
      display: inline-block;
      margin-left: 4px;
      font-size: 0.7rem;
      opacity: 0.7;
    }
    #panel-resenas .resenas-table td {
      padding: 11px 12px;
      border-bottom: 1px solid var(--bd-n-200, #e5e7eb);
      color: var(--bd-ink, #111827);
      vertical-align: top;
    }
    #panel-resenas .resenas-table tbody tr:last-child td { border-bottom: 0; }
    html.bardev-panel-theme-light #panel-resenas .resenas-table tbody tr:nth-child(even) td {
      background: var(--bd-n-50, #f8fafc);
    }
    #panel-resenas .resenas-td-rating {
      white-space: nowrap;
    }
    #panel-resenas .resenas-stars {
      letter-spacing: 0.04em;
      margin-right: 6px;
    }
    #panel-resenas .resenas-star {
      color: var(--bd-n-200, #e5e7eb);
      font-size: 0.92rem;
    }
    #panel-resenas .resenas-star.is-on {
      color: var(--c-naranja-550);
    }
    #panel-resenas .resenas-rating-n {
      font-weight: 700;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-resenas .resenas-comment {
      display: block;
      max-width: 420px;
      line-height: 1.4;
      white-space: pre-wrap;
    }
    #panel-resenas .resenas-comment--empty {
      color: var(--bd-ink-soft, #5b6b62);
      font-style: italic;
    }
    #panel-resenas .resenas-imgs {
      list-style: none;
      margin: 8px 0 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    #panel-resenas .resenas-imgs li {
      width: 56px;
      height: 56px;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid var(--bd-n-200, #e5e7eb);
      background: var(--bd-n-50, #f8fafc);
    }
    #panel-resenas .resenas-imgs a,
    #panel-resenas .resenas-imgs img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    #panel-resenas .resenas-td-emp {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 140px;
    }
    #panel-resenas .resenas-td-date {
      white-space: nowrap;
      color: var(--bd-ink-soft, #5b6b62);
      font-variant-numeric: tabular-nums;
    }
    #panel-resenas .resenas-client {
      white-space: nowrap;
    }
    #panel-resenas .resenas-new-dot {
      display: inline-block;
      width: 6px;
      height: 6px;
      margin-left: 3px;
      border-radius: 999px;
      background: var(--bd-warn-border, #f59e0b);
      vertical-align: super;
      position: relative;
      top: -0.12em;
    }
    #panel-resenas tr.resenas-tr--new td:first-child {
      font-weight: 700;
      color: var(--bd-ink, #0f1f17);
    }

    #panel-dev-mediciones .gv-head-actions .btn {
      width: auto;
    }
    #panel-dev-mediciones .gv-head-actions .btn[hidden] {
      display: none !important;
    }
    #panel-dev-mediciones .dev-med-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin: 8px 0 16px;
    }
    #panel-dev-mediciones .dev-med-card {
      padding: 16px 18px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-0, #fff);
    }
    #panel-dev-mediciones .dev-med-card h3 {
      margin: 4px 0 6px;
      font-size: 1.25rem;
      color: var(--bd-ink, #14241c);
    }
    #panel-dev-mediciones .dev-med-card__meta {
      margin: 0;
      font-size: 0.86rem;
      line-height: 1.45;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones .dev-med-card--pending {
      background: var(--bd-n-50, #f6f8f7);
    }
    #panel-dev-mediciones .dev-med-verdict {
      padding: 16px 18px;
      margin: 0 0 16px;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-0, #fff);
    }
    #panel-dev-mediciones .dev-med-verdict--is-ok {
      border-color: var(--bd-g-400, #86c4a8);
      background: var(--bd-g-50, #f0faf4);
    }
    #panel-dev-mediciones .dev-med-verdict--is-warn {
      border-color: var(--bd-warn-bd, #f3d39a);
      background: var(--bd-warn-bg, #fff8eb);
    }
    #panel-dev-mediciones .dev-med-verdict--is-bad {
      border-color: var(--bd-danger-bd, #f1c0c0);
      background: var(--bd-danger-bg, #fef2f2);
    }
    #panel-dev-mediciones .dev-med-verdict__row {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin-top: 6px;
    }
    #panel-dev-mediciones .dev-med-verdict__blurb {
      margin: 0;
      font-size: 0.92rem;
      line-height: 1.45;
      color: var(--bd-ink, #14241c);
    }
    #panel-dev-mediciones .dev-med-verdict__counts {
      margin: 10px 0 0;
      font-size: 0.82rem;
      font-weight: 650;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones .dev-med-verdict__legend {
      margin: 10px 0 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      gap: 8px 16px;
      font-size: 0.75rem;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones .dev-med-table .dev-med-grade {
      font-size: 0.7rem;
      padding: 4px 10px;
      letter-spacing: 0.04em;
    }
    #panel-dev-mediciones .dev-med-table-wrap {
      overflow: auto;
      border: 1px solid var(--bd-n-200, #e7eaf0);
      border-radius: var(--bd-radius-lg, 14px);
      background: var(--bd-n-0, #fff);
    }
    #panel-dev-mediciones .dev-med-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.9rem;
    }
    #panel-dev-mediciones .dev-med-table th,
    #panel-dev-mediciones .dev-med-table td {
      padding: 12px 14px;
      text-align: left;
      border-bottom: 1px solid var(--bd-n-200, #e7eaf0);
      vertical-align: top;
      color: var(--bd-ink, #14241c);
    }
    #panel-dev-mediciones .dev-med-table thead th {
      font-size: 0.78rem;
      letter-spacing: 0.02em;
      color: var(--bd-ink-soft, #5b6b62);
      background: var(--bd-n-50, #f6f8f7);
    }
    #panel-dev-mediciones .dev-med-table thead th span {
      font-weight: 500;
    }
    #panel-dev-mediciones .dev-med-table tbody th {
      font-weight: 650;
      min-width: 220px;
    }
    #panel-dev-mediciones .dev-med-table td {
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }
    #panel-dev-mediciones .dev-med-table td small {
      display: block;
      margin-top: 2px;
      color: var(--bd-ink-soft, #5b6b62);
      font-size: 0.75rem;
    }
    #panel-dev-mediciones .dev-med-name {
      display: block;
    }
    #panel-dev-mediciones .dev-med-hint {
      display: block;
      margin-top: 3px;
      font-size: 0.75rem;
      font-weight: 500;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones .dev-med-delta.is-worse {
      color: var(--bd-danger-700, #b91c1c);
      font-weight: 700;
    }
    #panel-dev-mediciones .dev-med-delta.is-better {
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      font-weight: 700;
    }
    #panel-dev-mediciones .dev-med-delta.is-flat {
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones .dev-med-bars {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 72px;
    }
    #panel-dev-mediciones .dev-med-bars__a,
    #panel-dev-mediciones .dev-med-bars__b {
      display: block;
      height: 6px;
      border-radius: 99px;
      background: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    #panel-dev-mediciones .dev-med-bars__b {
      background: var(--bd-ink, #14241c);
      opacity: 0.55;
    }
    #panel-dev-mediciones .dev-med-foot {
      margin: 12px 0 0;
      font-size: 0.8rem;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones #dev-med-tabs {
      margin: 4px 0 16px;
    }
    #panel-dev-mediciones .dev-med-empty {
      margin: 8px 0 0;
      font-size: 0.92rem;
      line-height: 1.45;
      color: var(--bd-ink-soft, #5b6b62);
    }
    #panel-dev-mediciones .dev-med-shops-table tbody tr {
      cursor: pointer;
    }
    #panel-dev-mediciones .dev-med-shops-table tbody tr:hover {
      background: var(--bd-n-50, #f6f8f7);
    }
    #panel-dev-mediciones .dev-med-shops-table tbody tr.is-selected {
      background: var(--bd-g-50, #f0faf4);
    }
    #panel-dev-mediciones .dev-med-shop-detail {
      margin-top: 18px;
    }
    #panel-dev-mediciones .dev-med-shop-detail h3 {
      margin: 0 0 10px;
      font-size: 1.05rem;
      color: var(--bd-ink, #14241c);
    }
    #panel-dev-mediciones .dev-med-group {
      margin: 0 0 16px;
    }
    #panel-dev-mediciones .dev-med-group__head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 8px;
    }
    #panel-dev-mediciones .dev-med-group__head h4 {
      margin: 0;
      font-size: 0.95rem;
      color: var(--bd-ink, #14241c);
    }
    #panel-dev-mediciones .dev-med-group__count {
      font-size: 0.78rem;
      color: var(--bd-ink-soft, #6B7280);
    }
    @media (max-width: 720px) {
      #panel-dev-mediciones .dev-med-cards {
        grid-template-columns: 1fr;
      }
    }

    /* ═══ Certificado digital (Configuración → General) + chips Subido / No subido ═══ */
    .bardev-panel-title-row { margin-bottom: 12px; }
    .bardev-cert-row {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }
    .bardev-cert-row--card {
      padding: 12px 14px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: 12px;
      background: var(--bd-n-0, #fff);
    }
    .bardev-cert-row--note { font-size: 0.86rem; }
    .bardev-cert-row__label {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--bd-ink-soft, #6B7280);
    }
    .bardev-cert-row__meta { font-size: 0.8rem; flex: 1 1 200px; min-width: 0; }
    .bardev-cert-row--card .bardev-cert-row__btn { margin-left: auto; height: 40px; width: auto; }
    .bardev-cert-row__link {
      appearance: none;
      background: none;
      border: 0;
      padding: 0;
      cursor: pointer;
      font: inherit;
      font-size: 0.84rem;
      font-weight: 600;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .bardev-cert-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 12px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-50, #f8fafc);
      color: var(--bd-ink-soft, #6B7280);
      font-size: 0.76rem;
      font-weight: 700;
      letter-spacing: 0.03em;
      line-height: 1.3;
      white-space: nowrap;
    }
    .bardev-cert-chip::before {
      content: '';
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: currentColor;
      opacity: 0.85;
    }
    .bardev-cert-chip--ok {
      background: var(--bv-g-ecfdf5, #ecfdf5);
      border-color: var(--bv-g-6ee7b7, #6ee7b7);
      color: var(--bv-g-047857, #047857);
    }
    .bardev-cert-chip--ko {
      background: var(--c-rojo-50b);
      border-color: var(--c-rojo-200);
      color: var(--c-rojo-500);
    }
    .bardev-cert-chip--warn {
      background: var(--c-ambar-50);
      border-color: var(--c-ambar-350);
      color: var(--c-naranja-650b);
    }
    .bardev-cert-chip--btn {
      appearance: none;
      cursor: pointer;
      font: inherit;
      font-size: 0.76rem;
      font-weight: 700;
    }
    .bardev-cert-chip--btn:hover { filter: brightness(0.97); }
    .bardev-cert-card {
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: 12px;
      padding: 14px;
      background: var(--bd-n-0, #fff);
    }
    .bardev-cert-drop {
      border: 1px dashed var(--bd-n-300, #D1D5DB);
      border-radius: 10px;
      padding: 14px;
      background: var(--bd-n-50, #f8fafc);
    }
    .bardev-cert-uses {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-width: 760px;
    }
    .bardev-cert-uses li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 14px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      border-radius: 12px;
      background: var(--bd-n-0, #fff);
    }
    .bardev-cert-uses li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .bardev-cert-uses li .sub { font-size: 0.8rem; }
    .impuestos-wiz__channel {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      flex-wrap: wrap;
      margin: 0 0 14px;
      padding: 10px 14px;
      border-radius: 12px;
      border: 1px solid var(--bd-n-200, #E7EAF0);
      background: var(--bd-n-50, #f8fafc);
    }
    .impuestos-wiz__channel > div { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
    .impuestos-wiz__channel strong { font-size: 0.86rem; color: var(--bd-ink, #0f172a); }
    .impuestos-wiz__channel .sub { font-size: 0.8rem; }
    .impuestos-wiz__present-result {
      margin: 0 0 14px;
      padding: 10px 14px;
      border-radius: 12px;
      border: 1px solid var(--bv-g-6ee7b7, #6ee7b7);
      background: var(--bv-g-ecfdf5, #ecfdf5);
      color: var(--bv-g-065f46, #065f46);
      font-size: 0.86rem;
    }
    .impuestos-wiz__present-result a { color: var(--bv-g-047857, #047857); font-weight: 600; }

    /* Developer — Colores Barveo */
    .dev-colores-list {
      list-style: none;
      margin: 12px 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 64rem;
    }
    .dev-colores-contrast {
      margin: 0 0 16px;
      max-width: 52rem;
    }
    .dev-colores-contrast__title {
      margin: 0 0 8px;
    }
    .dev-colores-contrast__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
    .dev-colores-contrast__sample {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 14px 14px 12px;
      border-radius: 12px;
      border: 1px solid var(--ds-border, #E5D9C4);
      min-height: 72px;
      box-sizing: border-box;
    }
    .dev-colores-contrast__lbl {
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      opacity: 0.85;
    }
    .dev-colores-contrast__txt {
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.2;
    }
    /* Oscuro corporativo → texto claro (tokens 01/05 + 03) */
    .dev-colores-contrast__sample--on-dark {
      background: var(--ds-accent, var(--bv-g-047857, #047857));
      border-color: var(--ds-accent, var(--bv-g-047857, #047857));
      color: var(--ds-text-on-accent, var(--bd-on-solid, #ffffff));
      -webkit-text-fill-color: var(--ds-text-on-accent, var(--bd-on-solid, #ffffff));
    }
    .dev-colores-contrast__sample--on-green {
      background: var(--ds-brand-green, var(--bv-g-114830, #114830));
      border-color: var(--ds-brand-green, var(--bv-g-114830, #114830));
      color: var(--barveo-on-05, var(--ds-text-on-accent, var(--bd-on-solid, #ffffff)));
      -webkit-text-fill-color: var(--barveo-on-05, var(--ds-text-on-accent, var(--bd-on-solid, #ffffff)));
    }
    /* Claro corporativo → texto oscuro (tokens 02/06 + 04) */
    .dev-colores-contrast__sample--on-light {
      background: var(--ds-brand-beige, #FCF7EA);
      border-color: var(--ds-border, #E5D9C4);
      color: var(--barveo-on-06, var(--ds-text-primary, var(--bd-ink, #0F1F17)));
      -webkit-text-fill-color: var(--barveo-on-06, var(--ds-text-primary, var(--bd-ink, #0F1F17)));
    }
    @media (max-width: 720px) {
      .dev-colores-contrast__grid {
        grid-template-columns: 1fr;
      }
    }
    .dev-colores-row {
      display: grid;
      grid-template-columns: 44px 40px minmax(90px, 1fr) 48px minmax(88px, 110px) minmax(200px, 1.35fr) minmax(108px, 132px) auto;
      gap: 10px;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid var(--ds-border, #E5D9C4);
      border-radius: 12px;
      background: var(--ds-brand-beige-soft, #FEF9F1);
      box-sizing: border-box;
    }
    .dev-colores-row__swatch {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      border: 1px solid var(--ds-border-2, #D4C8B0);
      box-sizing: border-box;
    }
    .dev-colores-row__num {
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
      font-size: 0.9rem;
    }
    .dev-colores-row__name,
    .dev-colores-row__hex,
    .dev-colores-row__text-hex {
      width: 100%;
      box-sizing: border-box;
      min-height: 40px;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--ds-border, #E5D9C4);
      background: var(--bd-n-0, #fff);
      color: var(--ds-text-primary, #0F1F17);
      font-size: 0.9rem;
    }
    .dev-colores-row__picker,
    .dev-colores-row__text-picker {
      width: 40px;
      height: 40px;
      padding: 0;
      border: 1px solid var(--ds-border, #E5D9C4);
      border-radius: 8px;
      background: transparent;
      cursor: pointer;
      box-sizing: border-box;
    }
    .dev-colores-row__text-wrap {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
    }
    .dev-colores-row__text-label {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
    }
    .dev-colores-row__text-controls {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
    }
    .dev-colores-row__text-hex {
      width: 92px;
      flex: 0 0 auto;
      min-height: 36px;
      padding: 6px 8px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
      font-size: 0.82rem;
    }
    .dev-colores-row__text-presets {
      display: inline-flex;
      gap: 4px;
    }
    .dev-colores-row__text-preset {
      width: auto !important;
      min-width: 0;
      height: 32px;
      padding: 0 8px;
      font-size: 0.72rem;
      font-weight: 700;
    }
    .dev-colores-row__sample {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 2px;
      min-height: 56px;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid rgba(15, 31, 23, 0.14);
      box-sizing: border-box;
      text-align: left;
    }
    .dev-colores-row__sample-aa {
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: 0.02em;
    }
    .dev-colores-row__sample-txt {
      font-size: 0.78rem;
      font-weight: 600;
      line-height: 1.2;
      opacity: 0.95;
    }
    .dev-colores-clash {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      grid-column: 1 / -1;
    }
    .dev-colores-clash[hidden] {
      display: none;
    }
    .dev-colores-clash__label {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--ds-brand-brown, var(--bv-b-8f6845, #8F6845));
    }
    .dev-colores-clash__label--gamut {
      color: var(--bd-warn-800, #92400e);
      background: var(--bd-warn-50, #fffbeb);
      border: 1px solid var(--bd-warn-200, #fde68a);
      border-radius: 999px;
      padding: 4px 10px;
    }
    .dev-colores-clash__label--anchor,
    .dev-colores-clash__label--ok {
      color: var(--ds-brand-green, var(--bv-g-114830, #114830));
      background: var(--ds-brand-mint, var(--bv-g-e4f6ec, #E4F6EC));
      border: 1px solid color-mix(in srgb, var(--ds-accent, var(--bv-g-047857, #047857)) 35%, transparent);
      border-radius: 999px;
      padding: 4px 10px;
    }
    .dev-colores-clash__btn {
      width: auto !important;
      height: 32px;
      padding: 0 10px;
      font-size: 0.78rem;
    }
    .dev-colores-row__remove {
      width: 40px !important;
      height: 40px;
      min-width: 40px;
      padding: 0;
      font-size: 1.25rem;
      line-height: 1;
    }
    .dev-colores-recs {
      margin-top: 16px;
      max-width: 64rem;
    }
    .dev-colores-recs[hidden] {
      display: none;
    }
    .dev-colores-recs__title {
      margin: 0 0 8px;
    }
    .dev-colores-recs__chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .dev-colores-rec-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: auto !important;
      min-height: 36px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid var(--ds-border, #E5D9C4);
      background: var(--bd-n-0, #fff);
      color: var(--ds-text-primary, #0F1F17);
      cursor: pointer;
      font-size: 0.82rem;
    }
    .dev-colores-rec-chip:hover {
      border-color: var(--ds-brand-brown, var(--bv-b-8f6845, #8F6845));
    }
    .dev-colores-rec-chip__swatch {
      width: 18px;
      height: 18px;
      border-radius: 999px;
      border: 1px solid rgba(15, 31, 23, 0.18);
      flex-shrink: 0;
    }
    @media (max-width: 900px) {
      .dev-colores-row {
        grid-template-columns: 36px 36px 1fr auto;
        grid-template-areas:
          "swatch num name remove"
          "picker . hex hex"
          "text text text sample"
          "clash clash clash clash";
      }
      .dev-colores-row__swatch { grid-area: swatch; }
      .dev-colores-row__num { grid-area: num; }
      .dev-colores-row__name { grid-area: name; }
      .dev-colores-row__picker { grid-area: picker; }
      .dev-colores-row__hex { grid-area: hex; }
      .dev-colores-row__text-wrap { grid-area: text; }
      .dev-colores-row__sample { grid-area: sample; min-width: 96px; }
      .dev-colores-clash { grid-area: clash; }
      .dev-colores-row__remove { grid-area: remove; }
    }
    /* Con los 4 colores fijos no se añaden más: .gv-head-actions (display:flex) anulaba [hidden]. */
    .dev-colores-add-row[hidden],
    .dev-colores-recs[hidden] {
      display: none !important;
    }
    /* Proporción de uso del Manual de marca (70 % base · 25 % contraste · 5 % resalte), con los colores en vivo. */
    .dev-colores-prop {
      margin: 0 0 14px;
      max-width: 1100px;
    }
    .dev-colores-prop__title {
      margin: 0 0 6px;
    }
    .dev-colores-prop__bar {
      display: flex;
      height: 44px;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid var(--ds-border, #e5d9c4);
      font-size: 0.8rem;
      font-weight: 600;
    }
    .dev-colores-prop__seg {
      display: flex;
      align-items: center;
      padding: 0 12px;
      white-space: nowrap;
      overflow: hidden;
    }
    .dev-colores-prop__seg--base {
      flex: 70;
      background: var(--barveo-palette-06, #F4F2ED);
      color: var(--barveo-on-06, #26313A);
    }
    .dev-colores-prop__seg--contrast {
      flex: 25;
      background: var(--barveo-palette-05, #26313A);
      color: var(--barveo-on-05, #F4F2ED);
    }
    .dev-colores-prop__seg--accent {
      flex: 5;
      min-width: 44px;
      justify-content: center;
      padding: 0 4px;
      background: var(--barveo-palette-07, #C8463D);
      color: var(--barveo-on-07, #FFFFFF);
    }
    /* Paleta de 4 colores: base, básico, contraste y resalte (sin nombre editable ni quitar). */
    .dev-colores-row--role {
      grid-template-columns: 44px minmax(160px, 1.2fr) 48px minmax(88px, 110px) minmax(200px, 1.35fr) minmax(108px, 132px);
    }
    .dev-colores-row__role {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      color: var(--ds-text-primary, #0F1F17);
    }
    .dev-colores-row__role-hint {
      font-size: 0.8rem;
      color: var(--ds-text-secondary, #5B6B63);
      line-height: 1.3;
    }
    @media (max-width: 900px) {
      .dev-colores-row--role {
        grid-template-columns: 36px 1fr auto;
        grid-template-areas:
          "swatch role role"
          "picker hex hex"
          "text text sample";
      }
      .dev-colores-row__role { grid-area: role; }
    }


/* Solapadas: área completa de captura por encima de rail y faldón de espera. */
.agenda-card--split-lane.agenda-card--draggable > .agenda-card__resize {
  width: 22px;
  height: 22px;
  z-index: 45;
  pointer-events: auto;
  touch-action: none;
}

/* Controles persistentes: visibles sobre cualquier color de servicio. */
html .agenda-card--draggable .agenda-card__move-grip,
html.bardev-panel-theme-light .agenda-card--draggable .agenda-card__move-grip {
  display: flex !important;
  width: 28px;
  height: 18px;
  z-index: 46;
  opacity: .5;
  color: var(--ds-text-primary, #17231d);
  background: transparent;
  border: 0;
  box-shadow: none;
}
html .agenda-card--draggable .agenda-card__move-grip-ridges,
html.bardev-panel-theme-light .agenda-card--draggable .agenda-card__move-grip-ridges {
  width: 12px;
  height: 6px;
  background: repeating-linear-gradient(to bottom, currentColor 0 1px, transparent 1px 2px) !important;
}
html .agenda-card--compact-strip.agenda-card--draggable .agenda-card__move-grip {
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
}
html .agenda-card--compact-strip.agenda-card--draggable .agenda-card__body {
  padding-left: 0 !important;
}
html .agenda-card--draggable > .agenda-card__resize {
  width: 22px;
  height: 22px;
  z-index: 45;
  background: transparent;
  color: var(--ds-text-primary, #17231d);
  border: 0;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
html .agenda-card--draggable .agenda-card__resize-glyph-arc {
  stroke: var(--ds-text-primary, #17231d);
  stroke-width: 2;
}

html .agenda-card--draggable > .agenda-card__resize .agenda-card__resize-glyph {
  width: 12px;
  height: 12px;
}
html .agenda-card--draggable > .agenda-card__resize {
  box-shadow: none;
}

/* Una misma ancla superior en tarjetas normales, compactas y solapadas. */
html .agenda-card.agenda-card--draggable > .agenda-card__move-grip {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 18px;
  height: 10px;
  align-items: flex-start;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  opacity: .5;
}
html .agenda-card.agenda-card--draggable > .agenda-card__move-grip-ridges {
  width: 12px;
  height: 6px;
}
html .agenda-card.agenda-card--draggable .agenda-card__dur {
  position: static;
  margin: 0;
  max-width: none;
  flex-shrink: 0;
}
html .agenda-card.agenda-card--split-lane .agenda-card__dur {
  display: inline-block !important;
}
html .agenda-card--compact-strip.agenda-card--draggable .agenda-card__body,
html .agenda-card--compact-strip.agenda-card--draggable:has(.agenda-card__compact-strip--two-line) .agenda-card__body {
  justify-content: flex-start;
}
/* Reserva mínima para que las horas no crucen el símbolo en tarjetas estrechas. */
html .agenda-card.agenda-card--draggable .agenda-card__body {
  padding-top: 8px !important;
}

/* Resize en la esquina: el área activa no invade los botones del rail. */
html .agenda-card.agenda-card--draggable > .agenda-card__resize {
  right: 0;
  bottom: 0;
  width: 14px;
  height: 14px;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
}
html .agenda-card.agenda-card--draggable > .agenda-card__resize .agenda-card__resize-glyph {
  width: 10px;
  height: 10px;
}

/* ═══════════════ Recursos: salas y aparatos ═══════════════ */
#panel-recursos .gv-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#panel-recursos .gv-head-actions .btn {
  width: auto;
  height: 40px;
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
#panel-recursos .gv-head-actions .btn.btn-icon {
  width: 40px;
  padding: 0;
  justify-content: center;
}
#panel-recursos .gv-head-actions .btn svg {
  width: 18px;
  height: 18px;
}
.recursos-wrap {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 14px;
}
.recursos-empty {
  padding: 22px 20px;
  border-radius: var(--bd-radius-xl, 22px);
}
.recursos-empty__title {
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 1rem;
}
.recursos-type {
  padding: 14px 16px 16px;
  border-radius: var(--bd-radius-xl, 22px);
}
.recursos-type__head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.recursos-type__ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
  color: var(--bd-g-700, var(--bv-g-047857, #047857));
  flex-shrink: 0;
}
.recursos-type__ico svg { width: 22px; height: 22px; }
.recursos-type__titles { flex: 1 1 auto; min-width: 0; }
.recursos-type__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
}
.recursos-type__meta { margin: 2px 0 0; }
.recursos-type__actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.recursos-type__actions .btn {
  width: auto;
  height: 40px;
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.recursos-type__actions .btn.btn-icon { width: 40px; padding: 0; justify-content: center; }
.recursos-type__actions .btn svg { width: 18px; height: 18px; }
.recursos-type__empty { margin: 10px 0 0; }
.recursos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.recursos-card {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 12px 14px;
  border-radius: var(--bd-radius-lg, 16px);
  border: 1px solid var(--bd-n-200, #dce3df);
  background: var(--bd-n-0, #fff);
  color: var(--bd-ink, #0f1f17);
  cursor: pointer;
  font: inherit;
  min-height: 64px;
}
.recursos-card:hover { border-color: var(--bd-g-300, var(--bv-g-a7f3d0, #a7f3d0)); background: var(--bd-n-50, #f8fafc); }
.recursos-card--off { opacity: 0.6; }
.recursos-card__color {
  width: 10px;
  height: 36px;
  border-radius: 6px;
  flex-shrink: 0;
}
.recursos-card__ico {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
  color: var(--bd-g-700, var(--bv-g-047857, #047857));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.recursos-card__ico svg { width: 20px; height: 20px; display: block; }
.recursos-card__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.recursos-card__name { font-weight: 700; }
.recursos-card__meta { font-size: 0.74rem; opacity: 0.75; }
.recursos-card .bd-pill { flex-shrink: 0; }

/* Modales Recursos (misma estructura que #svc-modal) */
.bardev-modal-overlay > .recursos-modal-panel {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  overflow: hidden;
  width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
  max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
  max-height: var(--bardev-modal-content-cap, calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))) !important;
  box-sizing: border-box;
}
.recursos-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--bd-n-200, #dce3df);
  flex-shrink: 0;
}
.recursos-modal-head h3 { margin: 0; font-size: 1.05rem; font-weight: 800; }
.recursos-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 16px 16px;
}
.recursos-modal-foot {
  flex-shrink: 0;
  padding: 12px 16px 14px;
  border-top: 1px solid var(--bd-n-200, #dce3df);
}
.recursos-modal-foot-row { display: flex; gap: 10px; align-items: center; }
.recursos-modal-foot-row .bd-btn--row { flex: 1 1 auto; min-height: var(--bd-cta-h, 54px); }
.recursos-modal-foot-row .bd-btn--ghost { min-height: var(--bd-cta-h, 54px); padding: 0 16px; }
.recursos-field { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; }
.recursos-field input:not([type='checkbox']):not([type='color']),
.recursos-field select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: var(--bd-radius-md, 12px);
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text);
  font: inherit;
}
.recursos-field input[type='color'] {
  width: 100%;
  height: 44px;
  padding: 4px;
  border-radius: var(--bd-radius-md, 12px);
  border: 1px solid var(--border);
  background: var(--card);
}
.recursos-check { display: flex; align-items: center; gap: 8px; cursor: pointer; margin: 0 0 12px; }
.recursos-check input { width: 18px; height: 18px; accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }
.recursos-hint { font-size: 0.72rem; line-height: 1.35; margin: 6px 0 0; }
.recursos-field .phone-asst-modes { display: flex; gap: 8px; flex-wrap: wrap; }
.recursos-field .phone-asst-modes .btn { width: auto; height: 40px; min-height: 40px; padding: 0 14px; margin: 0; }
/* El DS pinta .btn.secondary en blanco con !important; sin esto el is-on no se ve. */
html.bardev-panel-theme-light #recursos-modal .btn.secondary.recursos-avail-mode.is-on,
html.bardev-panel-theme-light #recursos-modal .btn.secondary.recursos-avail-mode.is-on:hover:not(:disabled),
html.bardev-panel-theme-light #recursos-modal .btn.secondary.recursos-avail-mode.is-on:active:not(:disabled),
html.bardev-panel-theme-light #recursos-type-modal .btn.secondary.recursos-kind.is-on,
html.bardev-panel-theme-light #recursos-type-modal .btn.secondary.recursos-kind.is-on:hover:not(:disabled),
html.bardev-panel-theme-light #recursos-type-modal .btn.secondary.recursos-kind.is-on:active:not(:disabled) {
  background: var(--bd-g-200, var(--bv-g-a7f3d0, #a7f3d0)) !important;
  color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
  border-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
}
.recursos-avail-hours { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.recursos-avail-row { display: grid; grid-template-columns: 96px 1fr auto 1fr; gap: 8px; align-items: center; }
.recursos-avail-day { display: flex; align-items: center; gap: 6px; font-size: 0.85rem; }
.recursos-avail-day input { width: 16px; height: 16px; accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }
.recursos-avail-row input[type='time'] { padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--card); color: var(--text); font: inherit; }
.recursos-avail-sep { opacity: 0.6; }
.recursos-blocks-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.recursos-blocks-head .btn { width: auto; height: 40px; min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.recursos-blocks-head .btn svg { width: 18px; height: 18px; }
.recursos-blocks-list { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.recursos-block-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--bd-n-200, #dce3df);
  background: var(--bd-n-50, #f8fafc);
  font-size: 0.82rem;
}
.recursos-block-row__when { font-weight: 600; }
.recursos-block-row__why { flex: 1 1 auto; opacity: 0.75; }
.recursos-block-row .btn.btn-icon { width: 36px; height: 36px; min-height: 36px; padding: 0; margin: 0; display: inline-flex; align-items: center; justify-content: center; }
.recursos-block-row .btn svg { width: 16px; height: 16px; }

/* Editor «Recursos necesarios» dentro de los modales de servicio */
.recursos-req-list { display: flex; flex-direction: column; gap: 8px; }
.recursos-req-row {
  border: 1px solid var(--bd-n-200, #dce3df);
  border-radius: 12px;
  padding: 8px 10px;
  background: var(--bd-n-50, #f8fafc);
}
.recursos-req-row__main { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 0.88rem; }
.recursos-req-row__main input { width: 18px; height: 18px; accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }
.recursos-req-row__name { font-weight: 700; }
.recursos-req-row__opts { margin: 8px 0 0 26px; display: flex; flex-direction: column; gap: 6px; }
.recursos-req-row__opts select { padding: 8px 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--card); color: var(--text); font: inherit; max-width: 260px; }
.recursos-req-picks { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.recursos-req-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--bd-g-100, #d1fae5);
  color: var(--bd-g-800, #065f46);
  font-size: 0.82rem;
  font-weight: 650;
}
.recursos-req-specific { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.recursos-req-pick { display: inline-flex; align-items: center; gap: 6px; font-size: 0.82rem; cursor: pointer; }
.recursos-req-pick input { width: 16px; height: 16px; accent-color: var(--bd-g-600, var(--bv-g-047857, #047857)); }

/* Aviso de hueco sin recurso en las cápsulas de hora */
.agenda-time-capsule--no-resource,
.agenda-m-time-cap--no-resource {
  border-style: dashed !important;
  opacity: 0.8;
  position: relative;
}
.agenda-time-capsule--no-resource::after,
.agenda-m-time-cap--no-resource::after {
  content: '!';
  position: absolute;
  top: -6px;
  right: -6px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--bd-warn-500, #f59e0b);
  color: var(--c-blanco);
  font-size: 0.65rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.agenda-d-resources {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 2px 4px 2px 0;
}
.agenda-d-resources[hidden] { display: none !important; }
.agenda-d-res-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  margin-top: auto;
  padding: 8px 10px 8px 14px;
  border-radius: 14px;
  background: var(--bd-n-0, #fff);
  border: 1px solid var(--bd-n-200, #dce3df);
  box-shadow: var(--ds-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.08));
  overflow: visible;
}
.agenda-d-res-box #btn-agenda-d-add-res {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  min-height: 32px;
  border-radius: 0;
}
.agenda-d-res-ico {
  position: relative;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.agenda-d-res-ico__glyph {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--bd-g-100, var(--bv-g-d1fae5, #d1fae5));
  color: var(--bd-g-700, var(--bv-g-047857, #047857));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: default;
}
.agenda-d-res-ico__glyph svg { width: 16px; height: 16px; display: block; }
.agenda-d-res-ico__x {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--bd-n-200, #dce3df);
  background: var(--bd-n-0, #fff);
  color: var(--bd-ink-soft, #6b7280);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ds-shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.08));
}
.agenda-d-res-ico__x:hover {
  background: var(--c-blanco);
  border-color: var(--bd-danger-600, #b91c1c);
  color: var(--bd-danger-600, #b91c1c);
}
.agenda-detail-resrow-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 14px;
}
.agenda-detail-resrow-wrap[hidden],
#agenda-d-res-wrap[hidden] { display: none !important; }
#agenda-d-res-wrap {
  overflow: visible;
}
.recursos-assign-list { display: flex; flex-direction: column; gap: 6px; }
.recursos-assign-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--bd-n-200, #dce3df);
  background: var(--bd-n-0, #fff);
  color: var(--bd-ink, #0f1f17);
  cursor: pointer;
  font: inherit;
  font-weight: 650;
}
.recursos-assign-item:hover {
  border-color: var(--bd-g-300, var(--bv-g-a7f3d0, #a7f3d0));
  background: var(--bd-n-50, #f8fafc);
}
.recursos-assign-item__ico {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
  color: var(--bd-g-700, var(--bv-g-047857, #047857));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.recursos-assign-item__ico svg { width: 18px; height: 18px; display: block; }
.agenda-card__resource-ico {
  position: relative;
  z-index: 4;
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--bv-g-047857, #047857);
  background: var(--bv-g-ecfdf5, #ecfdf5);
  border: 1px solid var(--bv-g-a7f3d0, #a7f3d0);
  flex-shrink: 0;
  pointer-events: auto;
  cursor: help;
  box-sizing: border-box;
}
.agenda-card__resource-ico svg {
  display: block;
  width: 11px;
  height: 11px;
}
html.bardev-panel-theme-light .agenda-card__resource-ico {
  color: var(--bv-g-047857, #047857) !important;
  background: var(--bv-g-ecfdf5, #ecfdf5) !important;
  border: 1px solid var(--bv-g-a7f3d0, #a7f3d0) !important;
  box-shadow: none !important;
}
.agenda-card--compact-strip .agenda-card__resource-ico {
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
}
.agenda-card--compact-strip .agenda-card__resource-ico svg {
  width: 10px;
  height: 10px;
}
    /* ─── Configuración > General > Porfolio (js/panel-porfolio.js) ─────────────
     * Tarjetas como Centro de trabajo; explicación en Hueso con texto Tinta; rejilla
     * de cortes 4:5; modal «Ficha del corte» con chips cerrados. Solo tokens. */
    #inicio-tab-panel-porfolio .gv-head-actions .btn {
      width: auto !important;
    }
    #inicio-tab-panel-porfolio #porfolio-file {
      display: none !important;
    }
    #inicio-tab-panel-porfolio .porfolio-intro {
      max-width: 52rem;
      margin: 8px 0 16px;
      padding: 14px 16px;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-brand-beige, var(--c-hueso));
      color: var(--bd-ink);
      line-height: 1.55;
    }
    #inicio-tab-panel-porfolio .porfolio-intro p {
      margin: 0 0 8px;
      color: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-intro__lead {
      font-size: 1.05rem;
      font-weight: 700;
    }
    #inicio-tab-panel-porfolio .porfolio-intro .porfolio-intro__count {
      margin: 0;
      font-size: 0.88rem;
      font-weight: 600;
    }
    #inicio-tab-panel-porfolio .porfolio-solo-lectura {
      margin: 0 0 12px;
    }
    #inicio-tab-panel-porfolio .porfolio-layout {
      grid-template-columns: minmax(0, 1fr) minmax(260px, 0.6fr);
    }
    @media (max-width: 900px) {
      #inicio-tab-panel-porfolio .porfolio-layout {
        grid-template-columns: 1fr;
      }
    }
    #inicio-tab-panel-porfolio .porfolio-main,
    #inicio-tab-panel-porfolio .porfolio-side {
      display: flex;
      flex-direction: column;
      gap: 12px;
      min-width: 0;
    }

    /* Rejilla de cortes */
    #inicio-tab-panel-porfolio .porfolio-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
      gap: 12px;
    }
    #inicio-tab-panel-porfolio .porfolio-empty,
    #inicio-tab-panel-porfolio .porfolio-cargando {
      grid-column: 1 / -1;
      margin: 0;
      padding: 18px 12px;
      text-align: center;
      color: var(--bd-ink-soft);
    }
    #inicio-tab-panel-porfolio .porfolio-empty p {
      margin: 0 0 4px;
    }
    #inicio-tab-panel-porfolio .porfolio-card {
      display: flex;
      flex-direction: column;
      min-width: 0;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-0);
      overflow: hidden;
    }
    #inicio-tab-panel-porfolio .porfolio-card__img {
      aspect-ratio: 4 / 5;
      background: var(--bd-n-50);
      overflow: hidden;
    }
    #inicio-tab-panel-porfolio .porfolio-card__img img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    #inicio-tab-panel-porfolio .porfolio-card--oculta .porfolio-card__img img {
      opacity: 0.72;
    }
    #inicio-tab-panel-porfolio .porfolio-card__body {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 10px 10px 12px;
      flex: 1;
    }
    #inicio-tab-panel-porfolio .porfolio-card__name {
      font-size: 0.92rem;
      line-height: 1.3;
      color: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-card__pills {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
    }
    #inicio-tab-panel-porfolio .porfolio-card__pills .bd-pill {
      font-size: 0.72rem;
    }
    #inicio-tab-panel-porfolio .porfolio-card__motivo,
    #inicio-tab-panel-porfolio .porfolio-card__fecha {
      margin: 0;
      font-size: 0.76rem;
      line-height: 1.35;
      color: var(--bd-ink-soft);
    }
    #inicio-tab-panel-porfolio .porfolio-card__actions {
      display: flex;
      gap: 6px;
      margin-top: auto;
      padding-top: 4px;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-porfolio .porfolio-card__actions .btn.secondary.btn-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px !important;
      min-width: 34px;
      height: 34px;
      min-height: 34px;
      margin: 0;
      padding: 0;
      border-radius: 8px;
      background: var(--ds-accent) !important;
      border: 1px solid var(--ds-accent) !important;
      color: var(--bd-on-solid) !important;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-porfolio .porfolio-card__actions .btn.secondary.btn-icon:hover:not(:disabled) {
      background: var(--ds-accent-hover) !important;
      border-color: var(--ds-accent-hover) !important;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-porfolio .porfolio-card__actions .btn.secondary.btn-icon.btn-icon--danger {
      background: var(--ds-danger) !important;
      border-color: var(--ds-danger) !important;
    }
    #inicio-tab-panel-porfolio .porfolio-card__actions .btn-icon svg {
      display: block;
      width: 16px;
      height: 16px;
      fill: none;
      stroke: var(--bd-on-solid);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #inicio-tab-panel-porfolio .porfolio-card__actions .porfolio-act-star.is-on svg {
      fill: var(--bd-on-solid);
    }

    /* Tu estilo según tu porfolio */
    #inicio-tab-panel-porfolio .porfolio-perfil__pendiente {
      margin: 0 0 4px;
      font-weight: 600;
      color: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-perfil__nota {
      margin: 6px 0 0;
      font-size: 0.8rem;
    }
    #inicio-tab-panel-porfolio .porfolio-ejes {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    #inicio-tab-panel-porfolio .porfolio-eje {
      display: grid;
      grid-template-columns: 7.5rem minmax(0, 1fr) 2rem;
      align-items: center;
      gap: 8px;
      font-size: 0.84rem;
      color: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-eje__barra {
      display: block;
      height: 8px;
      border-radius: 999px;
      background: var(--bd-n-200);
      overflow: hidden;
    }
    #inicio-tab-panel-porfolio .porfolio-eje__relleno {
      display: block;
      height: 100%;
      border-radius: 999px;
      background: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-eje__valor {
      text-align: right;
      font-variant-numeric: tabular-nums;
      color: var(--bd-ink-soft);
    }
    #inicio-tab-panel-porfolio .porfolio-perfil__firma-label {
      margin: 12px 0 6px;
    }
    #inicio-tab-panel-porfolio .porfolio-firma {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    #inicio-tab-panel-porfolio .porfolio-firma__chip {
      display: inline-flex;
      align-items: center;
      padding: 4px 10px;
      border-radius: 999px;
      background: var(--bd-ink);
      color: var(--bd-on-solid);
      font-size: 0.8rem;
      font-weight: 600;
    }
    #inicio-tab-panel-porfolio .porfolio-tips {
      margin: 0;
      padding-left: 18px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      font-size: 0.86rem;
      line-height: 1.45;
      color: var(--bd-ink-soft);
    }
    #inicio-tab-panel-porfolio .porfolio-tips strong {
      color: var(--bd-ink);
    }

    /* Modal «Ficha del corte»: cabecera fija, cuerpo con scroll y pie fijo */
    #porfolio-ficha-overlay.bardev-modal-overlay {
      z-index: 20020;
      background: var(--bd-modal-scrim);
      backdrop-filter: var(--bd-modal-scrim-blur);
      -webkit-backdrop-filter: var(--bd-modal-scrim-blur);
    }
    #porfolio-ficha-overlay .bd-panel {
      width: min(880px, calc(100vw - 32px));
      max-width: min(880px, calc(100vw - 32px));
      max-height: calc(100dvh - 40px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .porfolio-ficha__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px 10px;
      border-bottom: 1px solid var(--bd-n-200);
      flex: 0 0 auto;
    }
    .porfolio-ficha__head h3 {
      margin: 0;
      font-size: 1.05rem;
      color: var(--bd-ink);
    }
    .porfolio-ficha__body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      padding: 14px 18px;
      color: var(--bd-ink);
    }
    .porfolio-ficha__layout {
      display: grid;
      grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
      gap: 18px;
      align-items: start;
    }
    @media (max-width: 700px) {
      .porfolio-ficha__layout {
        grid-template-columns: 1fr;
      }
    }
    .porfolio-ficha__preview {
      position: sticky;
      top: 0;
      margin: 0;
      aspect-ratio: 4 / 5;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-50);
      overflow: hidden;
    }
    @media (max-width: 700px) {
      .porfolio-ficha__preview {
        position: static;
        max-width: 200px;
      }
    }
    .porfolio-ficha__preview img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .porfolio-ficha__form {
      display: flex;
      flex-direction: column;
      gap: 14px;
      min-width: 0;
    }
    .porfolio-ficha__group {
      padding: 12px 12px 14px;
      border: 1px solid var(--bd-n-200);
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-0);
    }
    .porfolio-ficha__h {
      margin: 0 0 8px;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--bd-ink);
    }
    .porfolio-ficha__hint {
      margin: -2px 0 8px;
      font-size: 0.8rem;
    }
    .porfolio-ficha__attr + .porfolio-ficha__attr {
      margin-top: 10px;
    }
    .porfolio-ficha__attr[hidden] {
      display: none;
    }
    .porfolio-ficha__attr-name {
      margin: 0 0 6px;
      font-size: 0.84rem;
      font-weight: 600;
      color: var(--bd-ink-soft);
    }
    .porfolio-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    /* Las etiquetas del panel van en versalitas por defecto: aquí, texto normal. */
    #porfolio-ficha-overlay label,
    #porfolio-ficha-overlay label span {
      text-transform: none;
      letter-spacing: normal;
    }
    .porfolio-chip {
      position: relative;
      display: inline-flex;
      margin: 0;
      cursor: pointer;
    }
    .porfolio-chip input {
      position: absolute;
      opacity: 0;
      width: 1px;
      height: 1px;
      margin: 0;
      pointer-events: none;
    }
    .porfolio-chip span {
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      padding: 0 12px;
      border: 1px solid var(--bd-n-300);
      border-radius: 999px;
      background: var(--bd-n-0);
      color: var(--bd-ink);
      font-size: 0.84rem;
      line-height: 1.2;
      user-select: none;
      transition: background-color 0.12s ease, border-color 0.12s ease;
    }
    .porfolio-chip:hover span {
      border-color: var(--bd-ink-soft);
    }
    .porfolio-chip input:checked + span {
      background: var(--bd-ink);
      border-color: var(--bd-ink);
      color: var(--bd-on-solid);
      font-weight: 600;
    }
    .porfolio-chip input:focus-visible + span {
      outline: 2px solid var(--bd-g-600);
      outline-offset: 2px;
    }
    .porfolio-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 0 0 10px;
      font-size: 0.88rem;
      line-height: 1.4;
      color: var(--bd-ink);
      cursor: pointer;
    }
    .porfolio-check input {
      flex: 0 0 auto;
      width: 18px;
      height: 18px;
      margin: 1px 0 0;
      accent-color: var(--bd-ink);
    }
    .porfolio-check em,
    .porfolio-switch em {
      font-style: normal;
      color: var(--bd-ink-soft);
    }
    .porfolio-switches {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 22px;
      margin-top: 4px;
    }
    .porfolio-switch {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      font-size: 0.88rem;
      color: var(--bd-ink);
      cursor: pointer;
    }
    .porfolio-switch input {
      position: absolute;
      opacity: 0;
      width: 1px;
      height: 1px;
      margin: 0;
    }
    .porfolio-switch__track {
      position: relative;
      flex: 0 0 auto;
      width: 42px;
      height: 24px;
      border-radius: 999px;
      background: var(--bd-n-300);
      transition: background-color 0.15s ease;
    }
    .porfolio-switch__track::after {
      content: '';
      position: absolute;
      top: 3px;
      left: 3px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--bd-n-0);
      box-shadow: var(--ds-shadow-sm);
      transition: transform 0.15s ease;
    }
    .porfolio-switch input:checked + .porfolio-switch__track {
      background: var(--bd-ink);
    }
    .porfolio-switch input:checked + .porfolio-switch__track::after {
      transform: translateX(18px);
    }
    .porfolio-switch input:focus-visible + .porfolio-switch__track {
      outline: 2px solid var(--bd-g-600);
      outline-offset: 2px;
    }
    .porfolio-ficha__foot {
      flex: 0 0 auto;
      padding: 12px 18px 16px;
      border-top: 1px solid var(--bd-n-200);
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 8px;
    }
    .porfolio-ficha__foot .msg {
      flex: 1 1 100%;
      margin: 0;
    }
    .porfolio-ficha__foot .msg:empty {
      display: none;
    }
    .porfolio-ficha__foot .btn,
    .porfolio-ficha__foot .btn.secondary,
    .porfolio-ficha__foot .btn.primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      height: 40px;
      min-height: 40px;
      margin: 0;
      padding: 0 14px;
      box-sizing: border-box;
      line-height: 1.2;
      white-space: nowrap;
      box-shadow: none;
    }

    /* Tus estilos: cómo se os da cada corte (muy bien, bien, regular, no lo hacemos) */
    #inicio-tab-panel-porfolio .porfolio-estilos__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex-wrap: wrap;
      margin: 0 0 8px;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__head .bd-label {
      margin: 0;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__head .gv-head-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__head .gv-head-actions .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: auto !important;
      height: 40px;
      min-height: 40px;
      margin: 0;
      padding: 0 14px;
      box-sizing: border-box;
      line-height: 1.2;
      white-space: nowrap;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__intro {
      margin: 0 0 8px;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla th,
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla td {
      padding: 6px 4px;
      border-top: 1px solid var(--bd-n-200);
      text-align: center;
      vertical-align: middle;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla thead th {
      border-top: 0;
      line-height: 1.2;
      font-size: 12px;
      font-weight: 600;
      color: var(--bd-ink-soft);
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla thead th:first-child,
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla td.porfolio-estilos__corte {
      text-align: left;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla td.porfolio-estilos__corte {
      font-size: 13px;
      font-weight: 500;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla input[type='checkbox'] {
      width: 18px;
      height: 18px;
      margin: 0;
      cursor: pointer;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla input[name='pf-est-muy'],
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla input[name='pf-est-bien'] {
      accent-color: var(--ds-accent);
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla input[name='pf-est-regular'] {
      accent-color: var(--bd-warn-fg);
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__tabla input[name='pf-est-no'] {
      accent-color: var(--ds-danger);
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__acciones {
      display: flex;
      justify-content: flex-end;
      margin-top: 10px;
    }

    /* Busto de cada corte a la izquierda de su nombre (30×30); al pulsarlo, en grande. */
    #inicio-tab-panel-porfolio .porfolio-estilos__fila {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__busto {
      flex: none;
      width: 30px;
      height: 30px;
      padding: 0;
      border: 1px solid var(--bd-n-200);
      border-radius: 6px;
      background: #fff;
      overflow: hidden;
      cursor: zoom-in;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__busto img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    #inicio-tab-panel-porfolio .porfolio-estilos__busto:focus-visible {
      outline: 2px solid var(--ds-accent);
      outline-offset: 2px;
    }
    #porfolio-busto-overlay .porfolio-busto {
      width: min(92vw, 560px);
    }
    #porfolio-busto-overlay .porfolio-busto__img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
      object-fit: contain;
      border-radius: var(--bd-radius-md);
      background: #fff;
    }

    /* Cola de fotos de clientes (fase 1: datos simulados, #431) */
    #inicio-tab-panel-porfolio .porfolio-fotos-cli__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex-wrap: wrap;
      margin: 0 0 8px;
    }
    #inicio-tab-panel-porfolio .porfolio-fotos-cli__head .bd-label {
      margin: 0;
      color: var(--bd-g-700, var(--bv-g-047857, #047857));
    }
    #inicio-tab-panel-porfolio .porfolio-fotos-cli__n {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-fotos-cli__intro {
      margin: 0 0 10px;
    }
    #inicio-tab-panel-porfolio .porfolio-fotos-cli__aviso {
      margin: 0 0 10px;
      color: var(--bd-ink-soft);
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli {
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      padding: 12px 0;
      border-top: 1px solid var(--bd-n-200);
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli:first-of-type {
      border-top: 0;
      padding-top: 0;
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli__img {
      width: 72px;
      height: 90px;
      object-fit: cover;
      border-radius: var(--bd-radius-md, 12px);
      background: var(--bd-n-50);
      display: block;
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli__meta {
      margin: 0 0 6px;
      font-size: 0.88rem;
      color: var(--bd-ink);
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli__acts.gv-head-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      margin: 8px 0 0;
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli__acts .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      width: auto !important;
      height: 40px;
      min-height: 40px;
      margin: 0;
      padding: 0 14px;
      box-sizing: border-box;
      line-height: 1.2;
      white-space: nowrap;
    }
    #inicio-tab-panel-porfolio .porfolio-foto-cli__motivo {
      display: block;
      width: auto;
      max-width: 100%;
      margin-top: 8px;
      font: inherit;
      font-size: 0.82rem;
      padding: 6px 8px;
      border: 1px solid var(--bd-n-200);
      border-radius: 8px;
      background: var(--bd-n-0);
      color: var(--bd-ink);
    }

    /* «Tu firma»: chips en Rojo señal con texto claro, en todos los temas (titular, 12-10-2026). */
    #inicio-tab-panel-porfolio .porfolio-firma__chip {
      background: var(--ds-accent, var(--bv-primary, #c8463d)) !important;
      color: var(--ds-text-on-accent, var(--bv-on-primary, #fff)) !important;
      border-color: transparent !important;
      font-weight: 700;
    }
/* ═══ Zona 28 · Ficha del cliente › «Puntuación» (panel-cliente-puntuacion.js) ═══
   10 rasgos fijos de 1 a 5: estrellas (valoración) y escala entre extremos (estilo), con la media
   de las otras barberías Barveo al lado. Solo variables de color existentes. */
    .cliente-ficha-panel .cliente-puntuacion {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .cliente-ficha-panel .cliente-puntuacion__resumen {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-top: 6px;
    }
    .cliente-ficha-panel .cliente-puntuacion__caja {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 12px 14px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
    }
    .cliente-ficha-panel .cliente-puntuacion__total {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      min-height: 24px;
    }
    .cliente-ficha-panel .cliente-puntuacion__cifra {
      font-size: 15px;
      font-weight: 700;
      color: var(--text);
    }
    .cliente-ficha-panel .cliente-puntuacion__cifra--vacia {
      font-size: 13px;
      font-weight: 500;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-puntuacion__mini {
      display: inline-flex;
      gap: 2px;
    }
    .cliente-ficha-panel .cliente-puntuacion__mini-estrella .cliente-puntuacion__svg {
      width: 16px;
      height: 16px;
    }
    .cliente-ficha-panel .cliente-puntuacion__svg {
      display: block;
      width: 26px;
      height: 26px;
      fill: var(--c-gris-100c);
      transition: fill 0.12s ease;
    }
    .cliente-ficha-panel .cliente-puntuacion__mini-estrella.is-on .cliente-puntuacion__svg,
    .cliente-ficha-panel .cliente-puntuacion__opcion.is-on .cliente-puntuacion__svg {
      fill: var(--c-ambar-500);
    }
    .cliente-ficha-panel .cliente-puntuacion__aviso {
      margin: 8px 0 0;
      font-size: 13px;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-puntuacion__aviso.is-error,
    .cliente-ficha-panel .cliente-puntuacion__estado.is-error {
      color: var(--c-rojo-500);
    }
    .cliente-ficha-panel .cliente-puntuacion__rasgo {
      margin: 0;
      padding: 10px 0;
      border: 0;
      border-bottom: 1px solid var(--border);
      min-width: 0;
    }
    .cliente-ficha-panel .cliente-puntuacion__rasgo:last-child {
      border-bottom: 0;
    }
    .cliente-ficha-panel .cliente-puntuacion__nombre {
      padding: 0;
      font-size: 14px;
      font-weight: 600;
      color: var(--text);
    }
    .cliente-ficha-panel .cliente-puntuacion__ayuda {
      font-weight: 400;
      font-size: 12px;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-puntuacion__fila {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px 12px;
      margin-top: 6px;
    }
    .cliente-ficha-panel .cliente-puntuacion__opciones {
      display: inline-flex;
      align-items: center;
      gap: 2px;
    }
    /* Radios accesibles: fuera de la vista pero con foco (sin display:none). */
    .cliente-ficha-panel .cliente-puntuacion__radio {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: 0;
      opacity: 0;
      pointer-events: none;
    }
    .cliente-ficha-panel .cliente-puntuacion__opcion {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 32px;
      min-height: 32px;
      border-radius: 8px;
      cursor: pointer;
    }
    .cliente-ficha-panel .cliente-puntuacion__radio:disabled + .cliente-puntuacion__opcion {
      cursor: default;
    }
    .cliente-ficha-panel .cliente-puntuacion__radio:focus-visible + .cliente-puntuacion__opcion {
      outline: 2px solid var(--bd-g-600);
      outline-offset: 1px;
    }
    .cliente-ficha-panel .cliente-puntuacion__opciones--valoracion:hover .cliente-puntuacion__radio:not(:disabled) + .cliente-puntuacion__opcion:hover .cliente-puntuacion__svg {
      fill: var(--c-ambar-350);
    }
    .cliente-ficha-panel .cliente-puntuacion__punto {
      display: block;
      width: 16px;
      height: 16px;
      border-radius: 999px;
      border: 2px solid var(--c-gris-100c);
      background: var(--card);
      transition: background 0.12s ease, border-color 0.12s ease;
    }
    .cliente-ficha-panel .cliente-puntuacion__opcion.is-on .cliente-puntuacion__punto {
      border-color: var(--bd-g-600);
      background: var(--bd-g-600);
    }
    .cliente-ficha-panel .cliente-puntuacion__extremo {
      font-size: 12px;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-puntuacion__quitar {
      min-height: 30px;
      padding: 0 10px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
      color: var(--text);
      font: inherit;
      font-size: 12px;
      cursor: pointer;
    }
    .cliente-ficha-panel .cliente-puntuacion__barveo {
      margin-left: auto;
      font-size: 12px;
      font-weight: 600;
      color: var(--text);
      white-space: nowrap;
    }
    .cliente-ficha-panel .cliente-puntuacion__barveo--vacia {
      font-weight: 400;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-puntuacion__pie,
    .cliente-ficha-panel .cliente-puntuacion__nota,
    .cliente-ficha-panel .cliente-puntuacion__estado {
      margin: 8px 0 0;
      font-size: 12px;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-puntuacion__estado:empty {
      display: none;
    }
    .cliente-ficha-panel .cliente-puntuacion__sr {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }
    @media (max-width: 640px) {
      .cliente-ficha-panel .cliente-puntuacion__resumen {
        grid-template-columns: 1fr;
      }
      .cliente-ficha-panel .cliente-puntuacion__barveo {
        margin-left: 0;
        flex-basis: 100%;
      }
      /* Estilo en el móvil: los cinco puntos y, debajo, cada extremo en su lado. */
      .cliente-ficha-panel .cliente-puntuacion__rasgo--estilo .cliente-puntuacion__fila {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
          'opciones opciones'
          'izq der'
          'quitar barveo';
        align-items: center;
      }
      .cliente-ficha-panel .cliente-puntuacion__rasgo--estilo .cliente-puntuacion__opciones {
        grid-area: opciones;
        justify-content: space-between;
      }
      .cliente-ficha-panel .cliente-puntuacion__extremo--izq {
        grid-area: izq;
      }
      .cliente-ficha-panel .cliente-puntuacion__extremo--der {
        grid-area: der;
        text-align: right;
      }
      .cliente-ficha-panel .cliente-puntuacion__rasgo--estilo .cliente-puntuacion__quitar {
        grid-area: quitar;
        justify-self: start;
      }
      .cliente-ficha-panel .cliente-puntuacion__rasgo--estilo .cliente-puntuacion__barveo {
        grid-area: barveo;
        justify-self: end;
        flex-basis: auto;
      }
    }

/* Insignia «★ 4,3» junto al nombre: lista de clientes y ficha de la cita. Rectángulo negro con letra
   blanca por petición del titular (07-10-2026); pulsarla abre la pestaña «Puntuación». */
    .usuarios-user-text .usuarios-user-nombre {
      display: flex;
      align-items: center;
      gap: 6px;
      min-width: 0;
      margin-bottom: 1px;
    }
    .usuarios-user-text .usuarios-user-nombre strong {
      flex: 0 1 auto;
      min-width: 0;
      margin-bottom: 0;
    }
    .cp-insignia-hueco {
      display: inline-flex;
      flex: 0 0 auto;
    }
    .cp-insignia-hueco[hidden] {
      display: none !important;
    }
    .cp-insignia {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      padding: 2px 7px 2px 6px;
      border-radius: 6px;
      background: #111;
      color: #fff;
      font-size: 0.72rem;
      font-weight: 700;
      line-height: 1.25;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
      cursor: pointer;
      user-select: none;
    }
    .cp-insignia:hover {
      background: #000;
    }
    .cp-insignia:focus-visible {
      outline: 2px solid var(--bd-g-600);
      outline-offset: 2px;
    }
    .cp-insignia__svg {
      width: 11px;
      height: 11px;
      flex: 0 0 auto;
      fill: currentColor;
    }
    .agenda-detail-clientrow__name-row .cp-insignia {
      padding: 3px 8px 3px 7px;
      font-size: 0.82rem;
    }
    .agenda-detail-clientrow__name-row .cp-insignia__svg {
      width: 13px;
      height: 13px;
    }
    /* ═══ Check de «todo correcto» (titular, 10-10) ═══
       Siempre verde, como un semáforo (no es color corporativo), y con la animación estándar de Barveo:
       la del pago aceptado del TPV, el NFC grabado y «Compra realizada». El círculo crece durante 2 s y el
       trazo del check se dibuja a la vez. Sin animación con «reducir movimiento» o con --quieto (listas
       que se repintan a menudo, como la agenda). Lo pinta bardevCheckOkHtml (panel-core.js); misma hoja
       que WEBAPP/src/styles/check-ok.css. */
    .bv-check-ok {
      --bv-check-ok-tam: 64px;
      flex-shrink: 0;
      display: inline-grid;
      place-items: center;
      box-sizing: border-box;
      width: var(--bv-check-ok-tam);
      height: var(--bv-check-ok-tam);
      border-radius: 50%;
      border: clamp(1px, calc(var(--bv-check-ok-tam) / 40), 4px) solid #22c55e;
      background: rgba(34, 197, 94, 0.18);
      box-shadow: 0 0 0 clamp(1px, calc(var(--bv-check-ok-tam) / 20), 9px) rgba(34, 197, 94, 0.1);
      color: #16a34a;
      line-height: 0;
      vertical-align: middle;
      animation: bv-check-ok-crece 2s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    .bv-check-ok__svg {
      display: block;
      overflow: visible;
    }
    .bv-check-ok__trazo {
      fill: none;
      stroke: currentColor;
      stroke-width: 5.5;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-dasharray: 46;
      stroke-dashoffset: 0;
      animation: bv-check-ok-traza 2s ease-out both;
    }
    @keyframes bv-check-ok-crece {
      from { transform: scale(0.64); }
      to { transform: scale(1); }
    }
    @keyframes bv-check-ok-traza {
      from { stroke-dashoffset: 46; }
      to { stroke-dashoffset: 0; }
    }
    .bv-check-ok--quieto,
    .bv-check-ok--quieto .bv-check-ok__trazo {
      animation: none;
    }
    @media (prefers-reduced-motion: reduce) {
      .bv-check-ok,
      .bv-check-ok__trazo {
        animation: none;
      }
    }

    /* Aviso de guardado: sobre Tinta (antes Rojo señal, el mismo color que el de error) y con el check. */
    .bardev-toast--ok {
      background: #26313a;
      color: #fff;
    }
    .bardev-toast--ok::before {
      content: none;
    }

    /* Tablas («Publicado», «Activo»…), centralita y lotes: el check verde en lugar del ✓ sobre círculo. */
    .bardev-table-status--on,
    html.bardev-panel-theme-light .bardev-table-status--on,
    .centralita-webhook--ok {
      background: none;
      border: 0;
    }
    #lotes-wrap .lote-card__vis-cell .bardev-table-status--on + .lote-card__vis-word,
    html.bardev-panel-theme-light #lotes-wrap .lote-card__vis-cell .bardev-table-status--on + .lote-card__vis-word {
      color: #15803d;
    }

    /* Textos «✓ … guardado»: el check verde delante. */
    .bardev-ok-txt {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #15803d;
      font-weight: 600;
    }
/* ═══ Zona 30 · Estilo del cliente (panel-cliente-estilo.js) ═══
   Miniaturas de los cortes que le gustan (👍), de su prueba con foto o de la ilustración de su estilo:
   en el cajón de la cita (dentro del raíl derecho, en absoluto y donde el JS mide que hay hueco, así que
   nunca cambia el tamaño del cajón), en el detalle de la cita y en la pestaña «Estilo» de la ficha.
   Marca: Tinta #26313a, Hueso #fcf7ea, Rojo señal #c8463d; anillo blanco en las miniaturas. */
    .ce-mini {
      position: relative;
      display: block;
      flex: 0 0 auto;
      box-sizing: border-box;
      width: var(--ce-mini, 16px);
      height: var(--ce-mini, 16px);
      margin: 0;
      border: 1.5px solid #fff;
      border-radius: 50%;
      background: #fcf7ea;
      object-fit: cover;
      box-shadow: 0 0 0 0.5px rgba(38, 49, 58, 0.4), 0 1px 2px rgba(38, 49, 58, 0.3);
      pointer-events: none;
      user-select: none;
      -webkit-user-drag: none;
    }
    /* El primero encima: se lee como un grupo de fotos apiladas. */
    .ce-mini:nth-child(1) {
      z-index: 3;
    }
    .ce-mini:nth-child(2) {
      z-index: 2;
    }
    .ce-mini:nth-child(3) {
      z-index: 1;
    }
    .ce-mini--estilo {
      background: #fff;
      object-fit: contain;
    }
    .ce-mini--rota {
      display: none !important;
    }

    /* ── Cajón de la cita ── */
    .agenda-card__rail > .ce-cita {
      position: absolute;
      z-index: 3;
      display: flex;
      flex-direction: row;
      align-items: center;
      margin: 0;
      padding: 0;
      border-radius: 999px;
      cursor: pointer;
      pointer-events: auto;
      line-height: 0;
      -webkit-tap-highlight-color: transparent;
    }
    .agenda-card__rail > .ce-cita[hidden] {
      display: none !important;
    }
    .ce-cita .ce-mini + .ce-mini {
      margin-left: -5px;
    }
    .agenda-card__rail > .ce-cita--rail {
      flex-direction: column;
    }
    .ce-cita--rail .ce-mini + .ce-mini {
      margin-left: 0;
      margin-top: -5px;
    }
    .ce-cita:hover .ce-mini {
      box-shadow: 0 0 0 1px #c8463d, 0 1px 3px rgba(38, 49, 58, 0.35);
    }
    .ce-cita:focus-visible {
      outline: 2px solid #c8463d;
      outline-offset: 1px;
    }
    /* Mientras se arrastra o se estira el cajón, fuera: se recolocan al soltar. */
    .agenda-card--dragging .ce-cita,
    .agenda-card--resizing .ce-cita {
      visibility: hidden;
    }

    /* ── Detalle de la cita: fila bajo el nombre (dentro de la tarjeta del cliente) ── */
    .ce-detalle {
      display: flex;
      align-items: center;
      gap: 8px;
      width: max-content;
      max-width: 100%;
      margin-top: 6px;
      padding: 3px 10px 3px 3px;
      box-sizing: border-box;
      border-radius: 999px;
      background: #26313a;
      color: #fcf7ea;
      font-size: 0.76rem;
      font-weight: 600;
      line-height: 1.2;
      text-align: left;
      cursor: pointer;
    }
    .ce-detalle[hidden] {
      display: none !important;
    }
    .ce-detalle:hover {
      background: #1d262e;
    }
    .ce-detalle__minis {
      --ce-mini: 24px;
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
    }
    .ce-detalle__minis .ce-mini + .ce-mini {
      margin-left: -7px;
    }
    .ce-detalle__txt {
      min-width: 0;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    .ce-detalle__txt strong {
      color: #fff;
      font-weight: 800;
    }
    .ce-detalle__n {
      flex: 0 0 auto;
      margin-left: -4px;
      white-space: nowrap;
    }
    /* Pulgar «me gusta» (icono SVG, nunca emoticono) al tamaño del texto. */
    .ce-pulgar {
      display: inline-block;
      width: 1em;
      height: 1em;
      vertical-align: -0.15em;
    }
    .ce-detalle__ir {
      flex: 0 0 auto;
      color: #e0645a;
      font-size: 1rem;
      font-weight: 800;
      line-height: 1;
    }

    /* ── Ficha del cliente › «Estilo» ── */
    .cliente-ficha-panel .cliente-estilo {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .cliente-ficha-panel .cliente-estilo__corte {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .cliente-ficha-panel .cliente-estilo__busto {
      flex: none;
      width: 88px;
      height: 88px;
      box-sizing: border-box;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: #fff;
      object-fit: contain;
    }
    .cliente-ficha-panel .cliente-estilo__info {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
    }
    .cliente-ficha-panel .cliente-estilo__nombre {
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--text);
    }
    .cliente-ficha-panel .cliente-estilo__sub {
      margin: 0;
    }
    .cliente-ficha-panel .cliente-estilo__refs {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
      gap: 10px;
    }
    .cliente-ficha-panel .cliente-estilo__ref,
    .cliente-ficha-panel .cliente-estilo__prueba {
      position: relative;
      display: block;
      width: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
      aspect-ratio: 4 / 5;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: #fcf7ea;
      cursor: zoom-in;
      line-height: 0;
      -webkit-tap-highlight-color: transparent;
    }
    .cliente-ficha-panel .cliente-estilo__prueba {
      width: 160px;
      max-width: 100%;
    }
    .cliente-ficha-panel .cliente-estilo__ref img,
    .cliente-ficha-panel .cliente-estilo__prueba img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      pointer-events: none;
    }
    .cliente-ficha-panel .cliente-estilo__ref:focus-visible,
    .cliente-ficha-panel .cliente-estilo__prueba:focus-visible {
      outline: 2px solid #c8463d;
      outline-offset: 2px;
    }
    .cliente-ficha-panel .cliente-estilo__ref.is-rota img,
    .cliente-ficha-panel .cliente-estilo__prueba.is-rota img {
      visibility: hidden;
    }
    .cliente-ficha-panel .cliente-estilo__propia {
      position: absolute;
      left: 6px;
      bottom: 6px;
      padding: 3px 7px;
      border-radius: 999px;
      background: #26313a;
      color: #fcf7ea;
      font-size: 10px;
      font-weight: 800;
      line-height: 1.1;
      letter-spacing: 0.02em;
    }
    .cliente-ficha-panel .cliente-estilo__vacio,
    .cliente-ficha-panel .cliente-estilo__aviso {
      margin: 8px 0 0;
      font-size: 13px;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-estilo__aviso.is-error {
      color: var(--c-rojo-500);
    }
    .cliente-ficha-panel .cliente-estilo__nota {
      display: flex;
      align-items: center;
      gap: 6px;
      margin: 12px 0 0;
      font-size: 12px;
      color: var(--muted);
    }
    .cliente-ficha-panel .cliente-estilo__candado {
      flex: 0 0 auto;
      color: #c8463d;
    }
/* ═══ Zona 31 · «Mientras esperas»: Configuración › Juegos y Developer › Premios juegos (panel-juegos.js) ═══
   Premio del mes, ranking y ganadores. Solo variables de color existentes. */
    .panel-juegos .juegos-raiz {
      display: flex;
      flex-direction: column;
      gap: 16px;
      max-width: 920px;
      margin-top: 12px;
    }
    .panel-juegos .juegos-card {
      padding: 16px 18px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: var(--card);
    }
    .panel-juegos .juegos-card h3 {
      margin: 0 0 8px;
      font-size: 16px;
      color: var(--text);
    }
    .panel-juegos .juegos-nota,
    .panel-juegos .juegos-vacio,
    .panel-juegos .juegos-cargando {
      margin: 6px 0 0;
      font-size: 13px;
      line-height: 1.45;
      color: var(--muted);
    }
    .panel-juegos .juegos-error {
      margin: 0;
      padding: 12px 14px;
      border-radius: 12px;
      background: color-mix(in srgb, var(--c-rojo-500) 10%, transparent);
      color: var(--c-rojo-500);
      font-weight: 600;
    }
    .panel-juegos .juegos-premio {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 10px;
    }
    .panel-juegos .juegos-premio__etiqueta {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .panel-juegos .juegos-premio__input {
      width: 100%;
      max-width: 520px;
      box-sizing: border-box;
    }
    .panel-juegos .juegos-premio__acciones {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .panel-juegos .juegos-premio__acciones .btn,
    .panel-juegos .juegos-tabla .btn {
      width: auto;
      min-width: 0;
      margin: 0;
    }
    .panel-juegos .juegos-tabla .btn {
      padding: 6px 12px;
      font-size: 13px;
    }
    .panel-juegos .juegos-estado {
      margin: 0;
      min-height: 18px;
      font-size: 13px;
      color: var(--muted);
    }
    .panel-juegos .juegos-estado.is-error {
      color: var(--c-rojo-500);
    }
    .panel-juegos .juegos-ranking {
      list-style: none;
      margin: 8px 0 0;
      padding: 0;
      display: grid;
      gap: 4px;
    }
    .panel-juegos .juegos-ranking__fila {
      display: grid;
      grid-template-columns: 2rem minmax(0, 1fr) auto;
      align-items: center;
      gap: 10px;
      min-height: 36px;
      padding: 0 10px;
      border-radius: 10px;
      /* Tinte del color del texto: sirve en el tema claro y en el oscuro. */
      background: color-mix(in srgb, var(--text) 6%, transparent);
      color: var(--text);
    }
    .panel-juegos .juegos-ranking__pos {
      font-weight: 800;
    }
    .panel-juegos .juegos-ranking__fila:first-child .juegos-ranking__pos {
      color: var(--c-rojo-500);
    }
    .panel-juegos .juegos-ranking__nombre {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .panel-juegos .juegos-ranking__puntos {
      font-weight: 700;
      font-variant-numeric: tabular-nums;
    }
    .panel-juegos .juegos-tabla-wrap {
      overflow-x: auto;
    }
    .panel-juegos .juegos-tabla {
      width: 100%;
      border-collapse: collapse;
      font-size: 14px;
    }
    .panel-juegos .juegos-tabla th,
    .panel-juegos .juegos-tabla td {
      padding: 10px 8px;
      border-bottom: 1px solid var(--border);
      text-align: left;
      vertical-align: top;
      color: var(--text);
    }
    .panel-juegos .juegos-tabla th {
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .04em;
      color: var(--muted);
    }
    .panel-juegos .juegos-ganador {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .panel-juegos .juegos-ganador__apodo,
    .panel-juegos .juegos-ganador__email {
      font-size: 12px;
      color: var(--muted);
    }
    .panel-juegos .juegos-ganador__ficha {
      margin-top: 6px;
    }
    .panel-juegos .juegos-ganador__ok {
      display: block;
      margin-bottom: 6px;
      color: var(--bd-g-600);
      font-weight: 600;
    }
    .panel-juegos .juegos-ganador__pendiente {
      display: block;
      margin-bottom: 6px;
      color: var(--muted);
    }
    @media (max-width: 640px) {
      .panel-juegos .juegos-tabla thead {
        display: none;
      }
      .panel-juegos .juegos-tabla tr {
        display: block;
        padding: 8px 0;
        border-bottom: 1px solid var(--border);
      }
      .panel-juegos .juegos-tabla td {
        display: grid;
        grid-template-columns: 5.5rem minmax(0, 1fr);
        gap: 8px;
        border: 0;
        padding: 4px 0;
      }
      .panel-juegos .juegos-tabla td::before {
        content: attr(data-label);
        font-size: 12px;
        font-weight: 700;
        color: var(--muted);
      }
    }

/* Mostrar u ocultar el premio (titular, 10-10): interruptor como el del reloj y etiqueta «Oculto». */
.panel-juegos .juegos-visible {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--text) 10%, transparent);
}
.panel-juegos .juegos-visible__texto { font-weight: 600; }
.panel-juegos .juegos-switch {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 51px;
  height: 31px;
}
.panel-juegos .juegos-switch input {
  position: absolute;
  width: 0 !important;
  height: 0 !important;
  margin: 0;
  padding: 0;
  opacity: 0;
}
.panel-juegos .juegos-switch__track {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text) 22%, transparent);
  cursor: pointer;
  transition: background 0.2s;
}
.panel-juegos .juegos-switch__track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: var(--c-blanco, #fff);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s;
}
.panel-juegos .juegos-switch input:checked + .juegos-switch__track { background: var(--c-verde-500); }
.panel-juegos .juegos-switch input:checked + .juegos-switch__track::after { transform: translateX(20px); }
.panel-juegos .juegos-switch input:focus-visible + .juegos-switch__track { outline: 2px solid var(--c-verde-500); outline-offset: 2px; }
.panel-juegos .juegos-switch input:disabled + .juegos-switch__track { opacity: 0.5; cursor: not-allowed; }
.panel-juegos .juegos-chip {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text) 12%, transparent);
  font-size: 0.72rem;
  font-weight: 700;
  vertical-align: middle;
}
/* Premio ×2 (récord de palabras del mes): chip del ganador y aviso bajo el ranking. */
.panel-juegos .juegos-chip--x2 { background: var(--barveo-palette-07, #C8463D); color: var(--barveo-on-07, #FFFFFF); }
.panel-juegos .juegos-x2 {
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--text) 6%, transparent);
  font-size: 0.85rem;
  line-height: 1.4;
}
.panel-juegos .juegos-x2 strong {
  display: inline-block;
  margin-right: 6px;
  padding: 0 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text) 14%, transparent);
  font-weight: 900;
}
.panel-juegos .juegos-x2.is-doble strong { background: var(--barveo-palette-07, #C8463D); color: var(--barveo-on-07, #FFFFFF); }
@media (prefers-reduced-motion: reduce) {
  .panel-juegos .juegos-switch__track,
  .panel-juegos .juegos-switch__track::after { transition: none; }
}
/* ═══ Zona 32 · Propinas: Finanzas › Ingresos › Propinas y Configuración › General › Propinas (panel-propinas.js) ═══
   Listado con totales, requisitos, condiciones, interruptor y reparto; aviso «Nueva propina» de la agenda.
   Solo variables de color existentes. */
    .panel-propinas .propinas-raiz,
    .panel-propinas #propinas-ajustes-raiz {
      display: flex;
      flex-direction: column;
      gap: 16px;
      max-width: 1100px;
      margin-top: 12px;
    }
    .panel-propinas .propinas-card {
      padding: 16px 18px;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: var(--card);
    }
    .panel-propinas .propinas-card h3 {
      margin: 0 0 8px;
      font-size: 16px;
      color: var(--text);
    }
    .panel-propinas .propinas-nota,
    .panel-propinas .propinas-vacio,
    .panel-propinas .propinas-cargando {
      margin: 8px 0 0;
      font-size: 13px;
      line-height: 1.45;
      color: var(--muted);
    }
    .panel-propinas .propinas-error {
      margin: 0;
      padding: 12px 14px;
      border-radius: 12px;
      background: color-mix(in srgb, var(--c-rojo-500) 10%, transparent);
      color: var(--c-rojo-500);
      font-weight: 600;
    }

    /* Finanzas › Ingresos › Propinas */
    .panel-propinas .propinas-filtro {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 10px;
    }
    .panel-propinas .propinas-filtro label {
      display: flex;
      flex-direction: column;
      gap: 4px;
      font-size: 12px;
      font-weight: 700;
      color: var(--muted);
    }
    .panel-propinas .propinas-filtro .btn { width: auto; margin: 0; }
    .panel-propinas .propinas-totales {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-top: 14px;
    }
    .panel-propinas .propinas-total {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 12px 14px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: var(--card);
    }
    .panel-propinas .propinas-total__etiqueta { font-size: 12px; color: var(--muted); }
    .panel-propinas .propinas-total__valor { font-size: 20px; color: var(--text); font-variant-numeric: tabular-nums; }
    .panel-propinas .propinas-tabla-wrap { margin-top: 14px; overflow-x: auto; }
    .panel-propinas .propinas-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
    .panel-propinas .propinas-tabla th,
    .panel-propinas .propinas-tabla td {
      padding: 9px 10px;
      border-bottom: 1px solid var(--border);
      text-align: left;
      white-space: nowrap;
    }
    .panel-propinas .propinas-tabla th { font-size: 12px; color: var(--muted); font-weight: 700; }
    .panel-propinas .propinas-tabla .num { text-align: right; font-variant-numeric: tabular-nums; }
    .panel-propinas .propinas-tabla tr.is-devuelta td { opacity: 0.6; text-decoration: line-through; }
    .panel-propinas .propinas-estado {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 999px;
      background: color-mix(in srgb, var(--c-verde-500) 14%, transparent);
      color: var(--c-verde-500);
      font-size: 12px;
      font-weight: 700;
    }
    .panel-propinas .propinas-estado--devuelta {
      background: color-mix(in srgb, var(--text) 10%, transparent);
      color: var(--muted);
    }
    /* Devuelta en parte (P4): aviso suave, sin el verde de «pagada». */
    .panel-propinas .propinas-estado--parcial {
      background: color-mix(in srgb, var(--c-ambar-500) 18%, transparent);
      color: var(--text);
    }

    /* Configuración › General › Propinas */
    .panel-propinas .propinas-requisitos { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13px; }
    .panel-propinas .propinas-requisitos li { display: flex; align-items: center; gap: 8px; color: var(--text); }
    .panel-propinas .propinas-requisitos li::before {
      content: '';
      flex: none;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--c-verde-500);
    }
    .panel-propinas .propinas-requisitos li.is-falta { color: var(--muted); }
    .panel-propinas .propinas-requisitos li.is-falta::before { background: var(--c-rojo-500); }
    .panel-propinas .propinas-activar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid color-mix(in srgb, var(--text) 10%, transparent);
    }
    .panel-propinas .propinas-activar__texto { font-size: 14px; font-weight: 700; color: var(--text); }
    .panel-propinas .propinas-switch { position: relative; display: inline-block; flex: 0 0 auto; width: 51px; height: 31px; }
    .panel-propinas .propinas-switch input { position: absolute; width: 0 !important; height: 0 !important; margin: 0; padding: 0; opacity: 0; }
    .panel-propinas .propinas-switch__track {
      position: absolute;
      inset: 0;
      border-radius: 999px;
      background: color-mix(in srgb, var(--text) 22%, transparent);
      cursor: pointer;
      transition: background 0.2s;
    }
    .panel-propinas .propinas-switch__track::after {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      width: 27px;
      height: 27px;
      border-radius: 50%;
      background: var(--c-blanco, #fff);
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
      transition: transform 0.2s;
    }
    .panel-propinas .propinas-switch input:checked + .propinas-switch__track { background: var(--c-verde-500); }
    .panel-propinas .propinas-switch input:checked + .propinas-switch__track::after { transform: translateX(20px); }
    .panel-propinas .propinas-switch input:focus-visible + .propinas-switch__track { outline: 2px solid var(--c-verde-500); outline-offset: 2px; }
    .panel-propinas .propinas-switch input:disabled + .propinas-switch__track { opacity: 0.5; cursor: not-allowed; }
    .panel-propinas .propinas-condiciones__texto { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 6px; font-size: 13px; line-height: 1.45; color: var(--text); }
    .panel-propinas details.propinas-condiciones > summary,
    .panel-propinas details.propinas-reparto > summary {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 4px 12px;
      padding-right: 24px;
      list-style: none;
      cursor: pointer;
      font-size: 15px;
      font-weight: 700;
      color: var(--text);
    }
    .panel-propinas details > summary::-webkit-details-marker { display: none; }
    /* Flecha de desplegar al final del resumen (el marcador nativo desaparece con display: flex). */
    .panel-propinas details > summary::after {
      content: '';
      position: absolute;
      top: 5px;
      right: 4px;
      width: 8px;
      height: 8px;
      border-right: 2px solid var(--muted);
      border-bottom: 2px solid var(--muted);
      transform: rotate(45deg);
      transition: transform 0.2s;
    }
    .panel-propinas details[open] > summary::after { transform: translateY(4px) rotate(-135deg); }
    .panel-propinas details > summary:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; border-radius: 6px; }
    /* La regla general «label» del panel (mayúsculas, 0,72 rem) es para etiquetas de campo; aquí son frases y nombres. */
    .panel-propinas .propinas-check,
    .panel-propinas .propinas-persona label,
    .panel-propinas .propinas-activar__texto,
    .panel-propinas .propinas-switch {
      margin: 0;
      text-transform: none;
      letter-spacing: normal;
    }
    .panel-propinas .propinas-check { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; font-size: 13px; line-height: 1.4; color: var(--text); }
    /* Casillas de selección con la paleta de marca (la Tinta en claro; el navegador la adapta en oscuro). */
    .panel-propinas .propinas-check input { flex: none; margin: 1px 0 0; width: 16px; height: 16px; accent-color: var(--text); }
    .panel-propinas .propinas-condiciones .btn { width: auto; margin: 12px 0 0; }
    .panel-propinas .propinas-resumen { margin-left: auto; font-weight: 600; font-size: 13px; color: var(--muted); }
    .panel-propinas .propinas-libre[hidden] { display: none; }
    .panel-propinas .propinas-reparto__campos { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
    .panel-propinas .propinas-reparto__campos label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 700; color: var(--muted); }
    .panel-propinas .propinas-cuentas { width: 100%; max-width: 560px; margin-top: 14px; border-collapse: collapse; font-size: 13px; }
    .panel-propinas .propinas-cuentas td { padding: 6px 0; color: var(--text); }
    .panel-propinas .propinas-cuentas .num { padding-left: 12px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
    .panel-propinas .propinas-cuenta--menos td { color: var(--muted); }
    .panel-propinas .propinas-cuenta--sub td { border-top: 1px solid var(--border); font-weight: 700; }
    .panel-propinas .propinas-cuenta--total td { border-top: 2px solid var(--text); font-weight: 800; font-size: 15px; }
    .panel-propinas .propinas-reparto__titulo { margin: 16px 0 6px; font-size: 14px; color: var(--text); }
    .panel-propinas .propinas-personas { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; max-width: 560px; }
    .panel-propinas .propinas-persona {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 8px 10px;
      border: 1px solid var(--border);
      border-radius: 12px;
    }
    .panel-propinas .propinas-persona label { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 14px; font-weight: 600; cursor: pointer; }
    .panel-propinas .propinas-persona input { flex: none; margin: 0; width: 16px; height: 16px; accent-color: var(--text); }
    .panel-propinas .propinas-avatar { width: 28px; height: 28px; flex: none; border-radius: 50%; object-fit: cover; }
    .panel-propinas .propinas-avatar--letra {
      display: inline-grid;
      place-items: center;
      background: color-mix(in srgb, var(--text) 12%, transparent);
      color: var(--text);
      font-size: 12px;
      font-weight: 800;
    }
    .panel-propinas .propinas-persona__nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
    .panel-propinas .propinas-persona__importe { font-variant-numeric: tabular-nums; color: var(--text); }
    .panel-propinas .propinas-reparto__form .btn.primary { width: auto; margin: 14px 0 0; }
    .panel-propinas .propinas-estado-form { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
    @media (max-width: 760px) {
      .panel-propinas .propinas-totales { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    /* Móvil: cada propina es una ficha con «etiqueta | valor», como la tabla de ganadores de Juegos. */
    @media (max-width: 640px) {
      .panel-propinas .propinas-tabla thead { display: none; }
      .panel-propinas .propinas-tabla,
      .panel-propinas .propinas-tabla tbody { display: block; }
      .panel-propinas .propinas-tabla tr {
        display: block;
        padding: 8px 12px;
        margin-bottom: 8px;
        border: 1px solid var(--border);
        border-radius: 12px;
        background: var(--card);
      }
      .panel-propinas .propinas-tabla td {
        display: grid;
        grid-template-columns: 6.5rem minmax(0, 1fr);
        gap: 8px;
        padding: 4px 0;
        border: 0;
        white-space: normal;
      }
      .panel-propinas .propinas-tabla .num { text-align: left; }
      .panel-propinas .propinas-tabla td > * { justify-self: start; }
      .panel-propinas .propinas-tabla td::before {
        content: attr(data-label);
        font-size: 12px;
        font-weight: 700;
        color: var(--muted);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .panel-propinas .propinas-switch__track,
      .panel-propinas .propinas-switch__track::after,
      .panel-propinas details > summary::after { transition: none; }
    }

    /* Aviso «Nueva propina» en el centro de notificaciones de la agenda. */
    .agenda-notif-item__dot--tip { background: var(--c-verde-500); }
    /* Menú lateral de subsecciones (docs/PLAN-MENU-LATERAL-PANEL.md): el mismo aspecto que Configuración ›
       General, reutilizable en cualquier sección. JS: js/panel-menu-lateral.js. */
    .bd-subnav-layout {
      display: flex;
      align-items: stretch;
      gap: 22px;
      min-width: 0;
      min-height: 0;
    }
    .bd-subnav {
      flex: 0 0 248px;
      width: 248px;
      max-width: 100%;
      position: sticky;
      top: 8px;
      align-self: flex-start;
      max-height: calc(100vh - 96px);
      overflow-y: auto;
      padding: 4px 12px 4px 0;
      border-right: 1px solid var(--bd-n-200, var(--border));
      box-sizing: border-box;
    }
    /* La columna y el contenido van sobre el fondo corporativo de la página: nunca blanco (titular, 11-10-2026). */
    .bd-subnav-main {
      flex: 1 1 auto;
      min-width: 0;
      min-height: 0;
      background: transparent;
    }
    .bd-subnav {
      background: transparent;
    }
    .bd-subnav__list {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 4px;
      width: 100%;
      margin: 0;
      padding: 0;
      border: none;
    }
    .bd-subnav__list::before,
    .bd-subnav__list::after {
      content: none !important;
      display: none !important;
    }
    .bd-subnav__list > button[role='tab'] {
      flex: 0 0 auto;
      width: 100%;
      max-width: none;
      min-width: 0;
      min-height: 40px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 10px;
      text-align: left;
      margin: 0;
      padding: 9px 12px;
      border-radius: 10px;
      border: 1px solid transparent;
      background: transparent;
      color: var(--bd-ink, var(--text));
      font-size: 0.88rem;
      font-weight: 500;
      font-family: inherit;
      line-height: 1.3;
      cursor: pointer;
      box-shadow: none;
      white-space: normal;
    }
    .bd-subnav__ico {
      flex: 0 0 18px;
      width: 18px;
      height: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .bd-subnav__ico svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    .bd-subnav__txt {
      min-width: 0;
      line-height: 1.25;
    }
    .bd-subnav__grupo {
      display: flex;
      align-items: center;
      gap: 6px;
      margin: 12px 0 2px;
      padding: 0 12px;
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--bd-n-500, var(--muted, #64748b));
    }
    .bd-subnav__grupo-txt {
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .bd-subnav__grupo-ico {
      flex: 0 0 14px;
      width: 14px;
      height: 14px;
      display: inline-flex;
      color: var(--bd-g-600, var(--bv-g-047857, #047857));
    }
    .bd-subnav__grupo-ico svg {
      width: 14px;
      height: 14px;
      display: block;
    }
    .bd-subnav__list > button[role='tab']:hover:not(:disabled) {
      background: var(--bd-g-50, rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.08));
      border-color: transparent;
    }
    .bd-subnav__list > button[role='tab'].bd-subnav__on {
      background: var(--bd-g-50, rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.12));
      border-color: var(--bd-n-200, var(--border));
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
      font-weight: 700;
    }
    .bd-subnav__list > button[role='tab'].bd-subnav__on .bd-subnav__ico {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46));
    }
    .bd-subnav__list > button[role='tab']:focus-visible {
      outline: 2px solid var(--bardev-tab-active-line, var(--ok, #34d399));
      outline-offset: 2px;
    }
    /* Tema claro: gana a la regla genérica de pestañas de 04-fiscal-comisiones.css (también con !important). */
    html.bardev-panel-theme-light .bd-subnav__list > button[role='tab'] {
      background: transparent;
      border: 1px solid transparent;
      color: var(--bd-ink, #0f172a) !important;
      font-weight: 500 !important;
    }
    html.bardev-panel-theme-light .bd-subnav__list > button[role='tab']:hover:not(:disabled) {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      color: var(--bd-ink, #0f172a) !important;
    }
    html.bardev-panel-theme-light .bd-subnav__list > button[role='tab'].bd-subnav__on {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5));
      border-color: var(--bd-n-200, #e2e8f0);
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      font-weight: 700 !important;
    }
    html.bardev-panel-theme-light .bd-subnav__ico {
      color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    html.bardev-panel-theme-light .bd-subnav__list > button[role='tab'].bd-subnav__on .bd-subnav__ico {
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
    }
    /* Desplegable de pantallas estrechas (lo crea el JS; en escritorio no se ve). */
    .bd-subnav__select {
      display: none;
      width: 100%;
      min-height: 44px;
      padding: 8px 12px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 10px;
      background: var(--bd-surface, var(--card, #fff));
      color: var(--bd-ink, var(--text));
      font: inherit;
      font-size: 0.95rem;
      font-weight: 600;
    }
    /* Filas convertidas (data-bd-menu-lateral): fuera todo lo que traían de fila de pestañas. Algunas secciones
       (Facturas, Tarjetas regalo, Fidelización) tienen reglas con id de sección: la forma de la columna manda
       siempre (!important), igual que el tema claro ya hacía con el color. */
    .bd-subnav .bd-subnav__list {
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
      gap: 4px !important;
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      border: none !important;
      border-radius: 0 !important;
      background: none !important;
      box-shadow: none !important;
      overflow: visible !important;
      grid-template-columns: none !important;
    }
    .bd-subnav .bd-subnav__list > button[role='tab'] {
      display: flex !important;
      flex: 0 0 auto !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 10px !important;
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      height: auto !important;
      min-height: 40px !important;
      margin: 0 !important;
      padding: 9px 12px !important;
      border: 1px solid transparent !important;
      border-radius: 10px !important;
      background: transparent !important;
      box-shadow: none !important;
      transform: none !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: normal !important;
      font-size: 0.88rem !important;
      line-height: 1.3 !important;
      white-space: normal !important;
      opacity: 1 !important;
    }
    /* Botones ocultos por su sección (Clientes registrados y Reglas comparten la fila y cada una oculta los de la
       otra con hidden / .hidden): siguen ocultos aunque la forma de la columna lleve !important. */
    .bd-subnav__list > button[role='tab'][hidden],
    .bd-subnav__list > button[role='tab'].hidden,
    .bd-subnav .bd-subnav__list > button[role='tab'][hidden],
    .bd-subnav .bd-subnav__list > button[role='tab'].hidden,
    .bd-pestanas > button[role='tab'][hidden],
    .bd-pestanas > button[role='tab'].hidden {
      display: none !important;
    }
    .bd-subnav .bd-subnav__list > button[role='tab']:hover:not(:disabled) {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
    }
    .bd-subnav .bd-subnav__list > button[role='tab'].bd-subnav__on {
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
      border-color: var(--bd-n-200, var(--border, #e2e8f0)) !important;
      color: var(--bd-g-800, var(--bv-g-065f46, #065f46)) !important;
      font-weight: 700 !important;
    }
    .bd-subnav .bd-subnav__list > button[role='tab']::before,
    .bd-subnav .bd-subnav__list > button[role='tab']::after {
      content: none !important;
      display: none !important;
    }
    .bd-subnav .bd-subnav__list .bd-subnav__ico {
      flex: 0 0 18px !important;
      width: 18px !important;
      height: 18px !important;
      margin: 0 !important;
      padding: 0 !important;
      background: none !important;
      border: none !important;
    }
    .bd-subnav .bd-subnav__list .bd-subnav__ico svg {
      width: 18px !important;
      height: 18px !important;
      stroke-width: 2;
    }
    .bd-subnav .bd-subnav__list > button[role='tab'] .bd-subnav__txt {
      flex: 1 1 auto;
      text-align: left;
      font-size: inherit !important;
      font-weight: inherit !important;
      color: inherit !important;
    }
    /* Etiqueta de las filas de pestañas (.bardev-tab-label, panel-core.js): era un bloque centrado y recortado con «…».
       Dentro del menú lateral va a la izquierda y entera, como el resto de submenús (titular, 24-10-2026: en la ficha
       del cliente «Datos personales», «Estilo»… salían centrados). */
    .bd-subnav .bd-subnav__list > button[role='tab'] .bardev-tab-label {
      text-align: left !important;
      white-space: normal !important;
      overflow: visible !important;
      text-overflow: clip !important;
    }
    /* Tercer nivel (data-bd-menu-lateral="pestanas"): pestañas claras dentro del contenido. Solo hay dos niveles
       de menú lateral (el del panel y la columna de la sección); lo que cuelga de un apartado va aquí: icono y
       nombre completo, sin recortar (si no caben, bajan de línea), la activa subrayada con el color de la marca. */
    .bd-pestanas {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
      align-items: flex-end !important;
      justify-content: flex-start !important;
      gap: 2px 6px !important;
      width: 100% !important;
      max-width: none !important;
      margin: 0 0 18px !important;
      padding: 0 !important;
      border: none !important;
      border-bottom: 1px solid var(--bd-n-200, var(--border, #e2e8f0)) !important;
      border-radius: 0 !important;
      background: none !important;
      box-shadow: none !important;
      overflow: visible !important;
    }
    .bd-pestanas::before,
    .bd-pestanas::after,
    .bd-pestanas > button[role='tab']::before,
    .bd-pestanas > button[role='tab']::after {
      content: none !important;
      display: none !important;
    }
    .bd-pestanas > button[role='tab'] {
      display: inline-flex !important;
      flex: 0 0 auto !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 8px !important;
      width: auto !important;
      max-width: none !important;
      min-width: 0 !important;
      min-height: 40px !important;
      height: auto !important;
      margin: 0 0 -1px !important;
      padding: 8px 14px !important;
      border: none !important;
      border-bottom: 3px solid transparent !important;
      border-radius: 8px 8px 0 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      color: var(--bd-ink-soft, var(--muted, #475569)) !important;
      font-size: 0.9rem !important;
      font-weight: 600 !important;
      line-height: 1.25 !important;
      text-align: left !important;
      text-transform: none !important;
      letter-spacing: normal !important;
      white-space: nowrap !important;
      cursor: pointer;
    }
    .bd-pestanas > button[role='tab']:hover:not(:disabled) {
      color: var(--bd-ink, var(--text)) !important;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
    }
    .bd-pestanas > button[role='tab'].bd-subnav__on {
      color: var(--bd-ink, var(--text)) !important;
      font-weight: 700 !important;
      border-bottom-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    .bd-pestanas > button[role='tab']:focus-visible {
      outline: 2px solid var(--bd-g-600, var(--bv-g-047857, #047857));
      outline-offset: 2px;
    }
    .bd-pestanas .bd-subnav__ico {
      flex: 0 0 18px !important;
      width: 18px !important;
      height: 18px !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    .bd-pestanas .bd-subnav__ico svg {
      width: 18px !important;
      height: 18px !important;
    }
    .bd-pestanas .bd-subnav__txt {
      font: inherit !important;
      color: inherit !important;
    }
    /* Botones .btn convertidos en pestaña (Confirmaciones cita: tipo, idioma, Código HTML / Editor CAMVAS): el
       tema claro les pone fondo y borde de botón con !important y más peso; aquí se igualan a las demás pestañas. */
    html.bardev-panel-theme-light .bd-pestanas > button[role='tab'].btn:not(.nav-item):not(.tenant-delete):not(.btn-icon):not(.ghost),
    html .bd-pestanas > button[role='tab'].btn.btn {
      background: transparent !important;
      border: none !important;
      border-bottom: 3px solid transparent !important;
      border-radius: 8px 8px 0 0 !important;
      box-shadow: none !important;
      color: var(--bd-ink-soft, var(--muted, #475569)) !important;
      width: auto !important;
      min-height: 40px !important;
      margin: 0 0 -1px !important;
      padding: 8px 14px !important;
      font-size: 0.9rem !important;
      font-weight: 600 !important;
      transform: none !important;
    }
    html.bardev-panel-theme-light .bd-pestanas > button[role='tab'].btn:not(.nav-item):not(.tenant-delete):not(.btn-icon):not(.ghost):hover:not(:disabled),
    html .bd-pestanas > button[role='tab'].btn.btn:hover:not(:disabled) {
      color: var(--bd-ink, var(--text)) !important;
      background: var(--bd-g-50, var(--bv-g-ecfdf5, #ecfdf5)) !important;
    }
    html.bardev-panel-theme-light .bd-pestanas > button[role='tab'].btn:not(.nav-item):not(.tenant-delete):not(.btn-icon):not(.ghost).bd-subnav__on,
    html .bd-pestanas > button[role='tab'].btn.btn.bd-subnav__on {
      color: var(--bd-ink, var(--text)) !important;
      font-weight: 700 !important;
      border-bottom-color: var(--bd-g-600, var(--bv-g-047857, #047857)) !important;
    }
    /* Pestañas dentro de editores (idioma de la plantilla, Código HTML / Editor CAMVAS): más juntas. */
    .bk-conf-lang-bar.bd-pestanas {
      margin: 0 0 6px !important;
    }
    .bd-pestanas > button[role='tab'].bk-conf-lang--empty {
      opacity: 0.6;
    }
    .bk-conf-html-mode-bar > .bd-pestanas {
      flex: 1 1 auto !important;
      width: auto !important;
      margin: 0 !important;
    }
    /* Título del apartado activo arriba del contenido, como en Configuración › General. */
    .bd-subnav-titulo {
      margin: 0 0 14px;
      font-size: 1.45rem;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.01em;
      color: var(--bd-ink, var(--text));
    }
    .bd-subnav-titulo:empty {
      display: none;
    }
    /* Dentro de fichas y tarjetas hay menos ancho: columna más estrecha. */
    .equipo-card .bd-subnav,
    .prov-card-tabs-body .bd-subnav,
    #cliente-ficha-overlay .bd-subnav {
      flex-basis: 200px;
      width: 200px;
      top: 0;
    }
    .equipo-card .bd-subnav-titulo,
    .prov-card-tabs-body .bd-subnav-titulo,
    #cliente-ficha-overlay .bd-subnav-titulo {
      font-size: 1.1rem;
      margin-bottom: 10px;
    }
    /* Ficha del cliente con la columna: la ventana pasa de 760 a 900 px (docs/PLAN-MENU-LATERAL-PANEL.md). */
    #cliente-ficha-overlay:has(.bd-subnav) {
      --cliente-ficha-modal-w: min(900px, calc(100vw - 32px));
    }
    @media (max-width: 720px) {
      .bd-subnav-layout {
        flex-direction: column;
        gap: 12px;
      }
      .bd-subnav {
        flex: none;
        width: 100%;
        position: static;
        max-height: none;
        overflow: visible;
        padding: 0;
        border-right: none;
      }
      .bd-subnav__list {
        display: none;
      }
      .bd-subnav__select {
        display: block;
      }
    }

    /* Todo menú lateral va alineado a la izquierda, en cualquier tema y también cuando las pestañas conservan sus
       reglas de fila centrada (ficha del cliente, equipo…) (titular, 12-10-2026). */
    [data-bd-menu-lateral-hecho='1'] button[role='tab'],
    [data-bd-menu-lateral-hecho='1'] > button,
    .bd-subnav button[role='tab'],
    .inicio-tabs--side > button[role='tab'] {
      justify-content: flex-start !important;
      text-align: left !important;
    }
    [data-bd-menu-lateral-hecho='1'] button[role='tab'] > span,
    .bd-subnav button[role='tab'] > span {
      text-align: left;
    }
    /* Tarifas por barbero (docs/PLAN-TARIFAS-POR-BARBERO.md). JS: js/panel-tarifas.js.
       Servicios reservables › Tarifas (fichas y tabla) y Equipo › ficha › Servicios y precios. */
    /* La zona de Tarifas va sobre el fondo corporativo de la página, sin caja blanca (titular, 11-10-2026). */
    #svc-tarifas-wrap.admin-data-wrap {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      padding: 0 !important;
    }
    .tarifas-estado {
      min-height: 1.2em;
      margin: 0 0 6px;
      font-size: 0.78rem;
      color: var(--muted, #64748b);
    }
    .tarifas-estado.is-error { color: var(--err, #b91c1c); }
    .tarifas-fichas {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      gap: 10px;
      margin: 0 0 12px;
    }
    .tarifas-ficha {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 140px;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 12px;
      background: var(--c-beis-50, #f5f0e4);
      color: var(--text, #0f172a);
    }
    .tarifas-ficha--base { background: var(--c-hueso, #f4f2ed); }
    .tarifas-ficha__nombre { font-weight: 700; font-size: 0.9rem; }
    .tarifas-ficha__n,
    .tarifas-ficha__nota { font-size: 0.74rem; color: var(--muted, #64748b); }
    .tarifas-ficha__acciones { display: flex; gap: 4px; margin-top: 6px; }
    .tarifas-ficha__btn {
      min-width: 32px;
      min-height: 32px;
      padding: 0 6px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 8px;
      background: transparent;
      color: inherit;
      cursor: pointer;
      font-size: 0.85rem;
      line-height: 1;
    }
    .tarifas-ficha__btn:hover,
    .tarifas-ficha__btn:focus-visible { border-color: var(--bd-ink, #0f172a); }
    .tarifas-ficha__btn--peligro:hover,
    .tarifas-ficha__btn--peligro:focus-visible { border-color: var(--err, #b91c1c); color: var(--err, #b91c1c); }
    .tarifas-fichas .tarifas-nueva-btn {
      flex: 0 0 auto;
      width: auto;
      align-self: center;
    }
    .tarifas-nueva {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 10px;
      margin: 0 0 12px;
      padding: 12px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 12px;
    }
    .tarifas-nueva.hidden,
    .tarifas-nueva__valor.hidden { display: none; }
    .tarifas-nueva__campo { display: flex; flex-direction: column; gap: 4px; font-size: 0.78rem; }
    .tarifas-nueva__campo input,
    .tarifas-nueva__campo select { min-height: 34px; }
    .tarifas-nueva__acciones { display: flex; gap: 8px; }
    .tarifas-ajuste {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
      padding: 10px 12px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 12px;
      font-size: 0.82rem;
    }
    .tarifas-ajuste input[type='number'] { width: 80px; margin-left: 4px; }
    .tarifas-tabla-wrap { overflow-x: auto; }
    .tarifas-tabla {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    .tarifas-tabla th,
    .tarifas-tabla td {
      padding: 6px 8px;
      border-bottom: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      text-align: left;
      vertical-align: middle;
    }
    .tarifas-tabla thead th { font-weight: 700; white-space: nowrap; }
    .tarifas-col-base { color: var(--muted, #64748b); white-space: nowrap; }
    .tarifas-col__menu {
      min-width: 28px;
      min-height: 28px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 8px;
      background: transparent;
      color: inherit;
      cursor: pointer;
    }
    .tarifas-grupo th {
      padding-top: 12px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted, #64748b);
    }
    .tarifas-tabla tbody th.tarifas-fila__nombre {
      font-weight: 600;
      font-size: 0.84rem;
      letter-spacing: normal;
      text-transform: none;
      background: transparent;
      color: var(--text, #0f172a);
    }
    .tarifas-tabla tbody td { background: transparent; }
    /* El tema claro pone todos los th en mayúsculas con !important: el nombre del servicio, no. */
    html.bardev-panel-theme-light .tarifas-tabla tbody th.tarifas-fila__nombre {
      text-transform: none !important;
      letter-spacing: normal !important;
      font-size: 0.85rem !important;
      background: transparent !important;
    }
    .tarifas-celda {
      width: 96px;
      min-height: 32px;
      padding: 4px 6px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 8px;
      background: var(--c-hueso, #f4f2ed);
      color: var(--text, #0f172a);
      font-variant-numeric: tabular-nums;
    }
    .tarifas-celda::placeholder { color: var(--muted, #94a3b8); opacity: 1; }
    .tarifas-celda.is-guardando { opacity: 0.6; }
    .tarifas-nota,
    .tarifas-vacio { margin: 10px 0 0; font-size: 0.78rem; color: var(--muted, #64748b); }
    .tarifas-vacio.is-error { color: var(--err, #b91c1c); }

    /* Ficha del barbero › Servicios y precios */
    .equipo-tarifa {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin: 0 0 4px;
      font-size: 0.8rem;
      font-weight: 600;
    }
    .equipo-tarifa select { min-height: 32px; }
    .equipo-tarifa__nota { margin: 0 0 10px; font-size: 0.72rem; line-height: 1.35; }
    .equipo-svc-item {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
    }
    .equipo-svc-item > .equipo-svc-row { flex: 1 1 auto; min-width: 0; }
    .equipo-svc-propio:empty { display: none; }
    .equipo-svc-propio__input {
      width: 120px;
      min-height: 30px;
      padding: 3px 6px;
      border: 1px solid var(--bd-n-200, var(--border, #e2e8f0));
      border-radius: 8px;
      font-size: 0.74rem;
      font-variant-numeric: tabular-nums;
    }
    @media (max-width: 640px) {
      .tarifas-ficha { min-width: 0; flex: 1 1 140px; }
      .equipo-svc-item { flex-direction: column; }
      .equipo-svc-propio__input { width: 100%; }
    }

    /* Tarifa del barbero bajo su nombre en la agenda (titular, 11-10-2026): blanca la más barata, Tinta la
       intermedia, Rojo señal la más cara (Tinta #26313A, Hueso #F4F2ED, Rojo señal #C8463D). */
    .bd-tarifa-capsula {
      display: inline-block;
      max-width: 100%;
      margin-top: 4px;
      padding: 2px 8px;
      border-radius: 999px;
      border: 1px solid #26313a;
      font-size: 0.66rem;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: 0.02em;
      text-transform: none;
      white-space: nowrap;
      /* Sin «…»: si no cabe, panel-tarifas.js (ajustarCapsulas) baja la letra (titular, 11-10-2026). */
      overflow: hidden;
      text-overflow: clip;
      pointer-events: none;
    }
    .bd-tarifa-capsula--bajo { background: #ffffff; color: #26313a; }
    .bd-tarifa-capsula--medio { background: #26313a; color: #f4f2ed; }
    .bd-tarifa-capsula--alto { background: #c8463d; border-color: #c8463d; color: #ffffff; }

    /* Ficha del empleado (titular, 11-10-2026): casilla «Nombre» a media anchura y, a su derecha, la cápsula de su
       tarifa (cambia al elegir otra en «Servicios y precios», antes de guardar). */
    .equipo-nombre-fila {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    .equipo-nombre-fila > .equipo-prof-inp {
      flex: 0 0 50%;
      width: 50%;
      min-width: 0;
    }
    .equipo-nombre-tarifa {
      display: inline-flex;
      flex: 0 1 auto;
      min-width: 0;
    }
    .equipo-nombre-tarifa[hidden] {
      display: none;
    }
    .equipo-nombre-tarifa .bd-tarifa-capsula {
      margin-top: 0;
      padding: 4px 12px;
      font-size: 0.8rem;
    }
    /*
     * Cargando, común a todo el panel (titular, 11-10-2026: «pon esa misma animación en pantallas en las que se
     * requiera recopilar información y tarde tiempo»): la del Resumen IVA. Un círculo que gira (Tinta con el tramo
     * en Rojo señal) delante del texto «Cargando…» y, donde se espera un cuadro de tarjetas, un esqueleto con brillo.
     * Sin movimiento si el sistema pide reducirlo.
     */
    .bd-cargando {
      color: var(--bd-ink-soft, var(--muted, #475569));
      font-weight: 600;
    }
    .bd-cargando__ico {
      display: inline-block;
      width: 15px;
      height: 15px;
      margin-right: 8px;
      vertical-align: -3px;
      box-sizing: border-box;
      border-radius: 50%;
      border: 2px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent);
      border-top-color: var(--ds-accent, #c8463d);
      animation: bd-cargando-girar 0.8s linear infinite;
    }
    .bd-esqueleto {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
      gap: 12px;
      width: 100%;
    }
    .bd-esqueleto__tarjeta {
      position: relative;
      overflow: hidden;
      padding: 14px 16px;
      border-radius: 12px;
      border: 1px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 12%, transparent);
      background: var(--bv-g-ecfdf5, #f2f5f7);
    }
    /* Barrido de luz por encima de cada tarjeta mientras carga (titular, 12-10-2026: «efectos de luz en las cards»). */
    .bd-esqueleto__tarjeta::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(
        100deg,
        transparent 30%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 16%, transparent) 50%,
        transparent 70%
      );
      background-size: 250% 100%;
      animation: bd-cargando-barrido 1.6s linear infinite;
    }
    .bd-esqueleto__tarjeta span {
      display: block;
      border-radius: 6px;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 25%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent) 40%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 60%
      );
      background-size: 400% 100%;
      animation: bd-cargando-brillo 1.3s ease-in-out infinite;
    }
    .bd-esqueleto__tarjeta .bd-esqueleto__l { width: 45%; height: 10px; }
    .bd-esqueleto__tarjeta .bd-esqueleto__v { width: 60%; height: 24px; margin-top: 8px; }
    .bd-esqueleto__tarjeta .bd-esqueleto__s { width: 72%; height: 9px; margin-top: 7px; }
    /* Esqueleto del Panel de control (titular, 12-10-2026): calca la tarjeta del periodo y las secciones con sus
       cuatro tarjetas (etiqueta, cifra, fecha y las filas día/semana/mes/año), con el mismo brillo y barrido. */
    .informes-analyze-host.is-analyzing.is-analyzing-primera > .informes-analyze > .informes-analyze__esqueleto--panel,
    .informes-analyze-host.is-analyzing.is-analyzing-primera > .informes-analyze > .informes-analyze__esqueleto--pestana,
    .bd-esqueleto--lista {
      display: block;
    }
    .bd-esqueleto__fila + .bd-esqueleto__fila,
    .bd-esqueleto__fila + .bd-esqueleto__tarjeta,
    .bd-esqueleto__tarjeta--periodo + .bd-esqueleto__fila {
      margin-top: 12px;
    }
    .bd-esqueleto__fila.bd-esqueleto__fila--6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .bd-esqueleto__fila.bd-esqueleto__fila--2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bd-esqueleto__tarjeta--mini {
      display: grid;
      grid-template-columns: 34px 1fr;
      grid-template-rows: auto auto;
      column-gap: 10px;
      row-gap: 6px;
      align-items: center;
    }
    .bd-esqueleto__tarjeta--mini > span {
      margin: 0;
    }
    .bd-esqueleto__tarjeta--mini .bd-esqueleto__icono {
      grid-row: 1 / span 2;
      width: 34px;
      height: 34px;
      border-radius: 10px;
    }
    .bd-esqueleto__tarjeta--mini .bd-esqueleto__l {
      width: 70%;
      height: 9px;
    }
    .bd-esqueleto__tarjeta--mini .bd-esqueleto__v {
      width: 55%;
      height: 22px;
    }
    .bd-esqueleto__tarjeta--grafico .bd-esqueleto__l {
      width: 38%;
    }
    .bd-esqueleto__tarjeta .bd-esqueleto__barras {
      display: flex;
      align-items: flex-end;
      gap: 6px;
      height: 150px;
      margin-top: 14px;
      background: none !important;
      animation: none !important;
    }
    .bd-esqueleto__barras i {
      display: block;
      flex: 1 1 0;
      border-radius: 4px 4px 0 0;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 25%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent) 40%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 60%
      );
      background-size: 400% 100%;
      animation: bd-cargando-brillo 1.3s ease-in-out infinite;
      height: 45%;
    }
    .bd-esqueleto__barras i:nth-child(2n) { height: 70%; }
    .bd-esqueleto__barras i:nth-child(3n) { height: 55%; }
    .bd-esqueleto__barras i:nth-child(4n) { height: 85%; }
    .bd-esqueleto__barras i:nth-child(5n) { height: 35%; }
    .bd-esqueleto__barras i:nth-child(7n) { height: 95%; }
    .bd-esqueleto__tarjeta--tabla .bd-esqueleto__l {
      width: 30%;
      margin-bottom: 12px;
    }
    .bd-esqueleto__tarjeta .bd-esqueleto__fila-tabla {
      display: flex;
      gap: 12px;
      align-items: center;
      padding: 9px 0;
      border-top: 1px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 10%, transparent);
      background: none !important;
      animation: none !important;
      border-radius: 0;
    }
    .bd-esqueleto__fila-tabla i {
      display: block;
      height: 10px;
      border-radius: 5px;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 25%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent) 40%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 60%
      );
      background-size: 400% 100%;
      animation: bd-cargando-brillo 1.3s ease-in-out infinite;
    }
    .bd-esqueleto__fila-tabla i:nth-child(1) { flex: 1 1 40%; }
    .bd-esqueleto__fila-tabla i:nth-child(2) { flex: 0 0 90px; }
    .bd-esqueleto__fila-tabla i:nth-child(3) { flex: 0 0 60px; }
    /* Balance y liquidaciones (panel-core): cifras arriba y, debajo, las líneas de concepto con su importe. */
    .bd-esqueleto--lista .bd-esqueleto__lineas {
      margin-top: 12px;
      padding: 6px 16px;
      border-radius: 12px;
      border: 1px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 12%, transparent);
    }
    .bd-esqueleto__linea {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 11px 0;
      border-top: 1px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 10%, transparent);
    }
    .bd-esqueleto__linea:first-child {
      border-top: 0;
    }
    .bd-esqueleto__linea i {
      display: block;
      height: 10px;
      border-radius: 5px;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 25%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent) 40%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 60%
      );
      background-size: 400% 100%;
      animation: bd-cargando-brillo 1.3s ease-in-out infinite;
    }
    .bd-esqueleto__linea i:nth-child(1) { flex: 0 0 28px; height: 28px; border-radius: 50%; }
    .bd-esqueleto__linea i:nth-child(2) { flex: 1 1 40%; }
    .bd-esqueleto__linea i:nth-child(3) { flex: 0 0 80px; height: 14px; margin-left: auto; }
    @media (max-width: 1100px) {
      .bd-esqueleto__fila.bd-esqueleto__fila--6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    @media (max-width: 640px) {
      .bd-esqueleto__fila.bd-esqueleto__fila--6,
      .bd-esqueleto__fila.bd-esqueleto__fila--2 {
        grid-template-columns: 1fr;
      }
    }
    .bd-esqueleto__tarjeta--periodo {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 14px;
      min-height: 96px;
    }
    .bd-esqueleto__tarjeta--periodo .bd-esqueleto__l {
      flex: 0 0 100%;
      max-width: 220px;
      margin: 0;
    }
    .bd-esqueleto__tarjeta--periodo .bd-esqueleto__p {
      width: 220px;
      height: 28px;
      margin: 0;
      border-radius: 999px;
    }
    .bd-esqueleto__tarjeta--periodo .bd-esqueleto__p--corto {
      width: 150px;
    }
    .bd-esqueleto__seccion {
      margin-top: 14px;
      padding: 14px 16px 16px;
      border-radius: 14px;
      border: 1px solid color-mix(in srgb, var(--barveo-palette-05, #26313a) 10%, transparent);
    }
    .bd-esqueleto__cab {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 12px;
    }
    .bd-esqueleto__cab > span {
      display: block;
      border-radius: 6px;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 25%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 18%, transparent) 40%,
        color-mix(in srgb, var(--barveo-palette-05, #26313a) 8%, transparent) 60%
      );
      background-size: 400% 100%;
      animation: bd-cargando-brillo 1.3s ease-in-out infinite;
    }
    .bd-esqueleto__icono {
      width: 36px;
      height: 36px;
      border-radius: 10px;
    }
    .bd-esqueleto__t {
      width: 120px;
      height: 12px;
    }
    .bd-esqueleto__fila {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }
    .bd-esqueleto__tarjeta--kpi {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 9px 10px;
    }
    .bd-esqueleto__tarjeta--kpi > span {
      margin: 0;
    }
    .bd-esqueleto__tarjeta--kpi .bd-esqueleto__l {
      flex: 0 0 100%;
      max-width: 55%;
      height: 10px;
    }
    .bd-esqueleto__tarjeta--kpi .bd-esqueleto__v {
      flex: 0 0 100%;
      max-width: 48%;
      height: 26px;
    }
    .bd-esqueleto__tarjeta--kpi .bd-esqueleto__s {
      flex: 0 0 100%;
      max-width: 40%;
      height: 8px;
      margin-bottom: 6px;
    }
    .bd-esqueleto__tarjeta--kpi .bd-esqueleto__k {
      flex: 0 0 30px;
      height: 8px;
    }
    .bd-esqueleto__tarjeta--kpi .bd-esqueleto__n {
      flex: 1 1 30%;
      height: 14px;
    }
    .bd-esqueleto__tarjeta--kpi .bd-esqueleto__d {
      flex: 0 0 38px;
      height: 8px;
    }
    @media (max-width: 1100px) {
      .bd-esqueleto__fila {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media (max-width: 640px) {
      .bd-esqueleto__fila {
        grid-template-columns: 1fr;
      }
    }
    @keyframes bd-cargando-girar {
      to { transform: rotate(360deg); }
    }
    @keyframes bd-cargando-brillo {
      0% { background-position: 100% 50%; }
      100% { background-position: 0 50%; }
    }
    @keyframes bd-cargando-barrido {
      0% { background-position: 100% 0; }
      100% { background-position: 0 0; }
    }
    @media (prefers-reduced-motion: reduce) {
      .bd-cargando__ico,
      .bd-esqueleto__tarjeta span,
      .bd-esqueleto__tarjeta::after,
      .bd-esqueleto__cab > span,
      .bd-esqueleto__barras i,
      .bd-esqueleto__fila-tabla i,
      .bd-esqueleto__linea i,
      .informes-analyze__spin {
        animation: none;
      }
    }
    /*
     * Temas visuales por barbería (titular, 12-10-2026; docs/PLAN-TEMAS-VISUALES.md). panel-temas.js pone las
     * variables en <html data-bv-tema data-bv-esquema>; aquí van la sección de tarjetas, la barra de vista previa,
     * la transición de colores y las guardas del logotipo. Ninguna regla de aquí colorea imágenes.
     */

    /* ── Logotipo intocable (docs/barveo-temas/REGLAS_MARCA.md): ni filtros ni mezclas ni transparencias, en ningún tema. */
    .bardev-brand-logo,
    #nav-header-logo,
    #nav-header-logo-h,
    .nav-header-logo-h,
    .nav-header-logo-wrap,
    .nav-header-logo-wrap img,
    .bv-tema-mini__logo,
    .bv-tema-mini__logo img {
      filter: none !important;
      -webkit-filter: none !important;
      mix-blend-mode: normal !important;
      opacity: 1 !important;
      mask: none !important;
      -webkit-mask: none !important;
    }
    /* En temas oscuros el logotipo va en negativo (activo oficial, lo cambia panel-temas.js por src) sobre el propio
       fondo oscuro: sin placa blanca (titular, 12-10-2026, manual de marca). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #nav-header-logo-h,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-header-logo-h {
      background: transparent !important;
      padding: 0;
      border-radius: 0;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-header-logo-wrap {
      background: transparent !important;
      border-color: transparent !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light {
      color-scheme: dark;
    }
    html[data-bv-esquema='light'] {
      color-scheme: light;
    }
    /* Solo cambian colores, con una transición corta; nada de tamaños ni de imágenes. */
    html[data-bv-tema] body,
    html[data-bv-tema] .content-panel,
    html[data-bv-tema] .nav-side,
    html[data-bv-tema] .card,
    html[data-bv-tema] .btn {
      transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
    }
    @media (prefers-reduced-motion: reduce) {
      html[data-bv-tema] body,
      html[data-bv-tema] .content-panel,
      html[data-bv-tema] .nav-side,
      html[data-bv-tema] .card,
      html[data-bv-tema] .btn {
        transition: none;
      }
    }
    /*
     * Noche va sobre la misma capa clara que los demás temas (panel-ds.css: menú limpio, superficies con
     * variables --ds-* / --bd-*); aquí solo se corrigen los blancos y claros fijos del tema claro y se quitan
     * las líneas verticales (titular, 12-10-2026). El color de servicios y empleados es un dato: no se toca.
     */
    html[data-bv-esquema='dark'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .app-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-dashboard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .content-panel {
      background: var(--bv-canvas) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light body {
      color: var(--bv-text);
    }
    /* Menú lateral y submenús: como el claro, con fondo oscuro y sin líneas verticales. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-side {
      background: var(--bv-nav-background) !important;
      border-right: 0 !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-side-scroll::before {
      color: var(--bv-nav-muted) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-subnav,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-tabs--side,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inicio-tabs.inicio-tabs--side {
      border-right: 0 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-group .nav-subgroup__icon {
      background: color-mix(in srgb, var(--group-color, var(--bv-text-secondary)) 18%, var(--bv-surface)) !important;
      border-color: color-mix(in srgb, var(--group-color, var(--bv-text-secondary)) 30%, var(--bv-surface)) !important;
    }
    /* General (Inicio) y bloques con degradado claro fijo en el tema claro. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo #equipo-add-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-panel-mes > .card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-panel-config > .card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos .card {
      background: var(--bv-surface) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .main-area .content-panel > h2 {
      background: var(--bv-canvas) !important;
      color: var(--bv-text) !important;
    }
    /* Tarjetas, paneles y tablas que el tema claro pinta de blanco fijo. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-user-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-svc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-calrow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-prodrow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-d-res-box,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-paygrid__tile,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-notes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-notes--in-banner,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-tip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero__back,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero__edit,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-panel .agenda-detail-footer,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-detail-edit-footer.agenda-detail-footer,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-detail-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-foot {
      background: var(--bv-surface) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td {
      background: var(--bv-surface) !important;
      color: var(--bv-text) !important;
    }
    /* Modales, desplegables y paneles flotantes: superficie elevada. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-surface,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-float-login,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-pick-dd,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-usuarios .usuarios-search-dropdown,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-waitlist-modal > div,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-actions-menu,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-modal__panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-registrar-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__sheet,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #cliente-ficha-overlay .cliente-ficha-body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #camp-modal .camp-modal-body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #camp-modal .camp-modal-foot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-foot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .waitlist-modal-body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .waitlist-modal-foot {
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
    }
    /* Controles: campos, selectores, editor de texto y botones. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']),
    html[data-bv-esquema='dark'].bardev-panel-theme-light select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-status-select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-desc-editor-wrap .ql-container.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-desc-editor-wrap .ql-editor,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-desc-editor-wrap .ql-snow .ql-picker-options {
      background: var(--bv-input-background) !important;
      color: var(--bv-input-text) !important;
      border-color: var(--bv-input-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light ::placeholder {
      color: var(--bv-text-placeholder);
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn:not(.secondary):not(.nav-item):not(.tenant-delete) {
      color: var(--bv-on-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn.secondary:not(.nav-item):not(.tenant-delete):not(.btn-icon),
    html[data-bv-esquema='dark'].bardev-panel-theme-light button.bardev-modal-close,
    html[data-bv-esquema='dark'].bardev-panel-theme-light button.bardev-modal-close--on-light,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-visit-prefs__opts .bd-btn.agenda-d-visit-ov:not(.is-on) {
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border-strong) !important;
    }
    /* Agenda: la tarjeta neutra va sobre la superficie de eventos; la banda del servicio o empleado se conserva. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card:not(.agenda-card--waitlist-ghost) {
      background: var(--bv-event-neutral-background) !important;
      background-color: var(--bv-event-neutral-background) !important;
      color: var(--bv-event-neutral-text) !important;
    }

    /*
     * Agenda en temas oscuros. Los colores de servicios y empleados son datos: cada tarjeta conserva su color en la
     * banda izquierda y en el borde, y el fondo pasa a ser un tinte oscuro de ese color sobre la superficie elevada
     * (en claro es un degradado pastel); el texto se vuelve claro. Descansos, bloqueos y fuera de jornada usan sus
     * tokens de agenda en vez de los cafés derivados del acento.
     */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card:not(.agenda-card--waitlist-ghost) {
      background: var(--bv-event-neutral-background) !important;
      background-image: none !important;
      color: var(--bv-event-neutral-text) !important;
      border-color: var(--bv-calendar-line) !important;
      box-shadow: 0 2px 8px var(--bv-shadow-color) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card:not(.agenda-card--locked):not(.agenda-card--personal-block):not(.agenda-card--svc):not(.agenda-card--waitlist-ghost) {
      border-left-color: var(--bv-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__time,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__name-text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__svc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__name-svc-sep {
      color: var(--bv-event-neutral-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__svc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card .agenda-card__name-svc-sep {
      opacity: 0.86;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--locked {
      background: var(--bv-calendar-blocked-background) !important;
      color: var(--bv-calendar-blocked-text) !important;
      border-left-color: var(--bv-border-strong) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--noshow {
      background: var(--bv-disabled-background) !important;
      color: var(--bv-disabled-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--noshow .agenda-card__time,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--noshow .agenda-card__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--noshow .agenda-card__name-text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--noshow .agenda-card__svc {
      color: var(--bv-disabled-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card--personal-block {
      background: color-mix(in srgb, var(--bv-success) 18%, var(--bv-surface-raised)) !important;
      border-left-color: var(--bv-success) !important;
      border-color: color-mix(in srgb, var(--bv-success) 40%, transparent) !important;
    }
    /* Colores de servicio (datos): mismo matiz que en claro, como tinte oscuro; la banda y el borde conservan el color. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-blue:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #3B82F6 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #3B82F6 45%, transparent) !important;
      border-left: 4px solid #3B82F6 !important;
      --agenda-cobrado-accent: #3B82F6;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-green:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #10B981 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #10B981 45%, transparent) !important;
      border-left: 4px solid #10B981 !important;
      --agenda-cobrado-accent: #10B981;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-orange:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #F97316 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #F97316 45%, transparent) !important;
      border-left: 4px solid #F97316 !important;
      --agenda-cobrado-accent: #F97316;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-yellow:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #EAB308 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #EAB308 45%, transparent) !important;
      border-left: 4px solid #EAB308 !important;
      --agenda-cobrado-accent: #EAB308;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-red:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #EF4444 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #EF4444 45%, transparent) !important;
      border-left: 4px solid #EF4444 !important;
      --agenda-cobrado-accent: #EF4444;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-purple:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #A855F7 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #A855F7 45%, transparent) !important;
      border-left: 4px solid #A855F7 !important;
      --agenda-cobrado-accent: #A855F7;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-cyan:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #06B6D4 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #06B6D4 45%, transparent) !important;
      border-left: 4px solid #06B6D4 !important;
      --agenda-cobrado-accent: #06B6D4;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-pink:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #EC4899 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #EC4899 45%, transparent) !important;
      border-left: 4px solid #EC4899 !important;
      --agenda-cobrado-accent: #EC4899;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-lime:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #84CC16 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #84CC16 45%, transparent) !important;
      border-left: 4px solid #84CC16 !important;
      --agenda-cobrado-accent: #84CC16;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-indigo:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #6366F1 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #6366F1 45%, transparent) !important;
      border-left: 4px solid #6366F1 !important;
      --agenda-cobrado-accent: #6366F1;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-rose:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #F43F5E 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #F43F5E 45%, transparent) !important;
      border-left: 4px solid #F43F5E !important;
      --agenda-cobrado-accent: #F43F5E;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-teal:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #14B8A6 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #14B8A6 45%, transparent) !important;
      border-left: 4px solid #14B8A6 !important;
      --agenda-cobrado-accent: #14B8A6;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-amber:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #F59E0B 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #F59E0B 45%, transparent) !important;
      border-left: 4px solid #F59E0B !important;
      --agenda-cobrado-accent: #F59E0B;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-fuchsia:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #D946EF 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #D946EF 45%, transparent) !important;
      border-left: 4px solid #D946EF !important;
      --agenda-cobrado-accent: #D946EF;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card.agenda-card--svc-sky:not(.agenda-card--personal-block) {
      background: color-mix(in srgb, #0EA5E9 24%, var(--bv-surface-raised)) !important;
      border-color: color-mix(in srgb, #0EA5E9 45%, transparent) !important;
      border-left: 4px solid #0EA5E9 !important;
      --agenda-cobrado-accent: #0EA5E9;
    }
    /* Fuera de jornada, entre turnos y descansos: tokens de bloqueo y descanso de la agenda. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--entre-turnos,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--fuera-jornada {
      border-color: var(--bv-calendar-line) !important;
      background-color: var(--bv-calendar-blocked-background) !important;
      background-image: repeating-linear-gradient(
        -45deg,
        var(--bv-calendar-blocked-background) 0px,
        var(--bv-calendar-blocked-background) 5px,
        color-mix(in srgb, var(--bv-calendar-line) 55%, var(--bv-calendar-blocked-background)) 5px,
        color-mix(in srgb, var(--bv-calendar-line) 55%, var(--bv-calendar-blocked-background)) 10px
      ) !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--entre-turnos .agenda-break__txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--entre-turnos .agenda-break__time,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--fuera-jornada .agenda-break__txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--fuera-jornada .agenda-break__time,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--descanso-label .agenda-break__txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--descanso-label .agenda-break__time {
      color: var(--bv-calendar-blocked-text) !important;
      text-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break__txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break__time {
      color: var(--bv-calendar-break-text) !important;
      text-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break--horario-especial-bg {
      border-color: color-mix(in srgb, var(--bv-primary) 40%, transparent) !important;
      background-color: color-mix(in srgb, var(--bv-primary) 14%, var(--bv-calendar-background)) !important;
      background-image: repeating-linear-gradient(
        -45deg,
        transparent 0px,
        transparent 5px,
        color-mix(in srgb, var(--bv-primary) 10%, transparent) 5px,
        color-mix(in srgb, var(--bv-primary) 10%, transparent) 10px
      ) !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break__especial-capsule {
      background: var(--bv-primary) !important;
      border-color: transparent !important;
      box-shadow: 0 1px 4px var(--bv-shadow-color) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break__especial-capsule .agenda-break__txt--especial,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-break__especial-capsule .agenda-break__time {
      color: var(--bv-on-primary) !important;
    }
    /* Reloj, píldora de lista de espera, chip de primera visita y pie «En espera» de las tarjetas (titular, 12-10). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__clock {
      background: var(--bv-surface-raised) !important;
      color: color-mix(in srgb, var(--bv-primary) 55%, var(--bv-text)) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__clock-time {
      /* Dígitos con el matiz del acento aclarado con el texto: legibles también cuando el acento es oscuro (Marino). */
      color: color-mix(in srgb, var(--bv-primary) 55%, var(--bv-text)) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card__first-visit {
      background: var(--bv-warning-background) !important;
      color: var(--bv-warning) !important;
      border-color: var(--bv-warning) !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card__wl-foot {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card__wl-foot .agenda-card__wl-foot__name {
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card__wl-foot .agenda-card__wl-foot__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card__wl-foot .agenda-card__wl-foot__sep,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-card__wl-foot .agenda-card__wl-foot__svc {
      color: var(--bv-text-secondary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__avatar--ph {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text) !important;
    }

    /*
     * Ajustes de contraste en temas oscuros tras las capturas del titular (12-10-2026, tanda 2): píldora de lista de
     * espera, cabeceras de la lista de espera, etiquetas de sección del menú, selector de barbería, faldón de envíos,
     * esqueletos de carga, fichajes y planes.
     */
    /* Cápsula «Lista de espera · N»: sólida con el aviso del tema y texto del fondo de aviso (oscuro). La capa clara
       fija el texto con -webkit-text-fill-color, que en Safari manda sobre color: aquí también (titular, 12-10:
       «el texto de la cápsula no queda bien, el fondo tampoco. busca combinaciones que contrasten»). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-waitlist-date-pill,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-date-pill,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-date-pill * {
      color: var(--bv-warning-background) !important;
      -webkit-text-fill-color: var(--bv-warning-background) !important;
      opacity: 1 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-date-pill {
      background: var(--bv-warning) !important;
      border-color: var(--bv-warning) !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-date-pill:hover {
      background: color-mix(in srgb, var(--bv-warning) 85%, var(--bv-text)) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-date-pill__dot {
      background: var(--bv-warning-background) !important;
    }
    /* Lista de espera: cabecera de cada cliente sobre superficie suave, nunca blanca. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-card-head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-client-group__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-client-group,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-card {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-card {
      background: var(--bv-surface-raised) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-client-group__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-client-group__phone,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-card-head__main {
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-client-group__meta {
      color: var(--bv-text-secondary) !important;
      opacity: 1 !important;
    }
    /* Etiquetas de sección del menú («Tienda física», «Tienda online»): blancas y en negrita en oscuro (titular). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-subgroup__label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-subgroup__txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-subgroup__title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-subgroup > span:not(.nav-subgroup__rule):not(.nav-subgroup__icon) {
      color: var(--bv-nav-text) !important;
      font-weight: 700 !important;
      opacity: 1 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-subgroup__rule {
      background: var(--bv-nav-border) !important;
      opacity: 1 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-subgroup__icon {
      color: var(--bv-nav-text) !important;
    }
    /* Selector de barbería (entrada): tarjeta y textos con los tokens. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .tp-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .card {
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker #tp-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .tp-item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .tp-item strong {
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .tp-item span {
      color: var(--bv-text-secondary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker .btn.secondary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker #tp-create-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #view-tenant-picker #tp-logout-btn {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border-strong) !important;
    }
    /* Faldón de envíos («Correos o SEUR recogen en tu local»). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .shipping-mode-warn {
      background: var(--bv-danger-background) !important;
      color: var(--bv-text) !important;
      border-color: color-mix(in srgb, var(--bv-danger) 45%, transparent) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .shipping-mode-warn__title {
      color: var(--bv-danger) !important;
    }
    /* Esqueletos de carga: nunca blancos en oscuro. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-esqueleto__tarjeta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .iva-esqueleto,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .iva-esqueleto > *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .iva-esqueleto__l,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .iva-esqueleto__s,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .iva-esqueleto__v,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-analyze__tarjeta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-esqueleto {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-esqueleto__tarjeta span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .iva-esqueleto span {
      background: linear-gradient(90deg, var(--bv-surface-raised) 0%, var(--bv-surface-hover) 50%, var(--bv-surface-raised) 100%) !important;
    }
    /* Fichajes: días no laborables y festivos. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-cerrado {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text-secondary) !important;
      border-color: var(--bv-border) !important;
      opacity: 1 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-holiday,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-vacacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-vacaciones {
      background: var(--bv-warning-background) !important;
      color: var(--bv-warning) !important;
      border-color: var(--bv-warning) !important;
      opacity: 1 !important;
    }
    /* Mi Plan: tarjetas de los planes. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card {
      background: var(--bv-surface) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card.mi-plan-card--current {
      background: color-mix(in srgb, var(--bv-primary) 12%, var(--bv-surface-raised)) !important;
      border-color: var(--bv-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__price,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card strong {
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__note,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__desc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card .sub {
      color: var(--bv-text-secondary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__icon {
      background: var(--bv-surface-subtle) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card__feature,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-card li {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }

    /* Panel de control (Estadísticas e informes): secciones y KPI como tarjetas también en oscuro (titular, 12-10). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-section {
      background: var(--bv-surface) !important;
      border: 1px solid var(--bv-border) !important;
      box-shadow: 0 2px 10px var(--bv-shadow-color) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-kpi,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-mini-kpi,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-kpi-card {
      background: var(--bv-surface-raised) !important;
      border: 1px solid var(--bv-border) !important;
      box-shadow: 0 1px 4px var(--bv-shadow-color) !important;
      color: var(--bv-text) !important;
    }
    /* Números grandes de las tarjetas KPI (Panel de control, Informes, Fichajes, Vacaciones): el <strong> lleva
       --c-azul-900b fijo y el subtítulo un pizarra fijo (04-fiscal-comisiones.css, con id: #panel-informes…); estas
       tarjetas van fuera del generador, así que aquí mandan los tokens (titular, 12-10-2026: «hay números generales
       que no contrastan bien»). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-kpi-card strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-mini-kpi strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-kpi strong {
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-kpi-card .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-mini-kpi .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-kpi .sub {
      color: var(--bv-text-secondary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-mini-kpi-period,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-mini-kpi-vs {
      color: var(--bv-text-secondary) !important;
    }
    /* Panel de control: cada sección (Citas, Clientes, Ingresos, Caja, Inventario, Empleados, Marketing) llevaba su
       propio acento (verde, índigo, azul, naranja, violeta, teal, rosa) en el icono y el título; el titular (12-10-2026)
       quiere solo colores del tema: todas con el acento del tema (y, sin tema, el de Colores Barveo). */
    html.bardev-panel-theme-light .informes-dash-section,
    html.bardev-panel-theme-light .informes-dash-section--citas,
    html.bardev-panel-theme-light .informes-dash-section--clientes,
    html.bardev-panel-theme-light .informes-dash-section--ingresos,
    html.bardev-panel-theme-light .informes-dash-section--caja,
    html.bardev-panel-theme-light .informes-dash-section--inventario,
    html.bardev-panel-theme-light .informes-dash-section--empleados,
    html.bardev-panel-theme-light .informes-dash-section--marketing {
      --dash-accent: var(--bv-primary, var(--ds-accent));
      --dash-accent-soft: var(--bv-primary-soft, var(--ds-accent-light));
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-section-head__icon {
      background: color-mix(in srgb, var(--bv-primary) 16%, var(--bv-surface-raised)) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-section-foot a {
      color: var(--bv-primary) !important;
    }

    /* Mi Plan: el bloque en línea del index.html (#bardev-mi-plan-current-ring) fija beige y café con !important
       y con id; en oscuro mandan estas, con el mismo id y una clase más (titular, 12-10). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-card {
      background: var(--bv-surface) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
      opacity: 1 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-card.mi-plan-card--current {
      background: color-mix(in srgb, var(--bv-primary) 12%, var(--bv-surface-raised)) !important;
      border-color: var(--bv-primary) !important;
      outline-color: color-mix(in srgb, var(--bv-primary) 35%, transparent) !important;
      box-shadow: 0 0 0 1px var(--bv-primary), 0 10px 28px var(--bv-shadow-color) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-mod {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-mod--new {
      background: var(--bv-primary-soft) !important;
      border-color: var(--bv-primary) !important;
      color: var(--bv-primary-soft-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-card__icon {
      background: var(--bv-surface-subtle) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-card__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-card__price,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-mi-plan .mi-plan-card__note {
      color: var(--bv-text) !important;
    }

    /* Visita guiada en oscuro: la tarjeta, su cabecera, el cuerpo, el pie, el globo del foco y el muelle van en las
       superficies del tema, no en el tinte del acento (--bd-g-50 es primary-soft: granate en Marino). El marco de la
       ilustración, en la superficie sutil. Las ilustraciones son verdes: en los temas azules (Marino, Océano) la
       visita guiada sirve sus variantes «-azul.jpg» (html[data-bv-ilustraciones="azul"]) (titular, 12-10-2026). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-card {
      background: var(--bv-surface) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-card__head {
      background: var(--bv-surface-subtle) !important;
      border-bottom-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-card__body {
      background: var(--bv-surface) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-card__foot {
      background: var(--bv-surface) !important;
      border-top-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-art {
      background: var(--bv-surface-subtle) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-spot-alt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-lock,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-ch {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border-strong) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-dock-close {
      background: var(--bv-surface-raised) !important;
      background-color: var(--bv-surface-raised) !important;
      border-color: var(--bv-border-strong) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vg-dock-close:hover {
      background: var(--bv-surface-hover) !important;
      background-color: var(--bv-surface-hover) !important;
      border-color: var(--bv-primary) !important;
      color: var(--bv-text) !important;
    }

    /* Botones sólidos que llevan la tonalidad 047857 directa (ahora acento aclarado): van en el acento con su texto. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__cobrar,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-footer__cobrar,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-cobrar.agenda-detail-footer__cobrar,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__arrow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__pill,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__icon-btn {
      background: var(--bv-primary) !important;
      border-color: var(--bv-primary) !important;
      color: var(--bv-on-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__cobrar:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-cobrar.agenda-detail-footer__cobrar:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__arrow:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__pill:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-topbar__icon-btn:hover {
      background: var(--bv-primary-hover) !important;
      border-color: var(--bv-primary-hover) !important;
    }
    /* Papeleras y acciones de peligro: el fondo de peligro de los temas oscuros es claro (#FFB4AB en Marino), así que
       el icono va en «texto sobre peligro» (titular, 12-10: «los iconos de papeleras sobre rojo claro deben ir oscuros»). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .tenant-delete,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-buscador-card__btn--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn-icon--danger svg *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .tenant-delete svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .tenant-delete svg * {
      color: var(--bv-on-danger) !important;
    }

    /* Tarjeta del cliente en el modal de cita: la capa clara la pone blanca con id (#agenda-detail-modal), por encima
       de la zona generada (titular, 12-10: «el modal de cobro presenta un fondo blanco que no corresponde»). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-d-client-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-clientcard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-d-client-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-d-edit-client-card {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-shell:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-clientcard:hover:not(:disabled) {
      background: var(--bv-surface-hover) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-shell--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-clientcard--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-visit-prefs__collapsed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero.agenda-detail-hero--completed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero.agenda-detail-hero--cancelled {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text) !important;
    }
    /* Pastillones de estado de Developer («Conectado» de Stripe, «Listo» de Envíos): llevan los verdes de marca, que
       con tema son tonalidades del acento (en Marino, rojo sobre rojo suave; titular, 12-10-2026: «el botón conectado
       en rojo sobre azul no queda bien»). Con cualquier tema aplicado, tokens de éxito del tema. */
    html[data-bv-tema].bardev-panel-theme-light .dev-pc-stripe-status.is-on .dev-pc-stripe-pill,
    html[data-bv-tema].bardev-panel-theme-light #panel-dev-envios .dev-pc-stripe-pill.is-ready {
      background: var(--bv-success-background) !important;
      color: var(--bv-success) !important;
      border-color: color-mix(in srgb, var(--bv-success) 45%, transparent) !important;
    }

    /* Capa «Analizando…» de Informes en oscuro: velo del lienzo del tema y círculo con el texto y el acento. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-analyze-host.is-analyzing > .informes-analyze {
      background: color-mix(in srgb, var(--bv-canvas) 72%, transparent) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-analyze__spin {
      border-color: color-mix(in srgb, var(--bv-text) 28%, transparent) !important;
      border-top-color: var(--bv-primary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-analyze__txt {
      color: var(--bv-text) !important;
    }

    /* Mensajes de estado y avisos emergentes con los tokens de estado del tema (titular, 12-10-2026: «los mensajes de
       guardado no son del tema»): éxito con success, error con danger (antes, las tonalidades del acento: en Marino el
       «guardado» salía rojo como un error). El aviso emergente va sobre la superficie elevada, con el icono en un
       círculo de estado dibujado con máscara para que tome el color del tema. */
    /* Los mensajes de guardado van en verde, con los tokens de «correcto» de cada tema (titular, 31-10-2026: en Barveo
       el acento es rojo y el «¡Listo!» parecía un error; deja sin efecto la regla del 12-10 de pintarlos con el acento).
       Sin tema, respaldo en verde. Los de error siguen con danger. */
    html.bardev-panel-theme-light .msg.ok,
    html.bardev-panel-theme-light .bardev-float-login__body .msg.ok {
      background: var(--bv-success-background, #ecfdf5) !important;
      border-color: color-mix(in srgb, var(--bv-success, #047857) 45%, transparent) !important;
      color: var(--bv-success, #065f46) !important;
    }
    html[data-bv-tema].bardev-panel-theme-light .msg.err,
    html[data-bv-tema].bardev-panel-theme-light .msg.error,
    html[data-bv-tema].bardev-panel-theme-light .bardev-float-login__body .msg.err,
    html[data-bv-tema].bardev-panel-theme-light .bardev-float-login__body .msg.error {
      background: var(--bv-danger-background) !important;
      border-color: color-mix(in srgb, var(--bv-danger) 45%, transparent) !important;
      color: var(--bv-danger) !important;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast {
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
      border: 1px solid var(--bv-border) !important;
      box-shadow: 0 20px 60px var(--bv-shadow-color) !important;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast::before {
      background-image: none !important;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast--ok::before {
      background-color: var(--bv-success-background) !important;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast--error::before {
      background-color: var(--bv-danger-background) !important;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast::after {
      content: '';
      position: absolute;
      left: 24px;
      top: 50%;
      width: 28px;
      height: 28px;
      transform: translateY(-50%);
      pointer-events: none;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast--ok::after {
      background-color: var(--bv-success);
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
    }
    html[data-bv-tema].bardev-panel-theme-light .bardev-toast--error::after {
      background-color: var(--bv-danger);
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
    }

    /* Reseñas: las estrellas siempre en amarillo (titular, 12-10-2026); las apagadas, texto atenuado. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-resenas .resenas-star {
      color: color-mix(in srgb, var(--bv-text) 28%, transparent) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-resenas .resenas-star.is-on {
      color: var(--c-naranja-550, #f59e0b) !important;
    }
    /* Tarjetas de puntos (Fidelización): chip del puesto sobre la superficie sutil. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .loyalty-barfis-tile__rank {
      background: var(--bv-surface-subtle) !important;
      border-color: var(--bv-border-strong) !important;
      color: var(--bv-text) !important;
    }

    /* Resumen IVA: la tarjeta «Beneficio» va sobre --iva-tinta, que con tema oscuro es el texto (clara): tinte del
       acento sobre la superficie elevada, con sus textos (titular, 12-10-2026). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio {
      background: color-mix(in srgb, var(--bv-primary) 14%, var(--bv-surface-raised)) !important;
      border-color: var(--bv-primary) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card--beneficio-neg {
      background: var(--bv-danger-background) !important;
      border-color: var(--bv-danger) !important;
      color: var(--bv-danger) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card .fact-iva-card-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card .fact-iva-card-value,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .iva-cards-row--beneficio .fact-iva-card .fact-iva-card-sub {
      color: inherit !important;
    }
    /* Papeleras: fondo de peligro claro y el icono en azul del tema (--bv-surface-subtle: #233149 en Marino, 7,7:1 sobre
       #FFB4AB), que contrasta más que el texto sobre peligro (titular, 12-10-2026; 13-10: «trazo azul sobre fondo rojo
       claro»; el lienzo #101826 se leía negro). Manda sobre la regla anterior de --bv-on-danger. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .tenant-delete,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-buscador-card__btn--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn-icon--danger svg *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .tenant-delete svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .tenant-delete svg * {
      color: var(--bv-surface-subtle) !important;
    }
    /* …y el trazo: panel-ds.css (capa clara, se carga después) fija «stroke: #fff» en las papeleras de las tablas y de
       las tarjetas de catálogo, así que el «color» de arriba no llegaba al dibujo y se veía blanco sobre rojo claro
       (titular, 13-10-2026: «la papelera deberia verse con trazo azul sobre fondo rojo claro»). Mismos selectores con el
       esquema oscuro delante, que ganan en especificidad. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td .btn-icon--danger svg *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn-icon--danger svg *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn-icon--danger svg * {
      stroke: var(--bv-surface-subtle) !important;
      color: var(--bv-surface-subtle) !important;
    }

    /* Fichajes: la capa clara fija los colores de los estados con ids (#panel-fichajes #fichajes-table…) e !important;
       aquí con la misma ruta para que manden los tokens del tema (titular, 12-10-2026: «Festivo» naranja sobre naranja). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-holiday,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-holiday,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-holiday,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-holiday,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-holiday,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-vacacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-vacacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-vacacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-vacacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-vacacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-vacaciones,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-vacaciones,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-vacaciones,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-vacaciones,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-vacaciones {
      background: var(--bv-warning-background) !important;
      color: var(--bv-warning) !important;
      border-color: color-mix(in srgb, var(--bv-warning) 45%, transparent) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-cerrado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-cerrado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-cerrado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-cerrado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-cerrado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table .fichajes-status-closed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-wrap .fichajes-status-closed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-status-closed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-status-closed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichajes-status-closed {
      background: var(--bv-surface-subtle) !important;
      color: var(--bv-text-secondary) !important;
      border-color: var(--bv-border) !important;
    }

    /* Líneas divisorias de las tablas de datos y del calendario de Vacaciones: la capa clara las pinta con un negro
       translúcido fijo que sobre fondo oscuro no se ve (titular, 12-10-2026: «no se ven las líneas horizontales
       divisorias»); en oscuro, el borde del tema. Con los ids de la capa clara para ganarle. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .admin-data-table td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vacaciones-year-cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vacaciones-year-cell--slot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vacaciones-year-cell--emp {
      border-bottom-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table tbody tr:last-child td {
      border-bottom-color: transparent !important;
    }

    /* Recordatorio de fichaje, «Posponer»: +2 y +5 con el aviso del tema (el generador los dejaba sobre una superficie
       oscura con el texto naranja oscuro; titular, 13-10-2026: «los botones de posponer +2 y +5 no se ven»). +10 y +15
       siguen en naranja sólido, que contrasta en oscuro. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit-snooze-min[data-fichaje-snooze-min='2'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit-snooze-min[data-fichaje-snooze-min='5'] {
      background: var(--bv-warning-background) !important;
      border-color: var(--bv-warning) !important;
      color: var(--bv-warning) !important;
      -webkit-text-fill-color: var(--bv-warning) !important;
      box-shadow: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit-snooze-min[data-fichaje-snooze-min='5'] {
      background: color-mix(in srgb, var(--bv-warning) 18%, var(--bv-warning-background)) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit-snooze-min[data-fichaje-snooze-min='2']:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit-snooze-min[data-fichaje-snooze-min='5']:hover {
      background: color-mix(in srgb, var(--bv-warning) 32%, var(--bv-warning-background)) !important;
      color: var(--bv-text) !important;
      -webkit-text-fill-color: var(--bv-text) !important;
    }

    /* Carrito de proveedor: la papelera de cada línea fija su trazo en rojo (16-proveedores-inventario.css) y en oscuro
       no se veía; en blanco sobre el fondo de peligro del tema (titular, 13-10-2026: «el icono de papelera no se ve, ponlo en
       blanco»). */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-cart-item .prov-cart-item__remove.btn-icon--danger {
      background: var(--bv-danger-background) !important;
      border-color: color-mix(in srgb, var(--bv-danger) 45%, transparent) !important;
      color: #ffffff !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-cart-item .prov-cart-item__remove.btn-icon--danger svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-cart-item .prov-cart-item__remove.btn-icon--danger svg * {
      stroke: #ffffff !important;
      color: #ffffff !important;
      fill: none !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-cart-item .prov-cart-item__remove.btn-icon--danger:hover {
      background: color-mix(in srgb, var(--bv-danger) 22%, var(--bv-danger-background)) !important;
    }

    /* Clientes, interruptores «Reserva online» y «Confianza» apagados: en oscuro el carril iba en la superficie de la fila
       (37-noche.css) con el borde del tema claro, y solo se veía la bola (titular, 13-10-2026: «en el estado off no se ve
       el trazo»). Apagado: carril en la superficie sutil con el borde fuerte del tema. Encendido: relleno con el acento,
       como en claro, para que no parezca más «activo» el apagado. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-usuarios .usuarios-online-switch:not([aria-checked='true']) {
      background: var(--bv-surface-subtle) !important;
      border-color: var(--bv-border-strong);
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-usuarios .usuarios-online-switch[aria-checked='true'] {
      background: var(--bv-primary) !important;
      border-color: var(--bv-primary);
    }

    /* ── Sección Temas visuales ── */
    .bv-temas__intro {
      max-width: 56rem;
      line-height: 1.5;
      margin: 0 0 12px;
    }
    .bv-temas__aviso {
      margin: 0 0 12px;
      padding: 8px 12px;
      border-radius: 10px;
      background: var(--bd-warn-bg, #fff3d9);
      color: var(--bd-warn-fg, #805000);
      border: 1px solid var(--bd-warn-bd, #e0b35c);
    }
    .bv-temas__grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
      gap: 14px;
      margin: 4px 0 16px;
    }
    .bv-tema-card {
      display: flex;
      flex-direction: column;
      gap: 0;
      padding: 0;
      margin: 0;
      width: 100%;
      min-height: 44px;
      text-align: left;
      border: 2px solid var(--bd-n-200, var(--border));
      border-radius: 16px;
      background: var(--bd-n-0, var(--card));
      color: var(--bd-ink, var(--text));
      cursor: pointer;
      overflow: hidden;
      font: inherit;
      transition: border-color 140ms ease, box-shadow 140ms ease;
    }
    .bv-tema-card:hover:not(:disabled) {
      border-color: var(--bd-n-300, var(--border));
      box-shadow: var(--ds-shadow-sm);
    }
    .bv-tema-card:focus-visible {
      outline: 2px solid var(--ds-accent, #c8463d);
      outline-offset: 2px;
    }
    .bv-tema-card.is-marcada {
      border-color: var(--ds-accent, #c8463d);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-accent, #c8463d) 22%, transparent);
    }
    .bv-tema-card:disabled {
      cursor: default;
      opacity: 0.85;
    }
    .bv-tema-card__body {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 12px 14px 14px;
    }
    .bv-tema-card__nombre {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      font-size: 1rem;
      font-weight: 700;
    }
    .bv-tema-card__estado {
      font-size: 0.72rem;
      font-weight: 700;
      padding: 2px 9px;
      border-radius: 999px;
      background: var(--bv-check-ok, #22c55e);
      color: #fff;
      white-space: nowrap;
    }
    .bv-tema-card__estado.is-previa {
      background: var(--ds-accent, #c8463d);
    }
    .bv-tema-card__desc {
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--bd-ink-soft, var(--muted));
    }
    .bv-tema-card__muestras {
      display: flex;
      gap: 6px;
      margin-top: 2px;
    }
    .bv-tema-card__muestras i {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 1px solid rgba(0, 0, 0, 0.12);
    }
    .bv-temas__acciones {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }
    .bv-temas__acciones .btn {
      width: auto;
      margin: 0;
    }

    /* Miniatura dibujada con los tokens del tema (mismo esquema en todas; solo cambian los colores). */
    .bv-tema-mini {
      display: grid;
      grid-template-columns: 34px 1fr;
      height: 112px;
      background: var(--m-canvas);
      border-bottom: 1px solid var(--m-border);
      pointer-events: none;
    }
    .bv-tema-mini__nav {
      display: flex;
      flex-direction: column;
      gap: 5px;
      padding: 8px 6px;
      background: var(--m-nav);
      border-right: 1px solid var(--m-border);
    }
    .bv-tema-mini__logo {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      margin: 0 auto 2px;
      border-radius: 5px;
      background: var(--m-logo-plate, #f4f2ed); /* el isotipo real, sin tintar; en temas oscuros sin placa */
    }
    .bv-tema-mini__nav i {
      display: block;
      height: 5px;
      border-radius: 3px;
      background: color-mix(in srgb, var(--m-text) 28%, transparent);
    }
    .bv-tema-mini__nav i.is-on {
      background: var(--m-primary);
    }
    .bv-tema-mini__main {
      display: flex;
      flex-direction: column;
      gap: 7px;
      padding: 8px 10px;
    }
    .bv-tema-mini__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 14px;
      padding: 0 6px;
      border-radius: 5px;
      background: var(--m-header);
      border: 1px solid var(--m-border);
    }
    .bv-tema-mini__head b {
      width: 34%;
      height: 5px;
      border-radius: 3px;
      background: var(--m-text);
    }
    .bv-tema-mini__head em {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--m-primary);
    }
    .bv-tema-mini__cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 6px;
    }
    .bv-tema-mini__cards span {
      height: 30px;
      border-radius: 6px;
      background: var(--m-surface);
      border: 1px solid var(--m-border);
      position: relative;
    }
    .bv-tema-mini__cards span::after {
      content: '';
      position: absolute;
      left: 6px;
      top: 8px;
      width: 50%;
      height: 4px;
      border-radius: 3px;
      background: color-mix(in srgb, var(--m-muted) 70%, transparent);
    }
    .bv-tema-mini__row {
      display: flex;
      gap: 6px;
    }
    .bv-tema-mini__row u {
      display: block;
      height: 12px;
      flex: 1;
      border-radius: 6px;
      background: var(--m-soft);
    }
    .bv-tema-mini__row u.is-primary {
      flex: 0 0 38%;
      background: var(--m-primary);
    }

    /* ── Catálogo de la plataforma (Developer): tarjetas con casilla de visibilidad ── */
    .bv-temas__grid--dev {
      margin-top: 8px;
    }
    .bv-tema-card--dev {
      cursor: pointer;
    }
    .bv-tema-card--dev.is-oculto {
      border-style: dashed;
    }
    .bv-tema-card--dev.is-oculto .bv-tema-card__nombre,
    .bv-tema-card--dev.is-oculto .bv-tema-card__desc {
      color: var(--bd-ink-soft, var(--muted));
    }
    .bv-tema-card__estado.is-oculto {
      background: var(--bd-n-300, var(--border));
      color: var(--bd-ink, var(--text));
    }
    .bv-tema-card__visible {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 8px;
      padding-top: 8px;
      border-top: 1px solid var(--bd-n-200, var(--border));
      font-size: 0.8rem;
      font-weight: 600;
      cursor: pointer;
    }
    .bv-tema-card__visible input {
      width: 16px;
      height: 16px;
      margin: 0;
      accent-color: var(--ds-accent, #c8463d);
    }
    .bv-dev__resumen {
      margin: 0 0 4px;
    }
    .bv-dev__editando {
      font-size: 0.95rem;
    }
    .bv-dev__pill--oculto {
      background: var(--bd-n-300, var(--border));
      color: var(--bd-ink, var(--text));
    }

    /* ── Editor de colores (Temas visuales de la barbería y Developer › Colores Barveo › Temas visuales) ── */
    .bv-editor {
      margin-top: 16px;
      padding: 14px 16px 16px;
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 14px;
      background: var(--bd-n-50, var(--bg));
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bv-editor {
      background: var(--bv-surface);
      border-color: var(--bv-border);
    }
    .bv-editor__head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px 16px;
      margin-bottom: 6px;
    }
    .bv-editor__head h3 {
      margin: 0;
      font-size: 1.05rem;
    }
    .bv-editor__nombre {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.86rem;
      font-weight: 600;
    }
    .bv-editor__nombre input {
      width: 16rem;
      max-width: 100%;
    }
    .bv-editor__grupos {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: 10px 18px;
      margin-top: 10px;
    }
    .bv-editor__grupo {
      border: 1px solid var(--bd-n-200, var(--border));
      border-radius: 10px;
      background: var(--bd-n-0, var(--card));
      padding: 4px 10px 6px;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bv-editor__grupo {
      background: var(--bv-surface-raised);
      border-color: var(--bv-border);
    }
    .bv-editor__grupo summary {
      cursor: pointer;
      font-weight: 700;
      font-size: 0.9rem;
      padding: 6px 0;
      list-style: none;
    }
    .bv-editor__grupo summary::-webkit-details-marker {
      display: none;
    }
    .bv-editor__grupo summary::before {
      content: '▸';
      display: inline-block;
      width: 1em;
      transition: transform 140ms ease;
    }
    .bv-editor__grupo[open] summary::before {
      transform: rotate(90deg);
    }
    .bv-editor__fila {
      display: grid;
      grid-template-columns: 1fr 22px 40px 7.5em;
      align-items: center;
      gap: 8px;
      padding: 3px 0;
    }
    .bv-editor__fila label {
      font-size: 0.84rem;
      line-height: 1.25;
    }
    .bv-editor__fila.is-cambiado label::after {
      content: ' •';
      color: var(--ds-accent, #c8463d);
      font-weight: 700;
    }
    .bv-editor__muestra {
      width: 22px;
      height: 22px;
      border-radius: 6px;
      border: 1px solid rgba(0, 0, 0, 0.18);
    }
    .bv-editor__fila input[type='color'] {
      width: 40px;
      height: 28px;
      padding: 0 2px;
      border: 1px solid var(--bd-n-300, var(--border));
      border-radius: 6px;
      background: transparent;
      cursor: pointer;
    }
    .bv-editor__fila input.bv-editor__hex {
      width: 100%;
      min-height: 28px;
      padding: 3px 6px;
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 0.8rem;
    }
    .bv-editor__ok {
      margin: 10px 0 0;
      color: var(--bd-g-700, var(--ok));
    }
    .bv-editor__avisos {
      margin-top: 10px;
      padding: 8px 12px;
      border-radius: 10px;
      background: var(--bd-warn-bg, #fff3d9);
      color: var(--bd-warn-fg, #805000);
      border: 1px solid var(--bd-warn-bd, #e0b35c);
    }
    .bv-editor__avisos p {
      margin: 0;
      color: inherit;
    }
    .bv-editor__avisos ul {
      margin: 4px 0 0;
      padding-left: 18px;
      font-size: 0.84rem;
    }
    .bv-editor__acciones {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
    }
    .bv-editor__acciones .btn {
      width: auto;
      margin: 0;
    }
    .bv-dev__fila {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 14px;
      margin: 4px 0 10px;
    }
    .bv-dev__sel {
      display: flex;
      align-items: center;
      gap: 8px;
      font-weight: 600;
      font-size: 0.9rem;
    }
    .bv-dev__sel select {
      min-width: 14rem;
    }
    .bv-dev__pill {
      font-size: 0.72rem;
      font-weight: 700;
      padding: 2px 9px;
      border-radius: 999px;
      background: var(--bd-g-50, var(--side));
      color: var(--bd-g-800, var(--text));
    }
    .bv-dev__fila .btn {
      width: auto;
      margin: 0 0 0 auto;
    }
    .bv-dev__nuevo {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin-top: 12px;
    }
    .bv-dev__nuevo input {
      width: 18rem;
      max-width: 100%;
    }
    .bv-dev__nuevo .btn {
      width: auto;
      margin: 0;
    }
    @media (max-width: 640px) {
      .bv-editor__fila {
        grid-template-columns: 1fr 22px 40px 6.5em;
      }
    }

    /* Barra fija de vista previa (se ve desde cualquier pantalla del panel). */
    .bv-temas-barra {
      position: fixed;
      left: 50%;
      bottom: 16px;
      transform: translateX(-50%);
      z-index: 20900;
      display: flex;
      align-items: center;
      gap: 10px;
      max-width: calc(100vw - 32px);
      padding: 10px 14px;
      border-radius: 14px;
      background: var(--bd-ink, #26313a);
      color: #f4f2ed;
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
      font-size: 0.9rem;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bv-temas-barra {
      background: var(--bv-surface-raised, #243034);
      border: 1px solid var(--bv-border, #2f3b40);
    }
    .bv-temas-barra__txt {
      flex: 1 1 auto;
      min-width: 0;
      line-height: 1.35;
    }
    .bv-temas-barra__txt em {
      font-style: normal;
      color: #ffd4cf;
    }
    .bv-temas-barra .btn {
      width: auto;
      margin: 0;
      padding: 8px 14px;
      font-size: 0.86rem;
      white-space: nowrap;
    }
    @media (max-width: 640px) {
      .bv-temas-barra {
        flex-wrap: wrap;
        bottom: 72px;
      }
      .bv-temas-barra__txt {
        flex-basis: 100%;
      }
    }
    /*
     * GENERADO por scripts/temas/generar-noche.mjs (npm run temas:noche): NO EDITAR A MANO.
     * Los temas oscuros van sobre la capa clara con sus variables; estas reglas corrigen, una a una, las reglas (con prefijo
     * claro o sin él: las zonas nuevas se escribieron solo para claro) que llevan un fondo claro, un texto oscuro o un
     * borde claro fijos (1000 reglas de las zonas y de panel-ds.css). Las var() del tema con respaldo no cuentan.
     * Nunca tocan el logotipo, la agenda (sus colores son datos: 36-temas.css) ni las vistas previas de la app.
     */
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-block__main .nav-group__body .btn.nav-item.nav-item--sub:disabled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__weekdays,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__day-count,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-req,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-grid input::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-grid textarea::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-card > summary .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-report-list button span:last-child,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block input::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-member-edit-modal input::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes input[type='url']::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes input[type='url']::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-daynav span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-client span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-week span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li.is-off .staff-config-list__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li.is-locked .staff-config-list__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .voice-synonym-tag button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ba-user-suggest__del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn-icon:disabled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-summary-card--gas .balance-summary-card__value,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-detail-card__head--gas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-detail-card__head--gas .balance-detail-card__head-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line__icon--gas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-detail-card__total-amt--gas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-result-card__value--neg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-merge,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vac-summary-past,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vac-summary-future--has,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vac-status--past,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vac-status--upcoming,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-app__tabs button[aria-selected='true'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-timer-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-add,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-timer-panel--active .bardev-clock-timer-display,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-btn--secondary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-hour-chip--on,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-sound-row__btn--play,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-sound-row__btn--pick,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-notif-item__kind--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-watermark__main,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-watermark__sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__cerrado-sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__occ-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__occ--free .agenda-col__occ-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__occ--none .agenda-col__occ-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-card__profile-more-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__kind,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-wallet-card .equipo-wallet-card__lab,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-wallet-card__kind,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-wallet-card__lab,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-avisos-phone--missing,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-vac-summary__item--done strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-vac-summary__item--pending strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__sub--festivo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__vac-back,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-client-notes__msg--err,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-footer__icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-resto.bad,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-webapp-link--staff,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-webapp-link--buscador,
    html[data-bv-esquema='dark'].bardev-panel-theme-light button.ce-layout-col-del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-ficha__nav-num--curso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-card__curso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--sent,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-modal-hint--warn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .svc-modal-hint--warn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .fact-line-row .fact-line-del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-facturas .exp-tax-row .exp-tax-del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-table-status--off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-kpi-delta--down,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-cmp-mode,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .lote-card__vis-cell .bardev-table-status--off + .lote-card__vis-word,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-table-wrap .caja-main-table .caja-appt-acciones-cancelled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__amt--ops,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-summary__item.caja-summary__item--exp strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-summary__item.caja-summary__item--ticket strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-dow--weekend,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pp-cart-clear,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .com-bday-email-thanks,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .com-bday-email-foot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .incoming-call-panel .incoming-call-kicker,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-appt-toast__dismiss,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-propinas .propinas-estado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred__desconocido a,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-pts-star__svg {
      color: var(--bv-text-secondary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-tenant-switcher__item:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__nav:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__day:hover:not(.bardev-topbar-cal__day--disabled):not(.bardev-topbar-cal__day--past),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__jump-line,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-shell--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel #agenda-d-client-shell.agenda-detail-client-shell--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-client-shell.agenda-detail-client-shell--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-footer__icon:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-notes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-prod-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light select option:checked,
    html[data-bv-esquema='dark'].bardev-panel-theme-light select option:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-prod-results,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-bulk-bar,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-schedule-matrix__cell--booked,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-schedule-matrix__cell--free,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera #lista-espera-wrap.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-cards,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-fields,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-envio .shop-banner-slide__rm:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pickup-sale-qr-zoom__box,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:has(input[type='radio']:checked),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row:has(input[type='checkbox']:checked),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row:has(input[type='checkbox']:checked),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-catalog-section,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-history-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-summary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-table-wrap.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-formas-pago #formas-pago-wrap.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card__profile-more,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-section,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-day-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-wrap.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-panel-mes > .card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-panel-config > .card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-aside,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-hbar,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-img-surface,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #comisiones-wrap .inv-prod-cat-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #comis-liq-wrap tr.comis-liq-emp-group td.comis-liq-emp-cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #comis-consulta-wrap tr.comis-liq-emp-group td.comis-liq-emp-cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-usuarios .usuarios-online-switch,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dcp-tree-item:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-aside,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .admin-data-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos #festivos-list.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos .card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-name-edit,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-stat-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-board,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-live-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-recent-row,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__tenant,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__call,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias #barberias-list-wrap.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers #dev-developers-list.admin-data-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias #barberias-list-wrap .admin-data-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers #dev-developers-list .admin-data-table tbody tr:nth-child(even) td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-tab-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-subcard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-roles__btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone__tabs,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone__tab:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hdr,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-banner,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals__card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals__card--p,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals__card--g,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-list-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-client,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-citas-top,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hub__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list__track,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li.is-locked .staff-config-list__track,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list__toggle.is-locked .staff-config-list__track,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list__toggle:disabled .staff-config-list__track,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-theme-pick__opt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-tab-card details,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bl-wiz__dot:not(.is-active):not(.is-done),
    html[data-bv-esquema='dark'].bardev-panel-theme-light body.bardev-alta-prueba .bl-wiz__dot:not(.is-active):not(.is-done),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ba-user-suggest,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-size-group,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-impuestos .impuestos-obligaciones-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-table thead th.admin-data-col-actions,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-summary-card--gas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-edit,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-merge,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-edit:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-merge:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-pl-del:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .app-shell--agenda-max .nav-rail-music__play:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-collapsed-flyout,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-rec-incidents__alt-emp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-app__tabs,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-add,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-editor,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-settings-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-hour-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-wallet-card__qr,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-bloque,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .horarios-emp-avatar,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-group__opts .agenda-cobro-group__cap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-m-group__mode .bk-booking-for__opt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-m-group__mode button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-m-group__link .bk-booking-for__opt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-postpay__btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-line__btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inicio-role-perms-layout,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inicio-role-perms-matrix thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-prod-card__zoom,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-prod-card__zoom:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-cat-icon-opt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bk-conf-visual-frame-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bk-conf-visual-frame,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-client-top-cap--active,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .lote-item-thumb,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-gift-confirm__cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-gift-vouchers .gv-group--active,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-bal-ledger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-bal-ledger__table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-bal-ledger__table tfoot td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-comp-card:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-gf-samples,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-client-shell:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-client-shell:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-client-shell--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-clientcard--paso,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-client-card.agenda-detail-clientcard:hover:not(:disabled):not(.agenda-detail-clientcard--plain),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-edit-client-card.agenda-detail-clientcard:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard:hover:not(:disabled):not(.agenda-detail-clientcard--plain),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .comis-gift-summary__card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .comis-ops-details,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-visit-prefs-conv__opt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-visit-prefs-tcol--like,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-visit-prefs-tcol--avoid,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-visit-prefs-tcol__face,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-visit-prefs__collapsed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-appt-toast__header,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-mod--new,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-plan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-tenant,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-tenant__sum,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-pay-item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-d-res-ico__x:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-porfolio .porfolio-estilos__busto,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-mini--estilo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-estilo__busto,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-estilo__ref,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-estilo__prueba,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-propinas .propinas-estado--parcial,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-remoto-teclas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-remoto-visor__tarjeta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__tabla--campanas th:last-child,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__tabla--campanas td:last-child,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__tabla--campanas .inv-promo__total td:last-child,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-detail-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-card__notes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-status-select {
      background: var(--bv-surface) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn.secondary:not(.nav-item):not(.tenant-delete):not(.btn-icon),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal-popup,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__jump-btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-modal .agenda-date-offset-card__toggle:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-quick-modal .agenda-svc-tile,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-quick-modal .agenda-m-emp-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-scanner-float,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-trigger:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-trigger:disabled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-trigger.wl-picker-trigger--disabled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-dropdown,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item--combo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item--combo:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item--combo:focus-visible,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item--special,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item--special:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item--special:focus-visible,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slots-section,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__side-btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-registrar-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-phone-prefix-combo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .shipping-carrier-rate__move button:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #pickup-sale-alert-overlay .pickup-sale-alert__qr,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay:not(.hidden),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-history-overlay:not(.hidden),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-float-cal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo #equipo-add-panel:not(.hidden),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-proveedores .prov-card__corner-btns .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-proveedores .prov-card__corner-btns .btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-proveedores .prov-card__corner-btns .btn-icon--danger:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-line__btn.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-line__btn.btn-icon--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-modal__panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-list-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-list-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-list .menu-comp-item:nth-child(even),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-list .menu-comp-item:nth-child(even),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers #dev-developers-list .dev-developers-row-actions .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone__body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hub__panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-inicio-sections .btn.nav-item.nav-item--sub:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-llamadas .phone-asst-day-slot .btn.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-modal__right,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-ghost-reject-btn.bd-btn:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-rec-incidents__panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cancel-scope__panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-cobro-line-edit-modal .agenda-cobro-line-edit-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-cobro-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-vd-modal .agenda-cobro-method-card.agenda-cobro-method-card--selected,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__roles,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__role:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__body,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-toolbar.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-font-size-controls,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-font-size-controls,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-font-size-controls,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-font-size-controls,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-font-size-controls button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-font-size-controls button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-font-size-controls button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-font-size-controls button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-caja-hero-card--gas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-caja-hero-card--net,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-members-list .table-row-actions .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #members-list .table-row-actions .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-members-list .table-row-actions .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #members-list .table-row-actions .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-code-dd,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-pick-dd,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-settings-modal .gv-settings-dialog,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-cart-row__rm.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-foot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-visit-prefs__opts .bd-btn.agenda-d-visit-ov:not(.is-on),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-usuarios .cr-rule-table td .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-usuarios .cr-mail-table td .btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-waitlist-modal > div,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero__back,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero__edit,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero__back:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero__edit:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-actions-menu,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-tip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-notes--in-banner,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-notes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-svc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-calrow:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-prodrow:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #btn-agenda-d-add-prod:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #btn-agenda-d-add-res:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-d-res-box:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-panel .agenda-detail-footer,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-footer__icon:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-footer__secondary:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-detail-edit-footer.agenda-detail-footer,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-demos .table-row-actions .btn.secondary.btn-icon--danger:hover:not(:disabled) {
      background: var(--bv-surface-raised) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .main-area .content-panel[data-panel-section] > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .main-area .content-panel[data-panel-section] .informes-head > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .main-area .content-panel:not([data-panel-section]) > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .main-area .content-panel:not([data-panel-section]) .informes-head > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #comisiones-wrap .inv-prod-cat-card__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--blue,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--blue,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--blue,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--orange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--orange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--orange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--yellow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--yellow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--yellow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--red,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--red,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--red,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--purple,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--purple,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--purple,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--cyan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--cyan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--cyan,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--pink,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--pink,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--pink,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--indigo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--indigo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--indigo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--rose,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--rose,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--rose,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--teal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--teal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--teal,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--amber,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--amber,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--amber,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--fuchsia,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--fuchsia,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--fuchsia,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--sky,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--sky,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--sky,
    html[data-bv-esquema='dark'].bardev-panel-theme-light [class*="bardev-pastel-head--orange"],
    html[data-bv-esquema='dark'].bardev-panel-theme-light [class*="bardev-pastel-head--yellow"],
    html[data-bv-esquema='dark'].bardev-panel-theme-light [class*="bardev-pastel-head--amber"] {
      background: var(--bv-canvas) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__month,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__nav,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__day,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__jump-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__head-name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__occ-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cerrado-banner strong:first-of-type,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-notif-item__kind--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-notif-item__kind--mod,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-notif-item__kind--review,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-barfi-earn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-barfi-earn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-barfi-earn--zero,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-barfi-earn--zero,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-current-pay,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-client__barfis,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-barfi-earn .agenda-pts-star--earn .agenda-pts-star__svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-barfis-pay__summary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-section,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-field-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-prod-card__subtitle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-prod-card__pvp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-split-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-total-line,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-cart-summary-inner .caja-vd-multi-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-prod-results .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-scanner-float__title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-group-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-empty,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slots-summary-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal-hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__month,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__weekdays,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slots-part-label--special,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slot--free,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slot--busy,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-free-slot-dialog__msg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-fields h4,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-grid label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-fields .about-hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #pickup-sale-alert-overlay .pickup-sale-alert__miss,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #pickup-sale-alert-overlay .pickup-sale-alert__sum strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #pickup-sale-alert-overlay .pickup-sale-alert__warn strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row__text strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row__text strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-card > summary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--tot-asist,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--tot-noshow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--tot-cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-stats,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-stats strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-search-panel h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-search-panel .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-find-card__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-find-card__email,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-find-result,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-nav-context:not(.hidden),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-nav-context:not(.hidden) strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-nav-context:not(.hidden) .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-catalog-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-catalog-open,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-summary__item .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-summary__item strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-summary__item.caja-summary__item--exp strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-summary__item.caja-summary__item--net strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-summary__item.caja-summary__item--ticket strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-badge--pedido,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-appt-acciones-nocobrado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table .caja-appt-acciones-cancelled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-badge--exp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-badge--void,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-amt--void,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja .caja-badge--venta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-float-cal__head h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-float-cal__nav button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-pin-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-dow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-dow--weekend,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-cell__amt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-foot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-apply-cell label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card__basic dt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card__basic dd,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card__avatar-ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-tabs:not(.bardev-tabs--vivid) button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-tabs:not(.bardev-tabs--vivid) button:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light button[role="tab"]:not([data-bardev-palette]),
    html[data-bv-esquema='dark'].bardev-panel-theme-light button[role="tab"]:not([data-bardev-palette]):hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light button[role="tab"]:not([data-bardev-palette])[aria-selected="true"],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-tabs:not(.bardev-tabs--vivid) button[aria-selected='true'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-sub-card__head h4,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-sub-card__stat,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-sub-card__stat strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-comm-lab,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-schedule-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-sch-shift,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-sch-total,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-vac-dates,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-vac-summary__item--done strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-vac-summary__item--pending strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-clockin-toggle label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card__profile-more-sum,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-card__profile-more-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-section h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-section-head h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-day > summary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-emp-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-emp-grid label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-emp-grid .horarios-emp-item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-copy-banner,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-lead,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-emp-name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-resumen-turno-line strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-emp-subtotal td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table tfoot tr.fichajes-tfoot-total td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table tr.fichajes-emp-subtotal .btn.secondary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-panel-hoy label.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vac-summary-past,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vac-summary-future,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vac-summary-future--has,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .informes-chart-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-aside h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-report-list button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-chart-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-chart-legend,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-mini-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-mini-table td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-client-top-period-lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-pill--warn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-comisiones .comis-emp-avatar--ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vac-status--past,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vac-status--upcoming,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-nav button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-weekdays,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--inrange,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--start,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--single,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--past:not(.vac-cal-day--inrange):not(.vac-cal-day--start):not(.vac-cal-day--end):not(.vac-cal-day--single),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-day.vac-cal-day--blocked:not(.vac-cal-day--inrange):not(.vac-cal-day--start):not(.vac-cal-day--end):not(.vac-cal-day--single),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-modal .vac-cal-hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos .card h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos .card label.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio > .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp > .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-block h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block > p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-block > p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-block label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-block label[style*='cursor'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-member-edit-modal h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-member-edit-modal h4,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-panel-permissions label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-edit-permissions label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-list,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-members-list .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-drag,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-drag,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-key,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-key,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-vis-cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-vis-cell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes > h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes > h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes > .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes > .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes .social-block-head .network-name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes .social-block-head .network-name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes label.social-vis-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes label.social-vis-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes > h2,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide > h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide > h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide > p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide ol.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide > p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide ol.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide ol.sub li,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide ol.sub li,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide ol.sub code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide ol.sub code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide a:not(.incoming-call-zip-btn),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide a:not(.incoming-call-zip-btn),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-install-guide a:not(.incoming-call-zip-btn):hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-install-guide a:not(.incoming-call-zip-btn):hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block p.sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block p.sub:first-of-type,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block p.sub:first-of-type,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-llamadas .incoming-call-trust-block strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-llamadas-entrantes .incoming-call-trust-block strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers > h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-call-item__tenant,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-call-item__who,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-call-item__status,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-call-item--missed .centralita-call-item__status,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-name-cell__text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-live-hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__summary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__tenant-count,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__when,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__who,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__out--missed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__out--pending,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__booking--modify,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__booking--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-history__booking--consult,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-webhook--bad,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias > .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers > .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn.secondary.tenant-delete:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias .dev-tenant-act-ftp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias .dev-tenant-act-ftp__label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-roles-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone__tab,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone__tab.is-active,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hdr h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hdr p,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals__h,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-totals__amt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-list-card strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-list-card span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-toggle span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-client strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-citas-month strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-week span em,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-worker small,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-appt span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hub__item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li.is-on .staff-config-list__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-trial-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-trial-chip:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-trial-chip:focus-visible,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-nominas #nominas-list-wrap .nominas-emp-avatar--ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-period-picker select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-period-picker__custom input[type='date'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line__left,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line__amt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line__subtxt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line--sub .balance-line__amt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line__submeta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-result-card__title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .music-fav-card__play-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .music-fav-card__now-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-collapsed-flyout__title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vac-cal-day--start,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .vac-cal-day--single,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones .vac-emp-avatar--ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit__clock,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit__countdown,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit__snooze-capsule,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-tpv-modal .bardev-tpv-modal-panel h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-tpv-modal .bardev-tpv-modal-panel .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-tpv-modal #bardev-tpv-modal-status,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-tpv-modal #bardev-tpv-code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-ask-modal .gv-nfc-head h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-read-wait-modal .gv-nfc-head h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-info-modal .gv-nfc-head h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-wait-modal .gv-nfc-head h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-ask-modal .gv-nfc-text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-read-wait-modal .gv-nfc-text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-info-modal .gv-nfc-text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-wait-modal .gv-nfc-text,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-row dt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-row dd,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-includes-title,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-includes ul,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-empty,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-history__empty,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-app__tabs button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-app__tabs button[aria-selected='true'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-empty,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-row__sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-timer-toggle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-editor__field span,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-day-chip--on,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-timer-display--ending,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-btn--primary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-settings-card h3,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-hour-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-sound-name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-sound-row__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-settings-hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .venta-pp-panel .venta-pp-search::placeholder,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .equipo-pending-verify__badge,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-banner strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-col__festivo-sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-bloque__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-bloque__hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .horarios-emp-avatar--ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-svc-cat-block__title--comp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-svc-comp-hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-action-cancel .agenda-detail-actions-menu__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-action-noshow .agenda-detail-actions-menu__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-pts-star__n,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-clientrow__recurrence,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-barfi-redeem-cost,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-webapp-link--tpv:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-buscador .bd-buscador-card__btn--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #webapp-panel-fotos-barberia .bd-buscador-card__btn--danger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__roles-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-members-list .inicio-members-avatar:not(.inicio-members-avatar--photo),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inicio-role-perms-avatar:not(.inicio-role-perms-avatar--photo),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-rich-editor.ce-rich-plain,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-rich-editor.ce-rich-plain *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-rich-editor.ce-rich-plain a,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-repeat-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-repeat-btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-draft-add-btn:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--preparing,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--shipped,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--cancelled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-desc-word-meter.is-over,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-label::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) .ql-picker-item::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-editor.ql-blank::before,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-font-size-controls button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-font-size-controls button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-font-size-controls button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-font-size-controls button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fact-modal .fact-field--missing > label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-cat-icon-opt__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-header .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-table-status--off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-out-result--no,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-out-result--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-caja-hero-card__label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-caja-hero-card__value,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-card-compare-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-card-compare-cap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-client-av,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-panel-desc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-cmp-val,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-cmp-val strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-foot,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .informes-dash-foot strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .horarios-special-dow-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .lote-card__vis-cell .bardev-table-status--off + .lote-card__vis-word,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-gift-confirm__err,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-gift-vouchers .gv-tab--on,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-st--paid,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-st--redeemed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-st--void,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-st--expired,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-bal-ledger__amt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-bal-ledger__remain,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-comp-card__price,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-vd-gift-cart .gv-cart-empty,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-vd-gift-cart .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .loyalty-barfis-tile__name,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .loyalty-barfis-tile__email,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .loyalty-barfis-tile__meta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .loyalty-barfis-tile__reason,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-table .fichajes-emp-avatar--ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-emp-avatar--ph,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-table-wrap .caja-main-table .caja-pay-method__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-table-wrap .caja-main-table .caja-pay-method__code,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__ops,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-otros__heading,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__amt--ops,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__equiv,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-pay-totals__amt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-vd-modal .caja-vd-ticket-ctrl__del,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .menu-comp-dev-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-appt-toast__client,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-appt-toast__row,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-appt-toast__dismiss:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-plan__sum,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-tenant__sum,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-plan__meta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-pay-item__st,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-pc-pay-item__st--failed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-puntuacion__aviso.is-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-puntuacion__estado.is-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bv-check-ok,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .lote-card__vis-cell .bardev-table-status--on + .lote-card__vis-word,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-ok-txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-detalle__ir,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-estilo__aviso.is-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-estilo__candado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-juegos .juegos-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-juegos .juegos-estado.is-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-juegos .juegos-ranking__fila:first-child .juegos-ranking__pos,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-propinas .propinas-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-buscador-card__btn.is-activo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred__nivel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred__tipo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred__detalle,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred__desconocido,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-pred__resumen,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__estado.is-on,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__estado.is-warn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio .sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio-ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__si,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__enlace,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .monedero__tabla .is-recarga,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .monedero__tabla .is-cargo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-bp__msg--error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-card__phone,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-card__phone:visited,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-arrive__n,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-card__notes-lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-webapp-link--staff,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .nav-webapp-link--buscador,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-clientrow__sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-svc__meta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-svc__extra,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-svc__origin,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-actions-split__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-d-venta-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-d-res-wrap .agenda-detail-actions-split__lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-paygrid__tile strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-paygrid__tile-lbl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-pts-star__n,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-demos .dev-demos-kpi,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-demos .dev-demos-kpi *,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #dev-demos-detail-body .dev-demos-timeline__kind {
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__day--past:not(.bardev-topbar-cal__day--selected):hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-cal-cell--muted {
      background: var(--bv-surface) !important;
      color: var(--bv-text-secondary) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-topbar-cal__jump-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-panel {
      border-color: var(--bv-border) !important;
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-time-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-time-label--hour,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-time-label--quarter {
      color: var(--bv-calendar-time-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-now-pin__txt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-history-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-purpose--modify,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-purpose--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-purpose--consult,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-action--gasto,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-warn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ba-user-suggest__del:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-pin-error.msg.err,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-modal .agenda-svc-table-wrap tr.agenda-svc-special-section td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .loyalty-barfis-tile__rank,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .rich-toolbar select[data-fontfamily] option,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .rich-toolbar select[data-parspacing] option,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-user-av {
      color: var(--bv-text) !important;
      background: var(--bv-surface) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-hero.agenda-detail-hero--cancelled {
      background: var(--bv-surface-raised) !important;
      border-bottom-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-badge-pendiente,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .admin-data-table td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-kpi-pill--waiting,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-kpi-pill--contacted,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-kpi-pill--no_answer,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-kpi-pill--cancelled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-kpi-pill--expired,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-del-capsule,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-envio .shop-banner-slide__rm,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-booking-wrap .reservas-booking-row,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #tf-directory-wrap .reservas-booking-row,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-client-card .admin-data-table td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--done,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--noshow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--muted,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-historial-visitas .historial-pill--total,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-search-panel #loyalty-find-query,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-catalog-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-table-wrap .caja-main-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-caja #caja-date,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-prof-inp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-prof-sel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo .equipo-comm-inp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table .horarios-inp-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table .horarios-inp-start,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-shift-table .horarios-inp-end,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos .horarios-copy-banner .horarios-copy-from,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-horarios-turnos select.horarios-copy-from,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-emp-filter,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-date,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-month-emp-filter,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vacaciones-wrap .admin-data-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-vacaciones #vac-f-employee,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos #festivos-list .admin-data-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos #festivo-date,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-festivos #festivo-label,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-recent-row__out--consult,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-recent-row__out--cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-recent-row__out.bd-pill:not(.bd-pill--ok),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias #barberias-list-wrap .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers #dev-developers-list .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias #barberias-list-wrap .admin-data-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-developers #dev-developers-list .admin-data-table tbody td,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-barberias .dev-tenant-act-ftp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-roles__btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-roles__btn.is-active,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-phone__chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-action,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-daynav,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-toggle span.is-on,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-client__av,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-worker__av,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-worker__av--a,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-worker__av--b,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-worker__av--c,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-appt,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hub__tile--slate,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hub__tile--mint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .scp-hub__tile--peach,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line__cuenta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-postit,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-tpv-capsule--off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-badge,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-app,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-sound-row__btn--play,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-sound-row__btn--pick,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-festivo-banner,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-send-review .agenda-detail-postpay__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-emit-full .agenda-detail-postpay__ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-line__btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-rich-editor.ce-rich-plain,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-dist-orders-origin.is-particular,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--pendiente,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--recibido,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-dev-distribuidores .dev-dist-orders-table .pedidos-pill--cancelado,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-draft-paymethod-select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--draft,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--sent,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--preparing,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-order-status--shipped,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__body .admin-data-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-hist-dir--out,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-out-result--vm,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--alquiler,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--suministros,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--material,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--telefono,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--seguros,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--formacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--mantenimiento,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #expenses-wrap .exp-cat-cell--otros,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--alquiler,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--suministros,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--material,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--telefono,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--seguros,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--formacion,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--mantenimiento,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .exp-stats-cat-icon--otros,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .lote-card__body .lote-card__table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-gift-vouchers .gv-tab,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-comp-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-balance-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #caja-vd-gift-cart.caja-vd-prod-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-gf-sample,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #fichajes-month-wrap .fichajes-month-table thead th,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-client-card.agenda-detail-clientcard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-edit-client-card.agenda-detail-clientcard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel button.agenda-detail-clientcard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-appt-status--completed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-appt-status--cancelled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-appt-status--no_show,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-appt-status--default,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .usuarios-edit-hobby-chip--no,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .usuarios-edit-hobby-chip--meh,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-plat-fact-pill.is-unpaid,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-cert-chip--ko,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-cert-chip--warn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-tarifa-capsula--bajo,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-wl-arrive,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-day-chip--current,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-payment-method__state.is-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-payment-method__state.is-pending {
      background: var(--bv-surface) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-notes-flytip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .centralita-recent-row__out--modify,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-postpay__btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-d-client-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-client-shell,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-shell {
      background: var(--bv-surface) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-notes-flytip__hint,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line--sub + .balance-line:not(.balance-line--sub),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-detail-card__total,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-tip::after {
      border-top-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-client-notes__ta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-d-edit-datetime-grid input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__sheet,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-search-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-tab-card input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-tab-card input[type='url'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-tab-card textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-music-search-row input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-pin-input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .fichaje-pin-input.is-error,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-editor__field input[type='time'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-alarm-editor__field input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-picker-row input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-split-amount__input--locked,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-line-edit-field input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-cobro-line-edit-field input[type='number'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-link-client-modal .agenda-lc-input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-detail-panel .agenda-detail-sched-input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-sched-input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-client-notes__ta,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-detail-edit input:not(.agenda-svc-cb),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #agenda-detail-edit select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .prov-card__min-order input {
      background: var(--bv-input-background) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-modal .agenda-m-time-cap--occupied:hover:not(.agenda-m-time-cap--selected),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-modal .agenda-m-time-cap--occupied.agenda-m-time-cap--selected,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hobby-chip--no,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #usuarios-edit-overlay .usuarios-edit-hobby-chip--meh,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-trigger,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-picker-item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slots-summary-chip,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__side-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__day,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__day--pref,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-cal__day--holiday.wl-cal__day--disabled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slot--free,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #waitlist-modal .wl-slot--busy,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-lista-espera .waitlist-bulk-del-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty .loyalty-catalog-open-btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-month-nav button,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-informes .informes-month-nav input[type='month'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-oferta-webapp-toggle--off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dcp-list-item__actions .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dcp-prod-row__actions .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dcp-tree-item__actions .btn.secondary.btn-icon:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-inicio-sections .btn.nav-item.nav-item--sub,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-inicio-sections .btn.nav-item.nav-item--sub.active,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #impuestos-modal #btn-impuestos-rename-file.btn.secondary.btn-icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-clock-btn--secondary,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__role,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__role[aria-pressed='true'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__vp,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-app-device-modal .bardev-app-device__vp[aria-pressed='true'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .about-block-actions button.danger:hover,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-snow .ql-picker-options,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero.agenda-detail-hero--completed,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero.agenda-detail-hero--paid,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero.agenda-detail-hero--cancelled,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-body--sheet,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-first-visit,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-badge-pendiente,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-footer__icon {
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-search-row input[type='search'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-grid-2 input[type='number']:not(.bd-stepper__inp),
    html[data-bv-esquema='dark'].bardev-panel-theme-light select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light select option,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .caja-vd-panel select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-grid input,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .panel-fixed-grid textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay input[type='number'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-loyalty #loyalty-adjust-overlay input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo #equipo-add-panel input[type='email'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo #equipo-add-panel input[type='password'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-equipo #equipo-add-panel input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-fichajes #fichajes-panel-config input[type='number'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-search-wrap input[type='search'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap select,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-comisiones .admin-data-table input[type='number'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='email'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .inicio-members-block input[type='password'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-member-edit-modal input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inicio-member-edit-modal input[type='email'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-item input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-item input[type='text'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio #inicio-tab-panel-redes input[type='url'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-config-redes input[type='url'],
    html[data-bv-esquema='dark'].bardev-panel-theme-light .venta-pp-panel .venta-pp-search,
    html[data-bv-esquema='dark'].bardev-panel-theme-light textarea.about-textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-container.ql-snow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-plain-fallback textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-plain-fallback textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-plain-fallback textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-plain-fallback textarea,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .pers-typo-input {
      background: var(--bv-input-background) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-head,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-hero--cancelled #agenda-detail-title.agenda-detail-hero__status {
      background: var(--bv-canvas) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-inicio .menu-comp-item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-webapp .menu-comp-item,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .btn.secondary.tenant-delete {
      color: var(--bv-text) !important;
      background: var(--bv-surface-raised) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li.is-off,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .staff-config-list li.is-locked {
      color: var(--bv-text-secondary) !important;
      background: var(--bv-surface) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-period-picker,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-tpv-modal .bardev-tpv-qr-wrap,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-ico,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-timecard,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-d-res-box,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-paygrid__col--breakdown,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-paygrid__tile {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-period-picker__icon,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-period-picker__period,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-summary-card--ing,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-scan-corners,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .com-bday-email-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .mi-plan-mod__new,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .cliente-ficha-panel .cliente-puntuacion__punto,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-buscador-card__foco,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bd-foco-modal__punto,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-ico__dot {
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-detail-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-result-card,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .app-shell--agenda-max .nav-rail-music__disc,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .bardev-appt-toast {
      background: var(--bv-surface) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-line,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #panel-balance .balance-det,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .gv-nfc-info-row {
      border-bottom-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .app-shell--agenda-max .nav-rail-music__ctrl,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .ce-mini {
      border-color: var(--bv-border) !important;
      background: var(--bv-surface) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #bardev-tpv-modal .bardev-tpv-modal-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-ask-modal .gv-nfc-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-read-wait-modal .gv-nfc-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-info-modal .gv-nfc-panel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #gv-nfc-wait-modal .gv-nfc-panel {
      background: var(--bv-surface-raised) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-modal .inv-desc-editor-wrap .ql-editor,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-modal .inv-desc-editor-wrap .ql-editor,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-oferta-modal .inv-desc-editor-wrap .ql-editor,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lote-modal .inv-desc-editor-wrap .ql-editor {
      color: var(--bv-text) !important;
      background: var(--bv-input-background) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .webapp-typo-section-card__head.bardev-pastel-head--lime,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #servicios-res-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #svc-ofertas-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #lotes-wrap .inv-prod-cat-card__head.bardev-pastel-head--lime,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .svc-cat-table-header__inner.bardev-pastel-head--lime {
      background: var(--bv-canvas) !important;
      border-left-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .dev-plat-fact-pill.is-cancel,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .agenda-waitlist-day-chip {
      background: var(--bv-surface) !important;
      color: var(--bv-text) !important;
      border-color: var(--bv-border) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-notes-tip__hint {
      border-top-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-calrow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-prodrow,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #btn-agenda-d-add-prod,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal #btn-agenda-d-add-res,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-paygrid__col,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #agenda-detail-modal .agenda-detail-footer__secondary {
      background: var(--bv-surface-raised) !important;
      border-color: var(--bv-border) !important;
      color: var(--bv-text) !important;
    }
    /*
     * Botones al ancho del texto (titular, 12-10-2026: «botones muy anchos, no ajustados al texto + margen»).
     * La base heredada hacía todo .btn de ancho completo; en la capa clara (todos los temas) un botón mide lo que
     * su texto más el relleno. Las reglas más específicas que piden ancho completo a propósito (pies de modal,
     * menú, TPV, .btn--block) siguen mandando: esta regla usa :where() para no competir con ellas.
     */
    html.bardev-panel-theme-light .btn:where(:not(.nav-item):not(.btn--block):not(.btn-block):not(.bv-temas-barra *):not([data-ancho='completo'])) {
      width: auto;
      min-width: 0;
      padding-left: 18px;
      padding-right: 18px;
    }

    /* Filas de botones (pies de modal con estilo en línea, acciones duplicadas): sin márgenes verticales heredados
       (07-landing.css da margin-top: 10px al secundario) y centrados en el mismo renglón (titular, 12-10-2026:
       «los botones en este alert no están alineados verticalmente»). */
    .agenda-modal-panel > div[style*="display:flex"],
    .bardev-modal-surface > div[style*="display:flex"],
    .modal-sheet > div[style*="display:flex"] {
      align-items: center;
    }
    .agenda-modal-panel > div[style*="display:flex"] > .btn,
    .bardev-modal-surface > div[style*="display:flex"] > .btn,
    .modal-sheet > div[style*="display:flex"] > .btn,
    .bd-pagina-cab__acciones > .btn,
    .bd-pagina-pie > .btn {
      margin-top: 0;
      margin-bottom: 0;
    }

    /*
     * Filas de botones a la misma altura en todo el panel (titular, 24-10-2026, repetido: «los botones están uno arriba y
     * otro abajo. Recuerda que siempre cometes ese error»). 07-landing.css da margin-top: 10px a todo .btn.secondary
     * (herencia del tema oscuro) y, en una fila, el secundario quedaba 10 px por debajo del primario. Cualquier fila de
     * acciones —por el nombre de su contenedor o por ser un flex en línea que no es columna— deja sus botones sin margen
     * vertical. Las columnas no se tocan: ahí el margen separa botones apilados a propósito. :where() en el contenedor
     * para no ganar a las reglas que fijan un margen a propósito con id.
     */
    :where(
        [class*='actions'],
        [class*='acciones'],
        [class*='foot'],
        [class*='__pie'],
        [class*='-pie'],
        [class*='btns'],
        [class*='botones'],
        [class*='-bar'],
        [style*='flex']:not([style*='column'])
      )
      > .btn.btn {
      margin-top: 0;
      margin-bottom: 0;
    }
    /* Una etiqueta con aspecto de botón («Subir imagen», «Subir vídeo») no lleva el margen de etiqueta de formulario
       (panel-ds.css da margin-bottom: var(--ds-space-1) !important a todo label en la capa clara): junto a «Quitar»
       quedaba 2 px más alta. */
    label.btn.btn,
    html.bardev-panel-theme-light label.btn.btn {
      margin-bottom: 0 !important;
    }

    /*
     * Doble presencia de los botones de cada página de contenido (titular, 12-10-2026): la cabecera de la página
     * lleva el título a la izquierda y, a la derecha, los duplicados de las acciones del pie (panel-acciones-dobles.js).
     */
    .bd-pagina-cab {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px 16px;
      flex-wrap: wrap;
      margin: 0 0 12px;
    }
    .bd-pagina-cab > h2,
    .bd-pagina-cab > h3 {
      margin: 0 !important;
      min-width: 0;
    }
    .bd-pagina-cab__acciones {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      margin-left: auto;
    }
    .bd-pagina-cab__acciones:empty {
      display: none;
    }
    .bd-pagina-cab__acciones .bd-accion-doble {
      width: auto !important;
      min-width: 0 !important;
      margin: 0 !important;
      align-self: auto !important;
    }
    .bd-pagina-pie {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 18px;
      padding-top: 12px;
      border-top: 1px solid var(--border);
    }
    .bd-pagina-pie:empty {
      display: none;
    }
    .bd-pagina-pie .bd-accion-doble {
      width: auto !important;
      min-width: 0 !important;
      margin: 0 !important;
    }
    /* Los de abajo, siempre a la derecha (titular, 12-10-2026). */
    .bd-fila-acciones {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
    }
    .bd-accion-derecha {
      display: flex !important;
      width: fit-content !important;
      margin-left: auto !important;
    }
    /* Con pocas líneas (la página cabe sin scroll) solo se ven los de abajo; con scroll, también los de arriba. */
    .bd-pagina-cab--solo-pie > .bd-pagina-cab__acciones,
    .bd-pagina-cab--solo-pie .gv-head-actions > .btn {
      display: none !important;
    }
    @media (max-width: 640px) {
      .bd-pagina-cab__acciones {
        width: 100%;
        margin-left: 0;
      }
    }
    /*
     * Formas de pago (titular, 12-10-2026: «no debe parecer una cutre tabla de excel»): la tabla como una tarjeta
     * redondeada del tema, cabecera discreta en versalitas, filas separadas por líneas finas (sin cebra ni rejilla),
     * campos y chip del icono con los tokens del tema. Sin ordenar por cabecera: el orden es el de la lista (flechas).
     * Mismos selectores que la capa clara de 04-fiscal-comisiones.css: al ir detrás, mandan estos. Sin tema valen los
     * respaldos (tokens de Barveo Original); con tema, --bv-*; todo son variables, así que Noche no necesita nada.
     */
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      border: 1px solid var(--bv-border, #dadcde);
      border-radius: 14px;
      overflow: hidden;
      background: var(--bv-surface, #ffffff);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th {
      background: var(--bv-surface-subtle, #e9e6de);
      color: var(--bv-text-secondary, #59616a);
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      text-align: left;
      padding: 11px 14px;
      border-bottom: 1px solid var(--bv-border, #dadcde);
      white-space: nowrap;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th:first-child {
      padding-left: 18px;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th:last-child {
      padding-right: 18px;
      text-align: right;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td {
      background: var(--bv-surface, #ffffff);
      color: var(--bv-text, #26313a);
      padding: 12px 14px;
      border-bottom: 1px solid var(--bv-border, #dadcde);
      vertical-align: middle;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody tr:nth-child(even) td {
      background: var(--bv-surface, #ffffff);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody tr:hover td {
      background: var(--bv-surface-hover, #fbf2f1);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody tr:last-child td {
      border-bottom: 0;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td:first-child {
      padding-left: 18px;
      color: var(--bv-text-secondary, #59616a);
      font-size: 0.8rem;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td:last-child {
      padding-right: 18px;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody tr.fpago-row--system td {
      background: color-mix(in srgb, var(--bv-surface-subtle, #e9e6de) 50%, var(--bv-surface, #ffffff));
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text'] {
      height: 38px;
      padding: 0 12px;
      border-radius: 10px;
      background: var(--bv-input-background, #ffffff);
      border: 1px solid var(--bv-border, #dadcde);
      color: var(--bv-input-text, #26313a);
      font-size: 0.86rem;
      font-weight: 600;
      box-shadow: none;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text']:hover {
      border-color: var(--bv-border-strong, #8e9499);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text']:focus {
      border-color: var(--bv-focus-ring, #c8463d);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--bv-focus-ring, #c8463d) 18%, transparent);
      outline: none;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table input[type='text'][readonly] {
      background: var(--bv-surface-subtle, #e9e6de);
      color: var(--bv-text-secondary, #59616a);
      opacity: 1;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table td.cell-mono input[type='text'] {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 0.8rem;
      letter-spacing: 0.01em;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago button.fpago-icon-preview {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background: var(--bv-primary-soft, #f5e3df);
      border: 1px solid color-mix(in srgb, var(--bv-primary, #c8463d) 22%, var(--bv-surface, #ffffff));
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago button.fpago-icon-preview:hover {
      background: color-mix(in srgb, var(--bv-primary, #c8463d) 16%, var(--bv-surface, #ffffff));
      border-color: var(--bv-primary, #c8463d);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago button.fpago-icon-preview:focus-visible {
      outline: 2px solid var(--bv-focus-ring, #c8463d);
      outline-offset: 2px;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-icon-preview-svg {
      color: var(--bv-primary, #c8463d);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-apply-cell {
      font-size: 0.8rem;
      line-height: 1.35;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-apply-cell label {
      gap: 8px;
      margin: 3px 0;
      color: var(--bv-text, #26313a);
      font-weight: 600;
      text-transform: none;
      letter-spacing: 0;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-apply-cell input {
      width: 16px;
      height: 16px;
      accent-color: var(--bv-primary, #c8463d);
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-apply-cell input:disabled {
      opacity: 0.6;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-auto-note {
      display: block;
      margin-top: 4px;
      font-size: 0.7rem;
      font-weight: 700;
      color: var(--bv-success, #166044);
    }
    /* La celda de acciones vuelve a ser celda (21-clientes-caja.css la hacía flex: la fila se partía y dejaba un
       trozo de línea suelto); el flex va en el grupo de botones, alineado a la derecha bajo «Acc.». */
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-actions-cell {
      display: table-cell;
      width: 1%;
      white-space: nowrap;
      text-align: right;
    }
    html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table .fpago-actions-cell .table-row-actions {
      display: inline-flex;
      flex-wrap: nowrap;
      justify-content: flex-end;
      align-items: center;
      gap: 6px;
      vertical-align: middle;
    }
    @media (max-width: 640px) {
      html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th,
      html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td {
        padding: 10px 10px;
      }
      html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th:first-child,
      html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td:first-child {
        padding-left: 14px;
      }
      html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table thead th:last-child,
      html.bardev-panel-theme-light #inicio-tab-panel-formas-pago .fpago-table tbody td:last-child {
        padding-right: 14px;
      }
    }
    /*
     * Logo (Configuración › General › Logo, panel-logos.js): las seis versiones del logotipo en tarjetas con su vista
     * previa sobre el fondo que les toca (claro, oscuro, icono, foto), los requisitos y los avisos de lo que no
     * corresponde; debajo, ejemplos de aplicación. Tokens del tema con respaldo en Barveo Original. Los fondos oscuros
     * de las previas y de los ejemplos son fijos a propósito (enseñan el negativo): fuera del generador de Noche.
     */
    .logos-kit {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: 16px;
    }
    /* Aviso de que no se pudieron leer las versiones guardadas (no es lo mismo que «no hay ninguna»). */
    .logos-lectura {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 8px 14px;
      margin: 0 0 16px;
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bv-warning-background, #fff3d9);
      border: 1px solid color-mix(in srgb, var(--bv-warning, #805000) 40%, transparent);
      color: var(--bv-text, #26313a);
      font-size: 0.85rem;
      line-height: 1.4;
    }
    .logos-lectura[hidden] {
      display: none;
    }
    .logos-lectura .btn {
      width: auto;
      padding: 8px 16px;
    }
    .logos-slot {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 16px;
      border: 1px solid var(--bv-border, #dadcde);
      border-radius: 14px;
      background: var(--bv-surface, #ffffff);
    }
    .logos-slot__cab {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .logos-slot__titulo {
      margin: 0;
      font-size: 1rem;
      font-weight: 800;
      color: var(--bv-text, #26313a);
    }
    .logos-slot__chip {
      flex-shrink: 0;
      padding: 3px 9px;
      border-radius: 999px;
      font-size: 0.66rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      background: var(--bv-primary-soft, #f5e3df);
      color: var(--bv-primary-soft-text, #aa342d);
    }
    .logos-slot__donde {
      margin: 0;
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-slot__previa {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 150px;
      border-radius: 10px;
      border: 1px solid var(--bv-border, #dadcde);
      overflow: hidden;
    }
    .logos-slot__previa img {
      max-width: 80%;
      max-height: 110px;
      object-fit: contain;
    }
    .logos-slot img[hidden],
    .logos-mock img[hidden] {
      display: none;
    }
    /* Las previas enseñan el fondo que le toca a cada versión, también con un tema oscuro: fijos a propósito. */
    .logos-slot__previa--claro,
    .logos-slot__previa--icono {
      background: #f4f2ed;
      border-color: #dadcde;
    }
    .logos-slot__previa--oscuro {
      background: #26313a;
      border-color: #3a4652;
    }
    .logos-slot__previa--foto {
      background: linear-gradient(160deg, #4a3b33 0%, #8a7262 45%, #2a2420 100%);
      border-color: #5a4a40;
    }
    .logos-slot__previa--foto img {
      max-height: 70px;
    }
    .logos-slot__previa--icono img {
      width: 96px;
      height: 96px;
      max-width: none;
      max-height: none;
      border-radius: 22px;
      object-fit: cover;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    }
    .logos-slot__vacio {
      font-size: 0.8rem;
      font-weight: 600;
      color: #59616a;
    }
    .logos-slot__previa--oscuro .logos-slot__vacio,
    .logos-slot__previa--foto .logos-slot__vacio {
      color: rgba(255, 255, 255, 0.78);
    }
    .logos-slot__previa.is-llena .logos-slot__vacio {
      display: none;
    }
    .logos-slot__req {
      margin: 0;
      padding-left: 18px;
      font-size: 0.78rem;
      line-height: 1.45;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-slot__aviso {
      padding: 10px 12px;
      border-radius: 10px;
      background: var(--bv-warning-background, #fff3d9);
      border: 1px solid color-mix(in srgb, var(--bv-warning, #805000) 40%, transparent);
      color: var(--bv-text, #26313a);
      font-size: 0.8rem;
      line-height: 1.4;
    }
    .logos-slot__aviso[hidden] {
      display: none;
    }
    .logos-slot__aviso-titulo {
      margin: 0 0 4px;
      font-weight: 800;
      color: var(--bv-warning, #805000);
    }
    .logos-slot__aviso ul {
      margin: 0;
      padding-left: 18px;
    }
    .logos-slot__aviso-datos {
      margin: 6px 0 0;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-slot__aviso-acciones,
    .logos-slot__acciones {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .logos-slot__aviso-acciones {
      margin-top: 8px;
    }
    .logos-slot__acciones {
      margin-top: auto;
    }
    .logos-slot .msg:empty {
      display: none;
    }
    .logos-ejemplos {
      margin-top: 22px;
    }
    .logos-ejemplos__titulo {
      margin: 0 0 2px;
      font-size: 1.05rem;
    }
    .logos-ejemplos__sub {
      margin: 0;
    }
    .logos-ejemplos__grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
      gap: 14px;
      margin-top: 10px;
    }
    .logos-ejemplo {
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .logos-ejemplo figcaption {
      font-size: 0.78rem;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-ejemplo__falta {
      display: none;
      font-weight: 700;
      color: var(--bv-warning, #805000);
    }
    .logos-ejemplo.is-vacio .logos-ejemplo__falta {
      display: block;
    }
    .logos-ejemplo.is-vacio .logos-mock {
      opacity: 0.55;
    }
    /* Los ejemplos claros y oscuros van con colores fijos: enseñan cada caso sea cual sea el tema del panel. */
    .logos-mock {
      border-radius: 12px;
      border: 1px solid #dadcde;
      overflow: hidden;
      background: #f4f2ed;
      min-height: 130px;
    }
    .logos-mock--panel .logos-mock__cab {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      background: #ffffff;
      border-bottom: 1px solid #dadcde;
    }
    .logos-mock__cab img {
      height: 28px;
      max-width: 120px;
      object-fit: contain;
    }
    .logos-mock__nombre {
      font-size: 0.8rem;
      font-weight: 700;
      color: #26313a;
    }
    .logos-mock__lineas {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 12px;
    }
    .logos-mock__lineas i {
      display: block;
      height: 8px;
      border-radius: 4px;
      background: rgba(38, 49, 58, 0.1);
    }
    .logos-mock__lineas i:nth-child(2) {
      width: 70%;
    }
    .logos-mock__lineas i:nth-child(3) {
      width: 45%;
    }
    .logos-mock--oscuro {
      background: #1c232b;
      border-color: #2d3742;
    }
    .logos-mock--oscuro .logos-mock__cab {
      background: #26313a;
      border-bottom-color: #3a4652;
    }
    .logos-mock--oscuro .logos-mock__nombre,
    .logos-mock--oscuro .logos-mock__etiqueta {
      color: #f4f2ed;
    }
    .logos-mock--oscuro .logos-mock__lineas i {
      background: rgba(255, 255, 255, 0.12);
    }
    .logos-mock--app {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 18px 12px;
      min-height: 170px;
      max-width: 200px;
      margin: 0 auto;
      border-radius: 22px;
    }
    .logos-mock--app img {
      max-height: 80px;
      max-width: 70%;
      object-fit: contain;
    }
    .logos-mock__boton {
      padding: 6px 16px;
      border-radius: 999px;
      background: var(--bv-primary, #c8463d);
      color: var(--bv-on-primary, #ffffff);
      font-size: 0.78rem;
      font-weight: 700;
    }
    .logos-mock--icono {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 18px;
    }
    .logos-mock__tile {
      display: flex;
      width: 72px;
      height: 72px;
      border-radius: 18px;
      overflow: hidden;
      background: #ffffff;
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
    }
    .logos-mock__tile img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .logos-mock__etiqueta {
      font-size: 0.74rem;
      font-weight: 600;
      color: #26313a;
    }
    .logos-mock--foto {
      position: relative;
      min-height: 150px;
      background: linear-gradient(160deg, #4a3b33 0%, #8a7262 40%, #2a2420 100%);
      border-color: #5a4a40;
    }
    .logos-mock--foto img {
      position: absolute;
      right: 12px;
      bottom: 10px;
      max-height: 40px;
      max-width: 45%;
      object-fit: contain;
      opacity: 0.92;
    }
    .logos-guia {
      margin-top: 18px;
    }
    /* Prompt para IA (titular, 13-10-2026): botón en cada versión y ventana con el texto listo para pegar. */
    .logos-slot__prompt {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .logos-slot__prompt-ico {
      flex-shrink: 0;
      color: var(--bv-primary, #c8463d);
    }
    .logos-prompt-overlay {
      position: fixed;
      inset: 0;
      z-index: 20500;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: var(--bd-modal-scrim, rgba(38, 49, 58, 0.45));
    }
    .logos-prompt-overlay[hidden] {
      display: none;
    }
    .logos-prompt {
      width: min(640px, 100%);
      max-height: calc(100vh - 32px);
      overflow: auto;
      box-sizing: border-box;
      padding: 18px 20px;
      border-radius: 16px;
      border: 1px solid var(--bv-border, #dadcde);
      background: var(--bv-surface-raised, #ffffff);
      color: var(--bv-text, #26313a);
      box-shadow: 0 20px 60px var(--bv-shadow-color, rgba(38, 49, 58, 0.18));
    }
    .logos-prompt__cab {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .logos-prompt__titulo {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
    }
    .logos-prompt__sub {
      margin: 4px 0 0;
      font-size: 0.82rem;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-prompt__pasos {
      margin: 14px 0 10px;
      padding-left: 20px;
      font-size: 0.86rem;
      line-height: 1.5;
    }
    .logos-prompt__texto {
      display: block;
      width: 100%;
      box-sizing: border-box;
      min-height: 220px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid var(--bv-border, #dadcde);
      background: var(--bv-surface-subtle, #e9e6de);
      color: var(--bv-text, #26313a);
      font: inherit;
      font-size: 0.84rem;
      line-height: 1.5;
      resize: vertical;
    }
    .logos-prompt__nota {
      margin: 8px 0 0;
      font-size: 0.78rem;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-prompt__pie {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      margin-top: 14px;
    }
    .logos-prompt__copiado {
      margin-right: auto;
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--bv-text-secondary, #59616a);
    }
    .logos-guia summary {
      cursor: pointer;
      font-weight: 700;
      color: var(--bv-text, #26313a);
    }
    .logos-guia ul {
      margin: 10px 0 0;
      padding-left: 18px;
      font-size: 0.84rem;
      line-height: 1.5;
      color: var(--bv-text-secondary, #59616a);
    }
    @media (max-width: 640px) {
      .logos-kit,
      .logos-ejemplos__grid {
        grid-template-columns: 1fr;
      }
    }
    /* Iconos de línea del panel (bardevIconoSvg en panel-core.js y SVG en línea en index.html) en lugar de emoticonos
       (titular, 12-10 y 13-10-2026: «los iconos deben ser svg, no emoticonos simples»). Heredan color y tamaño del
       texto (1em, currentColor). */
    .bd-icono {
      display: inline-block;
      width: 1em;
      height: 1em;
      vertical-align: -0.14em;
      flex-shrink: 0;
    }
    /* Portada: los iconos de las tarjetas destacadas, en el rojo de Barveo y sin el halo verde del emoticono. */
    .bl-feature__icon:has(> .bd-icono) {
      filter: none;
      line-height: 1;
    }
    .bl-feature__icon .bd-icono,
    .bl-feature__legal-icon .bd-icono {
      color: var(--barveo-palette-01, #C8463D);
    }
    /* Estado del cajón portamonedas (Configuración › TPV): punto de semáforo en vez de 🟢/⚪. */
    .bd-estado-punto {
      display: inline-block;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      border: 2px solid var(--muted);
      box-sizing: border-box;
      vertical-align: middle;
    }
    .bd-estado-punto--ok {
      background: #22c55e;
      border-color: #16a34a;
    }
    /* Chat de asistencia técnica (panel-soporte-chat.js; titular, 14-10-2026). Botón «Chat» junto al zoom y ventana
       de chat no modal abajo a la derecha (a pantalla completa en el móvil). Solo tokens del tema, para que funcione
       igual en claro, en oscuro y con cualquier tema. */
    .bd-chat-lanzador {
      position: fixed;
      bottom: 8px;
      right: 60px;
      z-index: 101;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      height: 40px;
      padding: 0 15px 0 12px;
      border: 1px solid var(--bv-border, var(--bd-n-200, var(--border)));
      border-radius: 22px;
      background: var(--bv-surface, var(--bd-n-0, var(--card, #fff)));
      color: var(--bv-text, var(--bd-ink, var(--text)));
      font: inherit;
      font-size: 0.85rem;
      font-weight: 700;
      cursor: pointer;
      box-shadow: var(--bd-shadow-md, 0 4px 14px rgba(15, 23, 42, 0.14));
      transition: right 0.22s ease, background 0.15s ease, color 0.15s ease;
    }
    .bd-chat-lanzador svg {
      width: 19px;
      height: 19px;
      color: var(--bv-primary, var(--ok));
    }
    .bd-chat-lanzador:hover,
    .bd-chat-lanzador:focus-visible,
    .bd-chat-lanzador[aria-expanded='true'] {
      background: var(--bv-primary, var(--ok));
      border-color: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
      outline: none;
    }
    .bd-chat-lanzador:hover svg,
    .bd-chat-lanzador:focus-visible svg,
    .bd-chat-lanzador[aria-expanded='true'] svg {
      color: inherit;
    }
    /* El zoom crece hacia la izquierda al abrirse (148 px): el chat se aparta a su lado. */
    .bardev-zoom-bar:hover ~ .bd-chat-lanzador,
    .bardev-zoom-bar:focus-within ~ .bd-chat-lanzador,
    .bardev-zoom-bar.is-open ~ .bd-chat-lanzador {
      right: 168px;
    }
    body.mode-login .bd-chat-lanzador,
    body.bardev-vg-open .bd-chat-lanzador,
    body.mode-login .bd-chat {
      display: none !important;
    }

    .bd-chat {
      position: fixed;
      right: 12px;
      bottom: 58px;
      z-index: 21000;
      display: flex;
      flex-direction: column;
      width: min(390px, calc(100vw - 24px));
      height: min(600px, calc(100vh - 80px));
      border: 1px solid var(--bv-border, var(--bd-n-200, var(--border)));
      border-radius: 18px;
      background: var(--bv-surface, var(--card, #fff));
      color: var(--bv-text, var(--text));
      box-shadow: 0 18px 48px var(--bv-shadow-color, rgba(15, 23, 42, 0.28));
      overflow: hidden;
    }
    .bd-chat[hidden] {
      display: none;
    }
    .bd-chat__cab {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 12px 12px 14px;
      background: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
    }
    .bd-chat__avatar {
      position: relative;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: var(--bv-on-primary, #fff);
      color: var(--bv-primary, var(--ok));
      font-weight: 800;
      font-size: 1rem;
    }
    .bd-chat__avatar--peq {
      width: 26px;
      height: 26px;
      font-size: 0.75rem;
      background: var(--bv-primary-soft, var(--bd-g-50, rgba(0, 0, 0, 0.06)));
      color: var(--bv-primary-soft-text, var(--bv-primary, var(--ok)));
    }
    .bd-chat__en-linea {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #22c55e;
      border: 2px solid var(--bv-primary, var(--ok));
    }
    .bd-chat__quien {
      flex: 1 1 auto;
      min-width: 0;
    }
    .bd-chat__nombre {
      margin: 0;
      font-size: 1rem;
      font-weight: 800;
      line-height: 1.2;
      color: inherit;
    }
    .bd-chat__sub {
      margin: 2px 0 0;
      font-size: 0.74rem;
      line-height: 1.25;
      opacity: 0.9;
    }
    .bd-chat__accion,
    .bd-chat__cab .bardev-modal-close {
      flex: 0 0 auto;
      color: inherit;
      background: transparent;
      border-color: color-mix(in srgb, currentColor 35%, transparent);
    }
    .bd-chat__accion {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
      border-radius: 50%;
      cursor: pointer;
    }
    .bd-chat__accion:hover,
    .bd-chat__accion:focus-visible {
      background: color-mix(in srgb, currentColor 16%, transparent);
      outline: none;
    }

    .bd-chat__log {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 14px 12px 6px;
      background: var(--bv-surface-subtle, var(--bg, #f6f7f9));
      overscroll-behavior: contain;
    }
    .bd-chat__log:focus-visible {
      outline: 2px solid var(--bv-focus-ring, var(--bv-primary, var(--ok)));
      outline-offset: -2px;
    }
    .bd-chat__msg {
      display: flex;
      align-items: flex-end;
      gap: 7px;
      margin: 0 0 10px;
    }
    .bd-chat__msg--yo {
      justify-content: flex-end;
    }
    /* Mensajes seguidos del agente: un solo avatar y más juntos, como en cualquier chat. */
    .bd-chat__msg--agente + .bd-chat__msg--agente {
      margin-top: -6px;
    }
    .bd-chat__msg--agente + .bd-chat__msg--agente .bd-chat__avatar {
      visibility: hidden;
    }
    .bd-chat__msg:last-child {
      animation: bd-chat-entra 0.18s ease-out;
    }
    @keyframes bd-chat-entra {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: none; }
    }
    .bd-chat__burbuja {
      position: relative;
      max-width: 84%;
      padding: 9px 12px 18px;
      border-radius: 16px;
      font-size: 0.88rem;
      line-height: 1.45;
      overflow-wrap: anywhere;
    }
    .bd-chat__burbuja p {
      margin: 0 0 6px;
    }
    .bd-chat__burbuja p:last-of-type {
      margin-bottom: 0;
    }
    .bd-chat__msg--agente .bd-chat__burbuja {
      background: var(--bv-surface, var(--card, #fff));
      border: 1px solid var(--bv-border, var(--border));
      border-bottom-left-radius: 5px;
    }
    .bd-chat__msg--yo .bd-chat__burbuja {
      background: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
      border-bottom-right-radius: 5px;
    }
    .bd-chat__hora {
      position: absolute;
      right: 10px;
      bottom: 3px;
      font-size: 0.66rem;
      opacity: 0.65;
    }
    .bd-chat__enlace {
      color: var(--bv-primary, var(--ok));
      font-weight: 700;
    }

    .bd-chat__escribiendo {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 0 12px 8px;
      background: var(--bv-surface-subtle, var(--bg, #f6f7f9));
    }
    .bd-chat__escribiendo[hidden] {
      display: none;
    }
    .bd-chat__puntos {
      display: inline-flex;
      gap: 4px;
      padding: 10px 12px;
      border-radius: 14px;
      background: var(--bv-surface, var(--card, #fff));
      border: 1px solid var(--bv-border, var(--border));
    }
    .bd-chat__escribe-txt {
      font-size: 0.76rem;
      font-style: italic;
      color: var(--bv-text-secondary, var(--muted));
    }
    .bd-chat__puntos i {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--bv-text-secondary, var(--muted));
      animation: bd-chat-punto 1.1s ease-in-out infinite;
    }
    .bd-chat__puntos i:nth-child(2) {
      animation-delay: 0.15s;
    }
    .bd-chat__puntos i:nth-child(3) {
      animation-delay: 0.3s;
    }
    @keyframes bd-chat-punto {
      0%, 60%, 100% { transform: translateY(0); opacity: 0.45; }
      30% { transform: translateY(-4px); opacity: 1; }
    }

    .bd-chat__sugerencias {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      padding: 8px 12px;
      border-top: 1px solid var(--bv-border, var(--border));
      background: var(--bv-surface, var(--card, #fff));
    }
    .bd-chat__sugerencias[hidden] {
      display: none;
    }
    .bd-chat__chip {
      min-height: 32px;
      padding: 5px 12px;
      border: 1px solid var(--bv-primary, var(--ok));
      border-radius: 16px;
      background: transparent;
      color: var(--bv-primary, var(--ok));
      font: inherit;
      font-size: 0.8rem;
      font-weight: 700;
      cursor: pointer;
      text-align: left;
    }
    .bd-chat__chip:hover,
    .bd-chat__chip:focus-visible {
      background: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
      outline: none;
    }

    .bd-chat__pie {
      display: flex;
      align-items: flex-end;
      gap: 8px;
      padding: 10px 12px 6px;
      border-top: 1px solid var(--bv-border, var(--border));
      background: var(--bv-surface, var(--card, #fff));
    }
    .bd-chat .bd-chat__texto,
    .bd-chat-flotante .bd-chat__texto {
      flex: 1 1 auto;
      box-sizing: border-box;
      width: auto;
      height: 40px;
      min-height: 40px;
      max-height: 110px;
      margin: 0;
      padding: 9px 12px;
      border: 1px solid var(--bv-input-border, var(--bv-border, var(--border)));
      border-radius: 14px;
      background: var(--bv-input-background, var(--bv-surface, #fff));
      color: var(--bv-input-text, var(--bv-text, var(--text)));
      font: inherit;
      font-size: 0.9rem;
      line-height: 1.35;
      resize: none;
    }
    /* La capa clara (panel-ds.css) da a todo textarea 80 px de alto mínimo, tamaño ajustable y su borde, con
       !important: el cuadro del chat es de una línea que crece sola. */
    html.bardev-panel-theme-light .bd-chat .bd-chat__texto,
    html.bardev-panel-theme-light .bd-chat-flotante .bd-chat__texto {
      min-height: 40px !important;
      padding: 9px 12px !important;
      border-radius: 14px !important;
      resize: none !important;
      font-size: 0.9rem !important;
    }
    .bd-chat .bd-chat__texto:focus,
    .bd-chat-flotante .bd-chat__texto:focus {
      outline: 2px solid var(--bv-focus-ring, var(--bv-primary, var(--ok)));
      outline-offset: 0;
    }
    .bd-chat__enviar {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border: 0;
      border-radius: 50%;
      background: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
      cursor: pointer;
    }
    .bd-chat__enviar:hover {
      background: var(--bv-primary-hover, var(--bv-primary, var(--ok)));
    }
    .bd-chat__enviar:disabled {
      opacity: 0.55;
      cursor: default;
    }
    /* Historial de conversaciones (titular, 15-10-2026): sustituye al registro mientras está abierto. */
    .bd-chat__historial {
      flex: 1 1 auto;
      overflow-y: auto;
      padding: 12px;
      background: var(--bv-surface-subtle, var(--bg, #f6f7f9));
      overscroll-behavior: contain;
    }
    .bd-chat--historial .bd-chat__log,
    .bd-chat--historial .bd-chat__escribiendo,
    .bd-chat--historial .bd-chat__sugerencias,
    .bd-chat--historial .bd-chat__pie {
      display: none;
    }
    .bd-chat__hist-titulo {
      margin: 0 0 10px;
      font-size: 0.95rem;
      font-weight: 800;
    }
    .bd-chat__hist-vacio {
      margin: 8px 0;
      color: var(--bv-text-secondary, var(--muted));
      font-size: 0.88rem;
    }
    .bd-chat__hist-lista {
      list-style: none;
      margin: 0 0 12px;
      padding: 0;
      display: grid;
      gap: 8px;
    }
    .bd-chat__hist-item {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 48px;
      padding: 8px 10px;
      text-align: left;
      color: inherit;
      background: var(--bv-surface, #fff);
      border: 1px solid var(--bv-border, var(--border, rgba(0, 0, 0, 0.12)));
      border-radius: 12px;
      cursor: pointer;
    }
    .bd-chat__hist-item:hover,
    .bd-chat__hist-item:focus-visible {
      border-color: var(--bv-primary, var(--ok));
      outline: none;
    }
    .bd-chat__hist-txt {
      display: grid;
      gap: 1px;
      min-width: 0;
    }
    .bd-chat__hist-resumen {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.85rem;
    }
    .bd-chat__hist-fecha {
      font-size: 0.74rem;
      color: var(--bv-text-secondary, var(--muted));
    }
    .bd-chat__hist-cab {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 10px;
      font-size: 0.85rem;
      font-weight: 700;
    }
    .bd-chat__hist-msgs:focus-visible {
      outline: 2px solid var(--bv-focus-ring, var(--bv-primary, var(--ok)));
      outline-offset: 2px;
    }

    .bd-chat__aviso {
      margin: 0;
      padding: 0 12px 8px;
      background: var(--bv-surface, var(--card, #fff));
      font-size: 0.68rem;
      color: var(--bv-text-secondary, var(--muted));
      text-align: center;
    }

    /* Chat minimizado (titular, 15-10-2026): cápsulas flotantes semitransparentes sobre el panel, con el botón para
       volver al chat. Se apartan del lanzador «Chat» (abajo a la derecha). Desde el 18-10 quedan todas las
       respuestas del agente desde la última pregunta (sin borrarse solas; la lista se desplaza si no caben) y,
       debajo, la caja para seguir preguntando. */
    .bd-chat-flotante {
      position: fixed;
      right: 16px;
      bottom: 60px;
      z-index: 21000;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 8px;
      width: min(360px, calc(100vw - 32px));
      pointer-events: none;
    }
    .bd-chat-flotante[hidden] {
      display: none;
    }
    .bd-chat-flotante__lista {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 6px;
      max-width: 100%;
      max-height: min(52vh, 440px);
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-width: thin;
      pointer-events: auto;
      /* Hueco para que la sombra de las cápsulas no se corte en el borde de la lista al desplazarse. */
      box-sizing: border-box;
      padding: 6px 4px 12px 22px;
      margin: -6px -4px -12px -22px;
    }
    .bd-chat-flotante__chips {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 6px;
      max-width: 100%;
      pointer-events: auto;
    }
    .bd-chat-flotante__chips[hidden] {
      display: none;
    }
    /* Sobre el panel, los botones de opción llevan fondo para leerse bien. */
    .bd-chat-flotante__chips .bd-chat__chip {
      background: var(--bv-surface, var(--card, #fff));
      box-shadow: 0 4px 14px var(--bv-shadow-color, rgba(15, 23, 42, 0.16));
    }
    /* Al pasar el ratón o con el foco, relleno del acento como en el chat abierto. Sin esta regla el fondo de arriba
       ganaba al :hover y el texto blanco desaparecía sobre blanco (titular, 18-10-2026). */
    .bd-chat-flotante__chips .bd-chat__chip:hover,
    .bd-chat-flotante__chips .bd-chat__chip:focus-visible {
      background: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
    }
    .bd-chat-flotante__lista:empty {
      display: none;
    }
    .bd-chat-flotante__fila {
      display: flex;
      align-items: flex-end;
      gap: 8px;
      width: 100%;
      pointer-events: auto;
    }
    .bd-chat-flotante__pie {
      flex: 1 1 auto;
      display: flex;
      align-items: flex-end;
      gap: 6px;
      min-width: 0;
      margin: 0;
      padding: 6px;
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 22px;
      background: var(--bv-surface, var(--card, #fff));
      box-shadow: var(--bd-shadow-md, 0 4px 14px rgba(15, 23, 42, 0.22));
    }
    .bd-chat-flotante__pie .bd-chat__texto {
      border-color: transparent;
    }
    .bd-chat-capsula {
      max-width: 100%;
      padding: 9px 14px;
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 18px 18px 6px 18px;
      background: color-mix(in srgb, var(--bv-surface, #fff) 74%, transparent);
      color: var(--bv-text, var(--text));
      font-size: 0.88rem;
      line-height: 1.4;
      overflow-wrap: anywhere;
      box-shadow: 0 6px 20px var(--bv-shadow-color, rgba(15, 23, 42, 0.18));
      -webkit-backdrop-filter: blur(8px) saturate(1.2);
      backdrop-filter: blur(8px) saturate(1.2);
      pointer-events: auto;
      cursor: pointer;
      animation: bd-chat-capsula-entra 0.22s ease-out;
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    @keyframes bd-chat-capsula-entra {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: none; }
    }
    .bd-chat-flotante__escribe {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 12px;
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 16px;
      background: color-mix(in srgb, var(--bv-surface, #fff) 70%, transparent);
      font-size: 0.78rem;
      font-style: italic;
      color: var(--bv-text-secondary, var(--muted));
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
    }
    .bd-chat-flotante__escribe[hidden] {
      display: none;
    }
    .bd-chat-flotante__escribe .bd-chat__puntos {
      padding: 0;
      border: 0;
      background: transparent;
    }
    .bd-chat-flotante__max {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      padding: 0;
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 50%;
      background: var(--bv-primary, var(--ok));
      color: var(--bv-on-primary, #fff);
      cursor: pointer;
      box-shadow: var(--bd-shadow-md, 0 4px 14px rgba(15, 23, 42, 0.22));
      pointer-events: auto;
    }
    .bd-chat-flotante__max:focus-visible {
      outline: 2px solid var(--bv-focus-ring, var(--bv-primary, var(--ok)));
      outline-offset: 3px;
    }
    .bd-chat-flotante__num {
      position: absolute;
      top: -5px;
      right: -5px;
      min-width: 20px;
      height: 20px;
      padding: 0 5px;
      border-radius: 10px;
      background: var(--bv-danger, #b91c1c);
      color: var(--bv-on-danger, #fff);
      font-size: 0.72rem;
      font-weight: 800;
      line-height: 20px;
      text-align: center;
    }
    .bd-chat-flotante__num[hidden] {
      display: none;
    }
    /* El navegador sin desenfoque (o sin color-mix) cae a un fondo casi opaco: legible siempre. */
    @supports not (color: color-mix(in srgb, red 50%, blue)) {
      .bd-chat-capsula,
      .bd-chat-flotante__escribe {
        background: var(--bv-surface, #fff);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .bd-chat-capsula {
        animation: none;
        transition: none;
      }
    }

    @media (max-width: 640px) {
      .bd-chat-flotante {
        right: 12px;
        bottom: 56px;
        width: calc(100vw - 24px);
      }
      .bd-chat {
        inset: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
        border: 0;
      }
      .bd-chat-lanzador {
        padding: 0 12px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .bd-chat-lanzador {
        transition: none;
      }
      .bd-chat__puntos i {
        animation: none;
        opacity: 0.8;
      }
      .bd-chat__msg:last-child {
        animation: none;
      }
    }

    /* «Nutrir al chat» (Developer): documentos de la base de conocimiento del chat. */
    .bd-nutrir__subida {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 10px 14px;
      margin: 0 0 16px;
    }
    .bd-nutrir__subida label {
      display: flex;
      flex-direction: column;
      gap: 4px;
      font-size: 0.82rem;
      font-weight: 700;
    }
    .bd-nutrir__vista {
      margin: 0 0 16px;
      padding: 12px 14px;
      border: 1px dashed var(--bv-border-strong, var(--bv-border, var(--border)));
      border-radius: 14px;
      background: var(--bv-surface-subtle, transparent);
    }
    .bd-nutrir__vista ol {
      margin: 8px 0 0;
      padding-left: 1.3em;
      max-height: 260px;
      overflow: auto;
      font-size: 0.84rem;
    }
    .bd-nutrir__vista li span {
      color: var(--bv-text-secondary, var(--muted));
    }
    .bd-nutrir__prueba {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
      margin: 18px 0 8px;
    }
    .bd-nutrir__prueba input {
      flex: 1 1 280px;
    }
    .bd-nutrir__resultados li {
      margin: 0 0 4px;
    }

    /* Developer › Nutrir al chat › «Básicos»: los temas de la guía, ordenados por área y editables. */
    .bd-nutrir__basicos {
      margin: 0 0 20px;
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 14px;
      background: var(--bv-surface, var(--card, #fff));
    }
    .bd-nutrir__basicos > summary {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 4px 12px;
      padding: 14px 18px;
      cursor: pointer;
      list-style: none;
    }
    .bd-nutrir__basicos > summary::-webkit-details-marker {
      display: none;
    }
    .bd-nutrir__basicos > summary::before {
      content: '›';
      font-weight: 800;
      font-size: 1.1rem;
      color: var(--bv-primary, var(--ok));
      transition: transform 0.15s ease;
    }
    .bd-nutrir__basicos[open] > summary::before {
      transform: rotate(90deg);
    }
    .bd-nutrir__basicos-titulo {
      font-size: 1.05rem;
      font-weight: 800;
    }
    .bd-nutrir__basicos-sub {
      color: var(--bv-text-secondary, var(--muted));
      font-size: 0.85rem;
    }
    .bd-nutrir__basicos-cuerpo {
      display: grid;
      gap: 14px;
      padding: 4px 18px 18px;
    }
    .bd-nutrir__basicos-cuerpo > input[type='search'] {
      max-width: 360px;
    }
    .bd-nutrir__grupo h4 {
      margin: 6px 0 8px;
      font-size: 0.82rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: var(--bv-text-secondary, var(--muted));
    }
    .bd-nutrir__grupo h4 span {
      font-weight: 500;
    }
    .bd-nutrir__grupo ul {
      display: grid;
      gap: 6px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .bd-nutrir__tema {
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 12px;
      background: var(--bv-surface-subtle, rgba(0, 0, 0, 0.02));
    }
    .bd-nutrir__tema.is-abierto {
      background: var(--bv-surface, #fff);
      border-color: var(--bv-primary, var(--ok));
    }
    .bd-nutrir__tema.is-pausado .bd-nutrir__tema-fila strong {
      opacity: 0.6;
    }
    .bd-nutrir__tema-fila {
      display: flex;
      gap: 12px;
      align-items: center;
      justify-content: space-between;
      padding: 10px 14px;
    }
    .bd-nutrir__marca {
      display: inline-block;
      margin-left: 6px;
      padding: 1px 8px;
      border-radius: 999px;
      background: var(--bv-primary-soft, rgba(0, 0, 0, 0.06));
      color: var(--bv-primary-soft-text, var(--bv-primary, var(--ok)));
      font-size: 0.72rem;
      font-weight: 700;
    }
    .bd-nutrir__marca--pausa {
      background: var(--bv-warning-background, rgba(217, 119, 6, 0.12));
      color: var(--bv-warning, #b45309);
    }
    .bd-nutrir__editor {
      display: grid;
      gap: 12px;
      padding: 4px 14px 14px;
    }
    .bd-nutrir__editor label {
      display: grid;
      gap: 6px;
      font-weight: 600;
    }
    .bd-nutrir__editor textarea {
      min-height: 0;
      font: inherit;
      line-height: 1.45;
    }
    .bd-nutrir__editor .bd-nutrir__check {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      text-transform: none;
      letter-spacing: normal;
      font-weight: 500;
    }
    .bd-nutrir__editor-pie {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }
    .bd-nutrir__espacio {
      flex: 1 1 auto;
    }

    /* Developer › Asistencia técnica: contacto de incidencias y lista de incidencias recibidas. */
    .bd-asis__form {
      display: grid;
      gap: 14px;
      max-width: 640px;
      margin: 0 0 26px;
    }
    .bd-asis__form h3,
    .bd-asis__cab-lista h3 {
      margin: 0;
    }
    .bd-asis__campo {
      display: grid;
      gap: 6px;
    }
    .bd-asis__campo .input {
      max-width: 280px;
    }
    .bd-asis__campo .sub {
      margin: 0;
    }
    .bd-asis__correos {
      display: grid;
      gap: 8px;
      justify-items: start;
      margin: 0;
      padding: 12px 14px;
      border: 1px solid var(--bv-border, var(--border));
      border-radius: 14px;
    }
    .bd-asis__correos legend {
      padding: 0 6px;
      font-weight: 600;
    }
    .bd-asis__correo {
      display: flex;
      gap: 8px;
      align-items: center;
      width: 100%;
    }
    .bd-asis__correo .input {
      flex: 0 1 360px;
      min-width: 0;
    }
    /* Casilla con frase normal: las etiquetas del panel van en versalitas, esta no. */
    .bd-asis__form .bd-asis__check {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      text-transform: none !important;
      letter-spacing: normal !important;
      font-weight: 500 !important;
    }
    .bd-asis__pie {
      display: flex;
      justify-content: flex-end;
    }
    .bd-asis__cab-lista {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 16px;
      align-items: center;
      justify-content: space-between;
      margin: 0 0 10px;
    }
    .bd-asis__filtros {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .bd-asis__filtros [aria-pressed='true'] {
      background: var(--bv-primary-soft, rgba(0, 0, 0, 0.06));
      color: var(--bv-primary-soft-text, var(--bv-primary, var(--ok)));
      border-color: var(--bv-primary, var(--ok));
    }
    .bd-asis__motivo {
      min-width: 220px;
      max-width: 420px;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }
    .bd-asis__motivo pre {
      margin: 6px 0 0;
      white-space: pre-wrap;
      font: inherit;
      font-size: 0.8rem;
      color: var(--bv-text-secondary, var(--muted));
    }
    .bd-asis__estado {
      display: inline-block;
      padding: 2px 10px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 700;
      white-space: nowrap;
    }
    .bd-asis__estado--nueva {
      background: var(--bv-danger-background, rgba(220, 38, 38, 0.1));
      color: var(--bv-danger, #b91c1c);
    }
    .bd-asis__estado--atendida {
      background: var(--bv-primary-soft, rgba(0, 0, 0, 0.06));
      color: var(--bv-primary-soft-text, var(--bv-primary, var(--ok)));
    }
/* Push masivo a clientes (titular, 17-10-2026): campos propios del canal «Push» en el modal de campañas
   (Clientes › Comunicaciones). */
    #camp-modal .camp-push-box {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    #camp-modal .camp-push-reach {
      margin: 0;
      font-size: 0.82rem;
      line-height: 1.4;
      color: var(--text-secondary, var(--muted));
    }
    #camp-modal .camp-push-reach.is-error {
      color: var(--bv-danger, #b91c1c);
    }
    #camp-modal .camp-push-count {
      align-self: flex-end;
      font-size: 0.74rem;
      color: var(--text-secondary, var(--muted));
      font-variant-numeric: tabular-nums;
    }
    #camp-modal .camp-push-count.is-limit {
      color: var(--bv-danger, #b91c1c);
      font-weight: 700;
    }
    #camp-modal #btn-camp-send {
      margin-bottom: 8px;
    }
    #camp-modal [hidden] {
      display: none !important;
    }
    /*
     * Centro de las fotos del buscador (APPS › Buscador › Fotos del buscador y «Fotos de mi barbería»): punto marcado
     * en la miniatura, botón «Centro» activo y ventana «Centro de la foto» con vistas previas (panel-core.js,
     * buscadorAbrirFoco). El centro se guarda en la dirección como «#foco=x,y».
     */
    #panel-buscador .bd-buscador-card__thumb,
    #webapp-panel-fotos-barberia .bd-buscador-card__thumb {
      position: relative;
    }
    .bd-buscador-card__foco {
      position: absolute;
      width: 14px;
      height: 14px;
      margin: -7px 0 0 -7px;
      border-radius: 50%;
      border: 2px solid #fff;
      background: #c8463d;
      box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.45), 0 1px 4px rgba(15, 23, 42, 0.35);
      pointer-events: none;
    }
    .bd-buscador-card__btn.is-activo {
      border-color: #c8463d;
      color: #c8463d;
    }

    .bd-foco-modal {
      position: fixed;
      inset: 0;
      z-index: 30000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      background: rgba(15, 23, 42, 0.5);
    }
    .bd-foco-modal[hidden] {
      display: none;
    }
    .bd-foco-modal__panel {
      width: min(920px, 100%);
      max-height: calc(100dvh - 32px);
      overflow: auto;
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 18px 20px;
      border-radius: 16px;
      background: var(--card, #fff);
      color: var(--text, #1d252c);
      box-shadow: 0 18px 48px rgba(15, 23, 42, 0.3);
    }
    .bd-foco-modal__cab {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .bd-foco-modal__titulo {
      margin: 0;
      font-size: 1.15rem;
    }
    .bd-foco-modal__ayuda,
    .bd-foco-modal__valor {
      margin: 0;
      font-size: 0.86rem;
      color: var(--muted, #5b6772);
    }
    .bd-foco-modal__valor {
      font-weight: 600;
      color: var(--text, #1d252c);
    }
    .bd-foco-modal__cuerpo {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 240px;
      gap: 16px;
      align-items: start;
    }
    .bd-foco-modal__foto {
      position: relative;
      justify-self: center;
      line-height: 0;
      cursor: crosshair;
      border-radius: 10px;
      outline-offset: 3px;
    }
    .bd-foco-modal__foto:focus-visible {
      outline: 2px solid #c8463d;
    }
    .bd-foco-modal__img {
      display: block;
      max-width: 100%;
      max-height: 56vh;
      border-radius: 10px;
      user-select: none;
      -webkit-user-drag: none;
    }
    .bd-foco-modal__punto {
      position: absolute;
      width: 22px;
      height: 22px;
      margin: -11px 0 0 -11px;
      border-radius: 50%;
      border: 3px solid #fff;
      background: rgba(200, 70, 61, 0.9);
      box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.5), 0 2px 8px rgba(15, 23, 42, 0.4);
      pointer-events: none;
    }
    .bd-foco-modal__punto[hidden] {
      display: none;
    }
    .bd-foco-modal__previas {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .bd-foco-modal__previa {
      margin: 0;
    }
    .bd-foco-modal__previa figcaption {
      margin-top: 4px;
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--muted, #5b6772);
    }
    .bd-foco-modal__marco {
      overflow: hidden;
      border-radius: 10px;
      border: 1px solid var(--border, #dfe7ec);
      background: var(--bd-n-50, #f8fafc);
    }
    /* Mismas proporciones que la tarjeta del buscador: franja del móvil y cuadrado del escritorio. */
    .bd-foco-modal__marco--movil {
      aspect-ratio: 2.8 / 1;
    }
    .bd-foco-modal__marco--escritorio {
      width: 150px;
      aspect-ratio: 1;
    }
    .bd-foco-modal__marco img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .bd-foco-modal__pie {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
    }
    /* Botones al ancho del texto, en una fila (abajo a la derecha). */
    .bd-foco-modal__pie .btn {
      width: auto;
      flex: 0 0 auto;
    }
    @media (max-width: 720px) {
      .bd-foco-modal__cuerpo {
        grid-template-columns: 1fr;
      }
      .bd-foco-modal__previas {
        flex-direction: row;
        align-items: flex-start;
      }
      .bd-foco-modal__previa:first-child {
        flex: 1 1 auto;
      }
    }
    /* ═══ 46 — Asistencia remota (titular, 21-10-2026) ═══
       Botón «Control remoto» de Developer › Barberías: Tinta (azul corporativo) y doble ancho
       (34 + 4 + 34 px) junto a las acciones de la fila. Los colores salen del tema
       (panel-temas.js fija --barveo-palette-05 / --barveo-on-05); los valores son el respaldo. */
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 5px;
      width: 72px;
      min-width: 72px;
      height: 34px;
      padding: 0 6px;
      border-radius: 8px;
      border: 1px solid var(--barveo-palette-05, #26313A);
      background: var(--barveo-palette-05, #26313A);
      color: var(--barveo-on-05, #F4F2ED);
      cursor: pointer;
      font: inherit;
      transition: filter 0.15s ease, box-shadow 0.15s ease;
    }
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto svg {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto__label {
      font-size: 0.58rem;
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: 0.01em;
      text-align: left;
      white-space: nowrap;
      color: inherit;
    }
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto:hover:not(:disabled) {
      filter: brightness(1.18);
    }
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto:focus-visible {
      outline: 2px solid var(--barveo-palette-05, #26313A);
      outline-offset: 2px;
    }
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto:disabled {
      opacity: 0.5;
      cursor: not-allowed;
      filter: none;
    }
    /* Sesión remota en curso con esta barbería: anillo en el color principal. */
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto[data-remoto-activa='1'] {
      box-shadow: 0 0 0 2px var(--barveo-palette-01, #C8463D);
    }
    /* Control total (Chrome): mismo tamaño que Control remoto pero invertido, para que se distinga a simple vista. */
    #panel-barberias .dev-tenants-row-actions .dev-tenant-act-remoto--chrome {
      background: var(--barveo-on-05, #F4F2ED);
      color: var(--barveo-palette-05, #26313A);
    }

    /* ── Lado de la barbería (panel-asistencia-cliente.js) ── */
    /* Ventana de autorización: la superficie estándar de modal, algo más ancha. */
    .bd-asis-consent-overlay .bd-asis-consent {
      width: min(540px, calc(100vw - 32px));
      max-width: 540px;
      max-height: calc(100vh - 32px);
      overflow-y: auto;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .bd-asis-consent__cab {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .bd-asis-consent__cab h3 {
      margin: 0;
    }
    .bd-asis-consent__cuerpo {
      display: flex;
      flex-direction: column;
      gap: 10px;
      font-size: 0.92rem;
      line-height: 1.45;
    }
    .bd-asis-consent__quien,
    .bd-asis-consent__motivo,
    .bd-asis-consent__nota {
      margin: 0;
    }
    .bd-asis-consent__campo {
      display: flex;
      flex-direction: column;
      gap: 6px;
      font-weight: 600;
    }
    .bd-asis-consent__campo input {
      font-size: 1.25rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      width: 11ch;
      max-width: 100%;
      box-sizing: border-box;
    }
    .bd-asis-consent-overlay .bd-asis-consent__check {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-weight: 500;
      font-size: 0.9rem;
      text-transform: none;
      letter-spacing: normal;
      color: inherit;
    }
    .bd-asis-consent__check input {
      margin-top: 3px;
      flex-shrink: 0;
    }
    .bd-asis-consent__texto {
      max-height: 180px;
      overflow: auto;
      padding: 10px 12px;
      border-radius: 10px;
      border: 1px solid var(--ds-border, var(--bd-n-200, #E7EAF0));
      background: var(--barveo-palette-02, #F7E3E1);
      color: var(--barveo-on-02, #26313A);
      font-size: 0.85rem;
      white-space: pre-wrap;
    }
    .bd-asis-consent__pie {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 8px;
    }

    /* Banda fija mientras dura la sesión: no se puede ocultar (panel-asistencia-cliente.js la repone). */
    .bd-asis-banner {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 2147483000;
      min-height: 44px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px 12px;
      padding: 6px 16px;
      box-sizing: border-box;
      background: var(--barveo-palette-01, #C8463D);
      color: var(--barveo-on-01, #FFFFFF);
      font-size: 0.86rem;
      line-height: 1.25;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    }
    html.bd-asis-activa body {
      padding-top: 44px;
    }
    .bd-asis-banner__punto {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: currentColor;
      animation: bd-asis-latido 1.4s ease-in-out infinite;
    }
    @keyframes bd-asis-latido {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.35; }
    }
    @media (prefers-reduced-motion: reduce) {
      .bd-asis-banner__punto { animation: none; }
    }
    .bd-asis-banner__nivel {
      padding: 2px 8px;
      border-radius: 999px;
      border: 1px solid currentColor;
      font-weight: 700;
      font-size: 0.76rem;
    }
    .bd-asis-banner__tiempo {
      font-variant-numeric: tabular-nums;
      font-weight: 700;
    }
    .bd-asis-banner__aviso {
      opacity: 0.9;
      font-size: 0.78rem;
    }
    /* Botones propios (no .btn): el color principal del tema es el mismo rojo de la banda. */
    .bd-asis-banner .bd-asis-banner__btn {
      margin-left: auto;
      padding: 4px 14px;
      min-height: 30px;
      border-radius: 8px;
      font: inherit;
      font-size: 0.8rem;
      font-weight: 700;
      cursor: pointer;
      white-space: nowrap;
    }
    .bd-asis-banner .bd-asis-banner__btn + .bd-asis-banner__btn {
      margin-left: 0;
    }
    .bd-asis-banner .bd-asis-banner__solo {
      background: transparent;
      color: var(--barveo-on-01, #FFFFFF);
      border: 1px solid var(--barveo-on-01, #FFFFFF);
    }
    .bd-asis-banner .bd-asis-banner__parar {
      background: var(--barveo-on-01, #FFFFFF);
      color: var(--barveo-palette-01, #C8463D);
      border: 1px solid var(--barveo-on-01, #FFFFFF);
    }
    .bd-asis-banner .bd-asis-banner__btn:focus-visible {
      outline: 2px solid var(--barveo-on-01, #FFFFFF);
      outline-offset: 2px;
    }
    @media (max-width: 640px) {
      .bd-asis-banner__aviso { display: none; }
    }

    /* Puntero del técnico: solo se dibuja, nunca recibe clics. */
    .bd-asis-puntero {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 2147483001;
      pointer-events: none;
      display: flex;
      align-items: flex-start;
      gap: 2px;
      opacity: 0;
      transition: opacity 0.2s ease;
      will-change: transform;
    }
    .bd-asis-puntero--visible {
      opacity: 1;
    }
    .bd-asis-puntero svg {
      fill: var(--barveo-palette-05, #26313A);
      stroke: #FFFFFF;
      stroke-width: 1.5;
      stroke-linejoin: round;
    }
    .bd-asis-puntero span {
      margin-top: 14px;
      padding: 1px 6px;
      border-radius: 6px;
      background: var(--barveo-palette-05, #26313A);
      color: var(--barveo-on-05, #F4F2ED);
      font-size: 0.7rem;
      font-weight: 700;
      white-space: nowrap;
    }

    /* ── Visor del developer (panel-dev-remoto.js): pantalla completa, por encima de todo el panel ── */
    html.bd-remoto-abierto,
    html.bd-remoto-abierto body {
      overflow: hidden;
    }
    .bd-remoto-visor {
      position: fixed;
      inset: 0;
      z-index: 100080;
      display: flex;
      flex-direction: column;
      background: #111418;
      color: var(--barveo-on-05, #F4F2ED);
    }
    .bd-remoto-visor.hidden {
      display: none;
    }
    .bd-remoto-visor__cab {
      flex: 0 0 auto;
      min-height: 56px;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 8px 12px 8px 16px;
      box-sizing: border-box;
      background: var(--barveo-palette-05, #26313A);
      color: var(--barveo-on-05, #F4F2ED);
    }
    .bd-remoto-visor__id {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .bd-remoto-visor__titulo {
      margin: 0;
      font-size: 0.95rem;
      font-weight: 700;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      color: inherit;
    }
    .bd-remoto-visor__punto {
      width: 10px;
      height: 10px;
      flex-shrink: 0;
      border-radius: 50%;
      background: #E0A23B;
    }
    .bd-remoto-visor[data-estado='conectado_ver'] .bd-remoto-visor__punto,
    .bd-remoto-visor[data-estado='conectado_control'] .bd-remoto-visor__punto {
      background: var(--ok, #1E8E4E);
    }
    .bd-remoto-visor[data-estado='rechazada'] .bd-remoto-visor__punto,
    .bd-remoto-visor[data-estado='caducada'] .bd-remoto-visor__punto,
    .bd-remoto-visor[data-estado='error'] .bd-remoto-visor__punto {
      background: var(--barveo-palette-01, #C8463D);
    }
    .bd-remoto-visor .bardev-modal-close {
      margin-left: auto;
    }
    .bd-remoto-barra {
      display: flex;
      align-items: center;
      flex-wrap: nowrap;
      gap: 4px;
      min-width: 0;
      margin-left: auto;
    }
    .bd-remoto-barra[hidden] {
      display: none;
    }
    .bd-remoto-barra__btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      height: 36px;
      padding: 0 10px;
      border-radius: 8px;
      border: 1px solid transparent;
      background: transparent;
      color: inherit;
      font: inherit;
      font-size: 0.82rem;
      font-weight: 600;
      cursor: pointer;
      white-space: nowrap;
    }
    .bd-remoto-barra__btn:hover:not(:disabled) {
      background: rgba(255, 255, 255, 0.1);
    }
    .bd-remoto-barra__btn[aria-pressed='true'] {
      background: rgba(255, 255, 255, 0.16);
      border-color: rgba(255, 255, 255, 0.35);
    }
    .bd-remoto-barra__btn:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }
    .bd-remoto-barra__btn:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 1px;
    }
    .bd-remoto-barra__btn--fin {
      background: var(--barveo-palette-01, #C8463D);
      color: var(--barveo-on-01, #FFFFFF);
    }
    .bd-remoto-barra__btn--fin:hover:not(:disabled) {
      background: var(--barveo-palette-01, #C8463D);
      filter: brightness(1.12);
    }
    .bd-remoto-barra__grupo {
      position: relative;
      display: inline-flex;
    }
    .bd-remoto-teclas {
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      z-index: 2;
      display: flex;
      flex-direction: column;
      min-width: 200px;
      padding: 6px;
      border-radius: 10px;
      background: var(--c-blanco, #FFFFFF);
      color: var(--barveo-palette-05, #26313A);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
    }
    .bd-remoto-teclas[hidden] {
      display: none;
    }
    .bd-remoto-teclas button {
      text-align: left;
      padding: 8px 10px;
      border: 0;
      border-radius: 6px;
      background: transparent;
      color: inherit;
      font: inherit;
      font-size: 0.85rem;
      cursor: pointer;
    }
    .bd-remoto-teclas button:hover,
    .bd-remoto-teclas button:focus-visible {
      background: var(--barveo-palette-02, #F7E3E1);
    }
    .bd-remoto-barra__estado {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 0 10px;
      height: 36px;
      font-size: 0.78rem;
      font-variant-numeric: tabular-nums;
      opacity: 0.9;
      white-space: nowrap;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .bd-remoto-barra__estado [data-remoto-estado-texto] {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .bd-remoto-barra__luz {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #E0A23B;
    }
    .bd-remoto-visor[data-estado='conectado_ver'] .bd-remoto-barra__luz,
    .bd-remoto-visor[data-estado='conectado_control'] .bd-remoto-barra__luz {
      background: var(--ok, #1E8E4E);
    }
    .bd-remoto-visor__escena {
      position: relative;
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .bd-remoto-visor__escena[data-ajuste='real'] {
      overflow: auto;
      align-items: flex-start;
      justify-content: flex-start;
    }
    .bd-remoto-visor__canvas {
      display: block;
      /* El tamaño en pantalla lo fija panel-dev-remoto.js (ajustarCanvas): en «Ajustar» llena la escena sin
         deformar; en «100 %», los píxeles reales. Sin él, max-width 100% solo encogía y nunca ampliaba. */
      max-width: 100%;
      max-height: 100%;
      background: #000000;
      box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
    }
    .bd-remoto-visor__escena[data-ajuste='ajustar'] .bd-remoto-visor__canvas {
      max-width: none;
      max-height: none;
    }
    .bd-remoto-visor__canvas[hidden] {
      display: none;
    }
    .bd-remoto-visor__escena[data-ajuste='real'] .bd-remoto-visor__canvas {
      max-width: none;
      max-height: none;
    }
    .bd-remoto-visor[data-modo='control'] .bd-remoto-visor__canvas {
      cursor: crosshair;
    }
    /* Recibe el teclado sin verse (acentos e IME llegan como texto). */
    .bd-remoto-visor__teclado {
      position: absolute;
      left: -9999px;
      top: 0;
      width: 1px;
      height: 1px;
      opacity: 0;
    }
    .bd-remoto-visor__tarjeta {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: min(460px, calc(100vw - 32px));
      box-sizing: border-box;
      padding: 24px;
      border-radius: 14px;
      background: var(--c-blanco, #FFFFFF);
      color: var(--barveo-palette-05, #26313A);
      text-align: center;
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
    }
    .bd-remoto-visor__tarjeta[hidden],
    .bd-remoto-visor__tarjeta:empty {
      display: none;
    }
    .bd-remoto-tarjeta__titulo {
      margin: 0 0 10px;
      font-size: 1rem;
      font-weight: 700;
    }
    .bd-remoto-tarjeta__codigo {
      margin: 8px 0 12px;
      font-size: 2.6rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      font-variant-numeric: tabular-nums;
    }
    .bd-remoto-tarjeta__nota {
      margin: 0 0 16px;
      font-size: 0.88rem;
      line-height: 1.45;
    }
    .bd-remoto-tarjeta__acciones {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 8px;
    }
    .bd-remoto-tarjeta__btn {
      padding: 8px 16px;
      border-radius: 8px;
      border: 1px solid var(--barveo-palette-05, #26313A);
      background: var(--barveo-palette-05, #26313A);
      color: var(--barveo-on-05, #F4F2ED);
      font: inherit;
      font-size: 0.88rem;
      font-weight: 700;
      cursor: pointer;
    }
    .bd-remoto-tarjeta__btn--sec {
      background: transparent;
      color: var(--barveo-palette-05, #26313A);
    }
    .bd-remoto-visor__sr {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }
    @media (max-width: 1180px) {
      .bd-remoto-barra__btn span[data-remoto-texto] {
        display: none;
      }
    }
    /* Developer › Asistencia técnica › Sesiones remotas (la cabecera y los chips son los de la página, zona 43). */
    .bd-remoto-sesiones {
      margin: 26px 0 0;
    }
    .bd-remoto-sesiones > .sub {
      margin: 0 0 10px;
    }
    .bd-remoto-sesiones__tabla td {
      white-space: nowrap;
    }
    /*
     * Bajas médicas (Equipo › ficha del empleado, panel-equipo-bajas.js): lista de bajas con sus justificantes,
     * ventana de alta/edición y ventana «Avisar a los clientes» con la selección de citas y la propuesta de un
     * compañero. Tokens del tema con respaldo en Barveo Original; sin verdes pastel (estado «en curso» con el acento).
     */
    .bajas-lead {
      margin: 0 0 12px;
      font-size: 0.78rem;
      line-height: 1.4;
    }
    .bajas-lista {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .bajas-item {
      padding: 12px 14px;
      border: 1px solid var(--bv-border, #dadcde);
      border-radius: 14px;
      background: var(--bv-surface, #ffffff);
    }
    .bajas-item__head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 10px;
    }
    .bajas-item__fechas {
      font-weight: 800;
      font-size: 0.9rem;
      color: var(--bv-text, #26313a);
    }
    .bajas-item__dias {
      font-size: 0.78rem;
      color: var(--bv-text-secondary, #6b7280);
    }
    .bajas-pill {
      padding: 2px 9px;
      border-radius: 999px;
      font-size: 0.66rem;
      font-weight: 700;
      border: 1px solid var(--bv-border, #dadcde);
      color: var(--bv-text, #26313a);
      background: var(--bv-surface-raised, #f6f7f8);
    }
    .bajas-pill--curso {
      border-color: color-mix(in srgb, var(--bv-primary, #c8102e) 45%, transparent);
      background: color-mix(in srgb, var(--bv-primary, #c8102e) 10%, var(--bv-surface, #ffffff));
      color: var(--bv-primary, #c8102e);
    }
    .bajas-pill--proxima {
      border-color: color-mix(in srgb, var(--bv-info, #2563eb) 40%, transparent);
      background: color-mix(in srgb, var(--bv-info, #2563eb) 10%, var(--bv-surface, #ffffff));
      color: var(--bv-info, #2563eb);
    }
    .bajas-pill--fin {
      color: var(--bv-text-secondary, #6b7280);
    }
    .bajas-pill--staff {
      font-weight: 600;
    }
    .bajas-pill--abierta {
      border-style: dashed;
      font-weight: 600;
    }
    .bajas-item__notas,
    .bajas-item__aviso,
    .bajas-item__abierta {
      margin: 8px 0 0;
      font-size: 0.78rem;
      line-height: 1.4;
      white-space: pre-line;
    }
    .bajas-docs {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: 10px 0 0;
    }
    .bajas-docs__vacio {
      font-size: 0.76rem;
    }
    .bajas-doc {
      display: inline-flex;
      align-items: stretch;
      border: 1px solid var(--bv-border, #dadcde);
      border-radius: 999px;
      overflow: hidden;
      background: var(--bv-surface-raised, #f6f7f8);
    }
    .bajas-doc__ver,
    .bajas-doc__quitar {
      border: 0;
      background: transparent;
      color: var(--bv-text, #26313a);
      font: inherit;
      font-size: 0.76rem;
      cursor: pointer;
    }
    .bajas-doc__ver {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      max-width: 240px;
      padding: 4px 10px;
    }
    .bajas-doc__ver span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .bajas-doc__quitar {
      padding: 0 9px;
      font-size: 1rem;
      line-height: 1;
      border-left: 1px solid var(--bv-border, #dadcde);
    }
    .bajas-doc__ver:hover,
    .bajas-doc__quitar:hover {
      background: color-mix(in srgb, var(--bv-primary, #c8102e) 8%, transparent);
    }
    .bajas-item__acciones {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
      margin: 12px 0 0;
    }
    /* Botones de una misma fila a la misma altura: 07-landing.css da margin-top: 10px al secundario
       (titular, 24-10-2026: «los botones se ven uno más alto y otro más bajo»). */
    .bajas-item__acciones .btn {
      width: auto;
      margin: 0;
    }
    .bajas-btn-borrar {
      color: var(--bv-danger, #b91c1c);
    }

    /* Ventanas */
    .bajas-panel {
      width: var(--bd-modal-w, min(560px, calc(100vw - 32px)));
      max-width: var(--bd-modal-w, min(560px, calc(100vw - 32px)));
      max-height: min(92vh, 860px);
      display: flex;
      flex-direction: column;
      background: var(--bv-surface, #ffffff);
      color: var(--bv-text, #26313a);
      border-radius: var(--bd-radius-lg, 16px);
      box-shadow: var(--bd-shadow-md, 0 16px 40px rgba(15, 23, 42, 0.12));
    }
    .bajas-panel--ancho {
      width: min(860px, calc(100vw - 32px));
      max-width: min(860px, calc(100vw - 32px));
    }
    .bajas-panel__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 16px 8px 20px;
    }
    .bajas-panel__head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
    }
    .bajas-panel__head .sub {
      margin: 4px 0 0;
      font-size: 0.8rem;
    }
    .bajas-panel__body {
      flex: 1 1 auto;
      overflow: auto;
      padding: 8px 20px 12px;
    }
    .bajas-panel__body .bd-label {
      display: block;
      margin: 12px 0 4px;
    }
    .bajas-panel__body input[type='text'],
    .bajas-panel__body input[type='date'],
    .bajas-panel__body input[type='number'],
    .bajas-panel__body textarea,
    .bajas-av-alt {
      width: 100%;
      box-sizing: border-box;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid var(--bv-border, #dadcde);
      background: var(--bv-surface, #ffffff);
      color: var(--bv-text, #26313a);
      font: inherit;
      font-size: 0.86rem;
    }
    .bajas-panel__body textarea {
      resize: vertical;
      line-height: 1.45;
    }
    .bajas-panel__foot {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      padding: 12px 20px 16px;
      border-top: 1px solid var(--bv-border, #dadcde);
    }
    .bajas-panel__foot .btn {
      width: auto;
      margin: 0;
    }
    .bajas-panel__foot.hidden {
      display: none;
    }
    .bajas-fechas {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: 8px 12px;
    }
    .bajas-fechas .bd-label {
      margin: 0;
    }
    /* Fin de la baja: fecha fija, estimada en días o indefinida (titular, 27-10-2026). */
    .bajas-fin {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 16px;
      font-size: 0.86rem;
      font-weight: 600;
    }
    .bajas-fin label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
      text-transform: none;
      letter-spacing: normal;
    }
    .bajas-nota {
      margin: 6px 0 0;
      font-size: 0.74rem;
      line-height: 1.4;
    }
    #bajas-av-restaurar {
      width: auto;
      margin: 10px 0 0;
    }

    /* Avisar a los clientes */
    .bajas-av-canales {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 18px;
      font-size: 0.88rem;
      font-weight: 600;
    }
    .bajas-av-canales label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
    }
    .bajas-av-cab {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 12px;
      margin: 18px 0 8px;
      padding-top: 12px;
      border-top: 1px solid var(--bv-border, #dadcde);
    }
    .bajas-av-cab__btns {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-left: auto;
    }
    .bajas-av-cab__btns .btn {
      width: auto;
      margin: 0;
    }
    .bajas-av-lista {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .bajas-av-fila {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) auto minmax(0, 1fr);
      align-items: center;
      gap: 8px 14px;
      padding: 10px 12px;
      border: 1px solid var(--bv-border, #dadcde);
      border-radius: 12px;
      background: var(--bv-surface, #ffffff);
    }
    .bajas-av-fila.is-off {
      opacity: 0.55;
    }
    .bajas-av-fila__sel {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      cursor: pointer;
    }
    .bajas-av-fila__cliente {
      display: flex;
      flex-direction: column;
      min-width: 0;
      font-size: 0.86rem;
    }
    .bajas-av-fila__cliente .sub {
      font-size: 0.76rem;
    }
    .bajas-av-fila__contacto {
      display: inline-flex;
      gap: 4px;
    }
    .bajas-av-fila__alt {
      display: flex;
      flex-direction: column;
      gap: 3px;
      min-width: 0;
    }
    .bajas-av-fila__alt .sub {
      font-size: 0.68rem;
    }
    .bajas-chip {
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 0.66rem;
      font-weight: 700;
      border: 1px solid var(--bv-border, #dadcde);
      background: var(--bv-surface-raised, #f6f7f8);
      white-space: nowrap;
    }
    .bajas-chip--sin {
      color: var(--bv-danger, #b91c1c);
      border-color: color-mix(in srgb, var(--bv-danger, #b91c1c) 35%, transparent);
    }
    .bajas-av-resultado {
      padding: 12px 14px;
      border-radius: 12px;
      background: color-mix(in srgb, var(--bv-primary, #c8102e) 8%, var(--bv-surface, #ffffff));
      font-size: 0.88rem;
      line-height: 1.45;
    }
    .bajas-av-resultado p {
      margin: 0 0 6px;
    }
    @media (max-width: 720px) {
      .bajas-av-fila {
        grid-template-columns: 1fr;
      }
      .bajas-av-cab__btns {
        margin-left: 0;
      }
    }
    /* En la ficha la tarjeta crece con sus bajas (las demás pestañas recortan a 320 px con scroll). */
    [data-equipo-panel='bajas'] .equipo-sub-card__body {
      max-height: none;
    }
    /* Las etiquetas del panel van en versalitas; aquí envuelven nombres y opciones, no títulos de campo. */
    .bajas-av-canales label,
    .bajas-av-fila .bajas-av-fila__sel {
      text-transform: none;
      letter-spacing: normal;
    }
    /*
     * Bajas definitivas (Equipo, panel-equipo-salidas.js): cápsula «Baja el …» en la ficha de quien aún no se ha ido y
     * lista de «Antiguos empleados» (reutiliza las tarjetas y ventanas de las bajas médicas).
     */
    .equipo-salida-aviso {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 10px;
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--bv-info, #2563eb) 35%, transparent);
      background: color-mix(in srgb, var(--bv-info, #2563eb) 8%, var(--bv-surface, #ffffff));
    }
    .equipo-salida-aviso__badge {
      padding: 3px 9px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 800;
      color: var(--bv-info, #2563eb);
      border: 1px solid color-mix(in srgb, var(--bv-info, #2563eb) 40%, transparent);
      background: var(--bv-surface, #ffffff);
    }
    .equipo-salida-aviso__hint {
      flex: 1 1 180px;
      font-size: 0.78rem;
      line-height: 1.35;
      color: var(--bv-text-secondary, #6b7280);
    }
    .equipo-salida-aviso__btn {
      width: auto;
      margin: 0;
      height: 32px !important;
      min-height: 32px !important;
      padding: 0 12px !important;
      font-size: 0.78rem !important;
    }
    .salidas-item__avatar {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
    }
    .salidas-item__avatar--ph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.8rem;
      font-weight: 800;
      color: var(--bv-text, #26313a);
      background: var(--bv-surface-raised, #f6f7f8);
      border: 1px solid var(--bv-border, #dadcde);
    }
    #salidas-citas.salidas-ojo {
      color: var(--bv-danger, #b91c1c);
      font-weight: 600;
    }
    /* Baja por la gestoría (pestaña Laboral, titular 27-10-2026): aviso y documento de baja de la gestoría. */
    .salidas-gestoria-nota {
      margin: 0 0 10px;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid color-mix(in srgb, var(--bv-info, #2563eb) 35%, transparent);
      background: color-mix(in srgb, var(--bv-info, #2563eb) 8%, var(--bv-surface, #ffffff));
      color: var(--bv-text, #26313a);
    }
    .salidas-doc input[type='file'] {
      width: 100%;
      box-sizing: border-box;
      font-size: 0.82rem;
    }
    .salidas-doc__ver {
      width: auto;
      margin: 0 0 0 6px;
      height: 28px !important;
      min-height: 28px !important;
      padding: 0 10px !important;
      font-size: 0.74rem !important;
    }

    /* Uso interno (FAB de la Agenda, panel-uso-interno.js): ventana con los productos que coge la barbería.
       Misma estructura que el modal de Inventario: cabecera y pie fijos, cuerpo con scroll. */
    #uso-int-modal.bardev-modal-overlay > .uso-int-panel,
    #uso-int-modal.bardev-modal-overlay > .bardev-modal-scale-wrap > .uso-int-panel {
      display: flex;
      flex-direction: column;
      padding: 0 !important;
      overflow: hidden;
      width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-width: var(--bardev-agenda-detail-w, var(--bd-modal-w, min(600px, calc(100vw - 32px)))) !important;
      max-height: var(
        --bardev-modal-content-cap,
        calc((100dvh - 30px) * 0.8 / var(--bardev-panel-scale, 1))
      ) !important;
      box-sizing: border-box;
    }
    #uso-int-modal .uso-int-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid rgba(148, 163, 184, 0.28);
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.12);
      flex-shrink: 0;
    }
    #uso-int-modal .uso-int-head h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--text, #e2e8f0);
    }
    #uso-int-modal .uso-int-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 12px 16px 16px;
      box-sizing: border-box;
    }
    #uso-int-modal .uso-int-foot {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 12px 16px 14px;
      border-top: 1px solid rgba(148, 163, 184, 0.28);
      background: var(--card, #0d1a14);
    }
    #uso-int-modal .uso-int-foot .msg:empty {
      display: none;
    }
    #uso-int-modal .uso-int-resumen {
      margin: 0;
      font-size: 0.86rem;
      font-weight: 600;
      text-align: center;
    }
    #uso-int-modal .uso-int-foot .bd-btn--row {
      width: 100%;
      min-height: var(--bd-cta-h, 54px);
    }
    #uso-int-modal .uso-int-foot .bd-btn--row:disabled {
      opacity: 0.5;
      cursor: default;
    }

    /* Grupos («Solo uso interno» / «Productos a la venta») */
    .uso-int-grupo + .uso-int-grupo,
    .uso-int-grupo + .uso-int-cat--historial {
      margin-top: 18px;
    }
    .uso-int-grupo__titulo {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 4px 10px;
      margin: 0 0 8px;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .uso-int-grupo__nota {
      font-size: 0.74rem;
      font-weight: 500;
      letter-spacing: 0;
      text-transform: none;
      opacity: 0.7;
    }

    /* Categorías plegables: solo una abierta */
    .uso-int-cat {
      border: 1px solid rgba(148, 163, 184, 0.35);
      border-radius: 14px;
      margin: 0 0 8px;
      overflow: hidden;
    }
    .uso-int-cat__cab {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 52px;
      padding: 8px 14px;
      border: 0;
      background: transparent;
      color: inherit;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 700;
      text-align: left;
      cursor: pointer;
    }
    .uso-int-cat__ico {
      display: inline-flex;
      color: var(--bd-g-600, #047857);
    }
    .uso-int-cat__nombre {
      flex: 1 1 auto;
      min-width: 0;
    }
    .uso-int-cat__cuenta {
      font-size: 0.78rem;
      font-weight: 700;
      padding: 2px 9px;
      border-radius: 999px;
      background: rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.15);
    }
    .uso-int-cat__flecha {
      width: 9px;
      height: 9px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: rotate(45deg);
      margin: -4px 4px 0 2px;
      opacity: 0.6;
      transition: transform 0.15s ease;
    }
    .uso-int-cat--abierta > .uso-int-cat__cab .uso-int-cat__flecha {
      transform: rotate(-135deg);
      margin-top: 4px;
    }
    .uso-int-cat__cuerpo {
      padding: 4px 12px 12px;
    }

    /* Productos: botones grandes con foto; cada pulsación coge una unidad */
    .uso-int-rejilla {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
      gap: 10px;
    }
    .uso-int-prod {
      position: relative;
    }
    .uso-int-prod__mas {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      width: 100%;
      min-height: 168px;
      padding: 10px 8px 10px;
      border: 2px solid rgba(148, 163, 184, 0.35);
      border-radius: 16px;
      background: var(--card, #0d1a14);
      color: inherit;
      font: inherit;
      cursor: pointer;
      text-align: center;
      touch-action: manipulation;
    }
    .uso-int-prod__foto {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 84px;
      height: 84px;
      border-radius: 12px;
      overflow: hidden;
      background: rgba(148, 163, 184, 0.12);
      color: var(--bd-g-600, #047857);
      flex-shrink: 0;
    }
    .uso-int-prod__foto img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .uso-int-prod__nombre {
      font-size: 0.86rem;
      font-weight: 700;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .uso-int-prod__datos {
      font-size: 0.72rem;
      opacity: 0.72;
    }
    .uso-int-prod--sel .uso-int-prod__mas {
      border-color: var(--bd-g-600, #047857);
      box-shadow: 0 0 0 2px rgba(var(--bv-g-rgb-047857, 4, 120, 87), 0.18);
    }
    .uso-int-prod--falta .uso-int-prod__datos {
      color: var(--bd-danger-600, #b91c1c);
      opacity: 1;
      font-weight: 700;
    }
    .uso-int-prod__uds {
      position: absolute;
      top: -8px;
      right: -6px;
      min-width: 34px;
      height: 34px;
      padding: 0 8px;
      border-radius: 999px;
      background: var(--bd-g-600, #047857);
      color: var(--bd-on-solid, #fff);
      font-size: 1.05rem;
      font-weight: 800;
      line-height: 34px;
      text-align: center;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.25);
      pointer-events: none;
    }
    .uso-int-prod__menos {
      position: absolute;
      top: -8px;
      left: -6px;
      width: 34px;
      height: 34px;
      border-radius: 999px;
      border: 1px solid var(--bd-n-200, #dce3df);
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      font-size: 1.3rem;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
    }

    /* Registrado este mes */
    .uso-int-hist__total {
      margin: 0 0 8px;
      font-weight: 700;
      font-size: 0.86rem;
    }
    .uso-int-hist {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .uso-int-hist li {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 2px 10px;
      padding: 7px 0;
      border-top: 1px solid rgba(148, 163, 184, 0.22);
      font-size: 0.82rem;
    }
    .uso-int-hist__cuando,
    .uso-int-hist__quien {
      opacity: 0.7;
      white-space: nowrap;
    }
    .uso-int-hist__coste {
      font-weight: 700;
      white-space: nowrap;
    }
    .uso-int-hist__quien {
      grid-column: 2 / 4;
      font-size: 0.74rem;
    }
    .uso-int-aviso {
      color: var(--bd-danger-600, #b91c1c);
    }

    html.bardev-panel-theme-light #uso-int-modal .uso-int-panel {
      background: var(--bd-n-0, #fff);
      color: var(--bd-ink, #0f1f17);
      border: 1px solid var(--bd-n-200, #dce3df);
      border-radius: var(--bd-radius-xl, 22px);
      box-shadow: var(--bd-shadow-xl, 0 20px 60px rgba(15, 23, 42, 0.18));
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-head {
      border-bottom-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-100, var(--bv-g-e8f5ef, #e8f5ef));
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-head h3,
    html.bardev-panel-theme-light #uso-int-modal .uso-int-body {
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-body,
    html.bardev-panel-theme-light #uso-int-modal .uso-int-foot,
    html.bardev-panel-theme-light #uso-int-modal .uso-int-prod__mas {
      background: var(--bd-n-0, #fff);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-foot {
      border-top-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-cat,
    html.bardev-panel-theme-light #uso-int-modal .uso-int-prod__mas {
      border-color: var(--bd-n-200, #dce3df);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-cat--abierta {
      border-color: var(--bv-g-c5ddd0, #c5ddd0);
      background: var(--bd-g-50, #f3faf6);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-cat__cuenta {
      background: var(--bd-g-100, #e8f5ef);
      color: var(--bd-g-800, #114830);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-prod--sel .uso-int-prod__mas {
      border-color: var(--bd-g-600, #047857);
      background: var(--bd-g-50, #f3faf6);
    }
    @media (max-width: 480px) {
      .uso-int-rejilla {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    /* Buscador de Uso interno: fijo bajo el título, fuera del cuerpo con scroll. */
    #uso-int-modal .uso-int-buscar {
      position: relative;
      flex-shrink: 0;
      padding: 10px 16px 0;
    }
    #uso-int-modal .uso-int-buscar__ico {
      position: absolute;
      left: 28px;
      top: 32px; /* 10px de arriba + la mitad de los 44px del campo */
      transform: translateY(-50%);
      opacity: 0.6;
      pointer-events: none;
    }
    #uso-int-modal .uso-int-buscar input[type='search'] {
      width: 100%;
      min-height: 44px;
      padding: 10px 12px 10px 40px;
      border-radius: 12px;
      border: 1px solid var(--border, rgba(148, 163, 184, 0.35));
      background: rgba(0, 0, 0, 0.25);
      color: var(--text, #e2e8f0);
      font-size: 1rem;
      box-sizing: border-box;
    }
    #uso-int-modal .uso-int-buscar input[type='search']:focus {
      outline: none;
      border-color: var(--bd-g-600, #047857);
      box-shadow: 0 0 0 3px rgba(var(--bv-g-rgb-10b981, 16, 185, 129), 0.2);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-buscar {
      background: var(--bd-n-0, #fff);
    }
    html.bardev-panel-theme-light #uso-int-modal .uso-int-buscar input[type='search'] {
      background: var(--bd-n-0, #fff);
      border-color: var(--bd-n-200, #dce3df);
      color: var(--bd-ink, #0f1f17);
    }
    /* Columna «Gasto/sem.» de la tabla de Inventario (panel-predicciones.js `pintarGasto`) y su explicación. */
    #inventario-wrap .inv-gasto-th {
      white-space: nowrap;
      cursor: help;
    }
    #inventario-wrap .inv-gasto-i {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 12px;
      height: 12px;
      margin-left: 3px;
      border: 1px solid currentColor;
      border-radius: 50%;
      font-size: 8px;
      font-style: normal;
      font-weight: 700;
      text-transform: none;
      vertical-align: 1px;
    }
    #inventario-wrap .inv-gasto {
      white-space: nowrap;
    }
    .inv-gasto-tip {
      position: fixed;
      z-index: 10050;
      width: min(260px, calc(100vw - 16px));
      padding: 9px 11px;
      border-radius: 8px;
      background: #1e293b;
      color: #fff;
      font-size: 0.74rem;
      font-weight: 400;
      line-height: 1.4;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
      pointer-events: none;
    }
    .inv-gasto-tip strong {
      display: block;
      margin-bottom: 2px;
    }
    /* Avisos de pedido (panel-predicciones.js): tarjeta «Avisos de pedido» de Inventario y franja de la Agenda. */
    .inv-pred:empty {
      display: none;
    }
    .inv-pred {
      margin: 12px 0 14px;
      padding: 12px 14px;
      border: 1px solid rgba(148, 163, 184, 0.28);
      border-radius: 12px;
      background: var(--card, #0d1a14);
    }
    .inv-pred__head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 8px;
    }
    .inv-pred__titulo {
      margin: 0;
      font-size: 1rem;
      font-weight: 800;
    }
    .inv-pred__resumen {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--muted, #94a3b8);
    }
    .inv-pred__lista {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .inv-pred__item {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      padding: 10px 12px;
      border-radius: 10px;
      border-left: 4px solid var(--bd-amber-500, #f59e0b);
      background: rgba(245, 158, 11, 0.08);
    }
    .inv-pred__item--hoy {
      border-left-color: var(--bd-red-500, #ef4444);
      background: rgba(239, 68, 68, 0.08);
    }
    .inv-pred__img {
      width: 52px;
      height: 52px;
      flex-shrink: 0;
      border-radius: 8px;
      object-fit: cover;
      background: rgba(148, 163, 184, 0.16);
    }
    .inv-pred__texto {
      min-width: 0;
      flex: 1 1 auto;
    }
    .inv-pred__cab {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .inv-pred__nivel,
    .inv-pred__tipo {
      font-size: 0.72rem;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 999px;
      background: var(--bd-amber-500, #f59e0b);
      color: #1f1300;
    }
    .inv-pred__nivel--hoy {
      background: var(--bd-red-500, #ef4444);
      color: #fff;
    }
    .inv-pred__tipo {
      background: rgba(148, 163, 184, 0.22);
      color: inherit;
    }
    .inv-pred__frase,
    .inv-pred__detalle,
    .inv-pred__desconocido {
      margin: 6px 0 0;
      font-size: 0.86rem;
      line-height: 1.45;
    }
    .inv-pred__detalle,
    .inv-pred__desconocido {
      color: var(--muted, #94a3b8);
    }
    .inv-pred__desconocido a {
      font-weight: 700;
      white-space: nowrap;
      color: var(--accent, #10b981);
    }
    .inv-pred__error {
      margin: 0;
      color: var(--bd-red-500, #ef4444);
      font-weight: 600;
    }
    .inv-pred__vacio {
      margin: 0;
    }
    .inv-pred__mas {
      margin-top: 10px;
    }
    /* Lo ya pedido y sin recibir que basta: no es aviso, solo una línea en verde (titular, 31-10). */
    .inv-pred__en-camino {
      margin: 10px 0 0;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--ok, #10b981);
    }
    .inv-pred__vacio + .inv-pred__en-camino {
      margin-top: 6px;
    }
    html.bardev-panel-theme-light .inv-pred__en-camino {
      color: var(--bv-g-047857, #047857);
    }
    .inv-pred__ultimo {
      display: flex;
      align-items: center;
      gap: 6px 10px;
      flex-wrap: wrap;
    }
    .inv-pred__ultimo .inv-pred__detalle {
      flex: 0 1 auto;
    }
    .inv-pred__repetir {
      flex-shrink: 0;
      width: auto;
      margin: 6px 0 0;
      padding: 3px 10px;
      min-height: 0;
      font-size: 0.76rem;
      font-weight: 700;
      line-height: 1.4;
      border-radius: 999px;
    }
    .inv-pred__recomienda {
      margin: 4px 0 0;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--ok, #10b981);
    }
    html.bardev-panel-theme-light .inv-pred__recomienda {
      color: var(--bv-g-047857, #047857);
    }
    .inv-pred__en-carrito {
      flex-shrink: 0;
      margin: 6px 0 0;
      padding: 3px 10px;
      border-radius: 999px;
      font-size: 0.76rem;
      font-weight: 700;
      line-height: 1.4;
      background: rgba(16, 185, 129, 0.16);
      color: var(--ok, #10b981);
    }
    html.bardev-panel-theme-light .inv-pred__en-carrito {
      color: var(--bv-g-047857, #047857);
    }
    .inv-pred__repetir:disabled {
      opacity: 0.6;
      cursor: progress;
    }
    .agenda-pedidos-aviso {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 10px;
      padding: 8px 12px;
      border-radius: 10px;
      border: 1px solid rgba(239, 68, 68, 0.45);
      background: rgba(239, 68, 68, 0.1);
      font-size: 0.88rem;
      font-weight: 600;
    }
    .agenda-pedidos-aviso.hidden {
      display: none;
    }
    .agenda-pedidos-aviso__ico {
      width: 22px;
      height: 22px;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: var(--bd-red-500, #ef4444);
      color: #fff;
      font-weight: 900;
    }
    .agenda-pedidos-aviso__texto {
      flex: 1 1 auto;
      min-width: 0;
    }
    .agenda-pedidos-aviso__btn {
      flex-shrink: 0;
      width: auto;
      margin: 0;
      padding: 6px 12px;
      font-size: 0.82rem;
    }
    @media (max-width: 480px) {
      .inv-pred__item {
        gap: 10px;
        padding: 10px;
      }
      .inv-pred__img {
        width: 40px;
        height: 40px;
      }
      .agenda-pedidos-aviso {
        flex-wrap: wrap;
      }
      .agenda-pedidos-aviso__texto {
        flex-basis: calc(100% - 40px);
      }
      .agenda-pedidos-aviso__btn {
        width: 100%;
      }
    }
    html.bardev-panel-theme-light .inv-pred {
      background: #fff;
      border-color: rgba(15, 23, 42, 0.12);
    }
    html.bardev-panel-theme-light .inv-pred__detalle,
    html.bardev-panel-theme-light .inv-pred__desconocido,
    html.bardev-panel-theme-light .inv-pred__resumen {
      color: #475569;
    }

    /* Alert al añadir unidades al carrito de un proveedor (js/panel-predicciones.js). */
    .agenda-modal-panel.inv-pd {
      max-width: 520px;
      width: min(520px, calc(100vw - 32px));
    }
    .inv-pd__body {
      line-height: 1.5;
    }
    .inv-pd__parrafo {
      margin: 0 0 10px;
    }
    .inv-pd__parrafo--atencion {
      color: var(--bv-danger, #dc2626);
    }
    .inv-pd__parrafo--atencion .inv-pd__atencion-tit {
      text-transform: uppercase;
    }
    /* Productos bajo mínimos (panel-bajo-minimos.js): ventana del botón «Ver» de la franja de Inventario. */
    .agenda-modal-panel.inv-bm {
      max-width: 760px;
      width: min(760px, calc(100vw - 32px));
      max-height: calc(100vh - 48px);
      display: flex;
      flex-direction: column;
    }
    .inv-bm__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 8px;
    }
    .inv-bm__body {
      overflow-y: auto;
      min-height: 0;
      flex: 1 1 auto;
    }
    .inv-bm__intro {
      margin: 0 0 10px;
      line-height: 1.45;
    }
    .inv-bm__pie {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: flex-end;
      margin-top: 12px;
    }
    .inv-bm__lista,
    .inv-bm__ofertas {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .inv-bm__item {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      padding: 10px 12px;
      border-radius: 10px;
      border-left: 4px solid var(--bd-red-500, #ef4444);
      background: rgba(239, 68, 68, 0.06);
    }
    .inv-bm__img {
      width: 52px;
      height: 52px;
      flex-shrink: 0;
      border-radius: 8px;
      object-fit: cover;
      background: rgba(148, 163, 184, 0.16);
    }
    .inv-bm__texto {
      min-width: 0;
      flex: 1 1 auto;
    }
    .inv-bm__cab {
      font-size: 0.95rem;
    }
    .inv-bm__stock {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 16px;
      margin: 4px 0 8px;
      font-size: 0.84rem;
      color: var(--muted, #94a3b8);
    }
    .inv-bm__num {
      color: var(--text, inherit);
      font-size: 0.95rem;
    }
    .inv-bm__num--bajo {
      color: var(--bv-danger, #dc2626);
    }
    .inv-bm__oferta {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 4px 12px;
      align-items: center;
      padding: 8px 10px;
      border: 1px solid var(--border, rgba(148, 163, 184, 0.28));
      border-radius: 10px;
      background: var(--card, transparent);
    }
    .inv-bm__oferta > .inv-bm__prov,
    .inv-bm__oferta > .inv-bm__aviso {
      grid-column: 1 / -1;
    }
    .inv-bm__oferta > .inv-bm__accion {
      grid-column: 2;
      grid-row: 2 / span 3;
    }
    .inv-bm__prov {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 8px;
      font-size: 0.88rem;
    }
    .inv-bm__sello,
    .inv-bm__encesta {
      font-size: 0.7rem;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 999px;
      background: var(--bd-red-500, #ef4444);
      color: #fff;
    }
    .inv-bm__sello--suyo {
      background: rgba(148, 163, 184, 0.22);
      color: inherit;
    }
    .inv-bm__encesta {
      background: rgba(52, 211, 153, 0.18);
      color: var(--ok, #34d399);
    }
    .inv-bm__precios {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 4px 8px;
    }
    .inv-bm__tuyo {
      font-size: 1.05rem;
      font-weight: 800;
    }
    .inv-bm__iva,
    .inv-bm__nota,
    .inv-bm__sinprecio {
      font-size: 0.76rem;
      color: var(--muted, #94a3b8);
    }
    .inv-bm__dto {
      font-size: 0.74rem;
      font-weight: 800;
      padding: 1px 7px;
      border-radius: 999px;
      background: var(--ok, #34d399);
      color: #fff;
    }
    /* Como Barveo Store (#1790): el PVP en rojo y debajo lo que se ahorra en verde, sin tachar nada. */
    .inv-bm__pvp {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--bv-danger, #dc2626);
    }
    .inv-bm__ahorro {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--ok, #34d399);
    }
    .inv-bm__accion {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .inv-bm__stepper .bd-stepper__inp {
      width: 56px;
    }
    .inv-bm__aviso,
    .inv-bm__error {
      margin: 6px 0;
      font-size: 0.84rem;
      line-height: 1.45;
    }
    .inv-bm__error {
      padding: 8px 10px;
      border-radius: 8px;
      background: rgba(239, 68, 68, 0.1);
      color: var(--err, #f87171);
    }
    html.bardev-panel-theme-light .inv-bm__error {
      color: var(--bv-danger, #b91c1c);
    }
    @media (max-width: 560px) {
      .inv-bm__oferta {
        grid-template-columns: minmax(0, 1fr);
      }
      .inv-bm__oferta > .inv-bm__accion {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
      }
      .inv-bm__img {
        display: none;
      }
    }
    /* Promocionar (panel-promociones.js) y Monedero de Barveo (panel-monedero.js): saldo, precio por clic, números y movimientos. */
    #inv-promo-modal.modal-overlay {
      z-index: 10050;
    }
    .agenda-modal-panel.inv-promo {
      max-width: 820px;
      width: min(820px, calc(100vw - 32px));
      max-height: calc(100vh - 48px);
      display: flex;
      flex-direction: column;
    }
    .inv-promo__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 8px;
    }
    .inv-promo__head h3 .bd-icono,
    .inv-promo-ficha__head .bd-icono {
      vertical-align: -0.12em;
    }
    .inv-promo__body {
      overflow-y: auto;
      min-height: 0;
      flex: 1 1 auto;
    }
    .inv-promo__pie {
      display: flex;
      justify-content: flex-end;
      margin-top: 12px;
    }
    .inv-promo__intro {
      margin: 0 0 12px;
      line-height: 1.45;
    }
    .inv-promo__monedero {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 14px;
      border-radius: 12px;
      background: rgba(148, 163, 184, 0.1);
      margin-bottom: 10px;
    }
    .inv-promo__monedero .msg,
    .inv-promo__monedero .about-hint {
      flex: 1 1 100%;
      margin: 0;
    }
    .inv-promo__saldo {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .inv-promo__saldo strong {
      font-size: 1.6rem;
      line-height: 1.1;
    }
    .inv-promo__recargas {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .inv-promo__planes {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 8px;
    }
    .inv-promo__plan {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid rgba(148, 163, 184, 0.3);
      font-size: 0.85rem;
    }
    .inv-promo__plan.is-suyo {
      border-color: var(--c-verde-500);
      background: rgba(34, 197, 94, 0.08);
    }
    .inv-promo__mejora {
      margin: 6px 0 0;
    }
    .inv-promo__producto {
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid rgba(148, 163, 184, 0.3);
    }
    .inv-promo__prod-head {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      gap: 10px;
    }
    .inv-promo__prod-head h4 {
      margin: 0 0 4px;
    }
    .inv-promo__sub {
      margin: 16px 0 8px;
    }
    .inv-promo__estado {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: 0.75rem;
      font-weight: 700;
      background: rgba(148, 163, 184, 0.18);
    }
    .inv-promo__estado.is-on {
      background: rgba(34, 197, 94, 0.16);
      color: var(--c-verde-600);
    }
    .inv-promo__estado.is-warn {
      background: rgba(239, 68, 68, 0.12);
      color: var(--c-rojo-500);
    }
    .inv-promo__numeros {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
      gap: 8px;
      margin: 10px 0 6px;
    }
    .inv-promo__numeros > div {
      padding: 8px 10px;
      border-radius: 10px;
      background: rgba(148, 163, 184, 0.1);
    }
    .inv-promo__numeros dt {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      opacity: 0.75;
    }
    .inv-promo__numeros dd {
      margin: 2px 0 0;
      font-size: 1.1rem;
      font-weight: 700;
    }
    .inv-promo__tabla-wrap {
      overflow-x: auto;
      max-height: 320px;
      overflow-y: auto;
    }
    .inv-promo__tabla {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.85rem;
    }
    .inv-promo__tabla th,
    .inv-promo__tabla td {
      padding: 6px 8px;
      text-align: left;
      border-bottom: 1px solid rgba(148, 163, 184, 0.2);
      white-space: nowrap;
    }
    .inv-promo__tabla .num {
      text-align: right;
    }
    /* Tabla «Artículos promocionados»: cabe sin scroll (el nombre del artículo se parte en líneas y las columnas son
       compactas) y, si aun así la pantalla es estrecha, «Ver» queda siempre visible a la derecha (titular, 1-11). */
    .inv-promo__tabla--campanas {
      table-layout: auto;
      font-size: 0.8rem;
    }
    .inv-promo__tabla--campanas th,
    .inv-promo__tabla--campanas td {
      padding: 6px 5px;
    }
    .inv-promo__tabla--campanas th {
      white-space: normal;
      font-size: 0.68rem;
      line-height: 1.15;
      vertical-align: bottom;
    }
    .inv-promo__tabla--campanas td:first-child {
      white-space: normal;
      min-width: 120px;
      overflow-wrap: anywhere;
    }
    .inv-promo__tabla--campanas th:last-child,
    .inv-promo__tabla--campanas td:last-child {
      position: sticky;
      right: 0;
      background: var(--c-blanco, #fff);
      box-shadow: -6px 0 6px -6px rgba(15, 23, 42, 0.25);
    }
    .inv-promo__tabla .inv-promo__total td {
      font-weight: 700;
      border-top: 2px solid rgba(148, 163, 184, 0.55);
      border-bottom: 0;
      background: rgba(148, 163, 184, 0.14);
    }
    .inv-promo__tabla--campanas .inv-promo__total td:last-child {
      background: #f0f2f6;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__tabla--campanas .inv-promo__total td:last-child {
      background: #313c4d;
    }
    .inv-promo__tabla--campanas .btn {
      padding: 4px 10px;
      min-height: 0;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__tabla--campanas th:last-child,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__tabla--campanas td:last-child {
      background: #1e293b;
    }
    /* Beneficio de la promoción: verde, solo cuando vendió y ganó más de lo que gastó. */
    .inv-promo__beneficio {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 10px 0;
      padding: 10px 14px;
      border-radius: 10px;
      border: 1px solid rgba(22, 163, 74, 0.5);
      background: rgba(22, 163, 74, 0.1);
    }
    .inv-promo__beneficio > div {
      margin: 0;
      padding: 0;
      min-height: 0;
    }
    .inv-promo__beneficio strong {
      display: block;
      font-size: 1rem;
      color: #15803d !important;
    }
    .inv-promo__beneficio .sub {
      display: block;
      margin: 2px 0 0;
      padding: 0;
      min-height: 0;
      font-size: 0.8rem;
      color: #166534 !important;
      opacity: 1;
    }
    .inv-promo__beneficio-ico {
      flex: none;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1;
      color: #15803d !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio {
      border-color: rgba(74, 222, 128, 0.6);
      background: rgba(74, 222, 128, 0.12);
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio strong,
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio-ico {
      color: #86efac !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__beneficio .sub {
      color: #bbf7d0 !important;
    }
    .inv-promo__si {
      color: var(--c-verde-600);
      font-weight: 700;
    }
    /* «Promocionar» siempre en azul (titular, 1-11): botón de arriba, cohete de cada fila, ficha y ventana.
       Con id delante para ganar a los colores de cada tema del panel. */
    #btn-inv-promo.btn,
    #inventario-wrap .btn.inv-promo-fila,
    #inv-promo-ficha .btn,
    #inv-promo-modal [data-promo-campana='activar'] {
      background: var(--c-azul-450) !important;
      border: 1px solid var(--c-azul-500) !important;
      color: var(--c-blanco) !important;
      box-shadow: 0 1px 3px rgba(29, 78, 216, 0.3);
    }
    #btn-inv-promo.btn:hover:not(:disabled),
    #inventario-wrap .btn.inv-promo-fila:hover:not(:disabled),
    #inv-promo-ficha .btn:hover:not(:disabled),
    #inv-promo-modal [data-promo-campana='activar']:hover:not(:disabled) {
      background: var(--c-azul-500) !important;
      border-color: var(--c-azul-600b) !important;
      color: var(--c-blanco) !important;
    }
    /* Los colores de los botones de icono de las tablas (temas claro y de color) llevan !important: el cohete también. */
    #inventario-wrap .btn.btn-icon.inv-promo-fila {
      background: var(--c-azul-450) !important;
      border-color: var(--c-azul-500) !important;
      color: var(--c-blanco);
    }
    #inventario-wrap .btn.btn-icon.inv-promo-fila:hover:not(:disabled) {
      background: var(--c-azul-500) !important;
      border-color: var(--c-azul-600b) !important;
    }
    #inventario-wrap .btn.btn-icon.inv-promo-fila.is-on {
      background: var(--c-azul-650) !important;
      border-color: var(--c-azul-650) !important;
    }
    /* El trazo del cohete en blanco: las reglas de iconos de tabla lo fuerzan con !important, así que aquí también. */
    #inventario-wrap .btn.inv-promo-fila svg,
    #inventario-wrap .btn.inv-promo-fila svg * {
      stroke: var(--c-blanco) !important;
    }
    /* Cohete de la fila con la promoción activa: azul más oscuro. */
    #inventario-wrap .btn.inv-promo-fila.is-on {
      background: var(--c-azul-650);
      border-color: var(--c-azul-650);
    }
    /* Brillo del botón «Promocionar» (titular, 1-11): un halo azul suave que respira; sin movimiento si el sistema lo pide. */
    #btn-inv-promo.btn,
    #inventario-wrap .btn.btn-icon.inv-promo-fila,
    #inv-promo-ficha .btn {
      box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.22), 0 0 12px rgba(37, 99, 235, 0.55);
      animation: inv-promo-brillo 2.6s ease-in-out infinite;
    }
    #inventario-wrap .btn.btn-icon.inv-promo-fila:hover:not(:disabled),
    #btn-inv-promo.btn:hover:not(:disabled) {
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3), 0 0 16px rgba(37, 99, 235, 0.75);
    }
    @keyframes inv-promo-brillo {
      0%, 100% { box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.22), 0 0 10px rgba(37, 99, 235, 0.45); }
      50% { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3), 0 0 16px rgba(37, 99, 235, 0.7); }
    }
    @media (prefers-reduced-motion: reduce) {
      #btn-inv-promo.btn,
      #inventario-wrap .btn.btn-icon.inv-promo-fila,
      #inv-promo-ficha .btn {
        animation: none;
      }
    }
    /* El cohete de la fila no va pegado al botón de su derecha. */
    #inventario-wrap .btn.btn-icon.inv-promo-fila {
      margin-right: 10px;
    }
    /* Etiqueta «Promocionado»: en la fila, la ficha y la ventana del artículo. */
    .inv-promo__marca {
      display: inline-block;
      padding: 2px 10px;
      border-radius: 999px;
      background: var(--c-azul-450);
      color: var(--c-blanco);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.02em;
      line-height: 1.5;
    }
    .inv-promo-info {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 12px;
      margin-top: 6px;
    }
    .inv-promo-info[hidden] {
      display: none;
    }
    .inv-promo-info__numeros {
      display: flex;
      flex-wrap: wrap;
      gap: 4px 14px;
      margin: 0;
    }
    .inv-promo-info__numeros > div {
      display: flex;
      gap: 4px;
      align-items: baseline;
    }
    .inv-promo-info__numeros dt {
      margin: 0;
      font-size: 0.7rem;
      font-weight: 600;
      opacity: 0.75;
    }
    .inv-promo-info__numeros dd {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 800;
    }
    /* La fila del artículo promocionado destaca con un borde azul a la izquierda y un fondo suave. */
    #inventario-wrap tr.inv-promocionado > td {
      background: color-mix(in srgb, var(--c-azul-450) 7%, transparent);
    }
    #inventario-wrap tr.inv-promocionado > td:first-child {
      box-shadow: inset 4px 0 0 var(--c-azul-450);
    }
    .inv-promo-ficha {
      margin-top: 12px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid rgba(148, 163, 184, 0.3);
    }
    .inv-promo-ficha__head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      margin-bottom: 6px;
    }
    @media (max-width: 600px) {
      .inv-promo__monedero {
        flex-direction: column;
        align-items: stretch;
      }
      .inv-promo__recargas .btn {
        flex: 1 1 auto;
      }
    }
    .inv-promo__enlace {
      background: none;
      border: 0;
      padding: 0;
      font: inherit;
      color: var(--c-rojo-500);
      text-decoration: underline;
      cursor: pointer;
    }
    /* Mi plan › Monedero (panel-monedero.js): saldo arriba, recargas, qué se paga con él y movimientos. */
    .monedero {
      max-width: 56rem;
    }
    .monedero__saldo {
      display: flex;
      flex-direction: column;
      gap: 2px;
      padding: 16px 18px;
      border-radius: 14px;
      background: rgba(148, 163, 184, 0.1);
      margin-bottom: 12px;
    }
    .monedero__saldo strong {
      font-size: 2.2rem;
      line-height: 1.1;
    }
    .monedero__intro {
      margin: 0 0 14px;
      line-height: 1.45;
    }
    .monedero__recargar,
    .monedero__usos,
    .monedero__movs {
      margin-top: 16px;
    }
    .monedero__recargar h4,
    .monedero__usos h4,
    .monedero__movs h4 {
      margin: 0 0 8px;
    }
    .monedero__botones {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 10px;
    }
    .monedero__botones .btn {
      min-width: 88px;
    }
    .monedero__libre label {
      display: block;
      font-size: 0.85rem;
      margin-bottom: 4px;
    }
    .monedero__libre-fila {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .monedero__libre-fila input {
      width: 120px;
    }
    .monedero__tabla-wrap {
      overflow-x: auto;
      max-height: 420px;
      overflow-y: auto;
    }
    .monedero__tabla {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.85rem;
    }
    .monedero__tabla th,
    .monedero__tabla td {
      padding: 6px 8px;
      text-align: left;
      border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    }
    .monedero__tabla .num {
      text-align: right;
      white-space: nowrap;
    }
    .monedero__tabla .is-recarga {
      color: var(--c-verde-600);
      font-weight: 700;
    }
    .monedero__tabla .is-cargo {
      color: var(--c-rojo-500);
    }

    /* Pantallas oscuras (titular, 1-11: «en pantallas oscuras cambia el contraste»): azul más claro con texto oscuro, halo
       más fuerte y la fila promocionada con un fondo azul más marcado y barra clara. */
    html[data-bv-esquema='dark'].bardev-panel-theme-light #btn-inv-promo.btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.inv-promo-fila,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-promo-ficha .btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-promo-modal [data-promo-campana='activar'] {
      background: #60a5fa !important;
      border: 1px solid #bfdbfe !important;
      color: #0b1220 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #btn-inv-promo.btn:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-promo-ficha .btn:hover:not(:disabled),
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-promo-modal [data-promo-campana='activar']:hover:not(:disabled) {
      background: #93c5fd !important;
      border-color: #dbeafe !important;
      color: #0b1220 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.btn-icon.inv-promo-fila {
      background: #60a5fa !important;
      border-color: #bfdbfe !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.btn-icon.inv-promo-fila:hover:not(:disabled) {
      background: #93c5fd !important;
      border-color: #dbeafe !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.btn-icon.inv-promo-fila.is-on {
      background: #3b82f6 !important;
      border-color: #dbeafe !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.inv-promo-fila svg,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.inv-promo-fila svg * {
      stroke: #0b1220 !important;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #btn-inv-promo.btn,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap .btn.btn-icon.inv-promo-fila,
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inv-promo-ficha .btn {
      box-shadow: 0 0 0 2px rgba(147, 197, 253, 0.35), 0 0 14px rgba(96, 165, 250, 0.7);
      animation-name: inv-promo-brillo-oscuro;
    }
    @keyframes inv-promo-brillo-oscuro {
      0%, 100% { box-shadow: 0 0 0 2px rgba(147, 197, 253, 0.3), 0 0 10px rgba(96, 165, 250, 0.55); }
      50% { box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.5), 0 0 18px rgba(96, 165, 250, 0.9); }
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo__marca {
      background: #60a5fa;
      color: #0b1220;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap tr.inv-promocionado > td {
      background: rgba(96, 165, 250, 0.16);
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light #inventario-wrap tr.inv-promocionado > td:first-child {
      box-shadow: inset 4px 0 0 #93c5fd;
    }
    html[data-bv-esquema='dark'].bardev-panel-theme-light .inv-promo-info__numeros dt {
      opacity: 0.9;
    }
    /* Buscar un producto en mis pedidos a proveedores (js/panel-proveedores-buscar.js). */
    .prov-bp { margin: 4px 0 18px; padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
    .prov-bp__q {
      width: 100%;
      box-sizing: border-box;
      padding: 9px 12px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
      color: var(--text);
      font: inherit;
      font-size: 0.9rem;
    }
    .prov-bp__botones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
    .prov-bp__btn { flex: 0 1 auto; }
    .prov-bp__btn[aria-pressed='true'] { border-color: var(--accent, #c0392b); }
    .prov-bp__camara { margin-top: 10px; }
    .prov-bp__camara[hidden] { display: none; }
    .prov-bp__lector { width: 100%; max-width: 420px; margin: 0 auto; border-radius: 10px; overflow: hidden; background: #000; }
    .prov-bp__foto { max-width: 420px; margin: 8px auto 0; font-size: 0.82rem; color: var(--muted); text-align: center; }
    .prov-bp__foto-lista { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
    .prov-bp__foto-op {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      width: 104px;
      padding: 6px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--card);
      color: var(--text);
      font: inherit;
      font-size: 0.74rem;
      cursor: pointer;
    }
    .prov-bp__foto-op img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
    .prov-bp__msg:empty { display: none; }
    .prov-bp__msg { margin-top: 8px; font-size: 0.82rem; }
    .prov-bp__msg--error { color: var(--c-rojo-400, #ef4444); }
    .prov-bp__msg--ok { color: var(--ok); }
    .prov-bp__res:empty { display: none; }
    .prov-bp__res { margin-top: 12px; display: flex; flex-direction: column; gap: 12px; }
    .prov-bp__resumen, .prov-bp__vacio { margin: 0; }
    .prov-bp__grupo { border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; }
    .prov-bp__cab { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; }
    .prov-bp__img { width: 40px; height: 40px; object-fit: cover; border-radius: 8px; }
    .prov-bp__nombre { flex: 1 1 160px; min-width: 0; }
    /* Éxito en verde. */
    .prov-bp__ok { padding: 2px 10px; border-radius: 999px; background: var(--bd-g-50, rgba(16,185,129,0.12)); color: var(--ok); font-size: 0.76rem; font-weight: 700; white-space: nowrap; }
    .prov-bp__nota { padding: 2px 10px; border-radius: 999px; background: var(--bd-n-50, rgba(127,127,127,0.12)); color: var(--muted); font-size: 0.76rem; font-weight: 600; }
    .prov-bp__ultimo { margin: 8px 0; font-size: 0.86rem; }
    .prov-bp__lista { display: flex; flex-direction: column; }
    .prov-bp__fila {
      display: grid;
      grid-template-columns: auto auto minmax(0, 1fr) auto auto;
      align-items: center;
      gap: 10px;
      flex: 1 1 auto;
      min-width: 0;
      width: 100%;
      padding: 7px 4px;
      border: none;
      border-radius: 6px;
      background: none;
      color: inherit;
      font: inherit;
      font-size: 0.8rem;
      text-align: left;
      cursor: pointer;
    }
    .prov-bp__fila:hover, .prov-bp__fila:focus-visible { background: var(--bd-n-50, rgba(127,127,127,0.08)); }
    .prov-bp__num { font-weight: 700; }
    .prov-bp__fecha, .prov-bp__uds { color: var(--muted); font-size: 0.74rem; white-space: nowrap; }
    .prov-bp__prov { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .prov-bp__mas { margin: 6px 0 0; }
    @media (max-width: 560px) {
      .prov-bp__fila { grid-template-columns: auto minmax(0, 1fr) auto; }
      .prov-bp__fila .prov-bp__prov { grid-column: 1 / -1; order: 5; }
      .prov-bp__fila .prov-order-status { justify-self: end; }
    }
    /* «Todos los proveedores existentes añadidos» cabe entera en el desplegable. */
    .prov-add-bar__select:disabled { max-width: 330px; }
    /* Una fila de pedido = la fila (abre el detalle) + una «i» que enseña el recuento (táctil y teclado). */
    .prov-bp__item { display: flex; align-items: center; gap: 4px; border-radius: 6px; }
    .prov-bp__item:hover { background: var(--bd-n-50, rgba(127,127,127,0.08)); }
    .prov-bp__info {
      flex: 0 0 auto;
      width: 26px;
      height: 26px;
      padding: 0;
      border: 1px solid var(--border);
      border-radius: 50%;
      background: var(--card);
      color: var(--muted);
      font: inherit;
      font-size: 0.74rem;
      font-style: italic;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
    }
    .prov-bp__info:hover, .prov-bp__info:focus-visible, .prov-bp__info[aria-expanded='true'] { color: var(--text); border-color: var(--text); }
    @media (pointer: coarse) { .prov-bp__info { width: 36px; height: 36px; font-size: 0.9rem; } }
    /* Ventana con el recuento del pedido. */
    .prov-bp-pop {
      position: fixed;
      z-index: 9000;
      box-sizing: border-box;
      max-height: min(60vh, 420px);
      overflow: auto;
      padding: 10px 12px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: var(--card);
      color: var(--text);
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
      font-size: 0.82rem;
      pointer-events: none;
    }
    .prov-bp-pop p { margin: 0 0 6px; }
    .prov-bp-pop__estado { margin-bottom: 8px; }
    .prov-bp-pop__resumen { color: var(--muted); font-weight: 600; }
    .prov-bp-pop__lista { list-style: none; margin: 0 0 8px; padding: 0; }
    .prov-bp-pop__linea { display: flex; justify-content: space-between; gap: 12px; padding: 4px 6px; border-radius: 6px; }
    .prov-bp-pop__linea--buscado { background: var(--bd-g-50, rgba(16,185,129,0.12)); font-weight: 700; }
    .prov-bp-pop__nombre { min-width: 0; overflow-wrap: anywhere; }
    .prov-bp-pop__uds { flex: 0 0 auto; white-space: nowrap; }
    .prov-bp-pop__total { margin: 0; padding-top: 6px; border-top: 1px solid var(--border); font-weight: 700; text-align: right; }
    /*
     * Menú lateral «vidrio» (previo, 03-11-2026). El menú flota con esquinas redondas y un cristal esmerilado;
     * al plegarse se encoge a una píldora de iconos con una animación fluida (View Transitions API, que se activa
     * desde agendaSetMaximized en panel-agenda.js). Sin soporte, sin animación o con «reducir movimiento»: se
     * pliega como siempre (solo la transición de ancho de 15-app-centro-inicio.css).
     * El cristal va en ::before para no crear un bloque contenedor nuevo para los hijos fixed/absolute del menú.
     */
    #view-dashboard {
      --vd-radio: 26px;
      --vd-hueco: 10px;
      --vd-cristal: color-mix(in srgb, var(--side, #ffffff) 58%, transparent);
      --vd-cristal-brillo: rgba(255, 255, 255, 0.5);
      --vd-borde: rgba(255, 255, 255, 0.65);
      --vd-sombra: rgba(15, 23, 42, 0.16);
      --vd-luz-nucleo: rgba(255, 255, 255, 0.4);
      --vd-luz-halo: rgba(255, 255, 255, 0.12);
    }
    html:not(.bardev-panel-theme-light) #view-dashboard,
    html[data-bv-esquema='dark'] #view-dashboard {
      --vd-cristal-brillo: rgba(255, 255, 255, 0.07);
      --vd-borde: rgba(255, 255, 255, 0.14);
      --vd-sombra: rgba(0, 0, 0, 0.45);
      --vd-luz-nucleo: rgba(255, 255, 255, 0.1);
      --vd-luz-halo: rgba(255, 255, 255, 0.04);
    }
    #view-dashboard > .nav-side {
      position: relative;
      isolation: isolate;
      margin: var(--vd-hueco) 0 var(--vd-hueco) var(--vd-hueco);
      height: calc(100% - 2 * var(--vd-hueco));
      max-height: calc(100% - 2 * var(--vd-hueco));
      border: 0;
      border-radius: var(--vd-radio);
      background: transparent;
      box-shadow: 0 14px 38px var(--vd-sombra), 0 2px 8px rgba(15, 23, 42, 0.08);
      transition: width 0.2s ease, min-width 0.2s ease, max-width 0.2s ease, border-radius 0.2s ease;
    }
    #view-dashboard > .nav-side::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      border-radius: inherit;
      pointer-events: none;
      background:
        linear-gradient(155deg, var(--vd-cristal-brillo) 0%, transparent 46%),
        var(--vd-cristal);
      -webkit-backdrop-filter: blur(22px) saturate(165%);
      backdrop-filter: blur(22px) saturate(165%);
      box-shadow:
        inset 0 0 0 1px var(--vd-borde),
        inset 0 1.5px 0 rgba(255, 255, 255, 0.55),
        inset 0 -14px 24px -18px rgba(15, 23, 42, 0.18);
    }
    /* Plegado: píldora de iconos (el logo y «Cerrar sesión» siguen a caballo del borde, como hasta ahora). */
    #view-dashboard.app-shell--agenda-max > .nav-side {
      --vd-radio: 28px;
    }
    /* El tirador de plegar sigue pegado al borde del menú flotante. */
    #view-dashboard #nav-side-collapse-slot,
    #view-dashboard > .nav-side-collapse-toggle {
      margin-left: var(--vd-hueco);
    }
    /* Efectos de luz: foco suave que sigue al cursor por el cristal (variables que pone panel-core.js). */
    #view-dashboard > .nav-side::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      border-radius: inherit;
      pointer-events: none;
      opacity: var(--bd-luz-op, 0);
      transition: opacity 0.35s ease;
      background:
        radial-gradient(
          190px circle at var(--bd-luz-x, 50%) var(--bd-luz-y, -60px),
          var(--vd-luz-nucleo) 0%,
          var(--vd-luz-halo) 45%,
          transparent 75%
        );
      mix-blend-mode: var(--vd-luz-mezcla, normal);
    }
    /* Pulso del icono (04-11-2026, más exagerado): al poner el puntero encima el icono crece mucho y recupera
       su tamaño al instante, con rebote y un destello de luz (solo luz, sin color: brillo, halo blanco y una
       sombra suave de relieve). También al pulsar. Lo añade/quita panel-core.js con la clase .bd-ico-pop y la
       propiedad `scale` no choca con ningún transform. La fila de texto usa --bd-lupa (efecto dock, poco). */
    @keyframes bd-ico-pop {
      0%   { scale: 1;    filter: brightness(1) drop-shadow(0 0 0 transparent); }
      28%  { scale: 1.8;  filter: brightness(1.45) drop-shadow(0 0 12px rgba(255, 255, 255, 0.95)) drop-shadow(0 6px 9px rgba(15, 23, 42, 0.3)); }
      55%  { scale: 0.88; filter: brightness(1.15) drop-shadow(0 0 6px rgba(255, 255, 255, 0.8)); }
      78%  { scale: 1.1; }
      100% { scale: 1;    filter: brightness(1) drop-shadow(0 0 0 transparent); }
    }
    #view-dashboard .nav-side .nav-group__drag-dot.bd-ico-pop .nav-section-icon,
    #view-dashboard .nav-side .nav-item__icon.bd-ico-pop {
      animation: bd-ico-pop 0.55s cubic-bezier(0.25, 0.8, 0.3, 1);
    }
    /* Menú desplegado: la fila bajo el cursor crece un poco y las vecinas menos. */
    #view-dashboard:not(.app-shell--agenda-max) .nav-side .nav-group__toggle,
    #view-dashboard:not(.app-shell--agenda-max) .nav-side .nav-item--sub {
      transform: scale(var(--bd-lupa, 1));
      transform-origin: 20% center;
      transition: transform 0.2s cubic-bezier(0.34, 1.45, 0.64, 1), background 0.15s ease, color 0.15s ease;
      position: relative;
    }

    /* ── Animación de plegar / desplegar (solo mientras dura la transición) ───────────────────────────────── */
    html.bd-vt-nav #view-dashboard > .nav-side {
      view-transition-name: bd-nav-vidrio;
    }
    html.bd-vt-nav::view-transition-group(bd-nav-vidrio) {
      animation-duration: 0.46s;
      animation-timing-function: linear(
        0, 0.17 4%, 0.46 9%, 0.76 15%, 0.97 22%, 1.07 28%, 1.1 33%, 1.07 40%, 1.02 48%, 0.995 58%, 1 70%, 1
      );
      border-radius: var(--vd-radio, 26px);
      overflow: clip;
    }
    html.bd-vt-nav::view-transition-image-pair(bd-nav-vidrio) {
      isolation: auto;
    }
    /* Las dos imágenes no se estiran: el contenido viejo se recorta al encogerse y el nuevo aparece fundiéndose. */
    html.bd-vt-nav::view-transition-old(bd-nav-vidrio),
    html.bd-vt-nav::view-transition-new(bd-nav-vidrio) {
      height: 100%;
      width: auto;
      object-fit: none;
      object-position: left top;
      mix-blend-mode: normal;
      animation-duration: 0.46s;
      animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }
    /* El resto de la página no se funde: ya está en su sitio final y el menú se encoge por encima (sin fantasmas). */
    html.bd-vt-nav::view-transition-old(root) {
      display: none;
    }
    html.bd-vt-nav::view-transition-new(root) {
      animation: none;
      mix-blend-mode: normal;
    }
    @media (prefers-reduced-motion: reduce) {
      #view-dashboard > .nav-side { transition: none; }
      #view-dashboard > .nav-side::after { display: none; }
      #view-dashboard .nav-side .nav-group__drag-dot,
      #view-dashboard .nav-side .nav-group__drag-dot .nav-section-icon,
      #view-dashboard .nav-side .nav-item__icon,
      #view-dashboard:not(.app-shell--agenda-max) .nav-side .nav-group__toggle,
      #view-dashboard:not(.app-shell--agenda-max) .nav-side .nav-item--sub { transition: none; transform: none; filter: none; }
      #view-dashboard .nav-side .nav-group__drag-dot.bd-ico-pop .nav-section-icon,
      #view-dashboard .nav-side .nav-item__icon.bd-ico-pop { animation: none; }
    }
    @media (max-width: 720px) {
      /* En móvil el menú ocupa todo el ancho en columna: sin flotar ni cristal. */
      #view-dashboard > .nav-side {
        margin: 0;
        height: auto;
        max-height: none;
        border-radius: 0;
        box-shadow: none;
        background: var(--side);
      }
      #view-dashboard > .nav-side::before { display: none; }
    }
