
    :root {
      --gold: #c9a84c;
      --gold-dim: rgba(201,168,76,0.18);
    }

    /* ── Gitana Nails & Studio — tema fuchsia ─────────────────── */
    .tenant-gitana {
      --gold: #f472b6;
      --gold-dim: rgba(244,114,182,0.18);
    }
    .tenant-gitana body { background-color: #080508; }
    .tenant-gitana .ambient-glow {
      background: radial-gradient(circle, rgba(244,114,182,0.055) 0%, transparent 65%);
    }
    .tenant-gitana .logo-ring {
      border-color: rgba(244,114,182,0.55);
      box-shadow: 0 0 0 1px rgba(244,114,182,0.08),
                  0 0 24px rgba(244,114,182,0.18),
                  0 0 56px rgba(244,114,182,0.05);
    }
    .tenant-gitana .gold-divider {
      background: linear-gradient(90deg, transparent, #f472b6, transparent);
    }
    .tenant-gitana .field:focus {
      border-color: rgba(244,114,182,0.5);
      box-shadow: 0 0 0 3px rgba(244,114,182,0.07);
    }
    .tenant-gitana .btn-primary {
      background: transparent;
      border: 1.5px solid #f472b6;
      color: #f472b6;
      box-shadow: 0 0 20px rgba(244,114,182,0.12);
    }
    .tenant-gitana .btn-primary:hover {
      background: rgba(244,114,182,0.08);
      box-shadow: 0 0 28px rgba(244,114,182,0.22);
    }
    .tenant-gitana .spinner {
      border-color: rgba(244,114,182,0.25);
      border-top-color: #f472b6;
    }
    /* ────────────────────────────────────────────────────────── */

    /* ── Utilidades globales ─────────────────────────────────── */
    .font-display { font-family: 'Playfair Display', Georgia, serif; }

    /* Separador ornamental — oculto por defecto, activo en Ferraza */
    .sep-ornamental {
      display: none; align-items: center; gap: 0.875rem; user-select: none;
    }
    .sep-ornamental::before, .sep-ornamental::after {
      content: ''; flex: 1; height: 1px;
      background: linear-gradient(to right, transparent, rgba(255,255,255,0.12));
    }
    .sep-ornamental::after { background: linear-gradient(to left, transparent, rgba(255,255,255,0.12)); }
    .sep-ornamental-gem { font-size: 0.5rem; color: rgba(255,255,255,0.25); letter-spacing: 0.32em; }

    /* ── Barbería Ferraza — Premium Dark monocromático ────────── */
    .tenant-ferraza { --gold: #e2e8f0; --gold-dim: rgba(226,232,240,0.20); }
    .tenant-ferraza .ambient-glow {
      background: radial-gradient(circle, rgba(226,232,240,0.025) 0%, transparent 65%);
    }
    .tenant-ferraza .logo-ring {
      border-color: rgba(226,232,240,0.35);
      box-shadow: 0 0 0 1px rgba(226,232,240,0.05), 0 0 18px rgba(226,232,240,0.07);
    }
    .tenant-ferraza .sep-ornamental  { display: flex; }
    .tenant-ferraza .gold-divider    { display: none; }
    .tenant-ferraza .tab-btn.active  { color: #e2e8f0; border-color: rgba(226,232,240,0.55); }
    .tenant-ferraza .field {
      border-radius: 0.5rem;
      border-color: rgba(200,210,220,0.14);
    }
    .tenant-ferraza .field:focus {
      border-color: rgba(226,232,240,0.38);
      box-shadow: 0 0 0 3px rgba(226,232,240,0.05);
    }
    .tenant-ferraza .btn-primary {
      background: transparent;
      border-radius: 0.5rem;
      border: 1.5px solid rgba(226,232,240,0.4);
      color: #e2e8f0;
      box-shadow: none;
    }
    .tenant-ferraza .btn-primary:hover  { background: rgba(226,232,240,0.06); box-shadow: none; }
    .tenant-ferraza .btn-google         { border-radius: 0.5rem; }
    .tenant-ferraza .spinner {
      border-color: rgba(226,232,240,0.18);
      border-top-color: #e2e8f0;
    }
    /* ────────────────────────────────────────────────────────── */

    /* ── Mapu Barber Shop — Classic Barbershop ────────────────── */
    .tenant-mapubarbershop {
      --gold:     #BFA37E;
      --gold-dim: rgba(191,163,126,0.28);
    }

    /* Fondo burdeo oscuro */
    html.tenant-mapubarbershop body,
    .tenant-mapubarbershop body {
      background-color: #2A1E22;
      color: #F0EBE1;
    }

    /* Ambient glow — tono arena muy suave */
    .tenant-mapubarbershop .ambient-glow {
      background: radial-gradient(circle, rgba(191,163,126,0.045) 0%, transparent 65%);
    }

    /* Logo ring — latón dorado mate */
    .tenant-mapubarbershop .logo-ring {
      border: 2px solid #BFA37E !important;
      box-shadow:
        0 0 0 1px rgba(191,163,126,0.12),
        0 0 0 5px rgba(42,30,34,0.8),
        0 0 0 6px rgba(191,163,126,0.12),
        0 0 20px rgba(191,163,126,0.10) !important;
    }

    /* Club title — serif clásico */
    .tenant-mapubarbershop #heroClubTitle {
      font-family: 'Playfair Display', Georgia, serif;
      font-style: normal;
      font-weight: 700;
      color: #F0EBE1;
      letter-spacing: 0.02em;
    }
    .tenant-mapubarbershop #heroClubSub {
      color: rgba(191,163,126,0.60);
    }

    /* Gold divider */
    .tenant-mapubarbershop .gold-divider {
      background: linear-gradient(90deg, transparent, #BFA37E, transparent);
    }

    /* Tab activo */
    .tenant-mapubarbershop .tab-btn.active {
      color: #BFA37E;
      border-color: #BFA37E;
    }
    .tenant-mapubarbershop .tab-btn {
      color: rgba(191,163,126,0.40);
    }

    /* Borde inferior de tabs */
    .tenant-mapubarbershop .border-b {
      border-color: rgba(191,163,126,0.10);
    }

    /* Campos de entrada */
    .tenant-mapubarbershop .field {
      background: #352529 !important;
      border: 1px solid rgba(191,163,126,0.18) !important;
      color: #F0EBE1 !important;
      border-radius: 10px !important;
    }
    .tenant-mapubarbershop .field::placeholder {
      color: rgba(191,163,126,0.40) !important;
    }
    .tenant-mapubarbershop .field:focus {
      border-color: rgba(191,163,126,0.55) !important;
      box-shadow: 0 0 0 2px rgba(191,163,126,0.08) !important;
    }
    .tenant-mapubarbershop input:-webkit-autofill,
    .tenant-mapubarbershop input:-webkit-autofill:focus {
      -webkit-box-shadow: 0 0 0 100px #352529 inset !important;
      -webkit-text-fill-color: #F0EBE1 !important;
    }

    /* Botón primario — sólido dorado mate */
    .tenant-mapubarbershop .btn-primary {
      background: #BFA37E !important;
      border: none !important;
      color: #2A1E22 !important;
      font-family: system-ui, -apple-system, sans-serif;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      box-shadow: none !important;
      border-radius: 10px !important;
    }
    .tenant-mapubarbershop .btn-primary:hover {
      background: #CDB48E !important;
      box-shadow: none !important;
    }

    /* Botón Google */
    .tenant-mapubarbershop .btn-google {
      background: #352529 !important;
      border: 1px solid rgba(191,163,126,0.18) !important;
      color: #F0EBE1 !important;
      border-radius: 10px !important;
    }
    .tenant-mapubarbershop .btn-google:hover {
      background: #3D2C31 !important;
      border-color: rgba(191,163,126,0.30) !important;
    }

    /* Spinner */
    .tenant-mapubarbershop .spinner {
      border-color: rgba(191,163,126,0.20) !important;
      border-top-color: #BFA37E !important;
    }

    /* Divisor "o" */
    .tenant-mapubarbershop .flex-grow.border-t { border-color: rgba(191,163,126,0.12) !important; }
    .tenant-mapubarbershop span.mx-4.text-gray-500 { color: rgba(191,163,126,0.40) !important; }

    /* Loading overlay */
    .tenant-mapubarbershop #loadingOverlay {
      background: rgba(42,30,34,0.88) !important;
    }

    /* Link volver */
    .tenant-mapubarbershop a.text-gray-600 {
      color: rgba(191,163,126,0.45) !important;
    }
    .tenant-mapubarbershop a.text-gray-600:hover {
      color: rgba(191,163,126,0.75) !important;
    }

    /* Eye toggle */
    .tenant-mapubarbershop .eye-toggle { color: rgba(191,163,126,0.40) !important; }
    .tenant-mapubarbershop .eye-toggle:hover { color: rgba(191,163,126,0.70) !important; }

    /* Nota cumpleaños */
    .tenant-mapubarbershop .text-gray-600 { color: rgba(191,163,126,0.42) !important; }
    /* ────────────────────────────────────────────────────────── */

    /* ── Chameleon Barber Studio — tema dorado ─────────────────── */
    .tenant-chameleon {
      --gold: #DAA520;
      --gold-dim: rgba(218,165,32,0.20);
    }
    .tenant-chameleon body { background-color: #000000; }
    .tenant-chameleon .ambient-glow {
      background: radial-gradient(circle, rgba(218,165,32,0.05) 0%, transparent 65%);
    }
    .tenant-chameleon .logo-ring {
      border-color: rgba(218,165,32,0.55);
      box-shadow: 0 0 0 1px rgba(218,165,32,0.08),
                  0 0 24px rgba(218,165,32,0.18),
                  0 0 56px rgba(218,165,32,0.05);
    }
    .tenant-chameleon .gold-divider {
      background: linear-gradient(90deg, transparent, #DAA520, transparent);
    }
    .tenant-chameleon .field:focus {
      border-color: rgba(218,165,32,0.5);
      box-shadow: 0 0 0 3px rgba(218,165,32,0.07);
    }
    .tenant-chameleon .btn-primary {
      background: #004D40;
      border: 1.5px solid #004D40;
      color: #ffffff;
      box-shadow: 0 4px 20px rgba(0,77,64,0.40);
    }
    .tenant-chameleon .btn-primary:hover {
      background: #00695C;
      border-color: #00695C;
      box-shadow: 0 4px 24px rgba(0,77,64,0.50);
    }
    .tenant-chameleon .spinner {
      border-color: rgba(218,165,32,0.25);
      border-top-color: #DAA520;
    }
    /* ────────────────────────────────────────────────────────── */

    /* ── Barbers Club — tema dorado (clon Chameleon) ──────────── */
    .tenant-barbersclub {
      --gold: #DAA520;
      --gold-dim: rgba(218,165,32,0.20);
    }
    .tenant-barbersclub body { background-color: #0b0a09; }
    .tenant-barbersclub .ambient-glow {
      background: radial-gradient(circle, rgba(218,165,32,0.05) 0%, transparent 65%);
    }
    .tenant-barbersclub .logo-ring {
      border-color: rgba(218,165,32,0.55);
      box-shadow: 0 0 0 1px rgba(218,165,32,0.08),
                  0 0 24px rgba(218,165,32,0.18),
                  0 0 56px rgba(218,165,32,0.05);
    }
    .tenant-barbersclub .gold-divider {
      background: linear-gradient(90deg, transparent, #DAA520, transparent);
    }
    .tenant-barbersclub .field:focus {
      border-color: rgba(218,165,32,0.5);
      box-shadow: 0 0 0 3px rgba(218,165,32,0.07);
    }
    .tenant-barbersclub .btn-primary {
      background: #004D40;
      border: 1.5px solid #004D40;
      color: #ffffff;
      box-shadow: 0 4px 20px rgba(0,77,64,0.40);
    }
    .tenant-barbersclub .btn-primary:hover {
      background: #00695C;
      border-color: #00695C;
      box-shadow: 0 4px 24px rgba(0,77,64,0.50);
    }
    .tenant-barbersclub .spinner {
      border-color: rgba(218,165,32,0.25);
      border-top-color: #DAA520;
    }
    /* ────────────────────────────────────────────────────────── */

    /* ── D'JONES BARBER (lumen) — Vintage / Náutico / Pirata ─────── */
    .tenant-lumen {
      --gold: #D4AF37;
      --gold-dim: rgba(212,175,55,0.20);
    }
    .tenant-lumen body {
      background-color: #0d0a08 !important;
      background-image:
        linear-gradient(rgba(212,175,55,0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212,175,55,0.015) 1px, transparent 1px);
      background-size: 24px 24px !important;
    }

    /* Keyframes para animaciones piratas */
    @keyframes pirate-float {
      0%, 100% { transform: translateY(0px) rotate(0deg); }
      50% { transform: translateY(-5px) rotate(0.4deg); }
    }
    @keyframes doubloon-shimmer {
      0% { background-position: -200% 0; }
      100% { background-position: 200% 0; }
    }

    .tenant-lumen .ambient-glow {
      background: radial-gradient(circle, rgba(212,175,55,0.06) 0%, transparent 65%) !important;
    }

    .tenant-lumen .logo-ring {
      border: 2.5px double #D4AF37 !important;
      box-shadow:
        0 0 0 1px rgba(212,175,55,0.2),
        0 0 25px rgba(212,175,55,0.35),
        0 0 45px rgba(212,175,55,0.15),
        0 0 60px rgba(0,0,0,0.85) !important;
    }

    /* Anillo dorado de doblón / Divisor centralizado */
    .tenant-lumen .gold-divider {
      width: 160px !important;
      height: 2.5px !important;
      background: radial-gradient(circle, #D4AF37 0%, rgba(212,175,55,0.2) 70%, transparent 100%) !important;
      position: relative !important;
      margin: 16px auto 12px !important;
      overflow: visible !important;
    }
    .tenant-lumen .gold-divider::after {
      content: '⚓' !important;
      position: absolute !important;
      left: 50% !important;
      top: 50% !important;
      transform: translate(-50%, -50%) !important;
      background: #0d0a08 !important;
      padding: 0 10px !important;
      color: #D4AF37 !important;
      font-size: 1.1rem !important;
      text-shadow: 0 0 6px rgba(212,175,55,0.6) !important;
      font-family: system-ui, -apple-system, sans-serif !important;
    }
    
    .tenant-lumen .sep-ornamental {
      display: none !important;
    }

    .tenant-lumen #heroClubTitle {
      font-family: 'Playfair Display', Georgia, serif !important;
      color: #f5ead6 !important;
      text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
    }
    .tenant-lumen #heroClubSub {
      color: #D4AF37 !important;
      text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
    }

    /* Pergamino antiguo de login/registro */
    .tenant-lumen #auth-forms,
    .tenant-lumen #deluxe-member-panel {
      background-color: #f5ead6 !important;
      background-image:
        radial-gradient(rgba(139,101,8,0.02) 1px, transparent 1px),
        linear-gradient(rgba(139,101,8,0.015) 1px, transparent 1px) !important;
      background-size: 16px 16px !important;
      border: 3.5px double #8B6508 !important;
      outline: 1.5px solid rgba(212,175,55,0.35) !important;
      outline-offset: 4.5px !important;
      box-shadow: 0 20px 50px rgba(0,0,0,0.9), 0 0 30px rgba(212,175,55,0.15) !important;
      border-radius: 8px !important;
      padding: 24px !important;
      margin-bottom: 24px !important;
    }

    /* Respetar textos de tinta sepia */
    .tenant-lumen #auth-forms *,
    .tenant-lumen #deluxe-member-panel * {
      color: #1c120c !important;
    }
    .tenant-lumen #auth-forms p,
    .tenant-lumen #auth-forms span,
    .tenant-lumen #deluxe-member-panel p,
    .tenant-lumen #deluxe-member-panel span {
      color: #3b281b !important;
    }
    .tenant-lumen #auth-forms i,
    .tenant-lumen #deluxe-member-panel i {
      color: #8B6508 !important;
    }

    /* Tabs del pergamino */
    .tenant-lumen #auth-forms .border-b {
      border-color: rgba(139,101,8,0.2) !important;
    }
    .tenant-lumen .tab-btn {
      color: rgba(60, 40, 30, 0.5) !important;
      font-family: 'Playfair Display', Georgia, serif !important;
    }
    .tenant-lumen .tab-btn.active {
      color: #1c120c !important;
      border-color: #8B6508 !important;
      font-weight: 800 !important;
    }

    /* Inputs de pergamino */
    .tenant-lumen .field {
      background: #eaddc5 !important;
      border: 1px solid rgba(139, 101, 8, 0.25) !important;
      color: #1c120c !important;
      border-radius: 8px !important;
    }
    .tenant-lumen .field::placeholder {
      color: rgba(60, 40, 30, 0.5) !important;
    }
    .tenant-lumen .field:focus {
      border-color: #8B6508 !important;
      box-shadow: 0 0 0 2px rgba(139, 101, 8, 0.15) !important;
    }
    .tenant-lumen input:-webkit-autofill,
    .tenant-lumen input:-webkit-autofill:hover,
    .tenant-lumen input:-webkit-autofill:focus {
      -webkit-box-shadow: 0 0 0 100px #eaddc5 inset !important;
      -webkit-text-fill-color: #1c120c !important;
      caret-color: #1c120c !important;
    }

    /* Botón doblón de oro brillante */
    .tenant-lumen .btn-primary {
      background: linear-gradient(135deg, #8B6508, #D4AF37, #8B6508) !important;
      background-size: 200% 100% !important;
      border: 1px solid #8B6508 !important;
      color: #0d0a08 !important;
      font-family: 'Playfair Display', Georgia, serif !important;
      font-weight: 800 !important;
      letter-spacing: 0.05em !important;
      box-shadow: 0 4px 15px rgba(139, 101, 8, 0.35) !important;
      text-shadow: 0 1px 1px rgba(255, 255, 255, 0.2) !important;
      transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
      border-radius: 6px !important;
    }
    .tenant-lumen .btn-primary:hover {
      animation: doubloon-shimmer 4s linear infinite !important;
      box-shadow: 0 6px 20px rgba(139, 101, 8, 0.5) !important;
      transform: scale(1.02) !important;
    }
    .tenant-lumen .btn-primary:active {
      transform: scale(0.98) !important;
    }
    .tenant-lumen .btn-primary * {
      color: #0d0a08 !important;
    }

    /* Botón Google con acento bronce */
    .tenant-lumen .btn-google {
      background: rgba(139, 101, 8, 0.05) !important;
      border: 1px solid rgba(139, 101, 8, 0.25) !important;
      color: #1c120c !important;
      border-radius: 6px !important;
      font-family: 'Playfair Display', Georgia, serif !important;
      font-weight: 700 !important;
    }
    .tenant-lumen .btn-google:hover {
      background: rgba(139, 101, 8, 0.1) !important;
      border-color: #8B6508 !important;
    }

    /* Botón de escape: marco de bronce náutico */
    .tenant-lumen .btn-cta-reserva {
      background: rgba(139, 101, 8, 0.08) !important;
      border: 2px solid #8B6508 !important;
      color: #D4AF37 !important;
      font-family: 'Playfair Display', Georgia, serif !important;
      font-weight: 800 !important;
      box-shadow: 0 0 12px rgba(139, 101, 8, 0.15) !important;
      transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
      border-radius: 8px !important;
    }
    .tenant-lumen .btn-cta-reserva * {
      color: #D4AF37 !important;
    }
    .tenant-lumen .btn-cta-reserva:hover {
      background: rgba(212, 175, 55, 0.15) !important;
      border-color: #D4AF37 !important;
      box-shadow: 0 0 20px rgba(212, 175, 55, 0.3) !important;
      transform: scale(1.02) !important;
    }
    .tenant-lumen .btn-cta-reserva:hover * {
      color: #f5ead6 !important;
    }
    .tenant-lumen .btn-cta-reserva:active {
      transform: scale(0.98) !important;
    }

    /* Deluxe Member Panel específicos */
    .tenant-lumen #deluxe-member-panel #dlx-membership-title {
      font-family: 'Playfair Display', Georgia, serif !important;
      color: #8B6508 !important;
      font-weight: 800 !important;
    }
    .tenant-lumen #deluxe-member-panel .bg-white\/5,
    .tenant-lumen #deluxe-member-panel .bg-white\\/5 {
      background: rgba(139,101,8,0.06) !important;
      border: 1px solid rgba(139,101,8,0.2) !important;
    }
    .tenant-lumen #deluxe-member-panel #dlx-stamps {
      color: #8B6508 !important;
      font-family: 'Playfair Display', Georgia, serif !important;
      font-weight: 900 !important;
      text-shadow: 0 1px 1px rgba(255,255,255,0.2) !important;
    }
    .tenant-lumen #deluxe-member-panel button {
      color: rgba(60,40,30,0.6) !important;
      font-family: 'Inter', sans-serif !important;
    }
    .tenant-lumen #deluxe-member-panel button:hover {
      color: #1c120c !important;
    }

    /* Phone required panel específicos */
    .tenant-lumen #auth-forms .bg-white\/5,
    .tenant-lumen #auth-forms .bg-white\\/5 {
      background: rgba(139,101,8,0.06) !important;
    }
    .tenant-lumen #auth-forms .border-white\/10,
    .tenant-lumen #auth-forms .border-white\\/10 {
      border-color: rgba(139,101,8,0.2) !important;
    }
    .tenant-lumen #auth-forms i.text-white\/60,
    .tenant-lumen #auth-forms i.text-white\\/60 {
      color: #8B6508 !important;
    }
    .tenant-lumen #auth-forms .text-gray-400 {
      color: #3b281b !important;
    }

    /* Divisor "o" */
    .tenant-lumen .flex-grow.border-t { border-color: rgba(139,101,8,0.2) !important; }
    .tenant-lumen span.mx-4.text-gray-500 { color: rgba(60, 40, 30, 0.6) !important; }

    /* Recuperar contraseña y links */
    .tenant-lumen a.text-gray-600,
    .tenant-lumen button.text-gray-600 {
      color: rgba(60, 40, 30, 0.6) !important;
      font-family: 'Inter', sans-serif !important;
    }
    .tenant-lumen a.text-gray-600:hover,
    .tenant-lumen button.text-gray-600:hover {
      color: #1c120c !important;
    }

    /* Password eye-toggle */
    .tenant-lumen .eye-toggle {
      color: rgba(60, 40, 30, 0.5) !important;
    }
    .tenant-lumen .eye-toggle:hover {
      color: #1c120c !important;
    }

    /* Banderola de alertas pergamino */
    .tenant-lumen #alertBanner[class*="bg-red"] {
      background: #fdf2f2 !important;
      border-color: #fca5a5 !important;
      color: #991b1b !important;
    }
    .tenant-lumen #alertBanner[class*="bg-emerald"] {
      background: #f0fdf4 !important;
      border-color: #86efac !important;
      color: #166534 !important;
    }

    /* Loading Overlay */
    .tenant-lumen #loadingOverlay {
      background: rgba(13,10,8,0.96) !important;
    }
    .tenant-lumen #loadingOverlay span {
      color: #f5ead6 !important;
      font-family: 'Playfair Display', Georgia, serif !important;
    }

    .tenant-lumen .spinner {
      border-color: rgba(139, 101, 8, 0.25) !important;
      border-top-color: #D4AF37 !important;
    }

    /* Scrollbar style identical to index.html for visual consistency */
    .tenant-lumen ::-webkit-scrollbar {
      width: 10px !important;
      height: 10px !important;
    }
    .tenant-lumen ::-webkit-scrollbar-track {
      background: #0d0a08 !important;
      box-shadow: inset 0 0 8px rgba(0,0,0,0.85) !important;
    }
    .tenant-lumen ::-webkit-scrollbar-thumb {
      background: linear-gradient(180deg, #8B6508 0%, #D4AF37 50%, #8B6508 100%) !important;
      border-radius: 5px !important;
      border: 2.5px solid #0d0a08 !important;
      box-shadow: 0 0 4px rgba(212, 175, 55, 0.4) !important;
    }
    /* ────────────────────────────────────────────────────────── */

    /* ── Del Nero Barber — Verde Neón / Negro / Crema Serif ──── */
    .tenant-delnero {
      --gold: #39ff14;
      --gold-dim: rgba(57,255,20,0.20);
    }
    .tenant-delnero body { background-color: #050505; }
    .tenant-delnero .ambient-glow {
      background: radial-gradient(circle, rgba(57,255,20,0.06) 0%, transparent 65%);
    }
    .tenant-delnero .logo-ring {
      border-color: rgba(57,255,20,0.55);
      box-shadow:
        0 0 0 1px rgba(57,255,20,0.10),
        0 0 24px rgba(57,255,20,0.22),
        0 0 56px rgba(57,255,20,0.06);
    }
    /* Título "Club Del Nero" — serif crema elegante */
    .tenant-delnero #heroClubTitle {
      font-family: 'Playfair Display', Georgia, serif;
      font-style: normal;
      font-weight: 700;
      color: #f0ead6;
      letter-spacing: 0.02em;
    }
    .tenant-delnero #heroClubSub { color: rgba(57,255,20,0.55); }
    .tenant-delnero .gold-divider {
      background: linear-gradient(90deg, transparent, #39ff14, transparent);
    }
    .tenant-delnero .tab-btn.active {
      color: #39ff14;
      border-color: #39ff14;
    }
    .tenant-delnero .tab-btn { color: rgba(57,255,20,0.35); }
    .tenant-delnero .field:focus {
      border-color: rgba(57,255,20,0.55);
      box-shadow: 0 0 0 3px rgba(57,255,20,0.10);
    }
    /* Botón INGRESAR: crema con texto negro (elegante y legible) */
    .tenant-delnero .btn-primary {
      background: #f0ead6 !important;
      border: 1.5px solid #f0ead6 !important;
      color: #050505 !important;
      font-weight: 700;
      box-shadow: 0 0 20px rgba(240,234,214,0.18);
    }
    .tenant-delnero .btn-primary:hover {
      background: #e8e0c8 !important;
      border-color: #e8e0c8 !important;
      box-shadow: 0 0 28px rgba(240,234,214,0.28);
    }
    .tenant-delnero .btn-google {
      border-color: rgba(57,255,20,0.25);
    }
    .tenant-delnero .btn-google:hover {
      border-color: rgba(57,255,20,0.45);
      background: rgba(57,255,20,0.05);
    }
    .tenant-delnero .spinner {
      border-color: rgba(57,255,20,0.18);
      border-top-color: #39ff14;
    }
    .tenant-delnero .flex-grow.border-t { border-color: rgba(57,255,20,0.10) !important; }
    .tenant-delnero span.mx-4.text-gray-500 { color: rgba(57,255,20,0.35) !important; }
    .tenant-delnero #loadingOverlay { background: rgba(5,5,5,0.90) !important; }
    .tenant-delnero a.text-gray-600 { color: rgba(57,255,20,0.40) !important; }
    .tenant-delnero a.text-gray-600:hover { color: rgba(57,255,20,0.70) !important; }
    .tenant-delnero .eye-toggle { color: rgba(57,255,20,0.38) !important; }
    .tenant-delnero .eye-toggle:hover { color: rgba(57,255,20,0.68) !important; }
    /* ────────────────────────────────────────────────────────── */

    /* ── Aura Salon & Male Grooming — Premium Monochromatic Light Mode ── */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) {
      --gold:     #111827; /* gray-900 */
      --gold-dim: rgba(17, 24, 39, 0.08);
    }
    html:is(.tenant-aura,.tenant-latincaribe,.theme-light) body,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) body {
      background-color: #F9FAFB !important;
      color: #111827 !important;
    }
    /* Logo & Glow */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .ambient-glow {
      background: radial-gradient(circle, rgba(17, 24, 39, 0.02) 0%, transparent 65%);
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .logo-ring {
      border: 2px solid #E5E7EB !important;
      box-shadow: 0 0 20px rgba(17, 24, 39, 0.05), 0 0 0 1px rgba(229, 231, 235, 0.15) !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .gold-divider {
      background: linear-gradient(90deg, transparent, #111827, transparent) !important;
    }
    /* Textos */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #heroClubTitle {
      font-family: 'Plus Jakarta Sans', sans-serif !important;
      font-style: normal !important;
      font-weight: 700 !important;
      color: #111827 !important; /* text-gray-900 */
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #heroClubSub { color: #6B7280 !important; }
    /* Los avisos sobre el formulario se escribieron para el tema oscuro
       (text-white): en una página clara quedaban blanco sobre blanco. Se vio
       en Punto Pilates, 23-09-2026, con el aviso de "¿eras alumna en Reserva
       Clase?" — la frase importante no se leía. */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) :is(#avisoMigradas, #motivoMembresia) { background: #F9FAFB !important; border-color: #E5E7EB !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) :is(#avisoMigradas, #motivoMembresia) .text-white { color: #111827 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) :is(#avisoMigradas, #motivoMembresia) .text-gray-400 { color: #4B5563 !important; }
    /* El aviso verde (cuenta encontrada, entrada por Wellhub) es texto emerald-300: en tema claro no se lee. */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #matchClienteMsg { background: #ECFDF5 !important; border-color: #A7F3D0 !important; color: #065F46 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .sep-ornamental-gem { color: #9CA3AF !important; }
    /* Tabs */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .tab-btn { color: #9CA3AF !important; border-bottom-color: transparent !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .tab-btn.active { color: #111827 !important; border-bottom-color: #111827 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .border-b { border-color: #E5E7EB !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .border-b.border-white\/\\[0\.07\\] { border-color: #E5E7EB !important; }
    /* Inputs */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .field {
      background: #FFFFFF !important;
      border: 1px solid #D1D5DB !important;
      color: #111827 !important;
      border-radius: 14px !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .field::placeholder { color: #9CA3AF !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .field:focus {
      border-color: #111827 !important;
      box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.1) !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) input:-webkit-autofill,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) input:-webkit-autofill:hover,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) input:-webkit-autofill:focus {
      -webkit-box-shadow: 0 0 0 100px #FFFFFF inset !important;
      -webkit-text-fill-color: #111827 !important;
      caret-color: #111827 !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) input[type="date"] { color-scheme: light !important; }
    /* Botón Formulario Sólido Oscuro ("Crear Cuenta") */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .btn-primary {
      background: #111827 !important;
      border-color: #111827 !important;
      color: #FFFFFF !important;
      box-shadow: 0 4px 16px rgba(17, 24, 39, 0.08) !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .btn-primary:hover {
      background: #1F2937 !important;
      border-color: #1F2937 !important;
    }
    /* Botón Google */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .btn-google {
      background: #FFFFFF !important;
      border-color: #D1D5DB !important;
      color: #111827 !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .btn-google:hover {
      background: #F9FAFB !important;
      border-color: #111827 !important;
    }
    /* Otros elementos */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .eye-toggle { color: #9CA3AF !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .eye-toggle:hover { color: #111827 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .spinner {
      border-color: rgba(17, 24, 39, 0.1) !important;
      border-top-color: #111827 !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .text-gray-600 { color: #6B7280 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .text-gray-600:hover { color: #111827 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .border-gray-700 { border-color: #E5E7EB !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) span.mx-4.text-gray-500 { color: #6B7280 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .text-gray-400 { color: #4B5563 !important; }
    /* Overlay */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #loadingOverlay {
      background: rgba(249, 250, 251, 0.88) !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #loadingOverlay span { color: #111827 !important; }
    /* Panel Deluxe -> Aura adaptations */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #deluxe-member-panel p.text-white { color: #111827 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #deluxe-member-panel .bg-white\/5,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #deluxe-member-panel .bg-white\\/5 {
      background: rgba(17, 24, 39, 0.02) !important;
      border-color: #E5E7EB !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .w-12.h-12.bg-white\/5,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .w-12.h-12.bg-white\\/5 {
      background: rgba(17, 24, 39, 0.04) !important;
      border-color: rgba(17, 24, 39, 0.1) !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .w-12.h-12 i.text-white\/60 { color: #111827 !important; }
    /* Generic helpers */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .bg-white\/5,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .bg-white\\/5 {
      background-color: rgba(17, 24, 39, 0.04) !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .border-white\/10,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .border-white\\/10 {
      border-color: #E5E7EB !important;
    }
    /* Alert banner — light mode */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #alertBanner[class*="bg-red"] {
      background: #FEF2F2 !important;
      border-color: #FCA5A5 !important;
      color: #991B1B !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #alertBanner[class*="bg-emerald"] {
      background: #F0FDF4 !important;
      border-color: #86EFAC !important;
      color: #166534 !important;
    }
    /* Button Escape Outline for Aura */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .btn-cta-reserva {
      background: transparent !important;
      border: 2px solid #111827 !important;
      color: #111827 !important;
      box-shadow: none !important;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .btn-cta-reserva:hover {
      background: rgba(17, 24, 39, 0.05) !important;
      color: #111827 !important;
    }
    /* ── OMEGA y ALFA MEN — sobrescribe el grafito Aura (#111827, con tinte azul) por
       el negro puro #111111 de la marca. Sin este bloque los CTAs "CREAR
       CUENTA" e "INGRESAR" y el subrayado del tab activo se ven navy sobre
       el hueso (Omega) o el blanco (Alfa Men), en vez del negro tinta de la marca. */
    .tenant-omega.tenant-aura,
    .tenant-alfamen.tenant-aura {
      --gold: #111111 !important;
    }
    .tenant-omega.tenant-aura #heroClubTitle,
    .tenant-alfamen.tenant-aura #heroClubTitle,
    .tenant-omega.tenant-aura .tab-btn.active,
    .tenant-alfamen.tenant-aura .tab-btn.active { color: #111111 !important; }
    .tenant-omega.tenant-aura .tab-btn.active,
    .tenant-alfamen.tenant-aura .tab-btn.active { border-bottom-color: #111111 !important; }
    .tenant-omega.tenant-aura .btn-primary,
    .tenant-alfamen.tenant-aura .btn-primary {
      background: #111111 !important;
      border-color: #111111 !important;
    }
    /* El botón lleva btn-primary + btn-cta-reserva. Mi override de btn-primary
       (fondo negro sólido) pesa más que .btn-cta-reserva (transparent). Cuando
       ambas coexisten, ES un outline por diseño: bg transparente + tinta. */
    .tenant-omega.tenant-aura .btn-primary.btn-cta-reserva,
    .tenant-alfamen.tenant-aura .btn-primary.btn-cta-reserva {
      background: transparent !important;
      border-color: #111111 !important;
      color: #111111 !important;
    }
    .tenant-omega.tenant-aura .btn-cta-reserva,
    .tenant-alfamen.tenant-aura .btn-cta-reserva {
      border-color: #111111 !important;
      color: #111111 !important;
    }
    .tenant-omega.tenant-aura .gold-divider,
    .tenant-alfamen.tenant-aura .gold-divider {
      background: linear-gradient(90deg, transparent, #111111, transparent) !important;
    }
    .tenant-omega.tenant-aura .field:focus,
    .tenant-alfamen.tenant-aura .field:focus { border-color: #111111 !important; }

    /* Sin contraseña para las clientas, en todos los locales (28-09-2026):
       los campos de clave y "¿Olvidaste tu contraseña?" ya no existen en el
       HTML. Esta regla queda por si algún tema antiguo trae los suyos. */
    #panelLogin .relative,
    #panelRegister .relative,
    button[onclick="switchTab('reset')"] {
      display: none !important;
    }
    /* Registro — Aura entrance animations */
    @keyframes aura-reg-logo {
      from { opacity: 0; transform: scale(0.78); }
      to   { opacity: 1; transform: scale(1); }
    }
    @keyframes aura-reg-fade-up {
      from { opacity: 0; transform: translateY(18px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #shopLogo {
      animation: aura-reg-logo 0.55s cubic-bezier(0.16,1,0.3,1) forwards;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .gold-divider,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .sep-ornamental,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #heroClubTitle,
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #heroClubSub {
      opacity: 0;
      animation: aura-reg-fade-up 0.55s cubic-bezier(0.16,1,0.3,1) forwards;
    }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .gold-divider   { animation-delay: 0.12s; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .sep-ornamental { animation-delay: 0.20s; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #heroClubTitle  { animation-delay: 0.28s; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #heroClubSub    { animation-delay: 0.36s; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) #auth-forms {
      opacity: 0;
      animation: aura-reg-fade-up 0.55s cubic-bezier(0.16,1,0.3,1) 0.44s forwards;
    }
    /* ────────────────────────────────────────────────────────── */

    /* ══════════════════════════════════════════════════════════════════
     * KRONNOS Studio · REGISTRO/LOGIN — editorial refinado (3 sedes)
     * ──────────────────────────────────────────────────────────────────
     * Peñablanca = rojo · Limache = naranja · Woman = magenta.
     * Tipografia limpia (Inter en todo lo funcional + Playfair solo en el
     * titulo "Club Kronnos"). Sin neones ni glows visibles: paleta
     * atmosferica muy tenue, hairlines blancos, botones planos.
     * ══════════════════════════════════════════════════════════════════ */
    .tenant-kronnos_penablanca { --gold: #e11d2a; --gold-dim: rgba(225,29,42,0.10); --gold-soft: rgba(225,29,42,0.06); }
    .tenant-kronnos_limache    { --gold: #f97316; --gold-dim: rgba(249,115,22,0.10); --gold-soft: rgba(249,115,22,0.06); }
    .tenant-kronnos_woman      { --gold: #ec4899; --gold-dim: rgba(236,72,153,0.10); --gold-soft: rgba(236,72,153,0.06); }

    /* Fondo con atmosfera muy tenue del color de la sede — el 10%/6% es
     * suficiente para dar identidad sin ensuciar el layout. */
    .tenant-kronnos_penablanca body {
      background-color: #0a0908;
      background-image:
        radial-gradient(ellipse 90% 60% at 50% -10%, rgba(225,29,42,0.09), transparent 60%),
        radial-gradient(ellipse 80% 50% at 50% 110%, rgba(225,29,42,0.045), transparent 65%);
    }
    .tenant-kronnos_limache body {
      background-color: #0a0908;
      background-image:
        radial-gradient(ellipse 90% 60% at 50% -10%, rgba(249,115,22,0.09), transparent 60%),
        radial-gradient(ellipse 80% 50% at 50% 110%, rgba(249,115,22,0.045), transparent 65%);
    }
    .tenant-kronnos_woman body {
      background-color: #0a0908;
      background-image:
        radial-gradient(ellipse 90% 60% at 50% -10%, rgba(236,72,153,0.09), transparent 60%),
        radial-gradient(ellipse 80% 50% at 50% 110%, rgba(236,72,153,0.05), transparent 65%);
    }

    /* Ambient glow global — reducido para no competir con el layout */
    [class*="tenant-kronnos_"] .ambient-glow {
      background: radial-gradient(circle, var(--gold-dim) 0%, transparent 55%);
      opacity: 0.4;
    }

    /* Logo con marco cuadrado hairline, sin glow neon */
    [class*="tenant-kronnos_"] .logo-ring {
      border: 1.5px solid rgba(255, 255, 255, 0.10);
      border-radius: 18px;
      box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.4),
        0 8px 32px -8px rgba(0, 0, 0, 0.5);
      background: rgba(15, 12, 10, 0.6);
      backdrop-filter: blur(8px);
    }

    /* Titulo "Club Kronnos" — Playfair Display 500, editorial */
    [class*="tenant-kronnos_"] #heroClubTitle {
      font-family: 'Playfair Display', 'Cormorant Garamond', serif !important;
      font-weight: 500 !important;
      font-style: normal !important;
      letter-spacing: -0.015em !important;
      font-size: 1.7rem !important;
      color: #faf8f4 !important;
      line-height: 1.1 !important;
    }
    /* Subtitulo "ACUMULA SELLOS · GANA PREMIOS" — Inter versalitas */
    [class*="tenant-kronnos_"] #heroClubSub {
      font-family: 'Inter', system-ui, sans-serif !important;
      font-weight: 500 !important;
      font-size: 0.68rem !important;
      letter-spacing: 0.20em !important;
      color: var(--gold) !important;
      opacity: 0.85 !important;
      text-transform: uppercase !important;
    }
    /* Divisor dorado bajo el titulo */
    [class*="tenant-kronnos_"] .gold-divider {
      width: 36px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      opacity: 0.6;
    }

    /* Tabs INGRESAR / CREAR CUENTA — Inter tracking amplio */
    [class*="tenant-kronnos_"] .tab-btn {
      font-family: 'Inter', system-ui, sans-serif !important;
      font-weight: 600 !important;
      font-size: 0.75rem !important;
      letter-spacing: 0.16em !important;
      color: rgba(255, 255, 255, 0.4) !important;
      padding: 0.85rem 0.5rem !important;
      border-bottom: 1.5px solid transparent !important;
      transition: color 0.2s ease, border-color 0.2s ease !important;
    }
    [class*="tenant-kronnos_"] .tab-btn:hover:not(.active) { color: rgba(255, 255, 255, 0.65) !important; }
    [class*="tenant-kronnos_"] .tab-btn.active {
      color: #ffffff !important;
      border-color: var(--gold) !important;
    }
    [class*="tenant-kronnos_"] .border-b { border-color: rgba(255,255,255,0.06); }

    /* Inputs — hairline sobre negro casi puro, focus limpio */
    [class*="tenant-kronnos_"] .field {
      background: rgba(10, 8, 6, 0.7) !important;
      border: 1px solid rgba(255, 255, 255, 0.08) !important;
      border-radius: 12px !important;
      padding: 0.95rem 1.1rem !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 0.95rem !important;
      color: #faf8f4 !important;
      transition: border-color 0.18s ease, background 0.18s ease !important;
    }
    [class*="tenant-kronnos_"] .field::placeholder {
      color: rgba(255, 255, 255, 0.28) !important;
      font-weight: 400 !important;
    }
    [class*="tenant-kronnos_"] .field:focus {
      border-color: rgba(var(--gold-r, 249), var(--gold-g, 115), var(--gold-b, 22), 0.5) !important;
      border-color: var(--gold) !important;
      background: rgba(15, 12, 10, 0.9) !important;
      box-shadow: none !important;   /* fuera el ring */
      outline: none !important;
    }
    [class*="tenant-kronnos_"] input:-webkit-autofill,
    [class*="tenant-kronnos_"] input:-webkit-autofill:hover,
    [class*="tenant-kronnos_"] input:-webkit-autofill:focus {
      -webkit-box-shadow: 0 0 0 100px rgba(10,8,6,0.9) inset !important;
      -webkit-text-fill-color: #faf8f4 !important;
      caret-color: #faf8f4;
    }

    /* Boton primario INGRESAR — solido, plano, sin glow visible.
     * Solo una sombra negra sutil para elevacion. */
    [class*="tenant-kronnos_"] .btn-primary {
      background: var(--gold) !important;
      border: 0 !important;
      color: #ffffff !important;
      border-radius: 12px !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-weight: 600 !important;
      font-size: 0.85rem !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      padding: 1rem 1.5rem !important;
      box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.25),
        0 4px 16px -4px rgba(0, 0, 0, 0.35) !important;
      transition: filter 0.15s ease, transform 0.15s ease !important;
    }
    [class*="tenant-kronnos_"] .btn-primary:hover:not(:disabled) {
      filter: brightness(1.06) !important;
      transform: translateY(-1px);
    }
    [class*="tenant-kronnos_"] .btn-primary:active { transform: translateY(0); }

    /* Boton Google — pareja del hairline general */
    [class*="tenant-kronnos_"] .btn-google {
      background: rgba(20, 16, 13, 0.65) !important;
      border: 1px solid rgba(255, 255, 255, 0.08) !important;
      border-radius: 12px !important;
      color: #faf8f4 !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-weight: 500 !important;
      font-size: 0.9rem !important;
      padding: 0.9rem 1.5rem !important;
      transition: background 0.15s ease, border-color 0.15s ease !important;
    }
    [class*="tenant-kronnos_"] .btn-google:hover {
      background: rgba(28, 22, 18, 0.85) !important;
      border-color: rgba(255, 255, 255, 0.14) !important;
    }

    /* Divisor "o" — hairline mas discreto */
    [class*="tenant-kronnos_"] .flex-grow.border-t { border-color: rgba(255,255,255,0.07) !important; }
    [class*="tenant-kronnos_"] span.mx-4.text-gray-500 {
      color: rgba(255, 255, 255, 0.35) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 0.7rem !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
    }

    /* Boton CTA reserva — outline sobrio, hover con acento tenue */
    [class*="tenant-kronnos_"] .btn-cta-reserva {
      border: 1px solid var(--gold) !important;
      background: transparent !important;
      color: var(--gold) !important;
      border-radius: 12px !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-weight: 600 !important;
      font-size: 0.8rem !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      padding: 0.95rem 1.5rem !important;
      transition: background 0.18s ease !important;
    }
    [class*="tenant-kronnos_"] .btn-cta-reserva:hover {
      background: var(--gold-soft) !important;
    }

    [class*="tenant-kronnos_"] .spinner {
      border-color: rgba(255, 255, 255, 0.08);
      border-top-color: var(--gold);
    }
    [class*="tenant-kronnos_"] #loadingOverlay { background: rgba(10,9,8,0.92) !important; }
    [class*="tenant-kronnos_"] a.text-gray-600,
    [class*="tenant-kronnos_"] button.text-gray-600 { color: rgba(255,255,255,0.38) !important; }
    [class*="tenant-kronnos_"] a.text-gray-600:hover,
    [class*="tenant-kronnos_"] button.text-gray-600:hover { color: rgba(255,255,255,0.65) !important; }
    /* ────────────────────────────────────────────────────────── */

    @keyframes fadeSlideUp {
      from { opacity:0; transform:translateY(14px); }
      to   { opacity:1; transform:translateY(0); }
    }

    body {
      background-color: #050505;
      color: #f8fafc;
      overscroll-behavior-y: none;
      -webkit-tap-highlight-color: transparent;
    }

    /* Ambient glow */
    .ambient-glow {
      position: fixed;
      top: -180px;
      left: 50%;
      transform: translateX(-50%);
      width: 600px;
      height: 600px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201,168,76,0.065) 0%, transparent 65%);
      pointer-events: none;
      z-index: 0;
    }

    .logo-ring {
      border: 2px solid rgba(201,168,76,0.7);
      box-shadow: 0 0 0 1px rgba(201,168,76,0.12), 0 0 28px rgba(201,168,76,0.18), 0 0 50px rgba(201,168,76,0.06);
    }

    .gold-divider {
      width: 36px;
      height: 1.5px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      border-radius: 2px;
    }

    /* Tabs */
    .tab-btn {
      transition: all 0.25s;
      color: #6b7280;
      border-bottom: 2px solid transparent;
    }
    .tab-btn.active {
      color: var(--gold);
      border-color: var(--gold);
    }

    /* Chip para preferencias dietarias (club restaurante). Tema oscuro
       neutral — no depende del theme de un tenant específico. */
    .reg-chip {
      display: inline-flex; align-items: center; gap: 4px;
      padding: 7px 12px;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 999px;
      font-size: 12px; font-weight: 500;
      color: #d4d4d8;
      cursor: pointer;
      transition: all .18s ease;
    }
    .reg-chip:hover { border-color: rgba(249,115,22,0.5); color: #fff; }
    .reg-chip.on {
      background: #f97316;
      border-color: #f97316;
      color: #fff;
    }

    /* Inputs */
    .field {
      width: 100%;
      background: #111827;
      border: 1px solid #374151;
      border-radius: 14px;
      padding: 14px 18px;
      color: #f8fafc;
      font-size: 15px;
      font-weight: 500;
      transition: border-color 0.2s, box-shadow 0.2s;
      outline: none;
    }
    .field::placeholder { color: #6b7280; }
    .field:focus {
      border-color: #D4AF37;
      box-shadow: 0 0 0 1px #D4AF37;
    }
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus {
      -webkit-box-shadow: 0 0 0 100px #111827 inset !important;
      -webkit-text-fill-color: #f8fafc !important;
      caret-color: #f8fafc;
    }

    /* Primary CTA */
    .btn-primary {
      width: 100%;
      background: #D4AF37;
      border: 1.5px solid #D4AF37;
      color: #000000;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      padding: 15px 24px;
      border-radius: 100px;
      transition: all 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      cursor: pointer;
    }
    .btn-primary:hover {
      background: #c9a832;
      border-color: #c9a832;
    }
    .btn-primary:active { transform: scale(0.97); }

    /* Google button */
    .btn-google {
      width: 100%;
      background: #1f2937;
      border: 1px solid #374151;
      color: #ffffff;
      font-weight: 600;
      font-size: 14px;
      padding: 14px 24px;
      border-radius: 100px;
      transition: all 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      cursor: pointer;
    }
    .btn-google:hover {
      background: #374151;
      border-color: #4b5563;
    }
    .btn-google:active { transform: scale(0.97); }

    /* ══════════ YŪGEN STUDIO — registro · dark zen marfil + sello 玄 ══════════ */
    /* ── Studio Dieciséis — tema monocromático B&N (blanco, no dorado) ── */
    .tenant-sionbarberia { --gold: #FAFAFA; --gold-dim: rgba(250,250,250,0.16); }
    .tenant-sionbarberia body { background-color: #0a0a0a; }
    .tenant-sionbarberia .ambient-glow { background: radial-gradient(circle, rgba(250,250,250,0.05) 0%, transparent 65%); }
    .tenant-sionbarberia .logo-ring {
      border: 2px solid rgba(250,250,250,0.35);
      box-shadow: 0 0 0 1px rgba(250,250,250,0.08), 0 0 28px rgba(250,250,250,0.10), 0 0 50px rgba(250,250,250,0.04);
    }
    .tenant-sionbarberia .tab-btn.active { color: #FAFAFA; border-color: #FAFAFA; }
    .tenant-sionbarberia .field { background: #161616; border-color: rgba(250,250,250,0.14); }
    .tenant-sionbarberia .field::placeholder { color: rgba(250,250,250,0.35); }
    .tenant-sionbarberia .field:focus { border-color: #FAFAFA; box-shadow: 0 0 0 1px rgba(250,250,250,0.55); }
    .tenant-sionbarberia input:-webkit-autofill,
    .tenant-sionbarberia input:-webkit-autofill:hover,
    .tenant-sionbarberia input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #161616 inset !important; }
    .tenant-sionbarberia .btn-primary { background: #FAFAFA; border-color: #FAFAFA; color: #0a0a0a; }
    .tenant-sionbarberia .btn-primary:hover { background: #ffffff; border-color: #ffffff; }
    .tenant-sionbarberia .btn-google { background: #161616; border-color: rgba(250,250,250,0.14); }
    .tenant-sionbarberia .btn-google:hover { background: #1f1f1f; border-color: rgba(250,250,250,0.25); }
    .tenant-sionbarberia .spinner { border-top-color: #FAFAFA !important; }

    /* ══════════ EL BARBERO MODERNO — Silver & Pure Dark (independiente) ══════════ */
    .tenant-elbarberomoderno { --gold: #E0E0E0; --gold-dim: rgba(224,224,224,0.16); }
    .tenant-elbarberomoderno body { background-color: #080808; }
    /* Oculta el logo circular (placeholder de Elegance) — solo texto de marca */
    .tenant-elbarberomoderno #shopLogo { display: none !important; }
    .tenant-elbarberomoderno .ambient-glow { background: radial-gradient(circle, rgba(224,224,224,0.05) 0%, transparent 65%); }
    .tenant-elbarberomoderno .gold-divider {
      background: linear-gradient(90deg, transparent, rgba(224,224,224,0.55), transparent);
    }
    .tenant-elbarberomoderno .tab-btn.active { color: #E0E0E0 !important; border-color: #C0C0C0 !important; }
    .tenant-elbarberomoderno .field { background: #131313; border-color: rgba(255,255,255,0.10); }
    .tenant-elbarberomoderno .field::placeholder { color: rgba(255,255,255,0.32); }
    .tenant-elbarberomoderno .field:focus { border-color: #C0C0C0; box-shadow: 0 0 0 1px rgba(192,192,192,0.45); }
    .tenant-elbarberomoderno input:-webkit-autofill,
    .tenant-elbarberomoderno input:-webkit-autofill:hover,
    .tenant-elbarberomoderno input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #131313 inset !important; -webkit-text-fill-color: #ffffff !important; }
    .tenant-elbarberomoderno .btn-primary {
      background: #E0E0E0 !important;
      border-color: #E0E0E0 !important;
      color: #000000 !important;
      box-shadow: 0 2px 20px rgba(224,224,224,0.14) !important;
    }
    .tenant-elbarberomoderno .btn-primary:hover {
      background: #ffffff !important;
      border-color: #ffffff !important;
      box-shadow: 0 4px 28px rgba(255,255,255,0.24) !important;
    }
    .tenant-elbarberomoderno .btn-google { background: #131313; border-color: rgba(255,255,255,0.10); color: #ffffff; }
    .tenant-elbarberomoderno .btn-google:hover { background: #1a1a1a; border-color: rgba(255,255,255,0.20); }
    .tenant-elbarberomoderno .spinner { border-top-color: #E0E0E0 !important; }
    /* "CONTINUAR CON MI RESERVA" y variantes de back-link: gris plata */
    .tenant-elbarberomoderno .btn-cta-reserva,
    .tenant-elbarberomoderno #backLink,
    .tenant-elbarberomoderno #backLinkText {
      color: #C0C0C0 !important;
      border-color: rgba(192,192,192,0.35) !important;
    }
    .tenant-elbarberomoderno .btn-cta-reserva:hover {
      background: rgba(224,224,224,0.06) !important;
      color: #ffffff !important;
      border-color: #C0C0C0 !important;
    }

    /* ══════════ WAR STUDIO — capa "Póster Tipográfico" sobre el alias ═════
       Hereda Silver & Pure Dark de El Barbero Moderno vía _themeAlias y le
       suma su lenguaje visual real (@warstudio.cl): condensada gigante en el
       título, regla que crece, grano de papel y sheen metálico en el CTA.
       Espejo del bloque homónimo de index.html. */
    .tenant-warstudio.tenant-elbarberomoderno body::after {
      content: '';
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      opacity: 0.05;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E");
    }
    @keyframes wsRegTrackIn {
      0%   { opacity: 0; letter-spacing: 0.5em; filter: blur(4px); }
      100% { opacity: 1; letter-spacing: 0.06em; filter: blur(0); }
    }
    @keyframes wsRegRuleGrow {
      0%   { transform: scaleX(0); }
      100% { transform: scaleX(1); }
    }
    @keyframes wsRegSheen {
      0%, 55% { transform: translateX(-130%) skewX(-18deg); }
      85%, 100% { transform: translateX(230%) skewX(-18deg); }
    }
    .tenant-warstudio.tenant-elbarberomoderno #heroClubTitle {
      font-family: 'Bebas Neue', 'Arial Narrow', sans-serif !important;
      font-size: 2.6rem !important;
      font-weight: 400 !important;
      text-transform: uppercase;
      letter-spacing: 0.06em !important;
      line-height: 0.95 !important;
      background: linear-gradient(100deg, #ffffff 0%, #d9d9d9 30%, #8f8f8f 45%, #ffffff 60%, #ffffff 100%);
      background-size: 200% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: wsRegTrackIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
    }
    .tenant-warstudio.tenant-elbarberomoderno .gold-divider {
      background: #ffffff !important;
      height: 2px !important;
      transform-origin: center;
      animation: wsRegRuleGrow 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both;
    }
    .tenant-warstudio.tenant-elbarberomoderno .btn-primary {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, #ffffff 0%, #dcdcdc 100%) !important;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }
    .tenant-warstudio.tenant-elbarberomoderno .btn-primary::after {
      content: '';
      position: absolute;
      top: 0; bottom: 0; left: 0;
      width: 40%;
      background: linear-gradient(105deg, transparent, rgba(255,255,255,0.9), transparent);
      animation: wsRegSheen 3.2s ease-in-out infinite;
      pointer-events: none;
    }
    @media (prefers-reduced-motion: reduce) {
      .tenant-warstudio.tenant-elbarberomoderno #heroClubTitle,
      .tenant-warstudio.tenant-elbarberomoderno .gold-divider,
      .tenant-warstudio.tenant-elbarberomoderno .btn-primary::after {
        animation: none !important;
      }
    }

    /* ══════════ BLOOD HABIB — B&N monocromático, acento plata ══════════
       Mismo tratamiento que El Barbero Moderno (tema plata sobre negro),
       pero manteniendo el logo circular (letrero blackletter recortado). */
    .tenant-bloodhabib { --gold: #E5E5E5; --gold-dim: rgba(229,229,229,0.16); }
    .tenant-bloodhabib body { background-color: #080808; }
    .tenant-bloodhabib .ambient-glow { background: radial-gradient(circle, rgba(229,229,229,0.05) 0%, transparent 65%); }
    .tenant-bloodhabib .logo-ring {
      border: 2px solid rgba(229,229,229,0.35);
      box-shadow: 0 0 0 1px rgba(229,229,229,0.08), 0 0 28px rgba(229,229,229,0.10), 0 0 50px rgba(229,229,229,0.04);
    }
    .tenant-bloodhabib .gold-divider {
      background: linear-gradient(90deg, transparent, rgba(229,229,229,0.55), transparent);
    }
    .tenant-bloodhabib .tab-btn.active { color: #E5E5E5 !important; border-color: #E5E5E5 !important; }
    .tenant-bloodhabib .field { background: #131313; border-color: rgba(255,255,255,0.10); }
    .tenant-bloodhabib .field::placeholder { color: rgba(255,255,255,0.32); }
    .tenant-bloodhabib .field:focus { border-color: #E5E5E5; box-shadow: 0 0 0 1px rgba(229,229,229,0.45); }
    .tenant-bloodhabib input:-webkit-autofill,
    .tenant-bloodhabib input:-webkit-autofill:hover,
    .tenant-bloodhabib input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #131313 inset !important; -webkit-text-fill-color: #ffffff !important; }
    .tenant-bloodhabib .btn-primary {
      background: #E5E5E5 !important;
      border-color: #E5E5E5 !important;
      color: #080808 !important;
      box-shadow: 0 2px 20px rgba(229,229,229,0.14) !important;
    }
    .tenant-bloodhabib .btn-primary:hover {
      background: #ffffff !important;
      border-color: #ffffff !important;
      box-shadow: 0 4px 28px rgba(255,255,255,0.24) !important;
    }
    .tenant-bloodhabib .btn-google { background: #131313; border-color: rgba(255,255,255,0.10); color: #ffffff; }
    .tenant-bloodhabib .btn-google:hover { background: #1a1a1a; border-color: rgba(255,255,255,0.20); }
    .tenant-bloodhabib .spinner { border-top-color: #E5E5E5 !important; }
    /* CTA "Continuar con mi reserva" viene con .btn-primary (fondo plata) +
       .btn-cta-reserva: sin este override el texto plata queda sobre fondo
       plata (invisible). Forzamos outline transparente, igual que el resto
       de tenants oscuros con el mismo doble-clase. */
    .tenant-bloodhabib .btn-cta-reserva {
      background: transparent !important;
      color: #E5E5E5 !important;
      border: 2px solid rgba(229,229,229,0.35) !important;
      box-shadow: none !important;
    }
    .tenant-bloodhabib #backLink,
    .tenant-bloodhabib #backLinkText {
      color: #E5E5E5 !important;
      border-color: rgba(229,229,229,0.35) !important;
    }
    .tenant-bloodhabib .btn-cta-reserva:hover {
      background: rgba(229,229,229,0.06) !important;
      color: #ffffff !important;
      border-color: #E5E5E5 !important;
    }

    .tenant-yugen { --gold: #f5f3ef; --gold-dim: rgba(245,243,239,0.16); }
    .tenant-yugen body { background-color: #0b0a09; }
    .tenant-yugen .ambient-glow { background: radial-gradient(circle, rgba(245,243,239,0.06) 0%, transparent 65%); }
    .tenant-yugen .logo-ring {
      border: 2px solid rgba(245,243,239,0.35);
      box-shadow: 0 0 0 1px rgba(245,243,239,0.08), 0 0 28px rgba(245,243,239,0.12), 0 0 50px rgba(245,243,239,0.04);
    }
    .tenant-yugen .tab-btn.active { color: #f5f3ef; border-color: #f5f3ef; }
    .tenant-yugen .field { background: #15120e; border-color: rgba(245,243,239,0.14); }
    .tenant-yugen .field::placeholder { color: rgba(245,243,239,0.35); }
    .tenant-yugen .field:focus { border-color: #f5f3ef; box-shadow: 0 0 0 1px rgba(245,243,239,0.55); }
    .tenant-yugen input:-webkit-autofill,
    .tenant-yugen input:-webkit-autofill:hover,
    .tenant-yugen input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #15120e inset !important; }
    .tenant-yugen .btn-primary { background: #f5f3ef; border-color: #f5f3ef; color: #0b0a09; }
    .tenant-yugen .btn-primary:hover { background: #eae7df; border-color: #eae7df; }
    .tenant-yugen .btn-google { background: #15120e; border-color: rgba(245,243,239,0.14); }
    .tenant-yugen .btn-google:hover { background: #1f1a14; border-color: rgba(245,243,239,0.25); }
    .tenant-yugen .spinner { border-top-color: #f5f3ef !important; }
    /* Sello ritual 幽玄 (幽 blanco · 玄 rojo) bajo el subtítulo */
    .tenant-yugen #heroClubSub::after {
      content: '幽玄'; display: block; width: fit-content; margin: 12px auto 0;
      font-family: 'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;
      font-size: 17px; line-height: 1; letter-spacing: 0.18em;
      background: linear-gradient(90deg, #ffffff 0 50%, #c0392b 50% 100%);
      -webkit-background-clip: text; background-clip: text;
      color: transparent; -webkit-text-fill-color: transparent;
    }
    /* ══════════════════════════════════════════════════════════════════════════ */

    /* ══════════════════════════════════════════════════════════════════════════
       INFINITY STUDIO — tema light "Luminous White"
       Paleta idéntica a dashboard.html: bg blanco, texto navy (#111827)
       ══════════════════════════════════════════════════════════════════════════ */
    .tenant-infinity { --gold: #111827; --gold-dim: rgba(17,24,39,0.15); }
    .tenant-infinity body {
      background-color: #ffffff !important;
      background-image:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,1) 0%, rgba(243,244,246,0.4) 100%),
        radial-gradient(circle at 10% 40%, rgba(255,255,255,1) 0%, rgba(249,250,251,0.7) 50%, transparent 100%),
        radial-gradient(circle at 90% 80%, rgba(255,255,255,1) 0%, rgba(243,244,246,0.6) 50%, transparent 100%) !important;
      background-attachment: fixed !important;
      color: #111827 !important;
    }
    /* Textos base — invertimos los blancos/grises hacia navy */
    .tenant-infinity h1, .tenant-infinity h2, .tenant-infinity h3,
    .tenant-infinity .text-white { color: #111827 !important; }
    .tenant-infinity .text-white\/40 { color: rgba(17,24,39,0.4) !important; }
    .tenant-infinity .text-white\/50 { color: rgba(17,24,39,0.5) !important; }
    .tenant-infinity .text-white\/60 { color: rgba(17,24,39,0.6) !important; }
    .tenant-infinity .text-white\/70 { color: rgba(17,24,39,0.7) !important; }
    .tenant-infinity .text-white\/80 { color: rgba(17,24,39,0.8) !important; }
    .tenant-infinity .text-gray-300,
    .tenant-infinity .text-gray-400 { color: #4B5563 !important; }
    .tenant-infinity .text-gray-500 { color: #6B7280 !important; }
    /* Glow ambiental muy sutil (casi imperceptible sobre blanco) */
    .tenant-infinity .ambient-glow {
      background: radial-gradient(circle, rgba(17,24,39,0.04) 0%, transparent 65%);
    }
    /* Logo ring */
    .tenant-infinity .logo-ring {
      border: 2px solid rgba(17,24,39,0.20);
      box-shadow: 0 0 0 1px rgba(17,24,39,0.05), 0 10px 30px rgba(17,24,39,0.06);
    }
    /* Tabs Login/Register */
    .tenant-infinity .tab-btn { color: rgba(17,24,39,0.45); }
    .tenant-infinity .tab-btn.active { color: #111827; border-color: #111827; }
    /* Inputs — fondo blanco puro con borde navy 12% */
    .tenant-infinity .field {
      background: #ffffff !important;
      border-color: rgba(17,24,39,0.12) !important;
      color: #111827 !important;
      box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
    }
    .tenant-infinity .field::placeholder { color: #9CA3AF !important; }
    .tenant-infinity .field:focus {
      border-color: #111827 !important;
      box-shadow: 0 0 0 1px #111827 !important;
    }
    .tenant-infinity input:-webkit-autofill,
    .tenant-infinity input:-webkit-autofill:hover,
    .tenant-infinity input:-webkit-autofill:focus {
      -webkit-box-shadow: 0 0 0 100px #ffffff inset !important;
      -webkit-text-fill-color: #111827 !important;
    }
    /* Botón primario — navy sólido */
    .tenant-infinity .btn-primary {
      background: #111827 !important;
      border-color: #111827 !important;
      color: #ffffff !important;
      box-shadow: 0 4px 14px rgba(17,24,39,0.20) !important;
    }
    .tenant-infinity .btn-primary:hover {
      background: #374151 !important;
      border-color: #374151 !important;
    }
    /* Botón Google — blanco con borde sutil */
    .tenant-infinity .btn-google {
      background: #ffffff !important;
      border-color: rgba(17,24,39,0.12) !important;
      color: #111827 !important;
    }
    .tenant-infinity .btn-google:hover {
      background: #f9fafb !important;
      border-color: rgba(17,24,39,0.24) !important;
    }
    /* Botón CTA reserva outline (solo cuando NO comparte con .btn-primary) */
    .tenant-infinity .btn-cta-reserva:not(.btn-primary) {
      border-color: #111827 !important;
      color: #111827 !important;
      background: transparent !important;
    }
    .tenant-infinity .btn-cta-reserva:not(.btn-primary):hover {
      background: rgba(17,24,39,0.06) !important;
    }
    /* "CONTINUAR CON MI RESERVA" (#backLink) tiene AMBAS clases btn-primary
       + btn-cta-reserva → sin este override quedaba fondo navy con texto
       navy (ilegible). Prevalece el estilo primary sólido. */
    .tenant-infinity #backLink,
    .tenant-infinity a.btn-primary.btn-cta-reserva {
      background: #111827 !important;
      color: #FFFFFF !important;
      border: 1px solid #111827 !important;
      box-shadow: 0 4px 14px rgba(17,24,39,0.20) !important;
    }
    .tenant-infinity #backLink i,
    .tenant-infinity #backLink span,
    .tenant-infinity a.btn-primary.btn-cta-reserva i,
    .tenant-infinity a.btn-primary.btn-cta-reserva span {
      color: #FFFFFF !important;
    }
    .tenant-infinity #backLink:hover,
    .tenant-infinity a.btn-primary.btn-cta-reserva:hover {
      background: #374151 !important;
      border-color: #374151 !important;
    }
    /* Divisor superior del backLink (border-white/[0.07]) — invisible en blanco */
    .tenant-infinity #backLinkWrap {
      border-top-color: rgba(17,24,39,0.08) !important;
    }
    /* Spinner */
    .tenant-infinity .spinner {
      border: 1px solid rgba(17,24,39,0.15) !important;
      border-top-color: #111827 !important;
    }
    /* Eye toggle (mostrar contraseña) — icono navy sutil */
    .tenant-infinity .eye-toggle { color: #9ca3af; }
    .tenant-infinity .eye-toggle:hover { color: #111827; }
    /* Overlay de loading */
    .tenant-infinity #loadingOverlay { background: #ffffff !important; }
    /* Alertas / banners con clases text-red, bg-red, etc. mantienen contraste */
    /* ══════════════════════════════════════════════════════════════════════════ */

    /* ── PUNTO PILATES ─────────────────────────────────────────────────

       1. SU LOGO ES HORIZONTAL. El marco de 76x76 con `object-cover` esta
          pensado para un logo cuadrado: recorta los lados para llenar el
          circulo. Con el de ella eso dejaba "PuntoPila" — el nombre del
          local cortado a la mitad en la primera pantalla que ve una alumna.
          Caja ancha, `contain` para que no recorte nada, y sin el anillo
          dorado: su marca es turquesa y naranja, el dorado es de la
          barberia de la que nacio esta pagina.

       2. SIN "CONTINUAR CON GOOGLE". Lo pidio Andrea el 22-09-2026. Se
          oculta la seccion COMPLETA y no solo el boton: adentro viven
          tambien el "mas rapido" y el separador "o con tu correo", que
          solos quedarian colgando de nada.

          Va por local y no para todos: 1.086 de los 3.308 usuarios de la
          plataforma entran con Google. Sacarlo de los 68 locales le
          cerraria la puerta a un tercio de la gente. */
    /* El `!important` no es capricho: su pagina hereda el tema `aura` y
       `theme-light`, que pinta el anillo del logo con !important. Sin esto,
       el marco gris le queda igual y el logo se ve como un sticker pegado. */
    .tenant-puntopilates #shopLogo {
      width: auto;
      max-width: 240px;
      height: 84px;
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      object-fit: contain;
      background: transparent;
      margin-bottom: 0.75rem;
    }
    /* Los adornos son de barberia: una rayita dorada y tres rombos. En su
       pagina clara se leen como marcas sueltas debajo del logo, y su marca no
       tiene nada de eso. */
    .tenant-puntopilates .gold-divider,
    .tenant-puntopilates .sep-ornamental { display: none; }
    .tenant-puntopilates .social-section { display: none; }
    /* El rótulo nace `text-white/40` (pensado para el tema oscuro): sobre su
       fondo claro "FECHA DE NACIMIENTO (OPCIONAL)" no se veía. */
    .tenant-puntopilates #regCumpleLabel { color: rgba(28, 29, 38, 0.55); }

    /* Eye toggle */
    .eye-toggle {
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      color: #4b5563;
      transition: color 0.2s;
      background: none;
      border: none;
      cursor: pointer;
    }
    .eye-toggle:hover { color: #9ca3af; }

    /* Loading spinner */
    .spinner {
      width: 40px; height: 40px;
      border: 1px solid rgba(201,168,76,0.3);
      border-top-color: var(--gold);
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }

    /* Ocultar sección social al recuperar contraseña */
    .tab-reset .social-section { display: none; }

    /* Custom class for the main Booking CTA */
    /* Custom class for the main Booking CTA - Styled as Outline/Ghost */
    .btn-cta-reserva {
      background: transparent !important;
      border: 2px solid var(--gold) !important;
      color: var(--gold) !important;
      font-size: 15px !important;
      padding: 16px 28px !important;
      border-radius: 16px !important;
      font-weight: 800 !important;
      letter-spacing: 0.06em !important;
      box-shadow: none !important;
      transition: all 0.2s !important;
    }
    .btn-cta-reserva:hover {
      background: var(--gold-dim) !important;
      color: var(--gold) !important;
      transform: scale(1.02);
    }
    .btn-cta-reserva:active {
      transform: scale(0.98);
    }
  
    /* Fondos oscuros que quedaban negros en tenants claros (guard
       check:tema-claro): la caja de aviso del formulario y el velo del modal. */
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .bg-neutral-900/80 { background-color:#F3F4F6 !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) [class*="border-neutral-700"] { border-color:rgba(17,24,39,.12) !important; }
    :is(.tenant-aura,.tenant-latincaribe,.theme-light) .bg-[#050505]/85 { background-color:rgba(17,24,39,.45) !important; }

    /* ═══ Registro al club — plantilla dinámica ══════════════════════════════
       Los tenants dinámicos heredan el CSS de Chameleon o Aura, que traen su
       dorado (#DAA520) y su verde esmeralda escritos a mano. Resultado: un
       local con marca rosada reservaba en rosado y se registraba en dorado.
       Acá todo se reengancha a --accent, que config.js escribe inline con el
       color que el dueño eligió, así el registro cierra el círculo visual. */
    html.tenant-selfservice {
      --gold:     var(--accent, #c9a84c);
      --gold-dim: rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.18);
    }
    html.tenant-selfservice .ambient-glow {
      background: radial-gradient(circle,
        rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.06) 0%,
        transparent 65%) !important;
    }
    html.tenant-selfservice .logo-ring {
      border-color: rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.55) !important;
      box-shadow: 0 0 0 1px rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.08),
                  0 0 24px rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.20) !important;
    }
    html.tenant-selfservice .gold-divider {
      background: linear-gradient(90deg, transparent,
        var(--accent, #c9a84c), transparent) !important;
    }
    html.tenant-selfservice .field:focus {
      border-color: rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.55) !important;
      box-shadow: 0 0 0 3px rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.10) !important;
    }
    /* El botón principal en el color del local, con el texto legible DE VERDAD.
       Antes esto fijaba #0b0b0d "porque sobre un acento claro (dorado, lima,
       ámbar) contrasta mejor que el blanco" — cierto, pero solo para acentos
       claros. Con el #111111 de Faith Barber quedaba negro sobre negro: 1.04:1,
       un botón sin letras. Ahora manda --gold-contrast, que config.js calcula
       comparando el acento contra blanco y contra negro (ver
       _aplicarAcentoSelf). El fallback #0b0b0d conserva el comportamiento
       anterior si la variable no llegara. */
    html.tenant-selfservice .btn-primary {
      background: var(--accent, #c9a84c) !important;
      border: 1.5px solid var(--accent, #c9a84c) !important;
      color: var(--gold-contrast, #0b0b0d) !important;
      font-weight: 700 !important;
      box-shadow: 0 4px 20px rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.35) !important;
    }
    html.tenant-selfservice .btn-primary:hover {
      filter: brightness(1.08);
      box-shadow: 0 6px 26px rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.48) !important;
    }
    html.tenant-selfservice .spinner {
      border-color: rgba(var(--accent-r,201),var(--accent-g,168),var(--accent-b,76),.25) !important;
      border-top-color: var(--accent, #c9a84c) !important;
    }
  